@archbase/components 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (573) hide show
  1. package/dist/admin/types.d.ts +65 -0
  2. package/dist/archbase-components-3.0.0.tgz +0 -0
  3. package/dist/buttons/ActionsDemo.d.ts +2 -0
  4. package/dist/buttons/ArchbaseActionButtons.d.ts +61 -0
  5. package/dist/buttons/index.d.ts +2 -0
  6. package/dist/charts/ArchbaseTimeline.d.ts +24 -0
  7. package/dist/charts/index.d.ts +3 -0
  8. package/dist/charts/vis-timeline/ArchbaseVisTimeline.d.ts +9 -0
  9. package/dist/charts/vis-timeline/ArchbaseVisTimeline.types.d.ts +284 -0
  10. package/dist/charts/vis-timeline/index.d.ts +9 -0
  11. package/dist/charts/vis-timeline/utils/timelineOptions.d.ts +68 -0
  12. package/dist/datagrid/components/index.d.ts +6 -0
  13. package/dist/datagrid/components/pagination/grid-pagination.d.ts +7 -0
  14. package/dist/datagrid/components/render/archbase-data-grid-item-renderer.d.ts +10 -0
  15. package/dist/datagrid/components/toolbar/global-search-input.d.ts +16 -0
  16. package/dist/datagrid/components/toolbar/grid-toolbar.d.ts +19 -0
  17. package/dist/datagrid/hooks/index.d.ts +3 -0
  18. package/dist/datagrid/hooks/use-grid-data-stable-rendering.d.ts +15 -0
  19. package/dist/datagrid/hooks/use-grid-data.d.ts +32 -0
  20. package/dist/datagrid/hooks/use-grid-details-panel.d.ts +51 -0
  21. package/dist/datagrid/index.d.ts +6 -0
  22. package/dist/datagrid/main/archbase-data-grid-column.d.ts +26 -0
  23. package/dist/datagrid/main/archbase-data-grid-formatters.d.ts +57 -0
  24. package/dist/datagrid/main/archbase-data-grid-pagination.d.ts +8 -0
  25. package/dist/datagrid/main/archbase-data-grid-toolbar.d.ts +7 -0
  26. package/dist/datagrid/main/archbase-data-grid-types.d.ts +252 -0
  27. package/dist/datagrid/main/archbase-data-grid-utils.d.ts +45 -0
  28. package/dist/datagrid/main/archbase-data-grid.d.ts +9 -0
  29. package/dist/datagrid/main/archbase-detail-panel-component.d.ts +52 -0
  30. package/dist/datagrid/main/archbase-expand-button.d.ts +22 -0
  31. package/dist/datagrid/main/archbase-grid-popover.d.ts +37 -0
  32. package/dist/datagrid/main/grid-row-actions.d.ts +15 -0
  33. package/dist/datagrid/main/index.d.ts +21 -0
  34. package/dist/datagrid/modals/export-data.d.ts +13 -0
  35. package/dist/datagrid/modals/export-modal.d.ts +9 -0
  36. package/dist/datagrid/modals/index.d.ts +6 -0
  37. package/dist/datagrid/modals/print-data.d.ts +16 -0
  38. package/dist/datagrid/modals/print-modal.d.ts +9 -0
  39. package/dist/datagrid/types/grid-props.d.ts +48 -0
  40. package/dist/datagrid/types/index.d.ts +1 -0
  41. package/dist/datagrid/utils/formatter.d.ts +39 -0
  42. package/dist/datagrid/utils/index.d.ts +1 -0
  43. package/dist/debug/index.d.ts +4 -0
  44. package/dist/debug/jsonpathpicker/ArchbaseJsonPathPicker.d.ts +37 -0
  45. package/dist/debug/jsonpathpicker/index.d.ts +1 -0
  46. package/dist/debug/jsonview/ArchbaseJsonViewDataRenderer.d.ts +34 -0
  47. package/dist/debug/jsonview/ArchbaseJsonViewDataTypeDetection.d.ts +8 -0
  48. package/dist/debug/jsonview/index.d.ts +11 -0
  49. package/dist/debug/objectinspector/ArchbaseDebugInspector.d.ts +23 -0
  50. package/dist/debug/objectinspector/ArchbaseFloatingWindow.d.ts +24 -0
  51. package/dist/debug/objectinspector/ArchbaseObjectInspector.d.ts +6 -0
  52. package/dist/debug/objectinspector/index.d.ts +3 -0
  53. package/dist/display/index.d.ts +4 -0
  54. package/dist/editors/ArchbaseAsyncMultiSelect.d.ts +112 -0
  55. package/dist/editors/ArchbaseAsyncSelect.context.d.ts +8 -0
  56. package/dist/editors/ArchbaseAsyncSelect.d.ts +102 -0
  57. package/dist/editors/ArchbaseAvatarEdit.d.ts +49 -0
  58. package/dist/editors/ArchbaseCheckbox.d.ts +45 -0
  59. package/dist/editors/ArchbaseChip.d.ts +43 -0
  60. package/dist/editors/ArchbaseChipGroup.d.ts +42 -0
  61. package/dist/editors/ArchbaseChipItem.d.ts +18 -0
  62. package/dist/editors/ArchbaseColorPicker.d.ts +3 -0
  63. package/dist/editors/ArchbaseCountdownProgress.d.ts +5 -0
  64. package/dist/editors/ArchbaseCronExpressionEdit.d.ts +16 -0
  65. package/dist/editors/ArchbaseCronExpressionEditor.d.ts +8 -0
  66. package/dist/editors/ArchbaseDatePicker.d.ts +2 -0
  67. package/dist/editors/ArchbaseDatePickerEdit.d.ts +85 -0
  68. package/dist/editors/ArchbaseDatePickerRange.d.ts +47 -0
  69. package/dist/editors/ArchbaseDateTimePickerEdit.d.ts +43 -0
  70. package/dist/editors/ArchbaseDateTimePickerRange.d.ts +58 -0
  71. package/dist/editors/ArchbaseEdit.d.ts +56 -0
  72. package/dist/editors/ArchbaseEdit.example.d.ts +8 -0
  73. package/dist/editors/ArchbaseFileAttachment.d.ts +17 -0
  74. package/dist/editors/ArchbaseImageEdit.d.ts +50 -0
  75. package/dist/editors/ArchbaseJsonEdit.d.ts +49 -0
  76. package/dist/editors/ArchbaseKeyValueEditor.d.ts +22 -0
  77. package/dist/editors/ArchbaseLookupEdit.d.ts +57 -0
  78. package/dist/editors/ArchbaseLookupNumber.d.ts +69 -0
  79. package/dist/editors/ArchbaseLookupSelect.d.ts +9 -0
  80. package/dist/editors/ArchbaseMarkdownEdit.d.ts +52 -0
  81. package/dist/editors/ArchbaseMaskEdit.d.ts +79 -0
  82. package/dist/editors/ArchbaseNumberEdit.d.ts +51 -0
  83. package/dist/editors/ArchbaseNumberInput.d.ts +2 -0
  84. package/dist/editors/ArchbaseOperationHoursEditor.d.ts +8 -0
  85. package/dist/editors/ArchbasePasswordEdit.d.ts +44 -0
  86. package/dist/editors/ArchbasePasswordInput.d.ts +2 -0
  87. package/dist/editors/ArchbaseRadio.d.ts +2 -0
  88. package/dist/editors/ArchbaseRadioGroup.d.ts +45 -0
  89. package/dist/editors/ArchbaseRadioItem.d.ts +12 -0
  90. package/dist/editors/ArchbaseRating.d.ts +52 -0
  91. package/dist/editors/ArchbaseRichTextEdit.d.ts +80 -0
  92. package/dist/editors/ArchbaseSelect.context.d.ts +8 -0
  93. package/dist/editors/ArchbaseSelect.d.ts +107 -0
  94. package/dist/editors/ArchbaseSelectItem.d.ts +15 -0
  95. package/dist/editors/ArchbaseSwitch.d.ts +53 -0
  96. package/dist/editors/ArchbaseTextArea.d.ts +47 -0
  97. package/dist/editors/ArchbaseTimeEdit.d.ts +52 -0
  98. package/dist/editors/ArchbaseTimeRangeSelector.d.ts +40 -0
  99. package/dist/editors/ArchbaseTreeSelect.d.ts +65 -0
  100. package/dist/editors/index.d.ts +81 -0
  101. package/dist/feedback/index.d.ts +4 -0
  102. package/dist/filters/ArchbaseCompositeFilters.d.ts +23 -0
  103. package/dist/filters/ArchbaseCompositeFilters.types.d.ts +303 -0
  104. package/dist/filters/ArchbaseCompositeFilters.utils.d.ts +69 -0
  105. package/dist/filters/components/FilterPill.d.ts +5 -0
  106. package/dist/filters/hooks/index.d.ts +4 -0
  107. package/dist/filters/hooks/useArchbaseFilterHistory.d.ts +24 -0
  108. package/dist/filters/hooks/useArchbaseFilterPresets.d.ts +23 -0
  109. package/dist/filters/hooks/useArchbaseFilters.d.ts +32 -0
  110. package/dist/filters/hooks/useArchbaseQuickFilters.d.ts +26 -0
  111. package/dist/filters/index.d.ts +8 -0
  112. package/dist/forms/index.d.ts +3 -0
  113. package/dist/hooks/index.d.ts +5 -0
  114. package/dist/hooks/useArchbaseContainerDimensions.d.ts +4 -0
  115. package/dist/hooks/useArchbaseElementSizeArea.d.ts +6 -0
  116. package/dist/hooks/useArchbaseListContext.d.ts +2 -0
  117. package/dist/hooks/useArchbaseNavigateParams.d.ts +3 -0
  118. package/dist/hooks/useArchbaseVisible.d.ts +2 -0
  119. package/dist/image/ArchbaseImage.d.ts +33 -0
  120. package/dist/image/ArchbaseMicrosoftAvatar.d.ts +7 -0
  121. package/dist/image/editor/components/BasicFilters/BasicFilter.d.ts +9 -0
  122. package/dist/image/editor/components/CropprWrapper/ArchbaseCropperWrapper.d.ts +12 -0
  123. package/dist/image/editor/components/EditImage/ArchbaseEditImage.d.ts +11 -0
  124. package/dist/image/editor/components/Input/Input.d.ts +9 -0
  125. package/dist/image/editor/components/Tab/Tab.d.ts +23 -0
  126. package/dist/image/editor/functions/croppr/box.d.ts +95 -0
  127. package/dist/image/editor/functions/croppr/core.d.ts +121 -0
  128. package/dist/image/editor/functions/croppr/croppr.d.ts +68 -0
  129. package/dist/image/editor/functions/croppr/handle.d.ts +23 -0
  130. package/dist/image/editor/functions/croppr/index.d.ts +2 -0
  131. package/dist/image/editor/functions/croppr/touch.d.ts +10 -0
  132. package/dist/image/editor/functions/image-processing.d.ts +11 -0
  133. package/dist/image/editor/index.d.ts +12 -0
  134. package/dist/image/editor/models/index.models.d.ts +45 -0
  135. package/dist/image/index.d.ts +7 -0
  136. package/dist/image/languages.d.ts +299 -0
  137. package/dist/index.css +1 -0
  138. package/dist/index.d.ts +27 -0
  139. package/dist/index.js +18368 -0
  140. package/dist/jsonschema/ArchbaseJsonSchemaEditor.types.d.ts +131 -0
  141. package/dist/jsonschema/JsonSchemaEditor/ArchbaseJsonSchemaEditor.context.d.ts +7 -0
  142. package/dist/jsonschema/JsonSchemaEditor/ArchbaseJsonSchemaEditor.d.ts +9 -0
  143. package/dist/jsonschema/JsonSchemaEditor/advanced-boolean/index.d.ts +2 -0
  144. package/dist/jsonschema/JsonSchemaEditor/advanced-number/index.d.ts +2 -0
  145. package/dist/jsonschema/JsonSchemaEditor/advanced-string/index.d.ts +2 -0
  146. package/dist/jsonschema/JsonSchemaEditor/drop-plus/index.d.ts +10 -0
  147. package/dist/jsonschema/JsonSchemaEditor/index.d.ts +2 -0
  148. package/dist/jsonschema/JsonSchemaEditor/schema-advanced/index.d.ts +6 -0
  149. package/dist/jsonschema/JsonSchemaEditor/schema-array/index.d.ts +8 -0
  150. package/dist/jsonschema/JsonSchemaEditor/schema-item/index.d.ts +11 -0
  151. package/dist/jsonschema/JsonSchemaEditor/schema-object/index.d.ts +7 -0
  152. package/dist/jsonschema/JsonSchemaEditor/schema-root/index.d.ts +8 -0
  153. package/dist/jsonschema/JsonSchemaEditor/utils.d.ts +25 -0
  154. package/dist/jsonschema/JsonSchemaEditor/whoops.d.ts +2 -0
  155. package/dist/jsonschema/index.d.ts +2 -0
  156. package/dist/list/ArchbaseList.context.d.ts +27 -0
  157. package/dist/list/ArchbaseList.d.ts +104 -0
  158. package/dist/list/ArchbaseListItem.d.ts +59 -0
  159. package/dist/list/index.d.ts +8 -0
  160. package/dist/list/treeview/ArchbaseTreeView.d.ts +44 -0
  161. package/dist/list/treeview/ArchbaseTreeView.types.d.ts +40 -0
  162. package/dist/list/treeview/ArchbaseTreeViewItem.d.ts +19 -0
  163. package/dist/list/treeview/index.d.ts +5 -0
  164. package/dist/list-view/ArchbaseListViewTable.d.ts +111 -0
  165. package/dist/list-view/index.d.ts +2 -0
  166. package/dist/markdown/ArchbaseMarkdown.d.ts +23 -0
  167. package/dist/markdown/ArchbaseMarkdown.types.d.ts +181 -0
  168. package/dist/markdown/components/CodeBlock.d.ts +23 -0
  169. package/dist/markdown/components/LinkRenderer.d.ts +16 -0
  170. package/dist/markdown/index.d.ts +11 -0
  171. package/dist/masonry/ArchbaseMasonry.context.d.ts +21 -0
  172. package/dist/masonry/ArchbaseMasonry.d.ts +35 -0
  173. package/dist/masonry/index.d.ts +5 -0
  174. package/dist/navigation/index.d.ts +3 -0
  175. package/dist/notification/ArchbaseAlert.d.ts +22 -0
  176. package/dist/notification/ArchbaseDialog.d.ts +16 -0
  177. package/dist/notification/ArchbaseNotifications.d.ts +5 -0
  178. package/dist/notification/index.d.ts +4 -0
  179. package/dist/onboarding/ArchbaseOnboardingTour.d.ts +99 -0
  180. package/dist/onboarding/index.d.ts +2 -0
  181. package/dist/printer/ArchbaseThermalPrinter.d.ts +27 -0
  182. package/dist/printer/ArchbaseThermalPrinter.types.d.ts +199 -0
  183. package/dist/printer/index.d.ts +9 -0
  184. package/dist/printer/utils/escpos.d.ts +127 -0
  185. package/dist/spreadsheet/ArchbaseSpreadsheetImport.d.ts +4 -0
  186. package/dist/spreadsheet/ArchbaseSpreadsheetImport.types.d.ts +65 -0
  187. package/dist/spreadsheet/index.d.ts +2 -0
  188. package/dist/theme-editor/ArchbaseThemeEditor.d.ts +17 -0
  189. package/dist/theme-editor/ArchbaseThemeEditor.types.d.ts +187 -0
  190. package/dist/theme-editor/index.d.ts +9 -0
  191. package/dist/theme-editor/utils/themeExport.d.ts +198 -0
  192. package/dist/themes/ArchbaseThemeEditor.d.ts +49 -0
  193. package/dist/types/index.d.ts +106 -0
  194. package/dist/video/ArchbaseVideoPlayer.d.ts +18 -0
  195. package/dist/video/ArchbaseVideoPlayer.types.d.ts +200 -0
  196. package/dist/video/hooks/useVideoPlayer.d.ts +58 -0
  197. package/dist/video/index.d.ts +10 -0
  198. package/dist/viewers/ArchbasePDFViewer.annotations.d.ts +20 -0
  199. package/dist/viewers/ArchbasePDFViewer.d.ts +2 -0
  200. package/dist/viewers/ArchbasePDFViewer.toolbar.d.ts +20 -0
  201. package/dist/viewers/ArchbasePDFViewer.types.d.ts +68 -0
  202. package/dist/viewers/file-preview/ArchbaseFilePreviewer.d.ts +19 -0
  203. package/dist/viewers/file-preview/ArchbaseFilePreviewer.types.d.ts +153 -0
  204. package/dist/viewers/file-preview/index.d.ts +13 -0
  205. package/dist/viewers/file-preview/utils/fileTypeDetector.d.ts +33 -0
  206. package/dist/viewers/index.d.ts +5 -0
  207. package/package.json +154 -0
  208. package/src/admin/types.ts +73 -0
  209. package/src/arco.css +6 -0
  210. package/src/buttons/ActionsDemo.tsx +107 -0
  211. package/src/buttons/ArchbaseActionButtons.d.ts.map +1 -0
  212. package/src/buttons/ArchbaseActionButtons.tsx +387 -0
  213. package/src/buttons/index.d.ts.map +1 -0
  214. package/src/buttons/index.ts +7 -0
  215. package/src/charts/ArchbaseTimeline.d.ts.map +1 -0
  216. package/src/charts/ArchbaseTimeline.tsx +332 -0
  217. package/src/charts/index.d.ts.map +1 -0
  218. package/src/charts/index.ts +5 -0
  219. package/src/charts/vis-timeline/ArchbaseVisTimeline.tsx +401 -0
  220. package/src/charts/vis-timeline/ArchbaseVisTimeline.types.ts +294 -0
  221. package/src/charts/vis-timeline/index.ts +36 -0
  222. package/src/charts/vis-timeline/utils/timelineOptions.ts +213 -0
  223. package/src/datagrid/components/index.d.ts.map +1 -0
  224. package/src/datagrid/components/index.tsx +14 -0
  225. package/src/datagrid/components/pagination/grid-pagination.d.ts.map +1 -0
  226. package/src/datagrid/components/pagination/grid-pagination.tsx +150 -0
  227. package/src/datagrid/components/render/archbase-data-grid-item-renderer.tsx +26 -0
  228. package/src/datagrid/components/toolbar/global-search-input.d.ts.map +1 -0
  229. package/src/datagrid/components/toolbar/global-search-input.tsx +118 -0
  230. package/src/datagrid/components/toolbar/grid-toolbar.d.ts.map +1 -0
  231. package/src/datagrid/components/toolbar/grid-toolbar.tsx +106 -0
  232. package/src/datagrid/hooks/index.d.ts.map +1 -0
  233. package/src/datagrid/hooks/index.tsx +18 -0
  234. package/src/datagrid/hooks/use-grid-data-stable-rendering.d.ts.map +1 -0
  235. package/src/datagrid/hooks/use-grid-data-stable-rendering.ts +168 -0
  236. package/src/datagrid/hooks/use-grid-data.d.ts.map +1 -0
  237. package/src/datagrid/hooks/use-grid-data.tsx +598 -0
  238. package/src/datagrid/hooks/use-grid-details-panel.d.ts.map +1 -0
  239. package/src/datagrid/hooks/use-grid-details-panel.ts +316 -0
  240. package/src/datagrid/index.d.ts.map +1 -0
  241. package/src/datagrid/index.tsx +12 -0
  242. package/src/datagrid/main/archbase-data-grid-column.d.ts.map +1 -0
  243. package/src/datagrid/main/archbase-data-grid-column.ts +46 -0
  244. package/src/datagrid/main/archbase-data-grid-formatters.d.ts.map +1 -0
  245. package/src/datagrid/main/archbase-data-grid-formatters.tsx +384 -0
  246. package/src/datagrid/main/archbase-data-grid-pagination.d.ts.map +1 -0
  247. package/src/datagrid/main/archbase-data-grid-pagination.tsx +63 -0
  248. package/src/datagrid/main/archbase-data-grid-toolbar.d.ts.map +1 -0
  249. package/src/datagrid/main/archbase-data-grid-toolbar.tsx +160 -0
  250. package/src/datagrid/main/archbase-data-grid-types.d.ts.map +1 -0
  251. package/src/datagrid/main/archbase-data-grid-types.tsx +327 -0
  252. package/src/datagrid/main/archbase-data-grid-utils.d.ts.map +1 -0
  253. package/src/datagrid/main/archbase-data-grid-utils.ts +494 -0
  254. package/src/datagrid/main/archbase-data-grid.d.ts.map +1 -0
  255. package/src/datagrid/main/archbase-data-grid.tsx +1462 -0
  256. package/src/datagrid/main/archbase-detail-panel-component.d.ts.map +1 -0
  257. package/src/datagrid/main/archbase-detail-panel-component.tsx +186 -0
  258. package/src/datagrid/main/archbase-expand-button.d.ts.map +1 -0
  259. package/src/datagrid/main/archbase-expand-button.tsx +83 -0
  260. package/src/datagrid/main/archbase-grid-popover.d.ts.map +1 -0
  261. package/src/datagrid/main/archbase-grid-popover.tsx +188 -0
  262. package/src/datagrid/main/grid-row-actions.d.ts.map +1 -0
  263. package/src/datagrid/main/grid-row-actions.tsx +97 -0
  264. package/src/datagrid/main/index.d.ts.map +1 -0
  265. package/src/datagrid/main/index.tsx +75 -0
  266. package/src/datagrid/modals/export-data.d.ts.map +1 -0
  267. package/src/datagrid/modals/export-data.tsx +183 -0
  268. package/src/datagrid/modals/export-modal.d.ts.map +1 -0
  269. package/src/datagrid/modals/export-modal.tsx +168 -0
  270. package/src/datagrid/modals/index.d.ts.map +1 -0
  271. package/src/datagrid/modals/index.tsx +6 -0
  272. package/src/datagrid/modals/print-data.d.ts.map +1 -0
  273. package/src/datagrid/modals/print-data.tsx +267 -0
  274. package/src/datagrid/modals/print-modal.d.ts.map +1 -0
  275. package/src/datagrid/modals/print-modal.tsx +200 -0
  276. package/src/datagrid/types/grid-props.d.ts.map +1 -0
  277. package/src/datagrid/types/grid-props.tsx +53 -0
  278. package/src/datagrid/types/index.d.ts.map +1 -0
  279. package/src/datagrid/types/index.tsx +1 -0
  280. package/src/datagrid/utils/formatter.d.ts.map +1 -0
  281. package/src/datagrid/utils/formatter.tsx +308 -0
  282. package/src/datagrid/utils/index.d.ts.map +1 -0
  283. package/src/datagrid/utils/index.tsx +1 -0
  284. package/src/debug/index.d.ts.map +1 -0
  285. package/src/debug/index.ts +4 -0
  286. package/src/debug/jsonpathpicker/ArchbaseJsonPathPicker.css +46 -0
  287. package/src/debug/jsonpathpicker/ArchbaseJsonPathPicker.d.ts.map +1 -0
  288. package/src/debug/jsonpathpicker/ArchbaseJsonPathPicker.tsx +341 -0
  289. package/src/debug/jsonpathpicker/index.d.ts.map +1 -0
  290. package/src/debug/jsonpathpicker/index.ts +1 -0
  291. package/src/debug/jsonview/.eslintrc +5 -0
  292. package/src/debug/jsonview/ArchbaseJsonViewDataRenderer.d.ts.map +1 -0
  293. package/src/debug/jsonview/ArchbaseJsonViewDataRenderer.tsx +206 -0
  294. package/src/debug/jsonview/ArchbaseJsonViewDataTypeDetection.d.ts.map +1 -0
  295. package/src/debug/jsonview/ArchbaseJsonViewDataTypeDetection.ts +31 -0
  296. package/src/debug/jsonview/index.d.ts.map +1 -0
  297. package/src/debug/jsonview/index.tsx +60 -0
  298. package/src/debug/jsonview/styles.module.css +118 -0
  299. package/src/debug/jsonview/styles.module.css.d.ts +4 -0
  300. package/src/debug/objectinspector/ArchbaseDebugInspector.d.ts.map +1 -0
  301. package/src/debug/objectinspector/ArchbaseDebugInspector.tsx +79 -0
  302. package/src/debug/objectinspector/ArchbaseFloatingWindow.css +70 -0
  303. package/src/debug/objectinspector/ArchbaseFloatingWindow.d.ts.map +1 -0
  304. package/src/debug/objectinspector/ArchbaseFloatingWindow.tsx +266 -0
  305. package/src/debug/objectinspector/ArchbaseObjectInspector.d.ts.map +1 -0
  306. package/src/debug/objectinspector/ArchbaseObjectInspector.tsx +21 -0
  307. package/src/debug/objectinspector/index.d.ts.map +1 -0
  308. package/src/debug/objectinspector/index.ts +3 -0
  309. package/src/display/index.d.ts.map +1 -0
  310. package/src/display/index.ts +5 -0
  311. package/src/editors/ArchbaseAsyncMultiSelect.d.ts.map +1 -0
  312. package/src/editors/ArchbaseAsyncMultiSelect.tsx +667 -0
  313. package/src/editors/ArchbaseAsyncSelect.context.d.ts.map +1 -0
  314. package/src/editors/ArchbaseAsyncSelect.context.ts +9 -0
  315. package/src/editors/ArchbaseAsyncSelect.d.ts.map +1 -0
  316. package/src/editors/ArchbaseAsyncSelect.tsx +581 -0
  317. package/src/editors/ArchbaseAvatarEdit.d.ts.map +1 -0
  318. package/src/editors/ArchbaseAvatarEdit.tsx +625 -0
  319. package/src/editors/ArchbaseCheckbox.d.ts.map +1 -0
  320. package/src/editors/ArchbaseCheckbox.tsx +250 -0
  321. package/src/editors/ArchbaseChip.d.ts.map +1 -0
  322. package/src/editors/ArchbaseChip.tsx +233 -0
  323. package/src/editors/ArchbaseChipGroup.d.ts.map +1 -0
  324. package/src/editors/ArchbaseChipGroup.tsx +282 -0
  325. package/src/editors/ArchbaseChipItem.d.ts.map +1 -0
  326. package/src/editors/ArchbaseChipItem.tsx +21 -0
  327. package/src/editors/ArchbaseColorPicker.d.ts.map +1 -0
  328. package/src/editors/ArchbaseColorPicker.tsx +7 -0
  329. package/src/editors/ArchbaseCountdownProgress.d.ts.map +1 -0
  330. package/src/editors/ArchbaseCountdownProgress.tsx +57 -0
  331. package/src/editors/ArchbaseCronExpressionEdit.d.ts.map +1 -0
  332. package/src/editors/ArchbaseCronExpressionEdit.tsx +86 -0
  333. package/src/editors/ArchbaseCronExpressionEditor.d.ts.map +1 -0
  334. package/src/editors/ArchbaseCronExpressionEditor.tsx +133 -0
  335. package/src/editors/ArchbaseDatePicker.tsx +3 -0
  336. package/src/editors/ArchbaseDatePickerEdit.d.ts.map +1 -0
  337. package/src/editors/ArchbaseDatePickerEdit.tsx +785 -0
  338. package/src/editors/ArchbaseDatePickerRange.d.ts.map +1 -0
  339. package/src/editors/ArchbaseDatePickerRange.tsx +142 -0
  340. package/src/editors/ArchbaseDateTimePickerEdit.d.ts.map +1 -0
  341. package/src/editors/ArchbaseDateTimePickerEdit.tsx +259 -0
  342. package/src/editors/ArchbaseDateTimePickerRange.d.ts.map +1 -0
  343. package/src/editors/ArchbaseDateTimePickerRange.tsx +220 -0
  344. package/src/editors/ArchbaseEdit.d.ts.map +1 -0
  345. package/src/editors/ArchbaseEdit.example.tsx +240 -0
  346. package/src/editors/ArchbaseEdit.tsx +325 -0
  347. package/src/editors/ArchbaseFileAttachment.d.ts.map +1 -0
  348. package/src/editors/ArchbaseFileAttachment.tsx +259 -0
  349. package/src/editors/ArchbaseImageEdit.d.ts.map +1 -0
  350. package/src/editors/ArchbaseImageEdit.tsx +255 -0
  351. package/src/editors/ArchbaseJsonEdit.d.ts.map +1 -0
  352. package/src/editors/ArchbaseJsonEdit.tsx +257 -0
  353. package/src/editors/ArchbaseKeyValueEditor.d.ts.map +1 -0
  354. package/src/editors/ArchbaseKeyValueEditor.tsx +180 -0
  355. package/src/editors/ArchbaseLookupEdit.d.ts.map +1 -0
  356. package/src/editors/ArchbaseLookupEdit.tsx +368 -0
  357. package/src/editors/ArchbaseLookupNumber.d.ts.map +1 -0
  358. package/src/editors/ArchbaseLookupNumber.tsx +390 -0
  359. package/src/editors/ArchbaseLookupSelect.d.ts.map +1 -0
  360. package/src/editors/ArchbaseLookupSelect.tsx +225 -0
  361. package/src/editors/ArchbaseMarkdownEdit.tsx +367 -0
  362. package/src/editors/ArchbaseMaskEdit.d.ts.map +1 -0
  363. package/src/editors/ArchbaseMaskEdit.tsx +346 -0
  364. package/src/editors/ArchbaseNumberEdit.d.ts.map +1 -0
  365. package/src/editors/ArchbaseNumberEdit.tsx +626 -0
  366. package/src/editors/ArchbaseNumberInput.tsx +3 -0
  367. package/src/editors/ArchbaseOperationHoursEditor.d.ts.map +1 -0
  368. package/src/editors/ArchbaseOperationHoursEditor.tsx +206 -0
  369. package/src/editors/ArchbasePasswordEdit.d.ts.map +1 -0
  370. package/src/editors/ArchbasePasswordEdit.tsx +265 -0
  371. package/src/editors/ArchbasePasswordInput.tsx +3 -0
  372. package/src/editors/ArchbaseRadio.tsx +3 -0
  373. package/src/editors/ArchbaseRadioGroup.d.ts.map +1 -0
  374. package/src/editors/ArchbaseRadioGroup.tsx +293 -0
  375. package/src/editors/ArchbaseRadioItem.d.ts.map +1 -0
  376. package/src/editors/ArchbaseRadioItem.tsx +14 -0
  377. package/src/editors/ArchbaseRating.d.ts.map +1 -0
  378. package/src/editors/ArchbaseRating.tsx +236 -0
  379. package/src/editors/ArchbaseRichTextEdit.d.ts.map +1 -0
  380. package/src/editors/ArchbaseRichTextEdit.tsx +435 -0
  381. package/src/editors/ArchbaseSelect.context.d.ts.map +1 -0
  382. package/src/editors/ArchbaseSelect.context.ts +9 -0
  383. package/src/editors/ArchbaseSelect.d.ts.map +1 -0
  384. package/src/editors/ArchbaseSelect.tsx +550 -0
  385. package/src/editors/ArchbaseSelectItem.d.ts.map +1 -0
  386. package/src/editors/ArchbaseSelectItem.tsx +18 -0
  387. package/src/editors/ArchbaseSwitch.d.ts.map +1 -0
  388. package/src/editors/ArchbaseSwitch.tsx +266 -0
  389. package/src/editors/ArchbaseTextArea.d.ts.map +1 -0
  390. package/src/editors/ArchbaseTextArea.tsx +263 -0
  391. package/src/editors/ArchbaseTimeEdit.d.ts.map +1 -0
  392. package/src/editors/ArchbaseTimeEdit.tsx +319 -0
  393. package/src/editors/ArchbaseTimeRangeSelector.d.ts.map +1 -0
  394. package/src/editors/ArchbaseTimeRangeSelector.tsx +397 -0
  395. package/src/editors/ArchbaseTreeSelect.d.ts.map +1 -0
  396. package/src/editors/ArchbaseTreeSelect.tsx +434 -0
  397. package/src/editors/index.d.ts.map +1 -0
  398. package/src/editors/index.tsx +121 -0
  399. package/src/editors/intro.mdx +4 -0
  400. package/src/feedback/index.d.ts.map +1 -0
  401. package/src/feedback/index.ts +5 -0
  402. package/src/filters/ArchbaseCompositeFilters.tsx +696 -0
  403. package/src/filters/ArchbaseCompositeFilters.types.ts +402 -0
  404. package/src/filters/ArchbaseCompositeFilters.utils.ts +378 -0
  405. package/src/filters/components/FilterPill.tsx +100 -0
  406. package/src/filters/hooks/index.ts +4 -0
  407. package/src/filters/hooks/useArchbaseFilterHistory.ts +111 -0
  408. package/src/filters/hooks/useArchbaseFilterPresets.ts +157 -0
  409. package/src/filters/hooks/useArchbaseFilters.ts +279 -0
  410. package/src/filters/hooks/useArchbaseQuickFilters.ts +80 -0
  411. package/src/filters/index.ts +55 -0
  412. package/src/forms/index.d.ts.map +1 -0
  413. package/src/forms/index.ts +4 -0
  414. package/src/hooks/index.d.ts.map +1 -0
  415. package/src/hooks/index.ts +5 -0
  416. package/src/hooks/useArchbaseContainerDimensions.d.ts.map +1 -0
  417. package/src/hooks/useArchbaseContainerDimensions.ts +28 -0
  418. package/src/hooks/useArchbaseElementSizeArea.d.ts.map +1 -0
  419. package/src/hooks/useArchbaseElementSizeArea.ts +39 -0
  420. package/src/hooks/useArchbaseListContext.d.ts.map +1 -0
  421. package/src/hooks/useArchbaseListContext.ts +10 -0
  422. package/src/hooks/useArchbaseNavigateParams.d.ts.map +1 -0
  423. package/src/hooks/useArchbaseNavigateParams.ts +17 -0
  424. package/src/hooks/useArchbaseVisible.d.ts.map +1 -0
  425. package/src/hooks/useArchbaseVisible.ts +35 -0
  426. package/src/image/.placeholder +0 -0
  427. package/src/image/ArchbaseImage.d.ts.map +1 -0
  428. package/src/image/ArchbaseImage.tsx +56 -0
  429. package/src/image/ArchbaseMicrosoftAvatar.d.ts.map +1 -0
  430. package/src/image/ArchbaseMicrosoftAvatar.tsx +50 -0
  431. package/src/image/editor/components/BasicFilters/BasicFilter.d.ts.map +1 -0
  432. package/src/image/editor/components/BasicFilters/BasicFilter.tsx +179 -0
  433. package/src/image/editor/components/CropprWrapper/ArchbaseCropper.scss +73 -0
  434. package/src/image/editor/components/CropprWrapper/ArchbaseCropperWrapper.d.ts.map +1 -0
  435. package/src/image/editor/components/CropprWrapper/ArchbaseCropperWrapper.tsx +50 -0
  436. package/src/image/editor/components/EditImage/ArchbaseEditImage.d.ts.map +1 -0
  437. package/src/image/editor/components/EditImage/ArchbaseEditImage.scss +221 -0
  438. package/src/image/editor/components/EditImage/ArchbaseEditImage.tsx +469 -0
  439. package/src/image/editor/components/Input/Input.d.ts.map +1 -0
  440. package/src/image/editor/components/Input/Input.tsx +70 -0
  441. package/src/image/editor/components/Tab/Tab.d.ts.map +1 -0
  442. package/src/image/editor/components/Tab/Tab.tsx +150 -0
  443. package/src/image/editor/components/Tab/TabsStyles.scss +72 -0
  444. package/src/image/editor/functions/croppr/box.d.ts.map +1 -0
  445. package/src/image/editor/functions/croppr/box.ts +272 -0
  446. package/src/image/editor/functions/croppr/core.d.ts.map +1 -0
  447. package/src/image/editor/functions/croppr/core.ts +820 -0
  448. package/src/image/editor/functions/croppr/croppr.d.ts.map +1 -0
  449. package/src/image/editor/functions/croppr/croppr.ts +136 -0
  450. package/src/image/editor/functions/croppr/handle.d.ts.map +1 -0
  451. package/src/image/editor/functions/croppr/handle.ts +75 -0
  452. package/src/image/editor/functions/croppr/index.d.ts.map +1 -0
  453. package/src/image/editor/functions/croppr/index.ts +4 -0
  454. package/src/image/editor/functions/croppr/touch.d.ts.map +1 -0
  455. package/src/image/editor/functions/croppr/touch.ts +41 -0
  456. package/src/image/editor/functions/image-processing.d.ts.map +1 -0
  457. package/src/image/editor/functions/image-processing.ts +202 -0
  458. package/src/image/editor/image_editor_styles.scss +284 -0
  459. package/src/image/editor/index.d.ts.map +1 -0
  460. package/src/image/editor/index.tsx +437 -0
  461. package/src/image/editor/models/index.models.d.ts.map +1 -0
  462. package/src/image/editor/models/index.models.ts +48 -0
  463. package/src/image/index.d.ts.map +1 -0
  464. package/src/image/index.ts +7 -0
  465. package/src/image/intro.mdx +4 -0
  466. package/src/image/languages.d.ts.map +1 -0
  467. package/src/image/languages.ts +302 -0
  468. package/src/index.d.ts.map +1 -0
  469. package/src/index.ts +50 -0
  470. package/src/jsonschema/ArchbaseJsonSchemaEditor.types.d.ts.map +1 -0
  471. package/src/jsonschema/ArchbaseJsonSchemaEditor.types.ts +171 -0
  472. package/src/jsonschema/JsonSchemaEditor/ArchbaseJsonSchemaEditor.context.d.ts.map +1 -0
  473. package/src/jsonschema/JsonSchemaEditor/ArchbaseJsonSchemaEditor.context.tsx +8 -0
  474. package/src/jsonschema/JsonSchemaEditor/ArchbaseJsonSchemaEditor.d.ts.map +1 -0
  475. package/src/jsonschema/JsonSchemaEditor/ArchbaseJsonSchemaEditor.tsx +99 -0
  476. package/src/jsonschema/JsonSchemaEditor/JsonSchemaEditor.scss +19 -0
  477. package/src/jsonschema/JsonSchemaEditor/advanced-boolean/index.d.ts.map +1 -0
  478. package/src/jsonschema/JsonSchemaEditor/advanced-boolean/index.tsx +33 -0
  479. package/src/jsonschema/JsonSchemaEditor/advanced-number/index.d.ts.map +1 -0
  480. package/src/jsonschema/JsonSchemaEditor/advanced-number/index.tsx +119 -0
  481. package/src/jsonschema/JsonSchemaEditor/advanced-string/index.d.ts.map +1 -0
  482. package/src/jsonschema/JsonSchemaEditor/advanced-string/index.tsx +146 -0
  483. package/src/jsonschema/JsonSchemaEditor/drop-plus/index.d.ts.map +1 -0
  484. package/src/jsonschema/JsonSchemaEditor/drop-plus/index.tsx +80 -0
  485. package/src/jsonschema/JsonSchemaEditor/index.ts +2 -0
  486. package/src/jsonschema/JsonSchemaEditor/schema-advanced/index.d.ts.map +1 -0
  487. package/src/jsonschema/JsonSchemaEditor/schema-advanced/index.tsx +32 -0
  488. package/src/jsonschema/JsonSchemaEditor/schema-array/index.d.ts.map +1 -0
  489. package/src/jsonschema/JsonSchemaEditor/schema-array/index.tsx +164 -0
  490. package/src/jsonschema/JsonSchemaEditor/schema-item/index.d.ts.map +1 -0
  491. package/src/jsonschema/JsonSchemaEditor/schema-item/index.tsx +213 -0
  492. package/src/jsonschema/JsonSchemaEditor/schema-object/index.d.ts.map +1 -0
  493. package/src/jsonschema/JsonSchemaEditor/schema-object/index.tsx +68 -0
  494. package/src/jsonschema/JsonSchemaEditor/schema-root/index.d.ts.map +1 -0
  495. package/src/jsonschema/JsonSchemaEditor/schema-root/index.tsx +103 -0
  496. package/src/jsonschema/JsonSchemaEditor/utils.d.ts.map +1 -0
  497. package/src/jsonschema/JsonSchemaEditor/utils.ts +195 -0
  498. package/src/jsonschema/JsonSchemaEditor/whoops.tsx +79 -0
  499. package/src/jsonschema/index.d.ts.map +1 -0
  500. package/src/jsonschema/index.ts +2 -0
  501. package/src/list/ArchbaseList.context.d.ts.map +1 -0
  502. package/src/list/ArchbaseList.context.ts +28 -0
  503. package/src/list/ArchbaseList.d.ts.map +1 -0
  504. package/src/list/ArchbaseList.tsx +533 -0
  505. package/src/list/ArchbaseListItem.d.ts.map +1 -0
  506. package/src/list/ArchbaseListItem.tsx +161 -0
  507. package/src/list/index.d.ts.map +1 -0
  508. package/src/list/index.ts +9 -0
  509. package/src/list/treeview/ArchbaseTreeView.d.ts.map +1 -0
  510. package/src/list/treeview/ArchbaseTreeView.module.css +66 -0
  511. package/src/list/treeview/ArchbaseTreeView.tsx +657 -0
  512. package/src/list/treeview/ArchbaseTreeView.types.d.ts.map +1 -0
  513. package/src/list/treeview/ArchbaseTreeView.types.tsx +42 -0
  514. package/src/list/treeview/ArchbaseTreeViewItem.d.ts.map +1 -0
  515. package/src/list/treeview/ArchbaseTreeViewItem.tsx +210 -0
  516. package/src/list/treeview/index.d.ts.map +1 -0
  517. package/src/list/treeview/index.ts +5 -0
  518. package/src/list-view/ArchbaseListViewTable.tsx +150 -0
  519. package/src/list-view/index.ts +2 -0
  520. package/src/markdown/ArchbaseMarkdown.tsx +463 -0
  521. package/src/markdown/ArchbaseMarkdown.types.ts +213 -0
  522. package/src/markdown/components/CodeBlock.tsx +197 -0
  523. package/src/markdown/components/LinkRenderer.tsx +98 -0
  524. package/src/markdown/index.ts +29 -0
  525. package/src/masonry/ArchbaseMasonry.context.d.ts.map +1 -0
  526. package/src/masonry/ArchbaseMasonry.context.ts +24 -0
  527. package/src/masonry/ArchbaseMasonry.d.ts.map +1 -0
  528. package/src/masonry/ArchbaseMasonry.tsx +156 -0
  529. package/src/masonry/index.d.ts.map +1 -0
  530. package/src/masonry/index.ts +5 -0
  531. package/src/navigation/index.d.ts.map +1 -0
  532. package/src/navigation/index.ts +4 -0
  533. package/src/notification/ArchbaseAlert.d.ts.map +1 -0
  534. package/src/notification/ArchbaseAlert.tsx +77 -0
  535. package/src/notification/ArchbaseDialog.d.ts.map +1 -0
  536. package/src/notification/ArchbaseDialog.tsx +212 -0
  537. package/src/notification/ArchbaseNotifications.d.ts.map +1 -0
  538. package/src/notification/ArchbaseNotifications.tsx +64 -0
  539. package/src/notification/index.d.ts.map +1 -0
  540. package/src/notification/index.ts +4 -0
  541. package/src/notification/intro.mdx +4 -0
  542. package/src/onboarding/ArchbaseOnboardingTour.tsx +147 -0
  543. package/src/onboarding/index.ts +2 -0
  544. package/src/printer/ArchbaseThermalPrinter.tsx +465 -0
  545. package/src/printer/ArchbaseThermalPrinter.types.ts +221 -0
  546. package/src/printer/index.ts +54 -0
  547. package/src/printer/utils/escpos.ts +531 -0
  548. package/src/spreadsheet/ArchbaseSpreadsheetImport.tsx +223 -0
  549. package/src/spreadsheet/ArchbaseSpreadsheetImport.types.ts +66 -0
  550. package/src/spreadsheet/index.ts +10 -0
  551. package/src/theme-editor/ArchbaseThemeEditor.tsx +728 -0
  552. package/src/theme-editor/ArchbaseThemeEditor.types.ts +207 -0
  553. package/src/theme-editor/index.ts +45 -0
  554. package/src/theme-editor/utils/themeExport.ts +351 -0
  555. package/src/themes/.placeholder +0 -0
  556. package/src/themes/ArchbaseThemeEditor.d.ts.map +1 -0
  557. package/src/themes/ArchbaseThemeEditor.tsx +110 -0
  558. package/src/treeviews.scss +80 -0
  559. package/src/types/index.d.ts.map +1 -0
  560. package/src/types/index.ts +115 -0
  561. package/src/video/ArchbaseVideoPlayer.tsx +706 -0
  562. package/src/video/ArchbaseVideoPlayer.types.ts +221 -0
  563. package/src/video/hooks/useVideoPlayer.ts +362 -0
  564. package/src/video/index.ts +28 -0
  565. package/src/viewers/ArchbasePDFViewer.annotations.tsx +423 -0
  566. package/src/viewers/ArchbasePDFViewer.toolbar.tsx +218 -0
  567. package/src/viewers/ArchbasePDFViewer.tsx +317 -0
  568. package/src/viewers/ArchbasePDFViewer.types.ts +85 -0
  569. package/src/viewers/file-preview/ArchbaseFilePreviewer.tsx +756 -0
  570. package/src/viewers/file-preview/ArchbaseFilePreviewer.types.ts +186 -0
  571. package/src/viewers/file-preview/index.ts +43 -0
  572. package/src/viewers/file-preview/utils/fileTypeDetector.ts +317 -0
  573. package/src/viewers/index.ts +17 -0
