@umodeapporg/ui 0.1.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 (667) hide show
  1. package/dist/assets/images/common-pngs/sparkles.png.js +5 -0
  2. package/dist/assets/images/common-pngs/sparkles.png.js.map +1 -0
  3. package/dist/assets/umode-ui.css +182 -0
  4. package/dist/components/DateTime/DatePicker.d.ts +19 -0
  5. package/dist/components/DateTime/DatePicker.js +121 -0
  6. package/dist/components/DateTime/DatePicker.js.map +1 -0
  7. package/dist/components/DateTime/DateRangePicker.d.ts +19 -0
  8. package/dist/components/DateTime/DateRangePicker.js +205 -0
  9. package/dist/components/DateTime/DateRangePicker.js.map +1 -0
  10. package/dist/components/Form/ControlledButton.d.ts +13 -0
  11. package/dist/components/Form/ControlledButton.js +68 -0
  12. package/dist/components/Form/ControlledButton.js.map +1 -0
  13. package/dist/components/Form/ControlledCheckbox.d.ts +12 -0
  14. package/dist/components/Form/ControlledCheckbox.js +101 -0
  15. package/dist/components/Form/ControlledCheckbox.js.map +1 -0
  16. package/dist/components/Form/ControlledDialog.d.ts +44 -0
  17. package/dist/components/Form/ControlledDialog.js +185 -0
  18. package/dist/components/Form/ControlledDialog.js.map +1 -0
  19. package/dist/components/Form/ControlledDialogPrimitives.d.ts +30 -0
  20. package/dist/components/Form/ControlledDialogPrimitives.js +121 -0
  21. package/dist/components/Form/ControlledDialogPrimitives.js.map +1 -0
  22. package/dist/components/Form/ControlledDrawer.d.ts +37 -0
  23. package/dist/components/Form/ControlledDrawer.js +237 -0
  24. package/dist/components/Form/ControlledDrawer.js.map +1 -0
  25. package/dist/components/Form/ControlledForm/InputField.d.ts +11 -0
  26. package/dist/components/Form/ControlledForm/InputField.js +75 -0
  27. package/dist/components/Form/ControlledForm/InputField.js.map +1 -0
  28. package/dist/components/Form/ControlledForm/index.d.ts +27 -0
  29. package/dist/components/Form/ControlledForm/index.js +113 -0
  30. package/dist/components/Form/ControlledForm/index.js.map +1 -0
  31. package/dist/components/Form/ControlledImage/Img.d.ts +11 -0
  32. package/dist/components/Form/ControlledImage/Img.js +29 -0
  33. package/dist/components/Form/ControlledImage/Img.js.map +1 -0
  34. package/dist/components/Form/ControlledImage/index.d.ts +30 -0
  35. package/dist/components/Form/ControlledImage/index.js +107 -0
  36. package/dist/components/Form/ControlledImage/index.js.map +1 -0
  37. package/dist/components/Form/ControlledImage/useImage.d.ts +9 -0
  38. package/dist/components/Form/ControlledImage/useImage.js +110 -0
  39. package/dist/components/Form/ControlledImage/useImage.js.map +1 -0
  40. package/dist/components/Form/ControlledInput.d.ts +23 -0
  41. package/dist/components/Form/ControlledInput.js +52 -0
  42. package/dist/components/Form/ControlledInput.js.map +1 -0
  43. package/dist/components/Form/ControlledRadio.d.ts +15 -0
  44. package/dist/components/Form/ControlledRadio.js +91 -0
  45. package/dist/components/Form/ControlledRadio.js.map +1 -0
  46. package/dist/components/Form/ControlledSelect.d.ts +44 -0
  47. package/dist/components/Form/ControlledSelect.js +545 -0
  48. package/dist/components/Form/ControlledSelect.js.map +1 -0
  49. package/dist/components/Form/ControlledSwitch.d.ts +14 -0
  50. package/dist/components/Form/ControlledSwitch.js +88 -0
  51. package/dist/components/Form/ControlledSwitch.js.map +1 -0
  52. package/dist/components/Form/ControlledTabs.d.ts +70 -0
  53. package/dist/components/Form/ControlledTabs.js +470 -0
  54. package/dist/components/Form/ControlledTabs.js.map +1 -0
  55. package/dist/components/Form/ControlledTabsPrimitives.d.ts +43 -0
  56. package/dist/components/Form/ControlledTabsPrimitives.js +47 -0
  57. package/dist/components/Form/ControlledTabsPrimitives.js.map +1 -0
  58. package/dist/components/Form/ControlledTextarea.d.ts +22 -0
  59. package/dist/components/Form/ControlledTextarea.js +46 -0
  60. package/dist/components/Form/ControlledTextarea.js.map +1 -0
  61. package/dist/components/Form/ControlledTimeline.d.ts +26 -0
  62. package/dist/components/Form/ControlledTimeline.js +57 -0
  63. package/dist/components/Form/ControlledTimeline.js.map +1 -0
  64. package/dist/components/Form/ControlledViewToggle.d.ts +74 -0
  65. package/dist/components/Form/ControlledViewToggle.js +157 -0
  66. package/dist/components/Form/ControlledViewToggle.js.map +1 -0
  67. package/dist/components/Form/ControlledVoiceTextarea.d.ts +11 -0
  68. package/dist/components/Form/ControlledVoiceTextarea.js +88 -0
  69. package/dist/components/Form/ControlledVoiceTextarea.js.map +1 -0
  70. package/dist/components/Form/CurrencyInput.d.ts +8 -0
  71. package/dist/components/Form/CurrencyInput.js +17 -0
  72. package/dist/components/Form/CurrencyInput.js.map +1 -0
  73. package/dist/components/Form/RichTextEditor.d.ts +80 -0
  74. package/dist/components/Form/RichTextEditor.js +546 -0
  75. package/dist/components/Form/RichTextEditor.js.map +1 -0
  76. package/dist/components/Form/attachments/AttachmentPreviewList.d.ts +8 -0
  77. package/dist/components/Form/attachments/AttachmentPreviewList.js +71 -0
  78. package/dist/components/Form/attachments/AttachmentPreviewList.js.map +1 -0
  79. package/dist/components/Form/attachments/FileDropzone.d.ts +12 -0
  80. package/dist/components/Form/attachments/FileDropzone.js +84 -0
  81. package/dist/components/Form/attachments/FileDropzone.js.map +1 -0
  82. package/dist/components/Navigation/ControlledBreadcrumb.d.ts +13 -0
  83. package/dist/components/Navigation/ControlledBreadcrumb.js +23 -0
  84. package/dist/components/Navigation/ControlledBreadcrumb.js.map +1 -0
  85. package/dist/components/Navigation/ErrorPage.d.ts +2 -0
  86. package/dist/components/Navigation/ErrorPage.js +27 -0
  87. package/dist/components/Navigation/ErrorPage.js.map +1 -0
  88. package/dist/components/Navigation/PageTitle.d.ts +41 -0
  89. package/dist/components/Navigation/PageTitle.js +147 -0
  90. package/dist/components/Navigation/PageTitle.js.map +1 -0
  91. package/dist/components/Navigation/PageTitleNavigationContext.d.ts +21 -0
  92. package/dist/components/Navigation/PageTitleNavigationContext.js +17 -0
  93. package/dist/components/Navigation/PageTitleNavigationContext.js.map +1 -0
  94. package/dist/components/Search/UnifiedSearchBar.d.ts +31 -0
  95. package/dist/components/Search/UnifiedSearchBar.js +167 -0
  96. package/dist/components/Search/UnifiedSearchBar.js.map +1 -0
  97. package/dist/components/Search/filters/ActiveFiltersBar.d.ts +15 -0
  98. package/dist/components/Search/filters/ActiveFiltersBar.js +48 -0
  99. package/dist/components/Search/filters/ActiveFiltersBar.js.map +1 -0
  100. package/dist/components/Search/filters/FilterChipsRow.d.ts +17 -0
  101. package/dist/components/Search/filters/FilterChipsRow.js +113 -0
  102. package/dist/components/Search/filters/FilterChipsRow.js.map +1 -0
  103. package/dist/components/Search/filters/FilterFieldControl.d.ts +19 -0
  104. package/dist/components/Search/filters/FilterFieldControl.js +387 -0
  105. package/dist/components/Search/filters/FilterFieldControl.js.map +1 -0
  106. package/dist/components/Search/filters/FiltersButton.d.ts +24 -0
  107. package/dist/components/Search/filters/FiltersButton.js +52 -0
  108. package/dist/components/Search/filters/FiltersButton.js.map +1 -0
  109. package/dist/components/Search/filters/FiltersForm.d.ts +18 -0
  110. package/dist/components/Search/filters/FiltersForm.js +112 -0
  111. package/dist/components/Search/filters/FiltersForm.js.map +1 -0
  112. package/dist/components/Search/filters/FiltersPanel.d.ts +32 -0
  113. package/dist/components/Search/filters/FiltersPanel.js +264 -0
  114. package/dist/components/Search/filters/FiltersPanel.js.map +1 -0
  115. package/dist/components/Search/filters/FiltersSummaryTooltip.d.ts +20 -0
  116. package/dist/components/Search/filters/FiltersSummaryTooltip.js +26 -0
  117. package/dist/components/Search/filters/FiltersSummaryTooltip.js.map +1 -0
  118. package/dist/components/Search/filters/filterTypes.d.ts +162 -0
  119. package/dist/components/Search/filters/filterTypes.js +2 -0
  120. package/dist/components/Search/filters/filterTypes.js.map +1 -0
  121. package/dist/components/Search/filters/filterValues.d.ts +22 -0
  122. package/dist/components/Search/filters/filterValues.js +91 -0
  123. package/dist/components/Search/filters/filterValues.js.map +1 -0
  124. package/dist/components/Search/filters/filtersLayout.d.ts +4 -0
  125. package/dist/components/Search/filters/filtersLayout.js +18 -0
  126. package/dist/components/Search/filters/filtersLayout.js.map +1 -0
  127. package/dist/components/Search/filters/index.d.ts +11 -0
  128. package/dist/components/Search/filters/index.js +32 -0
  129. package/dist/components/Search/filters/index.js.map +1 -0
  130. package/dist/components/Search/filters/useFilters.d.ts +33 -0
  131. package/dist/components/Search/filters/useFilters.js +162 -0
  132. package/dist/components/Search/filters/useFilters.js.map +1 -0
  133. package/dist/components/Search/index.d.ts +2 -0
  134. package/dist/components/Search/index.js +34 -0
  135. package/dist/components/Search/index.js.map +1 -0
  136. package/dist/components/UI/AccordionIcon.d.ts +10 -0
  137. package/dist/components/UI/AccordionIcon.js +22 -0
  138. package/dist/components/UI/AccordionIcon.js.map +1 -0
  139. package/dist/components/UI/AlertInfo/dismissedAlertsStore.d.ts +2 -0
  140. package/dist/components/UI/AlertInfo/dismissedAlertsStore.js +22 -0
  141. package/dist/components/UI/AlertInfo/dismissedAlertsStore.js.map +1 -0
  142. package/dist/components/UI/AlertInfo/index.d.ts +30 -0
  143. package/dist/components/UI/AlertInfo/index.js +78 -0
  144. package/dist/components/UI/AlertInfo/index.js.map +1 -0
  145. package/dist/components/UI/BaseDataCard.d.ts +25 -0
  146. package/dist/components/UI/BaseDataCard.js +163 -0
  147. package/dist/components/UI/BaseDataCard.js.map +1 -0
  148. package/dist/components/UI/BulkActionBar.d.ts +35 -0
  149. package/dist/components/UI/BulkActionBar.js +125 -0
  150. package/dist/components/UI/BulkActionBar.js.map +1 -0
  151. package/dist/components/UI/Chips/OutlinedChip.d.ts +42 -0
  152. package/dist/components/UI/Chips/OutlinedChip.js +183 -0
  153. package/dist/components/UI/Chips/OutlinedChip.js.map +1 -0
  154. package/dist/components/UI/Chips/StatusChip.d.ts +8 -0
  155. package/dist/components/UI/Chips/StatusChip.js +33 -0
  156. package/dist/components/UI/Chips/StatusChip.js.map +1 -0
  157. package/dist/components/UI/Chips/chipTones.d.ts +6 -0
  158. package/dist/components/UI/Chips/chipTones.js +53 -0
  159. package/dist/components/UI/Chips/chipTones.js.map +1 -0
  160. package/dist/components/UI/ColorSwatch.d.ts +30 -0
  161. package/dist/components/UI/ColorSwatch.js +53 -0
  162. package/dist/components/UI/ColorSwatch.js.map +1 -0
  163. package/dist/components/UI/Colors.d.ts +10 -0
  164. package/dist/components/UI/Colors.js +41 -0
  165. package/dist/components/UI/Colors.js.map +1 -0
  166. package/dist/components/UI/ControlledAccordion.d.ts +38 -0
  167. package/dist/components/UI/ControlledAccordion.js +89 -0
  168. package/dist/components/UI/ControlledAccordion.js.map +1 -0
  169. package/dist/components/UI/ControlledCollapse.d.ts +13 -0
  170. package/dist/components/UI/ControlledCollapse.js +32 -0
  171. package/dist/components/UI/ControlledCollapse.js.map +1 -0
  172. package/dist/components/UI/ControlledMenu.d.ts +73 -0
  173. package/dist/components/UI/ControlledMenu.js +231 -0
  174. package/dist/components/UI/ControlledMenu.js.map +1 -0
  175. package/dist/components/UI/ControlledPopover.d.ts +44 -0
  176. package/dist/components/UI/ControlledPopover.js +144 -0
  177. package/dist/components/UI/ControlledPopover.js.map +1 -0
  178. package/dist/components/UI/ControlledProgress.d.ts +13 -0
  179. package/dist/components/UI/ControlledProgress.js +46 -0
  180. package/dist/components/UI/ControlledProgress.js.map +1 -0
  181. package/dist/components/UI/ControlledSlider.d.ts +13 -0
  182. package/dist/components/UI/ControlledSlider.js +29 -0
  183. package/dist/components/UI/ControlledSlider.js.map +1 -0
  184. package/dist/components/UI/ControlledTooltip.d.ts +21 -0
  185. package/dist/components/UI/ControlledTooltip.js +140 -0
  186. package/dist/components/UI/ControlledTooltip.js.map +1 -0
  187. package/dist/components/UI/CustomBadge.d.ts +15 -0
  188. package/dist/components/UI/CustomBadge.js +34 -0
  189. package/dist/components/UI/CustomBadge.js.map +1 -0
  190. package/dist/components/UI/CustomCard.d.ts +13 -0
  191. package/dist/components/UI/CustomCard.js +36 -0
  192. package/dist/components/UI/CustomCard.js.map +1 -0
  193. package/dist/components/UI/CustomChart.d.ts +21 -0
  194. package/dist/components/UI/CustomChart.js +108 -0
  195. package/dist/components/UI/CustomChart.js.map +1 -0
  196. package/dist/components/UI/DataTable/DataTable.d.ts +100 -0
  197. package/dist/components/UI/DataTable/DataTable.js +546 -0
  198. package/dist/components/UI/DataTable/DataTable.js.map +1 -0
  199. package/dist/components/UI/DataTable/DataTableAutoCard.d.ts +20 -0
  200. package/dist/components/UI/DataTable/DataTableAutoCard.js +39 -0
  201. package/dist/components/UI/DataTable/DataTableAutoCard.js.map +1 -0
  202. package/dist/components/UI/DataTable/DataTableBody.d.ts +29 -0
  203. package/dist/components/UI/DataTable/DataTableBody.js +243 -0
  204. package/dist/components/UI/DataTable/DataTableBody.js.map +1 -0
  205. package/dist/components/UI/DataTable/DataTableBodyCell.d.ts +21 -0
  206. package/dist/components/UI/DataTable/DataTableBodyCell.js +77 -0
  207. package/dist/components/UI/DataTable/DataTableBodyCell.js.map +1 -0
  208. package/dist/components/UI/DataTable/DataTableBulkEditButton.d.ts +11 -0
  209. package/dist/components/UI/DataTable/DataTableBulkEditButton.js +24 -0
  210. package/dist/components/UI/DataTable/DataTableBulkEditButton.js.map +1 -0
  211. package/dist/components/UI/DataTable/DataTableBulkEditDialog.d.ts +25 -0
  212. package/dist/components/UI/DataTable/DataTableBulkEditDialog.js +251 -0
  213. package/dist/components/UI/DataTable/DataTableBulkEditDialog.js.map +1 -0
  214. package/dist/components/UI/DataTable/DataTableColumnToggle.d.ts +34 -0
  215. package/dist/components/UI/DataTable/DataTableColumnToggle.js +168 -0
  216. package/dist/components/UI/DataTable/DataTableColumnToggle.js.map +1 -0
  217. package/dist/components/UI/DataTable/DataTableDetailModal.d.ts +17 -0
  218. package/dist/components/UI/DataTable/DataTableDetailModal.js +109 -0
  219. package/dist/components/UI/DataTable/DataTableDetailModal.js.map +1 -0
  220. package/dist/components/UI/DataTable/DataTableDetailPanel.d.ts +21 -0
  221. package/dist/components/UI/DataTable/DataTableDetailPanel.js +51 -0
  222. package/dist/components/UI/DataTable/DataTableDetailPanel.js.map +1 -0
  223. package/dist/components/UI/DataTable/DataTableDetailTable.d.ts +35 -0
  224. package/dist/components/UI/DataTable/DataTableDetailTable.js +129 -0
  225. package/dist/components/UI/DataTable/DataTableDetailTable.js.map +1 -0
  226. package/dist/components/UI/DataTable/DataTableEditModeButton.d.ts +12 -0
  227. package/dist/components/UI/DataTable/DataTableEditModeButton.js +29 -0
  228. package/dist/components/UI/DataTable/DataTableEditModeButton.js.map +1 -0
  229. package/dist/components/UI/DataTable/DataTableFilters.d.ts +20 -0
  230. package/dist/components/UI/DataTable/DataTableFilters.js +64 -0
  231. package/dist/components/UI/DataTable/DataTableFilters.js.map +1 -0
  232. package/dist/components/UI/DataTable/DataTableHead.d.ts +27 -0
  233. package/dist/components/UI/DataTable/DataTableHead.js +198 -0
  234. package/dist/components/UI/DataTable/DataTableHead.js.map +1 -0
  235. package/dist/components/UI/DataTable/DataTablePagination.d.ts +15 -0
  236. package/dist/components/UI/DataTable/DataTablePagination.js +145 -0
  237. package/dist/components/UI/DataTable/DataTablePagination.js.map +1 -0
  238. package/dist/components/UI/DataTable/DataTableSaveButton.d.ts +13 -0
  239. package/dist/components/UI/DataTable/DataTableSaveButton.js +21 -0
  240. package/dist/components/UI/DataTable/DataTableSaveButton.js.map +1 -0
  241. package/dist/components/UI/DataTable/DataTableSegmentedTabs.d.ts +8 -0
  242. package/dist/components/UI/DataTable/DataTableSegmentedTabs.js +35 -0
  243. package/dist/components/UI/DataTable/DataTableSegmentedTabs.js.map +1 -0
  244. package/dist/components/UI/DataTable/DataTableStates.d.ts +17 -0
  245. package/dist/components/UI/DataTable/DataTableStates.js +59 -0
  246. package/dist/components/UI/DataTable/DataTableStates.js.map +1 -0
  247. package/dist/components/UI/DataTable/DataTableToolbar.d.ts +28 -0
  248. package/dist/components/UI/DataTable/DataTableToolbar.js +109 -0
  249. package/dist/components/UI/DataTable/DataTableToolbar.js.map +1 -0
  250. package/dist/components/UI/DataTable/applyDataTableFilters.d.ts +16 -0
  251. package/dist/components/UI/DataTable/applyDataTableFilters.js +53 -0
  252. package/dist/components/UI/DataTable/applyDataTableFilters.js.map +1 -0
  253. package/dist/components/UI/DataTable/cells/DataTableActionsCell.d.ts +7 -0
  254. package/dist/components/UI/DataTable/cells/DataTableActionsCell.js +55 -0
  255. package/dist/components/UI/DataTable/cells/DataTableActionsCell.js.map +1 -0
  256. package/dist/components/UI/DataTable/cells/DataTableCell.d.ts +15 -0
  257. package/dist/components/UI/DataTable/cells/DataTableCell.js +63 -0
  258. package/dist/components/UI/DataTable/cells/DataTableCell.js.map +1 -0
  259. package/dist/components/UI/DataTable/cells/DataTableCodeCell.d.ts +6 -0
  260. package/dist/components/UI/DataTable/cells/DataTableCodeCell.js +7 -0
  261. package/dist/components/UI/DataTable/cells/DataTableCodeCell.js.map +1 -0
  262. package/dist/components/UI/DataTable/cells/DataTableColorCell.d.ts +7 -0
  263. package/dist/components/UI/DataTable/cells/DataTableColorCell.js +10 -0
  264. package/dist/components/UI/DataTable/cells/DataTableColorCell.js.map +1 -0
  265. package/dist/components/UI/DataTable/cells/DataTableCountCell.d.ts +5 -0
  266. package/dist/components/UI/DataTable/cells/DataTableCountCell.js +7 -0
  267. package/dist/components/UI/DataTable/cells/DataTableCountCell.js.map +1 -0
  268. package/dist/components/UI/DataTable/cells/DataTableDateCell.d.ts +5 -0
  269. package/dist/components/UI/DataTable/cells/DataTableDateCell.js +12 -0
  270. package/dist/components/UI/DataTable/cells/DataTableDateCell.js.map +1 -0
  271. package/dist/components/UI/DataTable/cells/DataTableEditableCell.d.ts +23 -0
  272. package/dist/components/UI/DataTable/cells/DataTableEditableCell.js +242 -0
  273. package/dist/components/UI/DataTable/cells/DataTableEditableCell.js.map +1 -0
  274. package/dist/components/UI/DataTable/cells/DataTableEmpenhoCell.d.ts +10 -0
  275. package/dist/components/UI/DataTable/cells/DataTableEmpenhoCell.js +7 -0
  276. package/dist/components/UI/DataTable/cells/DataTableEmpenhoCell.js.map +1 -0
  277. package/dist/components/UI/DataTable/cells/DataTableOriginCell.d.ts +6 -0
  278. package/dist/components/UI/DataTable/cells/DataTableOriginCell.js +25 -0
  279. package/dist/components/UI/DataTable/cells/DataTableOriginCell.js.map +1 -0
  280. package/dist/components/UI/DataTable/cells/DataTableStatusCell.d.ts +6 -0
  281. package/dist/components/UI/DataTable/cells/DataTableStatusCell.js +24 -0
  282. package/dist/components/UI/DataTable/cells/DataTableStatusCell.js.map +1 -0
  283. package/dist/components/UI/DataTable/cells/DataTableTagCell.d.ts +6 -0
  284. package/dist/components/UI/DataTable/cells/DataTableTagCell.js +25 -0
  285. package/dist/components/UI/DataTable/cells/DataTableTagCell.js.map +1 -0
  286. package/dist/components/UI/DataTable/cells/DataTableTextCell.d.ts +6 -0
  287. package/dist/components/UI/DataTable/cells/DataTableTextCell.js +7 -0
  288. package/dist/components/UI/DataTable/cells/DataTableTextCell.js.map +1 -0
  289. package/dist/components/UI/DataTable/cells/DataTableThumbnailCell.d.ts +6 -0
  290. package/dist/components/UI/DataTable/cells/DataTableThumbnailCell.js +10 -0
  291. package/dist/components/UI/DataTable/cells/DataTableThumbnailCell.js.map +1 -0
  292. package/dist/components/UI/DataTable/dataTableClasses.d.ts +12 -0
  293. package/dist/components/UI/DataTable/dataTableClasses.js +29 -0
  294. package/dist/components/UI/DataTable/dataTableClasses.js.map +1 -0
  295. package/dist/components/UI/DataTable/dataTableColumnWidths.d.ts +15 -0
  296. package/dist/components/UI/DataTable/dataTableColumnWidths.js +153 -0
  297. package/dist/components/UI/DataTable/dataTableColumnWidths.js.map +1 -0
  298. package/dist/components/UI/DataTable/dataTableColumnsStore.d.ts +12 -0
  299. package/dist/components/UI/DataTable/dataTableColumnsStore.js +68 -0
  300. package/dist/components/UI/DataTable/dataTableColumnsStore.js.map +1 -0
  301. package/dist/components/UI/DataTable/dataTableMotion.d.ts +6 -0
  302. package/dist/components/UI/DataTable/dataTableMotion.js +15 -0
  303. package/dist/components/UI/DataTable/dataTableMotion.js.map +1 -0
  304. package/dist/components/UI/DataTable/grid/GridFillHandle.d.ts +8 -0
  305. package/dist/components/UI/DataTable/grid/GridFillHandle.js +70 -0
  306. package/dist/components/UI/DataTable/grid/GridFillHandle.js.map +1 -0
  307. package/dist/components/UI/DataTable/grid/GridProvider.d.ts +31 -0
  308. package/dist/components/UI/DataTable/grid/GridProvider.js +85 -0
  309. package/dist/components/UI/DataTable/grid/GridProvider.js.map +1 -0
  310. package/dist/components/UI/DataTable/grid/fill/fillStrategies.d.ts +19 -0
  311. package/dist/components/UI/DataTable/grid/fill/fillStrategies.js +73 -0
  312. package/dist/components/UI/DataTable/grid/fill/fillStrategies.js.map +1 -0
  313. package/dist/components/UI/DataTable/grid/gridStore.d.ts +69 -0
  314. package/dist/components/UI/DataTable/grid/gridStore.js +219 -0
  315. package/dist/components/UI/DataTable/grid/gridStore.js.map +1 -0
  316. package/dist/components/UI/DataTable/grid/gridTypes.d.ts +47 -0
  317. package/dist/components/UI/DataTable/grid/gridTypes.js +27 -0
  318. package/dist/components/UI/DataTable/grid/gridTypes.js.map +1 -0
  319. package/dist/components/UI/DataTable/grid/useGridFillApply.d.ts +18 -0
  320. package/dist/components/UI/DataTable/grid/useGridFillApply.js +74 -0
  321. package/dist/components/UI/DataTable/grid/useGridFillApply.js.map +1 -0
  322. package/dist/components/UI/DataTable/grid/useGridInstance.d.ts +27 -0
  323. package/dist/components/UI/DataTable/grid/useGridInstance.js +41 -0
  324. package/dist/components/UI/DataTable/grid/useGridInstance.js.map +1 -0
  325. package/dist/components/UI/DataTable/grid/useGridKeyboard.d.ts +17 -0
  326. package/dist/components/UI/DataTable/grid/useGridKeyboard.js +114 -0
  327. package/dist/components/UI/DataTable/grid/useGridKeyboard.js.map +1 -0
  328. package/dist/components/UI/DataTable/index.d.ts +19 -0
  329. package/dist/components/UI/DataTable/index.js +34 -0
  330. package/dist/components/UI/DataTable/index.js.map +1 -0
  331. package/dist/components/UI/DataTable/types.d.ts +513 -0
  332. package/dist/components/UI/DataTable/types.js +13 -0
  333. package/dist/components/UI/DataTable/types.js.map +1 -0
  334. package/dist/components/UI/DataTable/useCellEditingState.d.ts +20 -0
  335. package/dist/components/UI/DataTable/useCellEditingState.js +33 -0
  336. package/dist/components/UI/DataTable/useCellEditingState.js.map +1 -0
  337. package/dist/components/UI/DataTable/useColumnOrder.d.ts +25 -0
  338. package/dist/components/UI/DataTable/useColumnOrder.js +94 -0
  339. package/dist/components/UI/DataTable/useColumnOrder.js.map +1 -0
  340. package/dist/components/UI/DataTable/useColumnSizing.d.ts +9 -0
  341. package/dist/components/UI/DataTable/useColumnSizing.js +21 -0
  342. package/dist/components/UI/DataTable/useColumnSizing.js.map +1 -0
  343. package/dist/components/UI/DataTable/useColumnVisibility.d.ts +19 -0
  344. package/dist/components/UI/DataTable/useColumnVisibility.js +47 -0
  345. package/dist/components/UI/DataTable/useColumnVisibility.js.map +1 -0
  346. package/dist/components/UI/DataTable/useDataTableCommitQueue.d.ts +69 -0
  347. package/dist/components/UI/DataTable/useDataTableCommitQueue.js +220 -0
  348. package/dist/components/UI/DataTable/useDataTableCommitQueue.js.map +1 -0
  349. package/dist/components/UI/DataTable/useDataTableEditBuffer.d.ts +36 -0
  350. package/dist/components/UI/DataTable/useDataTableEditBuffer.js +29 -0
  351. package/dist/components/UI/DataTable/useDataTableEditBuffer.js.map +1 -0
  352. package/dist/components/UI/DataTable/useDataTableInstance.d.ts +65 -0
  353. package/dist/components/UI/DataTable/useDataTableInstance.js +306 -0
  354. package/dist/components/UI/DataTable/useDataTableInstance.js.map +1 -0
  355. package/dist/components/UI/DataTable/useDataTableSource.d.ts +85 -0
  356. package/dist/components/UI/DataTable/useDataTableSource.js +199 -0
  357. package/dist/components/UI/DataTable/useDataTableSource.js.map +1 -0
  358. package/dist/components/UI/DataTable/useFlipRows.d.ts +22 -0
  359. package/dist/components/UI/DataTable/useFlipRows.js +90 -0
  360. package/dist/components/UI/DataTable/useFlipRows.js.map +1 -0
  361. package/dist/components/UI/ErrorBoundary.d.ts +20 -0
  362. package/dist/components/UI/ErrorBoundary.js +36 -0
  363. package/dist/components/UI/ErrorBoundary.js.map +1 -0
  364. package/dist/components/UI/GeneratedByAI.d.ts +2 -0
  365. package/dist/components/UI/GeneratedByAI.js +12 -0
  366. package/dist/components/UI/GeneratedByAI.js.map +1 -0
  367. package/dist/components/UI/HorizontalScrollArea.d.ts +22 -0
  368. package/dist/components/UI/HorizontalScrollArea.js +73 -0
  369. package/dist/components/UI/HorizontalScrollArea.js.map +1 -0
  370. package/dist/components/UI/ImageAiAdjust/ImageAiAdjustDialog.d.ts +15 -0
  371. package/dist/components/UI/ImageAiAdjust/ImageAiAdjustDialog.js +144 -0
  372. package/dist/components/UI/ImageAiAdjust/ImageAiAdjustDialog.js.map +1 -0
  373. package/dist/components/UI/ImageAiAdjust/useImageAiAdjust.d.ts +29 -0
  374. package/dist/components/UI/ImageAiAdjust/useImageAiAdjust.js +84 -0
  375. package/dist/components/UI/ImageAiAdjust/useImageAiAdjust.js.map +1 -0
  376. package/dist/components/UI/ImageAnnotator/AnnotationEditor.d.ts +12 -0
  377. package/dist/components/UI/ImageAnnotator/AnnotationEditor.js +267 -0
  378. package/dist/components/UI/ImageAnnotator/AnnotationEditor.js.map +1 -0
  379. package/dist/components/UI/ImageAnnotator/ImageAnnotationDialog.d.ts +13 -0
  380. package/dist/components/UI/ImageAnnotator/ImageAnnotationDialog.js +58 -0
  381. package/dist/components/UI/ImageAnnotator/ImageAnnotationDialog.js.map +1 -0
  382. package/dist/components/UI/ImageAnnotator/annotationStyle.d.ts +28 -0
  383. package/dist/components/UI/ImageAnnotator/annotationStyle.js +56 -0
  384. package/dist/components/UI/ImageAnnotator/annotationStyle.js.map +1 -0
  385. package/dist/components/UI/ImageAnnotator/canvas/AnnotationElementNode.d.ts +17 -0
  386. package/dist/components/UI/ImageAnnotator/canvas/AnnotationElementNode.js +329 -0
  387. package/dist/components/UI/ImageAnnotator/canvas/AnnotationElementNode.js.map +1 -0
  388. package/dist/components/UI/ImageAnnotator/canvas/AnnotationSelection.d.ts +10 -0
  389. package/dist/components/UI/ImageAnnotator/canvas/AnnotationSelection.js +125 -0
  390. package/dist/components/UI/ImageAnnotator/canvas/AnnotationSelection.js.map +1 -0
  391. package/dist/components/UI/ImageAnnotator/canvas/AnnotationStage.d.ts +19 -0
  392. package/dist/components/UI/ImageAnnotator/canvas/AnnotationStage.js +216 -0
  393. package/dist/components/UI/ImageAnnotator/canvas/AnnotationStage.js.map +1 -0
  394. package/dist/components/UI/ImageAnnotator/components/AnnotationActionBar.d.ts +15 -0
  395. package/dist/components/UI/ImageAnnotator/components/AnnotationActionBar.js +77 -0
  396. package/dist/components/UI/ImageAnnotator/components/AnnotationActionBar.js.map +1 -0
  397. package/dist/components/UI/ImageAnnotator/components/AnnotationColorPopover.d.ts +11 -0
  398. package/dist/components/UI/ImageAnnotator/components/AnnotationColorPopover.js +69 -0
  399. package/dist/components/UI/ImageAnnotator/components/AnnotationColorPopover.js.map +1 -0
  400. package/dist/components/UI/ImageAnnotator/components/AnnotationElementActions.d.ts +8 -0
  401. package/dist/components/UI/ImageAnnotator/components/AnnotationElementActions.js +58 -0
  402. package/dist/components/UI/ImageAnnotator/components/AnnotationElementActions.js.map +1 -0
  403. package/dist/components/UI/ImageAnnotator/components/AnnotationStyleBar.d.ts +13 -0
  404. package/dist/components/UI/ImageAnnotator/components/AnnotationStyleBar.js +183 -0
  405. package/dist/components/UI/ImageAnnotator/components/AnnotationStyleBar.js.map +1 -0
  406. package/dist/components/UI/ImageAnnotator/components/AnnotationTextOverlay.d.ts +15 -0
  407. package/dist/components/UI/ImageAnnotator/components/AnnotationTextOverlay.js +78 -0
  408. package/dist/components/UI/ImageAnnotator/components/AnnotationTextOverlay.js.map +1 -0
  409. package/dist/components/UI/ImageAnnotator/components/AnnotationToolButton.d.ts +15 -0
  410. package/dist/components/UI/ImageAnnotator/components/AnnotationToolButton.js +46 -0
  411. package/dist/components/UI/ImageAnnotator/components/AnnotationToolButton.js.map +1 -0
  412. package/dist/components/UI/ImageAnnotator/components/AnnotationToolbar.d.ts +10 -0
  413. package/dist/components/UI/ImageAnnotator/components/AnnotationToolbar.js +80 -0
  414. package/dist/components/UI/ImageAnnotator/components/AnnotationToolbar.js.map +1 -0
  415. package/dist/components/UI/ImageAnnotator/helpers/annotationCanvas.d.ts +21 -0
  416. package/dist/components/UI/ImageAnnotator/helpers/annotationCanvas.js +45 -0
  417. package/dist/components/UI/ImageAnnotator/helpers/annotationCanvas.js.map +1 -0
  418. package/dist/components/UI/ImageAnnotator/helpers/annotationElements.d.ts +15 -0
  419. package/dist/components/UI/ImageAnnotator/helpers/annotationElements.js +165 -0
  420. package/dist/components/UI/ImageAnnotator/helpers/annotationElements.js.map +1 -0
  421. package/dist/components/UI/ImageAnnotator/helpers/annotationExport.d.ts +15 -0
  422. package/dist/components/UI/ImageAnnotator/helpers/annotationExport.js +23 -0
  423. package/dist/components/UI/ImageAnnotator/helpers/annotationExport.js.map +1 -0
  424. package/dist/components/UI/ImageAnnotator/helpers/konvaFullBuild.d.ts +8 -0
  425. package/dist/components/UI/ImageAnnotator/helpers/konvaFullBuild.js +10 -0
  426. package/dist/components/UI/ImageAnnotator/helpers/konvaFullBuild.js.map +1 -0
  427. package/dist/components/UI/ImageAnnotator/hooks/useAnnotationBaseImage.d.ts +9 -0
  428. package/dist/components/UI/ImageAnnotator/hooks/useAnnotationBaseImage.js +56 -0
  429. package/dist/components/UI/ImageAnnotator/hooks/useAnnotationBaseImage.js.map +1 -0
  430. package/dist/components/UI/ImageAnnotator/hooks/useAnnotationDocument.d.ts +27 -0
  431. package/dist/components/UI/ImageAnnotator/hooks/useAnnotationDocument.js +149 -0
  432. package/dist/components/UI/ImageAnnotator/hooks/useAnnotationDocument.js.map +1 -0
  433. package/dist/components/UI/ImageAnnotator/hooks/useAnnotationShortcuts.d.ts +14 -0
  434. package/dist/components/UI/ImageAnnotator/hooks/useAnnotationShortcuts.js +79 -0
  435. package/dist/components/UI/ImageAnnotator/hooks/useAnnotationShortcuts.js.map +1 -0
  436. package/dist/components/UI/ImageAnnotator/hooks/useCoarsePointer.d.ts +5 -0
  437. package/dist/components/UI/ImageAnnotator/hooks/useCoarsePointer.js +23 -0
  438. package/dist/components/UI/ImageAnnotator/hooks/useCoarsePointer.js.map +1 -0
  439. package/dist/components/UI/ImageAnnotator/hooks/useHtmlImage.d.ts +2 -0
  440. package/dist/components/UI/ImageAnnotator/hooks/useHtmlImage.js +27 -0
  441. package/dist/components/UI/ImageAnnotator/hooks/useHtmlImage.js.map +1 -0
  442. package/dist/components/UI/ImageAnnotator/interfaces/annotationDocument.d.ts +89 -0
  443. package/dist/components/UI/ImageAnnotator/interfaces/annotationDocument.js +13 -0
  444. package/dist/components/UI/ImageAnnotator/interfaces/annotationDocument.js.map +1 -0
  445. package/dist/components/UI/ImagePlaceholder.d.ts +24 -0
  446. package/dist/components/UI/ImagePlaceholder.js +26 -0
  447. package/dist/components/UI/ImagePlaceholder.js.map +1 -0
  448. package/dist/components/UI/ImageZoomOverlay.d.ts +7 -0
  449. package/dist/components/UI/ImageZoomOverlay.js +49 -0
  450. package/dist/components/UI/ImageZoomOverlay.js.map +1 -0
  451. package/dist/components/UI/InformationCard.d.ts +26 -0
  452. package/dist/components/UI/InformationCard.js +89 -0
  453. package/dist/components/UI/InformationCard.js.map +1 -0
  454. package/dist/components/UI/Kanban/KanbanBoard.d.ts +26 -0
  455. package/dist/components/UI/Kanban/KanbanBoard.js +89 -0
  456. package/dist/components/UI/Kanban/KanbanBoard.js.map +1 -0
  457. package/dist/components/UI/Kanban/KanbanCard.d.ts +22 -0
  458. package/dist/components/UI/Kanban/KanbanCard.js +47 -0
  459. package/dist/components/UI/Kanban/KanbanCard.js.map +1 -0
  460. package/dist/components/UI/Kanban/KanbanLane.d.ts +37 -0
  461. package/dist/components/UI/Kanban/KanbanLane.js +77 -0
  462. package/dist/components/UI/Kanban/KanbanLane.js.map +1 -0
  463. package/dist/components/UI/Kanban/index.d.ts +4 -0
  464. package/dist/components/UI/Kanban/index.js +11 -0
  465. package/dist/components/UI/Kanban/index.js.map +1 -0
  466. package/dist/components/UI/Kanban/kanbanBoardContext.d.ts +13 -0
  467. package/dist/components/UI/Kanban/kanbanBoardContext.js +13 -0
  468. package/dist/components/UI/Kanban/kanbanBoardContext.js.map +1 -0
  469. package/dist/components/UI/LazyMarkdown.d.ts +5 -0
  470. package/dist/components/UI/LazyMarkdown.js +8 -0
  471. package/dist/components/UI/LazyMarkdown.js.map +1 -0
  472. package/dist/components/UI/LoadingPage.d.ts +2 -0
  473. package/dist/components/UI/LoadingPage.js +13 -0
  474. package/dist/components/UI/LoadingPage.js.map +1 -0
  475. package/dist/components/UI/LoadingSpinner.d.ts +14 -0
  476. package/dist/components/UI/LoadingSpinner.js +32 -0
  477. package/dist/components/UI/LoadingSpinner.js.map +1 -0
  478. package/dist/components/UI/MaterialSymbol/consts.d.ts +2 -0
  479. package/dist/components/UI/MaterialSymbol/consts.js +3472 -0
  480. package/dist/components/UI/MaterialSymbol/consts.js.map +1 -0
  481. package/dist/components/UI/MaterialSymbol/index.d.ts +18 -0
  482. package/dist/components/UI/MaterialSymbol/index.js +46 -0
  483. package/dist/components/UI/MaterialSymbol/index.js.map +1 -0
  484. package/dist/components/UI/MaterialSymbol/types.d.ts +37 -0
  485. package/dist/components/UI/MaterialSymbol/types.js +2 -0
  486. package/dist/components/UI/MaterialSymbol/types.js.map +1 -0
  487. package/dist/components/UI/NoDataFound/index.d.ts +31 -0
  488. package/dist/components/UI/NoDataFound/index.js +215 -0
  489. package/dist/components/UI/NoDataFound/index.js.map +1 -0
  490. package/dist/components/UI/NoDataFound/noDataFoundPresets.d.ts +31 -0
  491. package/dist/components/UI/NoDataFound/noDataFoundPresets.js +99 -0
  492. package/dist/components/UI/NoDataFound/noDataFoundPresets.js.map +1 -0
  493. package/dist/components/UI/ReferenceCard.d.ts +16 -0
  494. package/dist/components/UI/ReferenceCard.js +59 -0
  495. package/dist/components/UI/ReferenceCard.js.map +1 -0
  496. package/dist/components/UI/RichTextContent.d.ts +14 -0
  497. package/dist/components/UI/RichTextContent.js +28 -0
  498. package/dist/components/UI/RichTextContent.js.map +1 -0
  499. package/dist/components/UI/SkeletonLoading.d.ts +9 -0
  500. package/dist/components/UI/SkeletonLoading.js +20 -0
  501. package/dist/components/UI/SkeletonLoading.js.map +1 -0
  502. package/dist/components/UI/ThreeDots.d.ts +11 -0
  503. package/dist/components/UI/ThreeDots.js +18 -0
  504. package/dist/components/UI/ThreeDots.js.map +1 -0
  505. package/dist/components/UI/Toast.d.ts +16 -0
  506. package/dist/components/UI/Toast.js +81 -0
  507. package/dist/components/UI/Toast.js.map +1 -0
  508. package/dist/components/UI/ToastHost.d.ts +2 -0
  509. package/dist/components/UI/ToastHost.js +25 -0
  510. package/dist/components/UI/ToastHost.js.map +1 -0
  511. package/dist/components/UI/TypingEffect.d.ts +10 -0
  512. package/dist/components/UI/TypingEffect.js +31 -0
  513. package/dist/components/UI/TypingEffect.js.map +1 -0
  514. package/dist/components/UI/UmodeLogo.d.ts +10 -0
  515. package/dist/components/UI/UmodeLogo.js +128 -0
  516. package/dist/components/UI/UmodeLogo.js.map +1 -0
  517. package/dist/components/UI/UsersAvatar.d.ts +7 -0
  518. package/dist/components/UI/UsersAvatar.js +29 -0
  519. package/dist/components/UI/UsersAvatar.js.map +1 -0
  520. package/dist/components/UI/access/UiAccessContext.d.ts +21 -0
  521. package/dist/components/UI/access/UiAccessContext.js +14 -0
  522. package/dist/components/UI/access/UiAccessContext.js.map +1 -0
  523. package/dist/components/UI/cells/ArrayCell.d.ts +5 -0
  524. package/dist/components/UI/cells/ArrayCell.js +25 -0
  525. package/dist/components/UI/cells/ArrayCell.js.map +1 -0
  526. package/dist/components/UI/cells/BooleanCell.d.ts +5 -0
  527. package/dist/components/UI/cells/BooleanCell.js +22 -0
  528. package/dist/components/UI/cells/BooleanCell.js.map +1 -0
  529. package/dist/components/UI/cells/DetailsTableCell.d.ts +7 -0
  530. package/dist/components/UI/cells/DetailsTableCell.js +30 -0
  531. package/dist/components/UI/cells/DetailsTableCell.js.map +1 -0
  532. package/dist/components/UI/cells/ProductImageCell.d.ts +5 -0
  533. package/dist/components/UI/cells/ProductImageCell.js +21 -0
  534. package/dist/components/UI/cells/ProductImageCell.js.map +1 -0
  535. package/dist/components/UI/cells/UrlLinkCell.d.ts +6 -0
  536. package/dist/components/UI/cells/UrlLinkCell.js +19 -0
  537. package/dist/components/UI/cells/UrlLinkCell.js.map +1 -0
  538. package/dist/components/Upload/SimpleUploaderComponent.d.ts +9 -0
  539. package/dist/components/Upload/SimpleUploaderComponent.js +72 -0
  540. package/dist/components/Upload/SimpleUploaderComponent.js.map +1 -0
  541. package/dist/components/Upload/UploaderComponent.d.ts +29 -0
  542. package/dist/components/Upload/UploaderComponent.js +241 -0
  543. package/dist/components/Upload/UploaderComponent.js.map +1 -0
  544. package/dist/components/Upload/XlsExportButton.d.ts +13 -0
  545. package/dist/components/Upload/XlsExportButton.js +47 -0
  546. package/dist/components/Upload/XlsExportButton.js.map +1 -0
  547. package/dist/helpers/composeRefs.d.ts +7 -0
  548. package/dist/helpers/composeRefs.js +14 -0
  549. package/dist/helpers/composeRefs.js.map +1 -0
  550. package/dist/helpers/dateHelpers.d.ts +47 -0
  551. package/dist/helpers/dateHelpers.js +69 -0
  552. package/dist/helpers/dateHelpers.js.map +1 -0
  553. package/dist/helpers/fileAttachments.d.ts +3 -0
  554. package/dist/helpers/fileAttachments.js +17 -0
  555. package/dist/helpers/fileAttachments.js.map +1 -0
  556. package/dist/helpers/formatHelpers.d.ts +36 -0
  557. package/dist/helpers/formatHelpers.js +65 -0
  558. package/dist/helpers/formatHelpers.js.map +1 -0
  559. package/dist/helpers/imageCompression.d.ts +5 -0
  560. package/dist/helpers/imageCompression.js +49 -0
  561. package/dist/helpers/imageCompression.js.map +1 -0
  562. package/dist/helpers/imageFile.d.ts +16 -0
  563. package/dist/helpers/imageFile.js +59 -0
  564. package/dist/helpers/imageFile.js.map +1 -0
  565. package/dist/helpers/layeredSurfaces.d.ts +10 -0
  566. package/dist/helpers/layeredSurfaces.js +14 -0
  567. package/dist/helpers/layeredSurfaces.js.map +1 -0
  568. package/dist/helpers/mathHelpers.d.ts +14 -0
  569. package/dist/helpers/mathHelpers.js +13 -0
  570. package/dist/helpers/mathHelpers.js.map +1 -0
  571. package/dist/helpers/mergeClasses.d.ts +6 -0
  572. package/dist/helpers/mergeClasses.js +12 -0
  573. package/dist/helpers/mergeClasses.js.map +1 -0
  574. package/dist/helpers/moduleLoadErrorHelpers.d.ts +1 -0
  575. package/dist/helpers/moduleLoadErrorHelpers.js +25 -0
  576. package/dist/helpers/moduleLoadErrorHelpers.js.map +1 -0
  577. package/dist/helpers/objectHelpers.d.ts +13 -0
  578. package/dist/helpers/objectHelpers.js +60 -0
  579. package/dist/helpers/objectHelpers.js.map +1 -0
  580. package/dist/helpers/richText.d.ts +37 -0
  581. package/dist/helpers/richText.js +171 -0
  582. package/dist/helpers/richText.js.map +1 -0
  583. package/dist/helpers/stringHelpers.d.ts +45 -0
  584. package/dist/helpers/stringHelpers.js +57 -0
  585. package/dist/helpers/stringHelpers.js.map +1 -0
  586. package/dist/helpers/themeTokens.d.ts +28 -0
  587. package/dist/helpers/themeTokens.js +33 -0
  588. package/dist/helpers/themeTokens.js.map +1 -0
  589. package/dist/helpers/uiErrorPresenter.d.ts +21 -0
  590. package/dist/helpers/uiErrorPresenter.js +10 -0
  591. package/dist/helpers/uiErrorPresenter.js.map +1 -0
  592. package/dist/helpers/uiLogger.d.ts +8 -0
  593. package/dist/helpers/uiLogger.js +16 -0
  594. package/dist/helpers/uiLogger.js.map +1 -0
  595. package/dist/helpers/uiPreferences.d.ts +13 -0
  596. package/dist/helpers/uiPreferences.js +35 -0
  597. package/dist/helpers/uiPreferences.js.map +1 -0
  598. package/dist/helpers/urlParamSync.d.ts +19 -0
  599. package/dist/helpers/urlParamSync.js +54 -0
  600. package/dist/helpers/urlParamSync.js.map +1 -0
  601. package/dist/helpers/utilityHelpers.d.ts +81 -0
  602. package/dist/helpers/utilityHelpers.js +133 -0
  603. package/dist/helpers/utilityHelpers.js.map +1 -0
  604. package/dist/helpers/validationHelpers.d.ts +36 -0
  605. package/dist/helpers/validationHelpers.js +44 -0
  606. package/dist/helpers/validationHelpers.js.map +1 -0
  607. package/dist/hooks/useAnchoredFloating.d.ts +22 -0
  608. package/dist/hooks/useAnchoredFloating.js +59 -0
  609. package/dist/hooks/useAnchoredFloating.js.map +1 -0
  610. package/dist/hooks/useBreakpoint.d.ts +16 -0
  611. package/dist/hooks/useBreakpoint.js +47 -0
  612. package/dist/hooks/useBreakpoint.js.map +1 -0
  613. package/dist/hooks/useDebounce.d.ts +8 -0
  614. package/dist/hooks/useDebounce.js +36 -0
  615. package/dist/hooks/useDebounce.js.map +1 -0
  616. package/dist/hooks/useFileAttachments.d.ts +43 -0
  617. package/dist/hooks/useFileAttachments.js +158 -0
  618. package/dist/hooks/useFileAttachments.js.map +1 -0
  619. package/dist/hooks/useHoverCapable.d.ts +6 -0
  620. package/dist/hooks/useHoverCapable.js +28 -0
  621. package/dist/hooks/useHoverCapable.js.map +1 -0
  622. package/dist/hooks/useInlineEditor.d.ts +5 -0
  623. package/dist/hooks/useInlineEditor.js +41 -0
  624. package/dist/hooks/useInlineEditor.js.map +1 -0
  625. package/dist/hooks/useMobile.d.ts +7 -0
  626. package/dist/hooks/useMobile.js +8 -0
  627. package/dist/hooks/useMobile.js.map +1 -0
  628. package/dist/hooks/useNotification.d.ts +38 -0
  629. package/dist/hooks/useNotification.js +39 -0
  630. package/dist/hooks/useNotification.js.map +1 -0
  631. package/dist/hooks/useResolvedTheme.d.ts +7 -0
  632. package/dist/hooks/useResolvedTheme.js +15 -0
  633. package/dist/hooks/useResolvedTheme.js.map +1 -0
  634. package/dist/hooks/useVoiceTranscription.d.ts +25 -0
  635. package/dist/hooks/useVoiceTranscription.js +106 -0
  636. package/dist/hooks/useVoiceTranscription.js.map +1 -0
  637. package/dist/index.d.ts +50 -0
  638. package/dist/index.js +125 -0
  639. package/dist/index.js.map +1 -0
  640. package/dist/interfaces/IFileAttachment.d.ts +18 -0
  641. package/dist/interfaces/IFileAttachment.js +2 -0
  642. package/dist/interfaces/IFileAttachment.js.map +1 -0
  643. package/dist/interfaces/IFilterOption.d.ts +10 -0
  644. package/dist/interfaces/IFilterOption.js +2 -0
  645. package/dist/interfaces/IFilterOption.js.map +1 -0
  646. package/dist/locales/en/ui.json.d.ts +470 -0
  647. package/dist/locales/en/ui.json.js +99 -0
  648. package/dist/locales/en/ui.json.js.map +1 -0
  649. package/dist/locales/index.d.ts +938 -0
  650. package/dist/locales/index.js +7 -0
  651. package/dist/locales/index.js.map +1 -0
  652. package/dist/locales/pt/ui.json.d.ts +470 -0
  653. package/dist/locales/pt/ui.json.js +99 -0
  654. package/dist/locales/pt/ui.json.js.map +1 -0
  655. package/dist/motion/index.d.ts +2 -0
  656. package/dist/motion/index.js +17 -0
  657. package/dist/motion/index.js.map +1 -0
  658. package/dist/motion/motionPresets.d.ts +44 -0
  659. package/dist/motion/motionPresets.js +67 -0
  660. package/dist/motion/motionPresets.js.map +1 -0
  661. package/dist/motion/motionTokens.d.ts +40 -0
  662. package/dist/motion/motionTokens.js +29 -0
  663. package/dist/motion/motionTokens.js.map +1 -0
  664. package/package.json +174 -0
  665. package/src/assets/styles/theme.css +381 -0
  666. package/tailwind-plugins/glass.js +167 -0
  667. package/tailwind.preset.js +367 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileAttachments.js","sources":["../../src/helpers/fileAttachments.ts"],"sourcesContent":["import { SymbolCodepoints } from '../components/UI/MaterialSymbol';\n\nexport const formatFileSize = (sizeInBytes: number): string => {\n if (!Number.isFinite(sizeInBytes) || sizeInBytes <= 0) return '0 KB';\n if (sizeInBytes < 1024 * 1024) return `${Math.max(1, Math.round(sizeInBytes / 1024))} KB`;\n return `${(sizeInBytes / (1024 * 1024)).toFixed(1)} MB`;\n};\n\nexport const iconForMimeType = (mimeType: string): SymbolCodepoints => {\n if ((mimeType ?? '').startsWith('image/')) return 'image';\n if ((mimeType ?? '').startsWith('audio/')) return 'mic';\n if ((mimeType ?? '').startsWith('video/')) return 'videocam';\n if (mimeType === 'application/pdf') return 'picture_as_pdf';\n return 'description';\n};\n"],"names":[],"mappings":"AAEO,MAAM,iBAAiB,CAAC,gBAAgC;AAC7D,MAAI,CAAC,OAAO,SAAS,WAAW,KAAK,eAAe,EAAG,QAAO;AAC9D,MAAI,cAAc,OAAO,KAAM,QAAO,GAAG,KAAK,IAAI,GAAG,KAAK,MAAM,cAAc,IAAI,CAAC,CAAC;AACpF,SAAO,IAAI,eAAe,OAAO,OAAO,QAAQ,CAAC,CAAC;AACpD;AAEO,MAAM,kBAAkB,CAAC,aAAuC;AACrE,OAAK,YAAY,IAAI,WAAW,QAAQ,EAAG,QAAO;AAClD,OAAK,YAAY,IAAI,WAAW,QAAQ,EAAG,QAAO;AAClD,OAAK,YAAY,IAAI,WAAW,QAAQ,EAAG,QAAO;AAClD,MAAI,aAAa,kBAAmB,QAAO;AAC3C,SAAO;AACT;"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Format a number as currency with Brazilian locale
