@nu-art/thunderstorm-frontend 0.400.5

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 (635) hide show
  1. package/_ats/ATS_ActionProcessor/ATS_ActionProcessor.d.ts +17 -0
  2. package/_ats/ATS_ActionProcessor/ATS_ActionProcessor.js +52 -0
  3. package/_ats/ATS_ActionProcessor/ATS_ActionProcessor.scss +43 -0
  4. package/_ats/ATS_AppConfigEditor/ATS_AppConfigEditor.d.ts +25 -0
  5. package/_ats/ATS_AppConfigEditor/ATS_AppConfigEditor.js +88 -0
  6. package/_ats/ATS_AppConfigEditor/ATS_AppConfigEditor.scss +117 -0
  7. package/_ats/ATS_CollectionUpgrades/ATS_CollectionUpgrades.d.ts +17 -0
  8. package/_ats/ATS_CollectionUpgrades/ATS_CollectionUpgrades.js +45 -0
  9. package/_ats/ATS_CollectionUpgrades/ATS_CollectionUpgrades.scss +24 -0
  10. package/_ats/ATS_CrudOperations/ATS_CrudOperations.d.ts +29 -0
  11. package/_ats/ATS_CrudOperations/ATS_CrudOperations.js +93 -0
  12. package/_ats/ATS_CrudOperations/ATS_CrudOperations.scss +46 -0
  13. package/_ats/ATS_CrudOperations/ui-components.d.ts +24 -0
  14. package/_ats/ATS_CrudOperations/ui-components.js +11 -0
  15. package/_ats/ATS_EditableItem/ATS_EditableItem.d.ts +16 -0
  16. package/_ats/ATS_EditableItem/ATS_EditableItem.js +48 -0
  17. package/_ats/ATS_IDBCacheComparison/ATS_IDBCacheComparison.d.ts +18 -0
  18. package/_ats/ATS_IDBCacheComparison/ATS_IDBCacheComparison.js +28 -0
  19. package/_ats/ATS_IDBCacheComparison/ATS_IDBCacheComparison.scss +7 -0
  20. package/_ats/ATS_IDBCacheComparison/Component_CollectionGrid.d.ts +23 -0
  21. package/_ats/ATS_IDBCacheComparison/Component_CollectionGrid.js +66 -0
  22. package/_ats/ATS_IDBCacheComparison/Component_CollectionGrid.scss +52 -0
  23. package/_ats/ATS_IDBCacheComparison/Dialog_IDBCacheComparison.d.ts +17 -0
  24. package/_ats/ATS_IDBCacheComparison/Dialog_IDBCacheComparison.js +30 -0
  25. package/_ats/ATS_IDBCacheComparison/Dialog_IDBCacheComparison.scss +25 -0
  26. package/_ats/ATS_Printables/ATS_AbstractPrintable.d.ts +16 -0
  27. package/_ats/ATS_Printables/ATS_AbstractPrintable.js +37 -0
  28. package/_ats/ATS_Printables/ATS_Printable.d.ts +13 -0
  29. package/_ats/ATS_Printables/ATS_Printable.js +45 -0
  30. package/_ats/ATS_Printables/ATS_Printable.scss +40 -0
  31. package/_ats/ATS_ProtoComponent/ATS_ProtoComponent.d.ts +33 -0
  32. package/_ats/ATS_ProtoComponent/ATS_ProtoComponent.js +80 -0
  33. package/_ats/ATS_ProtoComponent/ATS_ProtoComponent.scss +19 -0
  34. package/_ats/ATS_SyncEnv/ATS_SyncEnv.d.ts +51 -0
  35. package/_ats/ATS_SyncEnv/ATS_SyncEnv.js +215 -0
  36. package/_ats/ATS_SyncEnv/ATS_SyncEnv.scss +172 -0
  37. package/_ats/ATS_Toaster/ATS_Toaster.d.ts +23 -0
  38. package/_ats/ATS_Toaster/ATS_Toaster.js +48 -0
  39. package/_ats/ATS_Toaster/ATS_Toaster.scss +2 -0
  40. package/_ats/ATS_Toaster/index.d.ts +1 -0
  41. package/_ats/ATS_Toaster/index.js +1 -0
  42. package/_ats/dialogs/Dialog_ActionProcessorConfirmation/Dialog_ActionProcessorConfirmation.d.ts +18 -0
  43. package/_ats/dialogs/Dialog_ActionProcessorConfirmation/Dialog_ActionProcessorConfirmation.js +41 -0
  44. package/_ats/dialogs/Dialog_ActionProcessorConfirmation/Dialog_ActionProcessorConfirmation.scss +71 -0
  45. package/_ats/dialogs/index.d.ts +1 -0
  46. package/_ats/dialogs/index.js +1 -0
  47. package/_ats/index.d.ts +8 -0
  48. package/_ats/index.js +8 -0
  49. package/_entity/app-config/ModuleFE_AppConfig.d.ts +24 -0
  50. package/_entity/app-config/ModuleFE_AppConfig.js +52 -0
  51. package/_entity/app-config/index.d.ts +2 -0
  52. package/_entity/app-config/index.js +2 -0
  53. package/_entity/app-config/module-pack.d.ts +1 -0
  54. package/_entity/app-config/module-pack.js +2 -0
  55. package/_entity/editable-test/ModuleFE_EditableTest.d.ts +11 -0
  56. package/_entity/editable-test/ModuleFE_EditableTest.js +12 -0
  57. package/_entity/editable-test/index.d.ts +2 -0
  58. package/_entity/editable-test/index.js +2 -0
  59. package/_entity/editable-test/module-pack.d.ts +1 -0
  60. package/_entity/editable-test/module-pack.js +2 -0
  61. package/_entity/editable-test/ui-components.d.ts +37 -0
  62. package/_entity/editable-test/ui-components.js +21 -0
  63. package/_entity.d.ts +2 -0
  64. package/_entity.js +2 -0
  65. package/_to-refactor/MenuAndButton.d.ts +1 -0
  66. package/_to-refactor/MenuAndButton.js +87 -0
  67. package/behavior-functions/index.d.ts +1 -0
  68. package/behavior-functions/index.js +1 -0
  69. package/behavior-functions/scroll-into-view.d.ts +6 -0
  70. package/behavior-functions/scroll-into-view.js +55 -0
  71. package/component-modules/ModuleFE_Dialog.d.ts +27 -0
  72. package/component-modules/ModuleFE_Dialog.js +48 -0
  73. package/component-modules/ModuleFE_Notifications.d.ts +45 -0
  74. package/component-modules/ModuleFE_Notifications.js +133 -0
  75. package/component-modules/ModuleFE_Toaster.d.ts +28 -0
  76. package/component-modules/ModuleFE_Toaster.js +97 -0
  77. package/component-modules/mouse-interactivity/ModuleFE_MouseInteractivity.d.ts +9 -0
  78. package/component-modules/mouse-interactivity/ModuleFE_MouseInteractivity.js +35 -0
  79. package/component-modules/mouse-interactivity/helper-functions.d.ts +108 -0
  80. package/component-modules/mouse-interactivity/helper-functions.js +339 -0
  81. package/component-modules/mouse-interactivity/index.d.ts +3 -0
  82. package/component-modules/mouse-interactivity/index.js +3 -0
  83. package/component-modules/mouse-interactivity/types.d.ts +37 -0
  84. package/component-modules/mouse-interactivity/types.js +2 -0
  85. package/components/ActionButton.d.ts +7 -0
  86. package/components/ActionButton.js +29 -0
  87. package/components/AwaitModules/AwaitModules.d.ts +40 -0
  88. package/components/AwaitModules/AwaitModules.js +95 -0
  89. package/components/AwaitModules/AwaitModules.scss +53 -0
  90. package/components/AwaitSync/AwaitSync.d.ts +18 -0
  91. package/components/AwaitSync/AwaitSync.js +25 -0
  92. package/components/AwaitSync/AwaitSync.scss +13 -0
  93. package/components/Button/ATS_Button.d.ts +21 -0
  94. package/components/Button/ATS_Button.js +66 -0
  95. package/components/Button/ATS_Button.scss +19 -0
  96. package/components/Button/Button.d.ts +40 -0
  97. package/components/Button/Button.js +94 -0
  98. package/components/Button/Button.scss +151 -0
  99. package/components/FrameLayout/FrameLayout.d.ts +7 -0
  100. package/components/FrameLayout/FrameLayout.js +10 -0
  101. package/components/FrameLayout/FrameLayout.scss +5 -0
  102. package/components/FrameLayout/index.d.ts +1 -0
  103. package/components/FrameLayout/index.js +1 -0
  104. package/components/GenericDropDown/GenericDropDownV3.d.ts +108 -0
  105. package/components/GenericDropDown/GenericDropDownV3.js +98 -0
  106. package/components/GenericDropDown/index.d.ts +1 -0
  107. package/components/GenericDropDown/index.js +1 -0
  108. package/components/GenericRenderer/Component_GenericRenderer.d.ts +15 -0
  109. package/components/GenericRenderer/Component_GenericRenderer.js +13 -0
  110. package/components/HeightBounder.d.ts +11 -0
  111. package/components/HeightBounder.js +25 -0
  112. package/components/Label/ATS_Label.d.ts +12 -0
  113. package/components/Label/ATS_Label.js +34 -0
  114. package/components/Label/ATS_Label.scss +24 -0
  115. package/components/Label/Label.d.ts +30 -0
  116. package/components/Label/Label.js +84 -0
  117. package/components/Label/Label.scss +89 -0
  118. package/components/Layouts/Layouts.d.ts +38 -0
  119. package/components/Layouts/Layouts.js +56 -0
  120. package/components/Layouts/_Layouts.scss +53 -0
  121. package/components/Layouts/_Layouts_.scss +69 -0
  122. package/components/Layouts/index.d.ts +1 -0
  123. package/components/Layouts/index.js +21 -0
  124. package/components/Page_ItemsEditor/Page_ItemsEditor.d.ts +66 -0
  125. package/components/Page_ItemsEditor/Page_ItemsEditor.js +134 -0
  126. package/components/Page_ItemsEditor/Page_ItemsEditor.scss +104 -0
  127. package/components/Page_ItemsEditor/defaults/ItemEditor_DefaultFilter/ItemEditor_DefaultFilter.d.ts +16 -0
  128. package/components/Page_ItemsEditor/defaults/ItemEditor_DefaultFilter/ItemEditor_DefaultFilter.js +15 -0
  129. package/components/Page_ItemsEditor/defaults/ItemEditor_DefaultFilter/ItemEditor_DefaultFilter.scss +4 -0
  130. package/components/Page_ItemsEditor/defaults/ItemEditor_DefaultFilter/index.d.ts +1 -0
  131. package/components/Page_ItemsEditor/defaults/ItemEditor_DefaultFilter/index.js +1 -0
  132. package/components/Page_ItemsEditor/defaults/ItemEditor_ListRenderer/ItemEditor_DefaultList.d.ts +26 -0
  133. package/components/Page_ItemsEditor/defaults/ItemEditor_ListRenderer/ItemEditor_DefaultList.js +68 -0
  134. package/components/Page_ItemsEditor/defaults/ItemEditor_ListRenderer/ItemEditor_DefaultList.scss +4 -0
  135. package/components/Page_ItemsEditor/defaults/ItemEditor_ListRenderer/index.d.ts +1 -0
  136. package/components/Page_ItemsEditor/defaults/ItemEditor_ListRenderer/index.js +1 -0
  137. package/components/Page_ItemsEditor/index.d.ts +1 -0
  138. package/components/Page_ItemsEditor/index.js +1 -0
  139. package/components/Page_ItemsEditor/types.d.ts +4 -0
  140. package/components/Page_ItemsEditor/types.js +1 -0
  141. package/components/RelativeLayout/RelativeLayout.d.ts +7 -0
  142. package/components/RelativeLayout/RelativeLayout.js +10 -0
  143. package/components/RelativeLayout/RelativeLayout.scss +3 -0
  144. package/components/RelativeLayout/index.d.ts +1 -0
  145. package/components/RelativeLayout/index.js +1 -0
  146. package/components/Show.d.ts +20 -0
  147. package/components/Show.js +30 -0
  148. package/components/TS_AppTools/TS_AppTools.d.ts +30 -0
  149. package/components/TS_AppTools/TS_AppTools.js +144 -0
  150. package/components/TS_AppTools/TS_AppTools.scss +193 -0
  151. package/components/TS_AppTools/TS_AppTools_Default.d.ts +7 -0
  152. package/components/TS_AppTools/TS_AppTools_Default.js +16 -0
  153. package/components/TS_AppTools/index.d.ts +2 -0
  154. package/components/TS_AppTools/index.js +22 -0
  155. package/components/TS_AppTools/types.d.ts +19 -0
  156. package/components/TS_AppTools/types.js +6 -0
  157. package/components/TS_ButtonGroup/TS_ButtonGroup.d.ts +12 -0
  158. package/components/TS_ButtonGroup/TS_ButtonGroup.js +94 -0
  159. package/components/TS_ButtonGroup/TS_ButtonGroup.scss +58 -0
  160. package/components/TS_ButtonGroup/index.d.ts +2 -0
  161. package/components/TS_ButtonGroup/index.js +2 -0
  162. package/components/TS_ButtonGroup/types.d.ts +38 -0
  163. package/components/TS_ButtonGroup/types.js +1 -0
  164. package/components/TS_ButtonLoader/TS_ButtonLoader.d.ts +5 -0
  165. package/components/TS_ButtonLoader/TS_ButtonLoader.js +8 -0
  166. package/components/TS_ButtonLoader/TS_ButtonLoader.scss +63 -0
  167. package/components/TS_ButtonLoader/index.d.ts +1 -0
  168. package/components/TS_ButtonLoader/index.js +1 -0
  169. package/components/TS_Card/TS_Card.d.ts +7 -0
  170. package/components/TS_Card/TS_Card.js +14 -0
  171. package/components/TS_Card/TS_Card.scss +7 -0
  172. package/components/TS_Card/index.d.ts +1 -0
  173. package/components/TS_Card/index.js +1 -0
  174. package/components/TS_Checkbox/ATS_CheckboxV2.d.ts +3 -0
  175. package/components/TS_Checkbox/ATS_CheckboxV2.js +30 -0
  176. package/components/TS_Checkbox/ATS_CheckboxV2.scss +4 -0
  177. package/components/TS_Checkbox/TS_Checkbox.d.ts +48 -0
  178. package/components/TS_Checkbox/TS_Checkbox.js +46 -0
  179. package/components/TS_Checkbox/TS_Checkbox.scss +62 -0
  180. package/components/TS_Checkbox/TS_CheckboxV2.d.ts +37 -0
  181. package/components/TS_Checkbox/TS_CheckboxV2.js +53 -0
  182. package/components/TS_Checkbox/TS_CheckboxV2.scss +97 -0
  183. package/components/TS_Checkbox/index.d.ts +1 -0
  184. package/components/TS_Checkbox/index.js +21 -0
  185. package/components/TS_CheckboxGroup/ATS_CheckboxGroup.d.ts +19 -0
  186. package/components/TS_CheckboxGroup/ATS_CheckboxGroup.js +89 -0
  187. package/components/TS_CheckboxGroup/ATS_CheckboxGroup.scss +6 -0
  188. package/components/TS_CheckboxGroup/TS_CheckboxGroup.d.ts +35 -0
  189. package/components/TS_CheckboxGroup/TS_CheckboxGroup.js +47 -0
  190. package/components/TS_CheckboxGroup/TS_CheckboxGroup.scss +32 -0
  191. package/components/TS_CheckboxGroup/index.d.ts +1 -0
  192. package/components/TS_CheckboxGroup/index.js +1 -0
  193. package/components/TS_CollapsableContainer/TS_CollapsableContainer.d.ts +44 -0
  194. package/components/TS_CollapsableContainer/TS_CollapsableContainer.js +80 -0
  195. package/components/TS_CollapsableContainer/TS_CollapsableContainer.scss +47 -0
  196. package/components/TS_CollapsableContainer/index.d.ts +1 -0
  197. package/components/TS_CollapsableContainer/index.js +1 -0
  198. package/components/TS_CollapsableContainerV2/TS_CollapsableContainerV2.d.ts +36 -0
  199. package/components/TS_CollapsableContainerV2/TS_CollapsableContainerV2.js +46 -0
  200. package/components/TS_CollapsableContainerV2/TS_CollapsableContainerV2.scss +66 -0
  201. package/components/TS_CollapsableContainerV2/ats.d.ts +3 -0
  202. package/components/TS_CollapsableContainerV2/ats.js +39 -0
  203. package/components/TS_CollapsableContainerV2/ats.scss +35 -0
  204. package/components/TS_CollapsableContainerV2/index.d.ts +2 -0
  205. package/components/TS_CollapsableContainerV2/index.js +2 -0
  206. package/components/TS_ComponentTransition/TS_ComponentTransition.d.ts +25 -0
  207. package/components/TS_ComponentTransition/TS_ComponentTransition.js +65 -0
  208. package/components/TS_ComponentTransition/index.d.ts +1 -0
  209. package/components/TS_ComponentTransition/index.js +1 -0
  210. package/components/TS_CopyToClipboard/TS_CopyToClipboard.d.ts +4 -0
  211. package/components/TS_CopyToClipboard/TS_CopyToClipboard.js +11 -0
  212. package/components/TS_CopyToClipboard/index.d.ts +1 -0
  213. package/components/TS_CopyToClipboard/index.js +21 -0
  214. package/components/TS_Dialog/TS_Dialog.d.ts +89 -0
  215. package/components/TS_Dialog/TS_Dialog.js +140 -0
  216. package/components/TS_Dialog/TS_Dialog.scss +116 -0
  217. package/components/TS_Dialog/TS_DialogOverlay.d.ts +15 -0
  218. package/components/TS_Dialog/TS_DialogOverlay.js +48 -0
  219. package/components/TS_Dialog/TS_DialogOverlay.scss +41 -0
  220. package/components/TS_Dialog/TS_SimpleDialog.d.ts +21 -0
  221. package/components/TS_Dialog/TS_SimpleDialog.js +37 -0
  222. package/components/TS_Dialog/TS_SimpleDialog.scss +5 -0
  223. package/components/TS_Dialog/TS_SimpleDialogue.d.ts +28 -0
  224. package/components/TS_Dialog/TS_SimpleDialogue.js +38 -0
  225. package/components/TS_Dialog/index.d.ts +2 -0
  226. package/components/TS_Dialog/index.js +22 -0
  227. package/components/TS_DragAndDrop/TS_DragAndDrop.d.ts +48 -0
  228. package/components/TS_DragAndDrop/TS_DragAndDrop.js +105 -0
  229. package/components/TS_DragAndDrop/TS_DragAndDrop.scss +61 -0
  230. package/components/TS_DragAndDrop/index.d.ts +1 -0
  231. package/components/TS_DragAndDrop/index.js +21 -0
  232. package/components/TS_Dropdown/TS_DropDown.d.ts +120 -0
  233. package/components/TS_Dropdown/TS_DropDown.js +332 -0
  234. package/components/TS_Dropdown/TS_DropDown.scss +134 -0
  235. package/components/TS_Dropdown/index.d.ts +1 -0
  236. package/components/TS_Dropdown/index.js +21 -0
  237. package/components/TS_EditableContent/TS_EditableContent.d.ts +19 -0
  238. package/components/TS_EditableContent/TS_EditableContent.js +32 -0
  239. package/components/TS_EditableContent/types.d.ts +4 -0
  240. package/components/TS_EditableContent/types.js +1 -0
  241. package/components/TS_EditableItemComponent/TS_EditableItemComponent.d.ts +23 -0
  242. package/components/TS_EditableItemComponent/TS_EditableItemComponent.js +47 -0
  243. package/components/TS_EditableItemController/TS_EditableItemController.d.ts +36 -0
  244. package/components/TS_EditableItemController/TS_EditableItemController.js +54 -0
  245. package/components/TS_EditableItemController/TS_EditableItemController.scss +3 -0
  246. package/components/TS_EditableItemController/index.d.ts +1 -0
  247. package/components/TS_EditableItemController/index.js +1 -0
  248. package/components/TS_EditableItemControllerProto/TS_EditableItemControllerProto.d.ts +32 -0
  249. package/components/TS_EditableItemControllerProto/TS_EditableItemControllerProto.js +53 -0
  250. package/components/TS_EditableItemControllerProto/TS_EditableItemControllerProto.scss +3 -0
  251. package/components/TS_EditableItemControllerProto/index.d.ts +1 -0
  252. package/components/TS_EditableItemControllerProto/index.js +1 -0
  253. package/components/TS_EditableItemStatus/TS_EditableItemStatus.d.ts +20 -0
  254. package/components/TS_EditableItemStatus/TS_EditableItemStatus.js +34 -0
  255. package/components/TS_EditableText/TS_EditableText.d.ts +57 -0
  256. package/components/TS_EditableText/TS_EditableText.js +100 -0
  257. package/components/TS_EditableText/TS_EditableText.scss +90 -0
  258. package/components/TS_EditableText/index.d.ts +1 -0
  259. package/components/TS_EditableText/index.js +1 -0
  260. package/components/TS_ErrorBoundary/TS_ErrorBoundary.d.ts +54 -0
  261. package/components/TS_ErrorBoundary/TS_ErrorBoundary.js +103 -0
  262. package/components/TS_ErrorBoundary/TS_ErrorBoundary.scss +95 -0
  263. package/components/TS_ErrorBoundary/index.d.ts +1 -0
  264. package/components/TS_ErrorBoundary/index.js +21 -0
  265. package/components/TS_Form/TS_Form.d.ts +9 -0
  266. package/components/TS_Form/TS_Form.js +11 -0
  267. package/components/TS_Form/TS_Form.scss +0 -0
  268. package/components/TS_Form/consts.d.ts +1 -0
  269. package/components/TS_Form/consts.js +1 -0
  270. package/components/TS_Form/index.d.ts +3 -0
  271. package/components/TS_Form/index.js +3 -0
  272. package/components/TS_Form/types.d.ts +13 -0
  273. package/components/TS_Form/types.js +1 -0
  274. package/components/TS_GridTableProto/TS_GridTableProto.d.ts +18 -0
  275. package/components/TS_GridTableProto/TS_GridTableProto.js +22 -0
  276. package/components/TS_GridTableProto/TS_GridTableProto.scss +4 -0
  277. package/components/TS_GridTableProto/index.d.ts +1 -0
  278. package/components/TS_GridTableProto/index.js +1 -0
  279. package/components/TS_Input/ATS_TextArea.d.ts +14 -0
  280. package/components/TS_Input/ATS_TextArea.js +24 -0
  281. package/components/TS_Input/ATS_TextArea.scss +24 -0
  282. package/components/TS_Input/TS_BaseInput.d.ts +44 -0
  283. package/components/TS_Input/TS_BaseInput.js +47 -0
  284. package/components/TS_Input/TS_Input.d.ts +24 -0
  285. package/components/TS_Input/TS_Input.js +53 -0
  286. package/components/TS_Input/TS_Input.scss +64 -0
  287. package/components/TS_Input/TS_TextArea.d.ts +14 -0
  288. package/components/TS_Input/TS_TextArea.js +72 -0
  289. package/components/TS_Input/TS_TextArea.scss +41 -0
  290. package/components/TS_Input/index.d.ts +4 -0
  291. package/components/TS_Input/index.js +25 -0
  292. package/components/TS_JSONViewer/TS_JSONViewer.d.ts +18 -0
  293. package/components/TS_JSONViewer/TS_JSONViewer.js +64 -0
  294. package/components/TS_JSONViewer/TS_JSONViewer.scss +87 -0
  295. package/components/TS_JSONViewer/types.d.ts +10 -0
  296. package/components/TS_JSONViewer/types.js +1 -0
  297. package/components/TS_Link/TS_Link.d.ts +15 -0
  298. package/components/TS_Link/TS_Link.js +36 -0
  299. package/components/TS_Link/TS_Link.scss +32 -0
  300. package/components/TS_Link/index.d.ts +1 -0
  301. package/components/TS_Link/index.js +21 -0
  302. package/components/TS_ListOrganizer/TS_ListOrganizer.d.ts +33 -0
  303. package/components/TS_ListOrganizer/TS_ListOrganizer.js +64 -0
  304. package/components/TS_ListOrganizer/TS_ListOrganizer.scss +37 -0
  305. package/components/TS_ListOrganizer/index.d.ts +1 -0
  306. package/components/TS_ListOrganizer/index.js +21 -0
  307. package/components/TS_Loader/TS_Loader.d.ts +6 -0
  308. package/components/TS_Loader/TS_Loader.js +9 -0
  309. package/components/TS_Loader/TS_Loader.scss +71 -0
  310. package/components/TS_Loader/index.d.ts +1 -0
  311. package/components/TS_Loader/index.js +1 -0
  312. package/components/TS_MemoryMonitor/TS_MemoryMonitor.d.ts +10 -0
  313. package/components/TS_MemoryMonitor/TS_MemoryMonitor.js +48 -0
  314. package/components/TS_MemoryMonitor/TS_MemoryMonitor.scss +31 -0
  315. package/components/TS_MemoryMonitor/index.d.ts +1 -0
  316. package/components/TS_MemoryMonitor/index.js +21 -0
  317. package/components/TS_MouseInteractivity/TS_PopUp/TS_PopUp.d.ts +9 -0
  318. package/components/TS_MouseInteractivity/TS_PopUp/TS_PopUp.js +28 -0
  319. package/components/TS_MouseInteractivity/TS_PopUp/TS_PopUp.scss +53 -0
  320. package/components/TS_MouseInteractivity/TS_Tooltip/TS_ToolTip.d.ts +12 -0
  321. package/components/TS_MouseInteractivity/TS_Tooltip/TS_ToolTip.js +65 -0
  322. package/components/TS_MouseInteractivity/TS_Tooltip/TS_ToolTip.scss +46 -0
  323. package/components/TS_MouseInteractivity/base/TS_MouseInteractivity.d.ts +18 -0
  324. package/components/TS_MouseInteractivity/base/TS_MouseInteractivity.js +100 -0
  325. package/components/TS_MouseInteractivity/index.d.ts +2 -0
  326. package/components/TS_MouseInteractivity/index.js +22 -0
  327. package/components/TS_MultiSelect/TS_MultiSelect.scss +34 -0
  328. package/components/TS_MultiSelect/TS_MultiSelect_V2.d.ts +36 -0
  329. package/components/TS_MultiSelect/TS_MultiSelect_V2.js +41 -0
  330. package/components/TS_MultiSelect/index.d.ts +1 -0
  331. package/components/TS_MultiSelect/index.js +21 -0
  332. package/components/TS_Notifications/TS_Notifications.d.ts +22 -0
  333. package/components/TS_Notifications/TS_Notifications.js +96 -0
  334. package/components/TS_Notifications/TS_Notifications.scss +120 -0
  335. package/components/TS_Notifications/genericNotificationAction.d.ts +8 -0
  336. package/components/TS_Notifications/genericNotificationAction.js +16 -0
  337. package/components/TS_Notifications/index.d.ts +2 -0
  338. package/components/TS_Notifications/index.js +2 -0
  339. package/components/TS_Overlay/TS_Overlay.d.ts +12 -0
  340. package/components/TS_Overlay/TS_Overlay.js +32 -0
  341. package/components/TS_Overlay/TS_Overlay.scss +41 -0
  342. package/components/TS_Overlay/index.d.ts +1 -0
  343. package/components/TS_Overlay/index.js +21 -0
  344. package/components/TS_Printable/TS_Printable.d.ts +13 -0
  345. package/components/TS_Printable/TS_Printable.js +20 -0
  346. package/components/TS_Printable/TS_Printable.scss +47 -0
  347. package/components/TS_Printable/index.d.ts +1 -0
  348. package/components/TS_Printable/index.js +21 -0
  349. package/components/TS_ProgressBar/TS_ProgressBar.d.ts +22 -0
  350. package/components/TS_ProgressBar/TS_ProgressBar.js +47 -0
  351. package/components/TS_ProgressBar/TS_ProgressBar.scss +79 -0
  352. package/components/TS_ProgressBar/index.d.ts +1 -0
  353. package/components/TS_ProgressBar/index.js +1 -0
  354. package/components/TS_PropRenderer/TS_PropRenderer.d.ts +18 -0
  355. package/components/TS_PropRenderer/TS_PropRenderer.js +36 -0
  356. package/components/TS_PropRenderer/TS_PropRenderer.scss +19 -0
  357. package/components/TS_PropRenderer/index.d.ts +1 -0
  358. package/components/TS_PropRenderer/index.js +1 -0
  359. package/components/TS_Radio/TS_Radio.d.ts +34 -0
  360. package/components/TS_Radio/TS_Radio.js +49 -0
  361. package/components/TS_Radio/TS_Radio.scss +68 -0
  362. package/components/TS_Radio/index.d.ts +1 -0
  363. package/components/TS_Radio/index.js +1 -0
  364. package/components/TS_ReadMore/TS_ReadMore.d.ts +26 -0
  365. package/components/TS_ReadMore/TS_ReadMore.js +86 -0
  366. package/components/TS_ReadMore/TS_ReadMore.scss +36 -0
  367. package/components/TS_ReadMore/index.d.ts +1 -0
  368. package/components/TS_ReadMore/index.js +1 -0
  369. package/components/TS_Slider/TS_Slider.d.ts +26 -0
  370. package/components/TS_Slider/TS_Slider.js +42 -0
  371. package/components/TS_Slider/TS_Slider.scss +68 -0
  372. package/components/TS_Slider/index.d.ts +1 -0
  373. package/components/TS_Slider/index.js +1 -0
  374. package/components/TS_Space/TS_Space.d.ts +8 -0
  375. package/components/TS_Space/TS_Space.js +8 -0
  376. package/components/TS_Space/index.d.ts +1 -0
  377. package/components/TS_Space/index.js +1 -0
  378. package/components/TS_Space/ts-space.scss +3 -0
  379. package/components/TS_Table/TS_Table.d.ts +42 -0
  380. package/components/TS_Table/TS_Table.js +74 -0
  381. package/components/TS_Table/TS_Table.scss +51 -0
  382. package/components/TS_Table/index.d.ts +1 -0
  383. package/components/TS_Table/index.js +21 -0
  384. package/components/TS_Tabs/TS_Tabs.d.ts +55 -0
  385. package/components/TS_Tabs/TS_Tabs.js +102 -0
  386. package/components/TS_Tabs/TS_Tabs.scss +103 -0
  387. package/components/TS_Tabs/index.d.ts +1 -0
  388. package/components/TS_Tabs/index.js +21 -0
  389. package/components/TS_Toaster/TS_Toast.d.ts +5 -0
  390. package/components/TS_Toaster/TS_Toast.js +9 -0
  391. package/components/TS_Toaster/TS_Toast.scss +80 -0
  392. package/components/TS_Toaster/TS_ToastOverlay.d.ts +16 -0
  393. package/components/TS_Toaster/TS_ToastOverlay.js +26 -0
  394. package/components/TS_Toaster/TS_ToastOverlay.scss +33 -0
  395. package/components/TS_Toaster/index.d.ts +2 -0
  396. package/components/TS_Toaster/index.js +22 -0
  397. package/components/TS_Toggle/ATS_Toggle.d.ts +11 -0
  398. package/components/TS_Toggle/ATS_Toggle.js +18 -0
  399. package/components/TS_Toggle/TS_Toggle.d.ts +21 -0
  400. package/components/TS_Toggle/TS_Toggle.js +26 -0
  401. package/components/TS_Toggle/TS_Toggle.scss +56 -0
  402. package/components/TS_Toggle/index.d.ts +2 -0
  403. package/components/TS_Toggle/index.js +2 -0
  404. package/components/TS_Toggler/TS_Toggler.d.ts +23 -0
  405. package/components/TS_Toggler/TS_Toggler.js +50 -0
  406. package/components/TS_Toggler/TS_Toggler.scss +83 -0
  407. package/components/TS_Toggler/index.d.ts +1 -0
  408. package/components/TS_Toggler/index.js +1 -0
  409. package/components/TS_Tree/SimpleTreeNodeRenderer.d.ts +9 -0
  410. package/components/TS_Tree/SimpleTreeNodeRenderer.js +53 -0
  411. package/components/TS_Tree/TS_Tree.d.ts +68 -0
  412. package/components/TS_Tree/TS_Tree.js +174 -0
  413. package/components/TS_Tree/TS_Tree.scss +44 -0
  414. package/components/TS_Tree/index.d.ts +3 -0
  415. package/components/TS_Tree/index.js +23 -0
  416. package/components/TS_Tree/types.d.ts +4 -0
  417. package/components/TS_Tree/types.js +21 -0
  418. package/components/TS_V2_Input/TS_InputV2.d.ts +93 -0
  419. package/components/TS_V2_Input/TS_InputV2.js +220 -0
  420. package/components/TS_V2_Input/index.d.ts +1 -0
  421. package/components/TS_V2_Input/index.js +21 -0
  422. package/components/TS_V2_TextArea/TS_BaseInput.d.ts +42 -0
  423. package/components/TS_V2_TextArea/TS_BaseInput.js +46 -0
  424. package/components/TS_V2_TextArea/TS_TextAreaV2.d.ts +78 -0
  425. package/components/TS_V2_TextArea/TS_TextAreaV2.js +178 -0
  426. package/components/TS_V2_TextArea/TS_TextAreaV2.scss +49 -0
  427. package/components/TS_V2_TextArea/index.d.ts +2 -0
  428. package/components/TS_V2_TextArea/index.js +22 -0
  429. package/components/TS_VirtualizedList/TS_VirtualizedList.d.ts +14 -0
  430. package/components/TS_VirtualizedList/TS_VirtualizedList.js +22 -0
  431. package/components/TS_VirtualizedList/index.d.ts +1 -0
  432. package/components/TS_VirtualizedList/index.js +1 -0
  433. package/components/Video/Video.d.ts +16 -0
  434. package/components/Video/Video.js +40 -0
  435. package/components/Video/VideoDialog.d.ts +20 -0
  436. package/components/Video/VideoDialog.js +44 -0
  437. package/components/Video/VideoDialog.scss +31 -0
  438. package/components/Video/types.d.ts +20 -0
  439. package/components/Video/types.js +1 -0
  440. package/components/_TS_MultiSelect/DBItemDropDownMultiSelector.d.ts +57 -0
  441. package/components/_TS_MultiSelect/DBItemDropDownMultiSelector.js +63 -0
  442. package/components/adapter/Adapter.d.ts +139 -0
  443. package/components/adapter/Adapter.js +259 -0
  444. package/components/adapter/BaseRenderer.d.ts +24 -0
  445. package/components/adapter/BaseRenderer.js +31 -0
  446. package/components/ats-group.d.ts +2 -0
  447. package/components/ats-group.js +14 -0
  448. package/components/form/Form.d.ts +24 -0
  449. package/components/form/Form.js +34 -0
  450. package/components/form/types.d.ts +23 -0
  451. package/components/form/types.js +21 -0
  452. package/components/formv3/FormV3.d.ts +25 -0
  453. package/components/formv3/FormV3.js +23 -0
  454. package/components/formv3/types.d.ts +29 -0
  455. package/components/formv3/types.js +1 -0
  456. package/components/treeicons.d.ts +10 -0
  457. package/components/treeicons.js +3 -0
  458. package/components/types.d.ts +23 -0
  459. package/components/types.js +22 -0
  460. package/components/utils.d.ts +1 -0
  461. package/components/utils.js +7 -0
  462. package/consts.d.ts +2 -0
  463. package/consts.js +2 -0
  464. package/core/AppPage.d.ts +11 -0
  465. package/core/AppPage.js +52 -0
  466. package/core/AppPageV2.d.ts +9 -0
  467. package/core/AppPageV2.js +53 -0
  468. package/core/AppWrapper.d.ts +4 -0
  469. package/core/AppWrapper.js +34 -0
  470. package/core/ComponentAsync.d.ts +16 -0
  471. package/core/ComponentAsync.js +64 -0
  472. package/core/ComponentBase.d.ts +28 -0
  473. package/core/ComponentBase.js +152 -0
  474. package/core/ComponentSync.d.ts +13 -0
  475. package/core/ComponentSync.js +49 -0
  476. package/core/Controller.d.ts +13 -0
  477. package/core/Controller.js +28 -0
  478. package/core/IndexedDB.d.ts +42 -0
  479. package/core/IndexedDB.js +259 -0
  480. package/core/IndexedDBV3.d.ts +43 -0
  481. package/core/IndexedDBV3.js +259 -0
  482. package/core/IndexedDBV4/IndexedDB_Database.d.ts +20 -0
  483. package/core/IndexedDBV4/IndexedDB_Database.js +268 -0
  484. package/core/IndexedDBV4/IndexedDB_Store.d.ts +34 -0
  485. package/core/IndexedDBV4/IndexedDB_Store.js +207 -0
  486. package/core/IndexedDBV4/ModuleFE_IDBManager.d.ts +11 -0
  487. package/core/IndexedDBV4/ModuleFE_IDBManager.js +19 -0
  488. package/core/IndexedDBV4/types.d.ts +16 -0
  489. package/core/IndexedDBV4/types.js +1 -0
  490. package/core/SimpleScriptInjector.d.ts +13 -0
  491. package/core/SimpleScriptInjector.js +42 -0
  492. package/core/Thunder.d.ts +37 -0
  493. package/core/Thunder.js +139 -0
  494. package/core/ThunderstormDefaultApp.d.ts +12 -0
  495. package/core/ThunderstormDefaultApp.js +29 -0
  496. package/core/consts.d.ts +6 -0
  497. package/core/consts.js +2 -0
  498. package/core/db-api-gen/consts.d.ts +22 -0
  499. package/core/db-api-gen/consts.js +25 -0
  500. package/core/db-api-gen/db-def.d.ts +9 -0
  501. package/core/db-api-gen/db-def.js +16 -0
  502. package/core/db-api-gen/types.d.ts +23 -0
  503. package/core/db-api-gen/types.js +3 -0
  504. package/core/proto-component/ProtoComponent.d.ts +57 -0
  505. package/core/proto-component/ProtoComponent.js +73 -0
  506. package/core/proto-component/UrlState.d.ts +42 -0
  507. package/core/proto-component/UrlState.js +59 -0
  508. package/core/proto-component/index.d.ts +2 -0
  509. package/core/proto-component/index.js +2 -0
  510. package/core/proto-component/types.d.ts +25 -0
  511. package/core/proto-component/types.js +15 -0
  512. package/core/thunder-dispatcher.d.ts +13 -0
  513. package/core/thunder-dispatcher.js +69 -0
  514. package/core/thunder-helpers.d.ts +7 -0
  515. package/core/thunder-helpers.js +171 -0
  516. package/core/thunder-modulepack.d.ts +3 -0
  517. package/core/thunder-modulepack.js +34 -0
  518. package/core/typed-api.d.ts +6 -0
  519. package/core/typed-api.js +41 -0
  520. package/core/types.d.ts +6 -0
  521. package/core/types.js +1 -0
  522. package/editable-item.d.ts +7 -0
  523. package/editable-item.js +7 -0
  524. package/index.d.ts +112 -0
  525. package/index.js +134 -0
  526. package/modules/ModuleFE_BaseTheme.d.ts +18 -0
  527. package/modules/ModuleFE_BaseTheme.js +27 -0
  528. package/modules/ModuleFE_BroadcastChannel/ModuleFE_BroadcastChannel.d.ts +20 -0
  529. package/modules/ModuleFE_BroadcastChannel/ModuleFE_BroadcastChannel.js +66 -0
  530. package/modules/ModuleFE_BrowserHistory.d.ts +46 -0
  531. package/modules/ModuleFE_BrowserHistory.js +165 -0
  532. package/modules/ModuleFE_BrowserHistoryV2.d.ts +43 -0
  533. package/modules/ModuleFE_BrowserHistoryV2.js +113 -0
  534. package/modules/ModuleFE_CSVParser.d.ts +12 -0
  535. package/modules/ModuleFE_CSVParser.js +52 -0
  536. package/modules/ModuleFE_CollectionActions.d.ts +10 -0
  537. package/modules/ModuleFE_CollectionActions.js +18 -0
  538. package/modules/ModuleFE_ConnectivityModule.d.ts +15 -0
  539. package/modules/ModuleFE_ConnectivityModule.js +31 -0
  540. package/modules/ModuleFE_ForceUpgrade.d.ts +20 -0
  541. package/modules/ModuleFE_ForceUpgrade.js +54 -0
  542. package/modules/ModuleFE_LocalStorage.d.ts +46 -0
  543. package/modules/ModuleFE_LocalStorage.js +179 -0
  544. package/modules/ModuleFE_Locale.d.ts +44 -0
  545. package/modules/ModuleFE_Locale.js +83 -0
  546. package/modules/ModuleFE_Print.d.ts +16 -0
  547. package/modules/ModuleFE_Print.js +116 -0
  548. package/modules/ModuleFE_StorageCleaner.d.ts +17 -0
  549. package/modules/ModuleFE_StorageCleaner.js +90 -0
  550. package/modules/ModuleFE_Thunderstorm.d.ts +31 -0
  551. package/modules/ModuleFE_Thunderstorm.js +122 -0
  552. package/modules/ModuleFE_Utils/ModuleFE_Utils.d.ts +29 -0
  553. package/modules/ModuleFE_Utils/ModuleFE_Utils.js +43 -0
  554. package/modules/ModuleFE_Window.d.ts +19 -0
  555. package/modules/ModuleFE_Window.js +42 -0
  556. package/modules/ModuleFE_WindowMessenger.d.ts +62 -0
  557. package/modules/ModuleFE_WindowMessenger.js +128 -0
  558. package/modules/action-processor/ModuleFE_ActionProcessor.d.ts +9 -0
  559. package/modules/action-processor/ModuleFE_ActionProcessor.js +14 -0
  560. package/modules/archiving/ModuleFE_Archiving.d.ts +8 -0
  561. package/modules/archiving/ModuleFE_Archiving.js +15 -0
  562. package/modules/clearWebsiteDataDispatcher.d.ts +5 -0
  563. package/modules/clearWebsiteDataDispatcher.js +2 -0
  564. package/modules/component-loader/ReactEntryComponentInjector.d.ts +23 -0
  565. package/modules/component-loader/ReactEntryComponentInjector.js +59 -0
  566. package/modules/component-loader/entry-component-loading-module.d.ts +7 -0
  567. package/modules/component-loader/entry-component-loading-module.js +52 -0
  568. package/modules/component-loader/index.d.ts +2 -0
  569. package/modules/component-loader/index.js +2 -0
  570. package/modules/db-api-gen/ModuleFE_BaseApi.d.ts +45 -0
  571. package/modules/db-api-gen/ModuleFE_BaseApi.js +152 -0
  572. package/modules/db-api-gen/ModuleFE_BaseDB.d.ts +146 -0
  573. package/modules/db-api-gen/ModuleFE_BaseDB.js +433 -0
  574. package/modules/db-api-gen/types.d.ts +13 -0
  575. package/modules/db-api-gen/types.js +6 -0
  576. package/modules/http/ModuleFE_XHR.d.ts +20 -0
  577. package/modules/http/ModuleFE_XHR.js +175 -0
  578. package/modules/routing/LocationChangeListener.d.ts +6 -0
  579. package/modules/routing/LocationChangeListener.js +15 -0
  580. package/modules/routing/ModuleFE_Routing.d.ts +30 -0
  581. package/modules/routing/ModuleFE_Routing.js +122 -0
  582. package/modules/routing/ModuleFE_RoutingV2.d.ts +25 -0
  583. package/modules/routing/ModuleFE_RoutingV2.js +143 -0
  584. package/modules/routing/index.d.ts +5 -0
  585. package/modules/routing/index.js +5 -0
  586. package/modules/routing/route.d.ts +22 -0
  587. package/modules/routing/route.js +83 -0
  588. package/modules/routing/types.d.ts +20 -0
  589. package/modules/routing/types.js +1 -0
  590. package/modules/sync-env/ModuleFE_SyncEnvV2.d.ts +8 -0
  591. package/modules/sync-env/ModuleFE_SyncEnvV2.js +18 -0
  592. package/modules/sync-manager/ModuleFE_SyncManager.d.ts +59 -0
  593. package/modules/sync-manager/ModuleFE_SyncManager.js +378 -0
  594. package/modules/sync-manager/ModuleFE_SyncManager_CSV.d.ts +11 -0
  595. package/modules/sync-manager/ModuleFE_SyncManager_CSV.js +121 -0
  596. package/package.json +107 -0
  597. package/server-info/Button_VersionUpdate.d.ts +15 -0
  598. package/server-info/Button_VersionUpdate.js +29 -0
  599. package/server-info/Button_VersionUpdate.scss +29 -0
  600. package/server-info/ModuleFE_ServerInfo.d.ts +26 -0
  601. package/server-info/ModuleFE_ServerInfo.js +73 -0
  602. package/server-info/index.d.ts +2 -0
  603. package/server-info/index.js +2 -0
  604. package/shared.d.ts +1 -0
  605. package/shared.js +21 -0
  606. package/styles/declaration/basic.scss +155 -0
  607. package/styles/declaration/mixins.scss +58 -0
  608. package/styles/impl/basic.scss +141 -0
  609. package/styles/impl/icons.scss +34 -0
  610. package/styles.scss +40 -0
  611. package/utils/EditableItem.d.ts +240 -0
  612. package/utils/EditableItem.js +552 -0
  613. package/utils/console/LogClient_ConsoleInterceptor.d.ts +5 -0
  614. package/utils/console/LogClient_ConsoleInterceptor.js +70 -0
  615. package/utils/perform-action/genereteToasts.d.ts +3 -0
  616. package/utils/perform-action/genereteToasts.js +14 -0
  617. package/utils/perform-action/index.d.ts +2 -0
  618. package/utils/perform-action/index.js +2 -0
  619. package/utils/perform-action/notification-dispatchers.d.ts +6 -0
  620. package/utils/perform-action/notification-dispatchers.js +2 -0
  621. package/utils/perform-action/performAction.d.ts +34 -0
  622. package/utils/perform-action/performAction.js +77 -0
  623. package/utils/perform-action/resolve-dependency-toast/ResolveDependencyToast.d.ts +8 -0
  624. package/utils/perform-action/resolve-dependency-toast/ResolveDependencyToast.js +11 -0
  625. package/utils/perform-action/resolve-dependency-toast/ResolveDependencyToast.scss +12 -0
  626. package/utils/tools.d.ts +31 -0
  627. package/utils/tools.js +138 -0
  628. package/utils/types.d.ts +3 -0
  629. package/utils/types.js +1 -0
  630. package/widgets/FieldEditor.d.ts +29 -0
  631. package/widgets/FieldEditor.js +47 -0
  632. package/widgets/FieldEditorClick.d.ts +33 -0
  633. package/widgets/FieldEditorClick.js +49 -0
  634. package/widgets/FieldEditorWithButtons.d.ts +32 -0
  635. package/widgets/FieldEditorWithButtons.js +42 -0
