@cratis/components 0.1.9

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 (577) hide show
  1. package/.storybook/main.ts +24 -0
  2. package/CommandDialog/CommandDialog.stories.tsx +25 -0
  3. package/CommandDialog/CommandDialog.tsx +161 -0
  4. package/CommandDialog/index.ts +4 -0
  5. package/CommandForm/CommandForm.stories.tsx +24 -0
  6. package/CommandForm/CommandForm.tsx +266 -0
  7. package/CommandForm/CommandFormField.tsx +27 -0
  8. package/CommandForm/CommandFormFields.tsx +142 -0
  9. package/CommandForm/DatePickerField.tsx +57 -0
  10. package/CommandForm/DropdownField.tsx +65 -0
  11. package/CommandForm/InputTextField.tsx +62 -0
  12. package/CommandForm/SliderField.tsx +68 -0
  13. package/CommandForm/index.ts +10 -0
  14. package/Common/ErrorBoundary.stories.tsx +10 -0
  15. package/Common/ErrorBoundary.tsx +41 -0
  16. package/Common/FormElement.stories.tsx +10 -0
  17. package/Common/FormElement.tsx +20 -0
  18. package/Common/Page.stories.tsx +10 -0
  19. package/Common/Page.tsx +21 -0
  20. package/Common/index.ts +6 -0
  21. package/DataPage/DataPage.stories.tsx +10 -0
  22. package/DataPage/DataPage.tsx +191 -0
  23. package/DataPage/index.ts +4 -0
  24. package/DataTables/DataTableForObservableQuery.stories.tsx +10 -0
  25. package/DataTables/DataTableForObservableQuery.tsx +97 -0
  26. package/DataTables/DataTableForQuery.stories.tsx +10 -0
  27. package/DataTables/DataTableForQuery.tsx +97 -0
  28. package/DataTables/index.ts +5 -0
  29. package/Dialogs/BusyIndicatorDialog.stories.tsx +26 -0
  30. package/Dialogs/BusyIndicatorDialog.tsx +26 -0
  31. package/Dialogs/ConfirmationDialog.stories.tsx +36 -0
  32. package/Dialogs/ConfirmationDialog.tsx +75 -0
  33. package/Dialogs/index.ts +5 -0
  34. package/Dropdown/Dropdown.tsx +23 -0
  35. package/Dropdown/index.ts +4 -0
  36. package/PivotViewer/PivotViewer.stories.tsx +24 -0
  37. package/PivotViewer/PivotViewer.tsx +791 -0
  38. package/PivotViewer/components/AxisLabels.tsx +69 -0
  39. package/PivotViewer/components/DetailPanel.tsx +108 -0
  40. package/PivotViewer/components/FilterPanel.tsx +189 -0
  41. package/PivotViewer/components/FilterPanelContainer.tsx +10 -0
  42. package/PivotViewer/components/PivotCanvas.tsx +660 -0
  43. package/PivotViewer/components/PivotViewerMain.tsx +229 -0
  44. package/PivotViewer/components/RangeHistogramFilter.tsx +220 -0
  45. package/PivotViewer/components/Spinner.tsx +21 -0
  46. package/PivotViewer/components/Toolbar.tsx +130 -0
  47. package/PivotViewer/components/ToolbarContainer.tsx +10 -0
  48. package/PivotViewer/components/index.ts +12 -0
  49. package/PivotViewer/components/pivot/animation.ts +108 -0
  50. package/PivotViewer/components/pivot/buckets.ts +152 -0
  51. package/PivotViewer/components/pivot/colorResolver.ts +67 -0
  52. package/PivotViewer/components/pivot/constants.ts +46 -0
  53. package/PivotViewer/components/pivot/sprites.ts +265 -0
  54. package/PivotViewer/components/pivot/visibility.ts +319 -0
  55. package/PivotViewer/constants.ts +9 -0
  56. package/PivotViewer/engine/layout.ts +149 -0
  57. package/PivotViewer/engine/pivot.worker.ts +86 -0
  58. package/PivotViewer/engine/store.ts +437 -0
  59. package/PivotViewer/engine/types.ts +255 -0
  60. package/PivotViewer/hooks/index.ts +13 -0
  61. package/PivotViewer/hooks/useContainerDimensions.ts +45 -0
  62. package/PivotViewer/hooks/useDimensionState.ts +53 -0
  63. package/PivotViewer/hooks/useFilterOptions.ts +36 -0
  64. package/PivotViewer/hooks/useFilterPanelDrag.ts +49 -0
  65. package/PivotViewer/hooks/useFilterState.ts +106 -0
  66. package/PivotViewer/hooks/useFilteredData.ts +119 -0
  67. package/PivotViewer/hooks/usePanning.ts +163 -0
  68. package/PivotViewer/hooks/usePivotEngine.ts +252 -0
  69. package/PivotViewer/hooks/useSelectedItem.ts +402 -0
  70. package/PivotViewer/hooks/useWheelZoom.ts +114 -0
  71. package/PivotViewer/hooks/useZoomState.ts +34 -0
  72. package/PivotViewer/index.ts +7 -0
  73. package/PivotViewer/types.ts +59 -0
  74. package/PivotViewer/utils/animations.ts +249 -0
  75. package/PivotViewer/utils/constants.ts +20 -0
  76. package/PivotViewer/utils/index.ts +6 -0
  77. package/PivotViewer/utils/selection.ts +292 -0
  78. package/PivotViewer/utils/utils.ts +259 -0
  79. package/README.md +1 -0
  80. package/TimeMachine/EventsView.stories.tsx +10 -0
  81. package/TimeMachine/EventsView.tsx +119 -0
  82. package/TimeMachine/Properties.stories.tsx +10 -0
  83. package/TimeMachine/Properties.tsx +98 -0
  84. package/TimeMachine/ReadModelView.stories.tsx +10 -0
  85. package/TimeMachine/ReadModelView.tsx +143 -0
  86. package/TimeMachine/TimeMachine.stories.tsx +10 -0
  87. package/TimeMachine/TimeMachine.tsx +244 -0
  88. package/TimeMachine/index.ts +8 -0
  89. package/TimeMachine/types.ts +23 -0
  90. package/dist/cjs/CommandDialog/CommandDialog.js +71 -0
  91. package/dist/cjs/CommandDialog/CommandDialog.js.map +1 -0
  92. package/dist/cjs/CommandDialog/index.js +9 -0
  93. package/dist/cjs/CommandDialog/index.js.map +1 -0
  94. package/dist/cjs/CommandForm/CommandForm.js +179 -0
  95. package/dist/cjs/CommandForm/CommandForm.js.map +1 -0
  96. package/dist/cjs/CommandForm/CommandFormField.js +11 -0
  97. package/dist/cjs/CommandForm/CommandFormField.js.map +1 -0
  98. package/dist/cjs/CommandForm/CommandFormFields.js +67 -0
  99. package/dist/cjs/CommandForm/CommandFormFields.js.map +1 -0
  100. package/dist/cjs/CommandForm/DatePickerField.js +31 -0
  101. package/dist/cjs/CommandForm/DatePickerField.js.map +1 -0
  102. package/dist/cjs/CommandForm/DropdownField.js +31 -0
  103. package/dist/cjs/CommandForm/DropdownField.js.map +1 -0
  104. package/dist/cjs/CommandForm/InputTextField.js +32 -0
  105. package/dist/cjs/CommandForm/InputTextField.js.map +1 -0
  106. package/dist/cjs/CommandForm/SliderField.js +34 -0
  107. package/dist/cjs/CommandForm/SliderField.js.map +1 -0
  108. package/dist/cjs/CommandForm/index.js +23 -0
  109. package/dist/cjs/CommandForm/index.js.map +1 -0
  110. package/dist/cjs/Common/Page.js +10 -0
  111. package/dist/cjs/Common/Page.js.map +1 -0
  112. package/dist/cjs/DataPage/DataPage.js +64 -0
  113. package/dist/cjs/DataPage/DataPage.js.map +1 -0
  114. package/dist/cjs/DataPage/index.js +11 -0
  115. package/dist/cjs/DataPage/index.js.map +1 -0
  116. package/dist/cjs/DataTables/DataTableForObservableQuery.js +17 -0
  117. package/dist/cjs/DataTables/DataTableForObservableQuery.js.map +1 -0
  118. package/dist/cjs/DataTables/DataTableForQuery.js +17 -0
  119. package/dist/cjs/DataTables/DataTableForQuery.js.map +1 -0
  120. package/dist/cjs/DataTables/index.js +10 -0
  121. package/dist/cjs/DataTables/index.js.map +1 -0
  122. package/dist/cjs/Dialogs/BusyIndicatorDialog.js +13 -0
  123. package/dist/cjs/Dialogs/BusyIndicatorDialog.js.map +1 -0
  124. package/dist/cjs/Dialogs/ConfirmationDialog.js +33 -0
  125. package/dist/cjs/Dialogs/ConfirmationDialog.js.map +1 -0
  126. package/dist/cjs/Dialogs/index.js +10 -0
  127. package/dist/cjs/Dialogs/index.js.map +1 -0
  128. package/dist/cjs/Dropdown/Dropdown.js +15 -0
  129. package/dist/cjs/Dropdown/Dropdown.js.map +1 -0
  130. package/dist/cjs/Dropdown/index.js +8 -0
  131. package/dist/cjs/Dropdown/index.js.map +1 -0
  132. package/dist/cjs/PivotViewer/PivotViewer.js +525 -0
  133. package/dist/cjs/PivotViewer/PivotViewer.js.map +1 -0
  134. package/dist/cjs/PivotViewer/components/AxisLabels.js +27 -0
  135. package/dist/cjs/PivotViewer/components/AxisLabels.js.map +1 -0
  136. package/dist/cjs/PivotViewer/components/DetailPanel.js +35 -0
  137. package/dist/cjs/PivotViewer/components/DetailPanel.js.map +1 -0
  138. package/dist/cjs/PivotViewer/components/FilterPanel.js +59 -0
  139. package/dist/cjs/PivotViewer/components/FilterPanel.js.map +1 -0
  140. package/dist/cjs/PivotViewer/components/FilterPanelContainer.js +11 -0
  141. package/dist/cjs/PivotViewer/components/FilterPanelContainer.js.map +1 -0
  142. package/dist/cjs/PivotViewer/components/PivotCanvas.js +394 -0
  143. package/dist/cjs/PivotViewer/components/PivotCanvas.js.map +1 -0
  144. package/dist/cjs/PivotViewer/components/PivotViewerMain.js +81 -0
  145. package/dist/cjs/PivotViewer/components/PivotViewerMain.js.map +1 -0
  146. package/dist/cjs/PivotViewer/components/RangeHistogramFilter.js +124 -0
  147. package/dist/cjs/PivotViewer/components/RangeHistogramFilter.js.map +1 -0
  148. package/dist/cjs/PivotViewer/components/Spinner.js +11 -0
  149. package/dist/cjs/PivotViewer/components/Spinner.js.map +1 -0
  150. package/dist/cjs/PivotViewer/components/Toolbar.js +12 -0
  151. package/dist/cjs/PivotViewer/components/Toolbar.js.map +1 -0
  152. package/dist/cjs/PivotViewer/components/ToolbarContainer.js +11 -0
  153. package/dist/cjs/PivotViewer/components/ToolbarContainer.js.map +1 -0
  154. package/dist/cjs/PivotViewer/components/pivot/animation.js +82 -0
  155. package/dist/cjs/PivotViewer/components/pivot/animation.js.map +1 -0
  156. package/dist/cjs/PivotViewer/components/pivot/buckets.js +124 -0
  157. package/dist/cjs/PivotViewer/components/pivot/buckets.js.map +1 -0
  158. package/dist/cjs/PivotViewer/components/pivot/colorResolver.js +64 -0
  159. package/dist/cjs/PivotViewer/components/pivot/colorResolver.js.map +1 -0
  160. package/dist/cjs/PivotViewer/components/pivot/constants.js +19 -0
  161. package/dist/cjs/PivotViewer/components/pivot/constants.js.map +1 -0
  162. package/dist/cjs/PivotViewer/components/pivot/sprites.js +227 -0
  163. package/dist/cjs/PivotViewer/components/pivot/sprites.js.map +1 -0
  164. package/dist/cjs/PivotViewer/components/pivot/visibility.js +223 -0
  165. package/dist/cjs/PivotViewer/components/pivot/visibility.js.map +1 -0
  166. package/dist/cjs/PivotViewer/constants.js +16 -0
  167. package/dist/cjs/PivotViewer/constants.js.map +1 -0
  168. package/dist/cjs/PivotViewer/engine/layout.js +95 -0
  169. package/dist/cjs/PivotViewer/engine/layout.js.map +1 -0
  170. package/dist/cjs/PivotViewer/engine/store.js +336 -0
  171. package/dist/cjs/PivotViewer/engine/store.js.map +1 -0
  172. package/dist/cjs/PivotViewer/hooks/useContainerDimensions.js +30 -0
  173. package/dist/cjs/PivotViewer/hooks/useContainerDimensions.js.map +1 -0
  174. package/dist/cjs/PivotViewer/hooks/useDimensionState.js +43 -0
  175. package/dist/cjs/PivotViewer/hooks/useDimensionState.js.map +1 -0
  176. package/dist/cjs/PivotViewer/hooks/useFilterOptions.js +24 -0
  177. package/dist/cjs/PivotViewer/hooks/useFilterOptions.js.map +1 -0
  178. package/dist/cjs/PivotViewer/hooks/useFilterState.js +96 -0
  179. package/dist/cjs/PivotViewer/hooks/useFilterState.js.map +1 -0
  180. package/dist/cjs/PivotViewer/hooks/usePanning.js +120 -0
  181. package/dist/cjs/PivotViewer/hooks/usePanning.js.map +1 -0
  182. package/dist/cjs/PivotViewer/hooks/usePivotEngine.js +183 -0
  183. package/dist/cjs/PivotViewer/hooks/usePivotEngine.js.map +1 -0
  184. package/dist/cjs/PivotViewer/hooks/useWheelZoom.js +93 -0
  185. package/dist/cjs/PivotViewer/hooks/useWheelZoom.js.map +1 -0
  186. package/dist/cjs/PivotViewer/hooks/useZoomState.js +31 -0
  187. package/dist/cjs/PivotViewer/hooks/useZoomState.js.map +1 -0
  188. package/dist/cjs/PivotViewer/index.js +9 -0
  189. package/dist/cjs/PivotViewer/index.js.map +1 -0
  190. package/dist/cjs/PivotViewer/utils/animations.js +144 -0
  191. package/dist/cjs/PivotViewer/utils/animations.js.map +1 -0
  192. package/dist/cjs/PivotViewer/utils/constants.js +12 -0
  193. package/dist/cjs/PivotViewer/utils/constants.js.map +1 -0
  194. package/dist/cjs/PivotViewer/utils/selection.js +136 -0
  195. package/dist/cjs/PivotViewer/utils/selection.js.map +1 -0
  196. package/dist/cjs/PivotViewer/utils/utils.js +150 -0
  197. package/dist/cjs/PivotViewer/utils/utils.js.map +1 -0
  198. package/dist/cjs/TimeMachine/EventsView.js +57 -0
  199. package/dist/cjs/TimeMachine/EventsView.js.map +1 -0
  200. package/dist/cjs/TimeMachine/Properties.js +58 -0
  201. package/dist/cjs/TimeMachine/Properties.js.map +1 -0
  202. package/dist/cjs/TimeMachine/ReadModelView.js +40 -0
  203. package/dist/cjs/TimeMachine/ReadModelView.js.map +1 -0
  204. package/dist/cjs/TimeMachine/TimeMachine.js +98 -0
  205. package/dist/cjs/TimeMachine/TimeMachine.js.map +1 -0
  206. package/dist/cjs/TimeMachine/index.js +14 -0
  207. package/dist/cjs/TimeMachine/index.js.map +1 -0
  208. package/dist/cjs/index.js +22 -0
  209. package/dist/cjs/index.js.map +1 -0
  210. package/dist/cjs/useOverlayZIndex.js +24 -0
  211. package/dist/cjs/useOverlayZIndex.js.map +1 -0
  212. package/dist/esm/CommandDialog/CommandDialog.d.ts +45 -0
  213. package/dist/esm/CommandDialog/CommandDialog.d.ts.map +1 -0
  214. package/dist/esm/CommandDialog/CommandDialog.js +68 -0
  215. package/dist/esm/CommandDialog/CommandDialog.js.map +1 -0
  216. package/dist/esm/CommandDialog/CommandDialog.stories.d.ts +7 -0
  217. package/dist/esm/CommandDialog/CommandDialog.stories.d.ts.map +1 -0
  218. package/dist/esm/CommandDialog/CommandDialog.stories.js +12 -0
  219. package/dist/esm/CommandDialog/CommandDialog.stories.js.map +1 -0
  220. package/dist/esm/CommandDialog/index.d.ts +2 -0
  221. package/dist/esm/CommandDialog/index.d.ts.map +1 -0
  222. package/dist/esm/CommandDialog/index.js +2 -0
  223. package/dist/esm/CommandDialog/index.js.map +1 -0
  224. package/dist/esm/CommandForm/CommandForm.d.ts +49 -0
  225. package/dist/esm/CommandForm/CommandForm.d.ts.map +1 -0
  226. package/dist/esm/CommandForm/CommandForm.js +174 -0
  227. package/dist/esm/CommandForm/CommandForm.js.map +1 -0
  228. package/dist/esm/CommandForm/CommandForm.stories.d.ts +7 -0
  229. package/dist/esm/CommandForm/CommandForm.stories.d.ts.map +1 -0
  230. package/dist/esm/CommandForm/CommandForm.stories.js +12 -0
  231. package/dist/esm/CommandForm/CommandForm.stories.js.map +1 -0
  232. package/dist/esm/CommandForm/CommandFormField.d.ts +18 -0
  233. package/dist/esm/CommandForm/CommandFormField.d.ts.map +1 -0
  234. package/dist/esm/CommandForm/CommandFormField.js +9 -0
  235. package/dist/esm/CommandForm/CommandFormField.js.map +1 -0
  236. package/dist/esm/CommandForm/CommandFormFields.d.ts +11 -0
  237. package/dist/esm/CommandForm/CommandFormFields.d.ts.map +1 -0
  238. package/dist/esm/CommandForm/CommandFormFields.js +65 -0
  239. package/dist/esm/CommandForm/CommandFormFields.js.map +1 -0
  240. package/dist/esm/CommandForm/DatePickerField.d.ts +20 -0
  241. package/dist/esm/CommandForm/DatePickerField.d.ts.map +1 -0
  242. package/dist/esm/CommandForm/DatePickerField.js +29 -0
  243. package/dist/esm/CommandForm/DatePickerField.js.map +1 -0
  244. package/dist/esm/CommandForm/DropdownField.d.ts +24 -0
  245. package/dist/esm/CommandForm/DropdownField.d.ts.map +1 -0
  246. package/dist/esm/CommandForm/DropdownField.js +29 -0
  247. package/dist/esm/CommandForm/DropdownField.js.map +1 -0
  248. package/dist/esm/CommandForm/InputTextField.d.ts +20 -0
  249. package/dist/esm/CommandForm/InputTextField.d.ts.map +1 -0
  250. package/dist/esm/CommandForm/InputTextField.js +30 -0
  251. package/dist/esm/CommandForm/InputTextField.js.map +1 -0
  252. package/dist/esm/CommandForm/SliderField.d.ts +23 -0
  253. package/dist/esm/CommandForm/SliderField.d.ts.map +1 -0
  254. package/dist/esm/CommandForm/SliderField.js +32 -0
  255. package/dist/esm/CommandForm/SliderField.js.map +1 -0
  256. package/dist/esm/CommandForm/index.d.ts +8 -0
  257. package/dist/esm/CommandForm/index.d.ts.map +1 -0
  258. package/dist/esm/CommandForm/index.js +8 -0
  259. package/dist/esm/CommandForm/index.js.map +1 -0
  260. package/dist/esm/Common/ErrorBoundary.d.ts +16 -0
  261. package/dist/esm/Common/ErrorBoundary.d.ts.map +1 -0
  262. package/dist/esm/Common/ErrorBoundary.js +21 -0
  263. package/dist/esm/Common/ErrorBoundary.js.map +1 -0
  264. package/dist/esm/Common/ErrorBoundary.stories.d.ts +8 -0
  265. package/dist/esm/Common/ErrorBoundary.stories.d.ts.map +1 -0
  266. package/dist/esm/Common/ErrorBoundary.stories.js +6 -0
  267. package/dist/esm/Common/ErrorBoundary.stories.js.map +1 -0
  268. package/dist/esm/Common/FormElement.d.ts +6 -0
  269. package/dist/esm/Common/FormElement.d.ts.map +1 -0
  270. package/dist/esm/Common/FormElement.js +5 -0
  271. package/dist/esm/Common/FormElement.js.map +1 -0
  272. package/dist/esm/Common/FormElement.stories.d.ts +8 -0
  273. package/dist/esm/Common/FormElement.stories.d.ts.map +1 -0
  274. package/dist/esm/Common/FormElement.stories.js +6 -0
  275. package/dist/esm/Common/FormElement.stories.js.map +1 -0
  276. package/dist/esm/Common/Page.d.ts +8 -0
  277. package/dist/esm/Common/Page.d.ts.map +1 -0
  278. package/dist/esm/Common/Page.js +8 -0
  279. package/dist/esm/Common/Page.js.map +1 -0
  280. package/dist/esm/Common/Page.stories.d.ts +8 -0
  281. package/dist/esm/Common/Page.stories.d.ts.map +1 -0
  282. package/dist/esm/Common/Page.stories.js +6 -0
  283. package/dist/esm/Common/Page.stories.js.map +1 -0
  284. package/dist/esm/Common/index.d.ts +4 -0
  285. package/dist/esm/Common/index.d.ts.map +1 -0
  286. package/dist/esm/Common/index.js +4 -0
  287. package/dist/esm/Common/index.js.map +1 -0
  288. package/dist/esm/DataPage/DataPage.d.ts +41 -0
  289. package/dist/esm/DataPage/DataPage.d.ts.map +1 -0
  290. package/dist/esm/DataPage/DataPage.js +59 -0
  291. package/dist/esm/DataPage/DataPage.js.map +1 -0
  292. package/dist/esm/DataPage/DataPage.stories.d.ts +8 -0
  293. package/dist/esm/DataPage/DataPage.stories.d.ts.map +1 -0
  294. package/dist/esm/DataPage/DataPage.stories.js +6 -0
  295. package/dist/esm/DataPage/DataPage.stories.js.map +1 -0
  296. package/dist/esm/DataPage/index.d.ts +2 -0
  297. package/dist/esm/DataPage/index.d.ts.map +1 -0
  298. package/dist/esm/DataPage/index.js +2 -0
  299. package/dist/esm/DataPage/index.js.map +1 -0
  300. package/dist/esm/DataTables/DataTableForObservableQuery.d.ts +17 -0
  301. package/dist/esm/DataTables/DataTableForObservableQuery.d.ts.map +1 -0
  302. package/dist/esm/DataTables/DataTableForObservableQuery.js +15 -0
  303. package/dist/esm/DataTables/DataTableForObservableQuery.js.map +1 -0
  304. package/dist/esm/DataTables/DataTableForObservableQuery.stories.d.ts +8 -0
  305. package/dist/esm/DataTables/DataTableForObservableQuery.stories.d.ts.map +1 -0
  306. package/dist/esm/DataTables/DataTableForObservableQuery.stories.js +6 -0
  307. package/dist/esm/DataTables/DataTableForObservableQuery.stories.js.map +1 -0
  308. package/dist/esm/DataTables/DataTableForQuery.d.ts +17 -0
  309. package/dist/esm/DataTables/DataTableForQuery.d.ts.map +1 -0
  310. package/dist/esm/DataTables/DataTableForQuery.js +15 -0
  311. package/dist/esm/DataTables/DataTableForQuery.js.map +1 -0
  312. package/dist/esm/DataTables/DataTableForQuery.stories.d.ts +8 -0
  313. package/dist/esm/DataTables/DataTableForQuery.stories.d.ts.map +1 -0
  314. package/dist/esm/DataTables/DataTableForQuery.stories.js +6 -0
  315. package/dist/esm/DataTables/DataTableForQuery.stories.js.map +1 -0
  316. package/dist/esm/DataTables/index.d.ts +3 -0
  317. package/dist/esm/DataTables/index.d.ts.map +1 -0
  318. package/dist/esm/DataTables/index.js +3 -0
  319. package/dist/esm/DataTables/index.js.map +1 -0
  320. package/dist/esm/Dialogs/BusyIndicatorDialog.d.ts +3 -0
  321. package/dist/esm/Dialogs/BusyIndicatorDialog.d.ts.map +1 -0
  322. package/dist/esm/Dialogs/BusyIndicatorDialog.js +11 -0
  323. package/dist/esm/Dialogs/BusyIndicatorDialog.js.map +1 -0
  324. package/dist/esm/Dialogs/BusyIndicatorDialog.stories.d.ts +7 -0
  325. package/dist/esm/Dialogs/BusyIndicatorDialog.stories.d.ts.map +1 -0
  326. package/dist/esm/Dialogs/BusyIndicatorDialog.stories.js +15 -0
  327. package/dist/esm/Dialogs/BusyIndicatorDialog.stories.js.map +1 -0
  328. package/dist/esm/Dialogs/ConfirmationDialog.d.ts +2 -0
  329. package/dist/esm/Dialogs/ConfirmationDialog.d.ts.map +1 -0
  330. package/dist/esm/Dialogs/ConfirmationDialog.js +31 -0
  331. package/dist/esm/Dialogs/ConfirmationDialog.js.map +1 -0
  332. package/dist/esm/Dialogs/ConfirmationDialog.stories.d.ts +7 -0
  333. package/dist/esm/Dialogs/ConfirmationDialog.stories.d.ts.map +1 -0
  334. package/dist/esm/Dialogs/ConfirmationDialog.stories.js +20 -0
  335. package/dist/esm/Dialogs/ConfirmationDialog.stories.js.map +1 -0
  336. package/dist/esm/Dialogs/index.d.ts +3 -0
  337. package/dist/esm/Dialogs/index.d.ts.map +1 -0
  338. package/dist/esm/Dialogs/index.js +3 -0
  339. package/dist/esm/Dialogs/index.js.map +1 -0
  340. package/dist/esm/Dropdown/Dropdown.d.ts +5 -0
  341. package/dist/esm/Dropdown/Dropdown.d.ts.map +1 -0
  342. package/dist/esm/Dropdown/Dropdown.js +13 -0
  343. package/dist/esm/Dropdown/Dropdown.js.map +1 -0
  344. package/dist/esm/Dropdown/index.d.ts +2 -0
  345. package/dist/esm/Dropdown/index.d.ts.map +1 -0
  346. package/dist/esm/Dropdown/index.js +2 -0
  347. package/dist/esm/Dropdown/index.js.map +1 -0
  348. package/dist/esm/PivotViewer/PivotViewer.d.ts +4 -0
  349. package/dist/esm/PivotViewer/PivotViewer.d.ts.map +1 -0
  350. package/dist/esm/PivotViewer/PivotViewer.js +523 -0
  351. package/dist/esm/PivotViewer/PivotViewer.js.map +1 -0
  352. package/dist/esm/PivotViewer/PivotViewer.stories.d.ts +7 -0
  353. package/dist/esm/PivotViewer/PivotViewer.stories.d.ts.map +1 -0
  354. package/dist/esm/PivotViewer/PivotViewer.stories.js +12 -0
  355. package/dist/esm/PivotViewer/PivotViewer.stories.js.map +1 -0
  356. package/dist/esm/PivotViewer/components/AxisLabels.d.ts +13 -0
  357. package/dist/esm/PivotViewer/components/AxisLabels.d.ts.map +1 -0
  358. package/dist/esm/PivotViewer/components/AxisLabels.js +25 -0
  359. package/dist/esm/PivotViewer/components/AxisLabels.js.map +1 -0
  360. package/dist/esm/PivotViewer/components/DetailPanel.d.ts +6 -0
  361. package/dist/esm/PivotViewer/components/DetailPanel.d.ts.map +1 -0
  362. package/dist/esm/PivotViewer/components/DetailPanel.js +33 -0
  363. package/dist/esm/PivotViewer/components/DetailPanel.js.map +1 -0
  364. package/dist/esm/PivotViewer/components/FilterPanel.d.ts +27 -0
  365. package/dist/esm/PivotViewer/components/FilterPanel.d.ts.map +1 -0
  366. package/dist/esm/PivotViewer/components/FilterPanel.js +57 -0
  367. package/dist/esm/PivotViewer/components/FilterPanel.js.map +1 -0
  368. package/dist/esm/PivotViewer/components/FilterPanelContainer.d.ts +4 -0
  369. package/dist/esm/PivotViewer/components/FilterPanelContainer.d.ts.map +1 -0
  370. package/dist/esm/PivotViewer/components/FilterPanelContainer.js +9 -0
  371. package/dist/esm/PivotViewer/components/FilterPanelContainer.js.map +1 -0
  372. package/dist/esm/PivotViewer/components/PivotCanvas.d.ts +29 -0
  373. package/dist/esm/PivotViewer/components/PivotCanvas.d.ts.map +1 -0
  374. package/dist/esm/PivotViewer/components/PivotCanvas.js +373 -0
  375. package/dist/esm/PivotViewer/components/PivotCanvas.js.map +1 -0
  376. package/dist/esm/PivotViewer/components/PivotViewerMain.d.ts +43 -0
  377. package/dist/esm/PivotViewer/components/PivotViewerMain.d.ts.map +1 -0
  378. package/dist/esm/PivotViewer/components/PivotViewerMain.js +79 -0
  379. package/dist/esm/PivotViewer/components/PivotViewerMain.js.map +1 -0
  380. package/dist/esm/PivotViewer/components/RangeHistogramFilter.d.ts +11 -0
  381. package/dist/esm/PivotViewer/components/RangeHistogramFilter.d.ts.map +1 -0
  382. package/dist/esm/PivotViewer/components/RangeHistogramFilter.js +122 -0
  383. package/dist/esm/PivotViewer/components/RangeHistogramFilter.js.map +1 -0
  384. package/dist/esm/PivotViewer/components/Spinner.d.ts +3 -0
  385. package/dist/esm/PivotViewer/components/Spinner.d.ts.map +1 -0
  386. package/dist/esm/PivotViewer/components/Spinner.js +9 -0
  387. package/dist/esm/PivotViewer/components/Spinner.js.map +1 -0
  388. package/dist/esm/PivotViewer/components/Toolbar.d.ts +21 -0
  389. package/dist/esm/PivotViewer/components/Toolbar.d.ts.map +1 -0
  390. package/dist/esm/PivotViewer/components/Toolbar.js +10 -0
  391. package/dist/esm/PivotViewer/components/Toolbar.js.map +1 -0
  392. package/dist/esm/PivotViewer/components/ToolbarContainer.d.ts +4 -0
  393. package/dist/esm/PivotViewer/components/ToolbarContainer.d.ts.map +1 -0
  394. package/dist/esm/PivotViewer/components/ToolbarContainer.js +9 -0
  395. package/dist/esm/PivotViewer/components/ToolbarContainer.js.map +1 -0
  396. package/dist/esm/PivotViewer/components/index.d.ts +9 -0
  397. package/dist/esm/PivotViewer/components/index.d.ts.map +1 -0
  398. package/dist/esm/PivotViewer/components/index.js +8 -0
  399. package/dist/esm/PivotViewer/components/index.js.map +1 -0
  400. package/dist/esm/PivotViewer/components/pivot/animation.d.ts +29 -0
  401. package/dist/esm/PivotViewer/components/pivot/animation.d.ts.map +1 -0
  402. package/dist/esm/PivotViewer/components/pivot/animation.js +79 -0
  403. package/dist/esm/PivotViewer/components/pivot/animation.js.map +1 -0
  404. package/dist/esm/PivotViewer/components/pivot/buckets.d.ts +6 -0
  405. package/dist/esm/PivotViewer/components/pivot/buckets.d.ts.map +1 -0
  406. package/dist/esm/PivotViewer/components/pivot/buckets.js +102 -0
  407. package/dist/esm/PivotViewer/components/pivot/buckets.js.map +1 -0
  408. package/dist/esm/PivotViewer/components/pivot/colorResolver.d.ts +4 -0
  409. package/dist/esm/PivotViewer/components/pivot/colorResolver.d.ts.map +1 -0
  410. package/dist/esm/PivotViewer/components/pivot/colorResolver.js +61 -0
  411. package/dist/esm/PivotViewer/components/pivot/colorResolver.js.map +1 -0
  412. package/dist/esm/PivotViewer/components/pivot/constants.d.ts +38 -0
  413. package/dist/esm/PivotViewer/components/pivot/constants.d.ts.map +1 -0
  414. package/dist/esm/PivotViewer/components/pivot/constants.js +14 -0
  415. package/dist/esm/PivotViewer/components/pivot/constants.js.map +1 -0
  416. package/dist/esm/PivotViewer/components/pivot/sprites.d.ts +6 -0
  417. package/dist/esm/PivotViewer/components/pivot/sprites.d.ts.map +1 -0
  418. package/dist/esm/PivotViewer/components/pivot/sprites.js +203 -0
  419. package/dist/esm/PivotViewer/components/pivot/sprites.js.map +1 -0
  420. package/dist/esm/PivotViewer/components/pivot/visibility.d.ts +26 -0
  421. package/dist/esm/PivotViewer/components/pivot/visibility.d.ts.map +1 -0
  422. package/dist/esm/PivotViewer/components/pivot/visibility.js +221 -0
  423. package/dist/esm/PivotViewer/components/pivot/visibility.js.map +1 -0
  424. package/dist/esm/PivotViewer/constants.d.ts +7 -0
  425. package/dist/esm/PivotViewer/constants.d.ts.map +1 -0
  426. package/dist/esm/PivotViewer/constants.js +9 -0
  427. package/dist/esm/PivotViewer/constants.js.map +1 -0
  428. package/dist/esm/PivotViewer/engine/layout.d.ts +3 -0
  429. package/dist/esm/PivotViewer/engine/layout.d.ts.map +1 -0
  430. package/dist/esm/PivotViewer/engine/layout.js +93 -0
  431. package/dist/esm/PivotViewer/engine/layout.js.map +1 -0
  432. package/dist/esm/PivotViewer/engine/pivot.worker.d.ts +2 -0
  433. package/dist/esm/PivotViewer/engine/pivot.worker.d.ts.map +1 -0
  434. package/dist/esm/PivotViewer/engine/pivot.worker.js +58 -0
  435. package/dist/esm/PivotViewer/engine/pivot.worker.js.map +1 -0
  436. package/dist/esm/PivotViewer/engine/store.d.ts +9 -0
  437. package/dist/esm/PivotViewer/engine/store.d.ts.map +1 -0
  438. package/dist/esm/PivotViewer/engine/store.js +328 -0
  439. package/dist/esm/PivotViewer/engine/store.js.map +1 -0
  440. package/dist/esm/PivotViewer/engine/types.d.ts +125 -0
  441. package/dist/esm/PivotViewer/engine/types.d.ts.map +1 -0
  442. package/dist/esm/PivotViewer/engine/types.js +2 -0
  443. package/dist/esm/PivotViewer/engine/types.js.map +1 -0
  444. package/dist/esm/PivotViewer/hooks/index.d.ts +11 -0
  445. package/dist/esm/PivotViewer/hooks/index.d.ts.map +1 -0
  446. package/dist/esm/PivotViewer/hooks/index.js +11 -0
  447. package/dist/esm/PivotViewer/hooks/index.js.map +1 -0
  448. package/dist/esm/PivotViewer/hooks/useContainerDimensions.d.ts +5 -0
  449. package/dist/esm/PivotViewer/hooks/useContainerDimensions.d.ts.map +1 -0
  450. package/dist/esm/PivotViewer/hooks/useContainerDimensions.js +28 -0
  451. package/dist/esm/PivotViewer/hooks/useContainerDimensions.js.map +1 -0
  452. package/dist/esm/PivotViewer/hooks/useDimensionState.d.ts +11 -0
  453. package/dist/esm/PivotViewer/hooks/useDimensionState.d.ts.map +1 -0
  454. package/dist/esm/PivotViewer/hooks/useDimensionState.js +41 -0
  455. package/dist/esm/PivotViewer/hooks/useDimensionState.js.map +1 -0
  456. package/dist/esm/PivotViewer/hooks/useFilterOptions.d.ts +12 -0
  457. package/dist/esm/PivotViewer/hooks/useFilterOptions.d.ts.map +1 -0
  458. package/dist/esm/PivotViewer/hooks/useFilterOptions.js +22 -0
  459. package/dist/esm/PivotViewer/hooks/useFilterOptions.js.map +1 -0
  460. package/dist/esm/PivotViewer/hooks/useFilterPanelDrag.d.ts +9 -0
  461. package/dist/esm/PivotViewer/hooks/useFilterPanelDrag.d.ts.map +1 -0
  462. package/dist/esm/PivotViewer/hooks/useFilterPanelDrag.js +42 -0
  463. package/dist/esm/PivotViewer/hooks/useFilterPanelDrag.js.map +1 -0
  464. package/dist/esm/PivotViewer/hooks/useFilterState.d.ts +11 -0
  465. package/dist/esm/PivotViewer/hooks/useFilterState.d.ts.map +1 -0
  466. package/dist/esm/PivotViewer/hooks/useFilterState.js +94 -0
  467. package/dist/esm/PivotViewer/hooks/useFilterState.js.map +1 -0
  468. package/dist/esm/PivotViewer/hooks/useFilteredData.d.ts +9 -0
  469. package/dist/esm/PivotViewer/hooks/useFilteredData.d.ts.map +1 -0
  470. package/dist/esm/PivotViewer/hooks/useFilteredData.js +85 -0
  471. package/dist/esm/PivotViewer/hooks/useFilteredData.js.map +1 -0
  472. package/dist/esm/PivotViewer/hooks/usePanning.d.ts +10 -0
  473. package/dist/esm/PivotViewer/hooks/usePanning.d.ts.map +1 -0
  474. package/dist/esm/PivotViewer/hooks/usePanning.js +118 -0
  475. package/dist/esm/PivotViewer/hooks/usePanning.js.map +1 -0
  476. package/dist/esm/PivotViewer/hooks/usePivotEngine.d.ts +14 -0
  477. package/dist/esm/PivotViewer/hooks/usePivotEngine.d.ts.map +1 -0
  478. package/dist/esm/PivotViewer/hooks/usePivotEngine.js +180 -0
  479. package/dist/esm/PivotViewer/hooks/usePivotEngine.js.map +1 -0
  480. package/dist/esm/PivotViewer/hooks/useSelectedItem.d.ts +8 -0
  481. package/dist/esm/PivotViewer/hooks/useSelectedItem.d.ts.map +1 -0
  482. package/dist/esm/PivotViewer/hooks/useSelectedItem.js +322 -0
  483. package/dist/esm/PivotViewer/hooks/useSelectedItem.js.map +1 -0
  484. package/dist/esm/PivotViewer/hooks/useWheelZoom.d.ts +2 -0
  485. package/dist/esm/PivotViewer/hooks/useWheelZoom.d.ts.map +1 -0
  486. package/dist/esm/PivotViewer/hooks/useWheelZoom.js +91 -0
  487. package/dist/esm/PivotViewer/hooks/useWheelZoom.js.map +1 -0
  488. package/dist/esm/PivotViewer/hooks/useZoomState.d.ts +9 -0
  489. package/dist/esm/PivotViewer/hooks/useZoomState.d.ts.map +1 -0
  490. package/dist/esm/PivotViewer/hooks/useZoomState.js +29 -0
  491. package/dist/esm/PivotViewer/hooks/useZoomState.js.map +1 -0
  492. package/dist/esm/PivotViewer/index.d.ts +4 -0
  493. package/dist/esm/PivotViewer/index.d.ts.map +1 -0
  494. package/dist/esm/PivotViewer/index.js +2 -0
  495. package/dist/esm/PivotViewer/index.js.map +1 -0
  496. package/dist/esm/PivotViewer/types.d.ts +47 -0
  497. package/dist/esm/PivotViewer/types.d.ts.map +1 -0
  498. package/dist/esm/PivotViewer/types.js +2 -0
  499. package/dist/esm/PivotViewer/types.js.map +1 -0
  500. package/dist/esm/PivotViewer/utils/animations.d.ts +54 -0
  501. package/dist/esm/PivotViewer/utils/animations.d.ts.map +1 -0
  502. package/dist/esm/PivotViewer/utils/animations.js +139 -0
  503. package/dist/esm/PivotViewer/utils/animations.js.map +1 -0
  504. package/dist/esm/PivotViewer/utils/constants.d.ts +13 -0
  505. package/dist/esm/PivotViewer/utils/constants.d.ts.map +1 -0
  506. package/dist/esm/PivotViewer/utils/constants.js +7 -0
  507. package/dist/esm/PivotViewer/utils/constants.js.map +1 -0
  508. package/dist/esm/PivotViewer/utils/index.d.ts +4 -0
  509. package/dist/esm/PivotViewer/utils/index.d.ts.map +1 -0
  510. package/dist/esm/PivotViewer/utils/index.js +4 -0
  511. package/dist/esm/PivotViewer/utils/index.js.map +1 -0
  512. package/dist/esm/PivotViewer/utils/selection.d.ts +50 -0
  513. package/dist/esm/PivotViewer/utils/selection.d.ts.map +1 -0
  514. package/dist/esm/PivotViewer/utils/selection.js +134 -0
  515. package/dist/esm/PivotViewer/utils/selection.js.map +1 -0
  516. package/dist/esm/PivotViewer/utils/utils.d.ts +24 -0
  517. package/dist/esm/PivotViewer/utils/utils.d.ts.map +1 -0
  518. package/dist/esm/PivotViewer/utils/utils.js +138 -0
  519. package/dist/esm/PivotViewer/utils/utils.js.map +1 -0
  520. package/dist/esm/TimeMachine/EventsView.d.ts +9 -0
  521. package/dist/esm/TimeMachine/EventsView.d.ts.map +1 -0
  522. package/dist/esm/TimeMachine/EventsView.js +55 -0
  523. package/dist/esm/TimeMachine/EventsView.js.map +1 -0
  524. package/dist/esm/TimeMachine/EventsView.stories.d.ts +8 -0
  525. package/dist/esm/TimeMachine/EventsView.stories.d.ts.map +1 -0
  526. package/dist/esm/TimeMachine/EventsView.stories.js +6 -0
  527. package/dist/esm/TimeMachine/EventsView.stories.js.map +1 -0
  528. package/dist/esm/TimeMachine/Properties.d.ts +9 -0
  529. package/dist/esm/TimeMachine/Properties.d.ts.map +1 -0
  530. package/dist/esm/TimeMachine/Properties.js +56 -0
  531. package/dist/esm/TimeMachine/Properties.js.map +1 -0
  532. package/dist/esm/TimeMachine/Properties.stories.d.ts +8 -0
  533. package/dist/esm/TimeMachine/Properties.stories.d.ts.map +1 -0
  534. package/dist/esm/TimeMachine/Properties.stories.js +6 -0
  535. package/dist/esm/TimeMachine/Properties.stories.js.map +1 -0
  536. package/dist/esm/TimeMachine/ReadModelView.d.ts +12 -0
  537. package/dist/esm/TimeMachine/ReadModelView.d.ts.map +1 -0
  538. package/dist/esm/TimeMachine/ReadModelView.js +38 -0
  539. package/dist/esm/TimeMachine/ReadModelView.js.map +1 -0
  540. package/dist/esm/TimeMachine/ReadModelView.stories.d.ts +8 -0
  541. package/dist/esm/TimeMachine/ReadModelView.stories.d.ts.map +1 -0
  542. package/dist/esm/TimeMachine/ReadModelView.stories.js +6 -0
  543. package/dist/esm/TimeMachine/ReadModelView.stories.js.map +1 -0
  544. package/dist/esm/TimeMachine/TimeMachine.d.ts +12 -0
  545. package/dist/esm/TimeMachine/TimeMachine.d.ts.map +1 -0
  546. package/dist/esm/TimeMachine/TimeMachine.js +93 -0
  547. package/dist/esm/TimeMachine/TimeMachine.js.map +1 -0
  548. package/dist/esm/TimeMachine/TimeMachine.stories.d.ts +8 -0
  549. package/dist/esm/TimeMachine/TimeMachine.stories.d.ts.map +1 -0
  550. package/dist/esm/TimeMachine/TimeMachine.stories.js +6 -0
  551. package/dist/esm/TimeMachine/TimeMachine.stories.js.map +1 -0
  552. package/dist/esm/TimeMachine/index.d.ts +6 -0
  553. package/dist/esm/TimeMachine/index.d.ts.map +1 -0
  554. package/dist/esm/TimeMachine/index.js +5 -0
  555. package/dist/esm/TimeMachine/index.js.map +1 -0
  556. package/dist/esm/TimeMachine/types.d.ts +19 -0
  557. package/dist/esm/TimeMachine/types.d.ts.map +1 -0
  558. package/dist/esm/TimeMachine/types.js +2 -0
  559. package/dist/esm/TimeMachine/types.js.map +1 -0
  560. package/dist/esm/index.d.ts +10 -0
  561. package/dist/esm/index.d.ts.map +1 -0
  562. package/dist/esm/index.js +17 -0
  563. package/dist/esm/index.js.map +1 -0
  564. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  565. package/dist/esm/useOverlayZIndex.d.ts +2 -0
  566. package/dist/esm/useOverlayZIndex.d.ts.map +1 -0
  567. package/dist/esm/useOverlayZIndex.js +22 -0
  568. package/dist/esm/useOverlayZIndex.js.map +1 -0
  569. package/dist/esm/vite.config.d.ts +3 -0
  570. package/dist/esm/vite.config.d.ts.map +1 -0
  571. package/dist/esm/vite.config.js +76 -0
  572. package/dist/esm/vite.config.js.map +1 -0
  573. package/global.d.ts +11 -0
  574. package/index.ts +22 -0
  575. package/package.json +160 -0
  576. package/useOverlayZIndex.ts +32 -0
  577. package/vite.config.ts +80 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SliderField.d.ts","sourceRoot":"","sources":["../../../CommandForm/SliderField.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,MAAM,WAAW,gBAAgB,CAAC,QAAQ;IACtC,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC1B,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,WAAW;KAAI,QAAQ,SAAU,gBAAgB,CAAC,QAAQ,CAAC;;CAwCvE,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { useState, useEffect } from 'react';
