@umodeapporg/ui 0.0.0-canary.ca10e69

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 (845) hide show
  1. package/README.md +78 -0
  2. package/dist/assets/images/common-pngs/sparkles.png.js +5 -0
  3. package/dist/assets/images/common-pngs/sparkles.png.js.map +1 -0
  4. package/dist/assets/umode-ui.css +467 -0
  5. package/dist/components/DateTime/DatePicker.d.ts +21 -0
  6. package/dist/components/DateTime/DatePicker.js +124 -0
  7. package/dist/components/DateTime/DatePicker.js.map +1 -0
  8. package/dist/components/DateTime/DateRangePicker.d.ts +21 -0
  9. package/dist/components/DateTime/DateRangePicker.js +208 -0
  10. package/dist/components/DateTime/DateRangePicker.js.map +1 -0
  11. package/dist/components/Form/ControlledButton.d.ts +25 -0
  12. package/dist/components/Form/ControlledButton.js +73 -0
  13. package/dist/components/Form/ControlledButton.js.map +1 -0
  14. package/dist/components/Form/ControlledCheckbox.d.ts +16 -0
  15. package/dist/components/Form/ControlledCheckbox.js +115 -0
  16. package/dist/components/Form/ControlledCheckbox.js.map +1 -0
  17. package/dist/components/Form/ControlledDialog.d.ts +51 -0
  18. package/dist/components/Form/ControlledDialog.js +191 -0
  19. package/dist/components/Form/ControlledDialog.js.map +1 -0
  20. package/dist/components/Form/ControlledDialogPrimitives.d.ts +53 -0
  21. package/dist/components/Form/ControlledDialogPrimitives.js +245 -0
  22. package/dist/components/Form/ControlledDialogPrimitives.js.map +1 -0
  23. package/dist/components/Form/ControlledDrawer.d.ts +37 -0
  24. package/dist/components/Form/ControlledDrawer.js +241 -0
  25. package/dist/components/Form/ControlledDrawer.js.map +1 -0
  26. package/dist/components/Form/ControlledForm/InputField.d.ts +11 -0
  27. package/dist/components/Form/ControlledForm/InputField.js +75 -0
  28. package/dist/components/Form/ControlledForm/InputField.js.map +1 -0
  29. package/dist/components/Form/ControlledForm/index.d.ts +27 -0
  30. package/dist/components/Form/ControlledForm/index.js +113 -0
  31. package/dist/components/Form/ControlledForm/index.js.map +1 -0
  32. package/dist/components/Form/ControlledImage/Img.d.ts +11 -0
  33. package/dist/components/Form/ControlledImage/Img.js +29 -0
  34. package/dist/components/Form/ControlledImage/Img.js.map +1 -0
  35. package/dist/components/Form/ControlledImage/index.d.ts +33 -0
  36. package/dist/components/Form/ControlledImage/index.js +110 -0
  37. package/dist/components/Form/ControlledImage/index.js.map +1 -0
  38. package/dist/components/Form/ControlledImage/useImage.d.ts +9 -0
  39. package/dist/components/Form/ControlledImage/useImage.js +110 -0
  40. package/dist/components/Form/ControlledImage/useImage.js.map +1 -0
  41. package/dist/components/Form/ControlledInput.d.ts +23 -0
  42. package/dist/components/Form/ControlledInput.js +52 -0
  43. package/dist/components/Form/ControlledInput.js.map +1 -0
  44. package/dist/components/Form/ControlledRadio.d.ts +15 -0
  45. package/dist/components/Form/ControlledRadio.js +91 -0
  46. package/dist/components/Form/ControlledRadio.js.map +1 -0
  47. package/dist/components/Form/ControlledSelect.d.ts +53 -0
  48. package/dist/components/Form/ControlledSelect.js +797 -0
  49. package/dist/components/Form/ControlledSelect.js.map +1 -0
  50. package/dist/components/Form/ControlledSwitch.d.ts +21 -0
  51. package/dist/components/Form/ControlledSwitch.js +107 -0
  52. package/dist/components/Form/ControlledSwitch.js.map +1 -0
  53. package/dist/components/Form/ControlledTabs.d.ts +75 -0
  54. package/dist/components/Form/ControlledTabs.js +515 -0
  55. package/dist/components/Form/ControlledTabs.js.map +1 -0
  56. package/dist/components/Form/ControlledTabsPrimitives.d.ts +43 -0
  57. package/dist/components/Form/ControlledTabsPrimitives.js +48 -0
  58. package/dist/components/Form/ControlledTabsPrimitives.js.map +1 -0
  59. package/dist/components/Form/ControlledTextarea.d.ts +22 -0
  60. package/dist/components/Form/ControlledTextarea.js +46 -0
  61. package/dist/components/Form/ControlledTextarea.js.map +1 -0
  62. package/dist/components/Form/ControlledTimeline.d.ts +26 -0
  63. package/dist/components/Form/ControlledTimeline.js +60 -0
  64. package/dist/components/Form/ControlledTimeline.js.map +1 -0
  65. package/dist/components/Form/ControlledViewToggle.d.ts +74 -0
  66. package/dist/components/Form/ControlledViewToggle.js +157 -0
  67. package/dist/components/Form/ControlledViewToggle.js.map +1 -0
  68. package/dist/components/Form/ControlledVoiceTextarea.d.ts +13 -0
  69. package/dist/components/Form/ControlledVoiceTextarea.js +99 -0
  70. package/dist/components/Form/ControlledVoiceTextarea.js.map +1 -0
  71. package/dist/components/Form/CurrencyInput.d.ts +8 -0
  72. package/dist/components/Form/CurrencyInput.js +17 -0
  73. package/dist/components/Form/CurrencyInput.js.map +1 -0
  74. package/dist/components/Form/FieldLabel.d.ts +16 -0
  75. package/dist/components/Form/FieldLabel.js +7 -0
  76. package/dist/components/Form/FieldLabel.js.map +1 -0
  77. package/dist/components/Form/RichTextEditor.d.ts +86 -0
  78. package/dist/components/Form/RichTextEditor.js +581 -0
  79. package/dist/components/Form/RichTextEditor.js.map +1 -0
  80. package/dist/components/Form/attachments/AttachmentPreviewList.d.ts +22 -0
  81. package/dist/components/Form/attachments/AttachmentPreviewList.js +95 -0
  82. package/dist/components/Form/attachments/AttachmentPreviewList.js.map +1 -0
  83. package/dist/components/Form/attachments/FileDropzone.d.ts +12 -0
  84. package/dist/components/Form/attachments/FileDropzone.js +84 -0
  85. package/dist/components/Form/attachments/FileDropzone.js.map +1 -0
  86. package/dist/components/Navigation/ControlledBreadcrumb.d.ts +13 -0
  87. package/dist/components/Navigation/ControlledBreadcrumb.js +24 -0
  88. package/dist/components/Navigation/ControlledBreadcrumb.js.map +1 -0
  89. package/dist/components/Navigation/ErrorPage.d.ts +2 -0
  90. package/dist/components/Navigation/ErrorPage.js +27 -0
  91. package/dist/components/Navigation/ErrorPage.js.map +1 -0
  92. package/dist/components/Navigation/LinkButton.d.ts +26 -0
  93. package/dist/components/Navigation/LinkButton.js +82 -0
  94. package/dist/components/Navigation/LinkButton.js.map +1 -0
  95. package/dist/components/Navigation/PageTitle.d.ts +95 -0
  96. package/dist/components/Navigation/PageTitle.js +241 -0
  97. package/dist/components/Navigation/PageTitle.js.map +1 -0
  98. package/dist/components/Navigation/PageTitleCollapseContext.d.ts +13 -0
  99. package/dist/components/Navigation/PageTitleCollapseContext.js +9 -0
  100. package/dist/components/Navigation/PageTitleCollapseContext.js.map +1 -0
  101. package/dist/components/Navigation/PageTitleNavigationContext.d.ts +21 -0
  102. package/dist/components/Navigation/PageTitleNavigationContext.js +17 -0
  103. package/dist/components/Navigation/PageTitleNavigationContext.js.map +1 -0
  104. package/dist/components/Navigation/ReactRouterNavigationAdapter.d.ts +7 -0
  105. package/dist/components/Navigation/ReactRouterNavigationAdapter.js +27 -0
  106. package/dist/components/Navigation/ReactRouterNavigationAdapter.js.map +1 -0
  107. package/dist/components/Navigation/UiNavigationContext.d.ts +38 -0
  108. package/dist/components/Navigation/UiNavigationContext.js +44 -0
  109. package/dist/components/Navigation/UiNavigationContext.js.map +1 -0
  110. package/dist/components/Search/UnifiedSearchBar.d.ts +31 -0
  111. package/dist/components/Search/UnifiedSearchBar.js +167 -0
  112. package/dist/components/Search/UnifiedSearchBar.js.map +1 -0
  113. package/dist/components/Search/filters/ActiveFiltersBar.d.ts +15 -0
  114. package/dist/components/Search/filters/ActiveFiltersBar.js +48 -0
  115. package/dist/components/Search/filters/ActiveFiltersBar.js.map +1 -0
  116. package/dist/components/Search/filters/FilterChipsRow.d.ts +17 -0
  117. package/dist/components/Search/filters/FilterChipsRow.js +113 -0
  118. package/dist/components/Search/filters/FilterChipsRow.js.map +1 -0
  119. package/dist/components/Search/filters/FilterFieldControl.d.ts +19 -0
  120. package/dist/components/Search/filters/FilterFieldControl.js +390 -0
  121. package/dist/components/Search/filters/FilterFieldControl.js.map +1 -0
  122. package/dist/components/Search/filters/FiltersButton.d.ts +24 -0
  123. package/dist/components/Search/filters/FiltersButton.js +52 -0
  124. package/dist/components/Search/filters/FiltersButton.js.map +1 -0
  125. package/dist/components/Search/filters/FiltersForm.d.ts +18 -0
  126. package/dist/components/Search/filters/FiltersForm.js +112 -0
  127. package/dist/components/Search/filters/FiltersForm.js.map +1 -0
  128. package/dist/components/Search/filters/FiltersPanel.d.ts +32 -0
  129. package/dist/components/Search/filters/FiltersPanel.js +266 -0
  130. package/dist/components/Search/filters/FiltersPanel.js.map +1 -0
  131. package/dist/components/Search/filters/FiltersSummaryTooltip.d.ts +20 -0
  132. package/dist/components/Search/filters/FiltersSummaryTooltip.js +26 -0
  133. package/dist/components/Search/filters/FiltersSummaryTooltip.js.map +1 -0
  134. package/dist/components/Search/filters/filterTypes.d.ts +162 -0
  135. package/dist/components/Search/filters/filterTypes.js +2 -0
  136. package/dist/components/Search/filters/filterTypes.js.map +1 -0
  137. package/dist/components/Search/filters/filterValues.d.ts +22 -0
  138. package/dist/components/Search/filters/filterValues.js +91 -0
  139. package/dist/components/Search/filters/filterValues.js.map +1 -0
  140. package/dist/components/Search/filters/filtersLayout.d.ts +4 -0
  141. package/dist/components/Search/filters/filtersLayout.js +18 -0
  142. package/dist/components/Search/filters/filtersLayout.js.map +1 -0
  143. package/dist/components/Search/filters/index.d.ts +11 -0
  144. package/dist/components/Search/filters/index.js +32 -0
  145. package/dist/components/Search/filters/index.js.map +1 -0
  146. package/dist/components/Search/filters/useFilters.d.ts +33 -0
  147. package/dist/components/Search/filters/useFilters.js +162 -0
  148. package/dist/components/Search/filters/useFilters.js.map +1 -0
  149. package/dist/components/Search/index.d.ts +2 -0
  150. package/dist/components/Search/index.js +34 -0
  151. package/dist/components/Search/index.js.map +1 -0
  152. package/dist/components/Shell/AppHeader.d.ts +25 -0
  153. package/dist/components/Shell/AppHeader.js +69 -0
  154. package/dist/components/Shell/AppHeader.js.map +1 -0
  155. package/dist/components/Shell/AppShell.d.ts +22 -0
  156. package/dist/components/Shell/AppShell.js +146 -0
  157. package/dist/components/Shell/AppShell.js.map +1 -0
  158. package/dist/components/Shell/AppSidebar.d.ts +20 -0
  159. package/dist/components/Shell/AppSidebar.js +93 -0
  160. package/dist/components/Shell/AppSidebar.js.map +1 -0
  161. package/dist/components/Shell/LanguageToggle.d.ts +8 -0
  162. package/dist/components/Shell/LanguageToggle.js +59 -0
  163. package/dist/components/Shell/LanguageToggle.js.map +1 -0
  164. package/dist/components/Shell/PumpkinGlyph.d.ts +13 -0
  165. package/dist/components/Shell/PumpkinGlyph.js +29 -0
  166. package/dist/components/Shell/PumpkinGlyph.js.map +1 -0
  167. package/dist/components/Shell/SidebarMenu.d.ts +29 -0
  168. package/dist/components/Shell/SidebarMenu.js +254 -0
  169. package/dist/components/Shell/SidebarMenu.js.map +1 -0
  170. package/dist/components/Shell/ThemeToggle.d.ts +18 -0
  171. package/dist/components/Shell/ThemeToggle.js +68 -0
  172. package/dist/components/Shell/ThemeToggle.js.map +1 -0
  173. package/dist/components/Shell/headerControlStyles.d.ts +10 -0
  174. package/dist/components/Shell/headerControlStyles.js +11 -0
  175. package/dist/components/Shell/headerControlStyles.js.map +1 -0
  176. package/dist/components/Shell/sidebarFavorites.d.ts +21 -0
  177. package/dist/components/Shell/sidebarFavorites.js +69 -0
  178. package/dist/components/Shell/sidebarFavorites.js.map +1 -0
  179. package/dist/components/Shell/useSidebarState.d.ts +14 -0
  180. package/dist/components/Shell/useSidebarState.js +106 -0
  181. package/dist/components/Shell/useSidebarState.js.map +1 -0
  182. package/dist/components/UI/AccordionIcon.d.ts +10 -0
  183. package/dist/components/UI/AccordionIcon.js +22 -0
  184. package/dist/components/UI/AccordionIcon.js.map +1 -0
  185. package/dist/components/UI/AlertInfo/dismissedAlertsStore.d.ts +2 -0
  186. package/dist/components/UI/AlertInfo/dismissedAlertsStore.js +22 -0
  187. package/dist/components/UI/AlertInfo/dismissedAlertsStore.js.map +1 -0
  188. package/dist/components/UI/AlertInfo/index.d.ts +30 -0
  189. package/dist/components/UI/AlertInfo/index.js +78 -0
  190. package/dist/components/UI/AlertInfo/index.js.map +1 -0
  191. package/dist/components/UI/BaseDataCard.d.ts +27 -0
  192. package/dist/components/UI/BaseDataCard.js +170 -0
  193. package/dist/components/UI/BaseDataCard.js.map +1 -0
  194. package/dist/components/UI/BulkActionBar.d.ts +35 -0
  195. package/dist/components/UI/BulkActionBar.js +127 -0
  196. package/dist/components/UI/BulkActionBar.js.map +1 -0
  197. package/dist/components/UI/Chips/OutlinedChip.d.ts +42 -0
  198. package/dist/components/UI/Chips/OutlinedChip.js +190 -0
  199. package/dist/components/UI/Chips/OutlinedChip.js.map +1 -0
  200. package/dist/components/UI/Chips/StatusChip.d.ts +8 -0
  201. package/dist/components/UI/Chips/StatusChip.js +33 -0
  202. package/dist/components/UI/Chips/StatusChip.js.map +1 -0
  203. package/dist/components/UI/Chips/chipTones.d.ts +6 -0
  204. package/dist/components/UI/Chips/chipTones.js +53 -0
  205. package/dist/components/UI/Chips/chipTones.js.map +1 -0
  206. package/dist/components/UI/ColorSwatch.d.ts +30 -0
  207. package/dist/components/UI/ColorSwatch.js +53 -0
  208. package/dist/components/UI/ColorSwatch.js.map +1 -0
  209. package/dist/components/UI/Colors.d.ts +10 -0
  210. package/dist/components/UI/Colors.js +41 -0
  211. package/dist/components/UI/Colors.js.map +1 -0
  212. package/dist/components/UI/ControlledAccordion.d.ts +38 -0
  213. package/dist/components/UI/ControlledAccordion.js +95 -0
  214. package/dist/components/UI/ControlledAccordion.js.map +1 -0
  215. package/dist/components/UI/ControlledCollapse.d.ts +18 -0
  216. package/dist/components/UI/ControlledCollapse.js +40 -0
  217. package/dist/components/UI/ControlledCollapse.js.map +1 -0
  218. package/dist/components/UI/ControlledMenu.d.ts +79 -0
  219. package/dist/components/UI/ControlledMenu.js +234 -0
  220. package/dist/components/UI/ControlledMenu.js.map +1 -0
  221. package/dist/components/UI/ControlledPopover.d.ts +59 -0
  222. package/dist/components/UI/ControlledPopover.js +189 -0
  223. package/dist/components/UI/ControlledPopover.js.map +1 -0
  224. package/dist/components/UI/ControlledProgress.d.ts +13 -0
  225. package/dist/components/UI/ControlledProgress.js +46 -0
  226. package/dist/components/UI/ControlledProgress.js.map +1 -0
  227. package/dist/components/UI/ControlledSlider.d.ts +15 -0
  228. package/dist/components/UI/ControlledSlider.js +34 -0
  229. package/dist/components/UI/ControlledSlider.js.map +1 -0
  230. package/dist/components/UI/ControlledTooltip.d.ts +21 -0
  231. package/dist/components/UI/ControlledTooltip.js +146 -0
  232. package/dist/components/UI/ControlledTooltip.js.map +1 -0
  233. package/dist/components/UI/CustomBadge.d.ts +15 -0
  234. package/dist/components/UI/CustomBadge.js +34 -0
  235. package/dist/components/UI/CustomBadge.js.map +1 -0
  236. package/dist/components/UI/CustomCard.d.ts +13 -0
  237. package/dist/components/UI/CustomCard.js +36 -0
  238. package/dist/components/UI/CustomCard.js.map +1 -0
  239. package/dist/components/UI/CustomChart.d.ts +21 -0
  240. package/dist/components/UI/CustomChart.js +108 -0
  241. package/dist/components/UI/CustomChart.js.map +1 -0
  242. package/dist/components/UI/DataTable/DataTable.d.ts +108 -0
  243. package/dist/components/UI/DataTable/DataTable.js +606 -0
  244. package/dist/components/UI/DataTable/DataTable.js.map +1 -0
  245. package/dist/components/UI/DataTable/DataTableAutoCard.d.ts +20 -0
  246. package/dist/components/UI/DataTable/DataTableAutoCard.js +39 -0
  247. package/dist/components/UI/DataTable/DataTableAutoCard.js.map +1 -0
  248. package/dist/components/UI/DataTable/DataTableBody.d.ts +33 -0
  249. package/dist/components/UI/DataTable/DataTableBody.js +260 -0
  250. package/dist/components/UI/DataTable/DataTableBody.js.map +1 -0
  251. package/dist/components/UI/DataTable/DataTableBodyCell.d.ts +21 -0
  252. package/dist/components/UI/DataTable/DataTableBodyCell.js +88 -0
  253. package/dist/components/UI/DataTable/DataTableBodyCell.js.map +1 -0
  254. package/dist/components/UI/DataTable/DataTableBulkEditButton.d.ts +11 -0
  255. package/dist/components/UI/DataTable/DataTableBulkEditButton.js +24 -0
  256. package/dist/components/UI/DataTable/DataTableBulkEditButton.js.map +1 -0
  257. package/dist/components/UI/DataTable/DataTableBulkEditDialog.d.ts +25 -0
  258. package/dist/components/UI/DataTable/DataTableBulkEditDialog.js +282 -0
  259. package/dist/components/UI/DataTable/DataTableBulkEditDialog.js.map +1 -0
  260. package/dist/components/UI/DataTable/DataTableBulkEditRowsPicker.d.ts +13 -0
  261. package/dist/components/UI/DataTable/DataTableBulkEditRowsPicker.js +95 -0
  262. package/dist/components/UI/DataTable/DataTableBulkEditRowsPicker.js.map +1 -0
  263. package/dist/components/UI/DataTable/DataTableBulkEditValueEditor.d.ts +20 -0
  264. package/dist/components/UI/DataTable/DataTableBulkEditValueEditor.js +94 -0
  265. package/dist/components/UI/DataTable/DataTableBulkEditValueEditor.js.map +1 -0
  266. package/dist/components/UI/DataTable/DataTableColumnToggle.d.ts +34 -0
  267. package/dist/components/UI/DataTable/DataTableColumnToggle.js +170 -0
  268. package/dist/components/UI/DataTable/DataTableColumnToggle.js.map +1 -0
  269. package/dist/components/UI/DataTable/DataTableDetailModal.d.ts +17 -0
  270. package/dist/components/UI/DataTable/DataTableDetailModal.js +109 -0
  271. package/dist/components/UI/DataTable/DataTableDetailModal.js.map +1 -0
  272. package/dist/components/UI/DataTable/DataTableDetailPanel.d.ts +21 -0
  273. package/dist/components/UI/DataTable/DataTableDetailPanel.js +51 -0
  274. package/dist/components/UI/DataTable/DataTableDetailPanel.js.map +1 -0
  275. package/dist/components/UI/DataTable/DataTableDetailTable.d.ts +35 -0
  276. package/dist/components/UI/DataTable/DataTableDetailTable.js +129 -0
  277. package/dist/components/UI/DataTable/DataTableDetailTable.js.map +1 -0
  278. package/dist/components/UI/DataTable/DataTableEditModeButton.d.ts +12 -0
  279. package/dist/components/UI/DataTable/DataTableEditModeButton.js +29 -0
  280. package/dist/components/UI/DataTable/DataTableEditModeButton.js.map +1 -0
  281. package/dist/components/UI/DataTable/DataTableFilters.d.ts +20 -0
  282. package/dist/components/UI/DataTable/DataTableFilters.js +65 -0
  283. package/dist/components/UI/DataTable/DataTableFilters.js.map +1 -0
  284. package/dist/components/UI/DataTable/DataTableHead.d.ts +27 -0
  285. package/dist/components/UI/DataTable/DataTableHead.js +198 -0
  286. package/dist/components/UI/DataTable/DataTableHead.js.map +1 -0
  287. package/dist/components/UI/DataTable/DataTablePagination.d.ts +15 -0
  288. package/dist/components/UI/DataTable/DataTablePagination.js +149 -0
  289. package/dist/components/UI/DataTable/DataTablePagination.js.map +1 -0
  290. package/dist/components/UI/DataTable/DataTableSaveButton.d.ts +13 -0
  291. package/dist/components/UI/DataTable/DataTableSaveButton.js +21 -0
  292. package/dist/components/UI/DataTable/DataTableSaveButton.js.map +1 -0
  293. package/dist/components/UI/DataTable/DataTableSegmentedTabs.d.ts +8 -0
  294. package/dist/components/UI/DataTable/DataTableSegmentedTabs.js +35 -0
  295. package/dist/components/UI/DataTable/DataTableSegmentedTabs.js.map +1 -0
  296. package/dist/components/UI/DataTable/DataTableStates.d.ts +17 -0
  297. package/dist/components/UI/DataTable/DataTableStates.js +59 -0
  298. package/dist/components/UI/DataTable/DataTableStates.js.map +1 -0
  299. package/dist/components/UI/DataTable/DataTableToolbar.d.ts +28 -0
  300. package/dist/components/UI/DataTable/DataTableToolbar.js +110 -0
  301. package/dist/components/UI/DataTable/DataTableToolbar.js.map +1 -0
  302. package/dist/components/UI/DataTable/applyDataTableFilters.d.ts +16 -0
  303. package/dist/components/UI/DataTable/applyDataTableFilters.js +54 -0
  304. package/dist/components/UI/DataTable/applyDataTableFilters.js.map +1 -0
  305. package/dist/components/UI/DataTable/bulkEditValues.d.ts +8 -0
  306. package/dist/components/UI/DataTable/bulkEditValues.js +13 -0
  307. package/dist/components/UI/DataTable/bulkEditValues.js.map +1 -0
  308. package/dist/components/UI/DataTable/cells/DataTableActionsCell.d.ts +7 -0
  309. package/dist/components/UI/DataTable/cells/DataTableActionsCell.js +55 -0
  310. package/dist/components/UI/DataTable/cells/DataTableActionsCell.js.map +1 -0
  311. package/dist/components/UI/DataTable/cells/DataTableCell.d.ts +15 -0
  312. package/dist/components/UI/DataTable/cells/DataTableCell.js +63 -0
  313. package/dist/components/UI/DataTable/cells/DataTableCell.js.map +1 -0
  314. package/dist/components/UI/DataTable/cells/DataTableCodeCell.d.ts +6 -0
  315. package/dist/components/UI/DataTable/cells/DataTableCodeCell.js +7 -0
  316. package/dist/components/UI/DataTable/cells/DataTableCodeCell.js.map +1 -0
  317. package/dist/components/UI/DataTable/cells/DataTableColorCell.d.ts +7 -0
  318. package/dist/components/UI/DataTable/cells/DataTableColorCell.js +10 -0
  319. package/dist/components/UI/DataTable/cells/DataTableColorCell.js.map +1 -0
  320. package/dist/components/UI/DataTable/cells/DataTableCountCell.d.ts +5 -0
  321. package/dist/components/UI/DataTable/cells/DataTableCountCell.js +7 -0
  322. package/dist/components/UI/DataTable/cells/DataTableCountCell.js.map +1 -0
  323. package/dist/components/UI/DataTable/cells/DataTableDateCell.d.ts +5 -0
  324. package/dist/components/UI/DataTable/cells/DataTableDateCell.js +12 -0
  325. package/dist/components/UI/DataTable/cells/DataTableDateCell.js.map +1 -0
  326. package/dist/components/UI/DataTable/cells/DataTableEditableCell.d.ts +23 -0
  327. package/dist/components/UI/DataTable/cells/DataTableEditableCell.js +242 -0
  328. package/dist/components/UI/DataTable/cells/DataTableEditableCell.js.map +1 -0
  329. package/dist/components/UI/DataTable/cells/DataTableEmpenhoCell.d.ts +10 -0
  330. package/dist/components/UI/DataTable/cells/DataTableEmpenhoCell.js +7 -0
  331. package/dist/components/UI/DataTable/cells/DataTableEmpenhoCell.js.map +1 -0
  332. package/dist/components/UI/DataTable/cells/DataTableOriginCell.d.ts +6 -0
  333. package/dist/components/UI/DataTable/cells/DataTableOriginCell.js +25 -0
  334. package/dist/components/UI/DataTable/cells/DataTableOriginCell.js.map +1 -0
  335. package/dist/components/UI/DataTable/cells/DataTableStatusCell.d.ts +6 -0
  336. package/dist/components/UI/DataTable/cells/DataTableStatusCell.js +24 -0
  337. package/dist/components/UI/DataTable/cells/DataTableStatusCell.js.map +1 -0
  338. package/dist/components/UI/DataTable/cells/DataTableTagCell.d.ts +6 -0
  339. package/dist/components/UI/DataTable/cells/DataTableTagCell.js +25 -0
  340. package/dist/components/UI/DataTable/cells/DataTableTagCell.js.map +1 -0
  341. package/dist/components/UI/DataTable/cells/DataTableTextCell.d.ts +6 -0
  342. package/dist/components/UI/DataTable/cells/DataTableTextCell.js +7 -0
  343. package/dist/components/UI/DataTable/cells/DataTableTextCell.js.map +1 -0
  344. package/dist/components/UI/DataTable/cells/DataTableThumbnailCell.d.ts +6 -0
  345. package/dist/components/UI/DataTable/cells/DataTableThumbnailCell.js +10 -0
  346. package/dist/components/UI/DataTable/cells/DataTableThumbnailCell.js.map +1 -0
  347. package/dist/components/UI/DataTable/dataTableClasses.d.ts +12 -0
  348. package/dist/components/UI/DataTable/dataTableClasses.js +29 -0
  349. package/dist/components/UI/DataTable/dataTableClasses.js.map +1 -0
  350. package/dist/components/UI/DataTable/dataTableColumnWidths.d.ts +15 -0
  351. package/dist/components/UI/DataTable/dataTableColumnWidths.js +153 -0
  352. package/dist/components/UI/DataTable/dataTableColumnWidths.js.map +1 -0
  353. package/dist/components/UI/DataTable/dataTableColumnsStore.d.ts +12 -0
  354. package/dist/components/UI/DataTable/dataTableColumnsStore.js +68 -0
  355. package/dist/components/UI/DataTable/dataTableColumnsStore.js.map +1 -0
  356. package/dist/components/UI/DataTable/dataTableMotion.d.ts +6 -0
  357. package/dist/components/UI/DataTable/dataTableMotion.js +15 -0
  358. package/dist/components/UI/DataTable/dataTableMotion.js.map +1 -0
  359. package/dist/components/UI/DataTable/grid/GridFillHandle.d.ts +8 -0
  360. package/dist/components/UI/DataTable/grid/GridFillHandle.js +70 -0
  361. package/dist/components/UI/DataTable/grid/GridFillHandle.js.map +1 -0
  362. package/dist/components/UI/DataTable/grid/GridProvider.d.ts +36 -0
  363. package/dist/components/UI/DataTable/grid/GridProvider.js +128 -0
  364. package/dist/components/UI/DataTable/grid/GridProvider.js.map +1 -0
  365. package/dist/components/UI/DataTable/grid/fill/fillStrategies.d.ts +19 -0
  366. package/dist/components/UI/DataTable/grid/fill/fillStrategies.js +73 -0
  367. package/dist/components/UI/DataTable/grid/fill/fillStrategies.js.map +1 -0
  368. package/dist/components/UI/DataTable/grid/gridStore.d.ts +82 -0
  369. package/dist/components/UI/DataTable/grid/gridStore.js +259 -0
  370. package/dist/components/UI/DataTable/grid/gridStore.js.map +1 -0
  371. package/dist/components/UI/DataTable/grid/gridTypes.d.ts +59 -0
  372. package/dist/components/UI/DataTable/grid/gridTypes.js +27 -0
  373. package/dist/components/UI/DataTable/grid/gridTypes.js.map +1 -0
  374. package/dist/components/UI/DataTable/grid/useGridFillApply.d.ts +18 -0
  375. package/dist/components/UI/DataTable/grid/useGridFillApply.js +74 -0
  376. package/dist/components/UI/DataTable/grid/useGridFillApply.js.map +1 -0
  377. package/dist/components/UI/DataTable/grid/useGridInstance.d.ts +27 -0
  378. package/dist/components/UI/DataTable/grid/useGridInstance.js +41 -0
  379. package/dist/components/UI/DataTable/grid/useGridInstance.js.map +1 -0
  380. package/dist/components/UI/DataTable/grid/useGridKeyboard.d.ts +25 -0
  381. package/dist/components/UI/DataTable/grid/useGridKeyboard.js +135 -0
  382. package/dist/components/UI/DataTable/grid/useGridKeyboard.js.map +1 -0
  383. package/dist/components/UI/DataTable/index.d.ts +19 -0
  384. package/dist/components/UI/DataTable/index.js +34 -0
  385. package/dist/components/UI/DataTable/index.js.map +1 -0
  386. package/dist/components/UI/DataTable/types.d.ts +535 -0
  387. package/dist/components/UI/DataTable/types.js +13 -0
  388. package/dist/components/UI/DataTable/types.js.map +1 -0
  389. package/dist/components/UI/DataTable/useCellEditingState.d.ts +20 -0
  390. package/dist/components/UI/DataTable/useCellEditingState.js +33 -0
  391. package/dist/components/UI/DataTable/useCellEditingState.js.map +1 -0
  392. package/dist/components/UI/DataTable/useColumnOrder.d.ts +25 -0
  393. package/dist/components/UI/DataTable/useColumnOrder.js +94 -0
  394. package/dist/components/UI/DataTable/useColumnOrder.js.map +1 -0
  395. package/dist/components/UI/DataTable/useColumnSizing.d.ts +9 -0
  396. package/dist/components/UI/DataTable/useColumnSizing.js +21 -0
  397. package/dist/components/UI/DataTable/useColumnSizing.js.map +1 -0
  398. package/dist/components/UI/DataTable/useColumnVisibility.d.ts +19 -0
  399. package/dist/components/UI/DataTable/useColumnVisibility.js +47 -0
  400. package/dist/components/UI/DataTable/useColumnVisibility.js.map +1 -0
  401. package/dist/components/UI/DataTable/useDataTableCommitQueue.d.ts +69 -0
  402. package/dist/components/UI/DataTable/useDataTableCommitQueue.js +220 -0
  403. package/dist/components/UI/DataTable/useDataTableCommitQueue.js.map +1 -0
  404. package/dist/components/UI/DataTable/useDataTableEditBuffer.d.ts +36 -0
  405. package/dist/components/UI/DataTable/useDataTableEditBuffer.js +29 -0
  406. package/dist/components/UI/DataTable/useDataTableEditBuffer.js.map +1 -0
  407. package/dist/components/UI/DataTable/useDataTableInstance.d.ts +65 -0
  408. package/dist/components/UI/DataTable/useDataTableInstance.js +336 -0
  409. package/dist/components/UI/DataTable/useDataTableInstance.js.map +1 -0
  410. package/dist/components/UI/DataTable/useDataTableSource.d.ts +85 -0
  411. package/dist/components/UI/DataTable/useDataTableSource.js +199 -0
  412. package/dist/components/UI/DataTable/useDataTableSource.js.map +1 -0
  413. package/dist/components/UI/DataTable/useDataTableUndoHistory.d.ts +30 -0
  414. package/dist/components/UI/DataTable/useDataTableUndoHistory.js +130 -0
  415. package/dist/components/UI/DataTable/useDataTableUndoHistory.js.map +1 -0
  416. package/dist/components/UI/DataTable/useFlipRows.d.ts +22 -0
  417. package/dist/components/UI/DataTable/useFlipRows.js +90 -0
  418. package/dist/components/UI/DataTable/useFlipRows.js.map +1 -0
  419. package/dist/components/UI/ErrorBoundary.d.ts +20 -0
  420. package/dist/components/UI/ErrorBoundary.js +36 -0
  421. package/dist/components/UI/ErrorBoundary.js.map +1 -0
  422. package/dist/components/UI/Flow/FlowAnnotationDraftPreview.d.ts +6 -0
  423. package/dist/components/UI/Flow/FlowAnnotationDraftPreview.js +65 -0
  424. package/dist/components/UI/Flow/FlowAnnotationDraftPreview.js.map +1 -0
  425. package/dist/components/UI/Flow/FlowAnnotationNode.d.ts +34 -0
  426. package/dist/components/UI/Flow/FlowAnnotationNode.js +231 -0
  427. package/dist/components/UI/Flow/FlowAnnotationNode.js.map +1 -0
  428. package/dist/components/UI/Flow/FlowAnnotationToolbar.d.ts +32 -0
  429. package/dist/components/UI/Flow/FlowAnnotationToolbar.js +298 -0
  430. package/dist/components/UI/Flow/FlowAnnotationToolbar.js.map +1 -0
  431. package/dist/components/UI/Flow/FlowBlockNode.d.ts +35 -0
  432. package/dist/components/UI/Flow/FlowBlockNode.js +91 -0
  433. package/dist/components/UI/Flow/FlowBlockNode.js.map +1 -0
  434. package/dist/components/UI/Flow/FlowCanvas.d.ts +23 -0
  435. package/dist/components/UI/Flow/FlowCanvas.js +559 -0
  436. package/dist/components/UI/Flow/FlowCanvas.js.map +1 -0
  437. package/dist/components/UI/Flow/FlowConnectionEdge.d.ts +18 -0
  438. package/dist/components/UI/Flow/FlowConnectionEdge.js +116 -0
  439. package/dist/components/UI/Flow/FlowConnectionEdge.js.map +1 -0
  440. package/dist/components/UI/Flow/FlowEditorProvider.d.ts +17 -0
  441. package/dist/components/UI/Flow/FlowEditorProvider.js +27 -0
  442. package/dist/components/UI/Flow/FlowEditorProvider.js.map +1 -0
  443. package/dist/components/UI/Flow/FlowInspector.d.ts +11 -0
  444. package/dist/components/UI/Flow/FlowInspector.js +131 -0
  445. package/dist/components/UI/Flow/FlowInspector.js.map +1 -0
  446. package/dist/components/UI/Flow/FlowIssueList.d.ts +8 -0
  447. package/dist/components/UI/Flow/FlowIssueList.js +55 -0
  448. package/dist/components/UI/Flow/FlowIssueList.js.map +1 -0
  449. package/dist/components/UI/Flow/FlowLaneMap.d.ts +30 -0
  450. package/dist/components/UI/Flow/FlowLaneMap.js +206 -0
  451. package/dist/components/UI/Flow/FlowLaneMap.js.map +1 -0
  452. package/dist/components/UI/Flow/FlowNodeShell.d.ts +20 -0
  453. package/dist/components/UI/Flow/FlowNodeShell.js +81 -0
  454. package/dist/components/UI/Flow/FlowNodeShell.js.map +1 -0
  455. package/dist/components/UI/Flow/FlowResizablePanel.d.ts +20 -0
  456. package/dist/components/UI/Flow/FlowResizablePanel.js +118 -0
  457. package/dist/components/UI/Flow/FlowResizablePanel.js.map +1 -0
  458. package/dist/components/UI/Flow/FlowSelectionBar.d.ts +10 -0
  459. package/dist/components/UI/Flow/FlowSelectionBar.js +56 -0
  460. package/dist/components/UI/Flow/FlowSelectionBar.js.map +1 -0
  461. package/dist/components/UI/Flow/FlowZoomControls.d.ts +12 -0
  462. package/dist/components/UI/Flow/FlowZoomControls.js +54 -0
  463. package/dist/components/UI/Flow/FlowZoomControls.js.map +1 -0
  464. package/dist/components/UI/Flow/flowAnnotations.d.ts +38 -0
  465. package/dist/components/UI/Flow/flowAnnotations.js +123 -0
  466. package/dist/components/UI/Flow/flowAnnotations.js.map +1 -0
  467. package/dist/components/UI/Flow/flowBlockRegistry.d.ts +12 -0
  468. package/dist/components/UI/Flow/flowBlockRegistry.js +20 -0
  469. package/dist/components/UI/Flow/flowBlockRegistry.js.map +1 -0
  470. package/dist/components/UI/Flow/flowEditorStore.d.ts +73 -0
  471. package/dist/components/UI/Flow/flowEditorStore.js +402 -0
  472. package/dist/components/UI/Flow/flowEditorStore.js.map +1 -0
  473. package/dist/components/UI/Flow/flowGraph.d.ts +32 -0
  474. package/dist/components/UI/Flow/flowGraph.js +157 -0
  475. package/dist/components/UI/Flow/flowGraph.js.map +1 -0
  476. package/dist/components/UI/Flow/flowTypes.d.ts +104 -0
  477. package/dist/components/UI/Flow/flowTypes.js +2 -0
  478. package/dist/components/UI/Flow/flowTypes.js.map +1 -0
  479. package/dist/components/UI/Flow/flowViewport.d.ts +25 -0
  480. package/dist/components/UI/Flow/flowViewport.js +31 -0
  481. package/dist/components/UI/Flow/flowViewport.js.map +1 -0
  482. package/dist/components/UI/Flow/index.d.ts +13 -0
  483. package/dist/components/UI/Flow/index.js +44 -0
  484. package/dist/components/UI/Flow/index.js.map +1 -0
  485. package/dist/components/UI/Flow/useFlowAnnotationDrawing.d.ts +25 -0
  486. package/dist/components/UI/Flow/useFlowAnnotationDrawing.js +117 -0
  487. package/dist/components/UI/Flow/useFlowAnnotationDrawing.js.map +1 -0
  488. package/dist/components/UI/Flow/useFlowLabels.d.ts +10 -0
  489. package/dist/components/UI/Flow/useFlowLabels.js +51 -0
  490. package/dist/components/UI/Flow/useFlowLabels.js.map +1 -0
  491. package/dist/components/UI/GeneratedByAI.d.ts +2 -0
  492. package/dist/components/UI/GeneratedByAI.js +12 -0
  493. package/dist/components/UI/GeneratedByAI.js.map +1 -0
  494. package/dist/components/UI/HorizontalScrollArea.d.ts +22 -0
  495. package/dist/components/UI/HorizontalScrollArea.js +74 -0
  496. package/dist/components/UI/HorizontalScrollArea.js.map +1 -0
  497. package/dist/components/UI/ImageAiAdjust/ImageAiAdjustDialog.d.ts +21 -0
  498. package/dist/components/UI/ImageAiAdjust/ImageAiAdjustDialog.js +235 -0
  499. package/dist/components/UI/ImageAiAdjust/ImageAiAdjustDialog.js.map +1 -0
  500. package/dist/components/UI/ImageAiAdjust/ImageAiDiscardReasonDialog.d.ts +8 -0
  501. package/dist/components/UI/ImageAiAdjust/ImageAiDiscardReasonDialog.js +67 -0
  502. package/dist/components/UI/ImageAiAdjust/ImageAiDiscardReasonDialog.js.map +1 -0
  503. package/dist/components/UI/ImageAiAdjust/ImageAiVerificationNotice.d.ts +8 -0
  504. package/dist/components/UI/ImageAiAdjust/ImageAiVerificationNotice.js +39 -0
  505. package/dist/components/UI/ImageAiAdjust/ImageAiVerificationNotice.js.map +1 -0
  506. package/dist/components/UI/ImageAiAdjust/imageAiReview.d.ts +22 -0
  507. package/dist/components/UI/ImageAiAdjust/imageAiReview.js +37 -0
  508. package/dist/components/UI/ImageAiAdjust/imageAiReview.js.map +1 -0
  509. package/dist/components/UI/ImageAiAdjust/imageAiVerification.d.ts +19 -0
  510. package/dist/components/UI/ImageAiAdjust/imageAiVerification.js +25 -0
  511. package/dist/components/UI/ImageAiAdjust/imageAiVerification.js.map +1 -0
  512. package/dist/components/UI/ImageAiAdjust/useImageAiAdjust.d.ts +52 -0
  513. package/dist/components/UI/ImageAiAdjust/useImageAiAdjust.js +109 -0
  514. package/dist/components/UI/ImageAiAdjust/useImageAiAdjust.js.map +1 -0
  515. package/dist/components/UI/ImageAnnotator/AnnotationEditor.d.ts +13 -0
  516. package/dist/components/UI/ImageAnnotator/AnnotationEditor.js +362 -0
  517. package/dist/components/UI/ImageAnnotator/AnnotationEditor.js.map +1 -0
  518. package/dist/components/UI/ImageAnnotator/ImageAnnotationDialog.d.ts +15 -0
  519. package/dist/components/UI/ImageAnnotator/ImageAnnotationDialog.js +61 -0
  520. package/dist/components/UI/ImageAnnotator/ImageAnnotationDialog.js.map +1 -0
  521. package/dist/components/UI/ImageAnnotator/annotationStyle.d.ts +28 -0
  522. package/dist/components/UI/ImageAnnotator/annotationStyle.js +56 -0
  523. package/dist/components/UI/ImageAnnotator/annotationStyle.js.map +1 -0
  524. package/dist/components/UI/ImageAnnotator/canvas/AnnotationCropFrame.d.ts +16 -0
  525. package/dist/components/UI/ImageAnnotator/canvas/AnnotationCropFrame.js +156 -0
  526. package/dist/components/UI/ImageAnnotator/canvas/AnnotationCropFrame.js.map +1 -0
  527. package/dist/components/UI/ImageAnnotator/canvas/AnnotationElementNode.d.ts +17 -0
  528. package/dist/components/UI/ImageAnnotator/canvas/AnnotationElementNode.js +329 -0
  529. package/dist/components/UI/ImageAnnotator/canvas/AnnotationElementNode.js.map +1 -0
  530. package/dist/components/UI/ImageAnnotator/canvas/AnnotationSelection.d.ts +10 -0
  531. package/dist/components/UI/ImageAnnotator/canvas/AnnotationSelection.js +127 -0
  532. package/dist/components/UI/ImageAnnotator/canvas/AnnotationSelection.js.map +1 -0
  533. package/dist/components/UI/ImageAnnotator/canvas/AnnotationStage.d.ts +26 -0
  534. package/dist/components/UI/ImageAnnotator/canvas/AnnotationStage.js +241 -0
  535. package/dist/components/UI/ImageAnnotator/canvas/AnnotationStage.js.map +1 -0
  536. package/dist/components/UI/ImageAnnotator/components/AnnotationActionBar.d.ts +15 -0
  537. package/dist/components/UI/ImageAnnotator/components/AnnotationActionBar.js +77 -0
  538. package/dist/components/UI/ImageAnnotator/components/AnnotationActionBar.js.map +1 -0
  539. package/dist/components/UI/ImageAnnotator/components/AnnotationColorPopover.d.ts +11 -0
  540. package/dist/components/UI/ImageAnnotator/components/AnnotationColorPopover.js +70 -0
  541. package/dist/components/UI/ImageAnnotator/components/AnnotationColorPopover.js.map +1 -0
  542. package/dist/components/UI/ImageAnnotator/components/AnnotationCropBar.d.ts +12 -0
  543. package/dist/components/UI/ImageAnnotator/components/AnnotationCropBar.js +89 -0
  544. package/dist/components/UI/ImageAnnotator/components/AnnotationCropBar.js.map +1 -0
  545. package/dist/components/UI/ImageAnnotator/components/AnnotationElementActions.d.ts +8 -0
  546. package/dist/components/UI/ImageAnnotator/components/AnnotationElementActions.js +58 -0
  547. package/dist/components/UI/ImageAnnotator/components/AnnotationElementActions.js.map +1 -0
  548. package/dist/components/UI/ImageAnnotator/components/AnnotationStyleBar.d.ts +13 -0
  549. package/dist/components/UI/ImageAnnotator/components/AnnotationStyleBar.js +183 -0
  550. package/dist/components/UI/ImageAnnotator/components/AnnotationStyleBar.js.map +1 -0
  551. package/dist/components/UI/ImageAnnotator/components/AnnotationTextOverlay.d.ts +17 -0
  552. package/dist/components/UI/ImageAnnotator/components/AnnotationTextOverlay.js +79 -0
  553. package/dist/components/UI/ImageAnnotator/components/AnnotationTextOverlay.js.map +1 -0
  554. package/dist/components/UI/ImageAnnotator/components/AnnotationToolButton.d.ts +15 -0
  555. package/dist/components/UI/ImageAnnotator/components/AnnotationToolButton.js +46 -0
  556. package/dist/components/UI/ImageAnnotator/components/AnnotationToolButton.js.map +1 -0
  557. package/dist/components/UI/ImageAnnotator/components/AnnotationToolbar.d.ts +10 -0
  558. package/dist/components/UI/ImageAnnotator/components/AnnotationToolbar.js +91 -0
  559. package/dist/components/UI/ImageAnnotator/components/AnnotationToolbar.js.map +1 -0
  560. package/dist/components/UI/ImageAnnotator/helpers/annotationCanvas.d.ts +21 -0
  561. package/dist/components/UI/ImageAnnotator/helpers/annotationCanvas.js +45 -0
  562. package/dist/components/UI/ImageAnnotator/helpers/annotationCanvas.js.map +1 -0
  563. package/dist/components/UI/ImageAnnotator/helpers/annotationCrop.d.ts +12 -0
  564. package/dist/components/UI/ImageAnnotator/helpers/annotationCrop.js +64 -0
  565. package/dist/components/UI/ImageAnnotator/helpers/annotationCrop.js.map +1 -0
  566. package/dist/components/UI/ImageAnnotator/helpers/annotationElements.d.ts +15 -0
  567. package/dist/components/UI/ImageAnnotator/helpers/annotationElements.js +165 -0
  568. package/dist/components/UI/ImageAnnotator/helpers/annotationElements.js.map +1 -0
  569. package/dist/components/UI/ImageAnnotator/helpers/annotationExport.d.ts +15 -0
  570. package/dist/components/UI/ImageAnnotator/helpers/annotationExport.js +23 -0
  571. package/dist/components/UI/ImageAnnotator/helpers/annotationExport.js.map +1 -0
  572. package/dist/components/UI/ImageAnnotator/helpers/konvaFullBuild.d.ts +8 -0
  573. package/dist/components/UI/ImageAnnotator/helpers/konvaFullBuild.js +10 -0
  574. package/dist/components/UI/ImageAnnotator/helpers/konvaFullBuild.js.map +1 -0
  575. package/dist/components/UI/ImageAnnotator/hooks/useAnnotationBaseImage.d.ts +9 -0
  576. package/dist/components/UI/ImageAnnotator/hooks/useAnnotationBaseImage.js +56 -0
  577. package/dist/components/UI/ImageAnnotator/hooks/useAnnotationBaseImage.js.map +1 -0
  578. package/dist/components/UI/ImageAnnotator/hooks/useAnnotationDocument.d.ts +29 -0
  579. package/dist/components/UI/ImageAnnotator/hooks/useAnnotationDocument.js +160 -0
  580. package/dist/components/UI/ImageAnnotator/hooks/useAnnotationDocument.js.map +1 -0
  581. package/dist/components/UI/ImageAnnotator/hooks/useAnnotationShortcuts.d.ts +14 -0
  582. package/dist/components/UI/ImageAnnotator/hooks/useAnnotationShortcuts.js +80 -0
  583. package/dist/components/UI/ImageAnnotator/hooks/useAnnotationShortcuts.js.map +1 -0
  584. package/dist/components/UI/ImageAnnotator/hooks/useCoarsePointer.d.ts +5 -0
  585. package/dist/components/UI/ImageAnnotator/hooks/useCoarsePointer.js +23 -0
  586. package/dist/components/UI/ImageAnnotator/hooks/useCoarsePointer.js.map +1 -0
  587. package/dist/components/UI/ImageAnnotator/hooks/useHtmlImage.d.ts +2 -0
  588. package/dist/components/UI/ImageAnnotator/hooks/useHtmlImage.js +27 -0
  589. package/dist/components/UI/ImageAnnotator/hooks/useHtmlImage.js.map +1 -0
  590. package/dist/components/UI/ImageAnnotator/interfaces/annotationDocument.d.ts +98 -0
  591. package/dist/components/UI/ImageAnnotator/interfaces/annotationDocument.js +13 -0
  592. package/dist/components/UI/ImageAnnotator/interfaces/annotationDocument.js.map +1 -0
  593. package/dist/components/UI/ImageMaskPainter/index.d.ts +24 -0
  594. package/dist/components/UI/ImageMaskPainter/index.js +284 -0
  595. package/dist/components/UI/ImageMaskPainter/index.js.map +1 -0
  596. package/dist/components/UI/ImageMaskPainter/maskStrokes.d.ts +19 -0
  597. package/dist/components/UI/ImageMaskPainter/maskStrokes.js +71 -0
  598. package/dist/components/UI/ImageMaskPainter/maskStrokes.js.map +1 -0
  599. package/dist/components/UI/ImagePlaceholder.d.ts +24 -0
  600. package/dist/components/UI/ImagePlaceholder.js +29 -0
  601. package/dist/components/UI/ImagePlaceholder.js.map +1 -0
  602. package/dist/components/UI/ImageZoomOverlay.d.ts +7 -0
  603. package/dist/components/UI/ImageZoomOverlay.js +53 -0
  604. package/dist/components/UI/ImageZoomOverlay.js.map +1 -0
  605. package/dist/components/UI/InformationCard.d.ts +26 -0
  606. package/dist/components/UI/InformationCard.js +89 -0
  607. package/dist/components/UI/InformationCard.js.map +1 -0
  608. package/dist/components/UI/Kanban/KanbanBoard.d.ts +26 -0
  609. package/dist/components/UI/Kanban/KanbanBoard.js +91 -0
  610. package/dist/components/UI/Kanban/KanbanBoard.js.map +1 -0
  611. package/dist/components/UI/Kanban/KanbanCard.d.ts +22 -0
  612. package/dist/components/UI/Kanban/KanbanCard.js +47 -0
  613. package/dist/components/UI/Kanban/KanbanCard.js.map +1 -0
  614. package/dist/components/UI/Kanban/KanbanLane.d.ts +37 -0
  615. package/dist/components/UI/Kanban/KanbanLane.js +77 -0
  616. package/dist/components/UI/Kanban/KanbanLane.js.map +1 -0
  617. package/dist/components/UI/Kanban/index.d.ts +4 -0
  618. package/dist/components/UI/Kanban/index.js +11 -0
  619. package/dist/components/UI/Kanban/index.js.map +1 -0
  620. package/dist/components/UI/Kanban/kanbanBoardContext.d.ts +13 -0
  621. package/dist/components/UI/Kanban/kanbanBoardContext.js +13 -0
  622. package/dist/components/UI/Kanban/kanbanBoardContext.js.map +1 -0
  623. package/dist/components/UI/LazyMarkdown.d.ts +5 -0
  624. package/dist/components/UI/LazyMarkdown.js +8 -0
  625. package/dist/components/UI/LazyMarkdown.js.map +1 -0
  626. package/dist/components/UI/LoadingPage.d.ts +2 -0
  627. package/dist/components/UI/LoadingPage.js +13 -0
  628. package/dist/components/UI/LoadingPage.js.map +1 -0
  629. package/dist/components/UI/LoadingSpinner.d.ts +14 -0
  630. package/dist/components/UI/LoadingSpinner.js +32 -0
  631. package/dist/components/UI/LoadingSpinner.js.map +1 -0
  632. package/dist/components/UI/MaterialSymbol/consts.d.ts +2 -0
  633. package/dist/components/UI/MaterialSymbol/consts.js +3472 -0
  634. package/dist/components/UI/MaterialSymbol/consts.js.map +1 -0
  635. package/dist/components/UI/MaterialSymbol/index.d.ts +18 -0
  636. package/dist/components/UI/MaterialSymbol/index.js +51 -0
  637. package/dist/components/UI/MaterialSymbol/index.js.map +1 -0
  638. package/dist/components/UI/MaterialSymbol/types.d.ts +37 -0
  639. package/dist/components/UI/MaterialSymbol/types.js +2 -0
  640. package/dist/components/UI/MaterialSymbol/types.js.map +1 -0
  641. package/dist/components/UI/NoDataFound/index.d.ts +31 -0
  642. package/dist/components/UI/NoDataFound/index.js +215 -0
  643. package/dist/components/UI/NoDataFound/index.js.map +1 -0
  644. package/dist/components/UI/NoDataFound/noDataFoundPresets.d.ts +31 -0
  645. package/dist/components/UI/NoDataFound/noDataFoundPresets.js +99 -0
  646. package/dist/components/UI/NoDataFound/noDataFoundPresets.js.map +1 -0
  647. package/dist/components/UI/ReferenceCard.d.ts +16 -0
  648. package/dist/components/UI/ReferenceCard.js +59 -0
  649. package/dist/components/UI/ReferenceCard.js.map +1 -0
  650. package/dist/components/UI/RichTextContent.d.ts +14 -0
  651. package/dist/components/UI/RichTextContent.js +30 -0
  652. package/dist/components/UI/RichTextContent.js.map +1 -0
  653. package/dist/components/UI/SkeletonLoading.d.ts +9 -0
  654. package/dist/components/UI/SkeletonLoading.js +20 -0
  655. package/dist/components/UI/SkeletonLoading.js.map +1 -0
  656. package/dist/components/UI/ThreeDots.d.ts +11 -0
  657. package/dist/components/UI/ThreeDots.js +22 -0
  658. package/dist/components/UI/ThreeDots.js.map +1 -0
  659. package/dist/components/UI/Toast.d.ts +16 -0
  660. package/dist/components/UI/Toast.js +81 -0
  661. package/dist/components/UI/Toast.js.map +1 -0
  662. package/dist/components/UI/ToastHost.d.ts +2 -0
  663. package/dist/components/UI/ToastHost.js +25 -0
  664. package/dist/components/UI/ToastHost.js.map +1 -0
  665. package/dist/components/UI/TypingEffect.d.ts +10 -0
  666. package/dist/components/UI/TypingEffect.js +31 -0
  667. package/dist/components/UI/TypingEffect.js.map +1 -0
  668. package/dist/components/UI/UmodeLogo.d.ts +10 -0
  669. package/dist/components/UI/UmodeLogo.js +128 -0
  670. package/dist/components/UI/UmodeLogo.js.map +1 -0
  671. package/dist/components/UI/UserMenu.d.ts +50 -0
  672. package/dist/components/UI/UserMenu.js +212 -0
  673. package/dist/components/UI/UserMenu.js.map +1 -0
  674. package/dist/components/UI/UsersAvatar.d.ts +7 -0
  675. package/dist/components/UI/UsersAvatar.js +29 -0
  676. package/dist/components/UI/UsersAvatar.js.map +1 -0
  677. package/dist/components/UI/access/UiAccessContext.d.ts +21 -0
  678. package/dist/components/UI/access/UiAccessContext.js +14 -0
  679. package/dist/components/UI/access/UiAccessContext.js.map +1 -0
  680. package/dist/components/UI/cells/ArrayCell.d.ts +5 -0
  681. package/dist/components/UI/cells/ArrayCell.js +25 -0
  682. package/dist/components/UI/cells/ArrayCell.js.map +1 -0
  683. package/dist/components/UI/cells/BooleanCell.d.ts +5 -0
  684. package/dist/components/UI/cells/BooleanCell.js +22 -0
  685. package/dist/components/UI/cells/BooleanCell.js.map +1 -0
  686. package/dist/components/UI/cells/DetailsTableCell.d.ts +7 -0
  687. package/dist/components/UI/cells/DetailsTableCell.js +30 -0
  688. package/dist/components/UI/cells/DetailsTableCell.js.map +1 -0
  689. package/dist/components/UI/cells/ProductImageCell.d.ts +5 -0
  690. package/dist/components/UI/cells/ProductImageCell.js +21 -0
  691. package/dist/components/UI/cells/ProductImageCell.js.map +1 -0
  692. package/dist/components/UI/cells/UrlLinkCell.d.ts +6 -0
  693. package/dist/components/UI/cells/UrlLinkCell.js +19 -0
  694. package/dist/components/UI/cells/UrlLinkCell.js.map +1 -0
  695. package/dist/components/Upload/SimpleUploaderComponent.d.ts +9 -0
  696. package/dist/components/Upload/SimpleUploaderComponent.js +72 -0
  697. package/dist/components/Upload/SimpleUploaderComponent.js.map +1 -0
  698. package/dist/components/Upload/UploaderComponent.d.ts +29 -0
  699. package/dist/components/Upload/UploaderComponent.js +241 -0
  700. package/dist/components/Upload/UploaderComponent.js.map +1 -0
  701. package/dist/components/Upload/XlsExportButton.d.ts +13 -0
  702. package/dist/components/Upload/XlsExportButton.js +47 -0
  703. package/dist/components/Upload/XlsExportButton.js.map +1 -0
  704. package/dist/helpers/composeRefs.d.ts +7 -0
  705. package/dist/helpers/composeRefs.js +14 -0
  706. package/dist/helpers/composeRefs.js.map +1 -0
  707. package/dist/helpers/dateHelpers.d.ts +47 -0
  708. package/dist/helpers/dateHelpers.js +69 -0
  709. package/dist/helpers/dateHelpers.js.map +1 -0
  710. package/dist/helpers/fileAttachments.d.ts +3 -0
  711. package/dist/helpers/fileAttachments.js +17 -0
  712. package/dist/helpers/fileAttachments.js.map +1 -0
  713. package/dist/helpers/formatHelpers.d.ts +36 -0
  714. package/dist/helpers/formatHelpers.js +65 -0
  715. package/dist/helpers/formatHelpers.js.map +1 -0
  716. package/dist/helpers/iconFont.d.ts +9 -0
  717. package/dist/helpers/iconFont.js +37 -0
  718. package/dist/helpers/iconFont.js.map +1 -0
  719. package/dist/helpers/imageCompression.d.ts +5 -0
  720. package/dist/helpers/imageCompression.js +49 -0
  721. package/dist/helpers/imageCompression.js.map +1 -0
  722. package/dist/helpers/imageFile.d.ts +32 -0
  723. package/dist/helpers/imageFile.js +108 -0
  724. package/dist/helpers/imageFile.js.map +1 -0
  725. package/dist/helpers/layeredSurfaces.d.ts +28 -0
  726. package/dist/helpers/layeredSurfaces.js +19 -0
  727. package/dist/helpers/layeredSurfaces.js.map +1 -0
  728. package/dist/helpers/mathHelpers.d.ts +14 -0
  729. package/dist/helpers/mathHelpers.js +13 -0
  730. package/dist/helpers/mathHelpers.js.map +1 -0
  731. package/dist/helpers/mergeClasses.d.ts +10 -0
  732. package/dist/helpers/mergeClasses.js +34 -0
  733. package/dist/helpers/mergeClasses.js.map +1 -0
  734. package/dist/helpers/moduleLoadErrorHelpers.d.ts +1 -0
  735. package/dist/helpers/moduleLoadErrorHelpers.js +25 -0
  736. package/dist/helpers/moduleLoadErrorHelpers.js.map +1 -0
  737. package/dist/helpers/objectHelpers.d.ts +13 -0
  738. package/dist/helpers/objectHelpers.js +59 -0
  739. package/dist/helpers/objectHelpers.js.map +1 -0
  740. package/dist/helpers/portalHost.d.ts +10 -0
  741. package/dist/helpers/portalHost.js +7 -0
  742. package/dist/helpers/portalHost.js.map +1 -0
  743. package/dist/helpers/richText.d.ts +46 -0
  744. package/dist/helpers/richText.js +197 -0
  745. package/dist/helpers/richText.js.map +1 -0
  746. package/dist/helpers/stringHelpers.d.ts +45 -0
  747. package/dist/helpers/stringHelpers.js +57 -0
  748. package/dist/helpers/stringHelpers.js.map +1 -0
  749. package/dist/helpers/themeSkins.d.ts +12 -0
  750. package/dist/helpers/themeSkins.js +13 -0
  751. package/dist/helpers/themeSkins.js.map +1 -0
  752. package/dist/helpers/themeTokens.d.ts +28 -0
  753. package/dist/helpers/themeTokens.js +35 -0
  754. package/dist/helpers/themeTokens.js.map +1 -0
  755. package/dist/helpers/uiErrorPresenter.d.ts +21 -0
  756. package/dist/helpers/uiErrorPresenter.js +10 -0
  757. package/dist/helpers/uiErrorPresenter.js.map +1 -0
  758. package/dist/helpers/uiLogger.d.ts +8 -0
  759. package/dist/helpers/uiLogger.js +16 -0
  760. package/dist/helpers/uiLogger.js.map +1 -0
  761. package/dist/helpers/uiPreferences.d.ts +13 -0
  762. package/dist/helpers/uiPreferences.js +35 -0
  763. package/dist/helpers/uiPreferences.js.map +1 -0
  764. package/dist/helpers/urlParamSync.d.ts +19 -0
  765. package/dist/helpers/urlParamSync.js +54 -0
  766. package/dist/helpers/urlParamSync.js.map +1 -0
  767. package/dist/helpers/utilityHelpers.d.ts +81 -0
  768. package/dist/helpers/utilityHelpers.js +133 -0
  769. package/dist/helpers/utilityHelpers.js.map +1 -0
  770. package/dist/helpers/validationHelpers.d.ts +36 -0
  771. package/dist/helpers/validationHelpers.js +44 -0
  772. package/dist/helpers/validationHelpers.js.map +1 -0
  773. package/dist/hooks/useAnchoredFloating.d.ts +22 -0
  774. package/dist/hooks/useAnchoredFloating.js +59 -0
  775. package/dist/hooks/useAnchoredFloating.js.map +1 -0
  776. package/dist/hooks/useBreakpoint.d.ts +16 -0
  777. package/dist/hooks/useBreakpoint.js +47 -0
  778. package/dist/hooks/useBreakpoint.js.map +1 -0
  779. package/dist/hooks/useDebounce.d.ts +8 -0
  780. package/dist/hooks/useDebounce.js +36 -0
  781. package/dist/hooks/useDebounce.js.map +1 -0
  782. package/dist/hooks/useFileAttachments.d.ts +43 -0
  783. package/dist/hooks/useFileAttachments.js +158 -0
  784. package/dist/hooks/useFileAttachments.js.map +1 -0
  785. package/dist/hooks/useHoverCapable.d.ts +6 -0
  786. package/dist/hooks/useHoverCapable.js +28 -0
  787. package/dist/hooks/useHoverCapable.js.map +1 -0
  788. package/dist/hooks/useInlineEditor.d.ts +5 -0
  789. package/dist/hooks/useInlineEditor.js +42 -0
  790. package/dist/hooks/useInlineEditor.js.map +1 -0
  791. package/dist/hooks/useMobile.d.ts +7 -0
  792. package/dist/hooks/useMobile.js +8 -0
  793. package/dist/hooks/useMobile.js.map +1 -0
  794. package/dist/hooks/useNotification.d.ts +38 -0
  795. package/dist/hooks/useNotification.js +39 -0
  796. package/dist/hooks/useNotification.js.map +1 -0
  797. package/dist/hooks/useResolvedTheme.d.ts +7 -0
  798. package/dist/hooks/useResolvedTheme.js +15 -0
  799. package/dist/hooks/useResolvedTheme.js.map +1 -0
  800. package/dist/hooks/useThemeSkin.d.ts +7 -0
  801. package/dist/hooks/useThemeSkin.js +19 -0
  802. package/dist/hooks/useThemeSkin.js.map +1 -0
  803. package/dist/hooks/useVoiceTranscription.d.ts +29 -0
  804. package/dist/hooks/useVoiceTranscription.js +208 -0
  805. package/dist/hooks/useVoiceTranscription.js.map +1 -0
  806. package/dist/index.d.ts +63 -0
  807. package/dist/index.js +157 -0
  808. package/dist/index.js.map +1 -0
  809. package/dist/interfaces/IFileAttachment.d.ts +18 -0
  810. package/dist/interfaces/IFileAttachment.js +2 -0
  811. package/dist/interfaces/IFileAttachment.js.map +1 -0
  812. package/dist/interfaces/IFilterOption.d.ts +12 -0
  813. package/dist/interfaces/IFilterOption.js +2 -0
  814. package/dist/interfaces/IFilterOption.js.map +1 -0
  815. package/dist/locales/en/ui.json.d.ts +682 -0
  816. package/dist/locales/en/ui.json.js +120 -0
  817. package/dist/locales/en/ui.json.js.map +1 -0
  818. package/dist/locales/index.d.ts +1362 -0
  819. package/dist/locales/index.js +7 -0
  820. package/dist/locales/index.js.map +1 -0
  821. package/dist/locales/pt/ui.json.d.ts +682 -0
  822. package/dist/locales/pt/ui.json.js +120 -0
  823. package/dist/locales/pt/ui.json.js.map +1 -0
  824. package/dist/motion/index.d.ts +2 -0
  825. package/dist/motion/index.js +17 -0
  826. package/dist/motion/index.js.map +1 -0
  827. package/dist/motion/motionPresets.d.ts +44 -0
  828. package/dist/motion/motionPresets.js +67 -0
  829. package/dist/motion/motionPresets.js.map +1 -0
  830. package/dist/motion/motionTokens.d.ts +40 -0
  831. package/dist/motion/motionTokens.js +29 -0
  832. package/dist/motion/motionTokens.js.map +1 -0
  833. package/package.json +245 -0
  834. package/src/assets/fonts/LICENSE-Inter.txt +92 -0
  835. package/src/assets/fonts/LICENSE-MaterialSymbols.txt +202 -0
  836. package/src/assets/fonts/LICENSE-Virgil.txt +45 -0
  837. package/src/assets/fonts/inter-latin-ext.woff2 +0 -0
  838. package/src/assets/fonts/inter-latin.woff2 +0 -0
  839. package/src/assets/fonts/material-symbols-outlined.woff2 +0 -0
  840. package/src/assets/fonts/virgil.woff2 +0 -0
  841. package/src/assets/styles/base.css +585 -0
  842. package/src/assets/styles/index.css +1 -0
  843. package/src/assets/styles/theme.css +453 -0
  844. package/tailwind-plugins/glass.js +162 -0
  845. package/tailwind.preset.js +392 -0