3
+ * @param value - The value in cents to format (optional)
4
+ * @param currency - Currency code (default: 'BRL')
5
+ * @param numberOnly - If true, returns only the number without currency symbol
6
+ * @param decimals - Number of decimal places (default: 2)
7
+ * @returns Formatted currency string or 'R$ 0,00' if no value
8
+ */
9
+ export declare const formatCurrency: (value?: number, currency?: string, numberOnly?: boolean, decimals?: number) => string;
10
+ /**
11
+ * Format a number with Brazilian locale formatting
12
+ * @param value - The number to format (optional)
13
+ * @param forceDecimals - If true, always shows 2 decimal places
14
+ * @param round - If true, rounds the number before formatting
15
+ * @returns Formatted number string or '0' if no value
16
+ */
17
+ export declare const formatNumber: (value?: number, forceDecimals?: boolean, round?: boolean) => string;
18
+ /**
19
+ * Format a number as percentage with Brazilian locale
20
+ * @param value - The decimal value to format as percentage (e.g., 0.15 for 15%)
21
+ * @param digits - Number of decimal places to show (optional)
22
+ * @returns Formatted percentage string or '0%' if no value
23
+ */
24
+ export declare const formatPercentage: (value: number | undefined, digits?: number) => string;
25
+ /**
26
+ * Format a string as CPF (xxx.xxx.xxx-xx) or CNPJ (xx.xxx.xxx/xxxx-xx) based on its length
27
+ * @param value - The CPF or CNPJ string to be formatted (numbers only)
28
+ * @returns Formatted CPF or CNPJ string with appropriate mask
29
+ */
30
+ export declare const formatCpfCnpj: (value: string) => string;
31
+ /**
32
+ * Format a string as partner official fiscal classification with pattern 0000.00.00
33
+ * @param value - The fiscal classification string to be formatted
34
+ * @returns Formatted fiscal classification string with appropriate mask
35
+ */
36
+ export declare const formatPartnerOfficialFiscalClassification: (value: string) => string;
@@ -0,0 +1,65 @@
1
+ const formatCurrency = (value, currency = "BRL", numberOnly = false, decimals = 2) => {
2
+ if (value) {
3
+ const v = (value / 100).toLocaleString("pt-BR", {
4
+ style: "currency",
5
+ currency,
6
+ minimumFractionDigits: decimals,
7
+ maximumFractionDigits: decimals,
8
+ currencyDisplay: numberOnly ? "code" : void 0
9
+ });
10
+ if (numberOnly) {
11
+ return v.replace(/[a-z]{3}/i, "").trim();
12
+ }
13
+ return v;
14
+ }
15
+ return "R$ 0,00";
16
+ };
17
+ const formatNumber = (value, forceDecimals = false, round = false) => {
18
+ if (value) {
19
+ let v = value;
20
+ if (round) {
21
+ v = Math.round(v);
22
+ }
23
+ return v.toLocaleString("pt-BR", {
24
+ style: "decimal",
25
+ minimumFractionDigits: forceDecimals ? 2 : void 0,
26
+ maximumFractionDigits: forceDecimals ? 2 : void 0
27
+ });
28
+ }
29
+ return "0";
30
+ };
31
+ const formatPercentage = (value, digits) => {
32
+ if (value) {
33
+ return value.toLocaleString("pt-BR", {
34
+ style: "percent",
35
+ minimumFractionDigits: digits != null ? digits : void 0,
36
+ maximumFractionDigits: digits != null ? digits : void 0
37
+ });
38
+ }
39
+ return "0%";
40
+ };
41
+ const formatCpfCnpj = (value) => {
42
+ const digits = value.replace(/\D/g, "");
43
+ if (digits.length === 11) {
44
+ return digits.replace(/(\d{3})(\d{3})(\d{3})(\d{2})/, "$1.$2.$3-$4");
45
+ }
46
+ if (digits.length === 14) {
47
+ return digits.replace(/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/, "$1.$2.$3/$4-$5");
48
+ }
49
+ return digits;
50
+ };
51
+ const formatPartnerOfficialFiscalClassification = (value) => {
52
+ const digits = value.replace(/\D/g, "");
53
+ if (digits.length >= 8) {
54
+ return digits.replace(/(\d{4})(\d{2})(\d{2})(.*)/, "$1.$2.$3");
55
+ }
56
+ return value;
57
+ };
58
+ export {
59
+ formatCpfCnpj,
60
+ formatCurrency,
61
+ formatNumber,
62
+ formatPartnerOfficialFiscalClassification,
63
+ formatPercentage
64
+ };
65
+ //# sourceMappingURL=formatHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatHelpers.js","sources":["../../src/helpers/formatHelpers.ts"],"sourcesContent":["/**\n * Format a number as currency with Brazilian locale\n * @param value - The value in cents to format (optional)\n * @param currency - Currency code (default: 'BRL')\n * @param numberOnly - If true, returns only the number without currency symbol\n * @param decimals - Number of decimal places (default: 2)\n * @returns Formatted currency string or 'R$ 0,00' if no value\n */\nexport const formatCurrency = (\n value?: number,\n currency: string = 'BRL',\n numberOnly: boolean = false,\n decimals: number = 2,\n): string => {\n if (value) {\n const v = (value / 100).toLocaleString('pt-BR', {\n style: 'currency',\n currency: currency,\n minimumFractionDigits: decimals,\n maximumFractionDigits: decimals,\n currencyDisplay: numberOnly ? 'code' : undefined,\n });\n if (numberOnly) {\n return v.replace(/[a-z]{3}/i, '').trim();\n }\n return v;\n }\n\n return 'R$ 0,00';\n};\n\n/**\n * Format a number with Brazilian locale formatting\n * @param value - The number to format (optional)\n * @param forceDecimals - If true, always shows 2 decimal places\n * @param round - If true, rounds the number before formatting\n * @returns Formatted number string or '0' if no value\n */\nexport const formatNumber = (value?: number, forceDecimals: boolean = false, round: boolean = false): string => {\n if (value) {\n let v = value;\n if (round) {\n v = Math.round(v);\n }\n return v.toLocaleString('pt-BR', {\n style: 'decimal',\n minimumFractionDigits: forceDecimals ? 2 : undefined,\n maximumFractionDigits: forceDecimals ? 2 : undefined,\n });\n }\n\n return '0';\n};\n\n/**\n * Format a number as percentage with Brazilian locale\n * @param value - The decimal value to format as percentage (e.g., 0.15 for 15%)\n * @param digits - Number of decimal places to show (optional)\n * @returns Formatted percentage string or '0%' if no value\n */\nexport const formatPercentage = (value: number | undefined, digits?: number): string => {\n if (value) {\n return value.toLocaleString('pt-BR', {\n style: 'percent',\n minimumFractionDigits: digits != null ? digits : undefined,\n maximumFractionDigits: digits != null ? digits : undefined,\n });\n }\n\n return '0%';\n};\n\n/**\n * Format a string as CPF (xxx.xxx.xxx-xx) or CNPJ (xx.xxx.xxx/xxxx-xx) based on its length\n * @param value - The CPF or CNPJ string to be formatted (numbers only)\n * @returns Formatted CPF or CNPJ string with appropriate mask\n */\nexport const formatCpfCnpj = (value: string): string => {\n const digits = value.replace(/\\D/g, '');\n\n if (digits.length === 11) {\n return digits.replace(/(\\d{3})(\\d{3})(\\d{3})(\\d{2})/, '$1.$2.$3-$4');\n }\n\n if (digits.length === 14) {\n return digits.replace(/(\\d{2})(\\d{3})(\\d{3})(\\d{4})(\\d{2})/, '$1.$2.$3/$4-$5');\n }\n\n return digits;\n};\n\n/**\n * Format a string as partner official fiscal classification with pattern 0000.00.00\n * @param value - The fiscal classification string to be formatted\n * @returns Formatted fiscal classification string with appropriate mask\n */\nexport const formatPartnerOfficialFiscalClassification = (value: string): string => {\n const digits = value.replace(/\\D/g, '');\n\n if (digits.length >= 8) {\n return digits.replace(/(\\d{4})(\\d{2})(\\d{2})(.*)/, '$1.$2.$3');\n }\n\n return value;\n};\n"],"names":[],"mappings":"AAQO,MAAM,iBAAiB,CAC5B,OACA,WAAmB,OACnB,aAAsB,OACtB,WAAmB,MACR;AACX,MAAI,OAAO;AACT,UAAM,KAAK,QAAQ,KAAK,eAAe,SAAS;AAAA,MAC9C,OAAO;AAAA,MACP;AAAA,MACA,uBAAuB;AAAA,MACvB,uBAAuB;AAAA,MACvB,iBAAiB,aAAa,SAAS;AAAA,IAAA,CACxC;AACD,QAAI,YAAY;AACd,aAAO,EAAE,QAAQ,aAAa,EAAE,EAAE,KAAA;AAAA,IACpC;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AASO,MAAM,eAAe,CAAC,OAAgB,gBAAyB,OAAO,QAAiB,UAAkB;AAC9G,MAAI,OAAO;AACT,QAAI,IAAI;AACR,QAAI,OAAO;AACT,UAAI,KAAK,MAAM,CAAC;AAAA,IAClB;AACA,WAAO,EAAE,eAAe,SAAS;AAAA,MAC/B,OAAO;AAAA,MACP,uBAAuB,gBAAgB,IAAI;AAAA,MAC3C,uBAAuB,gBAAgB,IAAI;AAAA,IAAA,CAC5C;AAAA,EACH;AAEA,SAAO;AACT;AAQO,MAAM,mBAAmB,CAAC,OAA2B,WAA4B;AACtF,MAAI,OAAO;AACT,WAAO,MAAM,eAAe,SAAS;AAAA,MACnC,OAAO;AAAA,MACP,uBAAuB,UAAU,OAAO,SAAS;AAAA,MACjD,uBAAuB,UAAU,OAAO,SAAS;AAAA,IAAA,CAClD;AAAA,EACH;AAEA,SAAO;AACT;AAOO,MAAM,gBAAgB,CAAC,UAA0B;AACtD,QAAM,SAAS,MAAM,QAAQ,OAAO,EAAE;AAEtC,MAAI,OAAO,WAAW,IAAI;AACxB,WAAO,OAAO,QAAQ,gCAAgC,aAAa;AAAA,EACrE;AAEA,MAAI,OAAO,WAAW,IAAI;AACxB,WAAO,OAAO,QAAQ,uCAAuC,gBAAgB;AAAA,EAC/E;AAEA,SAAO;AACT;AAOO,MAAM,4CAA4C,CAAC,UAA0B;AAClF,QAAM,SAAS,MAAM,QAAQ,OAAO,EAAE;AAEtC,MAAI,OAAO,UAAU,GAAG;AACtB,WAAO,OAAO,QAAQ,6BAA6B,UAAU;AAAA,EAC/D;AAEA,SAAO;AACT;"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Best effort only: anything that is not a large raster image, or that fails to re-encode
3
+ * smaller, goes through untouched. Chat attachments must never be lost to the optimizer.
4
+ */
5
+ export declare const compressImageFile: (file: File) => Promise<File>;
@@ -0,0 +1,49 @@
1
+ const COMPRESSION_THRESHOLD_BYTES = 1e6;
2
+ const MAX_DIMENSION_PX = 1600;
3
+ const JPEG_QUALITY = 0.85;
4
+ const COMPRESSIBLE_TYPES = /* @__PURE__ */ new Set(["image/jpeg", "image/png", "image/webp"]);
5
+ const decodeImage = async (file) => {
6
+ if (typeof createImageBitmap === "function") {
7
+ return await createImageBitmap(file);
8
+ }
9
+ return await new Promise((resolve, reject) => {
10
+ const objectUrl = URL.createObjectURL(file);
11
+ const image = new Image();
12
+ image.onload = () => {
13
+ URL.revokeObjectURL(objectUrl);
14
+ resolve(image);
15
+ };
16
+ image.onerror = () => {
17
+ URL.revokeObjectURL(objectUrl);
18
+ reject(new Error("Image decode failed"));
19
+ };
20
+ image.src = objectUrl;
21
+ });
22
+ };
23
+ const compressImageFile = async (file) => {
24
+ if (!COMPRESSIBLE_TYPES.has(file.type) || file.size <= COMPRESSION_THRESHOLD_BYTES) return file;
25
+ try {
26
+ const source = await decodeImage(file);
27
+ const width = "width" in source ? source.width : 0;
28
+ const height = "height" in source ? source.height : 0;
29
+ if (!width || !height) return file;
30
+ const scale = Math.min(1, MAX_DIMENSION_PX / Math.max(width, height));
31
+ const canvas = document.createElement("canvas");
32
+ canvas.width = Math.max(1, Math.round(width * scale));
33
+ canvas.height = Math.max(1, Math.round(height * scale));
34
+ const context = canvas.getContext("2d");
35
+ if (!context) return file;
36
+ context.drawImage(source, 0, 0, canvas.width, canvas.height);
37
+ if ("close" in source) source.close();
38
+ const blob = await new Promise((resolve) => canvas.toBlob(resolve, "image/jpeg", JPEG_QUALITY));
39
+ if (!blob || blob.size >= file.size) return file;
40
+ const renamed = file.name.replace(/\.[^.]+$/, "") || file.name;
41
+ return new File([blob], `${renamed}.jpg`, { type: "image/jpeg" });
42
+ } catch {
43
+ return file;
44
+ }
45
+ };
46
+ export {
47
+ compressImageFile
48
+ };
49
+ //# sourceMappingURL=imageCompression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageCompression.js","sources":["../../src/helpers/imageCompression.ts"],"sourcesContent":["const COMPRESSION_THRESHOLD_BYTES = 1_000_000;\nconst MAX_DIMENSION_PX = 1600;\nconst JPEG_QUALITY = 0.85;\n\nconst COMPRESSIBLE_TYPES = new Set(['image/jpeg', 'image/png', 'image/webp']);\n\nconst decodeImage = async (file: File): Promise<ImageBitmap | HTMLImageElement> => {\n if (typeof createImageBitmap === 'function') {\n return await createImageBitmap(file);\n }\n\n return await new Promise<HTMLImageElement>((resolve, reject) => {\n const objectUrl = URL.createObjectURL(file);\n const image = new Image();\n image.onload = () => {\n URL.revokeObjectURL(objectUrl);\n resolve(image);\n };\n image.onerror = () => {\n URL.revokeObjectURL(objectUrl);\n reject(new Error('Image decode failed'));\n };\n image.src = objectUrl;\n });\n};\n\n/**\n * Best effort only: anything that is not a large raster image, or that fails to re-encode\n * smaller, goes through untouched. Chat attachments must never be lost to the optimizer.\n */\nexport const compressImageFile = async (file: File): Promise<File> => {\n if (!COMPRESSIBLE_TYPES.has(file.type) || file.size <= COMPRESSION_THRESHOLD_BYTES) return file;\n\n try {\n const source = await decodeImage(file);\n const width = 'width' in source ? source.width : 0;\n const height = 'height' in source ? source.height : 0;\n if (!width || !height) return file;\n\n const scale = Math.min(1, MAX_DIMENSION_PX / Math.max(width, height));\n const canvas = document.createElement('canvas');\n canvas.width = Math.max(1, Math.round(width * scale));\n canvas.height = Math.max(1, Math.round(height * scale));\n\n const context = canvas.getContext('2d');\n if (!context) return file;\n context.drawImage(source, 0, 0, canvas.width, canvas.height);\n if ('close' in source) source.close();\n\n const blob = await new Promise<Blob | null>((resolve) => canvas.toBlob(resolve, 'image/jpeg', JPEG_QUALITY));\n if (!blob || blob.size >= file.size) return file;\n\n const renamed = file.name.replace(/\\.[^.]+$/, '') || file.name;\n return new File([blob], `${renamed}.jpg`, { type: 'image/jpeg' });\n } catch {\n return file;\n }\n};\n"],"names":[],"mappings":"AAAA,MAAM,8BAA8B;AACpC,MAAM,mBAAmB;AACzB,MAAM,eAAe;AAErB,MAAM,qBAAqB,oBAAI,IAAI,CAAC,cAAc,aAAa,YAAY,CAAC;AAE5E,MAAM,cAAc,OAAO,SAAwD;AACjF,MAAI,OAAO,sBAAsB,YAAY;AAC3C,WAAO,MAAM,kBAAkB,IAAI;AAAA,EACrC;AAEA,SAAO,MAAM,IAAI,QAA0B,CAAC,SAAS,WAAW;AAC9D,UAAM,YAAY,IAAI,gBAAgB,IAAI;AAC1C,UAAM,QAAQ,IAAI,MAAA;AAClB,UAAM,SAAS,MAAM;AACnB,UAAI,gBAAgB,SAAS;AAC7B,cAAQ,KAAK;AAAA,IACf;AACA,UAAM,UAAU,MAAM;AACpB,UAAI,gBAAgB,SAAS;AAC7B,aAAO,IAAI,MAAM,qBAAqB,CAAC;AAAA,IACzC;AACA,UAAM,MAAM;AAAA,EACd,CAAC;AACH;AAMO,MAAM,oBAAoB,OAAO,SAA8B;AACpE,MAAI,CAAC,mBAAmB,IAAI,KAAK,IAAI,KAAK,KAAK,QAAQ,4BAA6B,QAAO;AAE3F,MAAI;AACF,UAAM,SAAS,MAAM,YAAY,IAAI;AACrC,UAAM,QAAQ,WAAW,SAAS,OAAO,QAAQ;AACjD,UAAM,SAAS,YAAY,SAAS,OAAO,SAAS;AACpD,QAAI,CAAC,SAAS,CAAC,OAAQ,QAAO;AAE9B,UAAM,QAAQ,KAAK,IAAI,GAAG,mBAAmB,KAAK,IAAI,OAAO,MAAM,CAAC;AACpE,UAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,WAAO,QAAQ,KAAK,IAAI,GAAG,KAAK,MAAM,QAAQ,KAAK,CAAC;AACpD,WAAO,SAAS,KAAK,IAAI,GAAG,KAAK,MAAM,SAAS,KAAK,CAAC;AAEtD,UAAM,UAAU,OAAO,WAAW,IAAI;AACtC,QAAI,CAAC,QAAS,QAAO;AACrB,YAAQ,UAAU,QAAQ,GAAG,GAAG,OAAO,OAAO,OAAO,MAAM;AAC3D,QAAI,WAAW,OAAQ,QAAO,MAAA;AAE9B,UAAM,OAAO,MAAM,IAAI,QAAqB,CAAC,YAAY,OAAO,OAAO,SAAS,cAAc,YAAY,CAAC;AAC3G,QAAI,CAAC,QAAQ,KAAK,QAAQ,KAAK,KAAM,QAAO;AAE5C,UAAM,UAAU,KAAK,KAAK,QAAQ,YAAY,EAAE,KAAK,KAAK;AAC1D,WAAO,IAAI,KAAK,CAAC,IAAI,GAAG,GAAG,OAAO,QAAQ,EAAE,MAAM,cAAc;AAAA,EAClE,QAAQ;AACN,WAAO;AAAA,EACT;AACF;"}
@@ -0,0 +1,16 @@
1
+ export interface IResizeImageOptions {
2
+ maxDimension?: number;
3
+ quality?: number;
4
+ }
5
+ export declare const resizeImageFile: (file: File, options?: IResizeImageOptions) => Promise<File>;
6
+ export declare const fileFromUrl: (url: string, fileName: string, signal?: AbortSignal) => Promise<File>;
7
+ /**
8
+ * Mede a imagem sem baixá-la de novo quando o navegador já a tem em cache.
9
+ *
10
+ * Devolve `null` em vez de lançar: medir é para AVISAR o usuário, então uma imagem que não carrega
11
+ * aqui não pode derrubar a tela nem virar um alerta falso.
12
+ */
13
+ export declare const measureImageDimensions: (src: string) => Promise<{
14
+ width: number;
15
+ height: number;
16
+ } | null>;
@@ -0,0 +1,59 @@
1
+ const MAX_DIMENSION = 1280;
2
+ const JPEG_QUALITY = 0.82;
3
+ const OUTPUT_TYPE = "image/jpeg";
4
+ const loadImage = (url) => new Promise((resolve, reject) => {
5
+ const image = new Image();
6
+ image.onload = () => resolve(image);
7
+ image.onerror = () => reject(new Error("Failed to load image"));
8
+ image.src = url;
9
+ });
10
+ const scaledSize = (width, height, maxDimension) => {
11
+ const longest = Math.max(width, height);
12
+ if (longest <= maxDimension) return { width, height };
13
+ const ratio = maxDimension / longest;
14
+ return { width: Math.round(width * ratio), height: Math.round(height * ratio) };
15
+ };
16
+ const toJpegName = (name) => name.replace(/\.[^.]+$/, "") + ".jpg";
17
+ const resizeImageFile = async (file, options = {}) => {
18
+ const maxDimension = options.maxDimension ?? MAX_DIMENSION;
19
+ const quality = options.quality ?? JPEG_QUALITY;
20
+ const objectUrl = URL.createObjectURL(file);
21
+ try {
22
+ const image = await loadImage(objectUrl);
23
+ const { width, height } = scaledSize(image.naturalWidth, image.naturalHeight, maxDimension);
24
+ const canvas = document.createElement("canvas");
25
+ canvas.width = width;
26
+ canvas.height = height;
27
+ const context = canvas.getContext("2d");
28
+ if (!context) return file;
29
+ context.drawImage(image, 0, 0, width, height);
30
+ const blob = await new Promise((resolve) => canvas.toBlob(resolve, OUTPUT_TYPE, quality));
31
+ if (!blob || blob.size >= file.size) return file;
32
+ return new File([blob], toJpegName(file.name), { type: OUTPUT_TYPE });
33
+ } catch {
34
+ return file;
35
+ } finally {
36
+ URL.revokeObjectURL(objectUrl);
37
+ }
38
+ };
39
+ const fileFromUrl = async (url, fileName, signal) => {
40
+ const blob = await (await fetch(url, { cache: "reload", mode: "cors", signal })).blob();
41
+ const type = blob.type || "image/jpeg";
42
+ return new File([blob], fileName, { type });
43
+ };
44
+ const measureImageDimensions = async (src) => {
45
+ if (!src) return null;
46
+ try {
47
+ const image = await loadImage(src);
48
+ if (!image.naturalWidth || !image.naturalHeight) return null;
49
+ return { width: image.naturalWidth, height: image.naturalHeight };
50
+ } catch {
51
+ return null;
52
+ }
53
+ };
54
+ export {
55
+ fileFromUrl,
56
+ measureImageDimensions,
57
+ resizeImageFile
58
+ };
59
+ //# sourceMappingURL=imageFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageFile.js","sources":["../../src/helpers/imageFile.ts"],"sourcesContent":["const MAX_DIMENSION = 1280;\nconst JPEG_QUALITY = 0.82;\nconst OUTPUT_TYPE = 'image/jpeg';\n\nexport interface IResizeImageOptions {\n maxDimension?: number;\n quality?: number;\n}\n\nconst loadImage = (url: string): Promise<HTMLImageElement> =>\n new Promise((resolve, reject) => {\n const image = new Image();\n image.onload = () => resolve(image);\n image.onerror = () => reject(new Error('Failed to load image'));\n image.src = url;\n });\n\nconst scaledSize = (width: number, height: number, maxDimension: number): { width: number; height: number } => {\n const longest = Math.max(width, height);\n if (longest <= maxDimension) return { width, height };\n const ratio = maxDimension / longest;\n return { width: Math.round(width * ratio), height: Math.round(height * ratio) };\n};\n\nconst toJpegName = (name: string): string => name.replace(/\\.[^.]+$/, '') + '.jpg';\n\nexport const resizeImageFile = async (file: File, options: IResizeImageOptions = {}): Promise<File> => {\n const maxDimension = options.maxDimension ?? MAX_DIMENSION;\n const quality = options.quality ?? JPEG_QUALITY;\n const objectUrl = URL.createObjectURL(file);\n try {\n const image = await loadImage(objectUrl);\n const { width, height } = scaledSize(image.naturalWidth, image.naturalHeight, maxDimension);\n\n const canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n const context = canvas.getContext('2d');\n if (!context) return file;\n context.drawImage(image, 0, 0, width, height);\n\n const blob = await new Promise<Blob | null>((resolve) => canvas.toBlob(resolve, OUTPUT_TYPE, quality));\n if (!blob || blob.size >= file.size) return file;\n\n return new File([blob], toJpegName(file.name), { type: OUTPUT_TYPE });\n } catch {\n return file;\n } finally {\n URL.revokeObjectURL(objectUrl);\n }\n};\n\n// `reload` em vez de `force-cache`: a mesma imagem costuma já ter sido baixada por um <img>\n// comum, que não manda `Origin` e por isso é guardada sem `Access-Control-Allow-Origin`.\n// Reaproveitar essa entrada é o que faz o CORS falhar \"hora sim, hora não\".\nexport const fileFromUrl = async (url: string, fileName: string, signal?: AbortSignal): Promise<File> => {\n const blob = await (await fetch(url, { cache: 'reload', mode: 'cors', signal })).blob();\n const type = blob.type || 'image/jpeg';\n return new File([blob], fileName, { type });\n};\n\n/**\n * Mede a imagem sem baixá-la de novo quando o navegador já a tem em cache.\n *\n * Devolve `null` em vez de lançar: medir é para AVISAR o usuário, então uma imagem que não carrega\n * aqui não pode derrubar a tela nem virar um alerta falso.\n */\nexport const measureImageDimensions = async (src: string): Promise<{ width: number; height: number } | null> => {\n if (!src) return null;\n try {\n const image = await loadImage(src);\n if (!image.naturalWidth || !image.naturalHeight) return null;\n return { width: image.naturalWidth, height: image.naturalHeight };\n } catch {\n return null;\n }\n};\n"],"names":[],"mappings":"AAAA,MAAM,gBAAgB;AACtB,MAAM,eAAe;AACrB,MAAM,cAAc;AAOpB,MAAM,YAAY,CAAC,QACjB,IAAI,QAAQ,CAAC,SAAS,WAAW;AAC/B,QAAM,QAAQ,IAAI,MAAA;AAClB,QAAM,SAAS,MAAM,QAAQ,KAAK;AAClC,QAAM,UAAU,MAAM,OAAO,IAAI,MAAM,sBAAsB,CAAC;AAC9D,QAAM,MAAM;AACd,CAAC;AAEH,MAAM,aAAa,CAAC,OAAe,QAAgB,iBAA4D;AAC7G,QAAM,UAAU,KAAK,IAAI,OAAO,MAAM;AACtC,MAAI,WAAW,aAAc,QAAO,EAAE,OAAO,OAAA;AAC7C,QAAM,QAAQ,eAAe;AAC7B,SAAO,EAAE,OAAO,KAAK,MAAM,QAAQ,KAAK,GAAG,QAAQ,KAAK,MAAM,SAAS,KAAK,EAAA;AAC9E;AAEA,MAAM,aAAa,CAAC,SAAyB,KAAK,QAAQ,YAAY,EAAE,IAAI;AAErE,MAAM,kBAAkB,OAAO,MAAY,UAA+B,OAAsB;AACrG,QAAM,eAAe,QAAQ,gBAAgB;AAC7C,QAAM,UAAU,QAAQ,WAAW;AACnC,QAAM,YAAY,IAAI,gBAAgB,IAAI;AAC1C,MAAI;AACF,UAAM,QAAQ,MAAM,UAAU,SAAS;AACvC,UAAM,EAAE,OAAO,OAAA,IAAW,WAAW,MAAM,cAAc,MAAM,eAAe,YAAY;AAE1F,UAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,WAAO,QAAQ;AACf,WAAO,SAAS;AAChB,UAAM,UAAU,OAAO,WAAW,IAAI;AACtC,QAAI,CAAC,QAAS,QAAO;AACrB,YAAQ,UAAU,OAAO,GAAG,GAAG,OAAO,MAAM;AAE5C,UAAM,OAAO,MAAM,IAAI,QAAqB,CAAC,YAAY,OAAO,OAAO,SAAS,aAAa,OAAO,CAAC;AACrG,QAAI,CAAC,QAAQ,KAAK,QAAQ,KAAK,KAAM,QAAO;AAE5C,WAAO,IAAI,KAAK,CAAC,IAAI,GAAG,WAAW,KAAK,IAAI,GAAG,EAAE,MAAM,aAAa;AAAA,EACtE,QAAQ;AACN,WAAO;AAAA,EACT,UAAA;AACE,QAAI,gBAAgB,SAAS;AAAA,EAC/B;AACF;AAKO,MAAM,cAAc,OAAO,KAAa,UAAkB,WAAwC;AACvG,QAAM,OAAO,OAAO,MAAM,MAAM,KAAK,EAAE,OAAO,UAAU,MAAM,QAAQ,OAAA,CAAQ,GAAG,KAAA;AACjF,QAAM,OAAO,KAAK,QAAQ;AAC1B,SAAO,IAAI,KAAK,CAAC,IAAI,GAAG,UAAU,EAAE,MAAM;AAC5C;AAQO,MAAM,yBAAyB,OAAO,QAAmE;AAC9G,MAAI,CAAC,IAAK,QAAO;AACjB,MAAI;AACF,UAAM,QAAQ,MAAM,UAAU,GAAG;AACjC,QAAI,CAAC,MAAM,gBAAgB,CAAC,MAAM,cAAe,QAAO;AACxD,WAAO,EAAE,OAAO,MAAM,cAAc,QAAQ,MAAM,cAAA;AAAA,EACpD,QAAQ;AACN,WAAO;AAAA,EACT;AACF;"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Whether the press landed on a surface stacked ABOVE `currentSurface`.
3
+ *
4
+ * The direction matters and checking only "is it a layered surface" is wrong: a select
5
+ * opened inside a drawer sits above a panel that is itself `role="dialog"`, so a press
6
+ * anywhere in that drawer would look layered and the select would never close. Every one of
7
+ * these surfaces portals to `document.body`, so the one appended LATER is the one painted on
8
+ * top: document order is the stacking order.
9
+ */
10
+ export declare const isPressOnLayeredSurface: (target: EventTarget | null, currentSurface?: Element | null) => boolean;
@@ -0,0 +1,14 @@
1
+ const LAYERED_SURFACE_SELECTOR = '[role="dialog"],[role="menu"],[role="tooltip"],[role="listbox"]';
2
+ const ALWAYS_ON_TOP_SELECTOR = ".Toastify";
3
+ const isPressOnLayeredSurface = (target, currentSurface) => {
4
+ if (!(target instanceof Element)) return false;
5
+ if (target.closest(ALWAYS_ON_TOP_SELECTOR)) return true;
6
+ const pressed = target.closest(LAYERED_SURFACE_SELECTOR);
7
+ if (!pressed) return false;
8
+ if (!currentSurface || pressed === currentSurface) return false;
9
+ return Boolean(currentSurface.compareDocumentPosition(pressed) & Node.DOCUMENT_POSITION_FOLLOWING);
10
+ };
11
+ export {
12
+ isPressOnLayeredSurface
13
+ };
14
+ //# sourceMappingURL=layeredSurfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layeredSurfaces.js","sources":["../../src/helpers/layeredSurfaces.ts"],"sourcesContent":["/**\n * Surfaces that portal to `document.body`: they land OUTSIDE their opener in the DOM while\n * sitting visually ON TOP of it.\n *\n * A dismissible surface (drawer, popover, menu) must not read a press on one of these as\n * \"the user clicked outside, close me\". Confirming a dialog or picking from a select's\n * listbox is layered work happening ABOVE the surface, not a dismissal of it.\n */\nconst LAYERED_SURFACE_SELECTOR = '[role=\"dialog\"],[role=\"menu\"],[role=\"tooltip\"],[role=\"listbox\"]';\n\n/**\n * Superfícies que estão acima de TUDO por construção, e não por posição no documento.\n *\n * O toast é o caso: ele vive num container próprio montado no topo da árvore do app, com\n * z-index máximo, e não é portado junto das outras superfícies. Então a comparação por ordem no\n * documento diz que ele vem ANTES de um drawer portado para o fim do `body`, e o drawer conclui\n * que o clique foi \"fora, feche-me\". Era isso que fazia o X do toast fechar o drawer do produto\n * junto com a notificação.\n *\n * Um toast nunca é dismissal de nada: ele aparece por conta própria, sobre o que estiver aberto.\n */\nconst ALWAYS_ON_TOP_SELECTOR = '.Toastify';\n\n/**\n * Whether the press landed on a surface stacked ABOVE `currentSurface`.\n *\n * The direction matters and checking only \"is it a layered surface\" is wrong: a select\n * opened inside a drawer sits above a panel that is itself `role=\"dialog\"`, so a press\n * anywhere in that drawer would look layered and the select would never close. Every one of\n * these surfaces portals to `document.body`, so the one appended LATER is the one painted on\n * top: document order is the stacking order.\n */\nexport const isPressOnLayeredSurface = (target: EventTarget | null, currentSurface?: Element | null): boolean => {\n if (!(target instanceof Element)) return false;\n if (target.closest(ALWAYS_ON_TOP_SELECTOR)) return true;\n\n const pressed = target.closest(LAYERED_SURFACE_SELECTOR);\n if (!pressed) return false;\n if (!currentSurface || pressed === currentSurface) return false;\n\n return Boolean(currentSurface.compareDocumentPosition(pressed) & Node.DOCUMENT_POSITION_FOLLOWING);\n};\n"],"names":[],"mappings":"AAQA,MAAM,2BAA2B;AAajC,MAAM,yBAAyB;AAWxB,MAAM,0BAA0B,CAAC,QAA4B,mBAA6C;AAC/G,MAAI,EAAE,kBAAkB,SAAU,QAAO;AACzC,MAAI,OAAO,QAAQ,sBAAsB,EAAG,QAAO;AAEnD,QAAM,UAAU,OAAO,QAAQ,wBAAwB;AACvD,MAAI,CAAC,QAAS,QAAO;AACrB,MAAI,CAAC,kBAAkB,YAAY,eAAgB,QAAO;AAE1D,SAAO,QAAQ,eAAe,wBAAwB,OAAO,IAAI,KAAK,2BAA2B;AACnG;"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Calculate and format a percentage from two values
3
+ * @param smallerValue - The numerator value
4
+ * @param totalValue - The denominator value
5
+ * @returns Formatted percentage string with 0 decimal places or '0%' if totalValue is 0
6
+ */
7
+ export declare const calculatePercentage: (smallerValue: number, totalValue: number) => string;
8
+ /**
9
+ * Calculate percentage as a decimal number
10
+ * @param value - The numerator value
11
+ * @param total - The denominator value
12
+ * @returns Percentage as a decimal number (e.g., 15.5 for 15.5%)
13
+ */
14
+ export declare const getPercentage: (value: number, total: number) => number;
@@ -0,0 +1,13 @@
1
+ const calculatePercentage = (smallerValue, totalValue) => {
2
+ if (!totalValue) return "0%";
3
+ const percentage = smallerValue / totalValue * 100;
4
+ return `${percentage.toFixed(0)}%`;
5
+ };
6
+ const getPercentage = (value, total) => {
7
+ return value / total * 100;
8
+ };
9
+ export {
10
+ calculatePercentage,
11
+ getPercentage
12
+ };
13
+ //# sourceMappingURL=mathHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mathHelpers.js","sources":["../../src/helpers/mathHelpers.ts"],"sourcesContent":["/**\n * Calculate and format a percentage from two values\n * @param smallerValue - The numerator value\n * @param totalValue - The denominator value\n * @returns Formatted percentage string with 0 decimal places or '0%' if totalValue is 0\n */\nexport const calculatePercentage = (smallerValue: number, totalValue: number): string => {\n if (!totalValue) return '0%';\n\n const percentage = (smallerValue / totalValue) * 100;\n return `${percentage.toFixed(0)}%`;\n};\n\n/**\n * Calculate percentage as a decimal number\n * @param value - The numerator value\n * @param total - The denominator value\n * @returns Percentage as a decimal number (e.g., 15.5 for 15.5%)\n */\nexport const getPercentage = (value: number, total: number) => {\n return (value / total) * 100;\n};\n"],"names":[],"mappings":"AAMO,MAAM,sBAAsB,CAAC,cAAsB,eAA+B;AACvF,MAAI,CAAC,WAAY,QAAO;AAExB,QAAM,aAAc,eAAe,aAAc;AACjD,SAAO,GAAG,WAAW,QAAQ,CAAC,CAAC;AACjC;AAQO,MAAM,gBAAgB,CAAC,OAAe,UAAkB;AAC7D,SAAQ,QAAQ,QAAS;AAC3B;"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * tailwind-merge only knows the stock scale, so `text-xxs` (our extra step) is read as a text
3
+ * COLOR and is silently dropped whenever a tone class follows it in the same merge. Registering
4
+ * the step keeps size and colour in different groups.
5
+ */
6
+ export declare const mergeClasses: (...classLists: import('tailwind-merge').ClassNameValue[]) => string;
@@ -0,0 +1,12 @@
1
+ import { extendTailwindMerge } from "tailwind-merge";
2
+ const mergeClasses = extendTailwindMerge({
3
+ extend: {
4
+ classGroups: {
5
+ "font-size": [{ text: ["xxs"] }]
6
+ }
7
+ }
8
+ });
9
+ export {
10
+ mergeClasses
11
+ };
12
+ //# sourceMappingURL=mergeClasses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeClasses.js","sources":["../../src/helpers/mergeClasses.ts"],"sourcesContent":["import { extendTailwindMerge } from 'tailwind-merge';\n\n/**\n * tailwind-merge only knows the stock scale, so `text-xxs` (our extra step) is read as a text\n * COLOR and is silently dropped whenever a tone class follows it in the same merge. Registering\n * the step keeps size and colour in different groups.\n */\nexport const mergeClasses = extendTailwindMerge({\n extend: {\n classGroups: {\n 'font-size': [{ text: ['xxs'] }],\n },\n },\n});\n"],"names":[],"mappings":";AAOO,MAAM,eAAe,oBAAoB;AAAA,EAC9C,QAAQ;AAAA,IACN,aAAa;AAAA,MACX,aAAa,CAAC,EAAE,MAAM,CAAC,KAAK,GAAG;AAAA,IAAA;AAAA,EACjC;AAEJ,CAAC;"}
@@ -0,0 +1 @@
1
+ export declare const isModuleLoadError: (error: unknown) => boolean;
@@ -0,0 +1,25 @@
1
+ const MODULE_LOAD_ERROR_PATTERNS = [
2
+ "failed to fetch dynamically imported module",
3
+ "error loading dynamically imported module",
4
+ "importing a module script failed",
5
+ "failed to load module script",
6
+ "unable to preload css",
7
+ "chunkloaderror",
8
+ "loading chunk",
9
+ "loading css chunk"
10
+ ];
11
+ const isModuleLoadError = (error) => {
12
+ if (!error) return false;
13
+ if (typeof error === "string") {
14
+ return MODULE_LOAD_ERROR_PATTERNS.some((pattern) => error.toLowerCase().includes(pattern));
15
+ }
16
+ const candidate = error;
17
+ const name = typeof candidate.name === "string" ? candidate.name : "";
18
+ const message = typeof candidate.message === "string" ? candidate.message : "";
19
+ const searchable = `${name} ${message}`.toLowerCase();
20
+ return MODULE_LOAD_ERROR_PATTERNS.some((pattern) => searchable.includes(pattern));
21
+ };
22
+ export {
23
+ isModuleLoadError
24
+ };
25
+ //# sourceMappingURL=moduleLoadErrorHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moduleLoadErrorHelpers.js","sources":["../../src/helpers/moduleLoadErrorHelpers.ts"],"sourcesContent":["const MODULE_LOAD_ERROR_PATTERNS = [\n 'failed to fetch dynamically imported module',\n 'error loading dynamically imported module',\n 'importing a module script failed',\n 'failed to load module script',\n 'unable to preload css',\n 'chunkloaderror',\n 'loading chunk',\n 'loading css chunk',\n];\n\nexport const isModuleLoadError = (error: unknown): boolean => {\n if (!error) return false;\n\n if (typeof error === 'string') {\n return MODULE_LOAD_ERROR_PATTERNS.some((pattern) => error.toLowerCase().includes(pattern));\n }\n\n const candidate = error as { name?: unknown; message?: unknown };\n const name = typeof candidate.name === 'string' ? candidate.name : '';\n const message = typeof candidate.message === 'string' ? candidate.message : '';\n const searchable = `${name} ${message}`.toLowerCase();\n\n return MODULE_LOAD_ERROR_PATTERNS.some((pattern) => searchable.includes(pattern));\n};\n"],"names":[],"mappings":"AAAA,MAAM,6BAA6B;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,MAAM,oBAAoB,CAAC,UAA4B;AAC5D,MAAI,CAAC,MAAO,QAAO;AAEnB,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,2BAA2B,KAAK,CAAC,YAAY,MAAM,YAAA,EAAc,SAAS,OAAO,CAAC;AAAA,EAC3F;AAEA,QAAM,YAAY;AAClB,QAAM,OAAO,OAAO,UAAU,SAAS,WAAW,UAAU,OAAO;AACnE,QAAM,UAAU,OAAO,UAAU,YAAY,WAAW,UAAU,UAAU;AAC5E,QAAM,aAAa,GAAG,IAAI,IAAI,OAAO,GAAG,YAAA;AAExC,SAAO,2BAA2B,KAAK,CAAC,YAAY,WAAW,SAAS,OAAO,CAAC;AAClF;"}
@@ -0,0 +1,13 @@
1
+ export declare const ObjectHelpers: {
2
+ removeProperty: <T extends Record<string, unknown>, K extends keyof T>(obj: T, key: K) => Omit<T, K>;
3
+ removeProperties: <T extends Record<string, unknown>, K extends keyof T>(obj: T, keys: Array<K>) => Omit<T, K>;
4
+ removePropertyMutating: <T extends Record<string, unknown>, K extends keyof T>(obj: T, key: K) => void;
5
+ removePropertiesMutating: <T extends Record<string, unknown>, K extends keyof T>(obj: T, keys: Array<K>) => void;
6
+ cleanObject: <T extends Record<string, unknown>>(obj: T, predicate?: (key: keyof T, value: T[keyof T]) => boolean) => Partial<T>;
7
+ omitUndefined: <T extends Record<string, unknown>>(obj: T) => Partial<T>;
8
+ };
9
+ export declare const CacheUtils: {
10
+ clearCacheEntry: <T>(cache: Record<string, T>, key: string) => void;
11
+ clearCacheEntries: <T>(cache: Record<string, T>, keys: Array<string>) => void;
12
+ cleanCache: <T>(cache: Record<string, T>, predicate: (key: string, value: T) => boolean) => void;
13
+ };
@@ -0,0 +1,60 @@
1
+ const ObjectHelpers = {
2
+ removeProperty: (obj, key) => {
3
+ const { [key]: _, ...rest } = obj;
4
+ return rest;
5
+ },
6
+ removeProperties: (obj, keys) => {
7
+ const result = { ...obj };
8
+ keys.forEach((key) => {
9
+ const { [key]: _, ...rest } = result;
10
+ Object.assign(result, rest);
11
+ });
12
+ return result;
13
+ },
14
+ removePropertyMutating: (obj, key) => {
15
+ if (key in obj) {
16
+ delete obj[key];
17
+ }
18
+ },
19
+ removePropertiesMutating: (obj, keys) => {
20
+ keys.forEach((key) => {
21
+ if (key in obj) {
22
+ delete obj[key];
23
+ }
24
+ });
25
+ },
26
+ cleanObject: (obj, predicate = (_, value) => value !== void 0) => {
27
+ return Object.fromEntries(
28
+ Object.entries(obj).filter(([key, value]) => predicate(key, value))
29
+ );
30
+ },
31
+ omitUndefined: (obj) => {
32
+ return ObjectHelpers.cleanObject(obj, (_, value) => value !== void 0);
33
+ }
34
+ };
35
+ const CacheUtils = {
36
+ clearCacheEntry: (cache, key) => {
37
+ if (key in cache) {
38
+ delete cache[key];
39
+ }
40
+ },
41
+ clearCacheEntries: (cache, keys) => {
42
+ keys.forEach((key) => {
43
+ if (key in cache) {
44
+ delete cache[key];
45
+ }
46
+ });
47
+ },
48
+ cleanCache: (cache, predicate) => {
49
+ Object.keys(cache).forEach((key) => {
50
+ if (!predicate(key, cache[key])) {
51
+ delete cache[key];
52
+ }
53
+ });
54
+ }
55
+ };
56
+ export {
57
+ CacheUtils,
58
+ ObjectHelpers
59
+ };
60
+ //# sourceMappingURL=objectHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectHelpers.js","sources":["../../src/helpers/objectHelpers.ts"],"sourcesContent":["export const ObjectHelpers = {\n removeProperty: <T extends Record<string, unknown>, K extends keyof T>(obj: T, key: K): Omit<T, K> => {\n const { [key]: _, ...rest } = obj;\n return rest;\n },\n\n removeProperties: <T extends Record<string, unknown>, K extends keyof T>(obj: T, keys: Array<K>): Omit<T, K> => {\n const result = { ...obj };\n keys.forEach((key) => {\n const { [key]: _, ...rest } = result as Record<string, unknown>;\n Object.assign(result, rest);\n });\n return result;\n },\n\n removePropertyMutating: <T extends Record<string, unknown>, K extends keyof T>(obj: T, key: K): void => {\n if (key in obj) {\n delete obj[key];\n }\n },\n\n removePropertiesMutating: <T extends Record<string, unknown>, K extends keyof T>(obj: T, keys: Array<K>): void => {\n keys.forEach((key) => {\n if (key in obj) {\n delete obj[key];\n }\n });\n },\n\n cleanObject: <T extends Record<string, unknown>>(\n obj: T,\n predicate: (key: keyof T, value: T[keyof T]) => boolean = (_, value) => value !== undefined,\n ): Partial<T> => {\n return Object.fromEntries(\n Object.entries(obj).filter(([key, value]) => predicate(key, value as T[keyof T])),\n ) as Partial<T>;\n },\n\n omitUndefined: <T extends Record<string, unknown>>(obj: T): Partial<T> => {\n return ObjectHelpers.cleanObject(obj, (_, value) => value !== undefined);\n },\n};\n\nexport const CacheUtils = {\n clearCacheEntry: <T>(cache: Record<string, T>, key: string): void => {\n if (key in cache) {\n delete cache[key];\n }\n },\n\n clearCacheEntries: <T>(cache: Record<string, T>, keys: Array<string>): void => {\n keys.forEach((key) => {\n if (key in cache) {\n delete cache[key];\n }\n });\n },\n\n cleanCache: <T>(cache: Record<string, T>, predicate: (key: string, value: T) => boolean): void => {\n Object.keys(cache).forEach((key) => {\n if (!predicate(key, cache[key])) {\n delete cache[key];\n }\n });\n },\n};\n"],"names":[],"mappings":"AAAO,MAAM,gBAAgB;AAAA,EAC3B,gBAAgB,CAAuD,KAAQ,QAAuB;AACpG,UAAM,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,SAAS;AAC9B,WAAO;AAAA,EACT;AAAA,EAEA,kBAAkB,CAAuD,KAAQ,SAA+B;AAC9G,UAAM,SAAS,EAAE,GAAG,IAAA;AACpB,SAAK,QAAQ,CAAC,QAAQ;AACpB,YAAM,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,SAAS;AAC9B,aAAO,OAAO,QAAQ,IAAI;AAAA,IAC5B,CAAC;AACD,WAAO;AAAA,EACT;AAAA,EAEA,wBAAwB,CAAuD,KAAQ,QAAiB;AACtG,QAAI,OAAO,KAAK;AACd,aAAO,IAAI,GAAG;AAAA,IAChB;AAAA,EACF;AAAA,EAEA,0BAA0B,CAAuD,KAAQ,SAAyB;AAChH,SAAK,QAAQ,CAAC,QAAQ;AACpB,UAAI,OAAO,KAAK;AACd,eAAO,IAAI,GAAG;AAAA,MAChB;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,aAAa,CACX,KACA,YAA0D,CAAC,GAAG,UAAU,UAAU,WACnE;AACf,WAAO,OAAO;AAAA,MACZ,OAAO,QAAQ,GAAG,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,MAAM,UAAU,KAAK,KAAmB,CAAC;AAAA,IAAA;AAAA,EAEpF;AAAA,EAEA,eAAe,CAAoC,QAAuB;AACxE,WAAO,cAAc,YAAY,KAAK,CAAC,GAAG,UAAU,UAAU,MAAS;AAAA,EACzE;AACF;AAEO,MAAM,aAAa;AAAA,EACxB,iBAAiB,CAAI,OAA0B,QAAsB;AACnE,QAAI,OAAO,OAAO;AAChB,aAAO,MAAM,GAAG;AAAA,IAClB;AAAA,EACF;AAAA,EAEA,mBAAmB,CAAI,OAA0B,SAA8B;AAC7E,SAAK,QAAQ,CAAC,QAAQ;AACpB,UAAI,OAAO,OAAO;AAChB,eAAO,MAAM,GAAG;AAAA,MAClB;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,YAAY,CAAI,OAA0B,cAAwD;AAChG,WAAO,KAAK,KAAK,EAAE,QAAQ,CAAC,QAAQ;AAClC,UAAI,CAAC,UAAU,KAAK,MAAM,GAAG,CAAC,GAAG;AAC/B,eAAO,MAAM,GAAG;AAAA,MAClB;AAAA,IACF,CAAC;AAAA,EACH;AACF;"}
@@ -0,0 +1,37 @@
1
+ import { IFileAttachment } from '../interfaces/IFileAttachment';
2
+ export type TRichTextColor = 'default' | 'brand' | 'secondary' | 'accent' | 'success' | 'warning' | 'danger' | 'info' | 'muted';
3
+ export declare const RICH_TEXT_COLORS: Array<TRichTextColor>;
4
+ export declare const RICH_TEXT_COLOR_CLASS: Record<Exclude<TRichTextColor, 'default'>, string>;
5
+ /** The swatch shown in the palette: a token-driven background, never the stored value. */
6
+ export declare const RICH_TEXT_COLOR_SWATCH_CLASS: Record<TRichTextColor, string>;
7
+ export declare const RICH_TEXT_FILE_CLASS = "rt-file";
8
+ /**
9
+ * Text written before the rich editor existed is plain text with real line breaks. Rendered as
10
+ * HTML those breaks collapse, so the renderer needs to know which format it is looking at.
11
+ */
12
+ export declare const isPlainTextBody: (html?: string) => boolean;
13
+ export declare const sanitizeRichText: (html?: string) => string;
14
+ /** Emptiness has to be measured on the text: an editor the user only clicked into holds `<br>`. */
15
+ export declare const richTextToPlainText: (html?: string) => string;
16
+ export declare const isRichTextEmpty: (html?: string) => boolean;
17
+ /**
18
+ * Seeds the editor from a value stored before the field became rich text. The line structure is
19
+ * preserved and the text is escaped, so nothing in it is read as markup.
20
+ */
21
+ export declare const plainTextToRichHtml: (text?: string) => string;
22
+ /** The value as the editor should receive it, whichever format it was stored in. */
23
+ export declare const toEditableRichHtml: (value?: string) => string;
24
+ /**
25
+ * Rewrites whatever `foreColor` just produced. Called again on every input because a colour
26
+ * chosen with no selection only materialises on the next typed character: without this pass
27
+ * that character would keep the literal sentinel colour, which the sanitizer drops.
28
+ */
29
+ export declare const normalizeRichTextColorNodes: (editor: HTMLElement, color: TRichTextColor) => void;
30
+ export declare const applyRichTextColor: (editor: HTMLElement, color: TRichTextColor) => void;
31
+ /** The colour of the text under the caret, so the palette can show what is currently applied. */
32
+ export declare const activeRichTextColor: (editor: HTMLElement) => TRichTextColor;
33
+ /**
34
+ * An uploaded file referenced from inside the body. Hosts that have no attachment field of
35
+ * their own still keep the reference, because it travels in the same string the text does.
36
+ */
37
+ export declare const buildFileChipMarkup: (attachment: IFileAttachment) => string;