3
+ import { Slider } from 'primereact/slider';
4
+ import { useCommandFormContext } from './CommandForm.js';
5
+
6
+ const SliderField = (props) => {
7
+ const [localValue, setLocalValue] = useState(props.currentValue ?? 0);
8
+ const required = props.required ?? true;
9
+ const min = props.min ?? 0;
10
+ const max = props.max ?? 1;
11
+ const step = props.step ?? 0.01;
12
+ const isValid = !required || (localValue >= min && localValue <= max);
13
+ const { setFieldValidity } = useCommandFormContext();
14
+ useEffect(() => {
15
+ setLocalValue(props.currentValue ?? 0);
16
+ }, [props.currentValue]);
17
+ useEffect(() => {
18
+ if (props.fieldName) {
19
+ setFieldValidity(props.fieldName, isValid);
20
+ }
21
+ }, [isValid, props.fieldName, setFieldValidity]);
22
+ const handleChange = (e) => {
23
+ const newValue = e.value;
24
+ setLocalValue(newValue);
25
+ props.onValueChange?.(newValue);
26
+ };
27
+ return (jsxs("div", { className: "p-inputtext w-full flex align-items-center gap-3", style: { display: 'flex', alignItems: 'center', borderTopLeftRadius: 0, borderBottomLeftRadius: 0 }, children: [jsx(Slider, { value: localValue, onChange: handleChange, min: min, max: max, step: step, className: "flex-1 ml-2" }), jsx("span", { className: "font-semibold", style: { minWidth: '3rem', textAlign: 'right' }, children: localValue.toFixed(2) })] }));
28
+ };
29
+ SliderField.displayName = 'CommandFormField';
30
+
31
+ export { SliderField };
32
+ //# sourceMappingURL=SliderField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SliderField.js","sources":["../../../CommandForm/SliderField.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 { PropertyAccessor } from '@cratis/fundamentals';\nimport { PropertyDescriptor } from '@cratis/arc/reflection';\nimport React, { useState, useEffect } from 'react';\nimport { Slider, SliderChangeEvent } from 'primereact/slider';\nimport { useCommandFormContext } from './CommandForm';\n\nexport interface SliderFieldProps<TCommand> {\n icon?: React.ReactElement;\n value: PropertyAccessor<TCommand>;\n onChange?: (value: unknown) => void;\n currentValue?: number;\n onValueChange?: (value: number) => void;\n required?: boolean;\n title?: string;\n description?: string;\n propertyDescriptor?: PropertyDescriptor;\n fieldName?: string;\n min?: number;\n max?: number;\n step?: number;\n}\n\nexport const SliderField = <TCommand,>(props: SliderFieldProps<TCommand>) => {\n const [localValue, setLocalValue] = useState(props.currentValue ?? 0);\n const required = props.required ?? true;\n const min = props.min ?? 0;\n const max = props.max ?? 1;\n const step = props.step ?? 0.01;\n const isValid = !required || (localValue >= min && localValue <= max);\n const { setFieldValidity } = useCommandFormContext();\n\n useEffect(() => {\n setLocalValue(props.currentValue ?? 0);\n }, [props.currentValue]);\n\n useEffect(() => {\n if (props.fieldName) {\n setFieldValidity(props.fieldName, isValid);\n }\n }, [isValid, props.fieldName, setFieldValidity]);\n\n const handleChange = (e: SliderChangeEvent) => {\n const newValue = e.value as number;\n setLocalValue(newValue);\n props.onValueChange?.(newValue);\n };\n\n return (\n <div className=\"p-inputtext w-full flex align-items-center gap-3\" style={{ display: 'flex', alignItems: 'center', borderTopLeftRadius: 0, borderBottomLeftRadius: 0 }}>\n <Slider\n value={localValue}\n onChange={handleChange}\n min={min}\n max={max}\n step={step}\n className=\"flex-1 ml-2\"\n />\n <span className=\"font-semibold\" style={{ minWidth: '3rem', textAlign: 'right' }}>\n {localValue.toFixed(2)}\n </span>\n </div>\n );\n};\n\nSliderField.displayName = 'CommandFormField';\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;AAyBO,MAAM,WAAW,GAAG,CAAY,KAAiC,KAAI;AACxE,IAAA,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;AACrE,IAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,IAAI;AACvC,IAAA,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC;AAC1B,IAAA,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC;AAC1B,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI;AAC/B,IAAA,MAAM,OAAO,GAAG,CAAC,QAAQ,KAAK,UAAU,IAAI,GAAG,IAAI,UAAU,IAAI,GAAG,CAAC;AACrE,IAAA,MAAM,EAAE,gBAAgB,EAAE,GAAG,qBAAqB,EAAE;IAEpD,SAAS,CAAC,MAAK;AACX,QAAA,aAAa,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;AAC1C,IAAA,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAExB,SAAS,CAAC,MAAK;AACX,QAAA,IAAI,KAAK,CAAC,SAAS,EAAE;AACjB,YAAA,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC;QAC9C;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAEhD,IAAA,MAAM,YAAY,GAAG,CAAC,CAAoB,KAAI;AAC1C,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAe;QAClC,aAAa,CAAC,QAAQ,CAAC;AACvB,QAAA,KAAK,CAAC,aAAa,GAAG,QAAQ,CAAC;AACnC,IAAA,CAAC;AAED,IAAA,QACIA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,kDAAkD,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC,EAAE,sBAAsB,EAAE,CAAC,EAAE,EAAA,QAAA,EAAA,CACjKC,IAAC,MAAM,EAAA,EACH,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,YAAY,EACtB,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,SAAS,EAAC,aAAa,GACzB,EACFA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,eAAe,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAA,QAAA,EAC1E,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAA,CACnB,CAAA,EAAA,CACL;AAEd;AAEA,WAAW,CAAC,WAAW,GAAG,kBAAkB;;;;"}
@@ -0,0 +1,8 @@
1
+ export * from './CommandForm';
2
+ export * from './CommandFormField';
3
+ export * from './CommandFormFields';
4
+ export * from './InputTextField';
5
+ export * from './DatePickerField';
6
+ export * from './DropdownField';
7
+ export * from './SliderField';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../CommandForm/index.ts"],"names":[],"mappings":"AAGA,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC"}
@@ -0,0 +1,8 @@
1
+ export { CommandForm, useCommandFormContext, useCommandInstance, useSetCommandResult } from './CommandForm.js';
2
+ export { CommandFormField } from './CommandFormField.js';
3
+ export { CommandFormFields } from './CommandFormFields.js';
4
+ export { InputTextField } from './InputTextField.js';
5
+ export { DatePickerField } from './DatePickerField.js';
6
+ export { DropdownField } from './DropdownField.js';
7
+ export { SliderField } from './SliderField.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,16 @@
1
+ import { Component, ErrorInfo, ReactNode } from 'react';
2
+ interface Props {
3
+ children: ReactNode;
4
+ }
5
+ interface State {
6
+ hasError: boolean;
7
+ error: Error;
8
+ }
9
+ export declare class ErrorBoundary extends Component<Props, State> {
10
+ state: State;
11
+ static getDerivedStateFromError(error: Error): State;
12
+ componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
13
+ render(): string | number | bigint | boolean | import("react/jsx-runtime").JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | null | undefined;
14
+ }
15
+ export {};
16
+ //# sourceMappingURL=ErrorBoundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorBoundary.d.ts","sourceRoot":"","sources":["../../../Common/ErrorBoundary.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAExD,UAAU,KAAK;IACX,QAAQ,EAAE,SAAS,CAAC;CACvB;AACD,UAAU,KAAK;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;CAChB;AAED,qBAAa,aAAc,SAAQ,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IAC/C,KAAK,EAAE,KAAK,CAGjB;WAEY,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;IAIpD,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;IAIpD,MAAM;CAahB"}
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Component } from 'react';
3
+ export class ErrorBoundary extends Component {
4
+ state = {
5
+ hasError: false,
6
+ error: new Error(),
7
+ };
8
+ static getDerivedStateFromError(error) {
9
+ return { hasError: true, error: error };
10
+ }
11
+ componentDidCatch(error, errorInfo) {
12
+ console.error('Uncaught error:', error, errorInfo);
13
+ }
14
+ render() {
15
+ if (this.state.hasError) {
16
+ return (_jsxs("div", { className: 'p-4', children: [_jsx("h1", { className: 'text-3xl m-3', children: "Error" }), _jsx("p", { children: this.state.error.message }), _jsx("p", { children: this.state.error.stack })] }));
17
+ }
18
+ return this.props.children;
19
+ }
20
+ }
21
+ //# sourceMappingURL=ErrorBoundary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorBoundary.js","sourceRoot":"","sources":["../../../Common/ErrorBoundary.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,SAAS,EAAwB,MAAM,OAAO,CAAC;AAUxD,MAAM,OAAO,aAAc,SAAQ,SAAuB;IAC/C,KAAK,GAAU;QAClB,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,IAAI,KAAK,EAAE;KACrB,CAAC;IAEK,MAAM,CAAC,wBAAwB,CAAC,KAAY;QAC/C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC;IAEM,iBAAiB,CAAC,KAAY,EAAE,SAAoB;QACvD,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAEM,MAAM;QACT,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO,CACH,eAAK,SAAS,EAAC,KAAK,aAChB,aAAI,SAAS,EAAC,cAAc,sBAAW,EACvC,sBAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAK,EACjC,sBAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAK,IAC7B,CACT,CAAC;QACN,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC/B,CAAC;CACJ"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ declare const _default: {
3
+ title: string;
4
+ component: React.ComponentType<any> | undefined;
5
+ };
6
+ export default _default;
7
+ export declare const Default: () => import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=ErrorBoundary.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorBoundary.stories.d.ts","sourceRoot":"","sources":["../../../Common/ErrorBoundary.stories.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;;;;;AAI1B,wBAAuE;AAEvE,eAAO,MAAM,OAAO,+CAA4E,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as Comp from './ErrorBoundary';
3
+ const Component = Comp.default || Object.values(Comp)[0];
4
+ export default { title: 'Common/ErrorBoundary', component: Component };
5
+ export const Default = () => (Component ? _jsx(Component, {}) : _jsx("div", { children: "Unable to render component" }));
6
+ //# sourceMappingURL=ErrorBoundary.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorBoundary.stories.js","sourceRoot":"","sources":["../../../Common/ErrorBoundary.stories.tsx"],"names":[],"mappings":";AAIA,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,MAAM,SAAS,GAA0C,IAAY,CAAC,OAAO,IAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAS,CAAC;AAEjH,eAAe,EAAE,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAEvE,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAC,SAAS,KAAG,CAAC,CAAC,CAAC,uDAAqC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface FormElementProps {
2
+ children: React.ReactNode;
3
+ icon: React.ReactNode;
4
+ }
5
+ export declare const FormElement: (props: FormElementProps) => import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=FormElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormElement.d.ts","sourceRoot":"","sources":["../../../Common/FormElement.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,gBAAgB,4CAWlD,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export const FormElement = (props) => {
3
+ return (_jsx("div", { className: "card flex flex-column md:flex-row gap-3", children: _jsxs("div", { className: "p-inputgroup flex-1", children: [_jsx("span", { className: "p-inputgroup-addon", children: props.icon }), props.children] }) }));
4
+ };
5
+ //# sourceMappingURL=FormElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormElement.js","sourceRoot":"","sources":["../../../Common/FormElement.tsx"],"names":[],"mappings":";AAQA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAuB,EAAE,EAAE;IACnD,OAAO,CACH,cAAK,SAAS,EAAC,yCAAyC,YACpD,eAAK,SAAS,EAAC,qBAAqB,aAChC,eAAM,SAAS,EAAC,oBAAoB,YAC/B,KAAK,CAAC,IAAI,GACR,EACN,KAAK,CAAC,QAAQ,IACb,GACJ,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ declare const _default: {
3
+ title: string;
4
+ component: React.ComponentType<any> | undefined;
5
+ };
6
+ export default _default;
7
+ export declare const Default: () => import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=FormElement.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormElement.stories.d.ts","sourceRoot":"","sources":["../../../Common/FormElement.stories.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;;;;;AAI1B,wBAAqE;AAErE,eAAO,MAAM,OAAO,+CAA4E,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as Comp from './FormElement';
3
+ const Component = Comp.default || Object.values(Comp)[0];
4
+ export default { title: 'Common/FormElement', component: Component };
5
+ export const Default = () => (Component ? _jsx(Component, {}) : _jsx("div", { children: "Unable to render component" }));
6
+ //# sourceMappingURL=FormElement.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormElement.stories.js","sourceRoot":"","sources":["../../../Common/FormElement.stories.tsx"],"names":[],"mappings":";AAIA,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,MAAM,SAAS,GAA0C,IAAY,CAAC,OAAO,IAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAS,CAAC;AAEjH,eAAe,EAAE,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAErE,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAC,SAAS,KAAG,CAAC,CAAC,CAAC,uDAAqC,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ export interface PageProps extends HTMLAttributes<HTMLDivElement> {
3
+ title: string;
4
+ children?: ReactNode;
5
+ panel?: boolean;
6
+ }
7
+ export declare const Page: ({ title, children, panel, ...rest }: PageProps) => import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=Page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../Common/Page.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElD,MAAM,WAAW,SAAU,SAAQ,cAAc,CAAC,cAAc,CAAC;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,IAAI,GAAI,qCAAqC,SAAS,4CASlE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+
3
+ const Page = ({ title, children, panel, ...rest }) => {
4
+ return (jsxs("div", { className: 'flex flex-col h-full', ...rest, children: [jsx("h1", { className: 'text-3xl mt-3 mb-4', children: title }), jsx("main", { className: `overflow-hidden h-full flex flex-col flex-1 ${panel ? 'panel' : ''}`, children: children })] }));
5
+ };
6
+
7
+ export { Page };
8
+ //# sourceMappingURL=Page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Page.js","sources":["../../../Common/Page.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 { HTMLAttributes, ReactNode } from 'react';\n\nexport interface PageProps extends HTMLAttributes<HTMLDivElement> {\n title: string;\n children?: ReactNode;\n panel?: boolean\n}\n\nexport const Page = ({ title, children, panel, ...rest }: PageProps) => {\n return (\n <div className='flex flex-col h-full' {...rest}>\n <h1 className='text-3xl mt-3 mb-4'>{title}</h1>\n <main className={`overflow-hidden h-full flex flex-col flex-1 ${panel ? 'panel' : ''}`}>\n {children}\n </main>\n </div>\n );\n};\n"],"names":["_jsxs","_jsx"],"mappings":";;AAWO,MAAM,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAa,KAAI;AACnE,IAAA,QACIA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,sBAAsB,EAAA,GAAK,IAAI,EAAA,QAAA,EAAA,CAC1CC,GAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAC,oBAAoB,EAAA,QAAA,EAAE,KAAK,GAAM,EAC/CA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,+CAA+C,KAAK,GAAG,OAAO,GAAG,EAAE,EAAE,EAAA,QAAA,EACjF,QAAQ,EAAA,CACN,CAAA,EAAA,CACL;AAEd;;;;"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ declare const _default: {
3
+ title: string;
4
+ component: React.ComponentType<any> | undefined;
5
+ };
6
+ export default _default;
7
+ export declare const Default: () => import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=Page.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Page.stories.d.ts","sourceRoot":"","sources":["../../../Common/Page.stories.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;;;;;AAI1B,wBAA8D;AAE9D,eAAO,MAAM,OAAO,+CAA4E,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as Comp from './Page';
3
+ const Component = Comp.default || Object.values(Comp)[0];
4
+ export default { title: 'Common/Page', component: Component };
5
+ export const Default = () => (Component ? _jsx(Component, {}) : _jsx("div", { children: "Unable to render component" }));
6
+ //# sourceMappingURL=Page.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Page.stories.js","sourceRoot":"","sources":["../../../Common/Page.stories.tsx"],"names":[],"mappings":";AAIA,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,MAAM,SAAS,GAA0C,IAAY,CAAC,OAAO,IAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAS,CAAC;AAEjH,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAE9D,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAC,SAAS,KAAG,CAAC,CAAC,CAAC,uDAAqC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './ErrorBoundary';
2
+ export * from './Page';
3
+ export * from './FormElement';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Common/index.ts"],"names":[],"mappings":"AAGA,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './ErrorBoundary';
2
+ export * from './Page';
3
+ export * from './FormElement';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../Common/index.ts"],"names":[],"mappings":"AAGA,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { ReactNode } from 'react';
2
+ import React from 'react';
3
+ import { MenuItem as PrimeMenuItem } from 'primereact/menuitem';
4
+ import { IObservableQueryFor, IQueryFor } from '@cratis/arc/queries';
5
+ import { DataTableFilterMeta, DataTableSelectionSingleChangeEvent } from 'primereact/datatable';
6
+ import { Constructor } from '@cratis/fundamentals';
7
+ export interface MenuItemProps extends PrimeMenuItem {
8
+ disableOnUnselected?: boolean;
9
+ }
10
+ export declare const MenuItem: (_: MenuItemProps) => null;
11
+ export interface MenuItemsProps {
12
+ children: ReactNode;
13
+ }
14
+ export interface ColumnProps {
15
+ children: ReactNode;
16
+ }
17
+ export declare const MenuItems: ({ children }: MenuItemsProps) => import("react/jsx-runtime").JSX.Element;
18
+ export declare const Columns: ({ children }: ColumnProps) => import("react/jsx-runtime").JSX.Element;
19
+ export interface IDetailsComponentProps<TDataType> {
20
+ item: TDataType;
21
+ }
22
+ export interface DataPageProps<TQuery extends IQueryFor<TDataType> | IObservableQueryFor<TDataType>, TDataType, TArguments> {
23
+ title: string;
24
+ children: ReactNode;
25
+ detailsComponent?: React.FC<IDetailsComponentProps<any>>;
26
+ query: Constructor<TQuery>;
27
+ queryArguments?: TArguments;
28
+ emptyMessage: string;
29
+ dataKey?: string | undefined;
30
+ selection?: any | undefined | null;
31
+ onSelectionChange?(event: DataTableSelectionSingleChangeEvent<any>): void;
32
+ globalFilterFields?: string[] | undefined;
33
+ defaultFilters?: DataTableFilterMeta;
34
+ }
35
+ declare const DataPage: {
36
+ <TQuery extends IQueryFor<TDataType> | IObservableQueryFor<TDataType, TArguments>, TDataType, TArguments extends object>(props: DataPageProps<TQuery, TDataType, TArguments>): import("react/jsx-runtime").JSX.Element;
37
+ MenuItems: ({ children }: MenuItemsProps) => import("react/jsx-runtime").JSX.Element;
38
+ Columns: ({ children }: ColumnProps) => import("react/jsx-runtime").JSX.Element;
39
+ };
40
+ export { DataPage };
41
+ //# sourceMappingURL=DataPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataPage.d.ts","sourceRoot":"","sources":["../../../DataPage/DataPage.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAW,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAY,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,mCAAmC,EAAE,MAAM,sBAAsB,CAAC;AAGhG,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAInD,MAAM,WAAW,aAAc,SAAQ,aAAa;IAChD,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAGD,eAAO,MAAM,QAAQ,GAAI,GAAG,aAAa,SAExC,CAAC;AAEF,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IACxB,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED,eAAO,MAAM,SAAS,GAAI,cAAc,cAAc,4CA0BrD,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,cAAc,WAAW,4CAgBhD,CAAC;AAEF,MAAM,WAAW,sBAAsB,CAAC,SAAS;IAC7C,IAAI,EAAE,SAAS,CAAC;CAEnB;AAYD,MAAM,WAAW,aAAa,CAAC,MAAM,SAAS,SAAS,CAAC,SAAS,CAAC,GAAG,mBAAmB,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU;IAItH,KAAK,EAAE,MAAM,CAAC;IAKd,QAAQ,EAAE,SAAS,CAAC;IAKpB,gBAAgB,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;IAKzD,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAK3B,cAAc,CAAC,EAAE,UAAU,CAAC;IAK5B,YAAY,EAAE,MAAM,CAAC;IAKrB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAK7B,SAAS,CAAC,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC;IAKnC,iBAAiB,CAAC,CAAC,KAAK,EAAE,mCAAmC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAK1E,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAK1C,cAAc,CAAC,EAAE,mBAAmB,CAAC;CACxC;AAOD,QAAA,MAAM,QAAQ;KAAI,MAAM,SAAS,SAAS,CAAC,SAAS,CAAC,GAAG,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,UAAU,SAAS,MAAM,SAAS,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC;8BA3HrJ,cAAc;4BA4BhB,WAAW;CA2HhD,CAAC;AAKF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import React, { useMemo } from 'react';
3
+ import { Page } from '../Common/Page.js';
4
+ import { Menubar } from 'primereact/menubar';
5
+ import { QueryFor } from '@cratis/arc/queries';
6
+ import { DataTableForObservableQuery } from '../DataTables/DataTableForObservableQuery.js';
7
+ import { DataTableForQuery } from '../DataTables/DataTableForQuery.js';
8
+ import { Allotment } from 'allotment';
9
+
10
+ const MenuItem = (_) => {
11
+ return null;
12
+ };
13
+ const MenuItems = ({ children }) => {
14
+ const context = React.useContext(DataPageContext);
15
+ const isDisabled = useMemo(() => {
16
+ return !context.selectedItem;
17
+ }, [context.selectedItem]);
18
+ const items = useMemo(() => {
19
+ const menuItems = [];
20
+ React.Children.forEach(children, (child) => {
21
+ if (React.isValidElement(child) && child.type == MenuItem) {
22
+ const Icon = child.props.icon;
23
+ const menuItem = { ...child.props };
24
+ menuItem.icon = jsx(Icon, { className: 'mr-2' });
25
+ menuItem.disabled = isDisabled && child.props.disableOnUnselected;
26
+ menuItems.push(menuItem);
27
+ }
28
+ });
29
+ return menuItems;
30
+ }, [children, context.selectedItem]);
31
+ return (jsx("div", { className: "px-4 py-2", children: jsx(Menubar, { "aria-label": "Actions", model: items }) }));
32
+ };
33
+ const Columns = ({ children }) => {
34
+ const context = React.useContext(DataPageContext);
35
+ if (context.query.prototype instanceof QueryFor) {
36
+ return (jsx(DataTableForQuery, { ...context, selection: context.selectedItem, onSelectionChange: context.onSelectionChanged, children: children }));
37
+ }
38
+ else {
39
+ return (jsx(DataTableForObservableQuery, { ...context, selection: context.selectedItem, onSelectionChange: context.onSelectionChanged, children: children }));
40
+ }
41
+ };
42
+ const DataPageContext = React.createContext(null);
43
+ const DataPage = (props) => {
44
+ const [selectedItem, setSelectedItem] = React.useState(undefined);
45
+ const selectionChanged = (e) => {
46
+ setSelectedItem(e.value);
47
+ if (props.onSelectionChange) {
48
+ props.onSelectionChange(e);
49
+ }
50
+ };
51
+ const context = { ...props, selectedItem, onSelectionChanged: selectionChanged };
52
+ return (jsx(DataPageContext.Provider, { value: context, children: jsx(Page, { title: props.title, panel: true, children: jsxs(Allotment, { className: "h-full", proportionalLayout: false, children: [jsx(Allotment.Pane, { className: "flex-grow", children: props.children }), props.detailsComponent && selectedItem &&
53
+ jsx(Allotment.Pane, { preferredSize: "450px", children: jsx(props.detailsComponent, { item: selectedItem }) })] }) }) }));
54
+ };
55
+ DataPage.MenuItems = MenuItems;
56
+ DataPage.Columns = Columns;
57
+
58
+ export { Columns, DataPage, MenuItem, MenuItems };
59
+ //# sourceMappingURL=DataPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataPage.js","sources":["../../../DataPage/DataPage.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 { ReactNode, useMemo } from 'react';\nimport { Page } from '../Common/Page';\nimport React from 'react';\nimport { MenuItem as PrimeMenuItem } from 'primereact/menuitem';\nimport { Menubar } from 'primereact/menubar';\nimport { IObservableQueryFor, IQueryFor, QueryFor } from '@cratis/arc/queries';\nimport { DataTableForObservableQuery } from '../DataTables/DataTableForObservableQuery';\nimport { DataTableFilterMeta, DataTableSelectionSingleChangeEvent } from 'primereact/datatable';\nimport { DataTableForQuery } from '../DataTables/DataTableForQuery';\nimport { Allotment } from 'allotment';\nimport { Constructor } from '@cratis/fundamentals';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport interface MenuItemProps extends PrimeMenuItem {\n disableOnUnselected?: boolean;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport const MenuItem = (_: MenuItemProps) => {\n return null;\n};\n\nexport interface MenuItemsProps {\n children: ReactNode;\n}\n\nexport interface ColumnProps {\n children: ReactNode;\n}\n\nexport const MenuItems = ({ children }: MenuItemsProps) => {\n const context = React.useContext(DataPageContext);\n\n const isDisabled = useMemo(() => {\n return !context.selectedItem;\n }, [context.selectedItem]);\n\n const items = useMemo(() => {\n const menuItems: PrimeMenuItem[] = [];\n React.Children.forEach(children, (child) => {\n if (React.isValidElement<MenuItemProps>(child) && child.type == MenuItem) {\n const Icon = child.props.icon;\n const menuItem = { ...child.props };\n menuItem.icon = <Icon className='mr-2' />;\n menuItem.disabled = isDisabled && child.props.disableOnUnselected;\n menuItems.push(menuItem);\n }\n });\n\n return menuItems;\n }, [children, context.selectedItem]);\n\n return (\n <div className=\"px-4 py-2\">\n <Menubar aria-label=\"Actions\" model={items} />\n </div>);\n};\n\nexport const Columns = ({ children }: ColumnProps) => {\n\n const context = React.useContext(DataPageContext);\n\n if (context.query.prototype instanceof QueryFor) {\n return (\n <DataTableForQuery {...context} selection={context.selectedItem} onSelectionChange={context.onSelectionChanged}>\n {children}\n </DataTableForQuery>);\n\n } else {\n return (\n <DataTableForObservableQuery {...context} selection={context.selectedItem} onSelectionChange={context.onSelectionChanged}>\n {children}\n </DataTableForObservableQuery>);\n }\n};\n\nexport interface IDetailsComponentProps<TDataType> {\n item: TDataType;\n\n}\n\ninterface IDataPageContext extends DataPageProps<any, any, any> {\n selectedItem: any;\n onSelectionChanged: (e: DataTableSelectionSingleChangeEvent<any>) => void;\n}\n\nconst DataPageContext = React.createContext<IDataPageContext>(null as any);\n\n/**\n * Props for the DataPage component\n */\nexport interface DataPageProps<TQuery extends IQueryFor<TDataType> | IObservableQueryFor<TDataType>, TDataType, TArguments> {\n /**\n * The title of the page\n */\n title: string;\n\n /**\n * Children to render, for this it means menu items and columns. Use <DataPage.MenuItems> and <DataPage.Columns> for this.\n */\n children: ReactNode;\n\n /**\n * Component to render when the selection changes\n */\n detailsComponent?: React.FC<IDetailsComponentProps<any>>;\n\n /**\n * The type of query to use\n */\n query: Constructor<TQuery>;\n\n /**\n * Optional arguments to pass to the query\n */\n queryArguments?: TArguments;\n\n /**\n * The message to show when there is no data\n */\n emptyMessage: string;\n\n /**\n * The key to use for the data\n */\n dataKey?: string | undefined;\n\n /**\n * The current selection.\n */\n selection?: any | undefined | null;\n\n /**\n * Callback for when the selection changes\n */\n onSelectionChange?(event: DataTableSelectionSingleChangeEvent<any>): void;\n\n /**\n * Fields to use for global filtering\n */\n globalFilterFields?: string[] | undefined;\n\n /**\n * Default filters to use\n */\n defaultFilters?: DataTableFilterMeta;\n}\n\n/**\n * Represents a data driven page with a menu and custom defined columns for the data table.\n * @param props Props for the DataPage component\n * @returns Function to render the DataPage component\n */\nconst DataPage = <TQuery extends IQueryFor<TDataType> | IObservableQueryFor<TDataType, TArguments>, TDataType, TArguments extends object>(props: DataPageProps<TQuery, TDataType, TArguments>) => {\n const [selectedItem, setSelectedItem] = React.useState(undefined);\n\n const selectionChanged = (e: DataTableSelectionSingleChangeEvent<any>) => {\n setSelectedItem(e.value);\n if (props.onSelectionChange) {\n props.onSelectionChange(e);\n }\n };\n\n const context = { ...props, selectedItem, onSelectionChanged: selectionChanged };\n\n return (\n <DataPageContext.Provider value={context}>\n <Page title={props.title} panel={true}>\n <Allotment className=\"h-full\" proportionalLayout={false}>\n <Allotment.Pane className=\"flex-grow\">\n {props.children}\n </Allotment.Pane>\n {props.detailsComponent && selectedItem &&\n <Allotment.Pane preferredSize=\"450px\">\n <props.detailsComponent item={selectedItem} />\n </Allotment.Pane>\n }\n </Allotment>\n </Page>\n </DataPageContext.Provider>\n );\n};\n\nDataPage.MenuItems = MenuItems;\nDataPage.Columns = Columns;\n\nexport { DataPage };\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;AAsBO,MAAM,QAAQ,GAAG,CAAC,CAAgB,KAAI;AACzC,IAAA,OAAO,IAAI;AACf;MAUa,SAAS,GAAG,CAAC,EAAE,QAAQ,EAAkB,KAAI;IACtD,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC;AAEjD,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,MAAK;AAC5B,QAAA,OAAO,CAAC,OAAO,CAAC,YAAY;AAChC,IAAA,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAE1B,IAAA,MAAM,KAAK,GAAG,OAAO,CAAC,MAAK;QACvB,MAAM,SAAS,GAAoB,EAAE;QACrC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAI;AACvC,YAAA,IAAI,KAAK,CAAC,cAAc,CAAgB,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,QAAQ,EAAE;AACtE,gBAAA,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI;gBAC7B,MAAM,QAAQ,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE;gBACnC,QAAQ,CAAC,IAAI,GAAGA,GAAA,CAAC,IAAI,IAAC,SAAS,EAAC,MAAM,EAAA,CAAG;gBACzC,QAAQ,CAAC,QAAQ,GAAG,UAAU,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB;AACjE,gBAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC5B;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,SAAS;IACpB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;AAEpC,IAAA,QACIA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,WAAW,YACtBA,GAAA,CAAC,OAAO,EAAA,EAAA,YAAA,EAAY,SAAS,EAAC,KAAK,EAAE,KAAK,EAAA,CAAI,EAAA,CAC5C;AACd;MAEa,OAAO,GAAG,CAAC,EAAE,QAAQ,EAAe,KAAI;IAEjD,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC;IAEjD,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,YAAY,QAAQ,EAAE;QAC7C,QACIA,IAAC,iBAAiB,EAAA,EAAA,GAAK,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,iBAAiB,EAAE,OAAO,CAAC,kBAAkB,EAAA,QAAA,EACzG,QAAQ,EAAA,CACO;IAE5B;SAAO;QACH,QACIA,IAAC,2BAA2B,EAAA,EAAA,GAAK,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,iBAAiB,EAAE,OAAO,CAAC,kBAAkB,EAAA,QAAA,EACnH,QAAQ,EAAA,CACiB;IACtC;AACJ;AAYA,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAAmB,IAAW,CAAC;AAmE1E,MAAM,QAAQ,GAAG,CAAyH,KAAmD,KAAI;AAC7L,IAAA,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;AAEjE,IAAA,MAAM,gBAAgB,GAAG,CAAC,CAA2C,KAAI;AACrE,QAAA,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;AACxB,QAAA,IAAI,KAAK,CAAC,iBAAiB,EAAE;AACzB,YAAA,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC9B;AACJ,IAAA,CAAC;AAED,IAAA,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE;IAEhF,QACIA,GAAA,CAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,EAAA,QAAA,EACpCA,GAAA,CAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAA,QAAA,EACjCC,IAAA,CAAC,SAAS,EAAA,EAAC,SAAS,EAAC,QAAQ,EAAC,kBAAkB,EAAE,KAAK,aACnDD,GAAA,CAAC,SAAS,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,WAAW,EAAA,QAAA,EAChC,KAAK,CAAC,QAAQ,EAAA,CACF,EAChB,KAAK,CAAC,gBAAgB,IAAI,YAAY;wBACnCA,GAAA,CAAC,SAAS,CAAC,IAAI,EAAA,EAAC,aAAa,EAAC,OAAO,EAAA,QAAA,EACjCA,GAAA,CAAC,KAAK,CAAC,gBAAgB,EAAA,EAAC,IAAI,EAAE,YAAY,EAAA,CAAI,GACjC,CAAA,EAAA,CAEb,EAAA,CACT,EAAA,CACgB;AAEnC;AAEA,QAAQ,CAAC,SAAS,GAAG,SAAS;AAC9B,QAAQ,CAAC,OAAO,GAAG,OAAO;;;;"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ declare const _default: {
3
+ title: string;
4
+ component: React.ComponentType<any> | undefined;
5
+ };
6
+ export default _default;
7
+ export declare const Default: () => import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=DataPage.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataPage.stories.d.ts","sourceRoot":"","sources":["../../../DataPage/DataPage.stories.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;;;;;AAI1B,wBAAoE;AAEpE,eAAO,MAAM,OAAO,+CAA4E,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as Comp from './DataPage';
3
+ const Component = Comp.default || Object.values(Comp)[0];
4
+ export default { title: 'DataPage/DataPage', component: Component };
5
+ export const Default = () => (Component ? _jsx(Component, {}) : _jsx("div", { children: "Unable to render component" }));
6
+ //# sourceMappingURL=DataPage.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataPage.stories.js","sourceRoot":"","sources":["../../../DataPage/DataPage.stories.tsx"],"names":[],"mappings":";AAIA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,MAAM,SAAS,GAA0C,IAAY,CAAC,OAAO,IAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAS,CAAC;AAEjH,eAAe,EAAE,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAEpE,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAC,SAAS,KAAG,CAAC,CAAC,CAAC,uDAAqC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './DataPage';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../DataPage/index.ts"],"names":[],"mappings":"AAGA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Columns, DataPage, MenuItem, MenuItems } from './DataPage.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import { DataTableFilterMeta, DataTableSelectionSingleChangeEvent } from 'primereact/datatable';
2
+ import { Constructor } from '@cratis/fundamentals';
3
+ import { IObservableQueryFor } from '@cratis/arc/queries';
4
+ import { ReactNode } from 'react';
5
+ export interface DataTableForObservableQueryProps<TQuery extends IObservableQueryFor<TDataType>, TDataType, TArguments> {
6
+ children?: ReactNode;
7
+ query: Constructor<TQuery>;
8
+ queryArguments?: TArguments;
9
+ emptyMessage: string;
10
+ dataKey?: string | undefined;
11
+ selection?: any | undefined | null;
12
+ onSelectionChange?(event: DataTableSelectionSingleChangeEvent<any>): void;
13
+ globalFilterFields?: string[] | undefined;
14
+ defaultFilters?: DataTableFilterMeta;
15
+ }
16
+ export declare const DataTableForObservableQuery: <TQuery extends IObservableQueryFor<TDataType, TArguments>, TDataType, TArguments extends object>(props: DataTableForObservableQueryProps<TQuery, TDataType, TArguments>) => import("react/jsx-runtime").JSX.Element;
17
+ //# sourceMappingURL=DataTableForObservableQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTableForObservableQuery.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableForObservableQuery.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAa,mBAAmB,EAAE,mCAAmC,EAAE,MAAM,sBAAsB,CAAC;AAC3G,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAU,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AAO5C,MAAM,WAAW,gCAAgC,CAAC,MAAM,SAAS,mBAAmB,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU;IAIlH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAKrB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAK3B,cAAc,CAAC,EAAE,UAAU,CAAC;IAK5B,YAAY,EAAE,MAAM,CAAC;IAKrB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAK7B,SAAS,CAAC,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC;IAKnC,iBAAiB,CAAC,CAAC,KAAK,EAAE,mCAAmC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAK1E,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAK1C,cAAc,CAAC,EAAE,mBAAmB,CAAC;CACxC;AASD,eAAO,MAAM,2BAA2B,GAAI,MAAM,SAAS,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,UAAU,SAAS,MAAM,EAAE,OAAO,gCAAgC,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,4CA4BlN,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { DataTable } from 'primereact/datatable';
3
+ import { Paging } from '@cratis/arc/queries';
4
+ import { useObservableQueryWithPaging } from '@cratis/arc.react/queries';
5
+ import { useState } from 'react';
6
+
7
+ const paging = new Paging(0, 20);
8
+ const DataTableForObservableQuery = (props) => {
9
+ const [filters, setFilters] = useState(props.defaultFilters ?? {});
10
+ const [result, , setPage] = useObservableQueryWithPaging(props.query, paging, props.queryArguments);
11
+ return (jsx(DataTable, { value: result.data, lazy: true, rows: paging.pageSize, totalRecords: result.paging.totalItems, paginator: true, alwaysShowPaginator: false, first: result.paging.page * paging.pageSize, onPage: (e) => setPage(e.page ?? 0), scrollable: true, scrollHeight: 'flex', selectionMode: 'single', selection: props.selection, onSelectionChange: props.onSelectionChange, dataKey: props.dataKey, filters: filters, filterDisplay: 'menu', onFilter: (e) => setFilters(e.filters), globalFilterFields: props.globalFilterFields, emptyMessage: props.emptyMessage, children: props.children }));
12
+ };
13
+
14
+ export { DataTableForObservableQuery };
15
+ //# sourceMappingURL=DataTableForObservableQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTableForObservableQuery.js","sources":["../../../DataTables/DataTableForObservableQuery.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 { DataTable, DataTableFilterMeta, DataTableSelectionSingleChangeEvent } from 'primereact/datatable';\nimport { Constructor } from '@cratis/fundamentals';\nimport { IObservableQueryFor, Paging } from '@cratis/arc/queries';\nimport { useObservableQueryWithPaging } from '@cratis/arc.react/queries';\nimport { ReactNode, useState } from 'react';\n\n \n\n/**\n * Props for the DataTableForQuery component\n */\nexport interface DataTableForObservableQueryProps<TQuery extends IObservableQueryFor<TDataType>, TDataType, TArguments> {\n /**\n * Children to render\n */\n children?: ReactNode;\n\n /**\n * The type of query to use\n */\n query: Constructor<TQuery>;\n\n /**\n * Optional arguments to pass to the query\n */\n queryArguments?: TArguments;\n\n /**\n * The message to show when there is no data\n */\n emptyMessage: string;\n\n /**\n * The key to use for the data\n */\n dataKey?: string | undefined;\n\n /**\n * The current selection.\n */\n selection?: any | undefined | null;\n\n /**\n * Callback for when the selection changes\n */\n onSelectionChange?(event: DataTableSelectionSingleChangeEvent<any>): void;\n\n /**\n * Fields to use for global filtering\n */\n globalFilterFields?: string[] | undefined;\n\n /**\n * Default filters to use\n */\n defaultFilters?: DataTableFilterMeta;\n}\n\nconst paging = new Paging(0, 20);\n\n/**\n * Represents a DataTable for a query.\n * @param props Props for the component\n * @returns Function to render the DataTableForQuery component\n */\nexport const DataTableForObservableQuery = <TQuery extends IObservableQueryFor<TDataType, TArguments>, TDataType, TArguments extends object>(props: DataTableForObservableQueryProps<TQuery, TDataType, TArguments>) => {\n const [filters, setFilters] = useState<DataTableFilterMeta>(props.defaultFilters ?? {});\n const [result, , setPage] = useObservableQueryWithPaging(props.query, paging, props.queryArguments);\n\n return (\n <DataTable\n value={result.data}\n lazy\n rows={paging.pageSize}\n totalRecords={result.paging.totalItems}\n paginator\n alwaysShowPaginator={false}\n first={result.paging.page * paging.pageSize}\n onPage={(e) => setPage(e.page ?? 0)}\n scrollable\n scrollHeight={'flex'}\n selectionMode='single'\n selection={props.selection}\n onSelectionChange={props.onSelectionChange}\n dataKey={props.dataKey}\n filters={filters}\n filterDisplay='menu'\n onFilter={(e) => setFilters(e.filters)}\n globalFilterFields={props.globalFilterFields}\n emptyMessage={props.emptyMessage}>\n {props.children}\n </DataTable>\n );\n};\n"],"names":["_jsx"],"mappings":";;;;;;AA6DA,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;AAOzB,MAAM,2BAA2B,GAAG,CAAkG,KAAsE,KAAI;AACnN,IAAA,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAsB,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC;IACvF,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,4BAA4B,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC;AAEnG,IAAA,QACIA,GAAA,CAAC,SAAS,EAAA,EACN,KAAK,EAAE,MAAM,CAAC,IAAI,EAClB,IAAI,EAAA,IAAA,EACJ,IAAI,EAAE,MAAM,CAAC,QAAQ,EACrB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EACtC,SAAS,EAAA,IAAA,EACT,mBAAmB,EAAE,KAAK,EAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,EAC3C,MAAM,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EACnC,UAAU,EAAA,IAAA,EACV,YAAY,EAAE,MAAM,EACpB,aAAa,EAAC,QAAQ,EACtB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAC1C,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAC,MAAM,EACpB,QAAQ,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EACtC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,YAAY,EAAE,KAAK,CAAC,YAAY,EAAA,QAAA,EAC/B,KAAK,CAAC,QAAQ,EAAA,CACP;AAEpB;;;;"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ declare const _default: {
3
+ title: string;
4
+ component: React.ComponentType<any> | undefined;
5
+ };
6
+ export default _default;
7
+ export declare const Default: () => import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=DataTableForObservableQuery.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTableForObservableQuery.stories.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableForObservableQuery.stories.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;;;;;AAI1B,wBAAyF;AAEzF,eAAO,MAAM,OAAO,+CAA4E,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as Comp from './DataTableForObservableQuery';
3
+ const Component = Comp.default || Object.values(Comp)[0];
4
+ export default { title: 'DataTables/DataTableForObservableQuery', component: Component };
5
+ export const Default = () => (Component ? _jsx(Component, {}) : _jsx("div", { children: "Unable to render component" }));
6
+ //# sourceMappingURL=DataTableForObservableQuery.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTableForObservableQuery.stories.js","sourceRoot":"","sources":["../../../DataTables/DataTableForObservableQuery.stories.tsx"],"names":[],"mappings":";AAIA,OAAO,KAAK,IAAI,MAAM,+BAA+B,CAAC;AACtD,MAAM,SAAS,GAA0C,IAAY,CAAC,OAAO,IAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAS,CAAC;AAEjH,eAAe,EAAE,KAAK,EAAE,wCAAwC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAEzF,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAC,SAAS,KAAG,CAAC,CAAC,CAAC,uDAAqC,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { DataTableFilterMeta, DataTableSelectionSingleChangeEvent } from 'primereact/datatable';
2
+ import { Constructor } from '@cratis/fundamentals';
3
+ import { IQueryFor } from '@cratis/arc/queries';
4
+ import { ReactNode } from 'react';
5
+ export interface DataTableForQueryProps<TQuery extends IQueryFor<TDataType>, TDataType, TArguments> {
6
+ children?: ReactNode;
7
+ query: Constructor<TQuery>;
8
+ queryArguments?: TArguments;
9
+ emptyMessage: string;
10
+ dataKey?: string | undefined;
11
+ selection?: any | undefined | null;
12
+ onSelectionChange?(event: DataTableSelectionSingleChangeEvent<any>): void;
13
+ globalFilterFields?: string[] | undefined;
14
+ defaultFilters?: DataTableFilterMeta;
15
+ }
16
+ export declare const DataTableForQuery: <TQuery extends IQueryFor<TDataType, TArguments>, TDataType, TArguments extends object>(props: DataTableForQueryProps<TQuery, TDataType, TArguments>) => import("react/jsx-runtime").JSX.Element;
17
+ //# sourceMappingURL=DataTableForQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTableForQuery.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableForQuery.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAa,mBAAmB,EAAE,mCAAmC,EAAE,MAAM,sBAAsB,CAAC;AAC3G,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAU,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AAO5C,MAAM,WAAW,sBAAsB,CAAC,MAAM,SAAS,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU;IAI9F,QAAQ,CAAC,EAAE,SAAS,CAAC;IAKrB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAK3B,cAAc,CAAC,EAAE,UAAU,CAAC;IAK5B,YAAY,EAAE,MAAM,CAAC;IAKrB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAK7B,SAAS,CAAC,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC;IAKnC,iBAAiB,CAAC,CAAC,KAAK,EAAE,mCAAmC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAK1E,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAK1C,cAAc,CAAC,EAAE,mBAAmB,CAAC;CACxC;AASD,eAAO,MAAM,iBAAiB,GAAI,MAAM,SAAS,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,UAAU,SAAS,MAAM,EAAE,OAAO,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,4CA4BpL,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { DataTable } from 'primereact/datatable';
3
+ import { Paging } from '@cratis/arc/queries';
4
+ import { useQueryWithPaging } from '@cratis/arc.react/queries';
5
+ import { useState } from 'react';
6
+
7
+ const paging = new Paging(0, 20);
8
+ const DataTableForQuery = (props) => {
9
+ const [filters, setFilters] = useState(props.defaultFilters ?? {});
10
+ const [result, , , setPage] = useQueryWithPaging(props.query, paging, props.queryArguments);
11
+ return (jsx(DataTable, { value: result.data, lazy: true, rows: paging.pageSize, totalRecords: result.paging.totalItems, paginator: true, alwaysShowPaginator: false, first: result.paging.page * paging.pageSize, onPage: (e) => setPage(e.page ?? 0), scrollable: true, scrollHeight: 'flex', selectionMode: 'single', selection: props.selection, onSelectionChange: props.onSelectionChange, dataKey: props.dataKey, filters: filters, filterDisplay: 'menu', onFilter: (e) => setFilters(e.filters), globalFilterFields: props.globalFilterFields, emptyMessage: props.emptyMessage, children: props.children }));
12
+ };
13
+
14
+ export { DataTableForQuery };
15
+ //# sourceMappingURL=DataTableForQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTableForQuery.js","sources":["../../../DataTables/DataTableForQuery.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 { DataTable, DataTableFilterMeta, DataTableSelectionSingleChangeEvent } from 'primereact/datatable';\nimport { Constructor } from '@cratis/fundamentals';\nimport { IQueryFor, Paging } from '@cratis/arc/queries';\nimport { useQueryWithPaging } from '@cratis/arc.react/queries';\nimport { ReactNode, useState } from 'react';\n\n \n\n/**\n * Props for the DataTableForQuery component\n */\nexport interface DataTableForQueryProps<TQuery extends IQueryFor<TDataType>, TDataType, TArguments> {\n /**\n * Children to render\n */\n children?: ReactNode;\n\n /**\n * The type of query to use\n */\n query: Constructor<TQuery>;\n\n /**\n * Optional Arguments to pass to the query\n */\n queryArguments?: TArguments;\n\n /**\n * The message to show when there is no data\n */\n emptyMessage: string;\n\n /**\n * The key to use for the data\n */\n dataKey?: string | undefined;\n\n /**\n * The current selection.\n */\n selection?: any | undefined | null;\n\n /**\n * Callback for when the selection changes\n */\n onSelectionChange?(event: DataTableSelectionSingleChangeEvent<any>): void;\n\n /**\n * Fields to use for global filtering\n */\n globalFilterFields?: string[] | undefined;\n\n /**\n * Default filters to use\n */\n defaultFilters?: DataTableFilterMeta;\n}\n\nconst paging = new Paging(0, 20);\n\n/**\n * Represents a DataTable for a query.\n * @param props Props for the component\n * @returns Function to render the DataTableForQuery component\n */\nexport const DataTableForQuery = <TQuery extends IQueryFor<TDataType, TArguments>, TDataType, TArguments extends object>(props: DataTableForQueryProps<TQuery, TDataType, TArguments>) => {\n const [filters, setFilters] = useState<DataTableFilterMeta>(props.defaultFilters ?? {});\n const [result, , , setPage] = useQueryWithPaging(props.query, paging, props.queryArguments);\n\n return (\n <DataTable\n value={result.data as unknown}\n lazy\n rows={paging.pageSize}\n totalRecords={result.paging.totalItems}\n paginator\n alwaysShowPaginator={false}\n first={result.paging.page * paging.pageSize}\n onPage={(e) => setPage(e.page ?? 0)}\n scrollable\n scrollHeight={'flex'}\n selectionMode='single'\n selection={props.selection}\n onSelectionChange={props.onSelectionChange}\n dataKey={props.dataKey}\n filters={filters}\n filterDisplay='menu'\n onFilter={(e) => setFilters(e.filters)}\n globalFilterFields={props.globalFilterFields}\n emptyMessage={props.emptyMessage} >\n {props.children}\n </DataTable >\n );\n};\n"],"names":["_jsx"],"mappings":";;;;;;AA6DA,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;AAOzB,MAAM,iBAAiB,GAAG,CAAwF,KAA4D,KAAI;AACrL,IAAA,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAsB,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC;IACvF,MAAM,CAAC,MAAM,MAAM,OAAO,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC;AAE3F,IAAA,QACIA,GAAA,CAAC,SAAS,EAAA,EACN,KAAK,EAAE,MAAM,CAAC,IAAe,EAC7B,IAAI,EAAA,IAAA,EACJ,IAAI,EAAE,MAAM,CAAC,QAAQ,EACrB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EACtC,SAAS,EAAA,IAAA,EACT,mBAAmB,EAAE,KAAK,EAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,EAC3C,MAAM,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EACnC,UAAU,EAAA,IAAA,EACV,YAAY,EAAE,MAAM,EACpB,aAAa,EAAC,QAAQ,EACtB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAC1C,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAC,MAAM,EACpB,QAAQ,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EACtC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,YAAY,EAAE,KAAK,CAAC,YAAY,EAAA,QAAA,EAC/B,KAAK,CAAC,QAAQ,EAAA,CACN;AAErB;;;;"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ declare const _default: {
3
+ title: string;
4
+ component: React.ComponentType<any> | undefined;
5
+ };
6
+ export default _default;
7
+ export declare const Default: () => import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=DataTableForQuery.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTableForQuery.stories.d.ts","sourceRoot":"","sources":["../../../DataTables/DataTableForQuery.stories.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;;;;;AAI1B,wBAA+E;AAE/E,eAAO,MAAM,OAAO,+CAA4E,CAAC"}