@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,88 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useState, useEffect } from "react";
3
+ import classNames from "classnames";
4
+ const ControlledSwitch = ({
5
+ checked,
6
+ onChange,
7
+ label,
8
+ ariaLabel,
9
+ color = "purple",
10
+ disabled = false,
11
+ className = "",
12
+ labelClassName = "",
13
+ size = "md"
14
+ }) => {
15
+ const [colorClasses, setColorClasses] = useState("");
16
+ const sizeConfig = {
17
+ sm: {
18
+ container: "w-8 h-4",
19
+ thumb: "h-3 w-3"
20
+ },
21
+ md: {
22
+ container: "w-10 h-6",
23
+ thumb: "h-5 w-5"
24
+ },
25
+ lg: {
26
+ container: "w-12 h-7",
27
+ thumb: "h-6 w-6"
28
+ },
29
+ xl: {
30
+ container: "w-14 h-8",
31
+ thumb: "h-7 w-7"
32
+ }
33
+ };
34
+ useEffect(() => {
35
+ const colorMap = {
36
+ blue: "bg-info",
37
+ red: "bg-danger",
38
+ green: "bg-success",
39
+ amber: "bg-warning",
40
+ purple: "bg-brand",
41
+ indigo: "bg-brand",
42
+ pink: "bg-accent",
43
+ teal: "bg-secondary"
44
+ };
45
+ setColorClasses(colorMap[color] || "bg-brand");
46
+ }, [color]);
47
+ return /* @__PURE__ */ jsxs("div", { className: classNames("flex items-center gap-2", className), children: [
48
+ /* @__PURE__ */ jsxs("label", { className: "relative inline-block", children: [
49
+ /* @__PURE__ */ jsx(
50
+ "input",
51
+ {
52
+ type: "checkbox",
53
+ checked,
54
+ onChange: () => onChange(!checked),
55
+ disabled,
56
+ "aria-label": ariaLabel ?? label,
57
+ className: "peer sr-only"
58
+ }
59
+ ),
60
+ /* @__PURE__ */ jsx(
61
+ "div",
62
+ {
63
+ className: classNames(
64
+ sizeConfig[size].container,
65
+ "relative rounded-full transition-colors duration-base ease-standard",
66
+ checked ? colorClasses : "bg-border-emphasis",
67
+ disabled ? "cursor-not-allowed opacity-50" : "cursor-pointer"
68
+ ),
69
+ children: /* @__PURE__ */ jsx(
70
+ "span",
71
+ {
72
+ className: classNames(
73
+ "absolute top-1/2 inline-block -translate-y-1/2 rounded-full bg-surface shadow-md transition-interactive duration-base",
74
+ sizeConfig[size].thumb,
75
+ checked ? "right-0.5" : "left-0.5"
76
+ )
77
+ }
78
+ )
79
+ }
80
+ )
81
+ ] }),
82
+ label && /* @__PURE__ */ jsx("span", { className: classNames("text-sm font-medium text-foreground", labelClassName), children: label })
83
+ ] });
84
+ };
85
+ export {
86
+ ControlledSwitch as default
87
+ };
88
+ //# sourceMappingURL=ControlledSwitch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControlledSwitch.js","sources":["../../../src/components/Form/ControlledSwitch.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport classNames from 'classnames';\n\ninterface IControlledSwitchProps {\n checked: boolean;\n onChange: (checked: boolean) => void;\n label?: string;\n /** Nome acessível quando o switch não tem `label` visível (ex.: linha com rótulo à esquerda). */\n ariaLabel?: string;\n color?: 'blue' | 'red' | 'green' | 'amber' | 'purple' | 'indigo' | 'pink' | 'teal';\n disabled?: boolean;\n className?: string;\n labelClassName?: string;\n size?: 'sm' | 'md' | 'lg' | 'xl';\n}\n\nconst ControlledSwitch = ({\n checked,\n onChange,\n label,\n ariaLabel,\n color = 'purple',\n disabled = false,\n className = '',\n labelClassName = '',\n size = 'md',\n}: IControlledSwitchProps) => {\n const [colorClasses, setColorClasses] = useState('');\n\n const sizeConfig = {\n sm: {\n container: 'w-8 h-4',\n thumb: 'h-3 w-3',\n },\n md: {\n container: 'w-10 h-6',\n thumb: 'h-5 w-5',\n },\n lg: {\n container: 'w-12 h-7',\n thumb: 'h-6 w-6',\n },\n xl: {\n container: 'w-14 h-8',\n thumb: 'h-7 w-7',\n },\n };\n\n useEffect(() => {\n const colorMap = {\n blue: 'bg-info',\n red: 'bg-danger',\n green: 'bg-success',\n amber: 'bg-warning',\n purple: 'bg-brand',\n indigo: 'bg-brand',\n pink: 'bg-accent',\n teal: 'bg-secondary',\n };\n\n setColorClasses(colorMap[color] || 'bg-brand');\n }, [color]);\n\n return (\n <div className={classNames('flex items-center gap-2', className)}>\n <label className=\"relative inline-block\">\n <input\n type=\"checkbox\"\n checked={checked}\n onChange={() => onChange(!checked)}\n disabled={disabled}\n aria-label={ariaLabel ?? label}\n className=\"peer sr-only\"\n />\n <div\n className={classNames(\n sizeConfig[size].container,\n 'relative rounded-full transition-colors duration-base ease-standard',\n checked ? colorClasses : 'bg-border-emphasis',\n disabled ? 'cursor-not-allowed opacity-50' : 'cursor-pointer',\n )}\n >\n <span\n className={classNames(\n 'absolute top-1/2 inline-block -translate-y-1/2 rounded-full bg-surface shadow-md transition-interactive duration-base',\n sizeConfig[size].thumb,\n checked ? 'right-0.5' : 'left-0.5',\n )}\n ></span>\n </div>\n </label>\n {label && <span className={classNames('text-sm font-medium text-foreground', labelClassName)}>{label}</span>}\n </div>\n );\n};\n\nexport default ControlledSwitch;\n"],"names":[],"mappings":";;;AAgBA,MAAM,mBAAmB,CAAC;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,OAAO;AACT,MAA8B;AAC5B,QAAM,CAAC,cAAc,eAAe,IAAI,SAAS,EAAE;AAEnD,QAAM,aAAa;AAAA,IACjB,IAAI;AAAA,MACF,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAET,IAAI;AAAA,MACF,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAET,IAAI;AAAA,MACF,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAET,IAAI;AAAA,MACF,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,EACT;AAGF,YAAU,MAAM;AACd,UAAM,WAAW;AAAA,MACf,MAAM;AAAA,MACN,KAAK;AAAA,MACL,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,MAAM;AAAA,IAAA;AAGR,oBAAgB,SAAS,KAAK,KAAK,UAAU;AAAA,EAC/C,GAAG,CAAC,KAAK,CAAC;AAEV,8BACG,OAAA,EAAI,WAAW,WAAW,2BAA2B,SAAS,GAC7D,UAAA;AAAA,IAAA,qBAAC,SAAA,EAAM,WAAU,yBACf,UAAA;AAAA,MAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL;AAAA,UACA,UAAU,MAAM,SAAS,CAAC,OAAO;AAAA,UACjC;AAAA,UACA,cAAY,aAAa;AAAA,UACzB,WAAU;AAAA,QAAA;AAAA,MAAA;AAAA,MAEZ;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW;AAAA,YACT,WAAW,IAAI,EAAE;AAAA,YACjB;AAAA,YACA,UAAU,eAAe;AAAA,YACzB,WAAW,kCAAkC;AAAA,UAAA;AAAA,UAG/C,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAW;AAAA,gBACT;AAAA,gBACA,WAAW,IAAI,EAAE;AAAA,gBACjB,UAAU,cAAc;AAAA,cAAA;AAAA,YAC1B;AAAA,UAAA;AAAA,QACD;AAAA,MAAA;AAAA,IACH,GACF;AAAA,IACC,6BAAU,QAAA,EAAK,WAAW,WAAW,uCAAuC,cAAc,GAAI,UAAA,MAAA,CAAM;AAAA,EAAA,GACvG;AAEJ;"}
@@ -0,0 +1,70 @@
1
+ import { ReactNode } from 'react';
2
+ import { TUiCapability } from '../UI/access/UiAccessContext';
3
+ export interface ITabInfo {
4
+ label: string;
5
+ value: string;
6
+ /** Missing capability removes the tab and never mounts its panel, so no protected request runs. */
7
+ capability?: TUiCapability | Array<TUiCapability>;
8
+ count?: number;
9
+ /** Pendências/alertas da aba — badge âmbar ao lado do nome (oculto quando 0/ausente). */
10
+ alertCount?: number;
11
+ tooltip?: string;
12
+ status?: number | string;
13
+ isVisible?: boolean;
14
+ /** When false, the tab keeps a plain label in the bar: no inline rename pencil and no visibility eye (e.g. aggregate tabs). */
15
+ editable?: boolean;
16
+ }
17
+ export interface IDataTab {
18
+ key: string;
19
+ element: ReactNode;
20
+ }
21
+ interface IControlledTabsProps {
22
+ initialActiveTab: string;
23
+ activeTab?: string;
24
+ tabs: Array<ITabInfo>;
25
+ dataTabs: Array<IDataTab>;
26
+ loading?: boolean;
27
+ /** Blocks tab switching and dims the header, e.g. while a blocking operation runs in the active tab. */
28
+ disabled?: boolean;
29
+ handleActiveTabChildren?: () => void;
30
+ useRenderValidation?: boolean;
31
+ onTabChange?: (tab: string) => void;
32
+ beforeTabChange?: (from: string, to: string) => boolean;
33
+ tabsBodyClassName?: string;
34
+ tabPanelClassName?: string;
35
+ rootClassName?: string;
36
+ /** Classes extras aplicadas a cada aba (ex.: reduzir o padding vertical em telas específicas). */
37
+ tabClassName?: string;
38
+ headerSlot?: ReactNode;
39
+ /** Conteúdo fixo alinhado à direita do cabeçalho das abas (ex.: botão de ação principal). */
40
+ actionsSlot?: ReactNode;
41
+ onRenameTab?: (value: string, newLabel: string) => void;
42
+ onToggleTabVisibility?: (value: string) => void;
43
+ /**
44
+ * Habilita arrastar-e-soltar das abas no cabeçalho (mesmo molde do drag nativo dos
45
+ * campos do construtor de fichas). Recebe os values da aba arrastada e da aba alvo;
46
+ * o consumidor decide como persistir a nova ordem (ex.: tabOrderPriority).
47
+ */
48
+ onReorderTab?: (fromValue: string, toValue: string) => void;
49
+ /**
50
+ * Renders the tab header as a single horizontally-scrollable line (browser-tab style)
51
+ * with navigation arrows and a "+N" overflow menu, instead of wrapping onto several lines.
52
+ */
53
+ scrollableHeader?: boolean;
54
+ /**
55
+ * Faz o cabeçalho das abas grudar no topo do container rolável (`position: sticky`), com
56
+ * fundo sólido e uma sombra sutil que aparece só ao rolar, além de um acabamento mais
57
+ * delicado nas abas (pill no hover, sublinhado fino e transição suave). Use quando a barra
58
+ * precisa ficar visível durante todo o scroll (ex.: ficha técnica do produto).
59
+ */
60
+ stickyHeader?: boolean;
61
+ /**
62
+ * Sincroniza a aba ativa com o query param `activeTab` da URL (ler no mount e
63
+ * escrever a cada troca). Default `true`. Use `false` em abas dentro de modais/
64
+ * dialogs, cujo estado é efêmero e não deve poluir a URL da página nem competir
65
+ * com abas de nível de página que já usam `activeTab`.
66
+ */
67
+ syncWithUrl?: boolean;
68
+ }
69
+ declare const ControlledTabs: import('react').ForwardRefExoticComponent<IControlledTabsProps & import('react').RefAttributes<unknown>>;
70
+ export default ControlledTabs;
@@ -0,0 +1,470 @@
1
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
+ import { forwardRef, useMemo, useRef, useState, useImperativeHandle, useEffect, useCallback } from "react";
3
+ import classNames from "classnames";
4
+ import { useTranslation } from "react-i18next";
5
+ import { useLocation, useSearchParams } from "react-router-dom";
6
+ import { useUiAccess } from "../UI/access/UiAccessContext.js";
7
+ import ControlledTooltip from "../UI/ControlledTooltip.js";
8
+ import { formatNumber } from "../../helpers/formatHelpers.js";
9
+ import { claimUrlParam, releaseUrlParam, TABS_URL_PARAM, queueUrlParamUpdate, URL_PARAM_PRIORITY } from "../../helpers/urlParamSync.js";
10
+ import LoadingSpinner from "../UI/LoadingSpinner.js";
11
+ import { MaterialSymbol } from "../UI/MaterialSymbol/index.js";
12
+ import ControlledButton from "./ControlledButton.js";
13
+ import { Tab, TabsRoot, TabsHeader, TabsBody, TabPanel } from "./ControlledTabsPrimitives.js";
14
+ const EditableTabLabel = ({
15
+ label,
16
+ count,
17
+ loading,
18
+ isVisible = true,
19
+ canToggleVisibility = true,
20
+ onRename,
21
+ onToggleVisibility
22
+ }) => {
23
+ const { t } = useTranslation("ui");
24
+ const [editing, setEditing] = useState(false);
25
+ const [draft, setDraft] = useState(label);
26
+ const inputRef = useRef(null);
27
+ useEffect(() => {
28
+ if (editing) {
29
+ inputRef.current?.focus();
30
+ inputRef.current?.select();
31
+ }
32
+ }, [editing]);
33
+ const handleEditClick = (e) => {
34
+ e.stopPropagation();
35
+ setDraft(label);
36
+ setEditing(true);
37
+ };
38
+ const commit = () => {
39
+ const trimmed = draft.trim();
40
+ if (trimmed && trimmed !== label) onRename(trimmed);
41
+ setEditing(false);
42
+ };
43
+ const handleKeyDown = (e) => {
44
+ if (e.key === "Enter") {
45
+ e.preventDefault();
46
+ commit();
47
+ }
48
+ if (e.key === "Escape") {
49
+ setEditing(false);
50
+ setDraft(label);
51
+ }
52
+ e.stopPropagation();
53
+ };
54
+ if (editing) {
55
+ return /* @__PURE__ */ jsx("div", { className: "flex items-center", onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsx(
56
+ "input",
57
+ {
58
+ ref: inputRef,
59
+ value: draft,
60
+ onChange: (e) => setDraft(e.target.value),
61
+ onBlur: commit,
62
+ onKeyDown: handleKeyDown,
63
+ style: { width: `${Math.max(draft.length + 2, 6)}ch` },
64
+ className: "border-b border-brand-border bg-transparent px-0 py-0.5 text-sm font-medium leading-none focus:outline-none"
65
+ }
66
+ ) });
67
+ }
68
+ return /* @__PURE__ */ jsxs("div", { className: "group/tab flex items-center gap-x-1.5 align-bottom", children: [
69
+ /* @__PURE__ */ jsx("span", { children: label }),
70
+ count !== void 0 && (loading ? /* @__PURE__ */ jsx(LoadingSpinner, { size: 3 }) : /* @__PURE__ */ jsx("span", { className: "inline-flex min-w-[18px] items-center justify-center rounded-full bg-muted-hover px-1.5 py-px text-[11px] font-medium leading-none text-foreground-subtle", children: formatNumber(count) })),
71
+ /* @__PURE__ */ jsx(ControlledTooltip, { content: t("controlledTabs.renameTab"), children: /* @__PURE__ */ jsx(
72
+ ControlledButton,
73
+ {
74
+ defaultHtmlButton: true,
75
+ onClick: handleEditClick,
76
+ className: "ml-0.5 flex items-center text-foreground-faint transition-colors hover:text-brand-emphasis",
77
+ tabIndex: -1,
78
+ children: /* @__PURE__ */ jsx(MaterialSymbol, { icon: "edit", size: 14 })
79
+ }
80
+ ) }),
81
+ onToggleVisibility && /* @__PURE__ */ jsx(
82
+ ControlledTooltip,
83
+ {
84
+ content: !canToggleVisibility ? t("controlledTabs.mustKeepOneEnabled") : isVisible ? t("controlledTabs.disableTab") : t("controlledTabs.enableTabShort"),
85
+ children: /* @__PURE__ */ jsx(
86
+ ControlledButton,
87
+ {
88
+ defaultHtmlButton: true,
89
+ onClick: (e) => {
90
+ e.stopPropagation();
91
+ if (canToggleVisibility) onToggleVisibility();
92
+ },
93
+ className: classNames("ml-0.5 flex items-center transition-colors", {
94
+ ["text-foreground-faint hover:text-warning-emphasis"]: isVisible && canToggleVisibility,
95
+ ["text-warning-emphasis hover:text-success-emphasis"]: !isVisible,
96
+ ["cursor-not-allowed text-foreground-faint"]: isVisible && !canToggleVisibility
97
+ }),
98
+ tabIndex: -1,
99
+ children: /* @__PURE__ */ jsx(MaterialSymbol, { icon: isVisible ? "visibility" : "visibility_off", size: 14 })
100
+ }
101
+ )
102
+ }
103
+ )
104
+ ] });
105
+ };
106
+ const ControlledTabs = forwardRef(
107
+ ({
108
+ initialActiveTab,
109
+ activeTab: controlledActiveTab,
110
+ tabs: tabsProp,
111
+ dataTabs: dataTabsProp,
112
+ loading = false,
113
+ disabled = false,
114
+ handleActiveTabChildren,
115
+ useRenderValidation = false,
116
+ onTabChange,
117
+ beforeTabChange,
118
+ tabsBodyClassName,
119
+ tabPanelClassName,
120
+ rootClassName,
121
+ tabClassName,
122
+ headerSlot,
123
+ actionsSlot,
124
+ onRenameTab,
125
+ onToggleTabVisibility,
126
+ onReorderTab,
127
+ scrollableHeader = false,
128
+ stickyHeader = false,
129
+ syncWithUrl = true
130
+ }, ref) => {
131
+ const { t } = useTranslation("ui");
132
+ const { check } = useUiAccess();
133
+ const deniedTabValues = useMemo(
134
+ () => new Set(tabsProp.filter((tab) => tab.capability && !check(tab.capability)).map((tab) => tab.value)),
135
+ [tabsProp, check]
136
+ );
137
+ const tabs = useMemo(() => tabsProp.filter((tab) => !deniedTabValues.has(tab.value)), [tabsProp, deniedTabValues]);
138
+ const dataTabs = useMemo(
139
+ () => dataTabsProp.filter((tabPanel) => !deniedTabValues.has(tabPanel.key)),
140
+ [dataTabsProp, deniedTabValues]
141
+ );
142
+ const location = useLocation();
143
+ const [searchParams, setSearchParams] = useSearchParams();
144
+ const urlParamOwnerIdRef = useRef({});
145
+ const scrollRef = useRef(null);
146
+ const stickySentinelRef = useRef(null);
147
+ const stickyBarRef = useRef(null);
148
+ const [canScrollLeft, setCanScrollLeft] = useState(false);
149
+ const [canScrollRight, setCanScrollRight] = useState(false);
150
+ const [clippedTabValues, setClippedTabValues] = useState([]);
151
+ const [isStuck, setIsStuck] = useState(false);
152
+ const dragTabValueRef = useRef(null);
153
+ const [draggingTabValue, setDraggingTabValue] = useState(null);
154
+ const [dragOverTabValue, setDragOverTabValue] = useState(null);
155
+ const resolveInitialActiveTab = () => {
156
+ const fallbackTab = tabs.some((tab) => tab.value === initialActiveTab) ? initialActiveTab : tabs[0]?.value ?? initialActiveTab;
157
+ if (!syncWithUrl) return fallbackTab;
158
+ if (location.state?.ignoreActiveTab === true) return fallbackTab;
159
+ const urlActiveTab = searchParams.get(TABS_URL_PARAM);
160
+ const isValidUrlTab = urlActiveTab != null && tabs.some((tab) => tab.value === urlActiveTab);
161
+ return isValidUrlTab ? urlActiveTab : fallbackTab;
162
+ };
163
+ const [internalActiveTab, setInternalActiveTab] = useState(resolveInitialActiveTab);
164
+ const isControlled = controlledActiveTab !== void 0;
165
+ const activeTab = isControlled ? controlledActiveTab : internalActiveTab;
166
+ const handleActiveTab = (tab) => {
167
+ if (disabled) return;
168
+ if (beforeTabChange && !beforeTabChange(activeTab, tab)) {
169
+ if (!isControlled) {
170
+ setInternalActiveTab(activeTab);
171
+ }
172
+ return;
173
+ }
174
+ if (handleActiveTabChildren) {
175
+ handleActiveTabChildren();
176
+ }
177
+ if (!isControlled) {
178
+ setInternalActiveTab(tab);
179
+ }
180
+ if (onTabChange) {
181
+ onTabChange(tab);
182
+ }
183
+ if (syncWithUrl) {
184
+ queueUrlParamUpdate(TABS_URL_PARAM, tab, setSearchParams);
185
+ }
186
+ };
187
+ useImperativeHandle(ref, () => ({
188
+ activeTab,
189
+ setActiveTab: handleActiveTab
190
+ }));
191
+ const handleToggleTabVisibility = (value) => {
192
+ const visibleCount = tabs.filter((t2) => t2.isVisible !== false).length;
193
+ const isCurrentlyVisible = tabs.find((t2) => t2.value === value)?.isVisible !== false;
194
+ if (isCurrentlyVisible && visibleCount <= 1) return;
195
+ onToggleTabVisibility?.(value);
196
+ };
197
+ useEffect(() => {
198
+ if (!syncWithUrl) return;
199
+ const ownerId = urlParamOwnerIdRef.current;
200
+ claimUrlParam(TABS_URL_PARAM, ownerId, URL_PARAM_PRIORITY.tabs);
201
+ return () => releaseUrlParam(TABS_URL_PARAM, ownerId);
202
+ }, [syncWithUrl]);
203
+ useEffect(() => {
204
+ if (syncWithUrl && searchParams.get(TABS_URL_PARAM) !== activeTab) {
205
+ queueUrlParamUpdate(TABS_URL_PARAM, activeTab, setSearchParams);
206
+ }
207
+ const tabButton = document.querySelector(`li[data-value=${activeTab}]`);
208
+ if (tabButton) {
209
+ tabButton.click();
210
+ }
211
+ }, [activeTab]);
212
+ const updateOverflow = useCallback(() => {
213
+ const container = scrollRef.current;
214
+ if (!container) return;
215
+ setCanScrollLeft(container.scrollLeft > 4);
216
+ setCanScrollRight(container.scrollLeft + container.clientWidth < container.scrollWidth - 4);
217
+ const EDGE_TOLERANCE = 1;
218
+ const containerRect = container.getBoundingClientRect();
219
+ const clipped = [];
220
+ container.querySelectorAll("[data-value]").forEach((node) => {
221
+ const element = node;
222
+ const value = element.getAttribute("data-value");
223
+ if (!value || value === activeTab) return;
224
+ const rect = element.getBoundingClientRect();
225
+ const crossesLeftEdge = rect.left < containerRect.left - EDGE_TOLERANCE && rect.right > containerRect.left + EDGE_TOLERANCE;
226
+ const crossesRightEdge = rect.right > containerRect.right + EDGE_TOLERANCE && rect.left < containerRect.right - EDGE_TOLERANCE;
227
+ if (crossesLeftEdge || crossesRightEdge) clipped.push(value);
228
+ });
229
+ setClippedTabValues(
230
+ (prev) => prev.length === clipped.length && prev.every((value, index) => value === clipped[index]) ? prev : clipped
231
+ );
232
+ }, [activeTab]);
233
+ useEffect(() => {
234
+ if (!stickyHeader) return;
235
+ const sentinel = stickySentinelRef.current;
236
+ if (!sentinel || typeof IntersectionObserver === "undefined") return;
237
+ let scrollParent = sentinel.parentElement;
238
+ while (scrollParent) {
239
+ const overflowY = getComputedStyle(scrollParent).overflowY;
240
+ if (overflowY === "auto" || overflowY === "scroll") break;
241
+ scrollParent = scrollParent.parentElement;
242
+ }
243
+ const observer = new IntersectionObserver(([entry]) => setIsStuck(!entry.isIntersecting), {
244
+ root: scrollParent ?? null,
245
+ threshold: 0
246
+ });
247
+ observer.observe(sentinel);
248
+ return () => observer.disconnect();
249
+ }, [stickyHeader]);
250
+ useEffect(() => {
251
+ if (!stickyHeader) return;
252
+ const bar = stickyBarRef.current;
253
+ if (!bar) return;
254
+ let scrollParent = bar.parentElement;
255
+ while (scrollParent) {
256
+ const overflowY = getComputedStyle(scrollParent).overflowY;
257
+ if (overflowY === "auto" || overflowY === "scroll") break;
258
+ scrollParent = scrollParent.parentElement;
259
+ }
260
+ if (!scrollParent) return;
261
+ const target = scrollParent;
262
+ let rafId = 0;
263
+ let lastHeight = -1;
264
+ const publishHeight = () => {
265
+ const height = bar.offsetHeight;
266
+ if (height === lastHeight) return;
267
+ lastHeight = height;
268
+ target.style.setProperty("--sticky-tabs-height", `${height}px`);
269
+ };
270
+ publishHeight();
271
+ if (typeof ResizeObserver === "undefined") return;
272
+ const observer = new ResizeObserver(() => {
273
+ cancelAnimationFrame(rafId);
274
+ rafId = requestAnimationFrame(publishHeight);
275
+ });
276
+ observer.observe(bar);
277
+ return () => {
278
+ cancelAnimationFrame(rafId);
279
+ observer.disconnect();
280
+ target.style.removeProperty("--sticky-tabs-height");
281
+ };
282
+ }, [stickyHeader]);
283
+ useEffect(() => {
284
+ if (!scrollableHeader) return;
285
+ updateOverflow();
286
+ const onResize = () => updateOverflow();
287
+ window.addEventListener("resize", onResize);
288
+ return () => window.removeEventListener("resize", onResize);
289
+ }, [scrollableHeader, tabs, updateOverflow]);
290
+ const scrollByStep = (direction) => {
291
+ const container = scrollRef.current;
292
+ if (!container) return;
293
+ const EDGE_TOLERANCE = 1;
294
+ const containerRect = container.getBoundingClientRect();
295
+ const nodes = Array.from(container.querySelectorAll("[data-value]"));
296
+ if (direction > 0) {
297
+ const nextHidden = nodes.find(
298
+ (node) => node.getBoundingClientRect().right > containerRect.right + EDGE_TOLERANCE
299
+ );
300
+ if (!nextHidden) return;
301
+ container.scrollBy({ left: nextHidden.getBoundingClientRect().left - containerRect.left, behavior: "smooth" });
302
+ return;
303
+ }
304
+ const previousHidden = [...nodes].reverse().find((node) => node.getBoundingClientRect().left < containerRect.left - EDGE_TOLERANCE);
305
+ if (!previousHidden) return;
306
+ container.scrollBy({
307
+ left: previousHidden.getBoundingClientRect().right - containerRect.right,
308
+ behavior: "smooth"
309
+ });
310
+ };
311
+ const tabLabel = (label, count, alertCount) => {
312
+ const showCount = count !== void 0;
313
+ return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-x-1.5 align-bottom", children: [
314
+ label,
315
+ loading && showCount ? /* @__PURE__ */ jsx(LoadingSpinner, { size: 3 }) : showCount ? /* @__PURE__ */ jsx("span", { className: "inline-flex min-w-[18px] items-center justify-center rounded-full bg-muted-hover px-1.5 py-px text-[11px] font-medium leading-none text-foreground-subtle", children: formatNumber(count) }) : null,
316
+ Boolean(alertCount) && /* @__PURE__ */ jsx("span", { className: "inline-flex min-w-[18px] items-center justify-center rounded-full bg-warning-soft px-1.5 py-px text-[11px] font-semibold leading-none text-warning-emphasis", children: formatNumber(alertCount) })
317
+ ] });
318
+ };
319
+ const handleTabDragEnd = () => {
320
+ const from = dragTabValueRef.current;
321
+ const to = dragOverTabValue;
322
+ if (from && to && from !== to) {
323
+ onReorderTab?.(from, to);
324
+ }
325
+ dragTabValueRef.current = null;
326
+ setDraggingTabValue(null);
327
+ setDragOverTabValue(null);
328
+ };
329
+ const tabElements = tabs.map((tab, index) => {
330
+ const isActive = activeTab === tab.value && tab.isVisible !== false;
331
+ const isInactive = activeTab !== tab.value && tab.isVisible !== false;
332
+ const isTabDropTarget = Boolean(draggingTabValue) && dragOverTabValue === tab.value && draggingTabValue !== tab.value;
333
+ const tabDragProps = onReorderTab ? {
334
+ draggable: true,
335
+ onDragStart: (event) => {
336
+ if (event.target.closest("input")) {
337
+ event.preventDefault();
338
+ return;
339
+ }
340
+ event.dataTransfer.effectAllowed = "move";
341
+ dragTabValueRef.current = tab.value;
342
+ setDraggingTabValue(tab.value);
343
+ },
344
+ onDragEnter: (event) => {
345
+ event.preventDefault();
346
+ if (dragTabValueRef.current) setDragOverTabValue(tab.value);
347
+ },
348
+ onDragOver: (event) => event.preventDefault(),
349
+ onDragEnd: handleTabDragEnd
350
+ } : {};
351
+ return /* @__PURE__ */ jsx(
352
+ Tab,
353
+ {
354
+ value: tab.value,
355
+ style: { zIndex: 2 },
356
+ disabled: loading,
357
+ onClick: () => handleActiveTab(tab.value),
358
+ ...tabDragProps,
359
+ className: classNames(
360
+ "max-w-fit px-4",
361
+ tabClassName,
362
+ // Acabamento mais delicado quando a barra é sticky: pill sutil no hover das abas
363
+ // inativas e peso de fonte mais leve ao trocar de aba.
364
+ stickyHeader && "rounded-md transition-interactive duration-fast",
365
+ {
366
+ [stickyHeader ? "font-medium text-brand-emphasis" : "text-brand-emphasis"]: isActive,
367
+ [stickyHeader ? "font-normal opacity-70 hover:bg-muted-hover hover:opacity-100" : "opacity-70"]: isInactive,
368
+ ["!text-foreground-faint line-through opacity-60 hover:!text-foreground-faint"]: tab.isVisible === false,
369
+ ["cursor-grab active:cursor-grabbing"]: Boolean(onReorderTab),
370
+ ["rounded-md bg-brand-soft !opacity-100 ring-1 ring-brand-border"]: isTabDropTarget,
371
+ ["opacity-40"]: draggingTabValue === tab.value,
372
+ ["invisible"]: clippedTabValues.includes(tab.value)
373
+ }
374
+ ),
375
+ children: onRenameTab && tab.editable !== false ? /* @__PURE__ */ jsx(
376
+ EditableTabLabel,
377
+ {
378
+ label: tab.label,
379
+ count: tab.count,
380
+ loading,
381
+ isVisible: tab.isVisible !== false,
382
+ canToggleVisibility: tab.isVisible === false || tabs.filter((t2) => t2.isVisible !== false).length > 1,
383
+ onRename: (newLabel) => onRenameTab(tab.value, newLabel),
384
+ onToggleVisibility: onToggleTabVisibility ? () => handleToggleTabVisibility(tab.value) : void 0
385
+ }
386
+ ) : tab.tooltip ? /* @__PURE__ */ jsx(ControlledTooltip, { content: tab.tooltip, className: "max-w-60", children: tabLabel(tab.label, tab.count, tab.alertCount) }) : tabLabel(tab.label, tab.count, tab.alertCount)
387
+ },
388
+ `controlled-tab-${index}-${tab.value}`
389
+ );
390
+ });
391
+ const scrollArrowClass = "flex size-8 shrink-0 items-center justify-center rounded-full text-foreground-subtle transition-colors hover:bg-brand-soft hover:text-brand-emphasis";
392
+ return /* @__PURE__ */ jsxs(TabsRoot, { value: activeTab, className: classNames("!overflow-visible", rootClassName), children: [
393
+ stickyHeader && /* @__PURE__ */ jsx("div", { ref: stickySentinelRef, className: "h-px", "aria-hidden": true }),
394
+ /* @__PURE__ */ jsxs(
395
+ "div",
396
+ {
397
+ ref: stickyBarRef,
398
+ className: classNames(
399
+ "flex shrink-0 items-center",
400
+ // Com header rolável a barra é sempre UMA linha (nowrap): as abas cedem e viram scroll
401
+ // horizontal, enquanto as ações (shrink-0 + ml-auto) permanecem pinadas à direita e nunca
402
+ // caem para baixo. Sem header rolável, mantém o comportamento antigo de wrap.
403
+ scrollableHeader ? "flex-nowrap gap-x-3" : actionsSlot ? "flex-wrap gap-x-3 gap-y-2" : "gap-1",
404
+ // Gruda logo abaixo do header do produto: fundo sólido para tapar o conteúdo que
405
+ // rola por baixo e sombra sutil só depois que a barra encosta no topo.
406
+ stickyHeader && "sticky top-0 z-20 bg-surface transition-shadow duration-fast",
407
+ stickyHeader && isStuck && "shadow-elevation1",
408
+ disabled && "pointer-events-none select-none opacity-50"
409
+ ),
410
+ children: [
411
+ headerSlot && /* @__PURE__ */ jsx(Fragment, { children: headerSlot }),
412
+ scrollableHeader ? /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 items-center gap-1 border-b border-border-subtle", children: [
413
+ /* @__PURE__ */ jsx(
414
+ ControlledButton,
415
+ {
416
+ defaultHtmlButton: true,
417
+ onClick: () => scrollByStep(-1),
418
+ disabled: !canScrollLeft,
419
+ className: classNames(scrollArrowClass, { ["pointer-events-none opacity-0"]: !canScrollLeft }),
420
+ tabIndex: -1,
421
+ children: /* @__PURE__ */ jsx(MaterialSymbol, { icon: "chevron_left", size: 20 })
422
+ }
423
+ ),
424
+ /* @__PURE__ */ jsx("div", { ref: scrollRef, onScroll: updateOverflow, className: "scrollbar-hide min-w-0 flex-1 overflow-x-auto", children: /* @__PURE__ */ jsx(TabsHeader, { className: "flex w-max flex-nowrap items-center gap-1 rounded-none border-b-0 border-border-subtle bg-transparent p-0", children: tabElements }) }),
425
+ /* @__PURE__ */ jsx(
426
+ ControlledButton,
427
+ {
428
+ defaultHtmlButton: true,
429
+ onClick: () => scrollByStep(1),
430
+ disabled: !canScrollRight,
431
+ className: classNames(scrollArrowClass, { ["pointer-events-none opacity-0"]: !canScrollRight }),
432
+ tabIndex: -1,
433
+ children: /* @__PURE__ */ jsx(MaterialSymbol, { icon: "chevron_right", size: 20 })
434
+ }
435
+ )
436
+ ] }) : /* @__PURE__ */ jsx(TabsHeader, { className: "flex flex-1 flex-wrap items-center gap-1 rounded-none border-b-0 border-border-subtle bg-transparent p-0", children: tabElements }),
437
+ actionsSlot && /* @__PURE__ */ jsx("div", { className: "ml-auto flex shrink-0 items-center", children: actionsSlot })
438
+ ]
439
+ }
440
+ ),
441
+ /* @__PURE__ */ jsx(TabsBody, { className: tabsBodyClassName, children: dataTabs.map((tabPanel) => {
442
+ const isTabVisible = tabs.find((t2) => t2.value === tabPanel.key)?.isVisible !== false;
443
+ return /* @__PURE__ */ jsx(TabPanel, { value: tabPanel.key, className: classNames("size-full", tabPanelClassName), children: /* @__PURE__ */ jsxs("div", { className: classNames("relative size-full", { ["pointer-events-none"]: !isTabVisible }), children: [
444
+ useRenderValidation ? activeTab === tabPanel.key && /* @__PURE__ */ jsx("div", { className: "size-full animate-fade-in transition-interactive duration-slow ease-standard", children: tabPanel.element }) : tabPanel.element,
445
+ !isTabVisible && /* @__PURE__ */ jsxs("div", { className: "absolute inset-0 z-10 flex flex-col items-center justify-center gap-2 rounded-lg bg-muted-hover/70 glass-veil", children: [
446
+ /* @__PURE__ */ jsx(MaterialSymbol, { icon: "visibility_off", size: 32, className: "text-foreground-faint" }),
447
+ /* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-foreground-subtle", children: t("controlledTabs.tabDisabled") }),
448
+ onToggleTabVisibility && /* @__PURE__ */ jsxs(
449
+ ControlledButton,
450
+ {
451
+ size: "sm",
452
+ variant: "outlined",
453
+ className: "pointer-events-auto mt-1 flex items-center gap-x-1",
454
+ onClick: () => onToggleTabVisibility(tabPanel.key),
455
+ children: [
456
+ /* @__PURE__ */ jsx(MaterialSymbol, { icon: "visibility", size: 16 }),
457
+ t("controlledTabs.enableTab")
458
+ ]
459
+ }
460
+ )
461
+ ] })
462
+ ] }) }, tabPanel.key);
463
+ }) })
464
+ ] });
465
+ }
466
+ );
467
+ export {
468
+ ControlledTabs as default
469
+ };
470
+ //# sourceMappingURL=ControlledTabs.js.map