@@ -0,0 +1,139 @@
1
+ /*
2
+ * Thunderstorm is a full web app framework!
3
+ *
4
+ * Typescript & Express backend infrastructure that natively runs on firebase function
5
+ * Typescript & React frontend infrastructure
6
+ *
7
+ * Copyright (C) 2020 Adam van der Kruk aka TacB0sS
8
+ *
9
+ * Licensed under the Apache License, Version 2.0 (the "License");
10
+ * you may not use this file except in compliance with the License.
11
+ * You may obtain a copy of the License at
12
+ *
13
+ * http://www.apache.org/licenses/LICENSE-2.0
14
+ *
15
+ * Unless required by applicable law or agreed to in writing, software
16
+ * distributed under the License is distributed on an "AS IS" BASIS,
17
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
+ * See the License for the specific language governing permissions and
19
+ * limitations under the License.
20
+ */
21
+ import { BeLogged, exists, ImplementationMissingException, LogClient_BrowserGroups, merge, ModuleManager, Promise_all_sequentially, removeItemFromArray } from '@nu-art/ts-common';
22
+ import { ThunderDispatcher } from './thunder-dispatcher.js';
23
+ import '../styles/impl/basic.scss';
24
+ import '../styles/impl/icons.scss';
25
+ import * as RDC from 'react-dom/client';
26
+ import { appWithJSX } from './AppWrapper.js';
27
+ import { StorageKey } from '../modules/ModuleFE_LocalStorage.js';
28
+ import axios from 'axios';
29
+ import { getBrowseAndDeviceLogs, getECMADataLog, getiFrameLog, getJSEngineLogs, globalErrorListener, indexedDBAsyncCheckLog, navigationTimingLog } from './thunder-helpers.js';
30
+ export const Storage_AppVersion = new StorageKey('app-version').withstandDeletion();
31
+ export class Thunder extends ModuleManager {
32
+ listeners = [];
33
+ renderFunc;
34
+ props;
35
+ preBuildActions = [];
36
+ innerConfig;
37
+ constructor(config) {
38
+ super();
39
+ BeLogged.addClient(LogClient_BrowserGroups);
40
+ // @ts-ignore
41
+ window.thunder = this;
42
+ // @ts-ignore
43
+ ThunderDispatcher['listenersResolver'] = () => this.listeners;
44
+ this.addPreBuildAction(this.fetchConfig.bind(this)); // add config resolver as a pre build action
45
+ this.innerConfig = Object.freeze(config);
46
+ }
47
+ static getInstance() {
48
+ return Thunder.instance;
49
+ }
50
+ init() {
51
+ super.init();
52
+ const appJsx = this.renderFunc?.(this.props);
53
+ if (!appJsx)
54
+ throw new ImplementationMissingException('Could not get app from Thunder!');
55
+ //Set root div and its attributes
56
+ const rootDiv = document.createElement('div');
57
+ rootDiv.classList.add('match_parent');
58
+ rootDiv.setAttribute('id', 'root');
59
+ document.body.appendChild(rootDiv);
60
+ //Set app root
61
+ RDC.createRoot(rootDiv).render(appJsx);
62
+ return this;
63
+ }
64
+ async fetchConfig() {
65
+ try {
66
+ this.config = {};
67
+ const promises = [];
68
+ if (this.innerConfig.defaultConfigUrl)
69
+ promises.push(axios.get(this.innerConfig.defaultConfigUrl));
70
+ else
71
+ promises.push((async () => ({ data: {} }))());
72
+ promises.push(axios.get(this.innerConfig.configUrl));
73
+ const [defaultConfig, envConfig] = await Promise.all(promises);
74
+ if (!exists(defaultConfig?.data))
75
+ return this.logWarning('Could not resolve default config');
76
+ if (!exists(envConfig?.data))
77
+ return this.logWarning('Could not resolve env config');
78
+ if (typeof defaultConfig?.data !== 'object')
79
+ return this.logWarning('default config is not an object');
80
+ if (typeof envConfig?.data !== 'object')
81
+ return this.logWarning('env config is not an object');
82
+ this.config = merge(merge(this.config, defaultConfig.data), envConfig.data);
83
+ }
84
+ catch (err) {
85
+ this.logError('failed loading config with error', err);
86
+ }
87
+ }
88
+ addUIListener(listener) {
89
+ this.logVerbose(`Register UI listener: ${listener}`);
90
+ this.listeners.push(listener);
91
+ }
92
+ removeUIListener(listener) {
93
+ this.logVerbose(`Unregister UI listener: ${listener}`);
94
+ removeItemFromArray(this.listeners, listener);
95
+ }
96
+ /**
97
+ * Set up the entry point for the app.
98
+ * @param mainApp - The entry point into the application, what will be rendered directly under root (usually App.tsx)
99
+ * @param props - The props to go with the supplied main app
100
+ * @param renderFunc - The app wrapper, which will usually provide a router. by default is "appWithJSX" which will just return the app
101
+ */
102
+ setMainApp(mainApp, props = {}, renderFunc = appWithJSX) {
103
+ this.props = {
104
+ element: mainApp,
105
+ props: props
106
+ };
107
+ this.renderFunc = renderFunc;
108
+ return this;
109
+ }
110
+ build(onStarted) {
111
+ Promise_all_sequentially(this.preBuildActions).then(() => {
112
+ super.build();
113
+ onStarted?.();
114
+ });
115
+ }
116
+ setVersion(version) {
117
+ Storage_AppVersion.set(version);
118
+ return super.setVersion(version);
119
+ }
120
+ getConfig() {
121
+ return this.config;
122
+ }
123
+ addPreBuildAction = (func) => {
124
+ this.preBuildActions.push(func);
125
+ return this;
126
+ };
127
+ logStuff = () => {
128
+ getBrowseAndDeviceLogs();
129
+ getJSEngineLogs();
130
+ getECMADataLog();
131
+ getiFrameLog();
132
+ navigationTimingLog();
133
+ globalErrorListener();
134
+ indexedDBAsyncCheckLog();
135
+ };
136
+ getEnvironment() {
137
+ return Thunder.getInstance().getConfig().label;
138
+ }
139
+ }
@@ -0,0 +1,12 @@
1
+ import { ComponentSync } from './ComponentSync.js';
2
+ import { TS_Route } from '../modules/routing/types.js';
3
+ import * as React from 'react';
4
+ export declare class ThunderstormDefaultApp extends ComponentSync<{
5
+ rootRoute: TS_Route;
6
+ additionalOverlays?: React.ElementType[];
7
+ }> {
8
+ static blockEvent<T>(ev: React.DragEvent<T>): void;
9
+ getAdditionalOverlayRenderer(overlay: React.ElementType): import("react/jsx-runtime").JSX.Element;
10
+ protected deriveStateFromProps(nextProps: {}): {};
11
+ render(): import("react/jsx-runtime").JSX.Element;
12
+ }
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ComponentSync } from './ComponentSync.js';
3
+ import { generateUUID } from '@nu-art/ts-common';
4
+ import { Thunder } from './Thunder.js';
5
+ import { stopPropagation } from '../utils/tools.js';
6
+ import { ModuleFE_RoutingV2 } from '../modules/routing/ModuleFE_RoutingV2.js';
7
+ import { TS_DialogOverlay } from '../components/TS_Dialog/index.js';
8
+ import { TS_PopUp, TS_ToolTip } from '../components/TS_MouseInteractivity/index.js';
9
+ import { TS_ToastOverlay } from '../components/TS_Toaster/index.js';
10
+ import { TS_Notifications } from '../components/TS_Notifications/index.js';
11
+ import { TS_MemoryMonitor } from '../components/TS_MemoryMonitor/index.js';
12
+ export class ThunderstormDefaultApp extends ComponentSync {
13
+ static blockEvent(ev) {
14
+ ev.preventDefault();
15
+ ev.stopPropagation();
16
+ }
17
+ getAdditionalOverlayRenderer(overlay) {
18
+ const Renderer = overlay;
19
+ return _jsx(Renderer, {}, generateUUID());
20
+ }
21
+ deriveStateFromProps(nextProps) {
22
+ return {};
23
+ }
24
+ render() {
25
+ // @ts-ignore
26
+ const blockRightClick = !Thunder.getInstance().config.isDebug;
27
+ return (_jsxs("div", { id: "app", onDrop: stopPropagation, onDragOver: stopPropagation, onContextMenu: blockRightClick ? stopPropagation : undefined, children: [ModuleFE_RoutingV2.generateRoutes(this.props.rootRoute), _jsx(TS_DialogOverlay, {}), _jsx(TS_PopUp, {}), _jsx(TS_ToolTip, {}), _jsx(TS_ToastOverlay, {}), _jsx(TS_Notifications, {}), _jsx(TS_MemoryMonitor, {}), this.props.additionalOverlays?.map(Overlay => this.getAdditionalOverlayRenderer(Overlay))] }));
28
+ }
29
+ }
@@ -0,0 +1,6 @@
1
+ import { ThunderDispatcher } from './thunder-dispatcher.js';
2
+ import { ReactNode } from 'react';
3
+ export interface OnPageTitleChangedListener {
4
+ __onPageTitleChanged(title: ReactNode): void;
5
+ }
6
+ export declare const dispatch_onPageTitleChanged: ThunderDispatcher<OnPageTitleChangedListener, "__onPageTitleChanged", [title: ReactNode], void>;
package/core/consts.js ADDED
@@ -0,0 +1,2 @@
1
+ import { ThunderDispatcher } from './thunder-dispatcher.js';
2
+ export const dispatch_onPageTitleChanged = new ThunderDispatcher('__onPageTitleChanged');
@@ -0,0 +1,22 @@
1
+ import { ThunderDispatcher } from '../thunder-dispatcher.js';
2
+ import { OnSyncStatusChangedListener } from './types.js';
3
+ export declare enum SyncStatus {
4
+ loading = 0,
5
+ idle = 1,
6
+ read = 2,
7
+ write = 3
8
+ }
9
+ export declare enum DataStatus {
10
+ NoData = 0,//no render
11
+ UpdatingData = 1,//no render
12
+ ContainsData = 2
13
+ }
14
+ export declare const syncDispatcher: ThunderDispatcher<OnSyncStatusChangedListener<any>, '__onSyncStatusChanged'>;
15
+ export declare const EventType_UpsertAll = "upsert-all";
16
+ export declare const EventType_Create = "create";
17
+ export declare const EventType_Update = "update";
18
+ export declare const EventType_Patch = "patch";
19
+ export declare const EventType_Unique = "unique";
20
+ export declare const EventType_Query = "query";
21
+ export declare const EventType_Delete = "delete";
22
+ export declare const EventType_DeleteMulti = "delete-multi";
@@ -0,0 +1,25 @@
1
+ import { ThunderDispatcher } from '../thunder-dispatcher.js';
2
+ export var SyncStatus;
3
+ (function (SyncStatus) {
4
+ SyncStatus[SyncStatus["loading"] = 0] = "loading";
5
+ SyncStatus[SyncStatus["idle"] = 1] = "idle";
6
+ SyncStatus[SyncStatus["read"] = 2] = "read";
7
+ SyncStatus[SyncStatus["write"] = 3] = "write";
8
+ })(SyncStatus || (SyncStatus = {}));
9
+ export var DataStatus;
10
+ (function (DataStatus) {
11
+ DataStatus[DataStatus["NoData"] = 0] = "NoData";
12
+ DataStatus[DataStatus["UpdatingData"] = 1] = "UpdatingData";
13
+ DataStatus[DataStatus["ContainsData"] = 2] = "ContainsData";
14
+ // UpdatingDelta, //render
15
+ // UpToDate//render
16
+ })(DataStatus || (DataStatus = {}));
17
+ export const syncDispatcher = new ThunderDispatcher('__onSyncStatusChanged');
18
+ export const EventType_UpsertAll = 'upsert-all';
19
+ export const EventType_Create = 'create';
20
+ export const EventType_Update = 'update';
21
+ export const EventType_Patch = 'patch';
22
+ export const EventType_Unique = 'unique';
23
+ export const EventType_Query = 'query';
24
+ export const EventType_Delete = 'delete';
25
+ export const EventType_DeleteMulti = 'delete-multi';
@@ -0,0 +1,9 @@
1
+ import { DBDef_V3, DBProto } from '@nu-art/ts-common';
2
+ import { DBConfigV3 } from '../IndexedDBV4/types.js';
3
+ export type DBApiFEConfig<Proto extends DBProto<any>> = {
4
+ key: string;
5
+ versions: Proto['versions'];
6
+ validator: Proto['modifiablePropsValidator'];
7
+ dbConfig: DBConfigV3<Proto>;
8
+ };
9
+ export declare const getModuleFEConfigV3: <Proto extends DBProto<any>>(dbDef: DBDef_V3<Proto>) => DBApiFEConfig<Proto>;
@@ -0,0 +1,16 @@
1
+ import { Const_UniqueKey, DefaultDBVersion } from '@nu-art/ts-common';
2
+ export const getModuleFEConfigV3 = (dbDef) => {
3
+ return {
4
+ key: dbDef.dbKey,
5
+ versions: dbDef.versions || [DefaultDBVersion],
6
+ validator: dbDef.modifiablePropsValidator,
7
+ dbConfig: {
8
+ version: dbDef.versions[0],
9
+ name: dbDef.frontend.name,
10
+ group: dbDef.frontend.group,
11
+ indices: dbDef.indices,
12
+ autoIncrement: false,
13
+ uniqueKeys: dbDef.uniqueKeys || [Const_UniqueKey]
14
+ },
15
+ };
16
+ };
@@ -0,0 +1,23 @@
1
+ import { DBProto } from '@nu-art/ts-common';
2
+ import { ThunderDispatcher } from '../thunder-dispatcher.js';
3
+ import { ModuleFE_BaseDB } from '../../modules/db-api-gen/ModuleFE_BaseDB.js';
4
+ export type SingleApiEvent = 'create' | 'update' | 'unique' | 'delete' | 'patch';
5
+ export type MultiApiEvent = 'query' | 'upsert-all' | 'sync' | 'delete-multi';
6
+ export type ApiCallerEventType<Proto extends DBProto<any>> = [
7
+ SingleApiEvent,
8
+ Proto['dbType']
9
+ ] | [MultiApiEvent, Proto['dbType'][]];
10
+ export interface OnSyncStatusChangedListener<Proto extends DBProto<any>> {
11
+ __onSyncStatusChanged: (module: ModuleFE_BaseDB<Proto['dbType'], any>) => void;
12
+ }
13
+ export type DispatcherInterface<Def extends DispatcherDef<any, any>> = {
14
+ [K in Def['eventName']]: Def['method'];
15
+ };
16
+ export type DispatcherDef<Proto extends DBProto<any>, MethodName extends `${'__'}${string}`> = {
17
+ eventName: MethodName;
18
+ method: (...params: ApiCallerEventType<Proto>) => void;
19
+ };
20
+ export declare class ThunderDispatcherV3<T extends DispatcherDef<any, any>> extends ThunderDispatcher<{
21
+ [K in T['eventName']]: T['method'];
22
+ }, T['eventName']> {
23
+ }
@@ -0,0 +1,3 @@
1
+ import { ThunderDispatcher } from '../thunder-dispatcher.js';
2
+ export class ThunderDispatcherV3 extends ThunderDispatcher {
3
+ }
@@ -0,0 +1,57 @@
1
+ import { ComponentSync } from '../ComponentSync.js';
2
+ import { OnUrlParamsChangedListenerV2 } from '../../modules/ModuleFE_BrowserHistoryV2.js';
3
+ import { ProtoComponentDef } from './types.js';
4
+ /**
5
+ * @abstract
6
+ * @class
7
+ * Expansion on ComponentSync, this component takes a [ProtoComponentDef]{@link ProtoComponentDef} type that
8
+ * defines its interaction with the URL hash. </br>
9
+ * Constrained by the [ProtoComponentDef]{@link ProtoComponentDef}, the component will take an array of query param keys (string[]), and generate, provide functionality
10
+ * and listen on changes in the URL hash. </br>
11
+ * @augments ComponentSync
12
+ * @implements OnUrlParamsChangedListenerV2
13
+ * @copyright nu-art
14
+ */
15
+ export declare abstract class ProtoComponent<Def extends ProtoComponentDef<any, any>, P extends {} = {}, S extends {} = {}, Props extends Def['props'] & P = Def['props'] & P, State extends Def['state'] & S = Def['state'] & S> extends ComponentSync<Props, State> implements OnUrlParamsChangedListenerV2 {
16
+ /**
17
+ * Listener for URL changes triggered by ModuleFE_BrowserHistoryV2.
18
+ * Will trigger deriveStateFromProps with the new state of the query params set to be the previous state,
19
+ * if there were changes in the hash that are relevant to this component.
20
+ */
21
+ __onUrlParamsChangedV2: () => void;
22
+ /**
23
+ * Generates an object connection each query param key given in the props to its current value as read from the URL
24
+ */
25
+ private getQueryParamResultsObject;
26
+ /**
27
+ * Will set a value in the URL hash for a given key.
28
+ * @param key
29
+ * @param value
30
+ */
31
+ setQueryParam<K extends Def['queryParamKeys'] = Def['queryParamKeys']>(key: K, value: Def['queryParamDef'][K]): void;
32
+ /**
33
+ * Retrieves the value of the specified query parameter.
34
+ *
35
+ * @param {K} key - The query parameter key.
36
+ * @return {Def['queryParamDef'][K] | undefined} - The value of the specified query parameter, or undefined if it doesn't exist.
37
+ */
38
+ getQueryParam<K extends Def['queryParamKeys']>(key: K): Readonly<Def['queryParamDef'][K]> | undefined;
39
+ /**
40
+ * Retrieves the value of the specified query parameter from the URL.
41
+ *
42
+ * @param {K} key - The key of the query parameter to retrieve. Must be one of the defined query parameter keys.
43
+ * @param {Def.queryParamDef[K]} defaultValue - The default value to return if the query parameter is not found in the URL.
44
+ * @returns {Def.queryParamDef[K]} - The value of the specified query parameter, or the default value if not found.
45
+ */
46
+ getQueryParam<K extends Def['queryParamKeys']>(key: K, defaultValue: Def['queryParamDef'][K]): Readonly<Def['queryParamDef'][K]>;
47
+ /**
48
+ * Clears the value of a query param by a given key
49
+ * @param key
50
+ */
51
+ deleteQueryParam(key: Def['queryParamKeys']): void;
52
+ /**
53
+ * Will merge the given query object into the URL.
54
+ * @param query
55
+ */
56
+ setQueryParams(query: Partial<Def['queryParamDef']>): void;
57
+ }
@@ -0,0 +1,73 @@
1
+ import { ComponentSync } from '../ComponentSync.js';
2
+ import { BadImplementationException, compare, deepClone } from '@nu-art/ts-common';
3
+ import { ModuleFE_BrowserHistoryV2 } from '../../modules/ModuleFE_BrowserHistoryV2.js';
4
+ /**
5
+ * @abstract
6
+ * @class
7
+ * Expansion on ComponentSync, this component takes a [ProtoComponentDef]{@link ProtoComponentDef} type that
8
+ * defines its interaction with the URL hash. </br>
9
+ * Constrained by the [ProtoComponentDef]{@link ProtoComponentDef}, the component will take an array of query param keys (string[]), and generate, provide functionality
10
+ * and listen on changes in the URL hash. </br>
11
+ * @augments ComponentSync
12
+ * @implements OnUrlParamsChangedListenerV2
13
+ * @copyright nu-art
14
+ */
15
+ export class ProtoComponent extends ComponentSync {
16
+ // ######################## Life Cycle ########################
17
+ /**
18
+ * Listener for URL changes triggered by ModuleFE_BrowserHistoryV2.
19
+ * Will trigger deriveStateFromProps with the new state of the query params set to be the previous state,
20
+ * if there were changes in the hash that are relevant to this component.
21
+ */
22
+ __onUrlParamsChangedV2 = () => {
23
+ const previousResultsObject = this.state?.previousResultsObject;
24
+ const queryParams = this.getQueryParamResultsObject();
25
+ const hasChanges = !compare(queryParams, previousResultsObject);
26
+ this.logDebug(`Query params has changes: ${hasChanges}`, previousResultsObject, queryParams);
27
+ if (hasChanges) {
28
+ this.reDeriveState({ previousResultsObject: deepClone(queryParams) });
29
+ }
30
+ };
31
+ // ######################## Class Methods ########################
32
+ /**
33
+ * Generates an object connection each query param key given in the props to its current value as read from the URL
34
+ */
35
+ getQueryParamResultsObject() {
36
+ try {
37
+ return this.props.keys.reduce((map, key) => {
38
+ map[key] = this.getQueryParam(key);
39
+ return map;
40
+ }, {});
41
+ }
42
+ catch (err) {
43
+ throw new BadImplementationException('proto component implementation must implement default props with keys', err);
44
+ }
45
+ }
46
+ // ######################## Singulars
47
+ /**
48
+ * Will set a value in the URL hash for a given key.
49
+ * @param key
50
+ * @param value
51
+ */
52
+ setQueryParam(key, value) {
53
+ ModuleFE_BrowserHistoryV2.set(key, value);
54
+ }
55
+ getQueryParam(key, defaultValue) {
56
+ return ModuleFE_BrowserHistoryV2.get(key) ?? Object.freeze(defaultValue);
57
+ }
58
+ /**
59
+ * Clears the value of a query param by a given key
60
+ * @param key
61
+ */
62
+ deleteQueryParam(key) {
63
+ ModuleFE_BrowserHistoryV2.delete(key);
64
+ }
65
+ // ######################## Multiples
66
+ /**
67
+ * Will merge the given query object into the URL.
68
+ * @param query
69
+ */
70
+ setQueryParams(query) {
71
+ ModuleFE_BrowserHistoryV2.setObject(query);
72
+ }
73
+ }
@@ -0,0 +1,42 @@
1
+ import { ProtoComponentDef } from './types.js';
2
+ import { Logger } from '@nu-art/ts-common';
3
+ import { ComponentSync } from '../ComponentSync.js';
4
+ export declare class UrlState<Def extends ProtoComponentDef<any, any>> extends Logger {
5
+ private keys;
6
+ constructor(keys: Def['props']['keys'], _component: ComponentSync<any, any>);
7
+ /**
8
+ * Generates an object connection each query param key given in the props to its current value as read from the URL
9
+ */
10
+ private getQueryParamResultsObject;
11
+ /**
12
+ * Will set a value in the URL hash for a given key.
13
+ * @param key
14
+ * @param value
15
+ */
16
+ setQueryParam<K extends Def['queryParamKeys'] = Def['queryParamKeys']>(key: K, value: Def['queryParamDef'][K]): void;
17
+ /**
18
+ * Retrieves the value of the specified query parameter.
19
+ *
20
+ * @param {K} key - The query parameter key.
21
+ * @return {Def['queryParamDef'][K] | undefined} - The value of the specified query parameter, or undefined if it doesn't exist.
22
+ */
23
+ getQueryParam<K extends Def['queryParamKeys']>(key: K): Readonly<Def['queryParamDef'][K]> | undefined;
24
+ /**
25
+ * Retrieves the value of the specified query parameter from the URL.
26
+ *
27
+ * @param {K} key - The key of the query parameter to retrieve. Must be one of the defined query parameter keys.
28
+ * @param {Def.queryParamDef[K]} defaultValue - The default value to return if the query parameter is not found in the URL.
29
+ * @returns {Def.queryParamDef[K]} - The value of the specified query parameter, or the default value if not found.
30
+ */
31
+ getQueryParam<K extends Def['queryParamKeys']>(key: K, defaultValue: Def['queryParamDef'][K]): Readonly<Def['queryParamDef'][K]>;
32
+ /**
33
+ * Clears the value of a query param by a given key
34
+ * @param key
35
+ */
36
+ deleteQueryParam(key: Def['queryParamKeys']): void;
37
+ /**
38
+ * Will merge the given query object into the URL.
39
+ * @param query
40
+ */
41
+ setQueryParams(query: Partial<Def['queryParamDef']>): void;
42
+ }
@@ -0,0 +1,59 @@
1
+ import { BadImplementationException, compare, deepClone, Logger } from '@nu-art/ts-common';
2
+ import { ModuleFE_BrowserHistoryV2 } from '../../modules/ModuleFE_BrowserHistoryV2.js';
3
+ export class UrlState extends Logger {
4
+ keys;
5
+ constructor(keys, _component) {
6
+ super();
7
+ this.keys = keys;
8
+ const component = _component;
9
+ component.__onUrlParamsChangedV2 = () => {
10
+ const previousResultsObject = component.state?.previousResultsObject;
11
+ const queryParams = this.getQueryParamResultsObject();
12
+ const hasChanges = !compare(queryParams, previousResultsObject);
13
+ this.logDebug(`Query params has changes: ${hasChanges}`, previousResultsObject, queryParams);
14
+ if (!hasChanges)
15
+ return;
16
+ component.reDeriveState({ previousResultsObject: deepClone(queryParams) });
17
+ };
18
+ }
19
+ /**
20
+ * Generates an object connection each query param key given in the props to its current value as read from the URL
21
+ */
22
+ getQueryParamResultsObject() {
23
+ try {
24
+ return this.keys.reduce((map, key) => {
25
+ map[key] = this.getQueryParam(key);
26
+ return map;
27
+ }, {});
28
+ }
29
+ catch (err) {
30
+ throw new BadImplementationException('proto component implementation must implement default props with keys', err);
31
+ }
32
+ }
33
+ /**
34
+ * Will set a value in the URL hash for a given key.
35
+ * @param key
36
+ * @param value
37
+ */
38
+ setQueryParam(key, value) {
39
+ ModuleFE_BrowserHistoryV2.set(key, value);
40
+ }
41
+ getQueryParam(key, defaultValue) {
42
+ return ModuleFE_BrowserHistoryV2.get(key) ?? Object.freeze(defaultValue);
43
+ }
44
+ /**
45
+ * Clears the value of a query param by a given key
46
+ * @param key
47
+ */
48
+ deleteQueryParam(key) {
49
+ ModuleFE_BrowserHistoryV2.delete(key);
50
+ }
51
+ // ######################## Multiples
52
+ /**
53
+ * Will merge the given query object into the URL.
54
+ * @param query
55
+ */
56
+ setQueryParams(query) {
57
+ ModuleFE_BrowserHistoryV2.setObject(query);
58
+ }
59
+ }
@@ -0,0 +1,2 @@
1
+ export * from './types.js';
2
+ export * from './ProtoComponent.js';
@@ -0,0 +1,2 @@
1
+ export * from './types.js';
2
+ export * from './ProtoComponent.js';
@@ -0,0 +1,25 @@
1
+ import { Primitive, RecursiveArrayOfPrimitives, RecursiveObjectOfPrimitives, SubsetObjectByKeys } from '@nu-art/ts-common';
2
+ export type ProtoComponentDefV2<ParamTypes extends {
3
+ [K in ParamKeys]: Primitive | RecursiveObjectOfPrimitives | RecursiveArrayOfPrimitives;
4
+ }, ParamKeys extends keyof ParamTypes = keyof ParamTypes> = ParamKeys extends string ? ProtoComponentDef<ParamKeys, ParamTypes> : never;
5
+ /**
6
+ * A Definition type for the [ProtoComponent]{@link ProtoComponent}, this type takes 2 arguments:</br>
7
+ * QPK - a list of URL param keys this def will deal with</br>
8
+ * QPD - an object describing the value types for the keys in QPK, no different from a React state definition.
9
+ */
10
+ export type ProtoComponentDef<ParamKeys extends string, ParamTypes extends {
11
+ [K in ParamKeys]: Primitive | RecursiveObjectOfPrimitives | RecursiveArrayOfPrimitives;
12
+ }> = {
13
+ queryParamKeys: ParamKeys;
14
+ queryParamDef: SubsetObjectByKeys<ParamTypes, ParamKeys>;
15
+ props: {
16
+ keys: ParamKeys[];
17
+ };
18
+ state: {
19
+ previousResultsObject?: {
20
+ [Key in ParamKeys]: ParamTypes[Key];
21
+ };
22
+ };
23
+ };
24
+ export type SubProto<Def extends ProtoComponentDef<any, any>, Keys extends Def['queryParamKeys']> = ProtoComponentDef<Keys, Def['queryParamDef']>;
25
+ export type SuperProto<Def1 extends ProtoComponentDef<any, any>, Def2 extends ProtoComponentDef<any, any>> = ProtoComponentDef<Def1['queryParamKeys'] | Def2['queryParamKeys'], Def1['queryParamDef'] & Def2['queryParamDef']>;
@@ -0,0 +1,15 @@
1
+ export {};
2
+ // export type Test1 = ProtoComponentDef<'pah' | 'ashpa', { pah: string, zevel: string, ashpa: string }>
3
+ // export type Test2 = SubProto<Test1, 'ashpa'>
4
+ // export type Test3 = SubProto<Test1, 'pah'>
5
+ // export type Test4 = SuperProto<Test2, Test3>
6
+ // const t: Test4 = {
7
+ // queryParamDef: {
8
+ // 'pah': 'qd',
9
+ // 'ashpa': 'asd',
10
+ // 'zevel': 'asdas'
11
+ // },
12
+ // props: {
13
+ // queryParamsKeys: ['pah', 'ashpa']
14
+ // }
15
+ // };
@@ -0,0 +1,13 @@
1
+ import { Dispatcher, FunctionKeys, LogLevel, ParamResolver, ReturnTypeResolver } from '@nu-art/ts-common';
2
+ export declare class ThunderDispatcher<T, K extends FunctionKeys<T>, P extends ParamResolver<T, K> = ParamResolver<T, K>, R extends ReturnTypeResolver<T, K> = ReturnTypeResolver<T, K>> extends Dispatcher<T, K, P, R> {
3
+ static MinLogLevel: LogLevel;
4
+ static readonly listenersResolver: () => any[];
5
+ private cache?;
6
+ private allowCache;
7
+ constructor(method: K, allowCache?: boolean);
8
+ getCachedData(): P | undefined;
9
+ dispatchUI(...p: P): R[];
10
+ dispatchUIAsync(...p: P): Promise<R[]>;
11
+ dispatchAll(...p: P): R[];
12
+ dispatchAllAsync(...p: P): Promise<R[]>;
13
+ }