@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,465 @@
1
+ import { useCallback, useEffect, useMemo, useState, type ReactNode } from 'react';
2
+ import {
3
+ Box,
4
+ Paper,
5
+ Button,
6
+ Group,
7
+ Stack,
8
+ Text,
9
+ Alert,
10
+ LoadingOverlay,
11
+ Center,
12
+ ActionIcon,
13
+ } from '@mantine/core';
14
+ import {
15
+ IconPrinter,
16
+ IconDownload,
17
+ IconEye,
18
+ IconCheck,
19
+ IconAlertCircle,
20
+ IconX,
21
+ } from '@tabler/icons-react';
22
+ import { useArchbaseTranslation } from '@archbase/core';
23
+ import type {
24
+ ArchbaseThermalPrinterProps,
25
+ ReceiptData,
26
+ PrinterStatus,
27
+ PaperWidth,
28
+ CutMode,
29
+ } from './ArchbaseThermalPrinter.types';
30
+ import { generateReceiptEscpos, formatCurrency as formatCurrencyUtil, formatDate as formatDateUtil, getCharsWidth } from './utils/escpos';
31
+
32
+ // Local wrappers to avoid export conflicts
33
+ const formatCurrency = (v: number) => formatCurrencyUtil(v);
34
+ const formatDate = (d?: Date) => formatDateUtil(d);
35
+
36
+ /**
37
+ * Componente Receipt - Renderiza visualmente um receipt
38
+ */
39
+ function Receipt({
40
+ data,
41
+ paperWidth = 80,
42
+ align = 'left',
43
+ style,
44
+ className,
45
+ }: {
46
+ data: ReceiptData;
47
+ paperWidth?: PaperWidth;
48
+ align?: 'left' | 'center' | 'right';
49
+ style?: React.CSSProperties;
50
+ className?: string;
51
+ }) {
52
+ const chars = getCharsWidth(paperWidth);
53
+ const mmWidth = paperWidth;
54
+
55
+ return (
56
+ <Box
57
+ className={className}
58
+ style={{
59
+ backgroundColor: '#fff',
60
+ color: '#000',
61
+ fontFamily: 'monospace',
62
+ fontSize: '12px',
63
+ padding: '16px',
64
+ width: `${mmWidth * 0.4}mm`, // Scale down for display
65
+ minWidth: 280,
66
+ maxWidth: 320,
67
+ margin: '0 auto',
68
+ boxShadow: '0 2px 8px rgba(0,0,0,0.1)',
69
+ ...style,
70
+ }}
71
+ >
72
+ {/* Header */}
73
+ {data.header && (
74
+ <>
75
+ {data.header.title && (
76
+ <Text ta="center" fw={700} size="lg" mb="xs">
77
+ {data.header.title}
78
+ </Text>
79
+ )}
80
+ {data.header.address &&
81
+ data.header.address.map((line, i) => (
82
+ <Text key={i} ta="center" size="xs" mb={0}>
83
+ {line}
84
+ </Text>
85
+ ))}
86
+ {data.header.document && (
87
+ <Text ta="center" size="xs" mb="xs">
88
+ {data.header.document}
89
+ </Text>
90
+ )}
91
+ <Text ta="left" size="xs">
92
+ DATA: {formatDate(data.header.date)}
93
+ </Text>
94
+ {data.header.number && (
95
+ <Text ta="left" size="xs">
96
+ CUPOM: {data.header.number}
97
+ </Text>
98
+ )}
99
+ {data.header.operator && (
100
+ <Text ta="left" size="xs">
101
+ OPERADOR: {data.header.operator}
102
+ </Text>
103
+ )}
104
+ <Box style={{ borderBottom: '2px solid #000', margin: '8px 0' }} />
105
+ </>
106
+ )}
107
+
108
+ {/* Items */}
109
+ {data.items && data.items.length > 0 && (
110
+ <>
111
+ <Group justify="space-between" mb="xs" fw={700}>
112
+ <Text span flex={1}>ITEM</Text>
113
+ <Text span w={20} ta="center">QTD</Text>
114
+ <Text span w={20} ta="right">VALOR</Text>
115
+ </Group>
116
+ {data.items.map((item, i) => {
117
+ const total = item.quantity * item.price - (item.discount || 0);
118
+ return (
119
+ <Group key={i} justify="space-between" mb="xs" style={{ flexWrap: 'wrap' }}>
120
+ <Text span flex={1} style={{ overflow: 'hidden', textOverflow: 'ellipsis' }}>
121
+ {item.name}
122
+ </Text>
123
+ <Text span w={20} ta="center">
124
+ {item.quantity}
125
+ </Text>
126
+ <Text span w={20} ta="right">
127
+ {formatCurrency(total)}
128
+ </Text>
129
+ {item.discount && item.discount > 0 && (
130
+ <Text span size="xs" c="red" w="100%">
131
+ {' '}Desc: {formatCurrency(item.discount)}
132
+ </Text>
133
+ )}
134
+ </Group>
135
+ );
136
+ })}
137
+ <Box style={{ borderBottom: '2px solid #000', margin: '8px 0' }} />
138
+ </>
139
+ )}
140
+
141
+ {/* Summary */}
142
+ {data.summary && (
143
+ <>
144
+ {data.summary.subtotal !== undefined && (
145
+ <Group justify="space-between" mb="xs">
146
+ <Text>Subtotal</Text>
147
+ <Text>{formatCurrency(data.summary.subtotal)}</Text>
148
+ </Group>
149
+ )}
150
+ {data.summary.discount && data.summary.discount > 0 && (
151
+ <Group justify="space-between" mb="xs">
152
+ <Text c="red">Desconto</Text>
153
+ <Text c="red">-{formatCurrency(data.summary.discount)}</Text>
154
+ </Group>
155
+ )}
156
+ {data.summary.serviceFee && data.summary.serviceFee > 0 && (
157
+ <Group justify="space-between" mb="xs">
158
+ <Text>Serviço</Text>
159
+ <Text>{formatCurrency(data.summary.serviceFee)}</Text>
160
+ </Group>
161
+ )}
162
+ <Group justify="space-between" mb="xs" fw={700}>
163
+ <Text fz="lg">TOTAL</Text>
164
+ <Text fz="lg">{formatCurrency(data.summary.total)}</Text>
165
+ </Group>
166
+ <Box style={{ borderBottom: '2px solid #000', margin: '8px 0' }} />
167
+ </>
168
+ )}
169
+
170
+ {/* Payments */}
171
+ {data.payments && data.payments.length > 0 && (
172
+ <>
173
+ <Text fw={700} mb="xs">
174
+ Pagamento
175
+ </Text>
176
+ {data.payments.map((payment, i) => (
177
+ <Group key={i} justify="space-between" mb="xs">
178
+ <Text>{payment.method.toUpperCase()}</Text>
179
+ <Text>{formatCurrency(payment.amount)}</Text>
180
+ </Group>
181
+ ))}
182
+ <Box style={{ borderBottom: '2px solid #000', margin: '8px 0' }} />
183
+ </>
184
+ )}
185
+
186
+ {/* Footer */}
187
+ {data.footer && (
188
+ <>
189
+ {data.footer.messages &&
190
+ data.footer.messages.map((msg, i) => (
191
+ <Text key={i} ta="center" size="xs" mb="xs">
192
+ {msg}
193
+ </Text>
194
+ ))}
195
+ {data.footer.qrCode && (
196
+ <Center my="md">
197
+ <Box
198
+ style={{
199
+ width: 100,
200
+ height: 100,
201
+ backgroundColor: '#fff',
202
+ backgroundImage: `url('https://api.qrserver.com/v1/create-qr-code/?size=100x100&data=${encodeURIComponent(data.footer.qrCode)}')`,
203
+ backgroundSize: 'contain',
204
+ backgroundRepeat: 'no-repeat',
205
+ backgroundPosition: 'center',
206
+ }}
207
+ />
208
+ </Center>
209
+ )}
210
+ </>
211
+ )}
212
+
213
+ <Text ta="center" size="xs" mt="md" c="gray">
214
+ {'\u00A0'}
215
+ </Text>
216
+ </Box>
217
+ );
218
+ }
219
+
220
+ /**
221
+ * Componente ArchbaseThermalPrinter - Impressão térmica ESC/POS
222
+ *
223
+ * @example
224
+ * ```tsx
225
+ * <ArchbaseThermalPrinter
226
+ * data={{
227
+ * header: { title: 'Minha Loja', address: ['Rua X, 123'] },
228
+ * items: [{ name: 'Produto 1', quantity: 2, price: 10.00 }],
229
+ * summary: { total: 20.00 }
230
+ * }}
231
+ * onPrintComplete={() => console.log('Impresso!')}
232
+ * />
233
+ * ```
234
+ */
235
+ export function ArchbaseThermalPrinter({
236
+ data,
237
+ options = {},
238
+ printerId,
239
+ autoPrint = false,
240
+ template,
241
+ style,
242
+ className,
243
+ disabled = false,
244
+ loading,
245
+ error,
246
+ onPrintStart,
247
+ onPrintComplete,
248
+ onError,
249
+ onStatusChange,
250
+ showPreview = true,
251
+ previewActions = true,
252
+ ariaLabel,
253
+ title,
254
+ }: ArchbaseThermalPrinterProps) {
255
+ const { t } = useArchbaseTranslation();
256
+
257
+ // State
258
+ const [status, setStatus] = useState<PrinterStatus>('idle');
259
+ const [showPreviewOnly, setShowPreviewOnly] = useState(false);
260
+
261
+ // Parse options
262
+ const paperWidth = options.paperWidth || 80;
263
+ const cutMode = options.cut || 'full';
264
+ const copies = options.copies || 1;
265
+
266
+ // Generate ESC/POS commands
267
+ const escposData = useMemo(() => {
268
+ try {
269
+ return generateReceiptEscpos(data, paperWidth, cutMode);
270
+ } catch (e) {
271
+ console.error('Failed to generate ESC/POS data:', e);
272
+ return null;
273
+ }
274
+ }, [data, paperWidth, cutMode]);
275
+
276
+ // Print function
277
+ const handlePrint = useCallback(async () => {
278
+ if (!escposData || disabled) return;
279
+
280
+ setStatus('printing');
281
+ onPrintStart?.();
282
+ onStatusChange?.('printing');
283
+
284
+ try {
285
+ // Para impressão em browser, precisamos usar Web USB ou Web Bluetooth
286
+ // Por enquanto, simula a impressão e oferece download
287
+
288
+ // Simula tempo de impressão
289
+ await new Promise((resolve) => setTimeout(resolve, 1000));
290
+
291
+ setStatus('success');
292
+ onPrintComplete?.();
293
+ onStatusChange?.('success');
294
+
295
+ // Reset após sucesso
296
+ setTimeout(() => {
297
+ setStatus('idle');
298
+ onStatusChange?.('idle');
299
+ }, 2000);
300
+ } catch (e) {
301
+ const err = e instanceof Error ? e : new Error('Print failed');
302
+ setStatus('error');
303
+ onError?.(err);
304
+ onStatusChange?.('error');
305
+
306
+ setTimeout(() => {
307
+ setStatus('idle');
308
+ onStatusChange?.('idle');
309
+ }, 3000);
310
+ }
311
+ }, [escposData, disabled, onPrintStart, onPrintComplete, onError, onStatusChange]);
312
+
313
+ // Download ESC/POS data
314
+ const handleDownload = useCallback(() => {
315
+ if (!escposData) return;
316
+
317
+ const blob = new Blob([escposData], { type: 'application/octet-stream' });
318
+ const url = URL.createObjectURL(blob);
319
+ const link = document.createElement('a');
320
+ link.href = url;
321
+ link.download = `receipt_${Date.now()}.bin`;
322
+ document.body.appendChild(link);
323
+ link.click();
324
+ document.body.removeChild(link);
325
+ URL.revokeObjectURL(url);
326
+ }, [escposData]);
327
+
328
+ // Auto print on mount
329
+ useEffect(() => {
330
+ if (autoPrint && !disabled && escposData) {
331
+ handlePrint();
332
+ }
333
+ }, [autoPrint, disabled, escposData]); // Don't include handlePrint to avoid loops
334
+
335
+ // Get printer icon based on status
336
+ const getPrinterIcon = () => {
337
+ switch (status) {
338
+ case 'printing':
339
+ return <LoadingOverlay />;
340
+ case 'success':
341
+ return <IconCheck size={16} color="green" />;
342
+ case 'error':
343
+ return <IconAlertCircle size={16} color="red" />;
344
+ default:
345
+ return <IconPrinter size={16} />;
346
+ }
347
+ };
348
+
349
+ // Get button label based on status
350
+ const getButtonLabel = () => {
351
+ switch (status) {
352
+ case 'printing':
353
+ return t('Printing...') as ReactNode;
354
+ case 'success':
355
+ return t('Printed!') as ReactNode;
356
+ case 'error':
357
+ return t('Error') as ReactNode;
358
+ default:
359
+ return t('Print') as ReactNode;
360
+ }
361
+ };
362
+
363
+ return (
364
+ <Paper
365
+ shadow="sm"
366
+ p="md"
367
+ withBorder
368
+ style={{ ...style }}
369
+ className={className}
370
+ aria-label={ariaLabel || title || 'Thermal printer'}
371
+ >
372
+ {/* Header */}
373
+ <Group justify="space-between" mb="md">
374
+ <Text fw={500}>{title || t('Thermal Printer') as ReactNode}</Text>
375
+ {previewActions && (
376
+ <Group gap="xs">
377
+ <ActionIcon
378
+ size="sm"
379
+ variant="subtle"
380
+ onClick={() => setShowPreviewOnly(!showPreviewOnly)}
381
+ title={String(showPreviewOnly ? t('Hide preview') : t('Show preview'))}
382
+ >
383
+ <IconEye size={16} />
384
+ </ActionIcon>
385
+ </Group>
386
+ )}
387
+ </Group>
388
+
389
+ {/* Preview */}
390
+ {(showPreview || showPreviewOnly) && (
391
+ <Box mb="md">
392
+ <Receipt data={data} paperWidth={paperWidth} />
393
+ </Box>
394
+ )}
395
+
396
+ {/* Error state */}
397
+ {status === 'error' && typeof error !== 'boolean' && (
398
+ <Alert icon={<IconAlertCircle size={16} />} color="red" mb="md">
399
+ {typeof error === 'string' ? error : t('Failed to print receipt') as ReactNode}
400
+ </Alert>
401
+ )}
402
+
403
+ {/* Actions */}
404
+ {!disabled && (
405
+ <Group>
406
+ <Button
407
+ leftSection={getPrinterIcon()}
408
+ onClick={handlePrint}
409
+ disabled={status === 'printing' || !escposData}
410
+ loading={status === 'printing'}
411
+ >
412
+ {getButtonLabel()}
413
+ </Button>
414
+
415
+ <Button
416
+ variant="light"
417
+ leftSection={<IconDownload size={16} />}
418
+ onClick={handleDownload}
419
+ disabled={!escposData}
420
+ >
421
+ {t('Download') as ReactNode}
422
+ </Button>
423
+ </Group>
424
+ )}
425
+
426
+ {/* Info */}
427
+ {escposData && (
428
+ <Text size="xs" c="dimmed" mt="md">
429
+ {t('Receipt size') as ReactNode}: {escposData.length} bytes • {paperWidth}mm
430
+ </Text>
431
+ )}
432
+ </Paper>
433
+ );
434
+ }
435
+
436
+ ArchbaseThermalPrinter.displayName = 'ArchbaseThermalPrinter';
437
+
438
+ /**
439
+ * Componente para teste rápido de impressão
440
+ */
441
+ export function QuickPrintButton({
442
+ data,
443
+ onPrint,
444
+ }: {
445
+ data: ReceiptData;
446
+ onPrint?: () => void;
447
+ }) {
448
+ const { t } = useArchbaseTranslation();
449
+
450
+ const handleClick = () => {
451
+ const escposData = generateReceiptEscpos(data);
452
+ console.log('ESC/POS Data:', escposData);
453
+ onPrint?.();
454
+ };
455
+
456
+ return (
457
+ <Button
458
+ leftSection={<IconPrinter size={16} />}
459
+ onClick={handleClick}
460
+ variant="light"
461
+ >
462
+ {t('Test Print') as ReactNode}
463
+ </Button>
464
+ );
465
+ }
@@ -0,0 +1,221 @@
1
+ import type { CSSProperties, ReactNode } from 'react';
2
+
3
+ /**
4
+ * Larguras de papel em mm
5
+ */
6
+ export type PaperWidth = 58 | 80 | 112;
7
+
8
+ /**
9
+ * Alinhamento do texto
10
+ */
11
+ export type TextAlign = 'left' | 'center' | 'right';
12
+
13
+ /**
14
+ * Estilo de barra
15
+ */
16
+ export type BarStyle = 'single' | 'double' | 'dashed';
17
+
18
+ /**
19
+ * Tamanhos de fonte (8dots/mm)
20
+ */
21
+ export type FontSize = 'normal' | 'small' | 'large' | 'extra-large';
22
+
23
+ /**
24
+ * Densidade de impressão
25
+ */
26
+ export type PrintDensity = 8 | 12 | 15;
27
+
28
+ /**
29
+ * Corte do papel
30
+ */
31
+ export type CutMode = 'full' | 'partial' | 'none';
32
+
33
+ /**
34
+ * Status da impressora
35
+ */
36
+ export type PrinterStatus = 'idle' | 'printing' | 'error' | 'success';
37
+
38
+ /**
39
+ * Dados de um item de receipt
40
+ */
41
+ export interface ReceiptItem {
42
+ /** Nome do item */
43
+ name: string;
44
+ /** Quantidade */
45
+ quantity: number;
46
+ /** Preço unitário */
47
+ price: number;
48
+ /** Desconto */
49
+ discount?: number;
50
+ }
51
+
52
+ /**
53
+ * Dados do pagamento
54
+ */
55
+ export interface PaymentData {
56
+ /** Método de pagamento */
57
+ method: 'cash' | 'credit' | 'debit' | 'pix' | 'transfer';
58
+ /** Valor pago */
59
+ amount: number;
60
+ /** Troco */
61
+ change?: number;
62
+ }
63
+
64
+ /**
65
+ * Dados do receipt/cupom
66
+ */
67
+ export interface ReceiptData {
68
+ /** Cabeçalho */
69
+ header?: {
70
+ /** Título/Logo */
71
+ title?: string;
72
+ /** Linhas de endereço */
73
+ address?: string[];
74
+ /** CNPJ */
75
+ document?: string;
76
+ /** Data */
77
+ date?: Date;
78
+ /** Número do cupom */
79
+ number?: string;
80
+ /** Operador */
81
+ operator?: string;
82
+ };
83
+ /** Itens */
84
+ items?: ReceiptItem[];
85
+ /** Resumo */
86
+ summary?: {
87
+ /** Subtotal */
88
+ subtotal?: number;
89
+ /** Desconto total */
90
+ discount?: number;
91
+ /** Taxa de serviço */
92
+ serviceFee?: number;
93
+ /** Total */
94
+ total: number;
95
+ };
96
+ /** Pagamentos */
97
+ payments?: PaymentData[];
98
+ /** Rodapé */
99
+ footer?: {
100
+ /** Mensagens */
101
+ messages?: string[];
102
+ /** QR Code (PIX) */
103
+ qrCode?: string;
104
+ /** Código de barras */
105
+ barcode?: string;
106
+ };
107
+ }
108
+
109
+ /**
110
+ * Opções de impressão
111
+ */
112
+ export interface PrintOptions {
113
+ /** Largura do papel (mm) */
114
+ paperWidth?: PaperWidth;
115
+ /** Densidade de impressão */
116
+ density?: PrintDensity;
117
+ /** Número de cópias */
118
+ copies?: number;
119
+ /** Cortar após impressão */
120
+ cut?: CutMode;
121
+ /** Abrir gaveta de dinheiro */
122
+ openCashDrawer?: boolean;
123
+ /** Timeout de impressão (ms) */
124
+ timeout?: number;
125
+ }
126
+
127
+ /**
128
+ * Props do componente ArchbaseThermalPrinter
129
+ */
130
+ export interface ArchbaseThermalPrinterProps {
131
+ /** Dados do receipt */
132
+ data: ReceiptData;
133
+
134
+ /** --- Opções de Impressão --- */
135
+ options?: PrintOptions;
136
+ /** Impressora destino (deixe vazio para usar padrão) */
137
+ printerId?: string;
138
+ /** Executar impressão automaticamente ao montar */
139
+ autoPrint?: boolean;
140
+
141
+ /** --- Template Customizado --- */
142
+ /** Template customizado para o receipt */
143
+ template?: (data: ReceiptData) => ReactNode;
144
+
145
+ /** --- Estilização --- */
146
+ style?: CSSProperties;
147
+ className?: string;
148
+
149
+ /** --- Estados --- */
150
+ disabled?: boolean;
151
+ loading?: ReactNode;
152
+ error?: ReactNode;
153
+
154
+ /** --- Eventos --- */
155
+ onPrintStart?: () => void;
156
+ onPrintComplete?: () => void;
157
+ onError?: (error: Error) => void;
158
+ onStatusChange?: (status: PrinterStatus) => void;
159
+
160
+ /** --- Preview --- */
161
+ /** Mostrar preview antes de imprimir */
162
+ showPreview?: boolean;
163
+ /** Botões de ação no preview */
164
+ previewActions?: boolean;
165
+
166
+ /** --- Acessibilidade --- */
167
+ ariaLabel?: string;
168
+ title?: string;
169
+ }
170
+
171
+ /**
172
+ * Props para componente de receipt
173
+ */
174
+ export interface ReceiptProps {
175
+ data: ReceiptData;
176
+ paperWidth?: PaperWidth;
177
+ align?: TextAlign;
178
+ showLogo?: boolean;
179
+ style?: CSSProperties;
180
+ className?: string;
181
+ }
182
+
183
+ /**
184
+ * Props para componente de Label
185
+ */
186
+ export interface LabelProps {
187
+ /** Conteúdo da etiqueta */
188
+ content: string | string[];
189
+ /** Código de barras */
190
+ barcode?: string;
191
+ /** QR Code */
192
+ qrCode?: string;
193
+ /** Largura da etiqueta (mm) */
194
+ width?: number;
195
+ /** Altura da etiqueta (mm) */
196
+ height?: number;
197
+ /** Número de cópias */
198
+ copies?: number;
199
+ style?: CSSProperties;
200
+ className?: string;
201
+ }
202
+
203
+ /**
204
+ * Props para componente de Barcode
205
+ */
206
+ export interface BarcodeProps {
207
+ /** Dados do código de barras */
208
+ value: string;
209
+ /** Tipo de código de barras */
210
+ type?: 'CODE128' | 'CODE39' | 'EAN13' | 'EAN8' | 'UPC' | 'ITF' | 'CODABAR';
211
+ /** Altura (dots) */
212
+ height?: number;
213
+ /** Largura das barras (1-3) */
214
+ width?: number;
215
+ /** Mostrar texto abaixo */
216
+ text?: boolean;
217
+ /** Alinhamento do texto */
218
+ textAlign?: TextAlign;
219
+ style?: CSSProperties;
220
+ className?: string;
221
+ }