@@ -0,0 +1,598 @@
1
+ import { useState, useEffect, useCallback, useRef } from 'react';
2
+ import {
3
+ GridFilterModel,
4
+ GridRowSelectionModel,
5
+ GridSortModel,
6
+ GridPaginationModel,
7
+ GridCellParams,
8
+ GridCallbackDetails,
9
+ GridEventListener
10
+ } from '@mui/x-data-grid';
11
+ import { ArchbaseDataSource, DataSourceEvent, DataSourceEventNames, IArchbaseDataSourceBase } from '@archbase/data';
12
+ import { useArchbaseV1V2Compatibility } from '@archbase/data';
13
+
14
+ /**
15
+ * Interface para o estado do grid
16
+ */
17
+ export interface ArchbaseGridState<T> {
18
+ // Dados
19
+ rows: T[];
20
+ totalRecords: number;
21
+ totalPages: number;
22
+ isLoading: boolean;
23
+ paginationModel: GridPaginationModel;
24
+ sortModel: GridSortModel;
25
+ filterModel: GridFilterModel;
26
+ selectionModel: GridRowSelectionModel;
27
+ selectedRowsData: T[];
28
+
29
+ // Métodos
30
+ setPaginationModel: (model: GridPaginationModel) => void;
31
+ setSortModel: (model: GridSortModel) => void;
32
+ setFilterModel: (model: GridFilterModel) => void;
33
+ setSelectionModel: (model: GridRowSelectionModel) => void;
34
+ refreshData: () => void;
35
+ handleCellKeyDown: GridEventListener<'cellKeyDown'>;
36
+ }
37
+
38
+ /**
39
+ * Função para construir expressão de busca global
40
+ */
41
+ const buildGlobalFilterExpression = (filterValue: string, columns: any[]): string | undefined => {
42
+ if (!filterValue || !columns || columns.length === 0) {
43
+ return undefined;
44
+ }
45
+
46
+ // Filtrar colunas que suportam busca global
47
+ const filterableColumns = columns.filter(col => col.enableGlobalFilter !== false);
48
+
49
+ if (filterableColumns.length === 0) {
50
+ return undefined;
51
+ }
52
+
53
+ return `globalSearch=*${filterValue}*`;
54
+ };
55
+
56
+ /**
57
+ * Constrói uma expressão de filtro
58
+ */
59
+ const buildFilterExpression = (filterModel: GridFilterModel, columns: any[]): string | undefined => {
60
+ // Se não tiver filtros, verificar se tem filtro global
61
+ if (!filterModel.items || filterModel.items.length === 0) {
62
+ if (filterModel.quickFilterValues && filterModel.quickFilterValues.length > 0) {
63
+ const globalFilterValue = filterModel.quickFilterValues[0];
64
+ if (globalFilterValue) {
65
+ return buildGlobalFilterExpression(globalFilterValue, columns);
66
+ }
67
+ }
68
+ return undefined;
69
+ }
70
+
71
+ // Processar filtros de coluna
72
+ const filterParts: string[] = [];
73
+
74
+ filterModel.items.forEach(item => {
75
+ const { field, operator, value } = item;
76
+
77
+ if (value === undefined || value === null || value === '') {
78
+ return;
79
+ }
80
+
81
+ let filterExpr = '';
82
+ switch (operator) {
83
+ case 'contains':
84
+ filterExpr = `${field}==*${value}*`;
85
+ break;
86
+ case 'equals':
87
+ filterExpr = `${field}==${value}`;
88
+ break;
89
+ case 'startsWith':
90
+ filterExpr = `${field}==${value}*`;
91
+ break;
92
+ case 'endsWith':
93
+ filterExpr = `${field}==*${value}`;
94
+ break;
95
+ case 'isEmpty':
96
+ filterExpr = `${field}==null`;
97
+ break;
98
+ case 'isNotEmpty':
99
+ filterExpr = `${field}!=null`;
100
+ break;
101
+ case 'is':
102
+ filterExpr = `${field}==${value}`;
103
+ break;
104
+ case 'not':
105
+ filterExpr = `${field}!=${value}`;
106
+ break;
107
+ case '>':
108
+ filterExpr = `${field}>${value}`;
109
+ break;
110
+ case '>=':
111
+ filterExpr = `${field}>=${value}`;
112
+ break;
113
+ case '<':
114
+ filterExpr = `${field}<${value}`;
115
+ break;
116
+ case '<=':
117
+ filterExpr = `${field}<=${value}`;
118
+ break;
119
+ default:
120
+ filterExpr = `${field}==${value}`;
121
+ }
122
+
123
+ if (filterExpr) {
124
+ filterParts.push(filterExpr);
125
+ }
126
+ });
127
+
128
+ // Adicionar filtro global se existir
129
+ if (filterModel.quickFilterValues && filterModel.quickFilterValues.length > 0) {
130
+ const globalFilterValue = filterModel.quickFilterValues[0];
131
+ if (globalFilterValue) {
132
+ const globalFilter = buildGlobalFilterExpression(globalFilterValue, columns);
133
+ if (globalFilter) {
134
+ filterParts.push(globalFilter);
135
+ }
136
+ }
137
+ }
138
+
139
+ if (filterParts.length === 0) {
140
+ return undefined;
141
+ }
142
+
143
+ // Combinar todos os filtros com AND (;)
144
+ return filterParts.join(';');
145
+ };
146
+
147
+ /**
148
+ * Constrói uma expressão de ordenação a partir do modelo de ordenação do MUI X DataGrid
149
+ */
150
+ const buildSortExpression = (sortModel: GridSortModel): string[] | undefined => {
151
+ if (!sortModel || sortModel.length === 0) {
152
+ return undefined;
153
+ }
154
+
155
+ return sortModel.map(sort => `${sort.field}:${sort.sort}`);
156
+ };
157
+
158
+ /**
159
+ * Obtém ordenação inicial do DataSource (V1 ou V2)
160
+ */
161
+ const getInitialSortModel = <T,>(dataSource: IArchbaseDataSourceBase<T>): GridSortModel => {
162
+ const dsWithOptions = dataSource as any;
163
+ if (dataSource && dsWithOptions.getOptions?.()?.originSort) {
164
+ return dsWithOptions.getOptions().originSort;
165
+ }
166
+
167
+ if (dataSource && dsWithOptions.getOptions?.()?.sort) {
168
+ return dsWithOptions.getOptions().sort!.map((sort: string) => {
169
+ const [field, order] = sort.split(':');
170
+ return {
171
+ field,
172
+ sort: order === 'desc' ? 'desc' : 'asc',
173
+ };
174
+ });
175
+ }
176
+
177
+ return [];
178
+ };
179
+
180
+ /**
181
+ * Hook personalizado para integrar o MUI X DataGrid com o ArchbaseDataSource (V1 ou V2)
182
+ */
183
+ export function useGridData<T extends object, ID>({
184
+ dataSource,
185
+ pageSize = 10,
186
+ pageIndex = 0,
187
+ getRowId,
188
+ columns
189
+ }: {
190
+ dataSource: IArchbaseDataSourceBase<T>;
191
+ pageSize?: number;
192
+ pageIndex?: number;
193
+ getRowId: (row: T) => any;
194
+ columns: any[];
195
+ }): ArchbaseGridState<T> {
196
+ // V1/V2 Compatibility Pattern
197
+ const {
198
+ isDataSourceV2,
199
+ v1State: { forceUpdate }
200
+ } = useArchbaseV1V2Compatibility<T>(
201
+ 'useGridData',
202
+ dataSource
203
+ );
204
+
205
+ // Ref para o dataSource para evitar loops
206
+ const dataSourceRef = useRef(dataSource);
207
+
208
+ // Estados do grid
209
+ const [rows, setRows] = useState<T[]>(() => dataSource.browseRecords());
210
+ const [isLoading, setIsLoading] = useState<boolean>(false);
211
+ const [paginationModel, setPaginationModel] = useState<GridPaginationModel>(() => ({
212
+ page: dataSource ? dataSource.getCurrentPage() : pageIndex,
213
+ pageSize: dataSource ? dataSource.getPageSize() : pageSize,
214
+ }));
215
+ const [sortModel, setSortModel] = useState<GridSortModel>(() =>
216
+ getInitialSortModel(dataSource)
217
+ );
218
+ const [filterModel, setFilterModel] = useState<GridFilterModel>(() => {
219
+ const dsWithOptions = dataSource as any;
220
+ return {
221
+ items: dataSource && dsWithOptions.getOptions?.()?.originFilter ? dsWithOptions.getOptions().originFilter : [],
222
+ quickFilterValues: dataSource && dsWithOptions.getOptions?.()?.originGlobalFilter ? [dsWithOptions.getOptions().originGlobalFilter] : []
223
+ };
224
+ });
225
+ const [selectionModel, setSelectionModel] = useState<GridRowSelectionModel>([]);
226
+ const [selectedRowsData, setSelectedRowsData] = useState<T[]>([]);
227
+ const [totalRecords, setTotalRecords] = useState<number>(() => dataSource.getGrandTotalRecords());
228
+ const [totalPages, setTotalPages] = useState<number>(() =>
229
+ Math.ceil(dataSource.getGrandTotalRecords() / (dataSource.getPageSize() || pageSize))
230
+ );
231
+
232
+ // Refs para controle de estado
233
+ const pendingRefresh = useRef<boolean>(false);
234
+ const internalSelectionChange = useRef<boolean>(false);
235
+ const isInitialMount = useRef<boolean>(true);
236
+ const eventListenerRef = useRef<any>(null);
237
+
238
+ // Atualizar a referência do dataSource
239
+ useEffect(() => {
240
+ dataSourceRef.current = dataSource;
241
+ }, [dataSource]);
242
+
243
+ // Handler para atualização de paginação
244
+ const handlePaginationModelChange = useCallback((model: GridPaginationModel) => {
245
+ setPaginationModel(model);
246
+
247
+ const ds = dataSourceRef.current as any;
248
+ const options = ds.getOptions?.() || {};
249
+ options.currentPage = model.page;
250
+ options.pageSize = model.pageSize;
251
+
252
+ pendingRefresh.current = true;
253
+ setIsLoading(true);
254
+ ds.refreshData?.(options);
255
+
256
+ // Force update for V1 DataSource
257
+ if (!isDataSourceV2) {
258
+ forceUpdate();
259
+ }
260
+ }, [forceUpdate, isDataSourceV2]);
261
+
262
+ // Handler para atualização de ordenação
263
+ const handleSortModelChange = useCallback((model: GridSortModel) => {
264
+ setSortModel(model);
265
+
266
+ const ds = dataSourceRef.current as any;
267
+ const options = ds.getOptions?.() || {};
268
+ options.sort = buildSortExpression(model);
269
+ options.originSort = model;
270
+
271
+ pendingRefresh.current = true;
272
+ setIsLoading(true);
273
+ ds.refreshData?.(options);
274
+
275
+ // Force update for V1 DataSource
276
+ if (!isDataSourceV2) {
277
+ forceUpdate();
278
+ }
279
+ }, [forceUpdate, isDataSourceV2]);
280
+
281
+ // Handler para atualização de filtros
282
+ const handleFilterModelChange = useCallback((model: GridFilterModel) => {
283
+ setFilterModel(model);
284
+
285
+ const ds = dataSourceRef.current as any;
286
+ const options = ds.getOptions?.() || {};
287
+ options.filter = buildFilterExpression(model, columns);
288
+ options.originFilter = model.items;
289
+
290
+ // Salvar também os valores de filtro global
291
+ options.originGlobalFilter = model.quickFilterValues && model.quickFilterValues.length > 0
292
+ ? model.quickFilterValues[0]
293
+ : '';
294
+
295
+ // Importante: voltar para a primeira página ao aplicar filtro
296
+ options.currentPage = 0;
297
+ setPaginationModel(prev => ({ ...prev, page: 0 }));
298
+
299
+ pendingRefresh.current = true;
300
+ setIsLoading(true);
301
+ ds.refreshData?.(options);
302
+
303
+ // Force update for V1 DataSource
304
+ if (!isDataSourceV2) {
305
+ forceUpdate();
306
+ }
307
+ }, [columns, forceUpdate, isDataSourceV2]);
308
+
309
+ // Handler para atualização de seleção
310
+ const handleSelectionModelChange = useCallback((model: GridRowSelectionModel) => {
311
+ // Impedir execução duplicada
312
+ if (internalSelectionChange.current) return;
313
+
314
+ try {
315
+ internalSelectionChange.current = true;
316
+
317
+ setSelectionModel(model);
318
+
319
+ // Mapear IDs selecionados para objetos de dados
320
+ const selected: T[] = [];
321
+ model.forEach(id => {
322
+ const rowData = rows.find(row => {
323
+ try {
324
+ return String(getRowId(row)) === String(id);
325
+ } catch (e) {
326
+ console.error("Error comparing row IDs:", e);
327
+ return false;
328
+ }
329
+ });
330
+ if (rowData) {
331
+ selected.push(rowData);
332
+ }
333
+ });
334
+
335
+ setSelectedRowsData(selected);
336
+
337
+ // Se tivermos exatamente uma linha selecionada, vamos sincronizar com o dataSource
338
+ if (model.length === 1 && selected.length === 1) {
339
+ // Verificar se o registro atual do dataSource é diferente do selecionado
340
+ const currentDataSourceRecord = dataSourceRef.current.getCurrentRecord();
341
+
342
+ // Lógica para comparar se o registro atual é diferente do selecionado
343
+ let shouldUpdateDataSource = false;
344
+
345
+ if (!currentDataSourceRecord) {
346
+ shouldUpdateDataSource = true;
347
+ } else {
348
+ try {
349
+ const currentId = getRowId(currentDataSourceRecord);
350
+ shouldUpdateDataSource = String(currentId) !== String(model[0]);
351
+ } catch (e) {
352
+ console.error("Error comparing current record:", e);
353
+ }
354
+ }
355
+
356
+ if (shouldUpdateDataSource) {
357
+ dataSourceRef.current.gotoRecordByData(selected[0]);
358
+ }
359
+ }
360
+ } finally {
361
+ // Resetar a flag após um pequeno delay para permitir que o evento seja processado
362
+ setTimeout(() => {
363
+ internalSelectionChange.current = false;
364
+ }, 200);
365
+ }
366
+ }, [rows, getRowId]);
367
+
368
+ // Handler para eventos de teclado em células
369
+ const handleCellKeyDown: GridEventListener<'cellKeyDown'> = useCallback((params, event, details) => {
370
+ // Processar apenas se não estivermos em uma operação de seleção interna
371
+ if (internalSelectionChange.current) return;
372
+
373
+ // Detectar navegação com setas
374
+ if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
375
+ // Verificar se temos uma seleção atual
376
+ if (selectionModel.length === 1) {
377
+ const currentIndex = rows.findIndex(row => {
378
+ try {
379
+ return String(getRowId(row)) === String(selectionModel[0]);
380
+ } catch (e) {
381
+ console.error("Error comparing row IDs:", e);
382
+ return false;
383
+ }
384
+ });
385
+
386
+ // Calcular próximo índice
387
+ let nextIndex = currentIndex;
388
+ if (event.key === 'ArrowUp' && currentIndex > 0) {
389
+ nextIndex = currentIndex - 1;
390
+ } else if (event.key === 'ArrowDown' && currentIndex < rows.length - 1) {
391
+ nextIndex = currentIndex + 1;
392
+ }
393
+
394
+ // Se o índice mudou, atualizar seleção e dataSource
395
+ if (nextIndex !== currentIndex) {
396
+ const nextRow = rows[nextIndex];
397
+ try {
398
+ const nextRowId = getRowId(nextRow);
399
+
400
+ // Marcar que estamos fazendo uma alteração interna para evitar loops
401
+ internalSelectionChange.current = true;
402
+
403
+ // Atualizar seleção
404
+ setSelectionModel([nextRowId]);
405
+ setSelectedRowsData([nextRow]);
406
+
407
+ // Sincronizar com o dataSource
408
+ dataSourceRef.current.gotoRecordByData(nextRow);
409
+
410
+ // Resetar a flag após um breve delay
411
+ setTimeout(() => {
412
+ internalSelectionChange.current = false;
413
+ }, 200);
414
+ } catch (e) {
415
+ console.error("Error during keyboard navigation:", e);
416
+ internalSelectionChange.current = false;
417
+ }
418
+ }
419
+ }
420
+ }
421
+ }, [rows, selectionModel, getRowId]);
422
+
423
+ // Atualiza os dados quando o dataSource muda
424
+ const refreshData = useCallback(() => {
425
+ pendingRefresh.current = true;
426
+ setIsLoading(true);
427
+ (dataSourceRef.current as any).refreshData?.();
428
+
429
+ // Force update for V1 DataSource
430
+ if (!isDataSourceV2) {
431
+ forceUpdate();
432
+ }
433
+ }, [forceUpdate, isDataSourceV2]);
434
+
435
+ // Configura o listener do DataSource uma única vez
436
+ useEffect(() => {
437
+ console.log('Setting up DataSource event listener in useGridData');
438
+
439
+ // Handler para processar eventos do DataSource
440
+ const handleDataSourceEvent = (event: DataSourceEvent<T>): void => {
441
+ // Ignorar se ainda estamos montando o componente
442
+ if (isInitialMount.current) return;
443
+
444
+ // Ignorar se estamos processando uma mudança interna
445
+ if (internalSelectionChange.current && event.type === DataSourceEventNames.afterScroll) {
446
+ return;
447
+ }
448
+
449
+ // Quando os dados são atualizados
450
+ if (event.type === DataSourceEventNames.refreshData) {
451
+ setRows(dataSourceRef.current.browseRecords());
452
+ setPaginationModel({
453
+ page: dataSourceRef.current.getCurrentPage(),
454
+ pageSize: dataSourceRef.current.getPageSize(),
455
+ });
456
+ setTotalRecords(dataSourceRef.current.getGrandTotalRecords());
457
+ setTotalPages(Math.ceil(dataSourceRef.current.getGrandTotalRecords() / dataSourceRef.current.getPageSize()));
458
+ setIsLoading(false);
459
+ pendingRefresh.current = false;
460
+
461
+ // Force update for V1 DataSource
462
+ if (!isDataSourceV2) {
463
+ forceUpdate();
464
+ }
465
+
466
+ // Após o refresh, verificar o registro atual do dataSource e atualizar a seleção na grid
467
+ const currentRecord = dataSourceRef.current.getCurrentRecord();
468
+ if (currentRecord) {
469
+ try {
470
+ const recordId = getRowId(currentRecord);
471
+ if (recordId !== undefined) {
472
+ setSelectionModel([recordId]);
473
+ setSelectedRowsData([currentRecord]);
474
+ }
475
+ } catch (e) {
476
+ console.error("Error getting row ID:", e);
477
+ }
478
+ } else {
479
+ // Se não há registro atual, limpar a seleção
480
+ setSelectionModel([]);
481
+ setSelectedRowsData([]);
482
+ }
483
+ }
484
+ // Quando os dados são modificados
485
+ else if (
486
+ event.type === DataSourceEventNames.dataChanged ||
487
+ event.type === DataSourceEventNames.afterRemove ||
488
+ event.type === DataSourceEventNames.afterSave ||
489
+ event.type === DataSourceEventNames.afterAppend ||
490
+ event.type === DataSourceEventNames.afterCancel
491
+ ) {
492
+ setRows(dataSourceRef.current.browseRecords());
493
+ setPaginationModel({
494
+ page: dataSourceRef.current.getCurrentPage(),
495
+ pageSize: dataSourceRef.current.getPageSize(),
496
+ });
497
+ setTotalRecords(dataSourceRef.current.getGrandTotalRecords());
498
+ setTotalPages(Math.ceil(dataSourceRef.current.getGrandTotalRecords() / dataSourceRef.current.getPageSize()));
499
+ setIsLoading(false);
500
+ pendingRefresh.current = false;
501
+
502
+ // Force update for V1 DataSource
503
+ if (!isDataSourceV2) {
504
+ forceUpdate();
505
+ }
506
+ }
507
+ // Quando o registro atual do dataSource muda
508
+ else if (event.type === DataSourceEventNames.afterScroll) {
509
+ // Ignorar se estamos processando uma seleção interna
510
+ if (internalSelectionChange.current) return;
511
+
512
+ const currentRecord = dataSourceRef.current.getCurrentRecord();
513
+ if (currentRecord) {
514
+ try {
515
+ const recordId = getRowId(currentRecord);
516
+
517
+ if (recordId !== undefined) {
518
+ // Verificar se este ID já está selecionado
519
+ const isAlreadySelected = selectionModel.some(
520
+ id => String(id) === String(recordId)
521
+ );
522
+
523
+ if (!isAlreadySelected) {
524
+ internalSelectionChange.current = true;
525
+ setSelectionModel([recordId]);
526
+ setSelectedRowsData([currentRecord]);
527
+
528
+ setTimeout(() => {
529
+ internalSelectionChange.current = false;
530
+ }, 200);
531
+ }
532
+ }
533
+ } catch (e) {
534
+ console.error("Error processing afterScroll event:", e);
535
+ }
536
+ }
537
+ }
538
+ };
539
+
540
+ // Armazenar referência da função listener
541
+ eventListenerRef.current = handleDataSourceEvent;
542
+
543
+ // Adicionar o listener ao dataSource
544
+ dataSource.addListener(handleDataSourceEvent);
545
+
546
+ // Marcar que a montagem inicial foi concluída após o setup
547
+ isInitialMount.current = false;
548
+
549
+ // Sincronizar dados iniciais
550
+ setRows(dataSource.browseRecords());
551
+ setTotalRecords(dataSource.getGrandTotalRecords());
552
+ setTotalPages(Math.ceil(dataSource.getGrandTotalRecords() / (dataSource.getPageSize() || pageSize)));
553
+
554
+ // Sincronizar seleção com o registro atual do dataSource
555
+ const currentRecord = dataSource.getCurrentRecord();
556
+ if (currentRecord) {
557
+ try {
558
+ const recordId = getRowId(currentRecord);
559
+ if (recordId !== undefined) {
560
+ setSelectionModel([recordId]);
561
+ setSelectedRowsData([currentRecord]);
562
+ }
563
+ } catch (e) {
564
+ console.error("Error during initial selection setup:", e);
565
+ }
566
+ }
567
+
568
+ // Cleanup: remover o listener quando o efeito for limpo
569
+ return () => {
570
+ console.log('Cleaning up DataSource event listener in useGridData');
571
+ if (eventListenerRef.current) {
572
+ dataSource.removeListener(eventListenerRef.current);
573
+ eventListenerRef.current = null;
574
+ }
575
+ };
576
+ }, [dataSource, getRowId, pageSize, forceUpdate, isDataSourceV2]); // Dependências minimizadas para evitar ciclos
577
+
578
+ return {
579
+ // Dados
580
+ rows,
581
+ totalRecords,
582
+ totalPages,
583
+ isLoading,
584
+ paginationModel,
585
+ sortModel,
586
+ filterModel,
587
+ selectionModel,
588
+ selectedRowsData,
589
+
590
+ // Métodos
591
+ setPaginationModel: handlePaginationModelChange,
592
+ setSortModel: handleSortModelChange,
593
+ setFilterModel: handleFilterModelChange,
594
+ setSelectionModel: handleSelectionModelChange,
595
+ refreshData,
596
+ handleCellKeyDown
597
+ };
598
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-grid-details-panel.d.ts","sourceRoot":"","sources":["use-grid-details-panel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,EAAE,EACtD,yBAAiC,EACjC,mBAAmB,EACnB,oBAA0B,EAC3B,GAAE;IACD,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,mBAAmB,CAAC,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;IAC5D,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC1B;;;;0BASqC,SAAS;8BA6BL,SAAS;;+BAyBR,SAAS;;EAsExD;AAGD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,YAAY,EACZ,cAAc,EACd,eAAe,EACf,oBAAoB,EACrB,EAAE;IACD,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC3C,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,eAAe,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IACxE,oBAAoB,EAAE,MAAM,IAAI,CAAC;CAClC,QA8CA;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,EAAE,EAC9D,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,SAAc,EACd,YAAiB,EACjB,oBAA0B,EAC3B,EAAE;IACD,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,CAAC;IAC3B,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;IAC9C,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,kBAAkB,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,gCA2BA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,EAAE,EACxD,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,SAAc,EACd,oBAA0B,EAC3B,EAAE;IACD,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,CAAC;IAC3B,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,WAoCA"}