@@ -0,0 +1,797 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useMemo, useCallback, useState, useEffect, useRef, useId, useLayoutEffect } from "react";
3
+ import classNames from "classnames";
4
+ import { useTranslation } from "react-i18next";
5
+ import InfiniteScroll from "react-infinite-scroll-component";
6
+ import { FixedSizeList } from "react-window";
7
+ import { ControlledMenuItem, ControlledMenuRoot, ControlledMenuHandler, ControlledMenuList } from "../UI/ControlledMenu.js";
8
+ import ControlledTooltip from "../UI/ControlledTooltip.js";
9
+ import { capitalizeAllLetters, formatFilter } from "../../helpers/stringHelpers.js";
10
+ import { uiLogger } from "../../helpers/uiLogger.js";
11
+ import UnifiedSearchBar from "../Search/UnifiedSearchBar.js";
12
+ import OutlinedChip from "../UI/Chips/OutlinedChip.js";
13
+ import LoadingSpinner from "../UI/LoadingSpinner.js";
14
+ import { MaterialSymbol } from "../UI/MaterialSymbol/index.js";
15
+ import NoDataFound from "../UI/NoDataFound/index.js";
16
+ import ControlledCheckbox from "./ControlledCheckbox.js";
17
+ import ControlledInput from "./ControlledInput.js";
18
+ /* empty css */
19
+ const FALLBACK_LIST_WIDTH_CLASS = "w-80 max-w-[calc(100vw-1.5rem)]";
20
+ const MIN_LIST_WIDTH_CLASS = "min-w-56";
21
+ const ITEM_HEIGHT = 40;
22
+ const MAX_LIST_HEIGHT = 300;
23
+ const OVERSCAN_COUNT = 10;
24
+ const SEARCH_DEBOUNCE_MS = 300;
25
+ const MAX_IN_FIELD_CHIPS = 2;
26
+ const SEARCH_INPUT_MARKER_CLASS = "controlled-select-search-input";
27
+ const isCoarsePointer = () => typeof window !== "undefined" && typeof window.matchMedia === "function" && window.matchMedia("(pointer: coarse)").matches;
28
+ const TYPEAHEAD_RESET_MS = 500;
29
+ const FOCUS_RETRY_FRAMES = 6;
30
+ const isPrintableKey = (event) => event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey;
31
+ const SelectSearchSlot = ({ children }) => /* @__PURE__ */ jsx("div", { className: "px-1 py-0.5", onClick: (event) => event.stopPropagation(), children });
32
+ function ControlledSelect({
33
+ label,
34
+ persistentLabel = false,
35
+ options: optionsProp,
36
+ selectedValue,
37
+ error = false,
38
+ multiple = false,
39
+ disabled = false,
40
+ searchable = true,
41
+ clearable = true,
42
+ className,
43
+ listClassName,
44
+ onChangeHook,
45
+ onClearSearch,
46
+ infiniteScroll = false,
47
+ fetchMoreOptions,
48
+ hasMoreOptions = false,
49
+ loading = false,
50
+ onOpen,
51
+ selectedItemsPosition = "bottom",
52
+ showSelectedItems = true,
53
+ inFieldChips = false,
54
+ preserveLabelCase = false,
55
+ swatchShape = "dot",
56
+ ariaLabel,
57
+ ariaRequired,
58
+ inputClassName,
59
+ matchTriggerWidth = true,
60
+ compact = false,
61
+ id,
62
+ name,
63
+ required,
64
+ onBlur,
65
+ onFocus,
66
+ autoFocus,
67
+ ...triggerAttributes
68
+ }) {
69
+ const { t } = useTranslation("ui");
70
+ const options = useMemo(() => Array.isArray(optionsProp) ? optionsProp : [], [optionsProp]);
71
+ const formatLabel = useCallback(
72
+ (value) => preserveLabelCase ? value ?? "" : capitalizeAllLetters(value),
73
+ [preserveLabelCase]
74
+ );
75
+ const normalizeSelected = useCallback(
76
+ (value) => {
77
+ if (multiple) {
78
+ if (typeof value === "string") {
79
+ return value === "" ? [] : [value];
80
+ }
81
+ if (Array.isArray(value)) {
82
+ if (value.length === 1 && value[0].includes(",") && !options.some((option) => option.value === value[0])) {
83
+ return value[0].split(",").map((item) => item.trim()).filter((item) => item !== "");
84
+ }
85
+ return value;
86
+ }
87
+ return [];
88
+ } else {
89
+ return typeof value === "string" ? value : "";
90
+ }
91
+ },
92
+ [multiple, options]
93
+ );
94
+ const [selected, setSelected] = useState(() => normalizeSelected(selectedValue));
95
+ useEffect(() => {
96
+ setSelected(normalizeSelected(selectedValue));
97
+ }, [selectedValue, normalizeSelected]);
98
+ const [filteredOptions, setFilteredOptions] = useState(options);
99
+ const [isOpen, setIsOpen] = useState(false);
100
+ const menuListRef = useRef(null);
101
+ const triggerRef = useRef(null);
102
+ const triggerInputRef = useRef(null);
103
+ const virtualListRef = useRef(null);
104
+ const [activeIndex, setActiveIndex] = useState(-1);
105
+ const [focusRequest, setFocusRequest] = useState(0);
106
+ const pendingFocusIndexRef = useRef(null);
107
+ const typeaheadRef = useRef({ buffer: "", timer: 0 });
108
+ const [currentSearchText, setCurrentSearchText] = useState("");
109
+ const scrollableContainerId = useId();
110
+ const scrollableContainerRef = useRef(null);
111
+ const isLoadingMoreRef = useRef(false);
112
+ useEffect(() => {
113
+ if (!infiniteScroll && currentSearchText) {
114
+ setFilteredOptions(
115
+ options.filter(
116
+ (option) => [option.label, option.secondaryLabel].some((field) => formatFilter(String(field ?? ""), currentSearchText))
117
+ )
118
+ );
119
+ return;
120
+ }
121
+ setFilteredOptions(options);
122
+ }, [options]);
123
+ const requestPagedOptions = useCallback(
124
+ async (params) => {
125
+ if (!fetchMoreOptions) return;
126
+ try {
127
+ await fetchMoreOptions(params);
128
+ } catch (fetchError) {
129
+ uiLogger.error("Failed to fetch select options", fetchError);
130
+ }
131
+ },
132
+ [fetchMoreOptions]
133
+ );
134
+ const handleLoadMoreFromScroll = useCallback(async () => {
135
+ if (!infiniteScroll || !hasMoreOptions || isLoadingMoreRef.current) return;
136
+ isLoadingMoreRef.current = true;
137
+ try {
138
+ await requestPagedOptions({ search: currentSearchText, reset: false });
139
+ } finally {
140
+ isLoadingMoreRef.current = false;
141
+ }
142
+ }, [infiniteScroll, hasMoreOptions, requestPagedOptions, currentSearchText]);
143
+ const handleServerSearch = useCallback(
144
+ (searchText) => {
145
+ setCurrentSearchText(searchText);
146
+ if (!infiniteScroll) return;
147
+ if (scrollableContainerRef.current) scrollableContainerRef.current.scrollTop = 0;
148
+ void requestPagedOptions({ search: searchText, reset: true });
149
+ },
150
+ [infiniteScroll, requestPagedOptions]
151
+ );
152
+ useEffect(() => {
153
+ if (isOpen || !infiniteScroll || currentSearchText === "") return;
154
+ setCurrentSearchText("");
155
+ void requestPagedOptions({ search: "", reset: true });
156
+ }, [isOpen]);
157
+ const handleSelect = useCallback(
158
+ (option, event) => {
159
+ if (disabled) return;
160
+ if (multiple) {
161
+ event.stopPropagation();
162
+ event.preventDefault();
163
+ const currentSelection = selected;
164
+ if (currentSelection.includes(option)) {
165
+ const newSelection = currentSelection.filter((item) => item !== option);
166
+ setSelected(newSelection);
167
+ onChangeHook(newSelection);
168
+ } else {
169
+ const newSelection = [...currentSelection, option];
170
+ setSelected(newSelection);
171
+ onChangeHook(newSelection);
172
+ }
173
+ } else {
174
+ setSelected(option);
175
+ onChangeHook(option);
176
+ if (!infiniteScroll) {
177
+ setCurrentSearchText("");
178
+ setFilteredOptions(options);
179
+ }
180
+ setIsOpen(false);
181
+ }
182
+ },
183
+ [disabled, multiple, selected, onChangeHook, options, infiniteScroll]
184
+ );
185
+ const handleClearSelection = useCallback(() => {
186
+ if (disabled) return;
187
+ if (multiple) {
188
+ setSelected([]);
189
+ onChangeHook([]);
190
+ } else {
191
+ setSelected("");
192
+ onChangeHook("");
193
+ }
194
+ if (!infiniteScroll) {
195
+ setCurrentSearchText("");
196
+ setFilteredOptions(options);
197
+ }
198
+ if (onClearSearch) {
199
+ onClearSearch();
200
+ }
201
+ }, [disabled, multiple, onChangeHook, onClearSearch, options, infiniteScroll]);
202
+ const getDisplayLabel = useCallback(() => {
203
+ if (multiple) {
204
+ const selectedArray = selected;
205
+ if (selectedArray.length === 0) {
206
+ return "";
207
+ } else if (selectedArray.length === 1) {
208
+ const foundOption = options.find((item) => item.value === selectedArray[0]);
209
+ return formatLabel(foundOption?.label || selectedArray[0]);
210
+ } else {
211
+ return `${selectedArray.length} itens selecionados`;
212
+ }
213
+ } else {
214
+ const foundOption = options.find((item) => item.value === selected);
215
+ return formatLabel(foundOption?.label || selected || label);
216
+ }
217
+ }, [multiple, selected, options, label, formatLabel]);
218
+ const getOptionId = useCallback(
219
+ (index) => `${scrollableContainerId}-option-${index}`,
220
+ [scrollableContainerId]
221
+ );
222
+ const isOptionEnabled = useCallback(
223
+ (index) => {
224
+ const option = filteredOptions[index];
225
+ return Boolean(option) && !option.disabled;
226
+ },
227
+ [filteredOptions]
228
+ );
229
+ const findEnabledIndex = useCallback(
230
+ (start, step) => {
231
+ for (let index = start; index >= 0 && index < filteredOptions.length; index += step) {
232
+ if (isOptionEnabled(index)) return index;
233
+ }
234
+ return -1;
235
+ },
236
+ [filteredOptions.length, isOptionEnabled]
237
+ );
238
+ const getSelectedIndex = useCallback(() => {
239
+ const firstSelected = multiple ? selected[0] : selected;
240
+ const index = filteredOptions.findIndex((option) => option.value === firstSelected);
241
+ return index >= 0 && isOptionEnabled(index) ? index : -1;
242
+ }, [multiple, selected, filteredOptions, isOptionEnabled]);
243
+ const focusOptionAt = useCallback((index) => {
244
+ if (index < 0) return;
245
+ setActiveIndex(index);
246
+ pendingFocusIndexRef.current = index;
247
+ setFocusRequest((request) => request + 1);
248
+ }, []);
249
+ const focusSearchInput = useCallback(() => {
250
+ const searchInput = menuListRef.current?.querySelector(`.${SEARCH_INPUT_MARKER_CLASS}`);
251
+ if (!searchInput) return false;
252
+ searchInput.focus();
253
+ return true;
254
+ }, []);
255
+ const findTypeaheadMatch = useCallback(
256
+ (key, fromIndex) => {
257
+ const state = typeaheadRef.current;
258
+ window.clearTimeout(state.timer);
259
+ state.buffer += key.toLowerCase();
260
+ state.timer = window.setTimeout(() => {
261
+ state.buffer = "";
262
+ }, TYPEAHEAD_RESET_MS);
263
+ const isCycling = state.buffer.split("").every((char) => char === state.buffer[0]);
264
+ const term = isCycling ? state.buffer[0] : state.buffer;
265
+ const start = isCycling ? fromIndex + 1 : Math.max(fromIndex, 0);
266
+ const total = filteredOptions.length;
267
+ for (let offset = 0; offset < total; offset += 1) {
268
+ const index = (start + offset) % total;
269
+ const label2 = formatLabel(filteredOptions[index]?.label).toLowerCase();
270
+ if (isOptionEnabled(index) && label2.startsWith(term)) return index;
271
+ }
272
+ return -1;
273
+ },
274
+ [filteredOptions, formatLabel, isOptionEnabled]
275
+ );
276
+ const openAndFocus = useCallback(
277
+ (target) => {
278
+ if (disabled) return;
279
+ if (!isOpen) {
280
+ setIsOpen(true);
281
+ onOpen?.();
282
+ }
283
+ if (searchable && target === "selected") {
284
+ pendingFocusIndexRef.current = -1;
285
+ setFocusRequest((request) => request + 1);
286
+ return;
287
+ }
288
+ let index;
289
+ if (typeof target === "number") index = target;
290
+ else if (target === "first") index = findEnabledIndex(0, 1);
291
+ else if (target === "last") index = findEnabledIndex(filteredOptions.length - 1, -1);
292
+ else index = getSelectedIndex() >= 0 ? getSelectedIndex() : findEnabledIndex(0, 1);
293
+ focusOptionAt(index);
294
+ },
295
+ [disabled, isOpen, onOpen, searchable, findEnabledIndex, filteredOptions.length, getSelectedIndex, focusOptionAt]
296
+ );
297
+ useEffect(() => {
298
+ const index = pendingFocusIndexRef.current;
299
+ if (!isOpen || index === null) return void 0;
300
+ if (index >= 0) virtualListRef.current?.scrollToItem(index);
301
+ let attempts = 0;
302
+ let frame = 0;
303
+ const tryFocus = () => {
304
+ if (index < 0) {
305
+ if (focusSearchInput()) {
306
+ pendingFocusIndexRef.current = null;
307
+ return;
308
+ }
309
+ } else {
310
+ const node = document.getElementById(getOptionId(index));
311
+ if (node) {
312
+ pendingFocusIndexRef.current = null;
313
+ node.focus({ preventScroll: Boolean(virtualListRef.current) });
314
+ if (!virtualListRef.current) node.scrollIntoView?.({ block: "nearest" });
315
+ return;
316
+ }
317
+ }
318
+ attempts += 1;
319
+ if (attempts < FOCUS_RETRY_FRAMES) frame = window.requestAnimationFrame(tryFocus);
320
+ };
321
+ tryFocus();
322
+ return () => window.cancelAnimationFrame(frame);
323
+ }, [isOpen, focusRequest]);
324
+ const wasOpenRef = useRef(false);
325
+ useEffect(() => {
326
+ if (isOpen) {
327
+ wasOpenRef.current = true;
328
+ return;
329
+ }
330
+ if (!wasOpenRef.current) return;
331
+ wasOpenRef.current = false;
332
+ setActiveIndex(-1);
333
+ pendingFocusIndexRef.current = null;
334
+ const active = document.activeElement;
335
+ const focusWasInList = Boolean(active && menuListRef.current?.contains(active));
336
+ if (focusWasInList || active === document.body || active === null) {
337
+ triggerInputRef.current?.focus({ preventScroll: true });
338
+ }
339
+ }, [isOpen]);
340
+ useEffect(() => {
341
+ setActiveIndex(-1);
342
+ }, [filteredOptions]);
343
+ useEffect(() => {
344
+ if (!isOpen || activeIndex < 0) return;
345
+ const active = document.activeElement;
346
+ if (active === null || active === document.body) focusOptionAt(activeIndex);
347
+ }, [selected]);
348
+ useEffect(() => () => window.clearTimeout(typeaheadRef.current.timer), []);
349
+ const listboxLabel = triggerAttributes["aria-label"] ?? ariaLabel ?? label ?? (isOpen ? triggerInputRef.current?.labels?.[0]?.textContent?.trim() || void 0 : void 0);
350
+ const handleTriggerKeyDown = (event) => {
351
+ if (disabled) return;
352
+ switch (event.key) {
353
+ case "Enter":
354
+ case " ":
355
+ case "ArrowDown":
356
+ event.preventDefault();
357
+ openAndFocus(isOpen && event.key === "ArrowDown" && activeIndex >= 0 ? activeIndex : "selected");
358
+ return;
359
+ case "ArrowUp":
360
+ event.preventDefault();
361
+ openAndFocus(getSelectedIndex() >= 0 ? getSelectedIndex() : "last");
362
+ return;
363
+ case "Home":
364
+ event.preventDefault();
365
+ openAndFocus("first");
366
+ return;
367
+ case "End":
368
+ event.preventDefault();
369
+ openAndFocus("last");
370
+ return;
371
+ case "Escape":
372
+ if (!isOpen) return;
373
+ event.preventDefault();
374
+ setIsOpen(false);
375
+ return;
376
+ case "Tab":
377
+ if (isOpen) setIsOpen(false);
378
+ return;
379
+ default:
380
+ if (!isPrintableKey(event) || searchable) return;
381
+ event.preventDefault();
382
+ openAndFocus(findTypeaheadMatch(event.key, getSelectedIndex()));
383
+ }
384
+ };
385
+ const handleListKeyDown = (event) => {
386
+ const target = event.target;
387
+ const isOnSearch = target.classList.contains(SEARCH_INPUT_MARKER_CLASS);
388
+ const optionNode = target.closest('[role="option"]');
389
+ const currentIndex = optionNode ? Number(optionNode.dataset.optionIndex ?? -1) : activeIndex;
390
+ switch (event.key) {
391
+ case "ArrowDown": {
392
+ event.preventDefault();
393
+ const next = isOnSearch ? findEnabledIndex(0, 1) : findEnabledIndex(currentIndex + 1, 1);
394
+ focusOptionAt(next);
395
+ return;
396
+ }
397
+ case "ArrowUp": {
398
+ if (isOnSearch) return;
399
+ event.preventDefault();
400
+ const previous = findEnabledIndex(currentIndex - 1, -1);
401
+ if (previous >= 0) focusOptionAt(previous);
402
+ else if (searchable) focusSearchInput();
403
+ return;
404
+ }
405
+ case "Home":
406
+ case "End":
407
+ if (isOnSearch) return;
408
+ event.preventDefault();
409
+ focusOptionAt(event.key === "Home" ? findEnabledIndex(0, 1) : findEnabledIndex(filteredOptions.length - 1, -1));
410
+ return;
411
+ case "Escape":
412
+ event.preventDefault();
413
+ setIsOpen(false);
414
+ return;
415
+ case "Tab":
416
+ event.preventDefault();
417
+ setIsOpen(false);
418
+ triggerInputRef.current?.focus({ preventScroll: true });
419
+ return;
420
+ default:
421
+ if (isOnSearch || !isPrintableKey(event) || event.key === " ") return;
422
+ event.preventDefault();
423
+ focusOptionAt(findTypeaheadMatch(event.key, currentIndex));
424
+ }
425
+ };
426
+ const renderOptionItem = useCallback(
427
+ (option, index, style) => {
428
+ const isSelected = multiple ? Array.isArray(selected) && selected.includes(option.value) : option.value === selected;
429
+ const isDisabledWithReason = Boolean(option.disabled && option.tooltip);
430
+ const menuItem = /* @__PURE__ */ jsxs(
431
+ ControlledMenuItem,
432
+ {
433
+ disabled: option.disabled,
434
+ onClick: (event) => handleSelect(option.value, event),
435
+ role: "option",
436
+ id: getOptionId(index),
437
+ tabIndex: -1,
438
+ "aria-selected": isSelected,
439
+ "aria-setsize": filteredOptions.length,
440
+ "aria-posinset": index + 1,
441
+ "data-option-index": index,
442
+ className: classNames(
443
+ "relative flex items-center p-2 pl-3 text-foreground",
444
+ "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",
445
+ {
446
+ // The hover variant has to live inside the selected branch: the menu item's own
447
+ // default hover would otherwise wipe the selected tint.
448
+ "bg-brand-soft font-medium text-brand-emphasis hover:!bg-brand-soft focus:!bg-brand-soft": isSelected,
449
+ "hover:!bg-muted": !isSelected
450
+ }
451
+ ),
452
+ style: {
453
+ ...isDisabledWithReason ? {} : style,
454
+ height: ITEM_HEIGHT - 1
455
+ },
456
+ children: [
457
+ isSelected && /* @__PURE__ */ jsx("span", { className: "absolute inset-y-1 left-0 w-0.5 rounded-full bg-brand" }),
458
+ multiple && // The option itself carries aria-selected; the checkbox is only its picture.
459
+ /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "pointer-events-none", children: /* @__PURE__ */ jsx(ControlledCheckbox, { checked: isSelected, onChange: () => {
460
+ }, tabIndex: -1 }) }),
461
+ option.tooltip && !isDisabledWithReason && /* @__PURE__ */ jsx(ControlledTooltip, { content: option.tooltip, className: "w-full max-w-72", children: /* @__PURE__ */ jsx(MaterialSymbol, { icon: "info", size: 15, color: "rgb(var(--color-foreground-subtle))", className: "mr-1" }) }),
462
+ option.swatch && /* @__PURE__ */ jsx(
463
+ "span",
464
+ {
465
+ className: classNames(
466
+ "mr-2 size-3.5 shrink-0 border border-border",
467
+ swatchShape === "square" ? "rounded" : "rounded-full"
468
+ ),
469
+ style: { backgroundColor: option.swatch }
470
+ }
471
+ ),
472
+ /* @__PURE__ */ jsx("span", { className: "truncate text-sm", children: formatLabel(option.label) }),
473
+ option.secondaryLabel && option.emphasizeSecondaryLabel && /* @__PURE__ */ jsx(
474
+ OutlinedChip,
475
+ {
476
+ label: option.secondaryLabel,
477
+ tone: "purple",
478
+ variant: "soft",
479
+ size: "xs",
480
+ preserveLabelCase: true,
481
+ truncate: true,
482
+ className: "ml-auto max-w-[45%] shrink-0"
483
+ }
484
+ ),
485
+ option.secondaryLabel && !option.emphasizeSecondaryLabel && /* @__PURE__ */ jsx("span", { className: "ml-auto max-w-[45%] shrink-0 truncate pl-3 text-xs text-foreground-faint", children: option.secondaryLabel })
486
+ ]
487
+ },
488
+ isDisabledWithReason ? void 0 : option.value
489
+ );
490
+ return isDisabledWithReason ? /* @__PURE__ */ jsx(ControlledTooltip, { content: option.tooltip, className: "z-[9999] max-w-72", children: /* @__PURE__ */ jsx("div", { style, children: menuItem }) }, option.value) : menuItem;
491
+ },
492
+ [multiple, selected, handleSelect, formatLabel, getOptionId, filteredOptions.length]
493
+ );
494
+ const ItemRenderer = useCallback(
495
+ ({ index, style }) => {
496
+ const option = filteredOptions[index];
497
+ if (!option) return null;
498
+ return renderOptionItem(option, index, style);
499
+ },
500
+ [filteredOptions, renderOptionItem]
501
+ );
502
+ const listHeight = useMemo(
503
+ () => Math.min(filteredOptions.length * ITEM_HEIGHT, MAX_LIST_HEIGHT),
504
+ [filteredOptions.length]
505
+ );
506
+ const selectedSwatch = useMemo(
507
+ () => multiple ? void 0 : options.find((option) => option.value === selected)?.swatch,
508
+ [multiple, options, selected]
509
+ );
510
+ const selectedHasValue = multiple ? selected.length > 0 : selected !== "";
511
+ const hasEmptyValueOption = useMemo(
512
+ () => !multiple && options.some((option) => option.value === ""),
513
+ [multiple, options]
514
+ );
515
+ useLayoutEffect(() => {
516
+ const menuList = menuListRef.current;
517
+ const trigger = triggerRef.current;
518
+ if (!matchTriggerWidth || !isOpen || !menuList || !trigger) return void 0;
519
+ const applyTriggerWidth = () => {
520
+ menuList.style.width = `${trigger.getBoundingClientRect().width}px`;
521
+ };
522
+ applyTriggerWidth();
523
+ const resizeObserver = new ResizeObserver(applyTriggerWidth);
524
+ resizeObserver.observe(trigger);
525
+ return () => resizeObserver.disconnect();
526
+ }, [matchTriggerWidth, isOpen]);
527
+ useEffect(() => {
528
+ const menuList = menuListRef.current;
529
+ if (!isOpen || !searchable || !menuList) return void 0;
530
+ let isKeyboardInteraction = false;
531
+ let restoreFrame = 0;
532
+ const markKeyboardInteraction = () => {
533
+ isKeyboardInteraction = true;
534
+ };
535
+ const markPointerInteraction = () => {
536
+ isKeyboardInteraction = false;
537
+ };
538
+ const restoreSearchFocus = (event) => {
539
+ const searchInput = menuList.querySelector(`.${SEARCH_INPUT_MARKER_CLASS}`);
540
+ if (!searchInput || event.target !== searchInput || isKeyboardInteraction) return;
541
+ const nextFocused = event.relatedTarget;
542
+ if (nextFocused && !menuList.contains(nextFocused)) return;
543
+ restoreFrame = window.requestAnimationFrame(() => searchInput.focus({ preventScroll: true }));
544
+ };
545
+ menuList.addEventListener("keydown", markKeyboardInteraction, true);
546
+ menuList.addEventListener("pointermove", markPointerInteraction, true);
547
+ menuList.addEventListener("focusout", restoreSearchFocus);
548
+ return () => {
549
+ window.cancelAnimationFrame(restoreFrame);
550
+ menuList.removeEventListener("keydown", markKeyboardInteraction, true);
551
+ menuList.removeEventListener("pointermove", markPointerInteraction, true);
552
+ menuList.removeEventListener("focusout", restoreSearchFocus);
553
+ };
554
+ }, [isOpen, searchable]);
555
+ const handleClearSearch = useCallback(() => {
556
+ setCurrentSearchText("");
557
+ if (infiniteScroll) {
558
+ if (scrollableContainerRef.current) scrollableContainerRef.current.scrollTop = 0;
559
+ void requestPagedOptions({ search: "", reset: true });
560
+ } else {
561
+ setFilteredOptions(options);
562
+ }
563
+ if (onClearSearch) {
564
+ onClearSearch();
565
+ }
566
+ }, [infiniteScroll, requestPagedOptions, onClearSearch, options]);
567
+ const getSelectedOptionsLabels = useCallback(() => {
568
+ if (!multiple || !selected || selected.length === 0) {
569
+ return [];
570
+ }
571
+ const selectedArray = selected;
572
+ return selectedArray.map((value) => {
573
+ const trimmedValue = value.trim();
574
+ const foundOption = options.find((option) => option.value === trimmedValue);
575
+ return {
576
+ value: trimmedValue,
577
+ label: foundOption?.label || trimmedValue,
578
+ swatch: foundOption?.swatch
579
+ };
580
+ });
581
+ }, [multiple, selected, options]);
582
+ const isLateralPosition = selectedItemsPosition === "left" || selectedItemsPosition === "right";
583
+ const inFieldChipItems = inFieldChips ? getSelectedOptionsLabels() : [];
584
+ const showInFieldChips = inFieldChips && multiple && inFieldChipItems.length > 0;
585
+ const visibleInFieldChips = inFieldChipItems.slice(0, MAX_IN_FIELD_CHIPS);
586
+ const inFieldOverflow = inFieldChipItems.length - visibleInFieldChips.length;
587
+ const inFieldChipsTooltip = inFieldChipItems.map((option) => formatLabel(option.label)).join(", ");
588
+ const selectedItemsChips = showSelectedItems && multiple && getSelectedOptionsLabels().length > 1 && /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1", children: getSelectedOptionsLabels().map((option) => /* @__PURE__ */ jsx(
589
+ OutlinedChip,
590
+ {
591
+ label: option.label,
592
+ preserveLabelCase,
593
+ dot: Boolean(option.swatch),
594
+ dotColor: option.swatch,
595
+ className: classNames("bg-muted-active text-lg", { "px-4 py-1": isLateralPosition }),
596
+ labelClassName: isLateralPosition ? "text-sm" : void 0,
597
+ onClose: (event) => handleSelect(option.value, event),
598
+ canClose: !disabled
599
+ },
600
+ option.value
601
+ )) });
602
+ const showClear = clearable && !disabled && Boolean(selected) && (multiple ? selected.length > 0 : selected !== "");
603
+ const cursorClassName = disabled ? "cursor-not-allowed" : "cursor-pointer";
604
+ return /* @__PURE__ */ jsxs(
605
+ ControlledMenuRoot,
606
+ {
607
+ placement: "bottom-start",
608
+ open: isOpen && !disabled,
609
+ handler: (next) => {
610
+ if (disabled) return;
611
+ setIsOpen(next);
612
+ if (!next) return;
613
+ onOpen?.();
614
+ if (searchable && !isCoarsePointer()) {
615
+ pendingFocusIndexRef.current = -1;
616
+ setFocusRequest((request) => request + 1);
617
+ }
618
+ },
619
+ dismiss: { itemPress: !multiple },
620
+ children: [
621
+ /* @__PURE__ */ jsx(ControlledMenuHandler, { skipTriggerAria: true, children: /* @__PURE__ */ jsxs(
622
+ "div",
623
+ {
624
+ className: classNames("flex", {
625
+ "flex-col gap-y-2": selectedItemsPosition === "bottom" || selectedItemsPosition === "top",
626
+ "flex-row items-start gap-x-2": selectedItemsPosition === "left" || selectedItemsPosition === "right"
627
+ }),
628
+ children: [
629
+ (selectedItemsPosition === "top" || selectedItemsPosition === "left") && selectedItemsChips,
630
+ /* @__PURE__ */ jsxs("div", { ref: triggerRef, className: classNames("relative", cursorClassName, className), children: [
631
+ selectedSwatch && /* @__PURE__ */ jsx(
632
+ "span",
633
+ {
634
+ className: classNames(
635
+ "pointer-events-none absolute left-3 top-1/2 z-10 size-3.5 -translate-y-1/2 border border-border",
636
+ swatchShape === "square" ? "rounded" : "rounded-full"
637
+ ),
638
+ style: { backgroundColor: selectedSwatch }
639
+ }
640
+ ),
641
+ showInFieldChips && /* @__PURE__ */ jsx(ControlledTooltip, { content: inFieldChipsTooltip, className: "max-w-72", children: /* @__PURE__ */ jsxs(
642
+ "div",
643
+ {
644
+ className: classNames(
645
+ "absolute inset-y-0 left-2.5 right-14 z-10 flex items-center gap-1 overflow-hidden",
646
+ cursorClassName
647
+ ),
648
+ children: [
649
+ visibleInFieldChips.map((option) => /* @__PURE__ */ jsx(
650
+ OutlinedChip,
651
+ {
652
+ label: option.label,
653
+ preserveLabelCase,
654
+ dot: Boolean(option.swatch),
655
+ dotColor: option.swatch,
656
+ className: "min-w-0 shrink-0 bg-muted-active",
657
+ labelClassName: "text-xxs"
658
+ },
659
+ option.value
660
+ )),
661
+ inFieldOverflow > 0 && /* @__PURE__ */ jsx(
662
+ OutlinedChip,
663
+ {
664
+ label: t("controlledSelect.moreItems", { count: inFieldOverflow }),
665
+ className: "min-w-0 shrink-0 bg-muted-active",
666
+ labelClassName: "text-xxs"
667
+ }
668
+ )
669
+ ]
670
+ }
671
+ ) }),
672
+ /* @__PURE__ */ jsx(
673
+ ControlledInput,
674
+ {
675
+ ...triggerAttributes,
676
+ id,
677
+ inputRef: triggerInputRef,
678
+ onBlur,
679
+ onFocus,
680
+ autoFocus,
681
+ readOnly: true,
682
+ role: "combobox",
683
+ "aria-haspopup": "listbox",
684
+ "aria-expanded": isOpen,
685
+ "aria-controls": isOpen ? scrollableContainerId : void 0,
686
+ onKeyDown: handleTriggerKeyDown,
687
+ className: classNames(
688
+ "controlled-select-input flex w-full min-w-0 justify-between truncate text-left",
689
+ !compact && "tablet:min-w-52",
690
+ cursorClassName,
691
+ selectedSwatch && "!pl-9",
692
+ // O "x" é absoluto SOBRE o input: sem esta reserva o rótulo passa por baixo dele.
693
+ showClear && "!pr-14",
694
+ inputClassName
695
+ ),
696
+ error,
697
+ autoComplete: "off",
698
+ rightSlot: /* @__PURE__ */ jsx(MaterialSymbol, { className: cursorClassName, icon: "keyboard_arrow_down", size: 15 }),
699
+ label: selectedHasValue && !persistentLabel ? void 0 : label,
700
+ "aria-label": triggerAttributes["aria-label"] ?? ariaLabel ?? label,
701
+ "aria-required": ariaRequired || required ? true : triggerAttributes["aria-required"],
702
+ value: showInFieldChips ? " " : selectedHasValue || hasEmptyValueOption ? getDisplayLabel() : "",
703
+ disabled
704
+ }
705
+ ),
706
+ showClear && /* @__PURE__ */ jsx(ControlledTooltip, { content: t("dates.clearSelection"), children: /* @__PURE__ */ jsx(
707
+ "div",
708
+ {
709
+ onClick: handleClearSelection,
710
+ className: "absolute inset-y-0 right-8 top-0.5 flex cursor-pointer items-center",
711
+ children: /* @__PURE__ */ jsx(MaterialSymbol, { icon: "close_small", size: 20, color: "rgb(var(--color-foreground-subtle))" })
712
+ }
713
+ ) })
714
+ ] }),
715
+ name && (multiple ? selected.map((value) => /* @__PURE__ */ jsx("input", { type: "hidden", name, value, disabled }, value)) : selected !== "" && /* @__PURE__ */ jsx("input", { type: "hidden", name, value: selected, disabled })),
716
+ (selectedItemsPosition === "bottom" || selectedItemsPosition === "right") && selectedItemsChips
717
+ ]
718
+ }
719
+ ) }),
720
+ /* @__PURE__ */ jsxs(
721
+ ControlledMenuList,
722
+ {
723
+ ref: menuListRef,
724
+ role: "presentation",
725
+ onKeyDown: handleListKeyDown,
726
+ className: classNames(
727
+ "zIndexMax overflow-hidden",
728
+ FALLBACK_LIST_WIDTH_CLASS,
729
+ MIN_LIST_WIDTH_CLASS,
730
+ listClassName
731
+ ),
732
+ children: [
733
+ searchable && /* @__PURE__ */ jsx(SelectSearchSlot, { children: /* @__PURE__ */ jsx(
734
+ UnifiedSearchBar,
735
+ {
736
+ mode: "default",
737
+ label: t("actions.search"),
738
+ debounceTime: SEARCH_DEBOUNCE_MS,
739
+ searchableItems: infiniteScroll ? null : options,
740
+ searchKeys: ["label", "secondaryLabel"],
741
+ setFilteredItems: setFilteredOptions,
742
+ onSearchTermChange: handleServerSearch,
743
+ className: classNames("w-full", SEARCH_INPUT_MARKER_CLASS),
744
+ onClearFilter: handleClearSearch,
745
+ initialValue: currentSearchText
746
+ }
747
+ ) }),
748
+ /* @__PURE__ */ jsx(
749
+ "div",
750
+ {
751
+ ref: scrollableContainerRef,
752
+ className: classNames({
753
+ "max-h-[250px] overflow-y-auto overscroll-contain": infiniteScroll,
754
+ "overflow-hidden": !infiniteScroll
755
+ }),
756
+ id: scrollableContainerId,
757
+ role: "listbox",
758
+ "aria-multiselectable": multiple || void 0,
759
+ "aria-labelledby": triggerAttributes["aria-labelledby"],
760
+ "aria-label": triggerAttributes["aria-labelledby"] ? void 0 : listboxLabel,
761
+ children: infiniteScroll ? /* @__PURE__ */ jsx(
762
+ InfiniteScroll,
763
+ {
764
+ dataLength: filteredOptions.length,
765
+ hasMore: hasMoreOptions && filteredOptions.length > 0,
766
+ next: handleLoadMoreFromScroll,
767
+ loader: /* @__PURE__ */ jsx("div", { className: "flex size-full items-center justify-center py-1", children: /* @__PURE__ */ jsx(LoadingSpinner, { size: 4, label: t("controlledSelect.loadingOptions") }) }),
768
+ scrollableTarget: scrollableContainerId,
769
+ className: "!overflow-hidden",
770
+ children: filteredOptions.length > 0 ? filteredOptions.map((option, index) => renderOptionItem(option, index)) : loading ? /* @__PURE__ */ jsx("div", { className: "flex w-full items-center justify-center py-4", children: /* @__PURE__ */ jsx(LoadingSpinner, { size: 4, label: t("controlledSelect.loadingOptions") }) }) : /* @__PURE__ */ jsx(ControlledMenuItem, { disabled: true, role: "presentation", children: /* @__PURE__ */ jsx(NoDataFound, { compact: true, message: t("controlledSelect.noDataToShow") }) })
771
+ }
772
+ ) : filteredOptions.length > 0 ? /* @__PURE__ */ jsx(
773
+ FixedSizeList,
774
+ {
775
+ ref: virtualListRef,
776
+ className: "virtualized-select-list",
777
+ height: listHeight,
778
+ width: "100%",
779
+ itemCount: filteredOptions.length,
780
+ itemSize: ITEM_HEIGHT,
781
+ overscanCount: OVERSCAN_COUNT,
782
+ children: ItemRenderer
783
+ }
784
+ ) : loading ? /* @__PURE__ */ jsx("div", { className: "flex w-full items-center justify-center py-4", children: /* @__PURE__ */ jsx(LoadingSpinner, { size: 4, label: t("controlledSelect.loadingOptions") }) }) : /* @__PURE__ */ jsx(ControlledMenuItem, { disabled: true, role: "presentation", children: /* @__PURE__ */ jsx(NoDataFound, { compact: true, message: t("controlledSelect.noDataToShow") }) })
785
+ }
786
+ )
787
+ ]
788
+ }
789
+ )
790
+ ]
791
+ }
792
+ );
793
+ }
794
+ export {
795
+ ControlledSelect
796
+ };
797
+ //# sourceMappingURL=ControlledSelect.js.map