@vertesia/ui 0.81.1 → 0.82.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 (1481) hide show
  1. package/package.json +4 -4
  2. package/src/core/components/InputList.tsx +1 -1
  3. package/src/core/components/Overlay.tsx +1 -1
  4. package/src/core/components/SidePanel.tsx +25 -13
  5. package/src/core/components/index.ts +0 -8
  6. package/src/core/components/{Panel.tsx → shadcn/Panel.tsx} +1 -1
  7. package/src/core/components/{Badge.tsx → shadcn/badge.tsx} +1 -1
  8. package/src/core/components/shadcn/command.tsx +1 -1
  9. package/src/core/components/shadcn/index.ts +5 -3
  10. package/src/core/components/{ConfirmModal.tsx → shadcn/modal/ConfirmModal.tsx} +8 -8
  11. package/src/core/components/{DeleteModal.tsx → shadcn/modal/DeleteModal.tsx} +1 -1
  12. package/src/core/components/shadcn/{dialog.tsx → modal/dialog.tsx} +19 -14
  13. package/src/core/components/shadcn/modal/index.ts +3 -0
  14. package/src/core/components/shadcn/popover.tsx +1 -1
  15. package/src/core/components/shadcn/selectBox.tsx +12 -10
  16. package/src/core/components/shadcn/tabs.tsx +16 -7
  17. package/src/features/agent/chat/ModernAgentConversation.tsx +8 -8
  18. package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +6 -6
  19. package/src/features/store/collections/CreateCollection.tsx +8 -8
  20. package/src/features/store/collections/EditCollectionView.tsx +1 -1
  21. package/src/features/store/objects/components/ContentOverview.tsx +8 -8
  22. package/src/features/store/objects/components/PropertiesEditorModal.tsx +0 -1
  23. package/src/features/store/objects/components/SelectDocumentModal.tsx +6 -6
  24. package/src/features/store/objects/selection/actions/AddToCollectionAction.tsx +13 -13
  25. package/src/features/store/objects/selection/actions/StartWorkflowComponent.tsx +8 -8
  26. package/src/features/store/objects/upload/DocumentUploadModal.tsx +25 -25
  27. package/src/features/store/types/ObjectSchemaEditor.tsx +28 -27
  28. package/src/features/store/types/SelectContentType.tsx +3 -3
  29. package/src/features/store/types/TableLayoutEditor.tsx +11 -17
  30. package/src/layout/AppLayout.tsx +16 -44
  31. package/src/layout/Sidebar.tsx +1 -1
  32. package/src/session/index.ts +1 -0
  33. package/src/shell/apps/AppProjectSelector.tsx +2 -2
  34. package/src/shell/login/InviteAcceptModal.tsx +6 -6
  35. package/src/shell/login/SignInModal.tsx +1 -1
  36. package/src/shell/login/SignupForm.tsx +3 -3
  37. package/src/shell/login/UserInfo.tsx +5 -5
  38. package/src/widgets/json-view/JSONCode.tsx +1 -3
  39. package/src/widgets/json-view/JSONDisplay.tsx +1 -1
  40. package/src/widgets/monacoEditor/MonacoEditor.tsx +2 -17
  41. package/src/widgets/schema-editor/editor/PropertyEditor.tsx +5 -5
  42. package/lib/esm/core/components/Avatar.js +0 -31
  43. package/lib/esm/core/components/Avatar.js.map +0 -1
  44. package/lib/esm/core/components/Badge.js +0 -62
  45. package/lib/esm/core/components/Badge.js.map +0 -1
  46. package/lib/esm/core/components/Button.js +0 -32
  47. package/lib/esm/core/components/Button.js.map +0 -1
  48. package/lib/esm/core/components/Center.js +0 -6
  49. package/lib/esm/core/components/Center.js.map +0 -1
  50. package/lib/esm/core/components/ComboBox.js +0 -356
  51. package/lib/esm/core/components/ComboBox.js.map +0 -1
  52. package/lib/esm/core/components/ConfirmModal.js +0 -10
  53. package/lib/esm/core/components/ConfirmModal.js.map +0 -1
  54. package/lib/esm/core/components/DeleteModal.js +0 -28
  55. package/lib/esm/core/components/DeleteModal.js.map +0 -1
  56. package/lib/esm/core/components/Divider.js +0 -6
  57. package/lib/esm/core/components/Divider.js.map +0 -1
  58. package/lib/esm/core/components/Dropdown.js +0 -16
  59. package/lib/esm/core/components/Dropdown.js.map +0 -1
  60. package/lib/esm/core/components/DropdownList.js +0 -9
  61. package/lib/esm/core/components/DropdownList.js.map +0 -1
  62. package/lib/esm/core/components/EmptyCollection.js +0 -7
  63. package/lib/esm/core/components/EmptyCollection.js.map +0 -1
  64. package/lib/esm/core/components/FileUpload.js +0 -119
  65. package/lib/esm/core/components/FileUpload.js.map +0 -1
  66. package/lib/esm/core/components/FormItem.js +0 -9
  67. package/lib/esm/core/components/FormItem.js.map +0 -1
  68. package/lib/esm/core/components/InputList.js +0 -61
  69. package/lib/esm/core/components/InputList.js.map +0 -1
  70. package/lib/esm/core/components/Link.js +0 -13
  71. package/lib/esm/core/components/Link.js.map +0 -1
  72. package/lib/esm/core/components/MenuList.js +0 -20
  73. package/lib/esm/core/components/MenuList.js.map +0 -1
  74. package/lib/esm/core/components/MessageBox.js +0 -66
  75. package/lib/esm/core/components/MessageBox.js.map +0 -1
  76. package/lib/esm/core/components/Modal.js +0 -26
  77. package/lib/esm/core/components/Modal.js.map +0 -1
  78. package/lib/esm/core/components/NumberInput.js +0 -43
  79. package/lib/esm/core/components/NumberInput.js.map +0 -1
  80. package/lib/esm/core/components/Overlay.js +0 -57
  81. package/lib/esm/core/components/Overlay.js.map +0 -1
  82. package/lib/esm/core/components/Panel.js +0 -8
  83. package/lib/esm/core/components/Panel.js.map +0 -1
  84. package/lib/esm/core/components/Portal.js +0 -28
  85. package/lib/esm/core/components/Portal.js.map +0 -1
  86. package/lib/esm/core/components/RadioGroup.js +0 -34
  87. package/lib/esm/core/components/RadioGroup.js.map +0 -1
  88. package/lib/esm/core/components/SelectBox.js +0 -67
  89. package/lib/esm/core/components/SelectBox.js.map +0 -1
  90. package/lib/esm/core/components/SelectList.js +0 -52
  91. package/lib/esm/core/components/SelectList.js.map +0 -1
  92. package/lib/esm/core/components/SelectStack.js +0 -8
  93. package/lib/esm/core/components/SelectStack.js.map +0 -1
  94. package/lib/esm/core/components/SidePanel.js +0 -33
  95. package/lib/esm/core/components/SidePanel.js.map +0 -1
  96. package/lib/esm/core/components/Spinner.js +0 -18
  97. package/lib/esm/core/components/Spinner.js.map +0 -1
  98. package/lib/esm/core/components/Switch.js +0 -12
  99. package/lib/esm/core/components/Switch.js.map +0 -1
  100. package/lib/esm/core/components/TagsInput.js +0 -194
  101. package/lib/esm/core/components/TagsInput.js.map +0 -1
  102. package/lib/esm/core/components/index.js +0 -36
  103. package/lib/esm/core/components/index.js.map +0 -1
  104. package/lib/esm/core/components/libs/utils.js +0 -6
  105. package/lib/esm/core/components/libs/utils.js.map +0 -1
  106. package/lib/esm/core/components/libs/visuallyHidden.js +0 -16
  107. package/lib/esm/core/components/libs/visuallyHidden.js.map +0 -1
  108. package/lib/esm/core/components/popup/Popup.js +0 -60
  109. package/lib/esm/core/components/popup/Popup.js.map +0 -1
  110. package/lib/esm/core/components/popup/PopupController.js +0 -149
  111. package/lib/esm/core/components/popup/PopupController.js.map +0 -1
  112. package/lib/esm/core/components/popup/index.js +0 -4
  113. package/lib/esm/core/components/popup/index.js.map +0 -1
  114. package/lib/esm/core/components/popup/position.js +0 -221
  115. package/lib/esm/core/components/popup/position.js.map +0 -1
  116. package/lib/esm/core/components/popup/utils.js +0 -74
  117. package/lib/esm/core/components/popup/utils.js.map +0 -1
  118. package/lib/esm/core/components/shadcn/breadcrumb.js +0 -51
  119. package/lib/esm/core/components/shadcn/breadcrumb.js.map +0 -1
  120. package/lib/esm/core/components/shadcn/button.js +0 -76
  121. package/lib/esm/core/components/shadcn/button.js.map +0 -1
  122. package/lib/esm/core/components/shadcn/calendar.js +0 -13
  123. package/lib/esm/core/components/shadcn/calendar.js.map +0 -1
  124. package/lib/esm/core/components/shadcn/card.js +0 -17
  125. package/lib/esm/core/components/shadcn/card.js.map +0 -1
  126. package/lib/esm/core/components/shadcn/checkbox.js +0 -9
  127. package/lib/esm/core/components/shadcn/checkbox.js.map +0 -1
  128. package/lib/esm/core/components/shadcn/command.js +0 -29
  129. package/lib/esm/core/components/shadcn/command.js.map +0 -1
  130. package/lib/esm/core/components/shadcn/dialog.js +0 -78
  131. package/lib/esm/core/components/shadcn/dialog.js.map +0 -1
  132. package/lib/esm/core/components/shadcn/filters/DynamicLabel.js +0 -38
  133. package/lib/esm/core/components/shadcn/filters/DynamicLabel.js.map +0 -1
  134. package/lib/esm/core/components/shadcn/filters/animateChangeInHeight.js +0 -23
  135. package/lib/esm/core/components/shadcn/filters/animateChangeInHeight.js.map +0 -1
  136. package/lib/esm/core/components/shadcn/filters/comboBox/DateCombobox.js +0 -129
  137. package/lib/esm/core/components/shadcn/filters/comboBox/DateCombobox.js.map +0 -1
  138. package/lib/esm/core/components/shadcn/filters/comboBox/SelectCombobox.js +0 -46
  139. package/lib/esm/core/components/shadcn/filters/comboBox/SelectCombobox.js.map +0 -1
  140. package/lib/esm/core/components/shadcn/filters/comboBox/StringListCombobox.js +0 -23
  141. package/lib/esm/core/components/shadcn/filters/comboBox/StringListCombobox.js.map +0 -1
  142. package/lib/esm/core/components/shadcn/filters/comboBox/TextCombobox.js +0 -28
  143. package/lib/esm/core/components/shadcn/filters/comboBox/TextCombobox.js.map +0 -1
  144. package/lib/esm/core/components/shadcn/filters/comboBox/comboBox.js +0 -5
  145. package/lib/esm/core/components/shadcn/filters/comboBox/comboBox.js.map +0 -1
  146. package/lib/esm/core/components/shadcn/filters/filter/SelectFilter.js +0 -98
  147. package/lib/esm/core/components/shadcn/filters/filter/SelectFilter.js.map +0 -1
  148. package/lib/esm/core/components/shadcn/filters/filter/StringListFilter.js +0 -24
  149. package/lib/esm/core/components/shadcn/filters/filter/StringListFilter.js.map +0 -1
  150. package/lib/esm/core/components/shadcn/filters/filter/TextFilter.js +0 -21
  151. package/lib/esm/core/components/shadcn/filters/filter/TextFilter.js.map +0 -1
  152. package/lib/esm/core/components/shadcn/filters/filter/dateFilter.js +0 -161
  153. package/lib/esm/core/components/shadcn/filters/filter/dateFilter.js.map +0 -1
  154. package/lib/esm/core/components/shadcn/filters/filter-styles.js +0 -88
  155. package/lib/esm/core/components/shadcn/filters/filter-styles.js.map +0 -1
  156. package/lib/esm/core/components/shadcn/filters/filterBar.js +0 -242
  157. package/lib/esm/core/components/shadcn/filters/filterBar.js.map +0 -1
  158. package/lib/esm/core/components/shadcn/filters/filters.js +0 -57
  159. package/lib/esm/core/components/shadcn/filters/filters.js.map +0 -1
  160. package/lib/esm/core/components/shadcn/filters/index.js +0 -6
  161. package/lib/esm/core/components/shadcn/filters/index.js.map +0 -1
  162. package/lib/esm/core/components/shadcn/filters/types.js +0 -10
  163. package/lib/esm/core/components/shadcn/filters/types.js.map +0 -1
  164. package/lib/esm/core/components/shadcn/heading.js +0 -17
  165. package/lib/esm/core/components/shadcn/heading.js.map +0 -1
  166. package/lib/esm/core/components/shadcn/index.js +0 -23
  167. package/lib/esm/core/components/shadcn/index.js.map +0 -1
  168. package/lib/esm/core/components/shadcn/input.js +0 -41
  169. package/lib/esm/core/components/shadcn/input.js.map +0 -1
  170. package/lib/esm/core/components/shadcn/label.js +0 -10
  171. package/lib/esm/core/components/shadcn/label.js.map +0 -1
  172. package/lib/esm/core/components/shadcn/popover.js +0 -52
  173. package/lib/esm/core/components/shadcn/popover.js.map +0 -1
  174. package/lib/esm/core/components/shadcn/resizeable.js +0 -15
  175. package/lib/esm/core/components/shadcn/resizeable.js.map +0 -1
  176. package/lib/esm/core/components/shadcn/selectBox.js +0 -152
  177. package/lib/esm/core/components/shadcn/selectBox.js.map +0 -1
  178. package/lib/esm/core/components/shadcn/separator.js +0 -8
  179. package/lib/esm/core/components/shadcn/separator.js.map +0 -1
  180. package/lib/esm/core/components/shadcn/tabs.js +0 -132
  181. package/lib/esm/core/components/shadcn/tabs.js.map +0 -1
  182. package/lib/esm/core/components/shadcn/text.js +0 -30
  183. package/lib/esm/core/components/shadcn/text.js.map +0 -1
  184. package/lib/esm/core/components/shadcn/textarea.js +0 -7
  185. package/lib/esm/core/components/shadcn/textarea.js.map +0 -1
  186. package/lib/esm/core/components/shadcn/theme/ThemeProvider.js +0 -39
  187. package/lib/esm/core/components/shadcn/theme/ThemeProvider.js.map +0 -1
  188. package/lib/esm/core/components/shadcn/theme/ThemeSwitcher.js +0 -13
  189. package/lib/esm/core/components/shadcn/theme/ThemeSwitcher.js.map +0 -1
  190. package/lib/esm/core/components/shadcn/tooltip.js +0 -18
  191. package/lib/esm/core/components/shadcn/tooltip.js.map +0 -1
  192. package/lib/esm/core/components/styles.js +0 -10
  193. package/lib/esm/core/components/styles.js.map +0 -1
  194. package/lib/esm/core/components/table/index.js +0 -24
  195. package/lib/esm/core/components/table/index.js.map +0 -1
  196. package/lib/esm/core/components/tabs/Tabs.js +0 -78
  197. package/lib/esm/core/components/tabs/Tabs.js.map +0 -1
  198. package/lib/esm/core/components/tabs/TabsContext.js +0 -7
  199. package/lib/esm/core/components/tabs/TabsContext.js.map +0 -1
  200. package/lib/esm/core/components/tabs/index.js +0 -3
  201. package/lib/esm/core/components/tabs/index.js.map +0 -1
  202. package/lib/esm/core/components/toast/NotificationPanel.js +0 -43
  203. package/lib/esm/core/components/toast/NotificationPanel.js.map +0 -1
  204. package/lib/esm/core/components/toast/ToastContext.js +0 -7
  205. package/lib/esm/core/components/toast/ToastContext.js.map +0 -1
  206. package/lib/esm/core/components/toast/ToastProps.js +0 -2
  207. package/lib/esm/core/components/toast/ToastProps.js.map +0 -1
  208. package/lib/esm/core/components/toast/ToastProvider.js +0 -13
  209. package/lib/esm/core/components/toast/ToastProvider.js.map +0 -1
  210. package/lib/esm/core/components/toast/index.js +0 -3
  211. package/lib/esm/core/components/toast/index.js.map +0 -1
  212. package/lib/esm/core/hooks/CompositeState.js +0 -256
  213. package/lib/esm/core/hooks/CompositeState.js.map +0 -1
  214. package/lib/esm/core/hooks/PortalContainerProvider.js +0 -42
  215. package/lib/esm/core/hooks/PortalContainerProvider.js.map +0 -1
  216. package/lib/esm/core/hooks/SharedState.js +0 -64
  217. package/lib/esm/core/hooks/SharedState.js.map +0 -1
  218. package/lib/esm/core/hooks/index.js +0 -16
  219. package/lib/esm/core/hooks/index.js.map +0 -1
  220. package/lib/esm/core/hooks/useClickOutside.js +0 -29
  221. package/lib/esm/core/hooks/useClickOutside.js.map +0 -1
  222. package/lib/esm/core/hooks/useCopyToClipboard.js +0 -23
  223. package/lib/esm/core/hooks/useCopyToClipboard.js.map +0 -1
  224. package/lib/esm/core/hooks/useDarkMode.js +0 -11
  225. package/lib/esm/core/hooks/useDarkMode.js.map +0 -1
  226. package/lib/esm/core/hooks/useDebounce.js +0 -14
  227. package/lib/esm/core/hooks/useDebounce.js.map +0 -1
  228. package/lib/esm/core/hooks/useEventSource.js +0 -31
  229. package/lib/esm/core/hooks/useEventSource.js.map +0 -1
  230. package/lib/esm/core/hooks/useFetch.js +0 -40
  231. package/lib/esm/core/hooks/useFetch.js.map +0 -1
  232. package/lib/esm/core/hooks/useFlag.js +0 -13
  233. package/lib/esm/core/hooks/useFlag.js.map +0 -1
  234. package/lib/esm/core/hooks/useIntersectionObserver.js +0 -34
  235. package/lib/esm/core/hooks/useIntersectionObserver.js.map +0 -1
  236. package/lib/esm/core/hooks/useIsFistRendering.js +0 -14
  237. package/lib/esm/core/hooks/useIsFistRendering.js.map +0 -1
  238. package/lib/esm/core/hooks/useSafeLayoutEffect.js +0 -4
  239. package/lib/esm/core/hooks/useSafeLayoutEffect.js.map +0 -1
  240. package/lib/esm/core/hooks/useScrollableSearch.js +0 -92
  241. package/lib/esm/core/hooks/useScrollableSearch.js.map +0 -1
  242. package/lib/esm/core/hooks/useSharedValue.js +0 -21
  243. package/lib/esm/core/hooks/useSharedValue.js.map +0 -1
  244. package/lib/esm/core/index.js +0 -4
  245. package/lib/esm/core/index.js.map +0 -1
  246. package/lib/esm/core/utils/cn.js +0 -6
  247. package/lib/esm/core/utils/cn.js.map +0 -1
  248. package/lib/esm/core/utils/index.js +0 -2
  249. package/lib/esm/core/utils/index.js.map +0 -1
  250. package/lib/esm/env/index.js +0 -75
  251. package/lib/esm/env/index.js.map +0 -1
  252. package/lib/esm/features/activity-doc/ActivityDoc.js +0 -71
  253. package/lib/esm/features/activity-doc/ActivityDoc.js.map +0 -1
  254. package/lib/esm/features/activity-doc/index.js +0 -2
  255. package/lib/esm/features/activity-doc/index.js.map +0 -1
  256. package/lib/esm/features/agent/PayloadBuilder.js +0 -288
  257. package/lib/esm/features/agent/PayloadBuilder.js.map +0 -1
  258. package/lib/esm/features/agent/chat/AgentChart.js +0 -184
  259. package/lib/esm/features/agent/chat/AgentChart.js.map +0 -1
  260. package/lib/esm/features/agent/chat/AnimatedThinkingDots.js +0 -207
  261. package/lib/esm/features/agent/chat/AnimatedThinkingDots.js.map +0 -1
  262. package/lib/esm/features/agent/chat/JumpingDots.js +0 -6
  263. package/lib/esm/features/agent/chat/JumpingDots.js.map +0 -1
  264. package/lib/esm/features/agent/chat/ModernAgentConversation.js +0 -434
  265. package/lib/esm/features/agent/chat/ModernAgentConversation.js.map +0 -1
  266. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +0 -133
  267. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +0 -1
  268. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js +0 -62
  269. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js.map +0 -1
  270. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlideInPanel.js +0 -29
  271. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlideInPanel.js.map +0 -1
  272. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js +0 -95
  273. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js.map +0 -1
  274. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js +0 -54
  275. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js.map +0 -1
  276. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js +0 -368
  277. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js.map +0 -1
  278. package/lib/esm/features/agent/chat/ModernAgentOutput/MessagesContainer.js +0 -20
  279. package/lib/esm/features/agent/chat/ModernAgentOutput/MessagesContainer.js.map +0 -1
  280. package/lib/esm/features/agent/chat/ModernAgentOutput/PlanPanel.js +0 -63
  281. package/lib/esm/features/agent/chat/ModernAgentOutput/PlanPanel.js.map +0 -1
  282. package/lib/esm/features/agent/chat/ModernAgentOutput/SlideInPanel.js +0 -23
  283. package/lib/esm/features/agent/chat/ModernAgentOutput/SlideInPanel.js.map +0 -1
  284. package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingMessages.js +0 -52
  285. package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingMessages.js.map +0 -1
  286. package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js +0 -82
  287. package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js.map +0 -1
  288. package/lib/esm/features/agent/chat/ModernAgentOutput/StackedMessages.js +0 -13
  289. package/lib/esm/features/agent/chat/ModernAgentOutput/StackedMessages.js.map +0 -1
  290. package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js +0 -105
  291. package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js.map +0 -1
  292. package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js +0 -160
  293. package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js.map +0 -1
  294. package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js +0 -266
  295. package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js.map +0 -1
  296. package/lib/esm/features/agent/chat/WaitingMessages.js +0 -60
  297. package/lib/esm/features/agent/chat/WaitingMessages.js.map +0 -1
  298. package/lib/esm/features/agent/chat/index.js +0 -6
  299. package/lib/esm/features/agent/chat/index.js.map +0 -1
  300. package/lib/esm/features/agent/createChartTool.js +0 -354
  301. package/lib/esm/features/agent/createChartTool.js.map +0 -1
  302. package/lib/esm/features/agent/examples.js +0 -295
  303. package/lib/esm/features/agent/examples.js.map +0 -1
  304. package/lib/esm/features/agent/index.js +0 -5
  305. package/lib/esm/features/agent/index.js.map +0 -1
  306. package/lib/esm/features/agent/visualization.js +0 -165
  307. package/lib/esm/features/agent/visualization.js.map +0 -1
  308. package/lib/esm/features/errors/PanelErrorBoundary.js +0 -11
  309. package/lib/esm/features/errors/PanelErrorBoundary.js.map +0 -1
  310. package/lib/esm/features/errors/RowErrorBoundary.js +0 -9
  311. package/lib/esm/features/errors/RowErrorBoundary.js.map +0 -1
  312. package/lib/esm/features/errors/VertesiaErrorBoundary.js +0 -15
  313. package/lib/esm/features/errors/VertesiaErrorBoundary.js.map +0 -1
  314. package/lib/esm/features/errors/WidgetErrorBoundary.js +0 -11
  315. package/lib/esm/features/errors/WidgetErrorBoundary.js.map +0 -1
  316. package/lib/esm/features/errors/index.js +0 -5
  317. package/lib/esm/features/errors/index.js.map +0 -1
  318. package/lib/esm/features/facets/AgentRunnerFacetsNav.js +0 -86
  319. package/lib/esm/features/facets/AgentRunnerFacetsNav.js.map +0 -1
  320. package/lib/esm/features/facets/CollectionsFacetsNav.js +0 -89
  321. package/lib/esm/features/facets/CollectionsFacetsNav.js.map +0 -1
  322. package/lib/esm/features/facets/DocumentsFacetsNav.js +0 -147
  323. package/lib/esm/features/facets/DocumentsFacetsNav.js.map +0 -1
  324. package/lib/esm/features/facets/EnvironmentFacet.js +0 -39
  325. package/lib/esm/features/facets/EnvironmentFacet.js.map +0 -1
  326. package/lib/esm/features/facets/InteractionsFacetsNav.js +0 -88
  327. package/lib/esm/features/facets/InteractionsFacetsNav.js.map +0 -1
  328. package/lib/esm/features/facets/PromptsFacetsNav.js +0 -80
  329. package/lib/esm/features/facets/PromptsFacetsNav.js.map +0 -1
  330. package/lib/esm/features/facets/RunsFacetsNav.js +0 -157
  331. package/lib/esm/features/facets/RunsFacetsNav.js.map +0 -1
  332. package/lib/esm/features/facets/WorkflowExecutionsFacetsNav.js +0 -100
  333. package/lib/esm/features/facets/WorkflowExecutionsFacetsNav.js.map +0 -1
  334. package/lib/esm/features/facets/index.js +0 -16
  335. package/lib/esm/features/facets/index.js.map +0 -1
  336. package/lib/esm/features/facets/utils/SearchInterface.js +0 -2
  337. package/lib/esm/features/facets/utils/SearchInterface.js.map +0 -1
  338. package/lib/esm/features/facets/utils/StringFacet.js +0 -12
  339. package/lib/esm/features/facets/utils/StringFacet.js.map +0 -1
  340. package/lib/esm/features/facets/utils/StringListFacet.js +0 -11
  341. package/lib/esm/features/facets/utils/StringListFacet.js.map +0 -1
  342. package/lib/esm/features/facets/utils/TypeFacet.js +0 -42
  343. package/lib/esm/features/facets/utils/TypeFacet.js.map +0 -1
  344. package/lib/esm/features/facets/utils/VEnvironmentFacet.js +0 -25
  345. package/lib/esm/features/facets/utils/VEnvironmentFacet.js.map +0 -1
  346. package/lib/esm/features/facets/utils/VInteractionFacet.js +0 -45
  347. package/lib/esm/features/facets/utils/VInteractionFacet.js.map +0 -1
  348. package/lib/esm/features/facets/utils/VStringFacet.js +0 -20
  349. package/lib/esm/features/facets/utils/VStringFacet.js.map +0 -1
  350. package/lib/esm/features/facets/utils/VTypeFacet.js +0 -61
  351. package/lib/esm/features/facets/utils/VTypeFacet.js.map +0 -1
  352. package/lib/esm/features/facets/utils/VUserFacet.js +0 -31
  353. package/lib/esm/features/facets/utils/VUserFacet.js.map +0 -1
  354. package/lib/esm/features/facets/utils/utils.js +0 -7
  355. package/lib/esm/features/facets/utils/utils.js.map +0 -1
  356. package/lib/esm/features/index.js +0 -12
  357. package/lib/esm/features/index.js.map +0 -1
  358. package/lib/esm/features/layout/GenericPageNavHeader.js +0 -74
  359. package/lib/esm/features/layout/GenericPageNavHeader.js.map +0 -1
  360. package/lib/esm/features/layout/NotFoundView.js +0 -5
  361. package/lib/esm/features/layout/NotFoundView.js.map +0 -1
  362. package/lib/esm/features/layout/index.js +0 -3
  363. package/lib/esm/features/layout/index.js.map +0 -1
  364. package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js +0 -268
  365. package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js.map +0 -1
  366. package/lib/esm/features/magic-pdf/DownloadPopover.js +0 -28
  367. package/lib/esm/features/magic-pdf/DownloadPopover.js.map +0 -1
  368. package/lib/esm/features/magic-pdf/ExtractedContentView.js +0 -77
  369. package/lib/esm/features/magic-pdf/ExtractedContentView.js.map +0 -1
  370. package/lib/esm/features/magic-pdf/MagicPdfProvider.js +0 -242
  371. package/lib/esm/features/magic-pdf/MagicPdfProvider.js.map +0 -1
  372. package/lib/esm/features/magic-pdf/MagicPdfView.js +0 -61
  373. package/lib/esm/features/magic-pdf/MagicPdfView.js.map +0 -1
  374. package/lib/esm/features/magic-pdf/index.js +0 -2
  375. package/lib/esm/features/magic-pdf/index.js.map +0 -1
  376. package/lib/esm/features/magic-pdf/types.js +0 -2
  377. package/lib/esm/features/magic-pdf/types.js.map +0 -1
  378. package/lib/esm/features/pdf-viewer/PdfPageRenderer.js +0 -261
  379. package/lib/esm/features/pdf-viewer/PdfPageRenderer.js.map +0 -1
  380. package/lib/esm/features/pdf-viewer/PdfPageSlider.js +0 -276
  381. package/lib/esm/features/pdf-viewer/PdfPageSlider.js.map +0 -1
  382. package/lib/esm/features/pdf-viewer/SimplePdfViewer.js +0 -71
  383. package/lib/esm/features/pdf-viewer/SimplePdfViewer.js.map +0 -1
  384. package/lib/esm/features/pdf-viewer/index.js +0 -4
  385. package/lib/esm/features/pdf-viewer/index.js.map +0 -1
  386. package/lib/esm/features/permissions/SecureButton.js +0 -13
  387. package/lib/esm/features/permissions/SecureButton.js.map +0 -1
  388. package/lib/esm/features/permissions/SecureSidebarItem.js +0 -14
  389. package/lib/esm/features/permissions/SecureSidebarItem.js.map +0 -1
  390. package/lib/esm/features/permissions/UserPermissionsProvider.js +0 -87
  391. package/lib/esm/features/permissions/UserPermissionsProvider.js.map +0 -1
  392. package/lib/esm/features/permissions/helpers.js +0 -12
  393. package/lib/esm/features/permissions/helpers.js.map +0 -1
  394. package/lib/esm/features/permissions/index.js +0 -5
  395. package/lib/esm/features/permissions/index.js.map +0 -1
  396. package/lib/esm/features/store/collections/BrowseCollectionView.js +0 -40
  397. package/lib/esm/features/store/collections/BrowseCollectionView.js.map +0 -1
  398. package/lib/esm/features/store/collections/CollectionsTable.js +0 -64
  399. package/lib/esm/features/store/collections/CollectionsTable.js.map +0 -1
  400. package/lib/esm/features/store/collections/CreateCollection.js +0 -87
  401. package/lib/esm/features/store/collections/CreateCollection.js.map +0 -1
  402. package/lib/esm/features/store/collections/EditCollectionView.js +0 -181
  403. package/lib/esm/features/store/collections/EditCollectionView.js.map +0 -1
  404. package/lib/esm/features/store/collections/SelectCollection.js +0 -119
  405. package/lib/esm/features/store/collections/SelectCollection.js.map +0 -1
  406. package/lib/esm/features/store/collections/SharedPropsEditor.js +0 -39
  407. package/lib/esm/features/store/collections/SharedPropsEditor.js.map +0 -1
  408. package/lib/esm/features/store/collections/SyncMemberHeadsToggle.js +0 -35
  409. package/lib/esm/features/store/collections/SyncMemberHeadsToggle.js.map +0 -1
  410. package/lib/esm/features/store/collections/index.js +0 -8
  411. package/lib/esm/features/store/collections/index.js.map +0 -1
  412. package/lib/esm/features/store/index.js +0 -4
  413. package/lib/esm/features/store/index.js.map +0 -1
  414. package/lib/esm/features/store/objects/DocumentPreviewPanel.js +0 -147
  415. package/lib/esm/features/store/objects/DocumentPreviewPanel.js.map +0 -1
  416. package/lib/esm/features/store/objects/DocumentSearchResults.js +0 -204
  417. package/lib/esm/features/store/objects/DocumentSearchResults.js.map +0 -1
  418. package/lib/esm/features/store/objects/DocumentSelectionProvider.js +0 -81
  419. package/lib/esm/features/store/objects/DocumentSelectionProvider.js.map +0 -1
  420. package/lib/esm/features/store/objects/DocumentTable.js +0 -278
  421. package/lib/esm/features/store/objects/DocumentTable.js.map +0 -1
  422. package/lib/esm/features/store/objects/ExportPropertiesModal.js +0 -31
  423. package/lib/esm/features/store/objects/ExportPropertiesModal.js.map +0 -1
  424. package/lib/esm/features/store/objects/components/ContentDispositionButton.js +0 -31
  425. package/lib/esm/features/store/objects/components/ContentDispositionButton.js.map +0 -1
  426. package/lib/esm/features/store/objects/components/ContentOverview.js +0 -520
  427. package/lib/esm/features/store/objects/components/ContentOverview.js.map +0 -1
  428. package/lib/esm/features/store/objects/components/DocumentIcon.js +0 -33
  429. package/lib/esm/features/store/objects/components/DocumentIcon.js.map +0 -1
  430. package/lib/esm/features/store/objects/components/DocumentInput.js +0 -51
  431. package/lib/esm/features/store/objects/components/DocumentInput.js.map +0 -1
  432. package/lib/esm/features/store/objects/components/PropertiesEditorModal.js +0 -157
  433. package/lib/esm/features/store/objects/components/PropertiesEditorModal.js.map +0 -1
  434. package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js +0 -53
  435. package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js.map +0 -1
  436. package/lib/esm/features/store/objects/components/SelectDocument.js +0 -55
  437. package/lib/esm/features/store/objects/components/SelectDocument.js.map +0 -1
  438. package/lib/esm/features/store/objects/components/SelectDocumentModal.js +0 -7
  439. package/lib/esm/features/store/objects/components/SelectDocumentModal.js.map +0 -1
  440. package/lib/esm/features/store/objects/components/VectorSearchWidget.js +0 -90
  441. package/lib/esm/features/store/objects/components/VectorSearchWidget.js.map +0 -1
  442. package/lib/esm/features/store/objects/components/index.js +0 -10
  443. package/lib/esm/features/store/objects/components/index.js.map +0 -1
  444. package/lib/esm/features/store/objects/components/useContentPanelHooks.js +0 -153
  445. package/lib/esm/features/store/objects/components/useContentPanelHooks.js.map +0 -1
  446. package/lib/esm/features/store/objects/components/useDownloadObject.js +0 -21
  447. package/lib/esm/features/store/objects/components/useDownloadObject.js.map +0 -1
  448. package/lib/esm/features/store/objects/index.js +0 -11
  449. package/lib/esm/features/store/objects/index.js.map +0 -1
  450. package/lib/esm/features/store/objects/layout/DocumentTableColumn.js +0 -86
  451. package/lib/esm/features/store/objects/layout/DocumentTableColumn.js.map +0 -1
  452. package/lib/esm/features/store/objects/layout/documentLayout.js +0 -15
  453. package/lib/esm/features/store/objects/layout/documentLayout.js.map +0 -1
  454. package/lib/esm/features/store/objects/layout/index.js +0 -3
  455. package/lib/esm/features/store/objects/layout/index.js.map +0 -1
  456. package/lib/esm/features/store/objects/layout/renderers.js +0 -157
  457. package/lib/esm/features/store/objects/layout/renderers.js.map +0 -1
  458. package/lib/esm/features/store/objects/search/DocumentSearchContext.js +0 -175
  459. package/lib/esm/features/store/objects/search/DocumentSearchContext.js.map +0 -1
  460. package/lib/esm/features/store/objects/search/DocumentSearchProvider.js +0 -39
  461. package/lib/esm/features/store/objects/search/DocumentSearchProvider.js.map +0 -1
  462. package/lib/esm/features/store/objects/search/index.js +0 -3
  463. package/lib/esm/features/store/objects/search/index.js.map +0 -1
  464. package/lib/esm/features/store/objects/selection/ObjectsActionContext.js +0 -150
  465. package/lib/esm/features/store/objects/selection/ObjectsActionContext.js.map +0 -1
  466. package/lib/esm/features/store/objects/selection/ObjectsActionSpec.js +0 -2
  467. package/lib/esm/features/store/objects/selection/ObjectsActionSpec.js.map +0 -1
  468. package/lib/esm/features/store/objects/selection/SelectionActions.js +0 -69
  469. package/lib/esm/features/store/objects/selection/SelectionActions.js.map +0 -1
  470. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js +0 -81
  471. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js.map +0 -1
  472. package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js +0 -53
  473. package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js.map +0 -1
  474. package/lib/esm/features/store/objects/selection/actions/ConfirmAction.js +0 -30
  475. package/lib/esm/features/store/objects/selection/actions/ConfirmAction.js.map +0 -1
  476. package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js +0 -84
  477. package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js.map +0 -1
  478. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js +0 -106
  479. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js.map +0 -1
  480. package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js +0 -64
  481. package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js.map +0 -1
  482. package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js +0 -72
  483. package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js.map +0 -1
  484. package/lib/esm/features/store/objects/selection/actions/index.js +0 -8
  485. package/lib/esm/features/store/objects/selection/actions/index.js.map +0 -1
  486. package/lib/esm/features/store/objects/selection/index.js +0 -5
  487. package/lib/esm/features/store/objects/selection/index.js.map +0 -1
  488. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js +0 -519
  489. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js.map +0 -1
  490. package/lib/esm/features/store/objects/upload/index.js +0 -4
  491. package/lib/esm/features/store/objects/upload/index.js.map +0 -1
  492. package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js +0 -195
  493. package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js.map +0 -1
  494. package/lib/esm/features/store/objects/upload/useUploadHandler.js +0 -230
  495. package/lib/esm/features/store/objects/upload/useUploadHandler.js.map +0 -1
  496. package/lib/esm/features/store/types/ContentObjectTypesSearch.js +0 -81
  497. package/lib/esm/features/store/types/ContentObjectTypesSearch.js.map +0 -1
  498. package/lib/esm/features/store/types/ContentObjectTypesTable.js +0 -11
  499. package/lib/esm/features/store/types/ContentObjectTypesTable.js.map +0 -1
  500. package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js +0 -26
  501. package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js.map +0 -1
  502. package/lib/esm/features/store/types/ObjectSchemaEditor.js +0 -101
  503. package/lib/esm/features/store/types/ObjectSchemaEditor.js.map +0 -1
  504. package/lib/esm/features/store/types/SelectContentType.js +0 -43
  505. package/lib/esm/features/store/types/SelectContentType.js.map +0 -1
  506. package/lib/esm/features/store/types/SelectContentTypeModal.js +0 -28
  507. package/lib/esm/features/store/types/SelectContentTypeModal.js.map +0 -1
  508. package/lib/esm/features/store/types/TableLayoutEditor.js +0 -76
  509. package/lib/esm/features/store/types/TableLayoutEditor.js.map +0 -1
  510. package/lib/esm/features/store/types/index.js +0 -9
  511. package/lib/esm/features/store/types/index.js.map +0 -1
  512. package/lib/esm/features/store/types/search/ObjectTypeSearchContext.js +0 -98
  513. package/lib/esm/features/store/types/search/ObjectTypeSearchContext.js.map +0 -1
  514. package/lib/esm/features/store/types/search/ObjectTypeSearchProvider.js +0 -15
  515. package/lib/esm/features/store/types/search/ObjectTypeSearchProvider.js.map +0 -1
  516. package/lib/esm/features/store/types/search/index.js +0 -3
  517. package/lib/esm/features/store/types/search/index.js.map +0 -1
  518. package/lib/esm/features/user/UserAvatar.js +0 -18
  519. package/lib/esm/features/user/UserAvatar.js.map +0 -1
  520. package/lib/esm/features/user/UserInfo.js +0 -121
  521. package/lib/esm/features/user/UserInfo.js.map +0 -1
  522. package/lib/esm/features/user/index.js +0 -3
  523. package/lib/esm/features/user/index.js.map +0 -1
  524. package/lib/esm/features/utils/index.js +0 -6
  525. package/lib/esm/features/utils/index.js.map +0 -1
  526. package/lib/esm/features/utils/mimeType.js +0 -17
  527. package/lib/esm/features/utils/mimeType.js.map +0 -1
  528. package/lib/esm/features/utils/print.js +0 -181
  529. package/lib/esm/features/utils/print.js.map +0 -1
  530. package/lib/esm/features/utils/rendition.js +0 -67
  531. package/lib/esm/features/utils/rendition.js.map +0 -1
  532. package/lib/esm/features/utils/text.js +0 -10
  533. package/lib/esm/features/utils/text.js.map +0 -1
  534. package/lib/esm/features/utils/workflowStatus.js +0 -43
  535. package/lib/esm/features/utils/workflowStatus.js.map +0 -1
  536. package/lib/esm/layout/AppLayout.js +0 -46
  537. package/lib/esm/layout/AppLayout.js.map +0 -1
  538. package/lib/esm/layout/FullHeightLayout.js +0 -18
  539. package/lib/esm/layout/FullHeightLayout.js.map +0 -1
  540. package/lib/esm/layout/Navbar.js +0 -40
  541. package/lib/esm/layout/Navbar.js.map +0 -1
  542. package/lib/esm/layout/Sidebar.js +0 -45
  543. package/lib/esm/layout/Sidebar.js.map +0 -1
  544. package/lib/esm/layout/SidebarContext.js +0 -10
  545. package/lib/esm/layout/SidebarContext.js.map +0 -1
  546. package/lib/esm/layout/TitleBar.js +0 -5
  547. package/lib/esm/layout/TitleBar.js.map +0 -1
  548. package/lib/esm/layout/index.js +0 -7
  549. package/lib/esm/layout/index.js.map +0 -1
  550. package/lib/esm/router/FixLinks.js +0 -23
  551. package/lib/esm/router/FixLinks.js.map +0 -1
  552. package/lib/esm/router/HistoryNavigator.js +0 -192
  553. package/lib/esm/router/HistoryNavigator.js.map +0 -1
  554. package/lib/esm/router/Nav.js +0 -26
  555. package/lib/esm/router/Nav.js.map +0 -1
  556. package/lib/esm/router/NestedNavigationContext.js +0 -19
  557. package/lib/esm/router/NestedNavigationContext.js.map +0 -1
  558. package/lib/esm/router/NestedRouterProvider.js +0 -44
  559. package/lib/esm/router/NestedRouterProvider.js.map +0 -1
  560. package/lib/esm/router/PathMatcher.js +0 -159
  561. package/lib/esm/router/PathMatcher.js.map +0 -1
  562. package/lib/esm/router/PathWithParams.js +0 -34
  563. package/lib/esm/router/PathWithParams.js.map +0 -1
  564. package/lib/esm/router/Route404.js +0 -18
  565. package/lib/esm/router/Route404.js.map +0 -1
  566. package/lib/esm/router/RouteComponent.js +0 -32
  567. package/lib/esm/router/RouteComponent.js.map +0 -1
  568. package/lib/esm/router/Router.js +0 -161
  569. package/lib/esm/router/Router.js.map +0 -1
  570. package/lib/esm/router/RouterProvider.js +0 -41
  571. package/lib/esm/router/RouterProvider.js.map +0 -1
  572. package/lib/esm/router/index.js +0 -11
  573. package/lib/esm/router/index.js.map +0 -1
  574. package/lib/esm/router/path.js +0 -140
  575. package/lib/esm/router/path.js.map +0 -1
  576. package/lib/esm/session/TypeRegistry.js +0 -24
  577. package/lib/esm/session/TypeRegistry.js.map +0 -1
  578. package/lib/esm/session/UserSession.js +0 -192
  579. package/lib/esm/session/UserSession.js.map +0 -1
  580. package/lib/esm/session/UserSessionProvider.js +0 -179
  581. package/lib/esm/session/UserSessionProvider.js.map +0 -1
  582. package/lib/esm/session/auth/composable.js +0 -255
  583. package/lib/esm/session/auth/composable.js.map +0 -1
  584. package/lib/esm/session/auth/firebase.js +0 -158
  585. package/lib/esm/session/auth/firebase.js.map +0 -1
  586. package/lib/esm/session/auth/useAuthState.js +0 -46
  587. package/lib/esm/session/auth/useAuthState.js.map +0 -1
  588. package/lib/esm/session/auth/useCurrentTenant.js +0 -63
  589. package/lib/esm/session/auth/useCurrentTenant.js.map +0 -1
  590. package/lib/esm/session/constants.js +0 -3
  591. package/lib/esm/session/constants.js.map +0 -1
  592. package/lib/esm/session/index.js +0 -8
  593. package/lib/esm/session/index.js.map +0 -1
  594. package/lib/esm/session/useUXTracking.js +0 -29
  595. package/lib/esm/session/useUXTracking.js.map +0 -1
  596. package/lib/esm/shell/SplashScreen.js +0 -26
  597. package/lib/esm/shell/SplashScreen.js.map +0 -1
  598. package/lib/esm/shell/VertesiaShell.js +0 -10
  599. package/lib/esm/shell/VertesiaShell.js.map +0 -1
  600. package/lib/esm/shell/apps/AppInstallationProvider.js +0 -13
  601. package/lib/esm/shell/apps/AppInstallationProvider.js.map +0 -1
  602. package/lib/esm/shell/apps/AppProjectSelector.js +0 -36
  603. package/lib/esm/shell/apps/AppProjectSelector.js.map +0 -1
  604. package/lib/esm/shell/apps/StandaloneApp.js +0 -60
  605. package/lib/esm/shell/apps/StandaloneApp.js.map +0 -1
  606. package/lib/esm/shell/apps/index.js +0 -4
  607. package/lib/esm/shell/apps/index.js.map +0 -1
  608. package/lib/esm/shell/index.js +0 -8
  609. package/lib/esm/shell/index.js.map +0 -1
  610. package/lib/esm/shell/login/EnterpriseSigninButton.js +0 -84
  611. package/lib/esm/shell/login/EnterpriseSigninButton.js.map +0 -1
  612. package/lib/esm/shell/login/GitHubSignInButton.js +0 -24
  613. package/lib/esm/shell/login/GitHubSignInButton.js.map +0 -1
  614. package/lib/esm/shell/login/GoogleSignInButton.js +0 -25
  615. package/lib/esm/shell/login/GoogleSignInButton.js.map +0 -1
  616. package/lib/esm/shell/login/InviteAcceptModal.js +0 -62
  617. package/lib/esm/shell/login/InviteAcceptModal.js.map +0 -1
  618. package/lib/esm/shell/login/MicrosoftSigninButton.js +0 -19
  619. package/lib/esm/shell/login/MicrosoftSigninButton.js.map +0 -1
  620. package/lib/esm/shell/login/PreviewIcon.js +0 -23
  621. package/lib/esm/shell/login/PreviewIcon.js.map +0 -1
  622. package/lib/esm/shell/login/SignInModal.js +0 -9
  623. package/lib/esm/shell/login/SignInModal.js.map +0 -1
  624. package/lib/esm/shell/login/SigninScreen.js +0 -64
  625. package/lib/esm/shell/login/SigninScreen.js.map +0 -1
  626. package/lib/esm/shell/login/SignupForm.js +0 -91
  627. package/lib/esm/shell/login/SignupForm.js.map +0 -1
  628. package/lib/esm/shell/login/TerminalLogin.js +0 -179
  629. package/lib/esm/shell/login/TerminalLogin.js.map +0 -1
  630. package/lib/esm/shell/login/UserInfo.js +0 -41
  631. package/lib/esm/shell/login/UserInfo.js.map +0 -1
  632. package/lib/esm/shell/login/UserSessionMenu.js +0 -37
  633. package/lib/esm/shell/login/UserSessionMenu.js.map +0 -1
  634. package/lib/esm/shell/utils.js +0 -6
  635. package/lib/esm/shell/utils.js.map +0 -1
  636. package/lib/esm/widgets/Progress.js +0 -5
  637. package/lib/esm/widgets/Progress.js.map +0 -1
  638. package/lib/esm/widgets/SvgIcon.js +0 -36
  639. package/lib/esm/widgets/SvgIcon.js.map +0 -1
  640. package/lib/esm/widgets/form/Form.js +0 -100
  641. package/lib/esm/widgets/form/Form.js.map +0 -1
  642. package/lib/esm/widgets/form/FormContext.js +0 -31
  643. package/lib/esm/widgets/form/FormContext.js.map +0 -1
  644. package/lib/esm/widgets/form/ManagedObject.js +0 -287
  645. package/lib/esm/widgets/form/ManagedObject.js.map +0 -1
  646. package/lib/esm/widgets/form/fields.js +0 -12
  647. package/lib/esm/widgets/form/fields.js.map +0 -1
  648. package/lib/esm/widgets/form/index.js +0 -7
  649. package/lib/esm/widgets/form/index.js.map +0 -1
  650. package/lib/esm/widgets/form/inputs.js +0 -38
  651. package/lib/esm/widgets/form/inputs.js.map +0 -1
  652. package/lib/esm/widgets/form/schema.js +0 -197
  653. package/lib/esm/widgets/form/schema.js.map +0 -1
  654. package/lib/esm/widgets/index.js +0 -12
  655. package/lib/esm/widgets/index.js.map +0 -1
  656. package/lib/esm/widgets/json-view/JSONCode.js +0 -22
  657. package/lib/esm/widgets/json-view/JSONCode.js.map +0 -1
  658. package/lib/esm/widgets/json-view/JSONDisplay.js +0 -10
  659. package/lib/esm/widgets/json-view/JSONDisplay.js.map +0 -1
  660. package/lib/esm/widgets/json-view/JSONView.js +0 -106
  661. package/lib/esm/widgets/json-view/JSONView.js.map +0 -1
  662. package/lib/esm/widgets/json-view/index.js +0 -4
  663. package/lib/esm/widgets/json-view/index.js.map +0 -1
  664. package/lib/esm/widgets/json-view/types.js +0 -2
  665. package/lib/esm/widgets/json-view/types.js.map +0 -1
  666. package/lib/esm/widgets/markdown/MarkdownRenderer.js +0 -246
  667. package/lib/esm/widgets/markdown/MarkdownRenderer.js.map +0 -1
  668. package/lib/esm/widgets/markdown/index.js +0 -2
  669. package/lib/esm/widgets/markdown/index.js.map +0 -1
  670. package/lib/esm/widgets/monacoEditor/MonacoEditor.js +0 -140
  671. package/lib/esm/widgets/monacoEditor/MonacoEditor.js.map +0 -1
  672. package/lib/esm/widgets/monacoEditor/index.js +0 -2
  673. package/lib/esm/widgets/monacoEditor/index.js.map +0 -1
  674. package/lib/esm/widgets/popover/Popover.js +0 -73
  675. package/lib/esm/widgets/popover/Popover.js.map +0 -1
  676. package/lib/esm/widgets/popover/context.js +0 -7
  677. package/lib/esm/widgets/popover/context.js.map +0 -1
  678. package/lib/esm/widgets/popover/index.js +0 -3
  679. package/lib/esm/widgets/popover/index.js.map +0 -1
  680. package/lib/esm/widgets/popover/slots.js +0 -22
  681. package/lib/esm/widgets/popover/slots.js.map +0 -1
  682. package/lib/esm/widgets/properties/PropertiesView.js +0 -8
  683. package/lib/esm/widgets/properties/PropertiesView.js.map +0 -1
  684. package/lib/esm/widgets/properties/index.js +0 -2
  685. package/lib/esm/widgets/properties/index.js.map +0 -1
  686. package/lib/esm/widgets/schema-editor/ManagedSchema.js +0 -300
  687. package/lib/esm/widgets/schema-editor/ManagedSchema.js.map +0 -1
  688. package/lib/esm/widgets/schema-editor/editor/Editable.js +0 -110
  689. package/lib/esm/widgets/schema-editor/editor/Editable.js.map +0 -1
  690. package/lib/esm/widgets/schema-editor/editor/EditableSchemaProperty.js +0 -8
  691. package/lib/esm/widgets/schema-editor/editor/EditableSchemaProperty.js.map +0 -1
  692. package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js +0 -81
  693. package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js.map +0 -1
  694. package/lib/esm/widgets/schema-editor/editor/PropertyViewer.js +0 -7
  695. package/lib/esm/widgets/schema-editor/editor/PropertyViewer.js.map +0 -1
  696. package/lib/esm/widgets/schema-editor/editor/SchemaContext.js +0 -9
  697. package/lib/esm/widgets/schema-editor/editor/SchemaContext.js.map +0 -1
  698. package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js +0 -84
  699. package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js.map +0 -1
  700. package/lib/esm/widgets/schema-editor/index.js +0 -7
  701. package/lib/esm/widgets/schema-editor/index.js.map +0 -1
  702. package/lib/esm/widgets/schema-editor/json-schema4-utils.js +0 -188
  703. package/lib/esm/widgets/schema-editor/json-schema4-utils.js.map +0 -1
  704. package/lib/esm/widgets/schema-editor/type-signature.js +0 -30
  705. package/lib/esm/widgets/schema-editor/type-signature.js.map +0 -1
  706. package/lib/esm/widgets/upload/DropZone.js +0 -175
  707. package/lib/esm/widgets/upload/DropZone.js.map +0 -1
  708. package/lib/esm/widgets/upload/UploadResultCategory.js +0 -19
  709. package/lib/esm/widgets/upload/UploadResultCategory.js.map +0 -1
  710. package/lib/esm/widgets/upload/UploadSummary.js +0 -30
  711. package/lib/esm/widgets/upload/UploadSummary.js.map +0 -1
  712. package/lib/esm/widgets/upload/index.js +0 -4
  713. package/lib/esm/widgets/upload/index.js.map +0 -1
  714. package/lib/esm/widgets/xml-viewer/components/Attributes/index.js +0 -11
  715. package/lib/esm/widgets/xml-viewer/components/Attributes/index.js.map +0 -1
  716. package/lib/esm/widgets/xml-viewer/components/CDataTag/index.js +0 -8
  717. package/lib/esm/widgets/xml-viewer/components/CDataTag/index.js.map +0 -1
  718. package/lib/esm/widgets/xml-viewer/components/CollapseIcon/index.js +0 -11
  719. package/lib/esm/widgets/xml-viewer/components/CollapseIcon/index.js.map +0 -1
  720. package/lib/esm/widgets/xml-viewer/components/CommentTag/index.js +0 -11
  721. package/lib/esm/widgets/xml-viewer/components/CommentTag/index.js.map +0 -1
  722. package/lib/esm/widgets/xml-viewer/components/DeclarationTag/index.js +0 -9
  723. package/lib/esm/widgets/xml-viewer/components/DeclarationTag/index.js.map +0 -1
  724. package/lib/esm/widgets/xml-viewer/components/Elements/index.js +0 -36
  725. package/lib/esm/widgets/xml-viewer/components/Elements/index.js.map +0 -1
  726. package/lib/esm/widgets/xml-viewer/components/InvalidXml/index.js +0 -5
  727. package/lib/esm/widgets/xml-viewer/components/InvalidXml/index.js.map +0 -1
  728. package/lib/esm/widgets/xml-viewer/components/Tag/index.js +0 -13
  729. package/lib/esm/widgets/xml-viewer/components/Tag/index.js.map +0 -1
  730. package/lib/esm/widgets/xml-viewer/components/TextElement/index.js +0 -13
  731. package/lib/esm/widgets/xml-viewer/components/TextElement/index.js.map +0 -1
  732. package/lib/esm/widgets/xml-viewer/components/XMLViewer.js +0 -39
  733. package/lib/esm/widgets/xml-viewer/components/XMLViewer.js.map +0 -1
  734. package/lib/esm/widgets/xml-viewer/components/types.js +0 -2
  735. package/lib/esm/widgets/xml-viewer/components/types.js.map +0 -1
  736. package/lib/esm/widgets/xml-viewer/constants/index.js +0 -27
  737. package/lib/esm/widgets/xml-viewer/constants/index.js.map +0 -1
  738. package/lib/esm/widgets/xml-viewer/context/xml-viewer-context.js +0 -10
  739. package/lib/esm/widgets/xml-viewer/context/xml-viewer-context.js.map +0 -1
  740. package/lib/esm/widgets/xml-viewer/helpers/index.js +0 -40
  741. package/lib/esm/widgets/xml-viewer/helpers/index.js.map +0 -1
  742. package/lib/esm/widgets/xml-viewer/hooks/useCollapsible.js +0 -22
  743. package/lib/esm/widgets/xml-viewer/hooks/useCollapsible.js.map +0 -1
  744. package/lib/esm/widgets/xml-viewer/hooks/useXMLViewer.js +0 -31
  745. package/lib/esm/widgets/xml-viewer/hooks/useXMLViewer.js.map +0 -1
  746. package/lib/esm/widgets/xml-viewer/index.js +0 -3
  747. package/lib/esm/widgets/xml-viewer/index.js.map +0 -1
  748. package/lib/esm/widgets/xml-viewer/types/index.js +0 -2
  749. package/lib/esm/widgets/xml-viewer/types/index.js.map +0 -1
  750. package/lib/tsconfig.tsbuildinfo +0 -1
  751. package/lib/types/core/components/Avatar.d.ts +0 -16
  752. package/lib/types/core/components/Avatar.d.ts.map +0 -1
  753. package/lib/types/core/components/Badge.d.ts +0 -21
  754. package/lib/types/core/components/Badge.d.ts.map +0 -1
  755. package/lib/types/core/components/Button.d.ts +0 -14
  756. package/lib/types/core/components/Button.d.ts.map +0 -1
  757. package/lib/types/core/components/Center.d.ts +0 -8
  758. package/lib/types/core/components/Center.d.ts.map +0 -1
  759. package/lib/types/core/components/ComboBox.d.ts +0 -124
  760. package/lib/types/core/components/ComboBox.d.ts.map +0 -1
  761. package/lib/types/core/components/ConfirmModal.d.ts +0 -11
  762. package/lib/types/core/components/ConfirmModal.d.ts.map +0 -1
  763. package/lib/types/core/components/DeleteModal.d.ts +0 -11
  764. package/lib/types/core/components/DeleteModal.d.ts.map +0 -1
  765. package/lib/types/core/components/Divider.d.ts +0 -6
  766. package/lib/types/core/components/Divider.d.ts.map +0 -1
  767. package/lib/types/core/components/Dropdown.d.ts +0 -15
  768. package/lib/types/core/components/Dropdown.d.ts.map +0 -1
  769. package/lib/types/core/components/DropdownList.d.ts +0 -13
  770. package/lib/types/core/components/DropdownList.d.ts.map +0 -1
  771. package/lib/types/core/components/EmptyCollection.d.ts +0 -9
  772. package/lib/types/core/components/EmptyCollection.d.ts.map +0 -1
  773. package/lib/types/core/components/FileUpload.d.ts +0 -29
  774. package/lib/types/core/components/FileUpload.d.ts.map +0 -1
  775. package/lib/types/core/components/FormItem.d.ts +0 -13
  776. package/lib/types/core/components/FormItem.d.ts.map +0 -1
  777. package/lib/types/core/components/InputList.d.ts +0 -12
  778. package/lib/types/core/components/InputList.d.ts.map +0 -1
  779. package/lib/types/core/components/Link.d.ts +0 -7
  780. package/lib/types/core/components/Link.d.ts.map +0 -1
  781. package/lib/types/core/components/MenuList.d.ts +0 -14
  782. package/lib/types/core/components/MenuList.d.ts.map +0 -1
  783. package/lib/types/core/components/MessageBox.d.ts +0 -36
  784. package/lib/types/core/components/MessageBox.d.ts.map +0 -1
  785. package/lib/types/core/components/Modal.d.ts +0 -30
  786. package/lib/types/core/components/Modal.d.ts.map +0 -1
  787. package/lib/types/core/components/NumberInput.d.ts +0 -16
  788. package/lib/types/core/components/NumberInput.d.ts.map +0 -1
  789. package/lib/types/core/components/Overlay.d.ts +0 -25
  790. package/lib/types/core/components/Overlay.d.ts.map +0 -1
  791. package/lib/types/core/components/Panel.d.ts +0 -11
  792. package/lib/types/core/components/Panel.d.ts.map +0 -1
  793. package/lib/types/core/components/Portal.d.ts +0 -6
  794. package/lib/types/core/components/Portal.d.ts.map +0 -1
  795. package/lib/types/core/components/RadioGroup.d.ts +0 -26
  796. package/lib/types/core/components/RadioGroup.d.ts.map +0 -1
  797. package/lib/types/core/components/SelectBox.d.ts +0 -36
  798. package/lib/types/core/components/SelectBox.d.ts.map +0 -1
  799. package/lib/types/core/components/SelectList.d.ts +0 -19
  800. package/lib/types/core/components/SelectList.d.ts.map +0 -1
  801. package/lib/types/core/components/SelectStack.d.ts +0 -13
  802. package/lib/types/core/components/SelectStack.d.ts.map +0 -1
  803. package/lib/types/core/components/SidePanel.d.ts +0 -11
  804. package/lib/types/core/components/SidePanel.d.ts.map +0 -1
  805. package/lib/types/core/components/Spinner.d.ts +0 -7
  806. package/lib/types/core/components/Spinner.d.ts.map +0 -1
  807. package/lib/types/core/components/Switch.d.ts +0 -11
  808. package/lib/types/core/components/Switch.d.ts.map +0 -1
  809. package/lib/types/core/components/TagsInput.d.ts +0 -16
  810. package/lib/types/core/components/TagsInput.d.ts.map +0 -1
  811. package/lib/types/core/components/index.d.ts +0 -40
  812. package/lib/types/core/components/index.d.ts.map +0 -1
  813. package/lib/types/core/components/libs/utils.d.ts +0 -3
  814. package/lib/types/core/components/libs/utils.d.ts.map +0 -1
  815. package/lib/types/core/components/libs/visuallyHidden.d.ts +0 -7
  816. package/lib/types/core/components/libs/visuallyHidden.d.ts.map +0 -1
  817. package/lib/types/core/components/popup/Popup.d.ts +0 -26
  818. package/lib/types/core/components/popup/Popup.d.ts.map +0 -1
  819. package/lib/types/core/components/popup/PopupController.d.ts +0 -41
  820. package/lib/types/core/components/popup/PopupController.d.ts.map +0 -1
  821. package/lib/types/core/components/popup/index.d.ts +0 -4
  822. package/lib/types/core/components/popup/index.d.ts.map +0 -1
  823. package/lib/types/core/components/popup/position.d.ts +0 -59
  824. package/lib/types/core/components/popup/position.d.ts.map +0 -1
  825. package/lib/types/core/components/popup/utils.d.ts +0 -30
  826. package/lib/types/core/components/popup/utils.d.ts.map +0 -1
  827. package/lib/types/core/components/shadcn/breadcrumb.d.ts +0 -15
  828. package/lib/types/core/components/shadcn/breadcrumb.d.ts.map +0 -1
  829. package/lib/types/core/components/shadcn/button.d.ts +0 -27
  830. package/lib/types/core/components/shadcn/button.d.ts.map +0 -1
  831. package/lib/types/core/components/shadcn/calendar.d.ts +0 -11
  832. package/lib/types/core/components/shadcn/calendar.d.ts.map +0 -1
  833. package/lib/types/core/components/shadcn/card.d.ts +0 -9
  834. package/lib/types/core/components/shadcn/card.d.ts.map +0 -1
  835. package/lib/types/core/components/shadcn/checkbox.d.ts +0 -5
  836. package/lib/types/core/components/shadcn/checkbox.d.ts.map +0 -1
  837. package/lib/types/core/components/shadcn/command.d.ts +0 -17
  838. package/lib/types/core/components/shadcn/command.d.ts.map +0 -1
  839. package/lib/types/core/components/shadcn/dialog.d.ts +0 -38
  840. package/lib/types/core/components/shadcn/dialog.d.ts.map +0 -1
  841. package/lib/types/core/components/shadcn/filters/DynamicLabel.d.ts +0 -9
  842. package/lib/types/core/components/shadcn/filters/DynamicLabel.d.ts.map +0 -1
  843. package/lib/types/core/components/shadcn/filters/animateChangeInHeight.d.ts +0 -7
  844. package/lib/types/core/components/shadcn/filters/animateChangeInHeight.d.ts.map +0 -1
  845. package/lib/types/core/components/shadcn/filters/comboBox/DateCombobox.d.ts +0 -6
  846. package/lib/types/core/components/shadcn/filters/comboBox/DateCombobox.d.ts.map +0 -1
  847. package/lib/types/core/components/shadcn/filters/comboBox/SelectCombobox.d.ts +0 -9
  848. package/lib/types/core/components/shadcn/filters/comboBox/SelectCombobox.d.ts.map +0 -1
  849. package/lib/types/core/components/shadcn/filters/comboBox/StringListCombobox.d.ts +0 -6
  850. package/lib/types/core/components/shadcn/filters/comboBox/StringListCombobox.d.ts.map +0 -1
  851. package/lib/types/core/components/shadcn/filters/comboBox/TextCombobox.d.ts +0 -6
  852. package/lib/types/core/components/shadcn/filters/comboBox/TextCombobox.d.ts.map +0 -1
  853. package/lib/types/core/components/shadcn/filters/comboBox/comboBox.d.ts +0 -5
  854. package/lib/types/core/components/shadcn/filters/comboBox/comboBox.d.ts.map +0 -1
  855. package/lib/types/core/components/shadcn/filters/filter/SelectFilter.d.ts +0 -12
  856. package/lib/types/core/components/shadcn/filters/filter/SelectFilter.d.ts.map +0 -1
  857. package/lib/types/core/components/shadcn/filters/filter/StringListFilter.d.ts +0 -11
  858. package/lib/types/core/components/shadcn/filters/filter/StringListFilter.d.ts.map +0 -1
  859. package/lib/types/core/components/shadcn/filters/filter/TextFilter.d.ts +0 -13
  860. package/lib/types/core/components/shadcn/filters/filter/TextFilter.d.ts.map +0 -1
  861. package/lib/types/core/components/shadcn/filters/filter/dateFilter.d.ts +0 -14
  862. package/lib/types/core/components/shadcn/filters/filter/dateFilter.d.ts.map +0 -1
  863. package/lib/types/core/components/shadcn/filters/filter-styles.d.ts +0 -2
  864. package/lib/types/core/components/shadcn/filters/filter-styles.d.ts.map +0 -1
  865. package/lib/types/core/components/shadcn/filters/filterBar.d.ts +0 -20
  866. package/lib/types/core/components/shadcn/filters/filterBar.d.ts.map +0 -1
  867. package/lib/types/core/components/shadcn/filters/filters.d.ts +0 -10
  868. package/lib/types/core/components/shadcn/filters/filters.d.ts.map +0 -1
  869. package/lib/types/core/components/shadcn/filters/index.d.ts +0 -6
  870. package/lib/types/core/components/shadcn/filters/index.d.ts.map +0 -1
  871. package/lib/types/core/components/shadcn/filters/types.d.ts +0 -35
  872. package/lib/types/core/components/shadcn/filters/types.d.ts.map +0 -1
  873. package/lib/types/core/components/shadcn/heading.d.ts +0 -6
  874. package/lib/types/core/components/shadcn/heading.d.ts.map +0 -1
  875. package/lib/types/core/components/shadcn/index.d.ts +0 -23
  876. package/lib/types/core/components/shadcn/index.d.ts.map +0 -1
  877. package/lib/types/core/components/shadcn/input.d.ts +0 -17
  878. package/lib/types/core/components/shadcn/input.d.ts.map +0 -1
  879. package/lib/types/core/components/shadcn/label.d.ts +0 -8
  880. package/lib/types/core/components/shadcn/label.d.ts.map +0 -1
  881. package/lib/types/core/components/shadcn/popover.d.ts +0 -24
  882. package/lib/types/core/components/shadcn/popover.d.ts.map +0 -1
  883. package/lib/types/core/components/shadcn/resizeable.d.ts +0 -9
  884. package/lib/types/core/components/shadcn/resizeable.d.ts.map +0 -1
  885. package/lib/types/core/components/shadcn/selectBox.d.ts +0 -36
  886. package/lib/types/core/components/shadcn/selectBox.d.ts.map +0 -1
  887. package/lib/types/core/components/shadcn/separator.d.ts +0 -5
  888. package/lib/types/core/components/shadcn/separator.d.ts.map +0 -1
  889. package/lib/types/core/components/shadcn/tabs.d.ts +0 -33
  890. package/lib/types/core/components/shadcn/tabs.d.ts.map +0 -1
  891. package/lib/types/core/components/shadcn/text.d.ts +0 -11
  892. package/lib/types/core/components/shadcn/text.d.ts.map +0 -1
  893. package/lib/types/core/components/shadcn/textarea.d.ts +0 -4
  894. package/lib/types/core/components/shadcn/textarea.d.ts.map +0 -1
  895. package/lib/types/core/components/shadcn/theme/ThemeProvider.d.ts +0 -15
  896. package/lib/types/core/components/shadcn/theme/ThemeProvider.d.ts.map +0 -1
  897. package/lib/types/core/components/shadcn/theme/ThemeSwitcher.d.ts +0 -10
  898. package/lib/types/core/components/shadcn/theme/ThemeSwitcher.d.ts.map +0 -1
  899. package/lib/types/core/components/shadcn/tooltip.d.ts +0 -20
  900. package/lib/types/core/components/shadcn/tooltip.d.ts.map +0 -1
  901. package/lib/types/core/components/styles.d.ts +0 -7
  902. package/lib/types/core/components/styles.d.ts.map +0 -1
  903. package/lib/types/core/components/table/index.d.ts +0 -19
  904. package/lib/types/core/components/table/index.d.ts.map +0 -1
  905. package/lib/types/core/components/tabs/Tabs.d.ts +0 -25
  906. package/lib/types/core/components/tabs/Tabs.d.ts.map +0 -1
  907. package/lib/types/core/components/tabs/TabsContext.d.ts +0 -17
  908. package/lib/types/core/components/tabs/TabsContext.d.ts.map +0 -1
  909. package/lib/types/core/components/tabs/index.d.ts +0 -3
  910. package/lib/types/core/components/tabs/index.d.ts.map +0 -1
  911. package/lib/types/core/components/toast/NotificationPanel.d.ts +0 -8
  912. package/lib/types/core/components/toast/NotificationPanel.d.ts.map +0 -1
  913. package/lib/types/core/components/toast/ToastContext.d.ts +0 -6
  914. package/lib/types/core/components/toast/ToastContext.d.ts.map +0 -1
  915. package/lib/types/core/components/toast/ToastProps.d.ts +0 -7
  916. package/lib/types/core/components/toast/ToastProps.d.ts.map +0 -1
  917. package/lib/types/core/components/toast/ToastProvider.d.ts +0 -6
  918. package/lib/types/core/components/toast/ToastProvider.d.ts.map +0 -1
  919. package/lib/types/core/components/toast/index.d.ts +0 -3
  920. package/lib/types/core/components/toast/index.d.ts.map +0 -1
  921. package/lib/types/core/hooks/CompositeState.d.ts +0 -137
  922. package/lib/types/core/hooks/CompositeState.d.ts.map +0 -1
  923. package/lib/types/core/hooks/PortalContainerProvider.d.ts +0 -7
  924. package/lib/types/core/hooks/PortalContainerProvider.d.ts.map +0 -1
  925. package/lib/types/core/hooks/SharedState.d.ts +0 -10
  926. package/lib/types/core/hooks/SharedState.d.ts.map +0 -1
  927. package/lib/types/core/hooks/index.d.ts +0 -16
  928. package/lib/types/core/hooks/index.d.ts.map +0 -1
  929. package/lib/types/core/hooks/useClickOutside.d.ts +0 -8
  930. package/lib/types/core/hooks/useClickOutside.d.ts.map +0 -1
  931. package/lib/types/core/hooks/useCopyToClipboard.d.ts +0 -5
  932. package/lib/types/core/hooks/useCopyToClipboard.d.ts.map +0 -1
  933. package/lib/types/core/hooks/useDarkMode.d.ts +0 -2
  934. package/lib/types/core/hooks/useDarkMode.d.ts.map +0 -1
  935. package/lib/types/core/hooks/useDebounce.d.ts +0 -2
  936. package/lib/types/core/hooks/useDebounce.d.ts.map +0 -1
  937. package/lib/types/core/hooks/useEventSource.d.ts +0 -2
  938. package/lib/types/core/hooks/useEventSource.d.ts.map +0 -1
  939. package/lib/types/core/hooks/useFetch.d.ts +0 -24
  940. package/lib/types/core/hooks/useFetch.d.ts.map +0 -1
  941. package/lib/types/core/hooks/useFlag.d.ts +0 -9
  942. package/lib/types/core/hooks/useFlag.d.ts.map +0 -1
  943. package/lib/types/core/hooks/useIntersectionObserver.d.ts +0 -14
  944. package/lib/types/core/hooks/useIntersectionObserver.d.ts.map +0 -1
  945. package/lib/types/core/hooks/useIsFistRendering.d.ts +0 -2
  946. package/lib/types/core/hooks/useIsFistRendering.d.ts.map +0 -1
  947. package/lib/types/core/hooks/useSafeLayoutEffect.d.ts +0 -4
  948. package/lib/types/core/hooks/useSafeLayoutEffect.d.ts.map +0 -1
  949. package/lib/types/core/hooks/useScrollableSearch.d.ts +0 -82
  950. package/lib/types/core/hooks/useScrollableSearch.d.ts.map +0 -1
  951. package/lib/types/core/hooks/useSharedValue.d.ts +0 -12
  952. package/lib/types/core/hooks/useSharedValue.d.ts.map +0 -1
  953. package/lib/types/core/index.d.ts +0 -4
  954. package/lib/types/core/index.d.ts.map +0 -1
  955. package/lib/types/core/utils/cn.d.ts +0 -3
  956. package/lib/types/core/utils/cn.d.ts.map +0 -1
  957. package/lib/types/core/utils/index.d.ts +0 -2
  958. package/lib/types/core/utils/index.d.ts.map +0 -1
  959. package/lib/types/env/index.d.ts +0 -76
  960. package/lib/types/env/index.d.ts.map +0 -1
  961. package/lib/types/features/activity-doc/ActivityDoc.d.ts +0 -14
  962. package/lib/types/features/activity-doc/ActivityDoc.d.ts.map +0 -1
  963. package/lib/types/features/activity-doc/index.d.ts +0 -2
  964. package/lib/types/features/activity-doc/index.d.ts.map +0 -1
  965. package/lib/types/features/agent/PayloadBuilder.d.ts +0 -66
  966. package/lib/types/features/agent/PayloadBuilder.d.ts.map +0 -1
  967. package/lib/types/features/agent/chat/AgentChart.d.ts +0 -48
  968. package/lib/types/features/agent/chat/AgentChart.d.ts.map +0 -1
  969. package/lib/types/features/agent/chat/AnimatedThinkingDots.d.ts +0 -38
  970. package/lib/types/features/agent/chat/AnimatedThinkingDots.d.ts.map +0 -1
  971. package/lib/types/features/agent/chat/JumpingDots.d.ts +0 -7
  972. package/lib/types/features/agent/chat/JumpingDots.d.ts.map +0 -1
  973. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts +0 -25
  974. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts.map +0 -1
  975. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +0 -23
  976. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +0 -1
  977. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts +0 -20
  978. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts.map +0 -1
  979. package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlideInPanel.d.ts +0 -11
  980. package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlideInPanel.d.ts.map +0 -1
  981. package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts +0 -18
  982. package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts.map +0 -1
  983. package/lib/types/features/agent/chat/ModernAgentOutput/MessageInput.d.ts +0 -11
  984. package/lib/types/features/agent/chat/ModernAgentOutput/MessageInput.d.ts.map +0 -1
  985. package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts +0 -8
  986. package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +0 -1
  987. package/lib/types/features/agent/chat/ModernAgentOutput/MessagesContainer.d.ts +0 -10
  988. package/lib/types/features/agent/chat/ModernAgentOutput/MessagesContainer.d.ts.map +0 -1
  989. package/lib/types/features/agent/chat/ModernAgentOutput/PlanPanel.d.ts +0 -9
  990. package/lib/types/features/agent/chat/ModernAgentOutput/PlanPanel.d.ts.map +0 -1
  991. package/lib/types/features/agent/chat/ModernAgentOutput/SlideInPanel.d.ts +0 -11
  992. package/lib/types/features/agent/chat/ModernAgentOutput/SlideInPanel.d.ts.map +0 -1
  993. package/lib/types/features/agent/chat/ModernAgentOutput/SlidingMessages.d.ts +0 -8
  994. package/lib/types/features/agent/chat/ModernAgentOutput/SlidingMessages.d.ts.map +0 -1
  995. package/lib/types/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.d.ts +0 -10
  996. package/lib/types/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.d.ts.map +0 -1
  997. package/lib/types/features/agent/chat/ModernAgentOutput/StackedMessages.d.ts +0 -8
  998. package/lib/types/features/agent/chat/ModernAgentOutput/StackedMessages.d.ts.map +0 -1
  999. package/lib/types/features/agent/chat/ModernAgentOutput/WorkstreamTabs.d.ts +0 -22
  1000. package/lib/types/features/agent/chat/ModernAgentOutput/WorkstreamTabs.d.ts.map +0 -1
  1001. package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts +0 -25
  1002. package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts.map +0 -1
  1003. package/lib/types/features/agent/chat/SlidingThinkingIndicator.d.ts +0 -18
  1004. package/lib/types/features/agent/chat/SlidingThinkingIndicator.d.ts.map +0 -1
  1005. package/lib/types/features/agent/chat/WaitingMessages.d.ts +0 -2
  1006. package/lib/types/features/agent/chat/WaitingMessages.d.ts.map +0 -1
  1007. package/lib/types/features/agent/chat/index.d.ts +0 -6
  1008. package/lib/types/features/agent/chat/index.d.ts.map +0 -1
  1009. package/lib/types/features/agent/createChartTool.d.ts +0 -178
  1010. package/lib/types/features/agent/createChartTool.d.ts.map +0 -1
  1011. package/lib/types/features/agent/examples.d.ts +0 -59
  1012. package/lib/types/features/agent/examples.d.ts.map +0 -1
  1013. package/lib/types/features/agent/index.d.ts +0 -5
  1014. package/lib/types/features/agent/index.d.ts.map +0 -1
  1015. package/lib/types/features/agent/visualization.d.ts +0 -95
  1016. package/lib/types/features/agent/visualization.d.ts.map +0 -1
  1017. package/lib/types/features/errors/PanelErrorBoundary.d.ts +0 -5
  1018. package/lib/types/features/errors/PanelErrorBoundary.d.ts.map +0 -1
  1019. package/lib/types/features/errors/RowErrorBoundary.d.ts +0 -8
  1020. package/lib/types/features/errors/RowErrorBoundary.d.ts.map +0 -1
  1021. package/lib/types/features/errors/VertesiaErrorBoundary.d.ts +0 -12
  1022. package/lib/types/features/errors/VertesiaErrorBoundary.d.ts.map +0 -1
  1023. package/lib/types/features/errors/WidgetErrorBoundary.d.ts +0 -5
  1024. package/lib/types/features/errors/WidgetErrorBoundary.d.ts.map +0 -1
  1025. package/lib/types/features/errors/index.d.ts +0 -5
  1026. package/lib/types/features/errors/index.d.ts.map +0 -1
  1027. package/lib/types/features/facets/AgentRunnerFacetsNav.d.ts +0 -14
  1028. package/lib/types/features/facets/AgentRunnerFacetsNav.d.ts.map +0 -1
  1029. package/lib/types/features/facets/CollectionsFacetsNav.d.ts +0 -14
  1030. package/lib/types/features/facets/CollectionsFacetsNav.d.ts.map +0 -1
  1031. package/lib/types/features/facets/DocumentsFacetsNav.d.ts +0 -17
  1032. package/lib/types/features/facets/DocumentsFacetsNav.d.ts.map +0 -1
  1033. package/lib/types/features/facets/EnvironmentFacet.d.ts +0 -10
  1034. package/lib/types/features/facets/EnvironmentFacet.d.ts.map +0 -1
  1035. package/lib/types/features/facets/InteractionsFacetsNav.d.ts +0 -14
  1036. package/lib/types/features/facets/InteractionsFacetsNav.d.ts.map +0 -1
  1037. package/lib/types/features/facets/PromptsFacetsNav.d.ts +0 -15
  1038. package/lib/types/features/facets/PromptsFacetsNav.d.ts.map +0 -1
  1039. package/lib/types/features/facets/RunsFacetsNav.d.ts +0 -20
  1040. package/lib/types/features/facets/RunsFacetsNav.d.ts.map +0 -1
  1041. package/lib/types/features/facets/WorkflowExecutionsFacetsNav.d.ts +0 -14
  1042. package/lib/types/features/facets/WorkflowExecutionsFacetsNav.d.ts.map +0 -1
  1043. package/lib/types/features/facets/index.d.ts +0 -16
  1044. package/lib/types/features/facets/index.d.ts.map +0 -1
  1045. package/lib/types/features/facets/utils/SearchInterface.d.ts +0 -14
  1046. package/lib/types/features/facets/utils/SearchInterface.d.ts.map +0 -1
  1047. package/lib/types/features/facets/utils/StringFacet.d.ts +0 -11
  1048. package/lib/types/features/facets/utils/StringFacet.d.ts.map +0 -1
  1049. package/lib/types/features/facets/utils/StringListFacet.d.ts +0 -11
  1050. package/lib/types/features/facets/utils/StringListFacet.d.ts.map +0 -1
  1051. package/lib/types/features/facets/utils/TypeFacet.d.ts +0 -16
  1052. package/lib/types/features/facets/utils/TypeFacet.d.ts.map +0 -1
  1053. package/lib/types/features/facets/utils/VEnvironmentFacet.d.ts +0 -12
  1054. package/lib/types/features/facets/utils/VEnvironmentFacet.d.ts.map +0 -1
  1055. package/lib/types/features/facets/utils/VInteractionFacet.d.ts +0 -15
  1056. package/lib/types/features/facets/utils/VInteractionFacet.d.ts.map +0 -1
  1057. package/lib/types/features/facets/utils/VStringFacet.d.ts +0 -21
  1058. package/lib/types/features/facets/utils/VStringFacet.d.ts.map +0 -1
  1059. package/lib/types/features/facets/utils/VTypeFacet.d.ts +0 -12
  1060. package/lib/types/features/facets/utils/VTypeFacet.d.ts.map +0 -1
  1061. package/lib/types/features/facets/utils/VUserFacet.d.ts +0 -11
  1062. package/lib/types/features/facets/utils/VUserFacet.d.ts.map +0 -1
  1063. package/lib/types/features/facets/utils/utils.d.ts +0 -4
  1064. package/lib/types/features/facets/utils/utils.d.ts.map +0 -1
  1065. package/lib/types/features/index.d.ts +0 -12
  1066. package/lib/types/features/index.d.ts.map +0 -1
  1067. package/lib/types/features/layout/GenericPageNavHeader.d.ts +0 -14
  1068. package/lib/types/features/layout/GenericPageNavHeader.d.ts.map +0 -1
  1069. package/lib/types/features/layout/NotFoundView.d.ts +0 -5
  1070. package/lib/types/features/layout/NotFoundView.d.ts.map +0 -1
  1071. package/lib/types/features/layout/index.d.ts +0 -3
  1072. package/lib/types/features/layout/index.d.ts.map +0 -1
  1073. package/lib/types/features/magic-pdf/AnnotatedImageSlider.d.ts +0 -13
  1074. package/lib/types/features/magic-pdf/AnnotatedImageSlider.d.ts.map +0 -1
  1075. package/lib/types/features/magic-pdf/DownloadPopover.d.ts +0 -7
  1076. package/lib/types/features/magic-pdf/DownloadPopover.d.ts.map +0 -1
  1077. package/lib/types/features/magic-pdf/ExtractedContentView.d.ts +0 -8
  1078. package/lib/types/features/magic-pdf/ExtractedContentView.d.ts.map +0 -1
  1079. package/lib/types/features/magic-pdf/MagicPdfProvider.d.ts +0 -58
  1080. package/lib/types/features/magic-pdf/MagicPdfProvider.d.ts.map +0 -1
  1081. package/lib/types/features/magic-pdf/MagicPdfView.d.ts +0 -7
  1082. package/lib/types/features/magic-pdf/MagicPdfView.d.ts.map +0 -1
  1083. package/lib/types/features/magic-pdf/index.d.ts +0 -2
  1084. package/lib/types/features/magic-pdf/index.d.ts.map +0 -1
  1085. package/lib/types/features/magic-pdf/types.d.ts +0 -2
  1086. package/lib/types/features/magic-pdf/types.d.ts.map +0 -1
  1087. package/lib/types/features/pdf-viewer/PdfPageRenderer.d.ts +0 -83
  1088. package/lib/types/features/pdf-viewer/PdfPageRenderer.d.ts.map +0 -1
  1089. package/lib/types/features/pdf-viewer/PdfPageSlider.d.ts +0 -29
  1090. package/lib/types/features/pdf-viewer/PdfPageSlider.d.ts.map +0 -1
  1091. package/lib/types/features/pdf-viewer/SimplePdfViewer.d.ts +0 -19
  1092. package/lib/types/features/pdf-viewer/SimplePdfViewer.d.ts.map +0 -1
  1093. package/lib/types/features/pdf-viewer/index.d.ts +0 -4
  1094. package/lib/types/features/pdf-viewer/index.d.ts.map +0 -1
  1095. package/lib/types/features/permissions/SecureButton.d.ts +0 -8
  1096. package/lib/types/features/permissions/SecureButton.d.ts.map +0 -1
  1097. package/lib/types/features/permissions/SecureSidebarItem.d.ts +0 -8
  1098. package/lib/types/features/permissions/SecureSidebarItem.d.ts.map +0 -1
  1099. package/lib/types/features/permissions/UserPermissionsProvider.d.ts +0 -21
  1100. package/lib/types/features/permissions/UserPermissionsProvider.d.ts.map +0 -1
  1101. package/lib/types/features/permissions/helpers.d.ts +0 -5
  1102. package/lib/types/features/permissions/helpers.d.ts.map +0 -1
  1103. package/lib/types/features/permissions/index.d.ts +0 -5
  1104. package/lib/types/features/permissions/index.d.ts.map +0 -1
  1105. package/lib/types/features/store/collections/BrowseCollectionView.d.ts +0 -7
  1106. package/lib/types/features/store/collections/BrowseCollectionView.d.ts.map +0 -1
  1107. package/lib/types/features/store/collections/CollectionsTable.d.ts +0 -6
  1108. package/lib/types/features/store/collections/CollectionsTable.d.ts.map +0 -1
  1109. package/lib/types/features/store/collections/CreateCollection.d.ts +0 -13
  1110. package/lib/types/features/store/collections/CreateCollection.d.ts.map +0 -1
  1111. package/lib/types/features/store/collections/EditCollectionView.d.ts +0 -8
  1112. package/lib/types/features/store/collections/EditCollectionView.d.ts.map +0 -1
  1113. package/lib/types/features/store/collections/SelectCollection.d.ts +0 -20
  1114. package/lib/types/features/store/collections/SelectCollection.d.ts.map +0 -1
  1115. package/lib/types/features/store/collections/SharedPropsEditor.d.ts +0 -7
  1116. package/lib/types/features/store/collections/SharedPropsEditor.d.ts.map +0 -1
  1117. package/lib/types/features/store/collections/SyncMemberHeadsToggle.d.ts +0 -7
  1118. package/lib/types/features/store/collections/SyncMemberHeadsToggle.d.ts.map +0 -1
  1119. package/lib/types/features/store/collections/index.d.ts +0 -8
  1120. package/lib/types/features/store/collections/index.d.ts.map +0 -1
  1121. package/lib/types/features/store/index.d.ts +0 -4
  1122. package/lib/types/features/store/index.d.ts.map +0 -1
  1123. package/lib/types/features/store/objects/DocumentPreviewPanel.d.ts +0 -8
  1124. package/lib/types/features/store/objects/DocumentPreviewPanel.d.ts.map +0 -1
  1125. package/lib/types/features/store/objects/DocumentSearchResults.d.ts +0 -20
  1126. package/lib/types/features/store/objects/DocumentSearchResults.d.ts.map +0 -1
  1127. package/lib/types/features/store/objects/DocumentSelectionProvider.d.ts +0 -33
  1128. package/lib/types/features/store/objects/DocumentSelectionProvider.d.ts.map +0 -1
  1129. package/lib/types/features/store/objects/DocumentTable.d.ts +0 -25
  1130. package/lib/types/features/store/objects/DocumentTable.d.ts.map +0 -1
  1131. package/lib/types/features/store/objects/ExportPropertiesModal.d.ts +0 -12
  1132. package/lib/types/features/store/objects/ExportPropertiesModal.d.ts.map +0 -1
  1133. package/lib/types/features/store/objects/components/ContentDispositionButton.d.ts +0 -9
  1134. package/lib/types/features/store/objects/components/ContentDispositionButton.d.ts.map +0 -1
  1135. package/lib/types/features/store/objects/components/ContentOverview.d.ts +0 -9
  1136. package/lib/types/features/store/objects/components/ContentOverview.d.ts.map +0 -1
  1137. package/lib/types/features/store/objects/components/DocumentIcon.d.ts +0 -18
  1138. package/lib/types/features/store/objects/components/DocumentIcon.d.ts.map +0 -1
  1139. package/lib/types/features/store/objects/components/DocumentInput.d.ts +0 -8
  1140. package/lib/types/features/store/objects/components/DocumentInput.d.ts.map +0 -1
  1141. package/lib/types/features/store/objects/components/PropertiesEditorModal.d.ts +0 -9
  1142. package/lib/types/features/store/objects/components/PropertiesEditorModal.d.ts.map +0 -1
  1143. package/lib/types/features/store/objects/components/SaveVersionConfirmModal.d.ts +0 -9
  1144. package/lib/types/features/store/objects/components/SaveVersionConfirmModal.d.ts.map +0 -1
  1145. package/lib/types/features/store/objects/components/SelectDocument.d.ts +0 -9
  1146. package/lib/types/features/store/objects/components/SelectDocument.d.ts.map +0 -1
  1147. package/lib/types/features/store/objects/components/SelectDocumentModal.d.ts +0 -9
  1148. package/lib/types/features/store/objects/components/SelectDocumentModal.d.ts.map +0 -1
  1149. package/lib/types/features/store/objects/components/VectorSearchWidget.d.ts +0 -12
  1150. package/lib/types/features/store/objects/components/VectorSearchWidget.d.ts.map +0 -1
  1151. package/lib/types/features/store/objects/components/index.d.ts +0 -10
  1152. package/lib/types/features/store/objects/components/index.d.ts.map +0 -1
  1153. package/lib/types/features/store/objects/components/useContentPanelHooks.d.ts +0 -30
  1154. package/lib/types/features/store/objects/components/useContentPanelHooks.d.ts.map +0 -1
  1155. package/lib/types/features/store/objects/components/useDownloadObject.d.ts +0 -4
  1156. package/lib/types/features/store/objects/components/useDownloadObject.d.ts.map +0 -1
  1157. package/lib/types/features/store/objects/index.d.ts +0 -11
  1158. package/lib/types/features/store/objects/index.d.ts.map +0 -1
  1159. package/lib/types/features/store/objects/layout/DocumentTableColumn.d.ts +0 -18
  1160. package/lib/types/features/store/objects/layout/DocumentTableColumn.d.ts.map +0 -1
  1161. package/lib/types/features/store/objects/layout/documentLayout.d.ts +0 -20
  1162. package/lib/types/features/store/objects/layout/documentLayout.d.ts.map +0 -1
  1163. package/lib/types/features/store/objects/layout/index.d.ts +0 -3
  1164. package/lib/types/features/store/objects/layout/index.d.ts.map +0 -1
  1165. package/lib/types/features/store/objects/layout/renderers.d.ts +0 -3
  1166. package/lib/types/features/store/objects/layout/renderers.d.ts.map +0 -1
  1167. package/lib/types/features/store/objects/search/DocumentSearchContext.d.ts +0 -52
  1168. package/lib/types/features/store/objects/search/DocumentSearchContext.d.ts.map +0 -1
  1169. package/lib/types/features/store/objects/search/DocumentSearchProvider.d.ts +0 -14
  1170. package/lib/types/features/store/objects/search/DocumentSearchProvider.d.ts.map +0 -1
  1171. package/lib/types/features/store/objects/search/index.d.ts +0 -3
  1172. package/lib/types/features/store/objects/search/index.d.ts.map +0 -1
  1173. package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts +0 -26
  1174. package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts.map +0 -1
  1175. package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts +0 -28
  1176. package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts.map +0 -1
  1177. package/lib/types/features/store/objects/selection/SelectionActions.d.ts +0 -6
  1178. package/lib/types/features/store/objects/selection/SelectionActions.d.ts.map +0 -1
  1179. package/lib/types/features/store/objects/selection/actions/AddToCollectionAction.d.ts +0 -4
  1180. package/lib/types/features/store/objects/selection/actions/AddToCollectionAction.d.ts.map +0 -1
  1181. package/lib/types/features/store/objects/selection/actions/ChangeTypeAction.d.ts +0 -4
  1182. package/lib/types/features/store/objects/selection/actions/ChangeTypeAction.d.ts.map +0 -1
  1183. package/lib/types/features/store/objects/selection/actions/ConfirmAction.d.ts +0 -16
  1184. package/lib/types/features/store/objects/selection/actions/ConfirmAction.d.ts.map +0 -1
  1185. package/lib/types/features/store/objects/selection/actions/DeleteObjectsAction.d.ts +0 -5
  1186. package/lib/types/features/store/objects/selection/actions/DeleteObjectsAction.d.ts.map +0 -1
  1187. package/lib/types/features/store/objects/selection/actions/ExportPropertiesAction.d.ts +0 -4
  1188. package/lib/types/features/store/objects/selection/actions/ExportPropertiesAction.d.ts.map +0 -1
  1189. package/lib/types/features/store/objects/selection/actions/RemoveFromCollectionAction.d.ts +0 -4
  1190. package/lib/types/features/store/objects/selection/actions/RemoveFromCollectionAction.d.ts.map +0 -1
  1191. package/lib/types/features/store/objects/selection/actions/StartWorkflowComponent.d.ts +0 -4
  1192. package/lib/types/features/store/objects/selection/actions/StartWorkflowComponent.d.ts.map +0 -1
  1193. package/lib/types/features/store/objects/selection/actions/index.d.ts +0 -8
  1194. package/lib/types/features/store/objects/selection/actions/index.d.ts.map +0 -1
  1195. package/lib/types/features/store/objects/selection/index.d.ts +0 -5
  1196. package/lib/types/features/store/objects/selection/index.d.ts.map +0 -1
  1197. package/lib/types/features/store/objects/upload/DocumentUploadModal.d.ts +0 -39
  1198. package/lib/types/features/store/objects/upload/DocumentUploadModal.d.ts.map +0 -1
  1199. package/lib/types/features/store/objects/upload/index.d.ts +0 -4
  1200. package/lib/types/features/store/objects/upload/index.d.ts.map +0 -1
  1201. package/lib/types/features/store/objects/upload/useSmartFileUploadProcessing.d.ts +0 -30
  1202. package/lib/types/features/store/objects/upload/useSmartFileUploadProcessing.d.ts.map +0 -1
  1203. package/lib/types/features/store/objects/upload/useUploadHandler.d.ts +0 -50
  1204. package/lib/types/features/store/objects/upload/useUploadHandler.d.ts.map +0 -1
  1205. package/lib/types/features/store/types/ContentObjectTypesSearch.d.ts +0 -6
  1206. package/lib/types/features/store/types/ContentObjectTypesSearch.d.ts.map +0 -1
  1207. package/lib/types/features/store/types/ContentObjectTypesTable.d.ts +0 -8
  1208. package/lib/types/features/store/types/ContentObjectTypesTable.d.ts.map +0 -1
  1209. package/lib/types/features/store/types/CreateOrUpdateTypeModal.d.ts +0 -15
  1210. package/lib/types/features/store/types/CreateOrUpdateTypeModal.d.ts.map +0 -1
  1211. package/lib/types/features/store/types/ObjectSchemaEditor.d.ts +0 -8
  1212. package/lib/types/features/store/types/ObjectSchemaEditor.d.ts.map +0 -1
  1213. package/lib/types/features/store/types/SelectContentType.d.ts +0 -11
  1214. package/lib/types/features/store/types/SelectContentType.d.ts.map +0 -1
  1215. package/lib/types/features/store/types/SelectContentTypeModal.d.ts +0 -33
  1216. package/lib/types/features/store/types/SelectContentTypeModal.d.ts.map +0 -1
  1217. package/lib/types/features/store/types/TableLayoutEditor.d.ts +0 -9
  1218. package/lib/types/features/store/types/TableLayoutEditor.d.ts.map +0 -1
  1219. package/lib/types/features/store/types/index.d.ts +0 -9
  1220. package/lib/types/features/store/types/index.d.ts.map +0 -1
  1221. package/lib/types/features/store/types/search/ObjectTypeSearchContext.d.ts +0 -36
  1222. package/lib/types/features/store/types/search/ObjectTypeSearchContext.d.ts.map +0 -1
  1223. package/lib/types/features/store/types/search/ObjectTypeSearchProvider.d.ts +0 -11
  1224. package/lib/types/features/store/types/search/ObjectTypeSearchProvider.d.ts.map +0 -1
  1225. package/lib/types/features/store/types/search/index.d.ts +0 -3
  1226. package/lib/types/features/store/types/search/index.d.ts.map +0 -1
  1227. package/lib/types/features/user/UserAvatar.d.ts +0 -9
  1228. package/lib/types/features/user/UserAvatar.d.ts.map +0 -1
  1229. package/lib/types/features/user/UserInfo.d.ts +0 -48
  1230. package/lib/types/features/user/UserInfo.d.ts.map +0 -1
  1231. package/lib/types/features/user/index.d.ts +0 -3
  1232. package/lib/types/features/user/index.d.ts.map +0 -1
  1233. package/lib/types/features/utils/index.d.ts +0 -6
  1234. package/lib/types/features/utils/index.d.ts.map +0 -1
  1235. package/lib/types/features/utils/mimeType.d.ts +0 -6
  1236. package/lib/types/features/utils/mimeType.d.ts.map +0 -1
  1237. package/lib/types/features/utils/print.d.ts +0 -10
  1238. package/lib/types/features/utils/print.d.ts.map +0 -1
  1239. package/lib/types/features/utils/rendition.d.ts +0 -4
  1240. package/lib/types/features/utils/rendition.d.ts.map +0 -1
  1241. package/lib/types/features/utils/text.d.ts +0 -3
  1242. package/lib/types/features/utils/text.d.ts.map +0 -1
  1243. package/lib/types/features/utils/workflowStatus.d.ts +0 -10
  1244. package/lib/types/features/utils/workflowStatus.d.ts.map +0 -1
  1245. package/lib/types/layout/AppLayout.d.ts +0 -13
  1246. package/lib/types/layout/AppLayout.d.ts.map +0 -1
  1247. package/lib/types/layout/FullHeightLayout.d.ts +0 -27
  1248. package/lib/types/layout/FullHeightLayout.d.ts.map +0 -1
  1249. package/lib/types/layout/Navbar.d.ts +0 -33
  1250. package/lib/types/layout/Navbar.d.ts.map +0 -1
  1251. package/lib/types/layout/Sidebar.d.ts +0 -31
  1252. package/lib/types/layout/Sidebar.d.ts.map +0 -1
  1253. package/lib/types/layout/SidebarContext.d.ts +0 -9
  1254. package/lib/types/layout/SidebarContext.d.ts.map +0 -1
  1255. package/lib/types/layout/TitleBar.d.ts +0 -6
  1256. package/lib/types/layout/TitleBar.d.ts.map +0 -1
  1257. package/lib/types/layout/index.d.ts +0 -7
  1258. package/lib/types/layout/index.d.ts.map +0 -1
  1259. package/lib/types/router/FixLinks.d.ts +0 -7
  1260. package/lib/types/router/FixLinks.d.ts.map +0 -1
  1261. package/lib/types/router/HistoryNavigator.d.ts +0 -59
  1262. package/lib/types/router/HistoryNavigator.d.ts.map +0 -1
  1263. package/lib/types/router/Nav.d.ts +0 -30
  1264. package/lib/types/router/Nav.d.ts.map +0 -1
  1265. package/lib/types/router/NestedNavigationContext.d.ts +0 -9
  1266. package/lib/types/router/NestedNavigationContext.d.ts.map +0 -1
  1267. package/lib/types/router/NestedRouterProvider.d.ts +0 -14
  1268. package/lib/types/router/NestedRouterProvider.d.ts.map +0 -1
  1269. package/lib/types/router/PathMatcher.d.ts +0 -36
  1270. package/lib/types/router/PathMatcher.d.ts.map +0 -1
  1271. package/lib/types/router/PathWithParams.d.ts +0 -9
  1272. package/lib/types/router/PathWithParams.d.ts.map +0 -1
  1273. package/lib/types/router/Route404.d.ts +0 -4
  1274. package/lib/types/router/Route404.d.ts.map +0 -1
  1275. package/lib/types/router/RouteComponent.d.ts +0 -6
  1276. package/lib/types/router/RouteComponent.d.ts.map +0 -1
  1277. package/lib/types/router/Router.d.ts +0 -74
  1278. package/lib/types/router/Router.d.ts.map +0 -1
  1279. package/lib/types/router/RouterProvider.d.ts +0 -15
  1280. package/lib/types/router/RouterProvider.d.ts.map +0 -1
  1281. package/lib/types/router/index.d.ts +0 -11
  1282. package/lib/types/router/index.d.ts.map +0 -1
  1283. package/lib/types/router/path.d.ts +0 -8
  1284. package/lib/types/router/path.d.ts.map +0 -1
  1285. package/lib/types/session/TypeRegistry.d.ts +0 -10
  1286. package/lib/types/session/TypeRegistry.d.ts.map +0 -1
  1287. package/lib/types/session/UserSession.d.ts +0 -40
  1288. package/lib/types/session/UserSession.d.ts.map +0 -1
  1289. package/lib/types/session/UserSessionProvider.d.ts +0 -7
  1290. package/lib/types/session/UserSessionProvider.d.ts.map +0 -1
  1291. package/lib/types/session/auth/composable.d.ts +0 -26
  1292. package/lib/types/session/auth/composable.d.ts.map +0 -1
  1293. package/lib/types/session/auth/firebase.d.ts +0 -10
  1294. package/lib/types/session/auth/firebase.d.ts.map +0 -1
  1295. package/lib/types/session/auth/useAuthState.d.ts +0 -10
  1296. package/lib/types/session/auth/useAuthState.d.ts.map +0 -1
  1297. package/lib/types/session/auth/useCurrentTenant.d.ts +0 -15
  1298. package/lib/types/session/auth/useCurrentTenant.d.ts.map +0 -1
  1299. package/lib/types/session/constants.d.ts +0 -3
  1300. package/lib/types/session/constants.d.ts.map +0 -1
  1301. package/lib/types/session/index.d.ts +0 -8
  1302. package/lib/types/session/index.d.ts.map +0 -1
  1303. package/lib/types/session/useUXTracking.d.ts +0 -6
  1304. package/lib/types/session/useUXTracking.d.ts.map +0 -1
  1305. package/lib/types/shell/SplashScreen.d.ts +0 -7
  1306. package/lib/types/shell/SplashScreen.d.ts.map +0 -1
  1307. package/lib/types/shell/VertesiaShell.d.ts +0 -10
  1308. package/lib/types/shell/VertesiaShell.d.ts.map +0 -1
  1309. package/lib/types/shell/apps/AppInstallationProvider.d.ts +0 -12
  1310. package/lib/types/shell/apps/AppInstallationProvider.d.ts.map +0 -1
  1311. package/lib/types/shell/apps/AppProjectSelector.d.ts +0 -12
  1312. package/lib/types/shell/apps/AppProjectSelector.d.ts.map +0 -1
  1313. package/lib/types/shell/apps/StandaloneApp.d.ts +0 -23
  1314. package/lib/types/shell/apps/StandaloneApp.d.ts.map +0 -1
  1315. package/lib/types/shell/apps/index.d.ts +0 -4
  1316. package/lib/types/shell/apps/index.d.ts.map +0 -1
  1317. package/lib/types/shell/index.d.ts +0 -8
  1318. package/lib/types/shell/index.d.ts.map +0 -1
  1319. package/lib/types/shell/login/EnterpriseSigninButton.d.ts +0 -6
  1320. package/lib/types/shell/login/EnterpriseSigninButton.d.ts.map +0 -1
  1321. package/lib/types/shell/login/GitHubSignInButton.d.ts +0 -6
  1322. package/lib/types/shell/login/GitHubSignInButton.d.ts.map +0 -1
  1323. package/lib/types/shell/login/GoogleSignInButton.d.ts +0 -6
  1324. package/lib/types/shell/login/GoogleSignInButton.d.ts.map +0 -1
  1325. package/lib/types/shell/login/InviteAcceptModal.d.ts +0 -2
  1326. package/lib/types/shell/login/InviteAcceptModal.d.ts.map +0 -1
  1327. package/lib/types/shell/login/MicrosoftSigninButton.d.ts +0 -6
  1328. package/lib/types/shell/login/MicrosoftSigninButton.d.ts.map +0 -1
  1329. package/lib/types/shell/login/PreviewIcon.d.ts +0 -6
  1330. package/lib/types/shell/login/PreviewIcon.d.ts.map +0 -1
  1331. package/lib/types/shell/login/SignInModal.d.ts +0 -7
  1332. package/lib/types/shell/login/SignInModal.d.ts.map +0 -1
  1333. package/lib/types/shell/login/SigninScreen.d.ts +0 -9
  1334. package/lib/types/shell/login/SigninScreen.d.ts.map +0 -1
  1335. package/lib/types/shell/login/SignupForm.d.ts +0 -8
  1336. package/lib/types/shell/login/SignupForm.d.ts.map +0 -1
  1337. package/lib/types/shell/login/TerminalLogin.d.ts +0 -2
  1338. package/lib/types/shell/login/TerminalLogin.d.ts.map +0 -1
  1339. package/lib/types/shell/login/UserInfo.d.ts +0 -6
  1340. package/lib/types/shell/login/UserInfo.d.ts.map +0 -1
  1341. package/lib/types/shell/login/UserSessionMenu.d.ts +0 -9
  1342. package/lib/types/shell/login/UserSessionMenu.d.ts.map +0 -1
  1343. package/lib/types/shell/utils.d.ts +0 -2
  1344. package/lib/types/shell/utils.d.ts.map +0 -1
  1345. package/lib/types/widgets/Progress.d.ts +0 -6
  1346. package/lib/types/widgets/Progress.d.ts.map +0 -1
  1347. package/lib/types/widgets/SvgIcon.d.ts +0 -7
  1348. package/lib/types/widgets/SvgIcon.d.ts.map +0 -1
  1349. package/lib/types/widgets/form/Form.d.ts +0 -22
  1350. package/lib/types/widgets/form/Form.d.ts.map +0 -1
  1351. package/lib/types/widgets/form/FormContext.d.ts +0 -20
  1352. package/lib/types/widgets/form/FormContext.d.ts.map +0 -1
  1353. package/lib/types/widgets/form/ManagedObject.d.ts +0 -82
  1354. package/lib/types/widgets/form/ManagedObject.d.ts.map +0 -1
  1355. package/lib/types/widgets/form/fields.d.ts +0 -16
  1356. package/lib/types/widgets/form/fields.d.ts.map +0 -1
  1357. package/lib/types/widgets/form/index.d.ts +0 -7
  1358. package/lib/types/widgets/form/index.d.ts.map +0 -1
  1359. package/lib/types/widgets/form/inputs.d.ts +0 -8
  1360. package/lib/types/widgets/form/inputs.d.ts.map +0 -1
  1361. package/lib/types/widgets/form/schema.d.ts +0 -47
  1362. package/lib/types/widgets/form/schema.d.ts.map +0 -1
  1363. package/lib/types/widgets/index.d.ts +0 -12
  1364. package/lib/types/widgets/index.d.ts.map +0 -1
  1365. package/lib/types/widgets/json-view/JSONCode.d.ts +0 -5
  1366. package/lib/types/widgets/json-view/JSONCode.d.ts.map +0 -1
  1367. package/lib/types/widgets/json-view/JSONDisplay.d.ts +0 -8
  1368. package/lib/types/widgets/json-view/JSONDisplay.d.ts.map +0 -1
  1369. package/lib/types/widgets/json-view/JSONView.d.ts +0 -7
  1370. package/lib/types/widgets/json-view/JSONView.d.ts.map +0 -1
  1371. package/lib/types/widgets/json-view/index.d.ts +0 -5
  1372. package/lib/types/widgets/json-view/index.d.ts.map +0 -1
  1373. package/lib/types/widgets/json-view/types.d.ts +0 -8
  1374. package/lib/types/widgets/json-view/types.d.ts.map +0 -1
  1375. package/lib/types/widgets/markdown/MarkdownRenderer.d.ts +0 -13
  1376. package/lib/types/widgets/markdown/MarkdownRenderer.d.ts.map +0 -1
  1377. package/lib/types/widgets/markdown/index.d.ts +0 -2
  1378. package/lib/types/widgets/markdown/index.d.ts.map +0 -1
  1379. package/lib/types/widgets/monacoEditor/MonacoEditor.d.ts +0 -41
  1380. package/lib/types/widgets/monacoEditor/MonacoEditor.d.ts.map +0 -1
  1381. package/lib/types/widgets/monacoEditor/index.d.ts +0 -3
  1382. package/lib/types/widgets/monacoEditor/index.d.ts.map +0 -1
  1383. package/lib/types/widgets/popover/Popover.d.ts +0 -38
  1384. package/lib/types/widgets/popover/Popover.d.ts.map +0 -1
  1385. package/lib/types/widgets/popover/context.d.ts +0 -8
  1386. package/lib/types/widgets/popover/context.d.ts.map +0 -1
  1387. package/lib/types/widgets/popover/index.d.ts +0 -3
  1388. package/lib/types/widgets/popover/index.d.ts.map +0 -1
  1389. package/lib/types/widgets/popover/slots.d.ts +0 -5
  1390. package/lib/types/widgets/popover/slots.d.ts.map +0 -1
  1391. package/lib/types/widgets/properties/PropertiesView.d.ts +0 -11
  1392. package/lib/types/widgets/properties/PropertiesView.d.ts.map +0 -1
  1393. package/lib/types/widgets/properties/index.d.ts +0 -2
  1394. package/lib/types/widgets/properties/index.d.ts.map +0 -1
  1395. package/lib/types/widgets/schema-editor/ManagedSchema.d.ts +0 -75
  1396. package/lib/types/widgets/schema-editor/ManagedSchema.d.ts.map +0 -1
  1397. package/lib/types/widgets/schema-editor/editor/Editable.d.ts +0 -40
  1398. package/lib/types/widgets/schema-editor/editor/Editable.d.ts.map +0 -1
  1399. package/lib/types/widgets/schema-editor/editor/EditableSchemaProperty.d.ts +0 -8
  1400. package/lib/types/widgets/schema-editor/editor/EditableSchemaProperty.d.ts.map +0 -1
  1401. package/lib/types/widgets/schema-editor/editor/PropertyEditor.d.ts +0 -5
  1402. package/lib/types/widgets/schema-editor/editor/PropertyEditor.d.ts.map +0 -1
  1403. package/lib/types/widgets/schema-editor/editor/PropertyViewer.d.ts +0 -4
  1404. package/lib/types/widgets/schema-editor/editor/PropertyViewer.d.ts.map +0 -1
  1405. package/lib/types/widgets/schema-editor/editor/SchemaContext.d.ts +0 -3
  1406. package/lib/types/widgets/schema-editor/editor/SchemaContext.d.ts.map +0 -1
  1407. package/lib/types/widgets/schema-editor/editor/SchemaEditor.d.ts +0 -9
  1408. package/lib/types/widgets/schema-editor/editor/SchemaEditor.d.ts.map +0 -1
  1409. package/lib/types/widgets/schema-editor/index.d.ts +0 -7
  1410. package/lib/types/widgets/schema-editor/index.d.ts.map +0 -1
  1411. package/lib/types/widgets/schema-editor/json-schema4-utils.d.ts +0 -16
  1412. package/lib/types/widgets/schema-editor/json-schema4-utils.d.ts.map +0 -1
  1413. package/lib/types/widgets/schema-editor/type-signature.d.ts +0 -19
  1414. package/lib/types/widgets/schema-editor/type-signature.d.ts.map +0 -1
  1415. package/lib/types/widgets/upload/DropZone.d.ts +0 -41
  1416. package/lib/types/widgets/upload/DropZone.d.ts.map +0 -1
  1417. package/lib/types/widgets/upload/UploadResultCategory.d.ts +0 -26
  1418. package/lib/types/widgets/upload/UploadResultCategory.d.ts.map +0 -1
  1419. package/lib/types/widgets/upload/UploadSummary.d.ts +0 -38
  1420. package/lib/types/widgets/upload/UploadSummary.d.ts.map +0 -1
  1421. package/lib/types/widgets/upload/index.d.ts +0 -4
  1422. package/lib/types/widgets/upload/index.d.ts.map +0 -1
  1423. package/lib/types/widgets/xml-viewer/components/Attributes/index.d.ts +0 -6
  1424. package/lib/types/widgets/xml-viewer/components/Attributes/index.d.ts.map +0 -1
  1425. package/lib/types/widgets/xml-viewer/components/CDataTag/index.d.ts +0 -8
  1426. package/lib/types/widgets/xml-viewer/components/CDataTag/index.d.ts.map +0 -1
  1427. package/lib/types/widgets/xml-viewer/components/CollapseIcon/index.d.ts +0 -5
  1428. package/lib/types/widgets/xml-viewer/components/CollapseIcon/index.d.ts.map +0 -1
  1429. package/lib/types/widgets/xml-viewer/components/CommentTag/index.d.ts +0 -9
  1430. package/lib/types/widgets/xml-viewer/components/CommentTag/index.d.ts.map +0 -1
  1431. package/lib/types/widgets/xml-viewer/components/DeclarationTag/index.d.ts +0 -8
  1432. package/lib/types/widgets/xml-viewer/components/DeclarationTag/index.d.ts.map +0 -1
  1433. package/lib/types/widgets/xml-viewer/components/Elements/index.d.ts +0 -8
  1434. package/lib/types/widgets/xml-viewer/components/Elements/index.d.ts.map +0 -1
  1435. package/lib/types/widgets/xml-viewer/components/InvalidXml/index.d.ts +0 -2
  1436. package/lib/types/widgets/xml-viewer/components/InvalidXml/index.d.ts.map +0 -1
  1437. package/lib/types/widgets/xml-viewer/components/Tag/index.d.ts +0 -13
  1438. package/lib/types/widgets/xml-viewer/components/Tag/index.d.ts.map +0 -1
  1439. package/lib/types/widgets/xml-viewer/components/TextElement/index.d.ts +0 -8
  1440. package/lib/types/widgets/xml-viewer/components/TextElement/index.d.ts.map +0 -1
  1441. package/lib/types/widgets/xml-viewer/components/XMLViewer.d.ts +0 -3
  1442. package/lib/types/widgets/xml-viewer/components/XMLViewer.d.ts.map +0 -1
  1443. package/lib/types/widgets/xml-viewer/components/types.d.ts +0 -104
  1444. package/lib/types/widgets/xml-viewer/components/types.d.ts.map +0 -1
  1445. package/lib/types/widgets/xml-viewer/constants/index.d.ts +0 -27
  1446. package/lib/types/widgets/xml-viewer/constants/index.d.ts.map +0 -1
  1447. package/lib/types/widgets/xml-viewer/context/xml-viewer-context.d.ts +0 -4
  1448. package/lib/types/widgets/xml-viewer/context/xml-viewer-context.d.ts.map +0 -1
  1449. package/lib/types/widgets/xml-viewer/helpers/index.d.ts +0 -13
  1450. package/lib/types/widgets/xml-viewer/helpers/index.d.ts.map +0 -1
  1451. package/lib/types/widgets/xml-viewer/hooks/useCollapsible.d.ts +0 -15
  1452. package/lib/types/widgets/xml-viewer/hooks/useCollapsible.d.ts.map +0 -1
  1453. package/lib/types/widgets/xml-viewer/hooks/useXMLViewer.d.ts +0 -10
  1454. package/lib/types/widgets/xml-viewer/hooks/useXMLViewer.d.ts.map +0 -1
  1455. package/lib/types/widgets/xml-viewer/index.d.ts +0 -3
  1456. package/lib/types/widgets/xml-viewer/index.d.ts.map +0 -1
  1457. package/lib/types/widgets/xml-viewer/types/index.d.ts +0 -16
  1458. package/lib/types/widgets/xml-viewer/types/index.d.ts.map +0 -1
  1459. package/lib/vertesia-ui-core.js +0 -2
  1460. package/lib/vertesia-ui-core.js.map +0 -1
  1461. package/lib/vertesia-ui-env.js +0 -2
  1462. package/lib/vertesia-ui-env.js.map +0 -1
  1463. package/lib/vertesia-ui-features.js +0 -2
  1464. package/lib/vertesia-ui-features.js.map +0 -1
  1465. package/lib/vertesia-ui-layout.js +0 -2
  1466. package/lib/vertesia-ui-layout.js.map +0 -1
  1467. package/lib/vertesia-ui-router.js +0 -2
  1468. package/lib/vertesia-ui-router.js.map +0 -1
  1469. package/lib/vertesia-ui-session.js +0 -2
  1470. package/lib/vertesia-ui-session.js.map +0 -1
  1471. package/lib/vertesia-ui-shell.js +0 -2
  1472. package/lib/vertesia-ui-shell.js.map +0 -1
  1473. package/lib/vertesia-ui-widgets.js +0 -2
  1474. package/lib/vertesia-ui-widgets.js.map +0 -1
  1475. package/src/core/components/Button.tsx +0 -63
  1476. package/src/core/components/Modal.tsx +0 -144
  1477. package/src/core/components/SelectBox.tsx +0 -188
  1478. package/src/core/components/tabs/Tabs.tsx +0 -132
  1479. package/src/core/components/tabs/TabsContext.ts +0 -25
  1480. package/src/core/components/tabs/index.ts +0 -2
  1481. /package/src/core/components/{MessageBox.tsx → shadcn/MessageBox.tsx} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"vertesia-ui-core.js","sources":["esm/core/components/Avatar.js","esm/core/components/libs/utils.js","esm/core/components/Badge.js","esm/core/components/Center.js","esm/core/components/popup/position.js","esm/core/components/popup/utils.js","esm/core/components/popup/PopupController.js","esm/core/components/popup/Popup.js","esm/core/components/ComboBox.js","esm/core/components/shadcn/button.js","esm/core/components/shadcn/theme/ThemeProvider.js","esm/core/components/shadcn/theme/ThemeSwitcher.js","esm/core/components/shadcn/card.js","esm/core/components/libs/visuallyHidden.js","esm/core/hooks/PortalContainerProvider.js","esm/core/components/shadcn/dialog.js","esm/core/components/shadcn/input.js","esm/core/components/shadcn/separator.js","esm/core/components/shadcn/popover.js","esm/core/components/shadcn/command.js","esm/core/components/shadcn/tooltip.js","esm/core/components/shadcn/selectBox.js","esm/core/components/shadcn/tabs.js","esm/core/components/shadcn/label.js","esm/core/components/shadcn/breadcrumb.js","esm/core/components/shadcn/filters/animateChangeInHeight.js","esm/core/components/shadcn/checkbox.js","esm/core/components/shadcn/filters/DynamicLabel.js","esm/core/components/shadcn/filters/comboBox/SelectCombobox.js","esm/core/components/shadcn/filters/filter-styles.js","esm/core/components/shadcn/filters/comboBox/DateCombobox.js","esm/core/components/shadcn/filters/comboBox/TextCombobox.js","esm/core/components/shadcn/filters/comboBox/StringListCombobox.js","esm/core/components/shadcn/filters/filters.js","esm/core/components/shadcn/filters/filter/TextFilter.js","esm/core/components/shadcn/filters/filter/dateFilter.js","esm/core/components/shadcn/filters/filter/SelectFilter.js","esm/core/components/shadcn/filters/filter/StringListFilter.js","esm/core/components/shadcn/filters/filterBar.js","esm/core/components/shadcn/filters/types.js","esm/core/components/shadcn/heading.js","esm/core/components/shadcn/text.js","esm/core/components/shadcn/resizeable.js","esm/core/components/shadcn/textarea.js","esm/core/components/ConfirmModal.js","esm/core/components/toast/ToastContext.js","esm/core/components/Portal.js","esm/core/components/toast/NotificationPanel.js","esm/core/components/toast/ToastProvider.js","esm/core/components/DeleteModal.js","esm/core/components/Divider.js","esm/core/components/Dropdown.js","esm/core/components/DropdownList.js","esm/core/components/EmptyCollection.js","esm/core/components/FileUpload.js","esm/core/components/FormItem.js","esm/core/components/InputList.js","esm/core/components/Link.js","esm/core/components/MenuList.js","esm/core/components/MessageBox.js","esm/core/components/Modal.js","esm/core/components/styles.js","esm/core/components/NumberInput.js","esm/core/components/Spinner.js","esm/core/components/Button.js","esm/core/components/Overlay.js","esm/core/components/Panel.js","esm/core/components/RadioGroup.js","esm/core/components/SelectBox.js","esm/core/components/SelectList.js","esm/core/components/SelectStack.js","esm/core/components/SidePanel.js","esm/core/components/Switch.js","esm/core/components/table/index.js","esm/core/components/tabs/TabsContext.js","esm/core/components/tabs/Tabs.js","esm/core/components/TagsInput.js","esm/core/hooks/CompositeState.js","esm/core/hooks/SharedState.js","esm/core/hooks/useClickOutside.js","esm/core/hooks/useCopyToClipboard.js","esm/core/hooks/useDarkMode.js","esm/core/hooks/useDebounce.js","esm/core/hooks/useEventSource.js","esm/core/hooks/useFetch.js","esm/core/hooks/useFlag.js","esm/core/hooks/useIntersectionObserver.js","esm/core/hooks/useIsFistRendering.js","esm/core/hooks/useSafeLayoutEffect.js","esm/core/hooks/useScrollableSearch.js","esm/core/hooks/useSharedValue.js","esm/core/utils/cn.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getRealSize(size) {\n switch (size) {\n case 'xs': return 'size-4';\n case 'sm': return 'size-6';\n case 'md': return 'size-8';\n case 'lg': return 'size-10';\n case 'xl': return 'size-12';\n case '2xl': return 'size-14';\n default: throw new Error('Unexpected size: ' + size);\n }\n}\nexport function Avatar({ size, src, name, shape = \"circle\", color = 'bg-gray-500', className }) {\n const rounded = shape === 'circle' ? 'rounded-full' : 'rounded-md';\n const sizeClass = getRealSize(size || 'md');\n if (src) {\n return (_jsx(\"img\", { className: `inline-block ${sizeClass} ${rounded} ${color} ${className}`, src: src, alt: name || src, title: name }));\n }\n if (name) {\n const [first, second] = name.split(' ');\n let text = second ? `${first[0]}${second[0]}` : `${first[0]}${first[1]}`;\n return (_jsx(\"span\", { className: `inline-flex ${sizeClass} items-center justify-center ${rounded} ${color} ${className}`, title: name, children: _jsx(\"span\", { className: `${(size != 'xs') ? 'text-xs' : 'text-[0.6rem]'} font-medium leading-none text-white`, children: text }) }));\n }\n return (_jsx(\"span\", { className: `inline-block ${sizeClass} overflow-hidden ${rounded} ${color}`, children: _jsx(\"svg\", { className: \"h-full w-full text-gray-300\", fill: \"currentColor\", viewBox: \"0 0 24 24\", children: _jsx(\"path\", { d: \"M24 20.993V24H0v-2.996A14.977 14.977 0 0112.004 15c4.904 0 9.26 2.354 11.996 5.993zM16.002 8.999a4 4 0 11-8 0 4 4 0 018 0z\" }) }) }));\n}\nexport function SvgAvatar({ size, shape = \"circle\", color = 'bg-gray-500', className, children }) {\n const rounded = shape === 'circle' ? 'rounded-full' : 'rounded-md';\n const sizeClass = getRealSize(size || 'md');\n return (_jsx(\"span\", { className: `inline-block ${sizeClass} overflow-hidden ${rounded} ${color} ${className}`, children: children }));\n}\n//# sourceMappingURL=Avatar.js.map","import { clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\nexport function cn(...inputs) {\n return twMerge(clsx(inputs));\n}\n//# sourceMappingURL=utils.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { cva } from \"class-variance-authority\";\nimport { cn } from \"./libs/utils\";\n// Base badge variants\nconst badgeVariants = cva(\"inline-flex items-center rounded-md px-2 py-1 text-xs font-medium\", {\n variants: {\n variant: {\n default: \"text-foreground bg-muted\",\n secondary: \"bg-secondary text-primary\",\n destructive: \"bg-destructive text-destructive\",\n attention: \"bg-attention text-attention\",\n success: \"bg-success text-success\",\n info: \"bg-info text-info\",\n done: \"bg-done text-done\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n});\n// Base Badge component\nexport function Badge({ className, variant, children, onClick, ...props }) {\n return (_jsx(\"span\", { className: cn(badgeVariants({ variant }), className), onClick: onClick, ...props, children: children }));\n}\nconst dotBadgeVariants = cva(\n// Base styles\n\"inline-flex items-center gap-x-1.5 rounded-md px-2 py-1 text-xs font-medium ring-1 ring-inset ring-border\", {\n variants: {\n variant: {\n default: \"\",\n success: \"\",\n destructive: \"\",\n attention: \"\",\n done: \"\",\n info: \"\",\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n});\n// Separate dot variants to allow className overrides\nconst dotVariants = cva(\"h-1.5 w-1.5\", {\n variants: {\n variant: {\n default: \"fill-foreground\",\n success: \"fill-success\",\n destructive: \"fill-destructive\",\n attention: \"fill-attention\",\n done: \"fill-done\",\n info: \"fill-info\",\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n});\nexport function DotBadge({ variant, className, dotClassName, // New prop for dot-specific classes\nchildren, ...props }) {\n return (_jsxs(\"span\", { className: cn(dotBadgeVariants({ variant }), className), ...props, children: [_jsx(\"div\", { className: \"flex-shrink-0\", children: _jsx(\"svg\", { className: cn(dotVariants({ variant }), dotClassName), viewBox: \"0 0 6 6\", \"aria-hidden\": \"true\", children: _jsx(\"circle\", { cx: 3, cy: 3, r: 3 }) }) }), _jsx(\"span\", { className: \"truncate\", children: children })] }));\n}\n//# sourceMappingURL=Badge.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport clsx from \"clsx\";\nexport function Center({ className, children }) {\n return (_jsx(\"div\", { className: clsx('flex items-center justify-center', className), children: children }));\n}\n//# sourceMappingURL=Center.js.map","function flipPos(position) {\n switch (position) {\n case \"top\": return \"bottom\";\n case \"bottom\": return \"top\";\n case \"left\": return \"right\";\n case \"right\": return \"left\";\n case \"ne\": return \"sw\";\n case \"nw\": return \"se\";\n case \"se\": return \"nw\";\n case \"sw\": return \"ne\";\n default: return position;\n }\n}\nfunction flipAlign(align) {\n switch (align) {\n case \"start\": return \"end\";\n case \"end\": return \"start\";\n default: return align;\n }\n}\nclass PositionResolver {\n /**\n * The computed left coordinate (i.e. x)\n */\n left;\n /**\n * The computed top coordinate (i.e. y)\n */\n top;\n /**\n * The computed width constraint. If undefined it means that the width is not constrained.\n */\n width;\n /**\n * The computed height constraint. If undefined it means that the height is not constrained.\n */\n height;\n /**\n * Alignment axis. The axis is computed from the position constraints.\n * If no axis is found - no alignment will be done\n */\n alignAxis;\n /**\n * A gap size between the anchor element and the target element.\n */\n gap;\n constructor(gap = 0) {\n this.gap = gap;\n }\n position(pos, anchorRect, elemRect) {\n switch (pos) {\n case \"top\": {\n this.top = anchorRect.top - elemRect.height - this.gap;\n this.alignAxis = 'x';\n break;\n }\n case \"bottom\": {\n this.top = anchorRect.bottom + this.gap;\n this.alignAxis = 'x';\n break;\n }\n case \"left\": {\n this.left = anchorRect.left - elemRect.width - this.gap;\n this.alignAxis = 'y';\n break;\n }\n case \"right\": {\n this.left = anchorRect.right + this.gap;\n this.alignAxis = 'y';\n break;\n }\n case \"ne\": {\n this.top = anchorRect.top - elemRect.height - this.gap;\n this.left = anchorRect.right + this.gap;\n break;\n }\n case \"nw\": {\n this.top = anchorRect.top - elemRect.height - this.gap;\n this.left = anchorRect.left - elemRect.width - this.gap;\n break;\n }\n case \"se\": {\n this.top = anchorRect.bottom + this.gap;\n this.left = anchorRect.right + this.gap;\n break;\n }\n case \"sw\": {\n this.top = anchorRect.bottom + this.gap;\n this.left = anchorRect.left - elemRect.width - this.gap;\n break;\n }\n }\n }\n align(align, anchorRect, elemRect) {\n if (!this.alignAxis)\n return; // no alignment axis\n switch (align) {\n case 'start': {\n if (this.alignAxis === 'x') {\n this.left = anchorRect.left;\n }\n else {\n this.top = anchorRect.top;\n }\n break;\n }\n case 'end': {\n if (this.alignAxis === 'x') {\n this.left = anchorRect.right - elemRect.width;\n }\n else {\n this.top = anchorRect.bottom - elemRect.height;\n }\n break;\n }\n case 'center': {\n // centering depend on the final value of the width / height\n if (this.alignAxis === 'x') {\n this.left = anchorRect.left + anchorRect.width / 2 - elemRect.width / 2;\n }\n else {\n this.top = anchorRect.top + anchorRect.height / 2 - elemRect.height / 2;\n }\n break;\n }\n case 'fill': {\n if (this.alignAxis === 'x') {\n this.left = anchorRect.left;\n this.width = anchorRect.right - anchorRect.left;\n }\n else {\n this.top = anchorRect.top;\n this.height = anchorRect.bottom - anchorRect.top;\n }\n break;\n }\n }\n }\n computePosition(constraints, elemRect, anchorRect) {\n this.position(constraints.position, anchorRect, elemRect);\n constraints.align && this.align(constraints.align, anchorRect, elemRect);\n if (!this.left && !this.top) {\n throw new Error(\"Invalid position. Cannot compute x,y coordinates\");\n }\n const constrainWidth = this.width != null;\n const constrainHeight = this.height != null;\n const width = constrainWidth ? this.width : elemRect.width;\n const height = constrainHeight ? this.height : elemRect.height;\n return {\n rect: new DOMRect(this.left, this.top, width, height),\n constrainWidth,\n constrainHeight,\n position: constraints.position,\n align: constraints.align\n };\n }\n flipAxis(constraints, axis) {\n if (this.alignAxis === axis) { // flip alignment\n if (constraints.align) {\n const newAlign = flipAlign(constraints.align);\n if (newAlign !== constraints.align) {\n return { ...constraints, align: newAlign };\n }\n }\n }\n else { // flip positioning\n const newPos = flipPos(constraints.position);\n if (newPos !== constraints.position) {\n return { ...constraints, position: newPos };\n }\n }\n return null; // nothing to do\n }\n}\nfunction isElementVisible(elemRect, clientRect) {\n return elemRect.left >= clientRect.left && elemRect.right <= clientRect.right\n &&\n elemRect.top >= clientRect.top && elemRect.bottom <= clientRect.bottom;\n}\nfunction isElementVisibleOnAxis(elemRect, clientRect, axis) {\n if (axis === 'x') {\n return elemRect.left >= clientRect.left && elemRect.right <= clientRect.right;\n }\n else {\n return elemRect.top >= clientRect.top && elemRect.bottom <= clientRect.bottom;\n }\n}\n/**\n * Compute the position by trying to adjust the constraints until the computed position fits into the client area.\n * Returns the best position that fits the constraints.\n * @param constraints\n * @param elemRect\n * @param anchorRect\n * @param clientRect\n * @returns null if the element cannot be positioned otherwise returns a position object\n */\nexport function computePosition(constraints, elemRect, anchorRect, clientRect) {\n const resolver = new PositionResolver(constraints.gap);\n let computedPos = resolver.computePosition(constraints, elemRect, anchorRect);\n const isVisibleOnXAxis = isElementVisibleOnAxis(computedPos.rect, clientRect, 'x');\n const isVisibleOnYAxis = isElementVisibleOnAxis(computedPos.rect, clientRect, 'y');\n if (isVisibleOnXAxis && isVisibleOnYAxis) {\n return computedPos; // the element is visible on both axis\n }\n let newConstraints = null;\n if (!isVisibleOnXAxis) {\n newConstraints = resolver.flipAxis(constraints, 'x');\n }\n if (!isVisibleOnYAxis) {\n newConstraints = resolver.flipAxis(newConstraints || constraints, 'y');\n }\n if (!newConstraints) {\n return null; // cannot find a better position\n }\n computedPos = new PositionResolver(resolver.gap).computePosition(newConstraints, elemRect, anchorRect);\n if (isElementVisible(computedPos.rect, clientRect)) {\n return computedPos;\n }\n return null; // cannot find a better position\n}\n//# sourceMappingURL=position.js.map","/**\n * Compute the intersection of the two given rects.\n * @param rect1\n * @param rect2\n * @returns\n */\nexport function intersectRects(rect1, rect2) {\n const x1 = Math.max(rect1.left, rect2.left);\n const y1 = Math.max(rect1.top, rect2.top);\n const x2 = Math.min(rect1.right, rect2.right);\n const y2 = Math.min(rect1.bottom, rect2.bottom);\n if (x2 <= x1 || y2 <= y1) {\n return null; // No intersection\n }\n return new DOMRect(x1, y1, x2 - x1, y2 - y1);\n}\n/**\n * Compute the visible rectangle of the scrollable parents.\n * @param scrollableParents\n * @returns\n */\nexport function computeVisibleClientRect(scrollableParents) {\n if (scrollableParents.length === 0)\n return null;\n // Initialize the rect as the bounding rect of the first scrollable parent\n let rect = scrollableParents[0].getBoundingClientRect();\n // Iterate over the remaining scrollable parents to compute the intersection\n for (let i = 1, l = scrollableParents.length; i < l; i++) {\n const parentRect = scrollableParents[i].getBoundingClientRect();\n rect = intersectRects(parentRect, rect);\n // If there is no intersection, exit early\n if (!rect) {\n return null;\n }\n }\n return rect;\n}\n/**\n * Tests whether the given element is scrollable in any direction.\n * @param element\n * @returns\n */\nexport function isScrollable(element) {\n const hasScrollY = element.scrollHeight > element.clientHeight;\n const hasScrollX = element.scrollWidth > element.clientWidth;\n if (hasScrollY || hasScrollX) {\n const style = getComputedStyle(element);\n if ((hasScrollY && style.overflowY !== 'visible') || (hasScrollX && style.overflowX !== 'visible')) {\n return true;\n }\n }\n return false;\n}\n/**\n * Get the list of scrollable parents of the given element. The list always include the root parent at the end.\n * The root parent is either the document.documentElement or the given root element.\n * To iterate the list from top to down you need to iterate from the end to the start of the list,\n * since the root parent is always the last element and the nearest scrollable parent is the first element.\n * @param element\n * @param root\n * @returns\n */\nexport function getScrollableParents(element, root = document.documentElement) {\n const parents = [];\n let parent = element.parentElement;\n while (parent && parent !== root) {\n isScrollable(parent) && parents.push(parent);\n parent = parent.parentElement;\n }\n // Always push the root element\n parents.push(root);\n return parents;\n}\n//# sourceMappingURL=utils.js.map","import { computePosition } from \"./position\";\nimport { computeVisibleClientRect, getScrollableParents } from \"./utils\";\nexport class PopupController {\n options;\n root;\n scrollableParents;\n visibleClientRect;\n context;\n constructor(options) {\n this.options = options;\n this.root = options.root || document.documentElement;\n this.scrollableParents = getScrollableParents(this.anchor, this.root);\n this.visibleClientRect = computeVisibleClientRect(this.scrollableParents);\n }\n get anchor() {\n return this.options.anchor;\n }\n registerListeners(element) {\n const parents = this.scrollableParents;\n const updateHandler = () => {\n this.update();\n };\n // add a window resize listener\n window.addEventListener('resize', updateHandler);\n //TODO do we add scroll listeners to the window?\n // add scroll listeners to all scrollable parents\n for (const parent of parents) {\n parent.addEventListener('scroll', updateHandler);\n }\n let closeOnClick;\n if (this.options.closeOnClick) {\n closeOnClick = (ev) => {\n if (!element.contains(ev.target)) {\n this.tryClose();\n }\n };\n // register in the next event loop cycle since the current one\n // is may be triggered by a click event\n window.setTimeout(function () {\n closeOnClick && document.addEventListener('click', closeOnClick);\n }, 0);\n }\n let closeOnEsc;\n if (this.options.closeOnEsc) {\n closeOnEsc = (ev) => {\n if (ev.key === 'Escape') {\n this.tryClose();\n }\n };\n window.setTimeout(function () {\n closeOnEsc && document.addEventListener('keydown', closeOnEsc);\n }, 0);\n }\n const blockPageScroll = this.options.blockPageScroll;\n if (blockPageScroll) {\n document.body.style.overflow = \"hidden\";\n document.body.style.height = \"100%\";\n }\n return () => {\n window.removeEventListener('resize', updateHandler);\n for (const parent of parents) {\n parent.removeEventListener('scroll', updateHandler);\n }\n closeOnClick && document.removeEventListener('click', closeOnClick);\n closeOnEsc && document.removeEventListener('keydown', closeOnEsc);\n if (blockPageScroll) {\n document.body.style.overflow = \"\";\n document.body.style.height = \"\";\n }\n };\n }\n open(element, constraints) {\n if (this.context) {\n throw new Error(\"The popup controller is already bound to an element\");\n }\n this.tryOpen(element, constraints);\n }\n tryOpen(element, constraints) {\n if (this.context) {\n return; // do nothing if the popup is already open\n }\n this.context = {\n element,\n constraints,\n cleanup: this.registerListeners(element)\n };\n element.style.display = \"\";\n element.style.visibility = \"hidden\";\n // update the popup position\n this.update();\n this.options.onOpen && this.options.onOpen(this);\n }\n close() {\n if (!this.context) {\n throw new Error(\"The popup controller is not bound to an element\");\n }\n this.tryClose();\n }\n tryClose() {\n if (!this.context) {\n return; // do nothing if the popup is not open\n }\n this.options.onClose && this.options.onClose(this);\n this.context.cleanup();\n //TODO\n this.context.element.style.display = \"none\";\n this.context = undefined;\n }\n get isOpen() {\n return !!this.context;\n }\n update() {\n if (!this.context)\n return; // do nothing if the popup is not open\n // update the position of the popup\n const element = this.context.element;\n const constraints = this.context.constraints;\n const elemRect = element.getBoundingClientRect();\n const anchorRect = this.anchor.getBoundingClientRect();\n const clientRect = this.visibleClientRect;\n if (!clientRect) {\n // the popup is not visible\n return;\n }\n const position = computePosition(constraints, elemRect, anchorRect, clientRect);\n this.context.position = position || undefined;\n if (position) {\n if (position.constrainHeight) {\n element.style.height = position.rect.height + 'px';\n }\n if (position.constrainWidth) {\n element.style.width = position.rect.width + 'px';\n }\n element.style.left = position.rect.left + 'px';\n element.style.top = position.rect.top + 'px';\n element.style.visibility = \"visible\";\n }\n }\n createPopupElement() {\n const popup = document.createElement('div');\n popup.style.margin = \"0\";\n popup.style.padding = \"0\";\n popup.style.border = \"none\";\n popup.style.background = \"transparent\";\n popup.className = \"composable-Popup\";\n return popup;\n }\n}\n//# sourceMappingURL=PopupController.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createContext, useContext, useEffect, useRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { PopupController } from \"./PopupController\";\nconst PopupContext = createContext(undefined);\nexport function usePopupController() {\n const ctrl = useContext(PopupContext);\n if (!ctrl)\n throw new Error(\"usePopupController must be used inside a Popup component\");\n return ctrl;\n}\nexport function DOMPopup({ ctrlRef, id, constraints, isOpen, children, className, onClose, zIndex, position, ...props }) {\n const popupRef = useRef(null);\n const [ctrl, setCtrl] = useState();\n useEffect(() => {\n if (!props.anchor)\n throw new Error(\"Anchor element is required\");\n const _ctrl = new PopupController({\n ...props,\n onClose\n });\n setCtrl(_ctrl);\n return () => {\n _ctrl.tryClose();\n };\n }, []);\n useEffect(() => {\n if (ctrlRef) {\n ctrlRef.current = ctrl;\n }\n }, [ctrl]);\n // effect to open / close the popup\n useEffect(() => {\n if (ctrl && popupRef.current) {\n if (ctrl.isOpen !== isOpen) {\n if (isOpen) {\n ctrl.open(popupRef.current, constraints);\n }\n else {\n ctrl.close();\n }\n }\n }\n else if (ctrl?.isOpen && !isOpen) {\n // close the popup - happens when isOpen becomes false but the ctrl is still open\n // and the popupRef was destroyed by the isOpen && below\n ctrl.close();\n }\n }, [isOpen, ctrl, popupRef.current]);\n return (_jsx(PopupContext.Provider, { value: ctrl, children: isOpen && createPortal(_jsx(\"div\", { id: id, style: {\n //display: isOpen ? 'block' : 'none',\n visibility: 'hidden',\n position: position || 'absolute',\n zIndex: zIndex || 100,\n }, ref: popupRef, className: className, children: children }), document.body) }));\n}\nexport function Popup({ anchor, root, children, ...others }) {\n return anchor.current && (!root || root.current) ? (_jsx(DOMPopup, { anchor: anchor.current, root: root?.current || undefined, ...others, children: children })) : null;\n}\n//# sourceMappingURL=Popup.js.map","import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { ChevronDownIcon, ChevronUpIcon } from 'lucide-react';\nimport clsx from 'clsx';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { Popup } from \"./popup/index\";\nconst INPUT_UNSTYLED = \"block m-0 p-0 border-0 focus:outline-none focus:ring-0 bg-transparent\";\nconst INPUT_NO_PADDING = \"block sm:text-sm sm:leading-6 rounded-md border-0 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 dark:ring-slate-600 dark:text-slate-50 dark:bg-slate-800 placeholder:text-gray-400 dark:placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 dark:focus:ring-indigo-800\";\nconst INPUT = INPUT_NO_PADDING + \" py-1.5\";\nconst COMBOBOX_POPUP = \"combobox-popup\";\nfunction genComboboxPopupId() {\n return `combobox-popup-${Math.floor(Math.random() * 1000000)}`;\n}\nexport class OptionAdapter {\n filter(items, text) {\n const lcText = text.toLowerCase();\n return items.filter((item) => this.valueOf(item).toLowerCase().includes(lcText));\n }\n renderOption(item) {\n return this.valueOf(item);\n }\n findById(items, id) {\n return items.find(item => this.idOf(item) === id);\n }\n // override to support creating new items\n createItem(_value) {\n return null; // default is no new item\n }\n}\nexport class StringOptionAdapter extends OptionAdapter {\n valueOf(item) {\n return String(item);\n }\n idOf(item) {\n return String(item);\n }\n static instance = new StringOptionAdapter();\n}\nexport class StringOptionAdapterWithCreate extends StringOptionAdapter {\n createItem(value) {\n return value;\n }\n static instance = new StringOptionAdapterWithCreate();\n}\nexport function getDefaultComboBoxLayout(fullWidth, unstyledInput) {\n return {\n buttonRight: 4,\n buttonWidth: 24,\n maxMenuHeight: 240,\n menuClass: \"w-72 bg-white mt-1 shadow-md border border-gray-200 overflow-auto p-0 z-10\",\n inputClass: clsx(unstyledInput ? INPUT_UNSTYLED : INPUT, fullWidth ? \"w-full\" : \"!w-auto\"),\n optionClass: \"py-2 px-3 shadow-sm flex flex-col [&.option-selected]:font-semibold [&.option-highlighted]:bg-blue-300\",\n Input: (ComboInput),\n Menu: (ComboMenu),\n Toggle: (ComboToggle),\n };\n}\nexport function ComboBox({ menuAlign = \"fill\", menuGap, focusOnMount, onSelect, value, zIndex, unstyledInput, fullWidth, api, layout: layoutOpts, adapter, items, placeholder }) {\n const [popupId] = useState(genComboboxPopupId());\n const popupCtrl = useRef(undefined);\n const inputRef = useRef(null);\n const layout = layoutOpts ? Object.assign(getDefaultComboBoxLayout(fullWidth, unstyledInput), layoutOpts) : getDefaultComboBoxLayout(fullWidth, unstyledInput);\n const inputBoxRef = React.useRef(null);\n const ctrl = useComboboxCtrl({\n adapter,\n items,\n value,\n popupId\n });\n useEffect(() => {\n if (inputRef.current) {\n focusOnMount && inputRef.current.focus();\n }\n }, [inputRef.current]);\n // the onSelect callback may change so we need to refresh it.\n useEffect(() => {\n ctrl.onSelect = onSelect;\n ctrl.popupCtrl = popupCtrl.current;\n }, [onSelect, popupCtrl.current]);\n useEffect(() => {\n if (api && ctrl && inputRef.current) {\n api.current = {\n open: () => ctrl.openMenu(),\n close: () => ctrl.closeMenu(),\n toggle: () => ctrl.toggleMenu(),\n setInputValue: (value) => ctrl.inputText = value,\n inputValue: ctrl.inputText || '',\n selectedItem: ctrl.selectedItem,\n focus: () => inputRef.current?.focus()\n };\n return () => {\n api.current = null;\n };\n }\n }, [api, ctrl, inputRef.current]);\n const showMenu = ctrl.isMenuOpen && ctrl.filteredItems.length > 0;\n return (_jsxs(_Fragment, { children: [_jsx(layout.Input, { boxRef: inputBoxRef, inputRef: inputRef, ctrl: ctrl, layout: layout, placeholder: placeholder }), _jsx(Popup, { id: popupId, ctrlRef: popupCtrl, className: COMBOBOX_POPUP, closeOnClick: true, closeOnEsc: true, onClose: () => ctrl.closeMenu(), isOpen: showMenu, anchor: inputBoxRef, zIndex: zIndex, constraints: {\n position: \"bottom\",\n align: menuAlign,\n gap: menuGap != null ? menuGap : 4\n }, children: _jsx(layout.Menu, { fillWidth: menuAlign === \"fill\", items: ctrl.filteredItems, ctrl: ctrl, layout: layout, adapter: adapter }) })] }));\n}\nfunction ComboInput({ inputRef, placeholder, boxRef, ctrl, layout }) {\n const buttonWidth = layout.buttonWidth;\n const style = buttonWidth > 0 ? { paddingRight: `${buttonWidth}px` } : undefined;\n const Toggle = layout.Toggle;\n return (_jsxs(\"div\", { className: \"relative\", ref: boxRef, children: [_jsx(\"input\", { ref: inputRef, placeholder: placeholder, ...ctrl.getInputProps(), style: style, className: layout.inputClass }), Toggle &&\n _jsx(\"button\", { style: {\n top: 0, bottom: 0, right: `${layout.buttonRight}px`, width: `${buttonWidth}px`,\n position: \"absolute\",\n border: \"none\",\n padding: 0,\n margin: 0,\n backgroundColor: \"transparent\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n }, ...ctrl.getToggleButtonProps(), children: _jsx(Toggle, { ctrl: ctrl, layout: layout }) })] }));\n}\nfunction ComboToggle({ ctrl }) {\n return ctrl.isMenuOpen ? _jsx(ChevronUpIcon, { className: \"w-4 h-4\" }) : _jsx(ChevronDownIcon, { className: \"w-4 h-4\" });\n}\nfunction ComboMenu({ fillWidth, items, layout, ctrl, adapter }) {\n const { highlightedIndex, selectedItem } = ctrl;\n return (_jsx(\"ul\", { style: { width: fillWidth ? \"100%\" : undefined, maxHeight: layout.maxMenuHeight ? `${layout.maxMenuHeight}px` : '240px' }, className: layout.menuClass, ...ctrl.getMenuProps(), children: items.map((item, index) => (_jsx(\"li\", { \"data-index\": index, className: clsx(layout.optionClass, highlightedIndex === index && \"option-highlighted\", selectedItem === item && \"option-selected\"), ...ctrl.getItemProps(item, index), children: adapter.renderOption(item) }, adapter.idOf(item)))) }));\n}\nexport function useComboboxCtrl(props) {\n const [ctrl, setCtrl] = useState(new ComboboxController(props));\n useEffect(() => {\n ctrl?.withState(setCtrl);\n }, []);\n return ctrl;\n}\nclass ComboboxController {\n popupId;\n items;\n adapter;\n onSelect;\n setState;\n _selectedItem = null;\n _filteredItems;\n _inputText = \"\";\n _highlightedIndex = null;\n _isMenuOpen = false;\n popupCtrl;\n constructor({ adapter, items, value, popupId }) {\n this.adapter = adapter;\n this.items = items;\n this.popupId = popupId;\n if (typeof value === \"string\") {\n this._inputText = value;\n }\n else if (value) {\n this._selectedItem = adapter.findById(items, adapter.idOf(value)) || null;\n if (this._selectedItem) {\n this._inputText = adapter.valueOf(value);\n }\n }\n if (this._inputText) {\n this._filteredItems = this.adapter.filter(this.items, this._inputText);\n }\n else {\n this._filteredItems = this.items;\n }\n }\n withState(setState) {\n this.setState = setState;\n return this;\n }\n clone() {\n const clone = new ComboboxController({ adapter: this.adapter, items: this.items, popupId: this.popupId });\n clone.setState = this.setState;\n clone.onSelect = this.onSelect;\n clone._inputText = this._inputText;\n clone._highlightedIndex = this._highlightedIndex;\n clone._selectedItem = this._selectedItem;\n clone._isMenuOpen = this._isMenuOpen;\n clone._filteredItems = this._filteredItems;\n clone.popupCtrl = this.popupCtrl;\n return clone;\n }\n updateState() {\n this.setState?.(this.clone());\n }\n get filteredItems() {\n if (this._inputText) {\n return this.adapter.filter(this.items, this._inputText);\n }\n else {\n return this.items;\n }\n }\n get selectedItem() {\n return this._selectedItem;\n }\n set selectedItem(item) {\n this._selectedItem = item;\n this._inputText = item ? this.adapter.valueOf(item) : \"\";\n this._filteredItems = this._inputText ?\n this.adapter.filter(this.items, this._inputText)\n : this.items;\n this.updateState();\n this.onSelect?.(item);\n }\n get isMenuOpen() {\n return this._isMenuOpen;\n }\n set inputText(inputText) {\n this._inputText = inputText;\n if (inputText) {\n this._filteredItems = this.adapter.filter(this.items, inputText);\n }\n else {\n this._filteredItems = this.items;\n }\n this._highlightedIndex = null;\n this._selectedItem = null;\n this.updateState();\n // TODO -- experimental - it works but it's not perfect\n // we need to update if the popup is on top and the filtered items changed\n if (this.isMenuOpen && this.popupCtrl) {\n const popupCtrl = this.popupCtrl;\n const popupPosition = popupCtrl.context?.position?.position;\n if (popupPosition && popupPosition === \"top\") {\n window.setTimeout(() => {\n popupCtrl.update();\n }, 100);\n }\n }\n }\n get inputText() {\n return this._inputText;\n }\n set highlightedIndex(index) {\n this._highlightedIndex = index;\n this.updateState();\n }\n get highlightedIndex() {\n return this._highlightedIndex;\n }\n openMenu() {\n if (this._filteredItems.length > 0) {\n this._isMenuOpen = true;\n //this._highlightedIndex = 0;\n this.updateState();\n }\n else {\n // TODO nothing to show.\n // display a create value option?\n }\n }\n closeMenu(_item) {\n if (this._isMenuOpen) {\n this._highlightedIndex = null;\n this._isMenuOpen = false;\n this.updateState();\n }\n }\n toggleMenu() {\n if (this._isMenuOpen) {\n this.closeMenu();\n }\n else {\n this.openMenu();\n }\n }\n highlightIndex(index, navigateToTop = false) {\n this.highlightedIndex = index;\n const popup = document.getElementById(this.popupId);\n if (popup) {\n popup.querySelector(`li[data-index=\"${index}\"]`)?.scrollIntoView(navigateToTop);\n }\n }\n getMenuProps() {\n return {};\n }\n getToggleButtonProps() {\n return {\n onClick: () => {\n this._isMenuOpen = !this._isMenuOpen;\n this.updateState();\n }\n };\n }\n getItemProps(item, index) {\n return {\n \"aria-selected\": this._highlightedIndex === index,\n onClick: () => {\n this.selectedItem = item;\n this.closeMenu();\n },\n onMouseEnter: () => {\n if (this.highlightedIndex !== index) {\n this.highlightedIndex = index;\n }\n },\n onMouseLeave: () => {\n if (this.highlightedIndex === index) {\n this.highlightedIndex = null;\n }\n }\n };\n }\n getInputProps() {\n const items = this._filteredItems;\n return {\n onClick: () => {\n this.openMenu();\n },\n onChange: (ev) => {\n const value = ev.target.value;\n this.inputText = value;\n this.openMenu();\n },\n value: this.inputText,\n onKeyDown: (ev) => {\n const key = ev.key;\n if (key === \"Enter\") {\n if (this.highlightedIndex != null) {\n this.selectedItem = items[this.highlightedIndex || 0];\n }\n else {\n // create new value?\n if (this.inputText) {\n const item = this.adapter.createItem(this.inputText);\n if (item) {\n this.items.push(item);\n this.selectedItem = item;\n }\n }\n }\n this.closeMenu();\n }\n else if (key === \"ArrowDown\") {\n if (this.isMenuOpen) {\n this.highlightIndex(this.highlightedIndex === null ? 0 : incrModulo(this.highlightedIndex, items.length), false);\n }\n else {\n this.openMenu();\n }\n }\n else if (key === \"ArrowUp\") {\n if (this.isMenuOpen) {\n this.highlightIndex(this.highlightedIndex === null ? 0 : decrModulo(this.highlightedIndex, items.length), true);\n }\n }\n }\n };\n }\n}\nfunction incrModulo(value, max) {\n return (value + 1) % max;\n}\nfunction decrModulo(value, max) {\n return (value - 1 + max) % max;\n}\n//# sourceMappingURL=ComboBox.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva } from \"class-variance-authority\";\nimport { VTooltip } from \"@vertesia/ui/core\";\nimport { cn } from \"../libs/utils\";\nimport { Check, CopyIcon, Loader2 } from \"lucide-react\";\nimport clsx from \"clsx\";\nimport { useState } from \"react\";\nconst buttonVariants = cva(\"hover:cursor-pointer inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\", {\n variants: {\n variant: {\n destructive: \"bg-destructive dark:bg-destructive/10 text-destructive ring-1 ring-inset ring-destructive-muted/50 dark:ring-destructive-muted/50 shadow-xs hover:bg-destructive/50\",\n outline: \"border border-input bg-background shadow-xs hover:bg-muted ring-inset\",\n secondary: \"bg-primary/5 dark:bg-primary/10 text-primary shadow-xs hover:bg-primary/10 dark:hover:bg-primary/20 ring-inset\",\n ghost: \"hover:bg-muted/50 dark:hover:bg-muted/20 ring-inset\",\n link: \"text-foreground underline-offset-4 hover:underline ring-inset\",\n primary: \"bg-primary text-white shadow-xs hover:bg-primary/90 ring-inset\",\n unstyled: \"\"\n },\n size: {\n xs: 'h-7 rounded px-2 py-1 text-xs gap-x-1',\n sm: \"h-8 rounded px-3 text-xs\",\n md: \"h-9 rounded-md px-4 py-2\",\n lg: \"h-10 rounded-md px-3\",\n xl: 'rounded-md px-3.5 py-2.5 text-sm gap-x-2',\n icon: \"p-0 m-0 rounded-full\",\n },\n },\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n },\n});\nconst Button = React.forwardRef(({ className, variant, size, asChild = false, alt, isDisabled, isLoading, title, onClick, type, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\";\n const buttonElement = (_jsxs(Comp, { className: clsx(cn(buttonVariants({ variant, size })), className), disabled: isDisabled || isLoading || props.disabled, ref: ref, onClick: onClick, type: type, autoFocus: false, ...props, children: [isLoading && _jsx(Loader2, { className: \"animate-spin\" }), props.children] }));\n if (alt || title) {\n return (_jsx(VTooltip, { description: alt || title, asChild: true, className: \"cursor-pointer\", size: \"xs\", placement: \"top\", children: buttonElement }));\n }\n return buttonElement;\n});\nButton.displayName = \"Button\";\nconst CopyButton = React.forwardRef(({ size, content, toast, className, alt, ...props }, ref) => {\n const [isCopied, setIsCopied] = useState(false);\n const handleCopy = (e) => {\n e.stopPropagation();\n navigator.clipboard.writeText(content).then(() => {\n setIsCopied(true);\n setTimeout(() => setIsCopied(false), 2000);\n if (!toast || !toast.toast) {\n return;\n }\n toast.toast({\n status: \"success\",\n title: toast.message || \"Copied to clipboard\",\n duration: 2000,\n });\n }).catch((err) => {\n console.error(\"Failed to copy text: \", err);\n if (toast && toast.toast)\n toast.toast({\n status: \"error\",\n title: \"Failed to copy\",\n duration: 2000,\n });\n });\n };\n return (_jsx(Button, { ref: ref, className: cn(className), variant: \"unstyled\", size: size || \"sm\", onClick: handleCopy, ...props, alt: alt ?? \"Copy\", children: isCopied ?\n _jsx(Check, { className: \"text-success\" })\n :\n _jsx(CopyIcon, { className: \"size-4\" }) }));\n});\nCopyButton.displayName = \"CopyButton\";\nexport { Button, CopyButton, buttonVariants };\n//# sourceMappingURL=button.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createContext, useContext, useEffect, useState } from \"react\";\nconst initialState = {\n theme: \"system\",\n setTheme: () => null,\n};\nconst ThemeProviderContext = createContext(initialState);\nexport { ThemeProviderContext };\nexport function ThemeProvider({ children, defaultTheme = \"system\", storageKey = \"vite-ui-theme\", ...props }) {\n const [theme, setTheme] = useState(() => localStorage.getItem(storageKey) || defaultTheme);\n useEffect(() => {\n const root = window.document.documentElement;\n root.classList.remove(\"light\", \"dark\");\n if (theme === \"system\") {\n const systemTheme = window.matchMedia(\"(prefers-color-scheme: dark)\")\n .matches\n ? \"dark\"\n : \"light\";\n root.classList.add(systemTheme);\n return;\n }\n root.classList.add(theme);\n }, [theme]);\n const value = {\n theme,\n setTheme: (theme) => {\n localStorage.setItem(storageKey, theme);\n setTheme(theme);\n },\n };\n return (_jsx(ThemeProviderContext.Provider, { ...props, value: value, children: children }));\n}\nexport const useTheme = () => {\n const context = useContext(ThemeProviderContext);\n if (context === undefined)\n throw new Error(\"useTheme must be used within a ThemeProvider\");\n return context;\n};\n//# sourceMappingURL=ThemeProvider.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Computer, Moon, Sun } from \"lucide-react\";\nimport { Button } from \"../button\";\nimport { useTheme } from \"./ThemeProvider\";\nexport function ModeOption({ option, current, setTheme, icon }) {\n return (_jsx(Button, { variant: current === option ? \"secondary\" : \"outline\", size: \"sm\", onClick: () => setTheme(option), alt: option, children: icon }));\n}\nexport function ModeToggle() {\n const { setTheme } = useTheme();\n const theme = useTheme().theme;\n return (_jsxs(\"div\", { className: \"flex justify-between px-2 items-center\", children: [_jsx(\"p\", { className: \"text-sm font-semibold\", children: \"Theme\" }), _jsxs(\"div\", { className: \"flex gap-2\", children: [_jsx(ModeOption, { current: theme, option: \"system\", setTheme: setTheme, icon: _jsx(Computer, { className: \"text-muted\" }) }), _jsx(ModeOption, { current: theme, option: \"light\", setTheme: setTheme, icon: _jsx(Sun, { className: \"text-muted\" }) }), _jsx(ModeOption, { current: theme, option: \"dark\", setTheme: setTheme, icon: _jsx(Moon, { className: \"text-muted\" }) })] })] }));\n}\n//# sourceMappingURL=ThemeSwitcher.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport * as React from 'react';\nimport { cn } from \"../libs/utils\";\nconst Card = React.forwardRef(({ className, ...props }, ref) => (_jsx(\"div\", { ref: ref, className: cn(\"rounded-xl border bg-card text-card-foreground shadow\", className), ...props })));\nCard.displayName = \"Card\";\nconst CardHeader = React.forwardRef(({ className, ...props }, ref) => (_jsx(\"div\", { ref: ref, className: cn(\"flex flex-col p-6\", className), ...props })));\nCardHeader.displayName = \"CardHeader\";\nconst CardTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx(\"div\", { ref: ref, className: cn(\"font-semibold leading-none tracking-tight\", className), ...props })));\nCardTitle.displayName = \"CardTitle\";\nconst CardDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx(\"div\", { ref: ref, className: cn(\"text-sm text-muted-foreground\", className), ...props })));\nCardDescription.displayName = \"CardDescription\";\nconst CardContent = React.forwardRef(({ className, ...props }, ref) => (_jsx(\"div\", { ref: ref, className: cn(\"p-6 pt-0\", className), ...props })));\nCardContent.displayName = \"CardContent\";\nconst CardFooter = React.forwardRef(({ className, ...props }, ref) => (_jsx(\"div\", { ref: ref, className: cn(\"flex items-center p-6 pt-0\", className), ...props })));\nCardFooter.displayName = \"CardFooter\";\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent };\n//# sourceMappingURL=card.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nexport function VisuallyHidden({ children }) {\n return (_jsx(\"span\", { style: {\n border: 0,\n clip: \"rect(0 0 0 0)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n width: \"1px\",\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\",\n }, children: children }));\n}\n//# sourceMappingURL=visuallyHidden.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport React from \"react\";\nconst PortalContainerContext = React.createContext(undefined);\nfunction findOrCreatePortalContainer(root, id = \"plugin-portal-container\") {\n // look only at direct children\n for (const child of Array.from(root.children)) {\n if (child instanceof HTMLElement && child.id === id) {\n return child;\n }\n }\n // not found → create\n const container = document.createElement(\"div\");\n container.id = id;\n root.appendChild(container);\n return container;\n}\nexport function PortalContainerProvider({ children, id = \"plugin-portal-container\", }) {\n const ref = React.useRef(null);\n const [container, setContainer] = React.useState(undefined);\n React.useEffect(() => {\n if (ref.current) {\n const root = ref.current.getRootNode();\n if (root instanceof ShadowRoot || root instanceof Document) {\n const container = findOrCreatePortalContainer(root, id);\n setContainer(container);\n }\n else {\n setContainer(null);\n }\n }\n }, [id]);\n // If container not discovered yet → render hidden marker only\n if (container === undefined) {\n return _jsx(\"div\", { ref: ref, style: { display: \"none\" } });\n }\n // Once container is resolved (null or HTMLElement) → provide it\n return (_jsx(PortalContainerContext.Provider, { value: container || undefined, children: children }));\n}\nexport function usePortalContainer() {\n return React.useContext(PortalContainerContext);\n}\n//# sourceMappingURL=PortalContainerProvider.js.map","import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { cn } from \"../libs/utils\";\nimport { X } from \"lucide-react\";\nimport { Button } from \"./button\";\nimport { VisuallyHidden } from \"../libs/visuallyHidden\";\nimport { createContext, useContext } from \"react\";\nimport { usePortalContainer } from \"../../hooks/PortalContainerProvider\";\nconst ModalContext = createContext(false);\nexport function useIsInModal() {\n return !!useContext(ModalContext);\n}\nexport function ModalContextProvider({ children }) {\n return _jsx(ModalContext.Provider, { value: true, children: children });\n}\nexport function VModal({ className, children, isOpen, onClose, description = \"Modal Description\", noCloseButton = false, allowOverflow = false, disableCloseOnClickOutside = false, size = \"md\", action }) {\n const handleOpenChange = (open) => {\n if (!open) {\n onClose();\n }\n };\n function getSizeClasses() {\n switch (size) {\n case \"sm\":\n return \"max-w-[20vw]\";\n case \"md\":\n return \"max-w-[40vw]\";\n case \"lg\":\n return \"max-w-[60vw]\";\n case \"xl\":\n return \"max-w-[80vw]\";\n default:\n return \"max-w-[40vw]\";\n }\n }\n return (_jsxs(Dialog, { open: isOpen, onOpenChange: (open) => {\n if (!disableCloseOnClickOutside || open) {\n handleOpenChange(open);\n }\n }, children: [allowOverflow && _jsx(DialogOverlay, { className: \"z-50 fixed inset-0 bg-black/80\" }), _jsx(VisuallyHidden, { children: _jsx(DialogDescription, { children: description }) }), _jsxs(DialogContent, { className: cn(\"min-h-20 p-4\", \"fixed left-[50%] top-[50%] z-50 grid w-full translate-x-[-50%] translate-y-[-50%] border bg-background shadow-lg duration-200 sm:rounded-lg\", getSizeClasses(), className), children: [_jsx(\"div\", { className: \"top-4 right-4 absolute\", children: _jsxs(\"div\", { className: \"flex gap-2\", children: [action && (_jsx(_Fragment, { children: action })), !noCloseButton && (_jsx(DialogClose, { onClick: () => handleOpenChange(false), asChild: true, autoFocus: false, children: _jsx(Button, { variant: \"outline\", alt: \"Close\", className: \"data-[state=open]:bg-accent opacity-70 hover:opacity-100 rounded-sm focus:outline-none focus:ring-2 focus:ring-ring ring-offset-background focus:ring-offset-2 data-[state=open]:text-muted-foreground transition-opacity disabled:pointer-events-none\", children: _jsx(X, { className: \"size-4\" }) }) }))] }) }), _jsx(ModalContextProvider, { children: children })] })] }));\n}\nexport const VModalTitle = ({ children, show = true, className, description, ...props }) => {\n if (!show) {\n return (_jsxs(VisuallyHidden, { children: [_jsx(DialogTitle, { children: children }), description && _jsx(DialogDescription, { children: description })] }));\n }\n return (_jsx(_Fragment, { children: _jsxs(DialogTitle, { className: cn(\"text-lg font-semibold leading-6 tracking-tight\", { 'py-2': !description }, className), ...props, children: [children, description && (_jsx(DialogDescription, { className: \"text-sm !font-normal text-muted-foreground pb-2\", children: description }))] }) }));\n};\nexport const VModalBody = ({ children, className, ...props }) => {\n return (_jsx(\"div\", { className: cn(\"text-sm max-h-[80vh] overflow-y-auto\", className), ...props, children: children }));\n};\nexport const VModalFooter = ({ align = \"right\", children, className, ...props }) => {\n const alignClass = {\n left: \"justify-start\",\n center: \"justify-center\",\n right: \"justify-end\",\n };\n return (_jsx(\"div\", { className: cn(\"w-full flex py-3 sm:py-2 sm:flex sm:flex-row-reverse sm:flex-row sm:justify-end sm:space-x-2\", alignClass[align], className), ...props, children: children }));\n};\nconst Dialog = DialogPrimitive.Root;\nconst DialogTrigger = DialogPrimitive.Trigger;\nconst DialogPortal = DialogPrimitive.Portal;\nconst DialogClose = DialogPrimitive.Close;\nconst DialogOverlay = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Overlay, { ref: ref, className: cn(\"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\", className), ...props })));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\nconst DialogContent = React.forwardRef(({ className, children, ...props }, ref) => {\n const container = usePortalContainer();\n return (_jsxs(DialogPortal, { container: container, children: [_jsx(DialogOverlay, {}), _jsx(DialogPrimitive.Content, { ref: ref, autoFocus: false, onOpenAutoFocus: (event) => {\n event.preventDefault();\n }, className: cn(\"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] border bg-background shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\", className), ...props, children: children })] }));\n});\nDialogContent.displayName = DialogPrimitive.Content.displayName;\nconst DialogDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Description, { ref: ref, className: cn(\"text-sm text-muted\", className), ...props })));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\nconst DialogTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Title, { ref: ref, className: cn(\"text-lg font-semibold leading-none tracking-tight\", className), ...props })));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\nexport { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogTitle, DialogDescription, };\n//# sourceMappingURL=dialog.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport { cva } from \"class-variance-authority\";\nimport { cn } from \"../libs/utils\";\nimport { X } from \"lucide-react\";\nimport { Button } from \"@vertesia/ui/core\";\nconst variants = cva(\"\", {\n variants: {\n size: {\n xs: \"rounded py-1 text-xs rounded-xs\",\n sm: \"rounded text-xs rounded-sm\",\n md: \"rounded-md py-2 text-sm\",\n lg: \"rounded-md text-base\",\n xl: \"rounded-md py-2.5 text-lg\",\n },\n variant: {\n default: \"flex w-full rounded-md border border-input bg-background ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 ring-inset focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50\",\n unstyled: \"block m-0 p-0 w-full border-0 focus:outline-hidden focus:ring-0 bg-transparent\",\n noPadding: \"block rounded-md border-0 bg-background shadow-2xs ring-1 ring-inset ring-ring placeholder:text-muted-foreground focus:ring-2 focus:ring-inset focus:ring-ring ring-offset-background\",\n legacy: \"py-1.5 block rounded-md border-0 bg-background shadow-2xs ring-1 ring-inset ring-ring placeholder:text-muted-foreground focus:ring-2 focus:ring-inset focus:ring-ring ring-offset-background\",\n },\n },\n defaultVariants: {\n size: \"md\",\n variant: \"default\",\n },\n});\nconst Input = React.forwardRef(({ className, type, size = \"md\", variant = \"default\", clearable = true, onChange, value, ...props }, ref) => {\n const _onClear = () => {\n onChange && onChange('');\n };\n const _onChange = (ev) => {\n onChange && onChange(ev.target.value);\n };\n return (_jsxs(\"div\", { className: \"w-full relative inline-block [&:hover_.clear-button]:opacity-100\", children: [_jsx(\"input\", { type: type, className: cn(variants({ size, variant }), className, clearable && value ? \"pr-8\" : \"\"), ref: ref, value: value == null ? '' : value, onChange: _onChange, ...props }), clearable && value && !props.readOnly && !props.disabled && (_jsx(Button, { variant: \"link\", size: \"icon\", type: \"button\", onClick: _onClear, className: `clear-button opacity-0 transition-opacity duration-200\n absolute top-1/2 -translate-y-1/2 text-muted !hover:text-destructive cursor-pointer\n flex items-center justify-center size-6 rounded right-2`, alt: \"Clear input\", children: _jsx(X, { size: 16 }) }))] }));\n});\nInput.displayName = \"Input\";\nexport { Input, };\n//# sourceMappingURL=input.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\";\nimport { cn } from \"../libs/utils\";\nconst Separator = React.forwardRef(({ className, orientation = \"horizontal\", decorative = true, ...props }, ref) => (_jsx(SeparatorPrimitive.Root, { ref: ref, decorative: decorative, orientation: orientation, className: cn(\"shrink-0 bg-border\", orientation === \"horizontal\" ? \"h-[1px] w-full\" : \"h-full w-[1px]\", className), ...props })));\nSeparator.displayName = SeparatorPrimitive.Root.displayName;\nexport { Separator };\n//# sourceMappingURL=separator.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport { cn } from \"../libs/utils\";\nimport { useIsInModal } from \"./dialog\";\nimport { usePortalContainer } from \"../../hooks/PortalContainerProvider\";\nexport const PopoverContext = React.createContext(null);\nconst Popover = ({ hover = false, click = false, children, _open, onOpenChange }) => {\n const [open, setOpen] = React.useState(_open || false);\n const insideModal = useIsInModal();\n const handleOpenChange = (open) => {\n setOpen(open);\n if (onOpenChange) {\n onOpenChange(open);\n }\n };\n return (_jsx(PopoverContext.Provider, { value: { open, setOpen, hover, click }, children: _jsx(PopoverPrimitive.Root, { open: open, onOpenChange: handleOpenChange, modal: insideModal, children: children }) }));\n};\nfunction handleHover(hover = false, setOpen = () => { }, type) {\n if (hover) {\n setOpen(type === \"enter\");\n }\n}\nconst PopoverTrigger = React.forwardRef(({ children, ...props }, ref) => {\n const context = React.useContext(PopoverContext);\n if (!context) {\n throw new Error(\"PopoverTrigger must be used within a Popover\");\n }\n const { setOpen, hover, click } = context;\n return (_jsx(PopoverPrimitive.Trigger, { ref: ref, asChild: true, onMouseEnter: () => handleHover(hover, setOpen, \"enter\"), onMouseLeave: () => handleHover(hover, setOpen, \"leave\"), onClick: () => {\n if (click)\n setOpen((prev) => !prev);\n }, ...props, children: children }));\n});\nPopoverTrigger.displayName = PopoverPrimitive.Trigger.displayName;\nconst PopoverAnchor = PopoverPrimitive.Anchor;\nconst PopoverContent = React.forwardRef(({ className, align = \"center\", side = \"bottom\", ...props }, ref) => {\n const context = React.useContext(PopoverContext);\n if (!context) {\n throw new Error(\"PopoverContent must be used within a Popover\");\n }\n const { setOpen, hover } = context;\n const container = usePortalContainer();\n return (_jsx(PopoverPrimitive.Portal, { container: container, children: _jsx(PopoverPrimitive.Content, { ref: ref, align: align, side: side, onMouseEnter: () => handleHover(hover, setOpen, \"enter\"), onMouseLeave: () => handleHover(hover, setOpen, \"leave\"), \n // onClick={() => {setOpen(false)}}\n className: cn(\"z-50 w-72 rounded-md border-popover bg-popover text-popover-foreground ring-1 ring-gray-200 dark:ring-slate-700 shadow-md focus:outline-none animate-in\", \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\", className), ...props }) }));\n});\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\nconst PopoverClose = PopoverPrimitive.Close;\nPopoverClose.displayName = PopoverPrimitive.Close.displayName;\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor, PopoverClose };\n//# sourceMappingURL=popover.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { Search } from \"lucide-react\";\nimport { cn } from \"../libs/utils\";\nimport { Dialog, DialogContent } from \"./dialog\";\nconst Command = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive, { ref: ref, className: cn(\"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground\", className), ...props })));\nCommand.displayName = CommandPrimitive.displayName;\nconst CommandDialog = ({ children, ...props }) => {\n return (_jsx(Dialog, { ...props, children: _jsx(DialogContent, { className: \"shadow-lg p-0 overflow-hidden\", children: _jsx(Command, { className: \"[&_[cmdk-group]]:px-2 [&_[cmdk-item]]:px-2 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-item]_svg]:w-5 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground\", children: children }) }) }));\n};\nconst CommandInput = React.forwardRef(({ className, ...props }, ref) => (_jsxs(\"div\", { className: \"flex items-center px-3 border-b\", \"cmdk-input-wrapper\": \"\", children: [_jsx(Search, { className: \"opacity-50 size-4 shrink-0\" }), _jsx(CommandPrimitive.Input, { ref: ref, className: cn(\"focus:ring-0\", \"border-0 flex h-8 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\", className), ...props })] })));\nCommandInput.displayName = CommandPrimitive.Input.displayName;\nconst CommandList = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.List, { ref: ref, className: cn(\"overflow-y-auto overflow-x-hidden\", className), ...props })));\nCommandList.displayName = CommandPrimitive.List.displayName;\nconst CommandEmpty = React.forwardRef((props, ref) => (_jsx(CommandPrimitive.Empty, { ref: ref, className: \"py-2 text-sm text-center\", ...props })));\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\nconst CommandGroup = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.Group, { ref: ref, className: cn(\"overflow-y-auto overflow-x-hidden p-1 text-foreground\", \"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground\", className), ...props })));\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\nconst CommandSeparator = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.Separator, { ref: ref, className: cn(\"-mx-1 h-px bg-border\", className), ...props })));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\nconst CommandItem = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.Item, { ref: ref, className: cn(\"hover:bg-muted cursor-pointer relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\", className), ...props })));\nCommandItem.displayName = CommandPrimitive.Item.displayName;\nconst CommandShortcut = ({ className, ...props }) => {\n return (_jsx(\"span\", { className: cn(\"ml-auto text-xs tracking-widest text-muted-foreground\", className), ...props }));\n};\nCommandShortcut.displayName = \"CommandShortcut\";\nexport { Command, CommandDialog, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator, };\n//# sourceMappingURL=command.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport { cn } from \"../libs/utils\";\nimport { usePortalContainer } from \"../../hooks/PortalContainerProvider\";\nconst TooltipProvider = TooltipPrimitive.Provider;\nconst Tooltip = TooltipPrimitive.Root;\nconst TooltipTrigger = TooltipPrimitive.Trigger;\nconst TooltipContent = React.forwardRef(({ className, sideOffset = 4, side = \"top\", ...props }, ref) => {\n const container = usePortalContainer();\n return (_jsx(TooltipPrimitive.Portal, { container: container, children: _jsx(TooltipPrimitive.Content, { ref: ref, sideOffset: sideOffset, side: side, style: { zIndex: 100 }, className: cn(\"max-w-[90vw]\", \"z-50 overflow-hidden rounded-md bg-tooltips border px-3 py-1.5 text-xs animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\", className), ...props }) }));\n});\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\nexport function VTooltip({ description, children, size = 'sm', placement = 'top', className, asChild }) {\n return (_jsx(TooltipProvider, { delayDuration: 0, children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { className: \"cursor-pointer\", asChild: asChild, children: children }), _jsx(TooltipContent, { side: placement, className: `px-3 py-1.5 max-w-${size} text-${size} px-3 ${className}`, children: description })] }) }));\n}\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n//# sourceMappingURL=tooltip.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport clsx from 'clsx';\nimport { isEqual } from 'lodash-es';\nimport { AlertTriangle, Check, ChevronsUpDown, SearchIcon, SquarePlus, X } from 'lucide-react';\nimport { useState, useEffect, useRef, useMemo } from 'react';\nimport { Popover, PopoverContent, PopoverTrigger, PopoverClose } from './popover';\nimport { Command, CommandEmpty, CommandGroup, CommandItem, CommandList } from './command';\nimport { Input } from './input';\nimport { Button } from '@vertesia/ui/core';\nimport { VTooltip } from './tooltip';\nexport function VSelectBox({ options, optionLabel, value, onChange, addNew, addNewLabel, disabled, filterBy, label, placeholder, className, popupClass, isClearable, border = true, multiple = false, by, inline = false, warnOnMissingValue = true, missingValueWarning = \"Value not in options list, may not be valid\" }) {\n const triggerRef = useRef(null);\n const [open, setOpen] = useState(false);\n const [width, setWidth] = useState(0);\n const [filterValue, setFilterValue] = useState('');\n // Check if value is in options list (for single select only)\n const isMissingValue = useMemo(() => {\n if (!warnOnMissingValue || multiple || value == null || !options)\n return false;\n // Use the isOptionsEqual helper which respects the 'by' comparator\n return !options.some(opt => {\n if (typeof by === 'string') {\n return opt[by] === value[by];\n }\n else if (typeof by === 'function') {\n return by(opt, value);\n }\n else {\n return isEqual(opt, value);\n }\n });\n }, [warnOnMissingValue, multiple, value, options, by]);\n useEffect(() => {\n const element = triggerRef.current;\n if (!element) {\n return;\n }\n const updateWidth = () => {\n const contentWidth = element.getBoundingClientRect().width;\n setWidth(contentWidth);\n };\n const resizeObserver = new ResizeObserver(() => {\n updateWidth();\n });\n updateWidth();\n resizeObserver.observe(element);\n return () => {\n resizeObserver.disconnect();\n };\n }, []);\n const handleTriggerClick = (e) => {\n if (disabled) {\n e.preventDefault();\n return;\n }\n setOpen(!open);\n };\n const _onClick = (opt) => {\n if (multiple) {\n const currentValues = Array.isArray(value) ? value : [];\n const isSelected = isOptionSelected(opt, currentValues);\n if (isSelected) {\n // Remove from selection\n const newValues = currentValues.filter(v => !isOptionsEqual(v, opt));\n onChange(newValues);\n }\n else {\n // Add to selection\n onChange([...currentValues, opt]);\n }\n // Don't close the popover in multiple mode\n }\n else {\n setOpen(false);\n onChange(opt);\n }\n };\n // Helper function to check if an option is selected\n const isOptionSelected = (option, selectedValues) => {\n if (!selectedValues || selectedValues.length === 0)\n return false;\n return selectedValues.some(v => isOptionsEqual(v, option));\n };\n // Helper function to compare options for equality\n const isOptionsEqual = (a, b) => {\n // Handle null/undefined values\n if (a == null || b == null) {\n return a === b;\n }\n if (typeof by === 'string') {\n return a[by] === b[by];\n }\n else if (typeof by === 'function') {\n return by(a, b);\n }\n else {\n return isEqual(a, b);\n }\n };\n let filteredOptions = options || [];\n function getFilterByFn(filterBy) {\n if (!filterBy) {\n return (o) => String(o).toLowerCase();\n }\n else if (typeof filterBy === 'string') {\n return (o) => String(o[filterBy]).toLowerCase();\n }\n else {\n return filterBy;\n }\n }\n const filterLc = filterValue.toLowerCase();\n const filterFn = getFilterByFn(filterBy);\n filteredOptions = filteredOptions.filter(o => filterFn(o).includes(filterLc));\n const renderSingleValue = () => {\n if (!value || (Array.isArray(value) && value.length === 0)) {\n return _jsx(\"span\", { className: \"text-muted\", children: placeholder });\n }\n const singleValue = Array.isArray(value) ? value[0] : value;\n return optionLabel ? optionLabel(singleValue) : singleValue;\n };\n const renderMultipleValue = () => {\n const arrayValue = Array.isArray(value) ? value : (value ? [value] : []);\n if (arrayValue.length === 0) {\n return _jsx(\"span\", { className: \"text-muted\", children: placeholder });\n }\n if (arrayValue.length === 1) {\n return optionLabel ? optionLabel(arrayValue[0]) : arrayValue[0];\n }\n return (_jsxs(\"div\", { className: \"flex flex-wrap gap-1\", children: [arrayValue.slice(0, 1).map((item, index) => (_jsx(\"span\", { className: \"inline-flex items-center gap-1 px-2 py-1 text-xs bg-muted rounded\", children: optionLabel ? optionLabel(item) : item }, index))), arrayValue.length > 1 && (_jsxs(\"span\", { className: \"inline-flex items-center px-2 py-1 text-xs bg-muted rounded\", children: [\"+\", arrayValue.length - 1, \" more\"] }))] }));\n };\n // Render the options list content\n const renderOptionsContent = () => (_jsxs(_Fragment, { children: [filterBy && (_jsxs(\"div\", { className: 'flex justify-start items-center mb-1', children: [_jsx(\"div\", { className: 'mx-2', children: _jsx(SearchIcon, { className: \"size-4\" }) }), _jsx(Input, { variant: 'unstyled', value: filterValue, onChange: setFilterValue, className: \"w-full p-1 rounded-md\", placeholder: \"Search...\" })] })), _jsx(Command, { className: \"overflow-hidden\", children: _jsxs(CommandList, { className: inline ? \"max-h-full overflow-y-auto\" : \"max-h-[200px] overflow-y-auto\", children: [_jsx(CommandEmpty, { children: \"No result found.\" }), _jsx(CommandGroup, { children: filteredOptions?.map((opt, index) => {\n const isSelected = multiple\n ? isOptionSelected(opt, Array.isArray(value) ? value : [])\n : value != null ? isOptionsEqual(value, opt) : false;\n return (_jsx(CommandItem, { onSelect: () => _onClick(opt), className: \"w-full\", children: multiple || inline ? (_jsxs(\"div\", { className: 'w-full flex justify-between items-center cursor-pointer', children: [_jsx(\"div\", { className: 'w-full truncate text-left', children: optionLabel ? optionLabel(opt) : opt }), isSelected && _jsx(Check, { className: \"size-4\" })] })) : (_jsxs(PopoverClose, { className: 'w-full flex justify-between items-center', children: [_jsx(\"div\", { className: 'w-full truncate text-left', children: optionLabel ? optionLabel(opt) : opt }), isSelected && _jsx(Check, { className: \"size-4\" })] })) }, index));\n }) })] }) }), addNew && (_jsx(\"div\", { className: 'p-1', children: _jsxs(\"a\", { onClick: addNew, className: clsx('gap-x-2 px-2 py-1.5 truncate group flex rounded-md items-center text-sm cursor-pointer hover:bg-accent'), children: [_jsx(SquarePlus, { size: 16, strokeWidth: 1.25, absoluteStrokeWidth: true }), addNewLabel] }) }))] }));\n if (inline) {\n return (_jsx(\"div\", { className: clsx(className, border && 'border border-border rounded-md', \"bg-popover p-1\", popupClass), children: renderOptionsContent() }));\n }\n return (_jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(\"div\", { ref: triggerRef, onClick: handleTriggerClick, className: clsx(className, border && (isMissingValue ? 'border border-destructive' : 'border border-border'), 'flex flex-row gap-2 items-center justify-between p-2 rounded-md group relative [&:hover_.clear-button]:opacity-100', !disabled ? \"cursor-pointer hover:bg-muted\" : \"cursor-not-allowed text-muted\"), children: [_jsxs(\"div\", { className: clsx(\"flex flex-col w-full rounded-md text-sm min-h-6 items-center justify-center truncate\", !disabled && \"\", isClearable && value && (Array.isArray(value) ? value.length > 0 : true) && \"pr-6\"), children: [label && _jsx(\"div\", { className: 'w-full text-left text-xs font-semibold', children: label }), _jsxs(\"div\", { className: clsx('w-full text-left ', !disabled && '', isMissingValue && 'text-destructive'), children: [isMissingValue && (_jsx(VTooltip, { description: missingValueWarning, placement: \"top\", asChild: true, children: _jsx(AlertTriangle, { className: \"inline-block size-4 mr-1 -mt-0.5 cursor-help\" }) })), multiple ? renderMultipleValue() : renderSingleValue()] })] }), _jsxs(\"div\", { className: \"flex items-center gap-1 group\", children: [isClearable && value && (Array.isArray(value) ? value.length > 0 : true) && (_jsx(Button, { variant: \"link\", size: \"icon\", disabled: disabled, alt: \"Clear selection\", onClick: (e) => {\n e.stopPropagation();\n if (multiple) {\n onChange([]);\n }\n else {\n onChange(undefined);\n }\n }, className: \"cursor-pointer hover:bg-muted/20 clear-button opacity-0 transition-opacity duration-200 rounded p-1\", children: _jsx(X, { className: \"size-4\" }) })), !disabled && (_jsx(ChevronsUpDown, { className: \"size-4 opacity-50\" }))] })] }) }), _jsx(PopoverContent, { style: { width: `${width}px`, zIndex: 1000000 }, className: clsx(\"min-w-[8rem] w-64 bg-popover p-1 border shadow\", \"divide-y divide-border\", popupClass), children: renderOptionsContent() })] }));\n}\n//# sourceMappingURL=selectBox.js.map","import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport { cn } from \"../libs/utils\";\nimport { VSelectBox } from \"./selectBox\";\nconst TabsContext = React.createContext({\n size: undefined,\n tabs: undefined,\n current: undefined,\n setTab: undefined,\n responsive: false,\n variant: \"tabs\",\n updateHash: true\n});\nconst VTabs = ({ tabs, defaultValue, current, className, fullWidth, children, onTabChange, responsive = false, variant = \"tabs\", updateHash = true }) => {\n // Initialize value\n const [value, setValue] = React.useState(() => {\n // First check if current is provided\n const currentValue = typeof current === 'function' ? current() : current;\n if (currentValue) {\n return currentValue;\n }\n // Then check hash\n const hash = window.location.hash;\n const currentTab = hash ? hash.substring(1) : undefined;\n // Check if the tab from hash exists in tabs\n if (currentTab && tabs.some(tab => tab.name === currentTab)) {\n return currentTab;\n }\n // Fall back to default or first tab\n return defaultValue || tabs[0]?.name;\n });\n // Update when current prop changes (but don't create a loop)\n React.useEffect(() => {\n const currentValue = typeof current === 'function' ? current() : current;\n if (currentValue && currentValue !== value) {\n setValue(currentValue);\n }\n }, [current]);\n // Listen to hash changes only when there's no current prop being controlled externally\n React.useEffect(() => {\n if (current)\n return; // Skip hash handling if controlled by parent\n const handleHashChange = () => {\n const hash = window.location.hash;\n const currentTab = hash ? hash.substring(1) : undefined;\n // Only update if the tab exists in tabs\n if (currentTab && tabs.some(tab => tab.name === currentTab)) {\n setValue(currentTab);\n }\n else if (!hash && defaultValue) {\n // If no hash, fall back to default\n setValue(defaultValue);\n }\n };\n // Check initial hash\n handleHashChange();\n window.addEventListener('hashchange', handleHashChange);\n return () => window.removeEventListener('hashchange', handleHashChange);\n }, [current, tabs, defaultValue]);\n const handleValueChange = (newValue) => {\n setValue(newValue);\n // Update the URL hash when tab changes (only if updateHash is true and not controlled by parent)\n if (updateHash && !current) {\n // Preserve existing history state when changing hash\n const currentState = window.history.state;\n const newUrl = window.location.pathname + window.location.search + '#' + newValue;\n window.history.pushState(currentState, '', newUrl);\n }\n if (onTabChange) {\n onTabChange(newValue);\n }\n };\n const setTab = React.useCallback((tabName) => {\n handleValueChange(tabName);\n }, [handleValueChange]);\n return (_jsx(TabsContext.Provider, { value: { tabs, size: fullWidth ? tabs.length : 0, current: value, setTab, responsive: responsive, variant, updateHash }, children: _jsx(TabsPrimitive.Root, { defaultValue: value || tabs[0]?.name, value: value, onValueChange: handleValueChange, className: className, children: children }) }));\n};\nconst VTabsBar = ({ className }) => {\n const { tabs, size, current, setTab, responsive, variant, updateHash } = React.useContext(TabsContext);\n const fullWidth = size !== 0;\n const handleTabChange = React.useCallback((tabName) => {\n if (!tabs || !setTab)\n return;\n const tab = tabs.find(t => t.name === tabName);\n if (tab?.href && updateHash) {\n // Preserve existing history state when changing tabs\n const currentState = window.history.state;\n window.history.pushState(currentState, '', tab.href);\n }\n setTab(tabName);\n }, [tabs, setTab, updateHash]);\n if (!tabs || !setTab) {\n console.warn(\"TabsBar: No tabs provided or setTab not available\");\n return null;\n }\n return (_jsxs(_Fragment, { children: [responsive && (_jsx(\"div\", { className: \"px-2 block lg:hidden\", children: _jsx(VSelectBox, { label: \"Tab\", className: (className), options: tabs, optionLabel: (tab) => typeof tab.label === 'string' ? tab.label : String(tab.label), value: tabs.find(tab => tab.name === current), onChange: (tab) => {\n handleTabChange(tab.name);\n } }) })), _jsx(TabsList, { size: size, variant: variant, className: cn((fullWidth ? \"w-full\" : \"\"), className, (responsive ? \"hidden lg:flex\" : \"\")), children: tabs.map((tab) => (_jsx(TabsTrigger, { value: tab.name, disabled: tab.disabled, href: tab.href, variant: variant, onClick: () => handleTabChange(tab.name), children: tab.label }, tab.name))) })] }));\n};\nconst VTabsPanel = ({ className }) => {\n const { tabs } = React.useContext(TabsContext);\n if (!tabs)\n return null;\n return (_jsx(_Fragment, { children: tabs.map((tab) => (_jsx(TabsContent, { value: tab.name, className: className, children: tab.content }, tab.name))) }));\n};\nconst TabsList = React.forwardRef(({ className, size, variant = \"tabs\", ...props }, ref) => (_jsx(TabsContext.Provider, { value: { size, variant }, children: _jsx(TabsPrimitive.List, { ref: ref, className: cn(variant === \"tabs\"\n ? \"border-b -mb-px flex space-x-4\"\n : \"flex space-x-2 p-1 rounded-md\", className), ...props }) })));\nTabsList.displayName = TabsPrimitive.List.displayName;\nconst TabsTrigger = React.forwardRef(({ className, href, variant = \"tabs\", ...props }, ref) => {\n const { size } = React.useContext(TabsContext);\n const handleClick = React.useCallback((event) => {\n if (href) {\n event.preventDefault();\n // Preserve existing history state when changing tabs\n const currentState = window.history.state;\n window.history.pushState(currentState, '', href);\n }\n if (props.onClick) {\n props.onClick(event);\n }\n }, [href, props.onClick]);\n return (_jsx(TabsPrimitive.Trigger, { ref: ref, className: cn(variant === \"tabs\"\n ? cn(\"border-b-2 px-2 py-1.5 text-sm font-medium whitespace-nowrap cursor-pointer\", \"border-transparent text-muted-foreground hover:border-border hover:text-foreground\", \"data-[state=active]:border-primary data-[state=active]:text-primary\", \"disabled:pointer-events-none disabled:opacity-50\")\n : cn(\"px-3 py-1.5 text-sm font-medium whitespace-nowrap cursor-pointer rounded-sm transition-colors\", \"tborder border-input bg-muted shadow-xs hover:bg-muted ring-inset\", \"data-[state=active]:bg-primary data-[state=active]:text-white data-[state=active]:shadow-sm\", \"disabled:pointer-events-none disabled:opacity-50\"), className, size ? `w-1/${size}` : \"\"), onClick: handleClick, ...props }));\n});\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\nconst TabsContent = React.forwardRef(({ className, ...props }, ref) => (_jsx(TabsPrimitive.Content, { ref: ref, className: cn(\"focus-visible:outline-none\", \"flex-1 overflow-y-auto min-h-0 pt-2\", className), ...props })));\nTabsContent.displayName = TabsPrimitive.Content.displayName;\nexport { VTabs, VTabsBar, VTabsPanel, TabsList, TabsTrigger, TabsContent };\n//# sourceMappingURL=tabs.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cva } from \"class-variance-authority\";\nimport { cn } from \"../libs/utils\";\nconst labelVariants = cva(\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\");\nconst Label = React.forwardRef(({ className, required, ...props }, ref) => (_jsxs(LabelPrimitive.Root, { ref: ref, className: cn(labelVariants(), className), ...props, children: [props.children, required && _jsx(\"span\", { className: \"text-destructive-foreground ml-1\", children: \"*\" })] })));\nLabel.displayName = LabelPrimitive.Root.displayName;\nexport { Label };\n//# sourceMappingURL=label.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport { ChevronRight, MoreHorizontal } from \"lucide-react\";\nimport { cn } from \"../libs/utils\";\nexport function Breadcrumbs({ path, maxItems = 3, className, separator }) {\n const items = path || [];\n const renderBreadcrumbItem = (item) => {\n if (item.onClick) {\n return _jsx(BreadcrumbButton, { onClick: item.onClick, href: item.href, children: item.label });\n }\n else if (item.href) {\n return _jsx(BreadcrumbButton, { href: item.href, children: item.label });\n }\n else {\n return _jsx(BreadcrumbPage, { children: item.label });\n }\n };\n if (items.length <= maxItems) {\n return (_jsx(Breadcrumb, { className: cn(\"w-full\", className), children: _jsx(BreadcrumbList, { children: items.map((item, index) => (_jsxs(React.Fragment, { children: [_jsx(BreadcrumbItem, { children: renderBreadcrumbItem(item) }), index < items.length - 1 &&\n _jsx(BreadcrumbSeparator, { children: separator ?? _jsx(ChevronRight, {}) })] }, index))) }) }));\n }\n const lastThreeItems = items.slice(-(maxItems - 1));\n return (_jsx(Breadcrumb, { className: cn(\"w-full\", className), children: _jsxs(BreadcrumbList, { children: [_jsx(BreadcrumbItem, { children: _jsx(BreadcrumbEllipsis, {}) }), _jsx(BreadcrumbSeparator, { children: separator ?? _jsx(ChevronRight, {}) }), lastThreeItems.map((item, index) => (_jsxs(React.Fragment, { children: [_jsx(BreadcrumbItem, { children: renderBreadcrumbItem(item) }), index < lastThreeItems.length - 1 && _jsx(BreadcrumbSeparator, { children: separator ?? _jsx(ChevronRight, {}) })] }, index)))] }) }));\n}\nconst Breadcrumb = React.forwardRef(({ ...props }, ref) => _jsx(\"nav\", { ref: ref, \"aria-label\": \"breadcrumb\", ...props }));\nBreadcrumb.displayName = \"Breadcrumb\";\nconst BreadcrumbList = React.forwardRef(({ className, ...props }, ref) => (_jsx(\"ol\", { ref: ref, className: cn(\"flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5\", className), ...props })));\nBreadcrumbList.displayName = \"BreadcrumbList\";\nconst BreadcrumbItem = React.forwardRef(({ className, ...props }, ref) => (_jsx(\"li\", { ref: ref, className: cn(\"inline-flex items-center gap-1.5 text-muted\", className), ...props })));\nBreadcrumbItem.displayName = \"BreadcrumbItem\";\nconst BreadcrumbLink = React.forwardRef(({ asChild, className, ...props }, ref) => {\n return (_jsx(\"a\", { ref: ref, className: cn(\"transition-colors hover:text-muted\", className), ...props }));\n});\nBreadcrumbLink.displayName = \"BreadcrumbLink\";\nconst BreadcrumbButton = React.forwardRef(({ className, href, onClick, ...props }, ref) => {\n const handleClick = (e) => {\n e.preventDefault();\n if (onClick) {\n onClick(e);\n }\n };\n return (_jsx(\"button\", { ref: ref, className: cn(\"transition-colors hover:text-foreground cursor-pointer\", className), onClick: handleClick, ...props }));\n});\nBreadcrumbButton.displayName = \"BreadcrumbButton\";\nconst BreadcrumbPage = React.forwardRef(({ className, ...props }, ref) => (_jsx(\"span\", { ref: ref, role: \"link\", \"aria-disabled\": \"true\", \"aria-current\": \"page\", className: cn(\"font-normal text-foreground\", className), ...props })));\nBreadcrumbPage.displayName = \"BreadcrumbPage\";\nconst BreadcrumbSeparator = ({ children, className, ...props }) => (_jsx(\"li\", { role: \"presentation\", \"aria-hidden\": \"true\", className: cn(\"[&>svg]:w-3.5 [&>svg]:h-3.5\", className), ...props, children: children ?? _jsx(ChevronRight, {}) }));\nBreadcrumbSeparator.displayName = \"BreadcrumbSeparator\";\nconst BreadcrumbEllipsis = ({ className, ...props }) => (_jsxs(\"span\", { role: \"presentation\", \"aria-hidden\": \"true\", className: cn(\"flex h-9 w-9 items-center justify-center\", className), ...props, children: [_jsx(MoreHorizontal, { className: \"h-4 w-4\" }), _jsx(\"span\", { className: \"sr-only\", children: \"More\" })] }));\nBreadcrumbEllipsis.displayName = \"BreadcrumbEllipsis\";\n//# sourceMappingURL=breadcrumb.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { cn } from \"../../libs/utils\";\nimport { useEffect, useRef, useState } from \"react\";\nexport const AnimateChangeInHeight = ({ children, className, }) => {\n const containerRef = useRef(null);\n const [height, setHeight] = useState(\"auto\");\n useEffect(() => {\n if (containerRef.current) {\n const resizeObserver = new ResizeObserver((entries) => {\n // We only have one entry, so we can use entries[0].\n const observedHeight = entries[0].contentRect.height;\n setHeight(observedHeight);\n });\n resizeObserver.observe(containerRef.current);\n return () => {\n // Cleanup the observer when the component is unmounted\n resizeObserver.disconnect();\n };\n }\n }, []);\n return (_jsx(\"div\", { className: cn(className, \"overflow-hidden transition-all duration-100 ease-in\"), style: { height }, children: _jsx(\"div\", { ref: containerRef, children: children }) }));\n};\n//# sourceMappingURL=animateChangeInHeight.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { Check } from \"lucide-react\";\nimport { cn } from \"../libs/utils\";\nconst Checkbox = React.forwardRef(({ className, ...props }, ref) => (_jsx(CheckboxPrimitive.Root, { ref: ref, className: cn(\"peer size-4 shrink-0 rounded-sm border border-1 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-white\", className), ...props, children: _jsx(CheckboxPrimitive.Indicator, { className: cn(\"flex items-center justify-center text-current\"), children: _jsx(Check, { className: \"size-4\" }) }) })));\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\nexport { Checkbox };\n//# sourceMappingURL=checkbox.js.map","import { jsx as _jsx, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { useEffect, useState } from 'react';\nexport function DynamicLabel({ value, labelRenderer, fallbackLabel }) {\n const [label, setLabel] = useState(fallbackLabel || value);\n const [isLoading, setIsLoading] = useState(false);\n useEffect(() => {\n if (!labelRenderer) {\n setLabel(fallbackLabel || value);\n return;\n }\n const renderLabel = async () => {\n setIsLoading(true);\n try {\n const result = labelRenderer(value);\n if (result instanceof Promise) {\n const resolvedLabel = await result;\n setLabel(resolvedLabel);\n }\n else {\n setLabel(result);\n }\n }\n catch (error) {\n console.error('Error rendering label:', error);\n setLabel(fallbackLabel || value);\n }\n finally {\n setIsLoading(false);\n }\n };\n renderLabel();\n }, [value, labelRenderer, fallbackLabel]);\n if (isLoading) {\n return _jsx(\"span\", { className: \"text-muted-foreground\", children: \"Loading...\" });\n }\n return _jsx(_Fragment, { children: label });\n}\n//# sourceMappingURL=DynamicLabel.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { useRef, useState } from \"react\";\nimport { Checkbox } from \"../../checkbox\";\nimport { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator } from \"../../command\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"../../popover\";\nimport { AnimateChangeInHeight } from \"../animateChangeInHeight\";\nimport { DynamicLabel } from \"../DynamicLabel\";\nexport const SelectionCombobox = ({ filterType, filterValues, setFilterValues, options, labelRenderer, }) => {\n const [open, setOpen] = useState(false);\n const [commandInput, setCommandInput] = useState(\"\");\n const commandInputRef = useRef(null);\n const nonSelectedFilterValues = options?.filter((option) => !filterValues.some(filter => filter.value === option.value));\n return (_jsxs(Popover, { _open: open, onOpenChange: (open) => {\n setOpen(open);\n if (!open) {\n setTimeout(() => {\n setCommandInput(\"\");\n }, 200);\n }\n }, children: [_jsx(PopoverTrigger, { className: \"rounded-none p-1 h-8 bg-muted hover:bg-muted/50 transition text-muted hover:text-primary shrink-0\", children: _jsx(\"div\", { className: \"flex gap-1.5 items-center\", children: filterValues?.length === 1 ? ((() => {\n const option = filterValues[0];\n return (_jsx(DynamicLabel, { value: option.value || '', labelRenderer: labelRenderer, fallbackLabel: option.label }));\n })()) : (`${filterValues?.length} selected`) }) }), _jsx(PopoverContent, { className: \"w-[300px] p-0\", children: _jsx(AnimateChangeInHeight, { children: _jsxs(Command, { children: [_jsx(CommandInput, { placeholder: filterType, className: \"h-9\", value: commandInput, onInputCapture: (e) => {\n setCommandInput(e.currentTarget.value);\n }, ref: commandInputRef }), _jsxs(CommandList, { children: [_jsx(CommandEmpty, { children: \"No results found.\" }), _jsx(CommandGroup, { children: filterValues.map((value) => {\n return (_jsxs(CommandItem, { className: \"group flex gap-2 items-center\", onSelect: () => {\n setFilterValues(filterValues.filter((v) => v.value !== value.value));\n setTimeout(() => {\n setCommandInput(\"\");\n }, 200);\n setOpen(false);\n }, children: [_jsx(\"input\", { type: \"checkbox\", checked: true, onChange: () => { } }), _jsx(DynamicLabel, { value: value.value || '', labelRenderer: labelRenderer, fallbackLabel: value.label })] }, value.value));\n }) }), nonSelectedFilterValues?.length > 0 && (_jsxs(_Fragment, { children: [_jsx(CommandSeparator, {}), _jsx(CommandGroup, { children: nonSelectedFilterValues\n .filter(option => String(option.label || option.value).toLowerCase().includes(commandInput.toLowerCase()))\n .map((filter) => (_jsxs(CommandItem, { className: \"group flex gap-2 items-center\", value: String(filter.label || filter.value), onSelect: () => {\n setFilterValues([...filterValues, {\n value: filter.value,\n label: filter.label\n }]);\n setTimeout(() => {\n setCommandInput(\"\");\n }, 200);\n setOpen(false);\n }, children: [_jsx(Checkbox, { checked: false, className: \"opacity-0 group-data-[selected=true]:opacity-100\" }), _jsx(\"span\", { className: \"text-muted\", children: _jsx(DynamicLabel, { value: filter.value || '', labelRenderer: filter.labelRenderer || labelRenderer, fallbackLabel: filter.label }) })] }, filter.value))) })] }))] })] }) }) })] }));\n};\n//# sourceMappingURL=SelectCombobox.js.map","export const calendarStyles = `\n.calendar-wrapper .react-calendar__navigation {\n display: flex !important;\n justify-content: space-between !important;\n align-items: center !important;\n gap: 8px !important;\n padding: 8px !important;\n}\n\n.calendar-wrapper .react-calendar__navigation__label {\n flex: 1 !important;\n text-align: center !important;\n font-weight: 500 !important;\n}\n\n.calendar-wrapper .react-calendar__navigation__arrow {\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n min-width: 32px !important;\n height: 32px !important;\n border-radius: 4px !important;\n border: 1px solid hsl(var(--border)) !important;\n background: hsl(var(--background)) !important;\n color: hsl(var(--foreground)) !important;\n}\n\n.calendar-wrapper .react-calendar__navigation__arrow:hover {\n background: oklch(var(--muted)) !important;\n}\n\n.calendar-wrapper .react-calendar__tile {\n cursor: pointer !important;\n width: 0.5rem !important;\n font-size: 0.875rem !important;\n}\n\n.calendar-wrapper .react-calendar__tile:hover,\n.calendar-wrapper .react-calendar__month-view__days__day:hover,\n.calendar-wrapper .react-calendar__decade-view__years__year:hover,\n.calendar-wrapper .react-calendar__year-view__months__month:hover {\n background: #b5b5b580 !important;\n}\n\n.calendar-wrapper .react-calendar__tile:not(.react-calendar__tile--active):hover {\n background: #b5b5b580 !important;\n}\n\n.calendar-wrapper .react-calendar__tile--hover {\n background: #b5b5b580 !important;\n}\n\n.calendar-wrapper .react-calendar__tile--disabled,\n.calendar-wrapper .react-calendar__tile:disabled,\n.calendar-wrapper .react-calendar__month-view__days__day--disabled,\n.calendar-wrapper .react-calendar__month-view__days__day:disabled,\n.calendar-wrapper .react-calendar__year-view__months__month--disabled,\n.calendar-wrapper .react-calendar__year-view__months__month:disabled,\n.calendar-wrapper .react-calendar__decade-view__years__year--disabled,\n.calendar-wrapper .react-calendar__decade-view__years__year:disabled {\n cursor: not-allowed !important;\n color: #9ca3af !important;\n}\n\n.calendar-wrapper .react-calendar__tile--disabled:hover,\n.calendar-wrapper .react-calendar__tile:disabled:hover,\n.calendar-wrapper .react-calendar__month-view__days__day--disabled:hover,\n.calendar-wrapper .react-calendar__month-view__days__day:disabled:hover,\n.calendar-wrapper .react-calendar__year-view__months__month--disabled:hover,\n.calendar-wrapper .react-calendar__year-view__months__month:disabled:hover,\n.calendar-wrapper .react-calendar__decade-view__years__year--disabled:hover,\n.calendar-wrapper .react-calendar__decade-view__years__year:disabled:hover {\n background: transparent !important;\n}\n\n\n.calendar-wrapper .react-calendar__month-view__weekdays {\n font-size: 0.75rem !important;\n}\n\n.calendar-wrapper .react-calendar__month-view__weekdays__weekday {\n width: 0.75rem !important;\n font-size: 0.75rem !important;\n text-align: center !important;\n}\n \n`;\n//# sourceMappingURL=filter-styles.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { useState, useEffect } from \"react\";\nimport dayjs from \"dayjs\";\nimport ReactCalendar from \"react-calendar\";\nimport { Button } from \"../../button\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"../../popover\";\nimport { calendarStyles } from \"../filter-styles\";\nexport const DateCombobox = ({ filterValues, setFilterValues, isRange = false, }) => {\n const [open, setOpen] = useState(false);\n const [localDateRange, setLocalDateRange] = useState([null, null]);\n // For single date\n const selectedDate = filterValues[0] ? new Date(filterValues[0]) : undefined;\n // For date range - use local state for immediate feedback, fall back to filter values\n const dateRange = isRange ? [\n localDateRange[0] || (filterValues[0] ? new Date(filterValues[0]) : null),\n localDateRange[1] || (filterValues[1] ? new Date(filterValues[1]) : null)\n ] : [null, null];\n // Update local state when filter values change\n useEffect(() => {\n if (isRange) {\n setLocalDateRange([\n filterValues[0] ? new Date(filterValues[0]) : null,\n filterValues[1] ? new Date(filterValues[1]) : null\n ]);\n }\n }, [filterValues, isRange]);\n const getDisplayText = () => {\n if (isRange) {\n if (dateRange[0] && dateRange[1]) {\n return (_jsxs(\"span\", { className: \"flex items-center gap-1.5\", children: [_jsx(\"span\", { className: \"font-medium\", children: dayjs(dateRange[0]).format(\"MMMM DD, YYYY\") }), _jsx(\"span\", { className: \"text-xs text-muted-foreground\", children: \"-\" }), _jsx(\"span\", { className: \"font-medium\", children: dayjs(dateRange[1]).format(\"MMMM DD, YYYY\") })] }));\n }\n else if (dateRange[0]) {\n return (_jsxs(\"span\", { className: \"flex items-center gap-1.5\", children: [_jsx(\"span\", { className: \"font-medium\", children: dayjs(dateRange[0]).format(\"MMMM DD, YYYY\") }), _jsx(\"span\", { className: \"text-xs text-muted-foreground\", children: \"- Select end\" })] }));\n }\n else {\n return _jsx(\"span\", { className: \"text-muted-foreground\", children: \"Select range\" });\n }\n }\n else {\n return selectedDate ? dayjs(selectedDate).format(\"MMMM DD, YYYY\") : \"Pick a date\";\n }\n };\n const handleDateChange = (date) => {\n if (isRange) {\n // Update local state immediately for visual feedback\n if (Array.isArray(date)) {\n setLocalDateRange([date[0], date[1]]);\n // Update filter values\n if (date[0] && date[1]) {\n setFilterValues([\n dayjs(date[0]).format(\"YYYY-MM-DD\"),\n dayjs(date[1]).format(\"YYYY-MM-DD\")\n ]);\n }\n else if (date[0]) {\n setFilterValues([dayjs(date[0]).format(\"YYYY-MM-DD\")]);\n }\n }\n }\n else {\n if (date) {\n const actualDate = Array.isArray(date) ? date[0] : date;\n if (actualDate) {\n setFilterValues([dayjs(actualDate).format(\"YYYY-MM-DD\")]);\n setOpen(false);\n }\n }\n }\n };\n return (_jsxs(Popover, { _open: open, onOpenChange: setOpen, children: [_jsx(PopoverTrigger, { className: \"rounded-none p-1 h-8 bg-muted hover:bg-muted/50 text-muted hover:text-primary shrink-0 transition\", children: _jsx(\"div\", { className: \"flex gap-1.5 items-center min-h-[20px]\", children: getDisplayText() }) }), _jsx(PopoverContent, { className: \"w-auto p-0\", align: \"start\", side: \"bottom\", alignOffset: -4, sideOffset: 6, children: _jsx(\"div\", { className: \"p-2\", children: isRange ? (_jsxs(_Fragment, { children: [_jsxs(\"div\", { className: \"calendar-wrapper\", children: [_jsx(\"style\", { children: calendarStyles }), _jsx(ReactCalendar, { value: dateRange, onChange: handleDateChange, selectRange: true, returnValue: \"range\", maxDate: (() => {\n const maxDate = new Date();\n maxDate.setHours(23, 59, 59, 999);\n return maxDate;\n })(), className: \"mb-2 border-0\", tileClassName: ({ date, view }) => {\n if (view === 'month') {\n const currentDate = date.getTime();\n const today = new Date();\n today.setHours(23, 59, 59, 999);\n // Check if date is disabled (future date)\n if (currentDate > today.getTime()) {\n return 'text-muted/20 cursor-not-allowed';\n }\n // Handle selected date styling\n if (dateRange[0]) {\n const startDate = dateRange[0].getTime();\n if (dateRange[1]) {\n // Both dates selected\n const endDate = dateRange[1].getTime();\n if (currentDate === startDate) {\n return 'bg-primary text-primary-foreground rounded-l-md font-semibold';\n }\n if (currentDate === endDate) {\n return 'bg-primary text-primary-foreground rounded-r-md font-semibold';\n }\n if (currentDate > startDate && currentDate < endDate) {\n return 'bg-primary/20 text-primary font-medium';\n }\n }\n else {\n // Only start date selected\n if (currentDate === startDate) {\n return 'bg-primary text-primary-foreground rounded-md font-semibold';\n }\n }\n }\n }\n return '';\n } })] }), dateRange[0] && dateRange[1] && (_jsx(\"div\", { className: \"border-t pt-2\", children: _jsxs(\"div\", { className: \"flex gap-2 justify-end\", children: [_jsx(Button, { variant: \"ghost\", size: \"sm\", onClick: () => setOpen(false), children: \"Cancel\" }), _jsx(Button, { size: \"sm\", onClick: () => setOpen(false), children: \"Apply\" })] }) }))] })) : (_jsxs(\"div\", { className: \"calendar-wrapper\", children: [_jsx(\"style\", { children: calendarStyles }), _jsx(ReactCalendar, { value: selectedDate, onChange: handleDateChange, selectRange: false, maxDate: (() => {\n const maxDate = new Date();\n maxDate.setHours(23, 59, 59, 999);\n return maxDate;\n })(), className: \"mb-2 border-0\", tileClassName: ({ date, view }) => {\n if (view === 'month') {\n const currentDate = date.getTime();\n const today = new Date();\n today.setHours(23, 59, 59, 999);\n // Check if date is disabled (future date)\n if (currentDate > today.getTime()) {\n return 'text-muted/20 cursor-not-allowed';\n }\n // Handle selected date styling\n if (selectedDate && currentDate === selectedDate.getTime()) {\n return 'bg-primary text-primary-foreground rounded-md font-semibold';\n }\n }\n return '';\n } })] })) }) })] }));\n};\n//# sourceMappingURL=DateCombobox.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useState } from \"react\";\nimport { Button } from \"../../button\";\nimport { Input } from \"../../input\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"../../popover\";\nexport const TextCombobox = ({ filterType, filterValue, setFilterValue, }) => {\n const [open, setOpen] = useState(false);\n const [inputValue, setInputValue] = useState(filterValue);\n const handleKeyDown = (event) => {\n if (event.key === \"Enter\") {\n setFilterValue(inputValue);\n setOpen(false);\n }\n };\n return (_jsxs(Popover, { _open: open, onOpenChange: (open) => {\n setOpen(open);\n if (!open && inputValue !== filterValue) {\n setInputValue(filterValue);\n }\n }, children: [_jsx(PopoverTrigger, { className: \"rounded-none p-1 h-8 bg-muted hover:bg-muted/50 text-muted hover:text-primary shrink-0 transition\", children: _jsx(\"div\", { className: \"flex gap-1.5 items-center\", children: filterValue || \"Enter text...\" }) }), _jsx(PopoverContent, { className: \"w-[300px] p-3\", children: _jsxs(\"div\", { className: \"flex flex-col gap-1\", children: [_jsx(\"div\", { className: \"flex items-center p-1.5 text-xs text-muted\", children: _jsx(\"span\", { children: filterType }) }), _jsx(Input, { autoFocus: true, type: \"text\", size: \"sm\", value: inputValue, onChange: setInputValue, onKeyDown: handleKeyDown, placeholder: \"Enter text...\" }), _jsx(\"div\", { className: \"mt-2 p-2 border-t\", children: _jsxs(\"div\", { className: \"flex gap-2 justify-end\", children: [_jsx(Button, { variant: \"ghost\", size: \"sm\", onClick: () => {\n setInputValue(filterValue);\n setOpen(false);\n }, children: \"Cancel\" }), _jsx(Button, { size: \"sm\", onClick: () => {\n setFilterValue(inputValue);\n setOpen(false);\n }, children: \"Apply\" })] }) })] }) })] }));\n};\n//# sourceMappingURL=TextCombobox.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useState } from \"react\";\nimport { Button } from \"../../button\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"../../popover\";\nimport { InputList } from \"../../../index\";\nexport const StringListCombobox = ({ filterType, filterValues, setFilterValues, }) => {\n const [open, setOpen] = useState(false);\n const [tags, setTags] = useState(filterValues);\n const handleApply = () => {\n setFilterValues(tags);\n setOpen(false);\n };\n return (_jsxs(Popover, { _open: open, onOpenChange: (open) => {\n setOpen(open);\n if (!open && JSON.stringify(tags) !== JSON.stringify(filterValues)) {\n setTags(filterValues);\n }\n }, children: [_jsx(PopoverTrigger, { className: \"rounded-none p-1 h-8 bg-muted hover:bg-muted/50 text-muted hover:text-primary shrink-0 transition\", children: _jsx(\"div\", { className: \"flex gap-1.5 items-center\", children: filterValues.length > 0 ? (filterValues.length === 1 ? filterValues[0] : `${filterValues.length} tags`) : (\"Add tags...\") }) }), _jsx(PopoverContent, { className: \"w-[300px] p-3\", children: _jsxs(\"div\", { className: \"flex flex-col gap-3\", children: [_jsx(\"div\", { className: \"flex items-center p-1.5 text-xs text-muted\", children: _jsx(\"span\", { children: filterType }) }), _jsx(InputList, { value: tags, onChange: setTags, placeholder: `Add ${filterType.toLowerCase()}...` }), _jsxs(\"div\", { className: \"flex gap-2 justify-end\", children: [_jsx(Button, { size: \"sm\", variant: \"ghost\", onClick: () => {\n setTags(filterValues);\n setOpen(false);\n }, children: \"Cancel\" }), _jsx(Button, { size: \"sm\", onClick: handleApply, children: \"Apply\" })] })] }) })] }));\n};\n//# sourceMappingURL=StringListCombobox.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { X } from \"lucide-react\";\nimport { Button } from \"../button\";\nimport { DateCombobox, SelectionCombobox, TextCombobox, StringListCombobox } from \"./comboBox/comboBox\";\nimport dayjs from \"dayjs\";\nfunction generateComboboxOptions(filter, setFilters, filterGroups) {\n switch (filter.type) {\n case \"date\":\n return (_jsx(DateCombobox, { filterValues: Array.isArray(filter.value) && typeof filter.value[0] === 'object' ? filter.value.map((v) => v.value || '') : [], isRange: filter.multiple, setFilterValues: (filterValues) => {\n setFilters((prev) => prev.map((f) => f === filter ? {\n ...f,\n value: filterValues.length > 0 ?\n filterValues.map(dateValue => ({\n value: dateValue,\n label: dayjs(dateValue).format(\"LLL dd, y\"),\n })) : []\n } : f));\n } }));\n case \"text\":\n return (_jsx(TextCombobox, { filterType: filter.placeholder || filter.name, filterValue: Array.isArray(filter.value) && filter.value[0] && typeof filter.value[0] === 'object' ? filter.value[0].value || \"\" : \"\", setFilterValue: (textValue) => {\n setFilters((prev) => prev.map((f) => f === filter\n ? {\n ...f,\n value: [\n {\n value: textValue,\n label: textValue,\n },\n ],\n }\n : f));\n } }));\n case \"stringList\":\n return (_jsx(StringListCombobox, { filterType: filter.placeholder || filter.name, filterValues: Array.isArray(filter.value) && typeof filter.value[0] === 'string' ? filter.value : [], setFilterValues: (values) => {\n setFilters((prev) => prev.map((f) => f === filter\n ? { ...f, value: values }\n : f));\n } }));\n case 'select':\n default: {\n const filterGroup = filterGroups.find(group => group.name === filter.name);\n return (_jsx(SelectionCombobox, { filterType: filter.placeholder || filter.name, filterValues: Array.isArray(filter.value) && typeof filter.value[0] === 'object' ? filter.value : [], setFilterValues: (filterValues) => {\n setFilters((prev) => prev.map((f) => f === filter\n ? { ...f, value: filterValues }\n : f));\n }, options: filterGroup?.options || [], labelRenderer: filterGroup?.labelRenderer }));\n }\n }\n}\nexport default function Filters({ filters, setFilters, filterGroups, }) {\n return (_jsx(\"div\", { className: \"flex gap-2 flex-wrap justify-start\", children: filters\n .filter((filter) => filter.value?.length > 0)\n .map((filter) => (_jsxs(\"div\", { className: \"flex gap-[1px] items-center text-sm\", children: [_jsx(\"div\", { className: \"flex gap-1.5 shrink-0 rounded-l bg-muted p-1.5 h-8 items-center\", children: filter.placeholder || filter.name }), generateComboboxOptions(filter, setFilters, filterGroups), _jsx(Button, { variant: \"ghost\", size: \"icon\", onClick: () => {\n setFilters((prev) => prev.filter((f) => f !== filter));\n }, className: \"bg-muted rounded-l-none rounded-r-sm size-8 hover:text-primary hover:bg-muted/50 transition shrink-0\", children: _jsx(X, { className: \"size-6\" }) })] }, filter.name + '-' + (filter.type == 'date' ? 'date' : filter.type === 'stringList' && typeof filter.value[0] === 'string' ? filter.value.join(',') : Array.isArray(filter.value) ? filter.value.map((v) => v.value).join(',') : '')))) }));\n}\n//# sourceMappingURL=filters.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Button } from \"../../button\";\nimport { Input } from \"../../input\";\nexport default function TextFilter({ selectedView, textValue, setTextValue, setFilters, handleClose, filterGroups, }) {\n const handleTextFilterAdd = () => {\n setFilters((prev) => {\n return [\n ...prev,\n {\n name: selectedView || \"\",\n placeholder: filterGroups.find(group => group.name === selectedView)?.placeholder,\n value: [{ value: textValue, label: textValue }],\n type: \"text\",\n }\n ];\n });\n handleClose();\n };\n return (_jsxs(\"div\", { className: \"p-2 flex flex-col gap-1\", children: [_jsx(\"div\", { className: \"flex items-center p-1.5 text-xs text-muted\", children: _jsx(\"span\", { children: filterGroups.find(group => group.name === selectedView)?.placeholder }) }), _jsx(Input, { autoFocus: true, type: \"text\", size: \"sm\", value: textValue, onChange: setTextValue, onKeyDown: (e) => e.key === \"Enter\" && handleTextFilterAdd(), placeholder: \"Enter text...\" }), _jsx(\"div\", { className: \"mt-2 p-2 border-t\", children: _jsxs(\"div\", { className: \"flex gap-2 justify-end\", children: [_jsx(Button, { variant: \"ghost\", size: \"sm\", onClick: handleClose, children: \"Cancel\" }), _jsx(Button, { size: \"sm\", onClick: handleTextFilterAdd, disabled: !textValue.trim(), children: \"Apply\" })] }) })] }));\n}\n//# sourceMappingURL=TextFilter.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport dayjs from \"dayjs\";\nimport { useState } from \"react\";\nimport Calendar from \"react-calendar\";\nimport { Button } from \"../../button\";\nimport { calendarStyles } from \"../filter-styles\";\nexport default function DateFilter({ selectedView, selectedDate, setSelectedDate, setFilters, filters, handleClose, filterGroups, }) {\n const [dateRange, setDateRange] = useState([null, null]);\n const [localDateRange, setLocalDateRange] = useState([null, null]);\n const selectedGroup = filterGroups.find(g => g.name === selectedView);\n const isDateRange = selectedGroup?.multiple;\n // Create maxDate set to end of today to ensure today is selectable\n const maxDate = new Date();\n maxDate.setHours(23, 59, 59, 999);\n // Use local state for immediate feedback, fall back to dateRange\n const effectiveDateRange = [\n localDateRange[0] || dateRange[0],\n localDateRange[1] || dateRange[1]\n ];\n const handleDateChange = (value) => {\n if (isDateRange) {\n // Handle date range selection\n if (Array.isArray(value)) {\n // Update local state immediately for visual feedback\n setLocalDateRange([value[0], value[1]]);\n // Also update the main dateRange state\n setDateRange([value[0], value[1]]);\n }\n else {\n // Single date in range mode\n setLocalDateRange([value, null]);\n setDateRange([value, null]);\n }\n }\n else {\n // Handle single date selection\n const date = Array.isArray(value) ? value[0] : value;\n setSelectedDate(date || undefined);\n if (date) {\n // Set date to start of day (00:00)\n const selectedDateStart = new Date(date);\n selectedDateStart.setHours(0, 0, 0, 0);\n setFilters([\n ...filters,\n {\n name: selectedView || \"\",\n placeholder: selectedGroup?.placeholder,\n value: [\n {\n value: selectedDateStart.toISOString(),\n label: dayjs(selectedDateStart).format(\"LLL dd, y\"),\n }\n ],\n type: selectedGroup?.type || \"date\",\n multiple: selectedGroup?.multiple || false,\n },\n ]);\n handleClose();\n }\n }\n };\n const handleApplyDateRange = () => {\n if (dateRange[0]) {\n const startDate = new Date(dateRange[0]);\n const endDate = dateRange[1] ? new Date(dateRange[1]) : new Date(dateRange[0]);\n // Set start date to beginning of day\n startDate.setHours(0, 0, 0, 0);\n // Set end date to end of day\n endDate.setHours(23, 59, 59, 999);\n const filterValue = [];\n filterValue.push({\n value: startDate.toISOString(),\n label: dayjs(startDate).format(\"LLL dd, y\"),\n });\n if (dateRange[1] && dateRange[0].getTime() !== dateRange[1].getTime()) {\n filterValue.push({\n value: endDate.toISOString(),\n label: dayjs(endDate).format(\"LLL dd, y\"),\n });\n }\n setFilters([\n ...filters,\n {\n name: selectedView || \"\",\n placeholder: selectedGroup?.placeholder,\n value: filterValue,\n type: selectedGroup?.type || \"date\",\n multiple: selectedGroup?.multiple || false,\n },\n ]);\n handleClose();\n }\n };\n const getDisplayText = () => {\n if (isDateRange) {\n if (effectiveDateRange[0] && effectiveDateRange[1]) {\n return (_jsxs(\"span\", { className: \"flex items-center gap-2\", children: [_jsx(\"span\", { className: \"text-xs text-muted\", children: \"From:\" }), _jsx(\"span\", { className: \"text-xs font-medium\", children: dayjs(effectiveDateRange[0]).format(\"MMMM DD, YYYY\") }), _jsx(\"span\", { className: \"text-xs text-muted\", children: \"To:\" }), _jsx(\"span\", { className: \"text-xs font-medium\", children: dayjs(effectiveDateRange[1]).format(\"MMMM DD, YYYY\") })] }));\n }\n else if (effectiveDateRange[0]) {\n return (_jsxs(\"span\", { className: \"flex items-center gap-2\", children: [_jsx(\"span\", { className: \"text-xs text-muted\", children: \"From:\" }), _jsx(\"span\", { className: \"text-xs font-medium\", children: dayjs(effectiveDateRange[0]).format(\"MMMM DD, YYYY\") }), _jsx(\"span\", { className: \"text-xs text-muted\", children: \"\\u2192 Select end date\" })] }));\n }\n else {\n return _jsx(\"span\", { className: \"text-muted text-xs\", children: selectedGroup?.placeholder || selectedGroup?.name || selectedView || \"Select date range\" });\n }\n }\n else {\n return selectedDate ? dayjs(selectedDate).format(\"MMMM DD, YYYY\") : \"Pick a date\";\n }\n };\n return (_jsx(\"div\", { className: \"p-2\", children: isDateRange ? (_jsxs(_Fragment, { children: [_jsx(\"div\", { children: getDisplayText() }), _jsxs(\"div\", { className: \"calendar-wrapper\", children: [_jsx(\"style\", { children: calendarStyles }), _jsx(Calendar, { value: effectiveDateRange, onChange: handleDateChange, selectRange: true, returnValue: \"range\", maxDate: maxDate, className: \"mb-2 border-0\", tileClassName: ({ date, view }) => {\n if (view === 'month') {\n const currentDate = date.getTime();\n const today = new Date();\n today.setHours(23, 59, 59, 999);\n // Check if date is disabled (future date)\n if (currentDate > today.getTime()) {\n return 'text-muted/20 cursor-not-allowed';\n }\n // Handle selected date styling\n if (effectiveDateRange[0]) {\n const startDate = effectiveDateRange[0].getTime();\n if (effectiveDateRange[1]) {\n // Both dates selected\n const endDate = effectiveDateRange[1].getTime();\n if (currentDate === startDate) {\n return 'bg-primary text-primary-foreground rounded-l-md font-semibold';\n }\n if (currentDate === endDate) {\n return 'bg-primary text-primary-foreground rounded-r-md font-semibold';\n }\n if (currentDate > startDate && currentDate < endDate) {\n return 'bg-primary/20 text-primary font-medium';\n }\n }\n else {\n // Only start date selected\n if (currentDate === startDate) {\n return 'bg-primary text-primary-foreground rounded-md font-semibold';\n }\n }\n }\n }\n return '';\n } }, `${effectiveDateRange[0]?.getTime()}-${effectiveDateRange[1]?.getTime()}`)] }), _jsx(\"div\", { className: \"border-t pt-2\", children: _jsxs(\"div\", { className: \"flex gap-2 justify-end\", children: [_jsx(Button, { variant: \"ghost\", size: \"sm\", onClick: handleClose, children: \"Cancel\" }), _jsx(Button, { size: \"sm\", onClick: handleApplyDateRange, disabled: !effectiveDateRange[0], children: \"Apply\" })] }) })] })) : (_jsx(_Fragment, { children: _jsxs(\"div\", { className: \"calendar-wrapper\", children: [_jsx(\"style\", { children: calendarStyles }), _jsx(Calendar, { value: selectedDate, onChange: handleDateChange, selectRange: false, maxDate: maxDate, className: \"mb-2 border-0\", tileClassName: ({ date, view }) => {\n if (view === 'month') {\n const currentDate = date.getTime();\n const today = new Date();\n today.setHours(23, 59, 59, 999);\n // Check if date is disabled (future date)\n if (currentDate > today.getTime()) {\n return 'text-muted/20 cursor-not-allowed';\n }\n // Handle selected date styling\n if (selectedDate && currentDate === selectedDate.getTime()) {\n return 'bg-primary text-primary-foreground rounded-md font-semibold';\n }\n }\n return '';\n } })] }) })) }));\n}\n//# sourceMappingURL=dateFilter.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useState } from \"react\";\nimport { CommandItem } from \"../../command\";\nimport { Button } from \"../../button\";\nimport { DynamicLabel } from \"../DynamicLabel\";\nexport default function SelectFilter({ selectedView, commandInput, setFilters, handleClose, filterGroups, }) {\n const [selectedOptions, setSelectedOptions] = useState([]);\n const getFilteredOptions = (groupName) => {\n const group = filterGroups.find(g => g.name === groupName);\n if (!group) {\n return [];\n }\n let filteredOptions = group.options || [];\n if (!commandInput.trim()) {\n return filteredOptions;\n }\n if (group.filterBy) {\n const filterLc = commandInput.toLowerCase();\n const results = filteredOptions.filter(option => {\n if (option.value === undefined)\n return false;\n return group.filterBy(option.value, filterLc);\n });\n return results;\n }\n const filterLc = commandInput.toLowerCase();\n return filteredOptions.filter(option => {\n const optionValue = String(option.value || '').toLowerCase();\n return optionValue.includes(filterLc);\n });\n };\n if (!selectedView) {\n return null;\n }\n const options = getFilteredOptions(selectedView);\n const selectedGroup = filterGroups.find(g => g.name === selectedView);\n const groupTitle = selectedGroup?.placeholder || selectedGroup?.name;\n const handleApply = () => {\n if (selectedOptions.length > 0) {\n setFilters(prev => [\n ...prev.filter(f => f.name !== selectedView),\n {\n name: selectedView || \"\",\n placeholder: selectedGroup?.placeholder || \"\",\n value: selectedOptions,\n type: selectedGroup?.type || \"select\",\n multiple: selectedGroup?.multiple || false,\n }\n ]);\n }\n handleClose();\n };\n const handleOptionToggle = (option) => {\n const filterOption = {\n value: option.value,\n label: option.label\n };\n if (selectedGroup?.multiple) {\n // For multiple selection, toggle the option\n const isSelected = selectedOptions.some(opt => opt.value === option.value);\n if (isSelected) {\n setSelectedOptions(prev => prev.filter(opt => opt.value !== option.value));\n }\n else {\n setSelectedOptions(prev => [...prev, filterOption]);\n }\n }\n else {\n // For single selection, apply immediately\n setFilters((prev) => {\n const existingFilterIndex = prev.findIndex(f => f.name === selectedView);\n if (existingFilterIndex >= 0) {\n const updatedFilters = [...prev];\n updatedFilters[existingFilterIndex] = {\n ...updatedFilters[existingFilterIndex],\n value: [filterOption]\n };\n return updatedFilters;\n }\n else {\n return [...prev, {\n name: selectedView || \"\",\n placeholder: selectedGroup?.placeholder || \"\",\n value: [filterOption],\n type: selectedGroup?.type || \"select\",\n multiple: selectedGroup?.multiple || false,\n }];\n }\n });\n handleClose();\n }\n };\n return (_jsxs(\"div\", { className: \"flex flex-col h-full\", children: [_jsx(\"div\", { className: \"flex items-center p-1.5 text-xs text-muted shrink-0\", children: _jsx(\"span\", { children: groupTitle }) }), _jsx(\"div\", { className: \"flex-1 overflow-hidden min-h-0\", children: _jsx(\"div\", { className: \"max-h-[200px] overflow-y-auto\", children: options.length > 0 && (options.map((option) => {\n const isSelected = selectedOptions.some(opt => opt.value === option.value);\n return (_jsxs(CommandItem, { className: `group flex gap-2 items-center w-full hover:bg-muted ${selectedGroup?.multiple && isSelected ? 'bg-muted' : ''}`, onSelect: () => handleOptionToggle(option), children: [_jsx(DynamicLabel, { value: option.value || '', labelRenderer: option.labelRenderer || selectedGroup?.labelRenderer, fallbackLabel: option.label }), selectedGroup?.multiple && isSelected && (_jsx(\"span\", { className: \"ml-auto text-xs text-success\", children: \"\\u2713\" }))] }, option.value || `option-${Math.random()}`));\n })) }) }), selectedGroup?.multiple && (_jsx(\"div\", { className: \"p-2 border-t shrink-0\", children: _jsxs(\"div\", { className: \"flex gap-2 justify-end\", children: [_jsx(Button, { variant: \"ghost\", size: \"sm\", onClick: handleClose, children: \"Cancel\" }), _jsx(Button, { size: \"sm\", onClick: handleApply, disabled: selectedOptions.length === 0, children: \"Apply\" })] }) }))] }));\n}\n//# sourceMappingURL=SelectFilter.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useState } from \"react\";\nimport { InputList } from \"../../../index\";\nimport { Button } from \"../../button\";\nexport default function StringListFilter({ selectedView, setFilters, handleClose, filterGroups, }) {\n const [tags, setTags] = useState([]);\n const selectedGroup = filterGroups.find(g => g.name === selectedView);\n const handleApply = () => {\n if (tags.length > 0) {\n setFilters(prev => [\n ...prev.filter(f => f.name !== selectedView),\n {\n name: selectedView,\n placeholder: selectedGroup?.placeholder,\n value: tags,\n type: \"stringList\"\n }\n ]);\n }\n handleClose();\n };\n return (_jsxs(\"div\", { className: \"p-2 space-y-3\", children: [_jsx(\"div\", { className: \"space-y-2\", children: _jsx(InputList, { value: tags, onChange: setTags, placeholder: selectedGroup?.placeholder || `Add ${selectedView}...`, autoFocus: true }) }), _jsxs(\"div\", { className: \"flex gap-2 justify-end\", children: [_jsx(Button, { variant: \"ghost\", size: \"sm\", onClick: handleClose, children: \"Cancel\" }), _jsx(Button, { size: \"sm\", onClick: handleApply, disabled: tags.length === 0, children: \"Apply\" })] })] }));\n}\n//# sourceMappingURL=StringListFilter.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport React, { useEffect } from \"react\";\nimport { cn } from \"../../libs/utils\";\nimport { Button } from \"../button\";\nimport { Popover, PopoverTrigger, PopoverContent } from \"../popover\";\nimport { Command, CommandInput, CommandList, CommandGroup, CommandItem, CommandEmpty } from \"../command\";\nimport { ListFilter } from \"lucide-react\";\nimport Filters from \"./filters\";\nimport TextFilter from \"./filter/TextFilter\";\nimport DateFilter from \"./filter/dateFilter\";\nimport SelectFilter from \"./filter/SelectFilter\";\nimport StringListFilter from \"./filter/StringListFilter\";\nconst FilterContext = React.createContext({});\nconst FilterProvider = ({ filters, setFilters, filterGroups, children }) => {\n const url = new URL(window.location.href);\n const searchParams = url.searchParams;\n const [hasInitialized, setHasInitialized] = React.useState(false);\n useEffect(() => {\n try {\n const params = new URLSearchParams(searchParams.toString());\n if (filters.length > 0) {\n // Convert filters to format with array indicators: filterName:value,value;filterName2:value\n // Arrays are prefixed with []: filterName:[value1,value2]\n const filterString = filters.map(filter => {\n let values;\n if (filter.type === 'stringList' && Array.isArray(filter.value) && typeof filter.value[0] === 'string') {\n // Handle stringList with direct string array - always array format\n values = `[${filter.value.map(item => encodeURIComponent(item)).join(',')}]`;\n }\n else if (Array.isArray(filter.value)) {\n if (filter.multiple) {\n // Handle multiple filters - always use array format for multiple=true\n values = `[${filter.value.map((item) => encodeURIComponent(item.value || item || '')).join(',')}]`;\n }\n else if (filter.value.length > 1) {\n // Handle multiple values for non-multiple filters\n values = `[${filter.value.map((item) => encodeURIComponent(item.value || item || '')).join(',')}]`;\n }\n else {\n // Single value in array for non-multiple filter - don't use array format\n const firstValue = filter.value[0];\n if (typeof firstValue === 'string') {\n values = encodeURIComponent(firstValue);\n }\n else if (typeof firstValue === 'object' && firstValue?.value !== undefined) {\n // Handle FilterOption object\n values = encodeURIComponent(String(firstValue.value));\n }\n else {\n values = encodeURIComponent(String(firstValue || ''));\n }\n }\n }\n else {\n values = encodeURIComponent(filter.value || '');\n }\n return `${encodeURIComponent(filter.name)}:${values}`;\n }).join(';');\n params.set('filters', filterString);\n }\n else {\n params.delete('filters');\n }\n const newUrl = `${window.location.pathname}?${params.toString()}${window.location.hash}`;\n window.history.replaceState(window.history.state || {}, '', newUrl);\n }\n catch (error) {\n console.error(\"Failed to update URL with filters:\", error);\n }\n }, [filters]);\n useEffect(() => {\n const filtersParam = searchParams.get('filters');\n if (filtersParam && filterGroups.length > 0 && !hasInitialized) {\n try {\n // Parse format with array indicators: filterName:value or filterName:[value1,value2]\n const filterPairs = filtersParam.split(';');\n const parsedFilters = filterPairs.map(pair => {\n const [encodedName, valuesString] = pair.split(':');\n const name = decodeURIComponent(encodedName);\n let values;\n // Check if it's an array format [value1,value2]\n if (valuesString.startsWith('[') && valuesString.endsWith(']')) {\n // Array format - remove brackets and split by comma\n const arrayContent = valuesString.slice(1, -1); // Remove [ and ]\n values = arrayContent ? arrayContent.split(',').map(encodedValue => decodeURIComponent(encodedValue)) : [];\n }\n else {\n // Single value format\n values = [decodeURIComponent(valuesString)];\n }\n const group = filterGroups.find(g => g.name === name);\n let filterValue;\n if (group?.type === 'stringList') {\n // For stringList, return direct string array\n filterValue = values;\n }\n else if (group?.type === 'text') {\n // For text, return FilterOption array (single value for text inputs)\n filterValue = values.length === 1 ? [{ value: values[0], label: values[0] }] :\n values.map(value => ({ value, label: value }));\n }\n else {\n // For other types, find options with labels\n filterValue = values.map(value => {\n const matchingOption = group?.options?.find(opt => opt.value === value);\n let label = value;\n if (matchingOption?.label) {\n label = String(matchingOption.label);\n }\n else if (matchingOption?.labelRenderer) {\n label = String(matchingOption.labelRenderer(value));\n }\n else if (group?.labelRenderer) {\n label = String(group.labelRenderer(value));\n }\n return {\n value,\n label\n };\n });\n }\n if (group?.multiple && !valuesString.startsWith('[') && !valuesString.endsWith(']')) {\n if (group.type === 'stringList') {\n filterValue = values;\n }\n else {\n if (!Array.isArray(filterValue)) {\n filterValue = [filterValue];\n }\n }\n }\n // Fallback: if group not found but we detected array format, assume it should be multiple\n const shouldBeMultiple = group?.multiple || (!group && valuesString.startsWith('[') && valuesString.endsWith(']'));\n const filter = {\n name,\n type: group?.type || 'select',\n placeholder: group?.placeholder,\n value: filterValue,\n multiple: shouldBeMultiple\n };\n return filter;\n });\n setFilters(parsedFilters);\n setHasInitialized(true);\n }\n catch (error) {\n setHasInitialized(true);\n }\n }\n else if (filterGroups.length > 0 && !hasInitialized) {\n // No URL params but we have groups - mark as initialized\n setHasInitialized(true);\n }\n }, [filterGroups, hasInitialized]);\n return (_jsx(FilterContext.Provider, { value: { filters, setFilters, filterGroups }, children: children }));\n};\nconst FilterBtn = ({ className }) => {\n const { filters, setFilters, filterGroups } = React.useContext(FilterContext);\n const [open, setOpen] = React.useState(false);\n const [selectedView, setSelectedView] = React.useState(null);\n const [commandInput, setCommandInput] = React.useState(\"\");\n const commandInputRef = React.useRef(null);\n const [selectedDate, setSelectedDate] = React.useState();\n const [textValue, setTextValue] = React.useState(\"\");\n const handleSelect = (groupName) => {\n setSelectedView(groupName);\n setCommandInput(\"\");\n commandInputRef.current?.focus();\n };\n const getAvailableFilterGroups = () => {\n let options = filterGroups.map(group => ({\n ...group,\n options: (group.options ?? []).filter(option => !filters.some(filter => {\n if (filter.type === \"date\") {\n return filter.name === group.name;\n }\n return filter.name === group.name &&\n (Array.isArray(filter.value) && typeof filter.value[0] === 'string'\n ? filter.value.some(val => val === option.value)\n : filter.value.some(val => val.value === option.value));\n }))\n })).filter(group => ((group.options ?? []).length > 0) ||\n (group.type === \"date\" && !filters.some(filter => filter.name === group.name)) ||\n (group.type === \"text\" && !filters.some(filter => filter.name === group.name)) ||\n (group.type === \"stringList\" && !filters.some(filter => filter.name === group.name)));\n if (options.length === 0) {\n return _jsx(CommandEmpty, { children: \"No available filters\" });\n }\n return options.map((group, index) => (_jsx(CommandItem, { onSelect: () => handleSelect(group.name), className: \"group flex gap-2 items-center hover:bg-muted\", children: _jsx(\"span\", { children: group.placeholder ?? group.name }) }, index)));\n };\n const handleClose = () => {\n setOpen(false);\n setTimeout(() => {\n setSelectedView(null);\n setCommandInput(\"\");\n setSelectedDate(undefined);\n }, 200);\n };\n const handleOpen = (open) => {\n setOpen(open);\n if (!open) {\n setTimeout(() => {\n setSelectedView(null);\n setCommandInput(\"\");\n setTextValue(\"\");\n }, 200);\n }\n };\n const renderFilterOptions = () => {\n if (!selectedView) {\n return null;\n }\n const selectedGroupType = filterGroups.find(g => g.name === selectedView)?.type;\n switch (selectedGroupType) {\n case \"date\":\n return (_jsx(DateFilter, { selectedView: selectedView, selectedDate: selectedDate, setSelectedDate: setSelectedDate, setFilters: setFilters, filters: filters, handleClose: handleClose, filterGroups: filterGroups }));\n case \"text\":\n return (_jsx(TextFilter, { selectedView: selectedView, textValue: textValue, setTextValue: setTextValue, setFilters: setFilters, handleClose: handleClose, filterGroups: filterGroups }));\n case \"stringList\":\n return (_jsx(StringListFilter, { selectedView: selectedView, setFilters: setFilters, handleClose: handleClose, filterGroups: filterGroups }));\n default:\n return (_jsx(SelectFilter, { selectedView: selectedView, commandInput: commandInput, setFilters: setFilters, handleClose: handleClose, filterGroups: filterGroups }));\n }\n };\n return (_jsxs(Popover, { _open: open, onOpenChange: handleOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { variant: \"outline\", role: \"combobox\", \"aria-expanded\": open, size: \"md\", className: cn(\"transition group flex gap-1.5\", className), children: [_jsx(ListFilter, { className: \"size-4 shrink-0 transition-all text-muted\" }), \"Filter\"] }) }), _jsx(PopoverContent, { className: \"w-[300px] p-0\", align: \"start\", sideOffset: 4, children: _jsxs(Command, { children: [filterGroups.find(group => group.name === selectedView)?.type === \"select\" && (_jsx(CommandInput, { placeholder: selectedView ? `Filter by ${selectedView}` : \"Filter...\", className: \"h-9 ring-0\", value: commandInput, onValueChange: (value) => {\n setCommandInput(value);\n }, ref: commandInputRef, autoFocus: true })), _jsxs(CommandList, { children: [_jsx(CommandEmpty, { children: \"No matching filters\" }), _jsx(CommandGroup, { children: !selectedView ? getAvailableFilterGroups() : renderFilterOptions() })] })] }) })] }));\n};\nconst FilterBar = ({ className }) => {\n const { filters, setFilters, filterGroups } = React.useContext(FilterContext);\n return (_jsx(\"div\", { className: cn(className), children: _jsx(Filters, { filters: filters, setFilters: setFilters, filterGroups: filterGroups }) }));\n};\nconst FilterClear = ({ className }) => {\n const { filters, setFilters } = React.useContext(FilterContext);\n const hasActiveFilters = filters.filter((filter) => filter.value?.length > 0).length > 0;\n if (!hasActiveFilters) {\n return null;\n }\n return (_jsx(Button, { variant: \"outline\", size: \"xs\", className: cn(\"transition group\", className), onClick: () => setFilters([]), children: \"Clear All\" }));\n};\nexport { FilterProvider, FilterBtn, FilterBar, FilterClear };\n//# sourceMappingURL=filterBar.js.map","export var FilterOperator;\n(function (FilterOperator) {\n FilterOperator[\"IS\"] = \"is\";\n FilterOperator[\"IS_NOT\"] = \"is_not\";\n FilterOperator[\"CONTAINS\"] = \"contains\";\n FilterOperator[\"BEFORE\"] = \"before\";\n FilterOperator[\"AFTER\"] = \"after\";\n FilterOperator[\"IS_ANY_OF\"] = \"is_any_of\";\n})(FilterOperator || (FilterOperator = {}));\n//# sourceMappingURL=types.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { cn } from \"../libs/utils\";\nimport { forwardRef } from \"react\";\nexport const Heading = forwardRef(({ className, level = 3, ...props }, ref) => {\n const Component = `h${level}`;\n const styles = {\n h1: \"text-2xl font-medium tracking-tight\",\n h2: \"text-xl font-medium tracking-tight\",\n h3: \"text-lg font-medium\",\n h4: \"text-base font-medium\",\n h5: \"text-sm font-medium\",\n h6: \"text-xs font-medium\",\n };\n return _jsx(Component, { ref: ref, className: cn(styles[`h${level}`], 'mb-2', className), ...props });\n});\nHeading.displayName = \"Heading\";\n//# sourceMappingURL=heading.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { cn } from \"../libs/utils\";\nimport { cva } from \"class-variance-authority\";\nimport { forwardRef } from \"react\";\n// Update the text variants to match the new sizing requirements\nconst textVariants = cva(\"text-foreground\", {\n variants: {\n size: {\n xl: \"text-base md:text-lg leading-relaxed\",\n lg: \"text-base leading-relaxed\",\n default: \"text-sm leading-normal\",\n sm: \"text-sm leading-normal\",\n xs: \"text-xs leading-normal\",\n },\n weight: {\n normal: \"font-normal\",\n medium: \"font-medium\",\n semibold: \"font-semibold\",\n },\n },\n defaultVariants: {\n size: \"default\",\n weight: \"normal\",\n },\n});\nexport const Text = forwardRef(({ className, size, weight, ...props }, ref) => {\n return _jsx(\"p\", { ref: ref, className: cn(textVariants({ size, weight, className })), ...props });\n});\nText.displayName = \"Text\";\n//# sourceMappingURL=text.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Minus } from \"lucide-react\";\nimport * as ResizablePrimitive from \"react-resizable-panels\";\nimport { cn } from \"../libs/utils\";\nfunction ResizablePanelGroup({ className, ...props }) {\n return (_jsx(ResizablePrimitive.PanelGroup, { \"data-slot\": \"resizable-panel-group\", className: cn(\"flex h-full w-full data-[panel-group-direction=vertical]:flex-col\", className), ...props }));\n}\nfunction ResizablePanel({ ...props }) {\n return _jsx(ResizablePrimitive.Panel, { \"data-slot\": \"resizable-panel\", ...props });\n}\nfunction ResizableHandle({ withHandle, className, ...props }) {\n return (_jsx(ResizablePrimitive.PanelResizeHandle, { \"data-slot\": \"resizable-handle\", className: cn(\"bg-muted focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2 [&[data-panel-group-direction=vertical]>div]:rotate-90\", className), ...props, children: withHandle && (_jsx(\"div\", { className: \"z-10 flex size-4 items-center justify-center rounded-xs font-semibold\", children: _jsx(Minus, { className: \"size-4 rotate-90\" }) })) }));\n}\nexport { ResizablePanelGroup, ResizablePanel, ResizableHandle };\n//# sourceMappingURL=resizeable.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { cn } from \"../libs/utils\";\nfunction Textarea({ className, ...props }) {\n return (_jsx(\"textarea\", { \"data-slot\": \"textarea\", className: cn(\"py-2 text-sm\", \"flex w-full rounded-md border border-input bg-background ring-offset-background\", \"placeholder:text-muted focus-visible:outline-none focus-visible:ring-1 ring-inset focus-visible:ring-ring\", \"disabled:cursor-not-allowed disabled:opacity-50\", className), ...props }));\n}\nexport { Textarea };\n//# sourceMappingURL=textarea.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { TriangleAlert } from \"lucide-react\";\nimport { useRef } from \"react\";\nimport { VModal, VModalTitle, VModalFooter } from \"./shadcn\";\nimport { Button } from \"./shadcn/button\";\nexport function ConfirmModal({ title, content, onConfirm, onCancel, isOpen }) {\n const cancelButtonRef = useRef(null);\n return (_jsxs(VModal, { isOpen: isOpen, onClose: onCancel, description: \"Confirm Modal\", children: [_jsxs(\"div\", { className: \"sm:flex sm:items-start p-2\", children: [_jsx(\"div\", { className: \"mx-auto flex h-12 w-12 shrink-0 items-center justify-center rounded-full bg-red-100 sm:mx-0 sm:h-10 sm:w-10\", children: _jsx(TriangleAlert, { className: \"size-6 text-red-600\", \"aria-hidden\": \"true\" }) }), _jsxs(\"div\", { className: \"mt-3 text-center sm:ml-4 sm:mt-0 sm:text-left\", children: [_jsx(VModalTitle, { className: \"leading-6\", show: true, children: title }), _jsx(\"div\", { className: \"mt-2\", children: _jsx(\"div\", { className: \"prose text-sm text-gray-500\", children: content }) })] })] }), _jsxs(VModalFooter, { align: \"right\", children: [_jsx(Button, { variant: \"destructive\", onClick: onConfirm, children: \"Confirm\" }), _jsx(Button, { variant: \"outline\", onClick: onCancel, ref: cancelButtonRef, children: \"Cancel\" })] })] }));\n}\n//# sourceMappingURL=ConfirmModal.js.map","import { createContext, useContext } from \"react\";\nexport function useToast() {\n return useContext(ToastContext);\n}\nconst ToastContext = createContext(() => { });\nexport { ToastContext };\n//# sourceMappingURL=ToastContext.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nconst PORTAL_ID = '--tailwind-portal';\nexport function Portal({ children }) {\n const tempNode = useRef(null);\n const [portalEl, setPortalEl] = useState(null);\n // hack to have the Portal not generating hydration errors (content mismatch) on SSR / CSR\n useEffect(() => {\n if (tempNode.current) { // we are on the browser -> we an use the portal\n const doc = tempNode.current.ownerDocument;\n let portalEl = doc.getElementById(PORTAL_ID);\n if (!portalEl) {\n portalEl = doc.createElement('DIV');\n portalEl.id = PORTAL_ID;\n doc.body.appendChild(portalEl);\n }\n setPortalEl(portalEl);\n }\n }, [tempNode.current]);\n if (portalEl) {\n return createPortal(children, portalEl);\n }\n else {\n return _jsx(\"span\", { ref: tempNode });\n }\n}\n//# sourceMappingURL=Portal.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Transition } from \"@headlessui/react\";\nimport { CircleCheck, AlertTriangle, Info, CircleX, X } from \"lucide-react\";\nimport { Fragment, useEffect, useState, useRef } from \"react\";\nconst icons = {\n success: CircleCheck,\n error: CircleX,\n warning: AlertTriangle,\n info: Info\n};\nconst colors = {\n success: 'text-success',\n error: 'text-destructive',\n warning: 'text-attention',\n info: 'text-info'\n};\nexport function NotificationPanel({ data, onClose }) {\n const [show, setShow] = useState(true);\n const timeoutRef = useRef(null);\n const resetTimeout = () => {\n if (timeoutRef.current) {\n globalThis.clearTimeout(timeoutRef.current);\n }\n if (data.duration) {\n timeoutRef.current = setTimeout(() => setShow(false), data.duration);\n }\n };\n const clearCurrentTimeout = () => {\n if (timeoutRef.current) {\n globalThis.clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n };\n useEffect(() => {\n resetTimeout();\n return clearCurrentTimeout;\n }, [data.duration]);\n const Icon = icons[data.status] || Info;\n const color = colors[data.status] || 'text-info';\n // Global notification live region, render this permanently at the end of the document\n return (_jsx(\"div\", { \"aria-live\": \"assertive\", className: \"pointer-events-none fixed inset-0 flex items-end px-4 py-6 sm:items-start sm:p-6 z-100\", children: _jsx(\"div\", { className: \"flex w-full flex-col items-center space-y-4 sm:items-end\", children: _jsx(Transition, { appear: true, show: show, as: Fragment, afterLeave: onClose, enter: \"transform ease-out duration-700 transition\", enterFrom: \"translate-y-0 opacity-0 sm:translate-y-0 sm:translate-x-2\", enterTo: \"translate-y-2 opacity-100 sm:translate-x-0\", leave: \"transition ease-in duration-300\", leaveFrom: \"opacity-100\", leaveTo: \"opacity-0\", children: _jsx(\"div\", { className: \"pointer-events-auto w-full max-w-md overflow-hidden rounded-lg bg-muted shadow-lg ring-1 ring-border\", onMouseEnter: clearCurrentTimeout, onMouseLeave: resetTimeout, children: _jsx(\"div\", { className: \"p-5\", children: _jsxs(\"div\", { className: \"flex items-start\", children: [_jsx(\"div\", { className: \"shrink-0\", children: _jsx(Icon, { className: `size-6 ${color}`, \"aria-hidden\": \"true\" }) }), _jsxs(\"div\", { className: \"ml-3 flex-1 pt-0.5 min-w-0\", children: [_jsx(\"p\", { className: \"text-sm font-semibold text-foreground break-words\", children: data.title }), data.description && (_jsx(\"p\", { className: \"mt-2 text-sm text-muted break-words whitespace-pre-wrap leading-relaxed\", children: data.description }))] }), _jsx(\"div\", { className: \"ml-4 flex shrink-0\", children: _jsxs(\"button\", { type: \"button\", className: \"inline-flex rounded-md bg-muted text-muted hover:text-foreground focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:ring-offset-background\", onClick: () => setShow(false), children: [_jsx(\"span\", { className: \"sr-only\", children: \"Close\" }), _jsx(X, { className: \"size-5\", \"aria-hidden\": \"true\" })] }) })] }) }) }) }) }) }));\n}\n//# sourceMappingURL=NotificationPanel.js.map","import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useState } from \"react\";\nimport { Portal } from \"../Portal.js\";\nimport { NotificationPanel } from \"./NotificationPanel.js\";\nimport { ToastContext } from \"./ToastContext.js\";\nexport function ToastProvider({ children }) {\n const [data, setData] = useState(null);\n const toast = (data) => {\n setData(data);\n };\n return (_jsxs(_Fragment, { children: [_jsx(ToastContext.Provider, { value: toast, children: children }), data && _jsx(Portal, { children: _jsx(NotificationPanel, { data: data, onClose: () => toast(null) }) })] }));\n}\n//# sourceMappingURL=ToastProvider.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { ConfirmModal } from \"./ConfirmModal.js\";\nimport { useToast } from \"./toast/index.js\";\nexport function DeleteModal({ idToDelete, title, content, setIdToDelete, deleteApi }) {\n const toast = useToast();\n const doDelete = async () => {\n if (!idToDelete) {\n return;\n }\n return deleteApi(idToDelete)\n .then(() => {\n toast({\n title: 'Delete succeeded',\n status: 'success'\n });\n }).catch((err) => {\n toast({\n title: 'Failed to delete',\n description: err.message ?? 'An error occurred while deleting the object',\n status: 'error'\n });\n }).finally(() => {\n setIdToDelete(undefined);\n });\n };\n return (_jsx(ConfirmModal, { title: title, content: content, isOpen: !!idToDelete, onConfirm: doDelete, onCancel: () => { setIdToDelete(undefined); } }));\n}\n//# sourceMappingURL=DeleteModal.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport clsx from \"clsx\";\nexport function Divider({ className }) {\n return (_jsx(\"hr\", { className: clsx(\"w-full h-0.5 border-t-0 bg-border\", className) }));\n}\n//# sourceMappingURL=Divider.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Menu, MenuButton, MenuItems, MenuItem as _MenuItem, Transition } from '@headlessui/react';\nimport clsx from 'clsx';\nimport { Fragment } from 'react';\nexport function Dropdown({ trigger, children }) {\n return (_jsxs(Menu, { as: \"div\", className: \"relative\", children: [_jsx(MenuButton, { as: \"span\", className: \"-m-1.5 flex items-center p-1.5\", children: trigger }), _jsx(Transition, { as: Fragment, enter: \"transition ease-out duration-100\", enterFrom: \"transform opacity-0 scale-95\", enterTo: \"transform opacity-100 scale-100\", leave: \"transition ease-in duration-75\", leaveFrom: \"transform opacity-100 scale-100\", leaveTo: \"transform opacity-0 scale-95\", children: _jsx(MenuItems, { className: \"absolute right-0 z-10 mt-2.5 w-48 origin-top-right rounded-md bg-white dark:bg-slate-900 dark:border-slate-800 dark:border py-2 shadow-lg ring-1 ring-gray-900/5 dark:ring-slate-200/5 focus:outline-hidden\", children: children }) })] }));\n}\nexport function MenuItem({ children, href = '#', onClick, closeOnClick = true, isDisabled = false }) {\n return (_jsx(_MenuItem, { disabled: isDisabled, children: ({ active, close }) => (_jsx(\"a\", { href: href, onClick: (e) => {\n e.preventDefault();\n e.stopPropagation();\n onClick && onClick(e);\n closeOnClick && close();\n }, className: clsx(active ? 'bg-gray-50 dark:bg-slate-800' : '', isDisabled ? 'opacity-50 cursor-not-allowed' : '', 'block px-3 py-1 text-sm leading-6 text-gray-900 dark:text-gray-200'), children: children })) }));\n}\n//# sourceMappingURL=Dropdown.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Listbox, ListboxButton, ListboxOption, ListboxOptions, Transition } from \"@headlessui/react\";\nimport { Check, ChevronDown } from \"lucide-react\";\nimport clsx from \"clsx\";\nimport { Fragment } from \"react\";\nexport function DropdownList({ items, value, onChange }) {\n return (_jsx(Listbox, { value: value, onChange: onChange, children: ({ open }) => (_jsxs(\"div\", { className: \"relative\", children: [_jsxs(\"div\", { className: \"inline-flex divide-x divide-indigo-700 rounded-md shadow-2xs\", children: [_jsxs(\"div\", { className: \"inline-flex items-center gap-x-1.5 rounded-l-md bg-indigo-600 px-3 py-2 text-white shadow-2xs\", children: [value.name && _jsx(Check, { className: \"-ml-0.5 size-5\", \"aria-hidden\": \"true\" }), _jsx(\"p\", { className: \"text-sm font-semibold\", children: value.name || \"\" })] }), _jsxs(ListboxButton, { className: \"inline-flex items-center rounded-l-none rounded-r-md bg-indigo-600 p-2 hover:bg-indigo-700 focus:outline-hidden focus:ring-2 focus:ring-indigo-600 focus:ring-offset-2 focus:ring-offset-gray-50\", children: [_jsx(\"span\", { className: \"sr-only\", children: \"Change selection\" }), _jsx(ChevronDown, { className: \"size-5 text-white\", \"aria-hidden\": \"true\" })] })] }), _jsx(Transition, { show: open, as: Fragment, leave: \"transition ease-in duration-100\", leaveFrom: \"opacity-100\", leaveTo: \"opacity-0\", children: _jsx(ListboxOptions, { className: \"absolute right-0 z-10 mt-2 w-72 origin-top-right divide-y divide-gray-200 overflow-hidden rounded-md bg-white shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-hidden\", children: items.map((option) => (_jsx(ListboxOption, { className: ({ active }) => clsx(active ? 'bg-indigo-600 text-white' : 'text-gray-900', 'cursor-default select-none p-4 text-sm'), value: option, children: ({ selected, active }) => (_jsxs(\"div\", { className: \"flex flex-col\", children: [_jsxs(\"div\", { className: \"flex justify-between\", children: [_jsx(\"p\", { className: selected ? 'font-semibold' : 'font-normal', children: option.name }), selected ? (_jsx(\"span\", { className: active ? 'text-white' : 'text-indigo-600', children: _jsx(Check, { className: \"size-5\", \"aria-hidden\": \"true\" }) })) : null] }), _jsx(\"p\", { className: clsx(active ? 'text-indigo-200' : 'text-gray-500', 'mt-2'), children: option.description })] })) }, option.id))) }) })] })) }));\n}\n//# sourceMappingURL=DropdownList.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Plus } from \"lucide-react\";\nimport { Button } from \"@vertesia/ui/core\";\nexport function EmptyCollection({ buttonLabel, title, children, onClick }) {\n return (_jsx(\"div\", { className: \"flex items-center justify-center h-full text-center\", children: _jsxs(\"div\", { className: \"py-12\", children: [_jsx(\"svg\", { className: \"mx-auto size-12\", fill: \"none\", viewBox: \"0 0 24 24\", stroke: \"currentColor\", \"aria-hidden\": \"true\", children: _jsx(\"path\", { vectorEffect: \"non-scaling-stroke\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: 2, d: \"M9 13h6m-3-3v6m-9 1V7a2 2 0 012-2h6l2 2h6a2 2 0 012 2v8a2 2 0 01-2 2H5a2 2 0 01-2-2z\" }) }), _jsx(\"h3\", { className: \"mt-2 text-sm font-semibold\", children: title }), _jsx(\"p\", { className: \"mt-1 text-sm text-muted\", children: children }), _jsx(\"div\", { className: \"mt-6\", children: _jsxs(Button, { onClick: onClick, children: [_jsx(Plus, { className: \"-ml-0.5 mr-1.5 size-5\", \"aria-hidden\": \"true\" }), buttonLabel] }) })] }) }));\n}\n//# sourceMappingURL=EmptyCollection.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useRef } from \"react\";\n/**\n * TODO: TS complains that:\n * Type 'FileList' can only be iterated through when using the '--downlevelIteration' flag or with a '--target' of 'es2015' or higher.\n * So as a quick fix aI use a for loop to convert FileList to File[]\n * @param files\n * @returns\n */\nfunction fileListToArray(files) {\n const ar = [];\n for (let i = 0, l = files.length; i < l; i++) {\n ar.push(files[i]);\n }\n return ar;\n}\nexport function FileUploadInput({ children, onUpload }) {\n const inputRef = useRef(null);\n const _onUpload = () => {\n if (inputRef.current?.files) {\n onUpload(fileListToArray(inputRef.current.files));\n }\n };\n return (_jsxs(\"label\", { style: { cursor: \"pointer\" }, children: [children, _jsx(\"input\", { ref: inputRef, type: \"file\", style: { display: \"none\" }, onChange: _onUpload })] }));\n}\n//TODO implement using tailwind\nexport function DropZone({ onUpload }) {\n const dropZoneProps = useDropZone({ onUpload });\n return (_jsx(\"div\", { ...dropZoneProps, className: \"flex items-center justify-center w-full h-64 border-2 border-dashed rounded-lg cursor-pointer bg-gray-50 dark:hover:bg-bray-800 dark:bg-gray-700 hover:bg-gray-100 dark:border-gray-600 dark:hover:border-gray-500 dark:hover:bg-gray-600\", children: _jsxs(\"label\", { htmlFor: \"dropzone-file\", className: \"flex flex-col items-center justify-center w-full h-full\", children: [_jsxs(\"div\", { className: \"flex flex-col items-center justify-center pt-5 pb-6\", children: [_jsx(\"svg\", { className: \"w-8 h-8 mb-4 text-gray-500 dark:text-gray-400\", \"aria-hidden\": \"true\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"none\", viewBox: \"0 0 20 16\", children: _jsx(\"path\", { stroke: \"currentColor\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"stroke-width\": \"2\", d: \"M13 13h3a3 3 0 0 0 0-6h-.025A5.56 5.56 0 0 0 16 6.5 5.5 5.5 0 0 0 5.207 5.021C5.137 5.017 5.071 5 5 5a4 4 0 0 0 0 8h2.167M10 15V6m0 0L8 8m2-2 2 2\" }) }), _jsxs(\"p\", { className: \"mb-2 text-sm text-gray-500 dark:text-gray-400\", children: [_jsx(\"span\", { className: \"font-semibold\", children: \"Click to upload\" }), \" or drag and drop\"] }), _jsx(\"p\", { className: \"text-xs text-gray-500 dark:text-gray-400\", children: \"SVG, PNG, JPG or GIF (MAX. 800x400px)\" })] }), _jsx(\"input\", { id: \"dropzone-file\", type: \"file\", className: \"hidden\" })] }) }));\n}\nfunction _onDragEnter(el) {\n let cnt = el.__dragOver_cnt__ || 0;\n el.__dragOver_cnt__ = cnt + 1;\n return !cnt; // true if first drag o ver false if dragover already recorded\n}\nfunction _onDragLeave(el) {\n let cnt = el.__dragOver_cnt__;\n if (!cnt)\n return false;\n el.__dragOver_cnt__ = cnt - 1;\n return cnt === 1; // true if leave false if not\n}\nfunction _onDrop(el) {\n delete el.__dragOver_cnt__;\n}\nexport function useDropZone({ onUpload, dragOverClass = \"is-drag-over-on\", dropEffect = \"copy\", }) {\n const ref = useRef(null);\n const onDrop = (ev) => {\n ev.preventDefault();\n _onDrop(ref.current);\n ref.current?.classList.remove(dragOverClass);\n const items = ev.dataTransfer.items;\n if (items) {\n const promises = [];\n const traverseFileTree = (item, path = \"\") => {\n return new Promise((resolve) => {\n if (item.isFile) {\n item.file((file) => {\n Object.defineProperty(file, \"webkitRelativePath\", { value: path + file.name });\n resolve([file]);\n });\n }\n else if (item.isDirectory) {\n const dirReader = item.createReader();\n const entries = [];\n const readEntries = () => {\n dirReader.readEntries((results) => {\n if (!results.length) {\n Promise.all(entries).then((filesArrays) => resolve(filesArrays.flat()));\n }\n else {\n for (const entry of results) {\n entries.push(traverseFileTree(entry, path + item.name + \"/\"));\n }\n readEntries();\n }\n });\n };\n readEntries();\n }\n });\n };\n for (let i = 0; i < items.length; i++) {\n const entry = items[i].webkitGetAsEntry();\n if (entry) {\n promises.push(traverseFileTree(entry));\n }\n }\n Promise.all(promises).then((filesArrays) => {\n const allFiles = filesArrays.flat();\n if (allFiles.length) {\n onUpload(allFiles);\n }\n });\n }\n };\n const onDragOver = (ev) => {\n ev.preventDefault();\n ev.dataTransfer.dropEffect = dropEffect;\n };\n const onDragEnter = () => {\n if (_onDragEnter(ref.current)) {\n ref.current?.classList.add(dragOverClass);\n }\n };\n const onDragLeave = () => {\n if (_onDragLeave(ref.current)) {\n ref.current?.classList.remove(dragOverClass);\n }\n };\n return {\n onDrop,\n onDragOver,\n onDragEnter,\n onDragLeave,\n ref,\n };\n}\n//# sourceMappingURL=FileUpload.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport clsx from 'clsx';\nimport { VTooltip } from './shadcn/tooltip';\nimport { Info } from 'lucide-react';\nexport function FormItem({ description, required, label, className, direction = \"column\", children, disabled = false }) {\n return (_jsxs(\"div\", { className: clsx(\"flex w-full space-y-1\", className, direction === \"row\" ? \"flex-row justify-between items-center gap-2\" : \"flex-col\"), children: [_jsxs(\"div\", { className: 'flex items-center gap-1', children: [_jsxs(\"label\", { className: `text-sm font-medium mb-1 ${disabled ? \"text-muted\" : \"\"}`, children: [label, required ? _jsx(\"span\", { className: 'text-destructive -mt-4 ml-1', children: \"*\" }) : \"\"] }), description &&\n _jsx(\"div\", { className: 'mx-2 flex w-4 items-center', children: _jsx(VTooltip, { description: description, children: _jsx(Info, { className: \"size-3 text-muted\" }) }) })] }), children] }));\n}\n//# sourceMappingURL=FormItem.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport clsx from 'clsx';\nimport { useState } from 'react';\nimport { Badge } from './Badge';\nimport { Input } from './shadcn/input';\nimport { VTooltip } from '@vertesia/ui/core';\nexport function InputList({ value = [], onChange, className, delimiters = \", \", placeholder, autoFocus }) {\n const [text, setText] = useState('');\n const onBlur = (ev) => {\n const v = ev.target.value;\n if (v && v.trim()) {\n onChange([...value, v.trim()]);\n setText('');\n }\n };\n const onKeyDown = (ev) => {\n const v = ev.target.value;\n const isEmpty = !v.trim();\n const key = ev.key;\n if (key === 'Enter' || delimiters.indexOf(key) > -1) {\n ev.preventDefault();\n if (value && !isEmpty) {\n onChange([...value, v.trim()]);\n setText('');\n }\n }\n else if (key === 'Backspace' && isEmpty) {\n if (value && value.length > 0) {\n value.pop();\n onChange([...value]);\n }\n }\n };\n const onPaste = (ev) => {\n const pastedText = ev.clipboardData.getData('text');\n if (pastedText) {\n ev.preventDefault();\n // Create a regex pattern from delimiters\n const delimiterPattern = delimiters.split('').map((char) => char === ' ' ? '\\\\s' : char.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')).join('|');\n const regex = new RegExp(`[${delimiterPattern}]+`);\n // Split the pasted text by delimiters and filter out empty values\n const newValues = pastedText\n .split(regex)\n .map((item) => item.trim())\n .filter((item) => item.length > 0);\n if (newValues.length > 0) {\n onChange([...value, ...newValues]);\n }\n setText('');\n }\n };\n const _onClick = (index) => {\n if (value && value.length > 0) {\n value.splice(index, 1);\n onChange([...value]);\n }\n };\n return (_jsxs(\"div\", { className: clsx(className, 'w-full flex flex-wrap items-center gap-1 p-2 py-1.5', 'rounded-md text-sm rounded-md border border-input bg-background ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted focus-visible:outline-none focus-visible:ring-1 ring-inset focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50'), children: [value && value.length > 0 &&\n (value.map((v, index) => _jsx(VTooltip, { description: 'click to remove', children: _jsx(Badge, { variant: \"secondary\", onClick: () => _onClick(index), className: 'cursor-pointer flex-shrink-0 hover:bg-destructive hover:text-destructive transition-colors', title: v, children: _jsx(\"span\", { className: 'break-all', children: v }) }, index) }, index))), _jsx(Input, { clearable: false, className: 'placeholder:text-muted px-1 flex-1 min-w-[120px]', variant: 'unstyled', type: 'text', value: text, onBlur: onBlur, onKeyDown: onKeyDown, onPaste: onPaste, onChange: setText, placeholder: !value || value.length === 0 ? placeholder : '', autoFocus: autoFocus })] }));\n}\n//# sourceMappingURL=InputList.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport clsx from \"clsx\";\nexport function Link({ underline = 'always', className, children, ...others }) {\n let underlineClass;\n if (underline === 'always') {\n underlineClass = 'underline';\n }\n else if (underline === 'hover') {\n underlineClass = 'hover:underline';\n }\n return _jsx(\"a\", { className: clsx(\"text-indigo-800 dark:text-indigo-300\", className, underlineClass), ...others, children: children });\n}\n//# sourceMappingURL=Link.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport clsx from \"clsx\";\nimport { forwardRef } from \"react\";\nexport function MenuList({ className, children }) {\n return (_jsx(\"ul\", { className: `${className} space-y-1 flex flex-col items-start`, children: children }));\n}\nconst MenuListItem = forwardRef(function _MenuListItem(props, ref) {\n const { current, children, className, href = '#', onClick, ...others } = props;\n return (_jsx(\"li\", { className: clsx(className, current ? 'bg-muted' : '', 'w-full p-2 pl-3 text-sm leading-6 font-semibold hover:bg-muted'), children: _jsx(\"a\", { ref: ref, href: href, onClick: (e) => {\n if (onClick) {\n e.preventDefault();\n onClick(e);\n }\n else if (href === '#') {\n e.preventDefault();\n }\n }, className: 'w-full flex items-center gap-x-3', ...others, children: children }) }));\n});\nMenuList.Item = MenuListItem;\n//# sourceMappingURL=MenuList.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { CircleX, CircleCheck, AlertTriangle, Info } from 'lucide-react';\nexport function MessageBox({ icon, status, title, children, className }) {\n let defaultIcon, titleColor, textColor, bgColor;\n switch (status) {\n case 'error': {\n defaultIcon = _jsx(CircleX, { className: \"size-5 text-destructive\", \"aria-hidden\": \"true\" });\n titleColor = \"\";\n textColor = \"text-foreground\";\n bgColor = \"bg-destructive border border-destructive\";\n break;\n }\n case 'warning': {\n defaultIcon = _jsx(AlertTriangle, { className: \"size-5 text-attention\", \"aria-hidden\": \"true\" });\n titleColor = \"\";\n textColor = \"text-foreground\";\n bgColor = \"bg-attention border border-attention\";\n break;\n }\n case 'success': {\n defaultIcon = _jsx(CircleCheck, { className: \"size-5 text-success\", \"aria-hidden\": \"true\" });\n titleColor = \"\";\n textColor = \"text-foreground\";\n bgColor = \"bg-success border border-success\";\n break;\n }\n case 'info': {\n defaultIcon = _jsx(Info, { className: \"size-5 text-info\", \"aria-hidden\": \"true\" });\n titleColor = \"\";\n textColor = \"text-foreground\";\n bgColor = \"bg-info border border-info\";\n break;\n }\n case 'default': {\n defaultIcon = _jsx(Info, { className: \"size-5 text-muted\", \"aria-hidden\": \"true\" });\n titleColor = \"\";\n textColor = \"text-foreground\";\n bgColor = \"bg-muted border border-muted\";\n break;\n }\n case 'done': {\n defaultIcon = _jsx(Info, { className: \"size-5 text-done\", \"aria-hidden\": \"true\" });\n titleColor = \"\";\n textColor = \"text-foreground\";\n bgColor = \"bg-done border border-done\";\n break;\n }\n }\n return (_jsx(\"div\", { className: `rounded-md p-4 ${bgColor} ${className}`, children: _jsxs(\"div\", { className: \"flex\", children: [_jsx(\"div\", { className: \"shrink-0\", children: icon ?? defaultIcon }), _jsxs(\"div\", { className: \"w-full ml-2 px-1\", children: [title && _jsx(\"h3\", { className: `text-sm font-medium mb-2 ${titleColor}`, children: title }), _jsx(\"div\", { className: `text-sm ${textColor} break-words`, children: children })] })] }) }));\n}\nexport function ErrorBox({ title, className, children }) {\n return (_jsx(MessageBox, { status: \"error\", title: title, className: className, children: _jsx(\"pre\", { className: \"whitespace-pre-wrap break-words\", children: children }) }));\n}\nexport function InfoBox({ title, className, children }) {\n return _jsx(MessageBox, { status: \"info\", title: title, className: className, children: children });\n}\nexport function WarningBox({ title, className, children }) {\n return _jsx(MessageBox, { status: \"warning\", title: title, className: className, children: children });\n}\nexport function SuccessBox({ title, className, children }) {\n return _jsx(MessageBox, { status: \"success\", title: title, className: className, children: children });\n}\nexport function DefaultBox({ title, className, children }) {\n return _jsx(MessageBox, { status: \"default\", title: title, className: className, children: children });\n}\n//# sourceMappingURL=MessageBox.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport clsx from \"clsx\";\nimport { Fragment } from \"react\";\nimport { Dialog, DialogPanel, DialogTitle, Transition, TransitionChild } from \"@headlessui/react\";\nimport { X } from \"lucide-react\";\nexport function Modal({ className, children, isOpen, onClose, noCloseButton = false, allowOverflow = false, disableCloseOnClickOutside = false, }) {\n const setOpen = (open) => {\n if (!open) {\n onClose();\n }\n };\n return (_jsx(Transition, { show: isOpen, as: Fragment, children: _jsxs(Dialog, { style: { zIndex: 50 }, as: \"div\", className: \"relative\", onClose: disableCloseOnClickOutside ? () => { } : setOpen, children: [_jsx(TransitionChild, { as: Fragment, enter: \"ease-out duration-300\", enterFrom: \"opacity-0\", enterTo: \"opacity-100\", leave: \"ease-in duration-200\", leaveFrom: \"opacity-100\", leaveTo: \"opacity-0\", unmount: true, children: _jsx(\"div\", { className: \"fixed inset-0 bg-gray-500 dark:bg-slate-800 dark:opacity-75 opacity-75 transition-opacity\" }) }), _jsx(\"div\", { className: \"fixed inset-0 z-10 w-screen overflow-y-auto\", children: _jsx(\"div\", { className: \"flex min-h-full items-end justify-center p-4 text-center sm:items-center sm:p-0\", children: _jsx(TransitionChild, { as: Fragment, enter: \"ease-out duration-300\", enterFrom: \"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\", enterTo: \"opacity-100 translate-y-0 sm:scale-100\", leave: \"ease-in duration-200\", leaveFrom: \"opacity-100 translate-y-0 sm:scale-100\", leaveTo: \"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\", children: _jsxs(DialogPanel, { className: clsx(\"p-0! relative transform rounded-lg bg-white dark:bg-slate-900 text-left dark:text-slate-100 shadow-xl transition-all sm:my-8 sm:w-full sm:max-w-md sm:p-6\", allowOverflow ? \"overflow-visible\" : \"overflow-hidden\", className), children: [!noCloseButton && _jsx(ModalCloseButton, { onClose: onClose }), children] }) }) }) })] }) }));\n}\nfunction ModalCloseButton({ onClose }) {\n return (_jsx(\"div\", { className: \"absolute right-0 top-0 hidden pr-4 pt-4 sm:block\", children: _jsxs(\"button\", { tabIndex: -1, type: \"button\", className: \"rounded-md bg-white text-gray-400 dark:text-slate-200 dark:bg-slate-800 hover:brightness-95 focus:outline-hidden focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 hover:cursor-pointer\", onClick: onClose, children: [_jsx(\"span\", { className: \"sr-only\", children: \"Close\" }), _jsx(X, { className: \"size-6\", \"aria-hidden\": \"true\" })] }) }));\n}\nexport function ModalTitle({ children, showDivider = false }) {\n return (_jsx(\"div\", { className: showDivider ? \"border-b-solid border-b border-b-1\" : \"\", children: _jsx(DialogTitle, { as: \"h3\", className: \"py-4 pl-4 pr-8 text-base font-semibold leading-6 text-gray-900 dark:text-slate-50\", children: children }) }));\n}\nexport function ModalFooter({ children, className = \"justify-end\", fill = false }) {\n return (_jsx(\"div\", { className: clsx(\"w-full flex space-x-2 p-4 border-t-solid border-t-gray-100 dark:border-t-gray-800 border-t\", className || \"justify-end\", fill ? \"bg-gray-100 dark:bg-slate-800\" : \"\"), children: children }));\n}\nexport function ModalBody({ children, className = \"\" }) {\n return _jsx(\"div\", { className: clsx(\"p-4\", className), children: children });\n}\n//# sourceMappingURL=Modal.js.map","const INPUT_UNSTYLED = \"block m-0 p-0 w-full border-0 focus:outline-hidden focus:ring-0 bg-transparent\";\nconst INPUT_NO_PADDING = \"rounded-md text-sm flex w-full rounded-md border border-input bg-background ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 ring-inset focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50\";\nconst INPUT = INPUT_NO_PADDING + \" py-1.5\";\nconst Styles = {\n INPUT_UNSTYLED,\n INPUT_NO_PADDING,\n INPUT\n};\nexport { Styles };\n//# sourceMappingURL=styles.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport clsx from \"clsx\";\nimport React, { useEffect } from \"react\";\nimport { Styles } from \"./styles.js\";\nfunction numberToString(value) {\n if (value == null || isNaN(value)) {\n return '';\n }\n else {\n return value.toString();\n }\n}\n/**\n * The value of this input is always a number. It can be undefined or NaN. If NaN the input value will not be updated with the NaN one.\n * If undefined the input will be updated to be empty.\n * The onChange callback is called whenever the value changes. If the input cannot be parsed as a number\n * it will be returned as NaN.\n */\nconst NumberInput = React.forwardRef(({ value, onChange, className, noScroll = false, noSpinners = false, ...others }, ref) => {\n // we need to store the state here in string\n const [textValue, setTextValue] = React.useState(numberToString(value));\n const _onChange = (ev) => {\n const value = ev.target.value;\n setTextValue(value);\n if (value === '') {\n onChange && onChange(undefined, value);\n }\n else {\n const num = parseFloat(value);\n onChange && onChange(num, value);\n }\n };\n useEffect(() => {\n // we do not update if not empty and NaN\n if (value == null || !isNaN(value)) {\n const text = numberToString(value);\n setTextValue(text);\n }\n }, [value]);\n return (_jsx(\"input\", { onWheel: noScroll ? event => { event.target.blur(); } : others.onWheel, type: 'number', value: textValue, onChange: _onChange, className: clsx(className, Styles.INPUT, { \"no-spinners\": noSpinners }, noSpinners && \"[appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none\"), ref: ref, ...others }));\n});\nexport { NumberInput };\n//# sourceMappingURL=NumberInput.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport clsx from \"clsx\";\nfunction getRealSize(size) {\n switch (size) {\n case 'xs': return 'size-2';\n case 'sm': return 'size-3';\n case 'md': return 'size-4';\n case 'lg': return 'size-5';\n case 'xl': return 'size-7';\n case '2xl': return 'size-10';\n default: throw new Error('Unexpected size: ' + size);\n }\n}\nexport function Spinner({ size, className }) {\n const sizeClass = getRealSize(size || 'md');\n return (_jsx(_Fragment, { children: _jsxs(\"svg\", { className: clsx(\"animate-[spin_0.8s_linear_infinite] text-indigo-500\", sizeClass, className), xmlns: \"http://www.w3.org/2000/svg\", fill: \"none\", viewBox: \"0 0 24 24\", children: [_jsx(\"circle\", { className: \"opacity-25\", cx: \"12\", cy: \"12\", r: \"10\", stroke: \"currentColor\", strokeWidth: \"4\" }), _jsx(\"path\", { className: \"opacity-75\", fill: \"currentColor\", d: \"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\" })] }) }));\n}\n//# sourceMappingURL=Spinner.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport clsx from 'clsx';\nimport { Spinner } from \"./Spinner.js\";\nfunction getRealSize(size) {\n switch (size) {\n case 'xs': return 'rounded-xs px-2 py-1 text-xs gap-x-1';\n case 'sm': return 'rounded-xs px-2 py-1 text-sm gap-x-1';\n case 'md': return 'rounded-md px-2.5 py-1.5 text-sm gap-x-1.5';\n case 'lg': return 'rounded-md px-3 py-2 text-sm gap-x-1.5';\n case 'xl': return 'rounded-md px-3.5 py-2.5 text-sm gap-x-2';\n default: throw new Error('Unexpected size: ' + size);\n }\n}\nconst Variants = {\n primary: \"shadow-2xs bg-indigo-600 text-white hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600\",\n secondary: \"shadow-2xs bg-white text-gray-900 hover:bg-gray-50 ring-1 ring-inset ring-gray-300\",\n soft: \"shadow-2xs bg-indigo-50 text-indigo-600 hover:bg-indigo-100\",\n ghost: \"text-indigo-600 hover:bg-indigo-100 dark:text-indigo-400 dark:hover:bg-indigo-900\",\n unstyled: \"\"\n};\nconst SpinnerVariants = {\n primary: \"text-white\",\n secondary: \"text-indigo-500\",\n soft: \"text-indigo-600\",\n ghost: \"text-indigo-600\",\n unstyled: \"text-gray-600\"\n};\nexport function Button({ title, className, type = 'button', children, size, onClick, variant = \"primary\", isLoading = false, isDisabled = false }) {\n const sizeClass = getRealSize(size || 'md');\n return (_jsxs(\"button\", { title: title, disabled: isDisabled || isLoading, onClick: onClick, type: type, className: clsx(\"whitespace-nowrap inline-flex items-center justify-center font-semibold hover:cursor-pointer\", Variants[variant], sizeClass, isDisabled && \"cursor-not-allowed text-gray-300!\", className), children: [isLoading && _jsx(Spinner, { className: SpinnerVariants[variant], size: size }), children] }));\n}\n//# sourceMappingURL=Button.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { motion } from \"framer-motion\";\nimport { X } from \"lucide-react\";\nimport { useState } from \"react\";\nimport { Button } from \"./Button\";\nexport function Overlay({ children, overlayContent, className = \"\", overlayClassName = \"\", position = 'right', width, height, showCloseButton = true, onOpen, onClose, triggerClassName = \"\", backdropClassName = \"\", animationConfig = { type: \"spring\", stiffness: 300, damping: 30 } }) {\n const [isOpen, setIsOpen] = useState(false);\n const handleOpen = () => {\n setIsOpen(true);\n onOpen?.();\n };\n const handleClose = () => {\n setIsOpen(false);\n onClose?.();\n };\n const animationProps = getAnimationProps(position);\n const positionClasses = getPositionClasses(position, width, height);\n return (_jsxs(\"div\", { className: `flex items-center justify-center w-full ${className}`, children: [_jsx(\"div\", { onClick: handleOpen, className: `w-full align-left cursor-pointer ${triggerClassName}`, children: children }), isOpen && (_jsx(\"div\", { className: `z-45 fixed inset-0 bg-black bg-opacity-50 ${backdropClassName}`, children: _jsxs(motion.div, { ...animationProps, transition: animationConfig, className: `${positionClasses} ${overlayClassName}`, children: [showCloseButton && (_jsx(\"div\", { className: \"absolute top-2 right-2 z-10\", children: _jsx(Button, { onClick: handleClose, variant: \"primary\", children: _jsx(X, {}) }) })), _jsx(\"div\", { className: showCloseButton ? \"mt-8\" : \"\", children: overlayContent })] }) }))] }));\n}\nfunction getAnimationProps(position) {\n switch (position) {\n case 'left':\n return { initial: { x: \"-100%\" }, animate: { x: 0 }, exit: { x: \"-100%\" } };\n case 'right':\n return { initial: { x: \"100%\" }, animate: { x: 0 }, exit: { x: \"100%\" } };\n case 'top':\n return { initial: { y: \"-100%\" }, animate: { y: 0 }, exit: { y: \"-100%\" } };\n case 'bottom':\n return { initial: { y: \"100%\" }, animate: { y: 0 }, exit: { y: \"100%\" } };\n case 'center':\n return {\n initial: { opacity: 0, scale: 0.8 },\n animate: { opacity: 1, scale: 1 },\n exit: { opacity: 0, scale: 0.8 }\n };\n default:\n return { initial: { x: \"100%\" }, animate: { x: 0 }, exit: { x: \"100%\" } };\n }\n}\nfunction getPositionClasses(position, width, height) {\n const baseClasses = \"fixed bg-white shadow-lg p-4 relative\";\n switch (position) {\n case 'left':\n return `${baseClasses} left-0 top-[var(--header-height)] h-full ${width || 'w-80'}`;\n case 'right':\n return `${baseClasses} right-0 top-[var(--header-height)] h-full ${width || 'w-80'}`;\n case 'top':\n return `${baseClasses} top-[var(--header-height)] left-0 right-0 ${height || 'h-80'}`;\n case 'bottom':\n return `${baseClasses} bottom-0 left-0 right-0 ${height || 'h-80'}`;\n case 'center':\n return `${baseClasses} top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 ${width || 'w-96'} ${height || 'max-h-96'}`;\n default:\n return `${baseClasses} right-0 top-[var(--header-height)] h-full ${width || 'w-80'}`;\n }\n}\n//# sourceMappingURL=Overlay.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { VTooltip } from \"./shadcn/tooltip\";\nimport { Info } from \"lucide-react\";\nexport function Panel({ children, action, title, description, footer, className }) {\n return (_jsxs(\"div\", { className: `p-4 flex flex-col gap-2 rounded-sm border bg-card ${className}`, children: [_jsxs(\"div\", { className: \"flex items-center justify-between\", children: [_jsxs(\"div\", { className: \"flex items-center gap-2\", children: [_jsx(\"div\", { className: \"font-semibold text-lg\", children: title }), description && _jsx(VTooltip, { description: description, children: _jsx(Info, { className: \"size-4 text-muted\" }) })] }), action] }), children, footer &&\n _jsx(\"div\", { className: \"border-t border-muted flex flex-col-2 text-sm pt-4\", children: footer })] }));\n}\n//# sourceMappingURL=Panel.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport clsx from \"clsx\";\nimport { useState } from \"react\";\nexport class RadioOptionAdapter {\n renderOption(item) {\n return this.labelOf(item);\n }\n findById(items, id) {\n return items.find(item => this.idOf(item) === id);\n }\n}\nexport function RadioGroup({ checkColor, cols = \"grid-cols-1\", gap = \"gap-2\", value, onChange, options, checkIcon: CheckIcon = DefaultCheckIcon, adapter }) {\n const [selected, setSelected] = useState(value);\n const onSelect = (option) => {\n setSelected(option);\n onChange(option);\n };\n const selectedId = selected ? adapter.idOf(selected) : undefined;\n return (_jsx(\"div\", { className: clsx(\"grid\", cols, gap), children: options.map(option => {\n const key = adapter.idOf(option);\n return (_jsx(RadioOption, { checkColor: checkColor, isSelected: key === selectedId, option: option, adapter: adapter, onSelect: onSelect, CheckIcon: CheckIcon }, key));\n }) }));\n}\nfunction RadioOption({ checkColor, CheckIcon, adapter, isSelected, option, onSelect }) {\n const [isHighlighted, setIsHighlighted] = useState(false);\n return (_jsxs(\"div\", { className: \"flex gap-1 cursor-pointer items-center\", onClick: () => onSelect(option), onMouseEnter: () => setIsHighlighted(true), onMouseLeave: () => setIsHighlighted(false), children: [_jsx(\"div\", { className: \"\", children: _jsx(CheckIcon, { size: 24, isChecked: isSelected, isHighlighted: isHighlighted, color: checkColor }) }), _jsx(\"div\", { children: adapter.renderOption(option) })] }));\n}\nfunction DefaultCheckIcon({ size, isChecked, isHighlighted, color = \"currentColor\" }) {\n //https://www.svgrepo.com/svg/309414/checkbox-checked\n //https://www.svgrepo.com/svg/309415/checkbox-unchecked\n const opacity = isHighlighted ? 1 : 0.6;\n return isChecked ? (_jsx(\"svg\", { width: `${size}px`, height: `${size}px`, viewBox: \"0 0 24 24\", version: \"1.1\", children: _jsx(\"g\", { stroke: \"none\", strokeWidth: \"1\", fill: \"none\", fillRule: \"evenodd\", children: _jsx(\"g\", { id: \"ic_fluent_checkbox_checked_24_regular\", fill: color, fillRule: \"nonzero\", opacity: opacity, children: _jsx(\"path\", { d: \"M18.25,3 C19.7687831,3 21,4.23121694 21,5.75 L21,18.25 C21,19.7687831 19.7687831,21 18.25,21 L5.75,21 C4.23121694,21 3,19.7687831 3,18.25 L3,5.75 C3,4.23121694 4.23121694,3 5.75,3 L18.25,3 Z M18.25,4.5 L5.75,4.5 C5.05964406,4.5 4.5,5.05964406 4.5,5.75 L4.5,18.25 C4.5,18.9403559 5.05964406,19.5 5.75,19.5 L18.25,19.5 C18.9403559,19.5 19.5,18.9403559 19.5,18.25 L19.5,5.75 C19.5,5.05964406 18.9403559,4.5 18.25,4.5 Z M10,14.4393398 L16.4696699,7.96966991 C16.7625631,7.6767767 17.2374369,7.6767767 17.5303301,7.96966991 C17.7965966,8.23593648 17.8208027,8.65260016 17.6029482,8.94621165 L17.5303301,9.03033009 L10.5303301,16.0303301 C10.2640635,16.2965966 9.84739984,16.3208027 9.55378835,16.1029482 L9.46966991,16.0303301 L6.46966991,13.0303301 C6.1767767,12.7374369 6.1767767,12.2625631 6.46966991,11.9696699 C6.73593648,11.7034034 7.15260016,11.6791973 7.44621165,11.8970518 L7.53033009,11.9696699 L10,14.4393398 L16.4696699,7.96966991 L10,14.4393398 Z\" }) }) }) })) : (_jsx(\"svg\", { width: `${size}px`, height: `${size}px`, viewBox: \"0 0 24 24\", version: \"1.1\", children: _jsx(\"g\", { stroke: \"none\", strokeWidth: \"1\", fill: \"none\", fillRule: \"evenodd\", children: _jsx(\"g\", { id: \"ic_fluent_checkbox_unchecked_24_regular\", fill: color, fillRule: \"nonzero\", opacity: opacity, children: _jsx(\"path\", { d: \"M5.75,3 L18.25,3 C19.7687831,3 21,4.23121694 21,5.75 L21,18.25 C21,19.7687831 19.7687831,21 18.25,21 L5.75,21 C4.23121694,21 3,19.7687831 3,18.25 L3,5.75 C3,4.23121694 4.23121694,3 5.75,3 Z M5.75,4.5 C5.05964406,4.5 4.5,5.05964406 4.5,5.75 L4.5,18.25 C4.5,18.9403559 5.05964406,19.5 5.75,19.5 L18.25,19.5 C18.9403559,19.5 19.5,18.9403559 19.5,18.25 L19.5,5.75 C19.5,5.05964406 18.9403559,4.5 18.25,4.5 L5.75,4.5 Z\" }) }) }) }));\n}\n//# sourceMappingURL=RadioGroup.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { Listbox, ListboxButton, ListboxOption, ListboxOptions } from \"@headlessui/react\";\nimport { X, Check, ChevronsUpDownIcon } from \"lucide-react\";\nimport clsx from \"clsx\";\nimport { useState, useEffect, useRef } from \"react\";\nimport { Button } from \"./Button\";\nimport { Center } from \"./Center\";\nfunction getFilterByFn(filterBy) {\n if (!filterBy) {\n return (o) => String(o).toLowerCase();\n }\n else if (typeof filterBy === 'string') {\n return (o) => String(o[filterBy]).toLowerCase();\n }\n else {\n return filterBy;\n }\n}\nexport function SelectBox({ clearTitle, ClearIcon = X, showFilter, filterBy, isClearable, disabled, by, options, value, onChange, className, addNew, addNewLabel, placeholder, optionLabel = (option) => String(option), label }) {\n const [filter, setFilter] = useState();\n const buttonRef = useRef(null);\n const [buttonWidth, setButtonWidth] = useState();\n useEffect(() => {\n if (buttonRef.current) {\n const resizeObserver = new ResizeObserver((entries) => {\n setButtonWidth(entries[0].contentRect.width);\n });\n resizeObserver.observe(buttonRef.current);\n return () => resizeObserver.disconnect();\n }\n }, []);\n const onClear = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (isClearable) {\n onChange(undefined);\n }\n };\n const onFilterChange = (e) => {\n setFilter(e.target.value);\n };\n let filteredOptions = options || [];\n if (showFilter === undefined) {\n showFilter = filteredOptions?.length >= 10;\n }\n if (showFilter && filter) {\n const filterLc = filter.toLowerCase();\n const filterFn = getFilterByFn(filterBy);\n filteredOptions = filteredOptions.filter(o => filterFn(o).includes(filterLc));\n }\n const onFilterKeyDown = (e) => {\n if (e.key !== \"Escape\"\n && e.key !== \"Enter\"\n && e.key !== \"ArrowDown\"\n && e.key !== \"ArrowUp\") {\n e.stopPropagation();\n }\n };\n return (_jsx(Listbox, { value: value ?? undefined, onChange: onChange, by: by, disabled: disabled, children: () => (_jsx(\"div\", { className: 'overflow-y-visible ' + className, children: _jsxs(\"div\", { className: \"relative\", children: [_jsxs(ListboxButton, { ref: buttonRef, className: \"relative w-full cursor-default rounded-md bg-white py-1.5 text-left text-gray-900 shadow-2xs ring-1 ring-inset ring-gray-300 focus:outline-hidden focus:ring-2 focus:ring-indigo-600 dark:ring-slate-600 dark:text-slate-50 dark:bg-slate-800 sm:text-sm sm:leading-6 hover:cursor-pointer\", children: [label && _jsx(\"div\", { className: 'w-full text-gray-500 text-left px-2', children: label }), _jsx(\"span\", { className: \"block truncate pl-3 pr-14\", children: value ? optionLabel(value) : placeholder }), isClearable && value != null && _jsx(\"span\", { className: \"absolute inset-y-0 right-0 mr-5 flex items-center pr-2\", onClick: onClear, children: _jsx(ClearIcon, { title: clearTitle, className: \"size-5 text-gray-400 hover:text-red-500 cursor-pointer\", \"aria-hidden\": \"true\" }) }), !disabled &&\n _jsx(\"span\", { className: \"pointer-events-none absolute inset-y-0 right-0 flex items-center pr-2\", children: _jsx(ChevronsUpDownIcon, { className: \"size-5 text-gray-400\", \"aria-hidden\": \"true\" }) })] }), _jsxs(ListboxOptions, { anchor: \"bottom\", style: { width: buttonWidth, zIndex: 100000000 }, className: \"absolute z-10 mt-1 overflow-auto rounded-md bg-white dark:ring-slate-600 dark:text-slate-50 dark:bg-slate-800 py-1 text-base shadow-lg ring-1 ring-gray-300 ring-opacity-5 focus:outline-hidden sm:text-sm\", children: [showFilter &&\n _jsx(\"div\", { className: \"p-1\", children: _jsx(\"input\", { type: \"text\", value: filter || '', onKeyDown: onFilterKeyDown, onChange: onFilterChange, className: \"w-full p-1 border border-gray-300 rounded-md dark:bg-slate-700 dark:text-slate-50\", placeholder: \"Filter...\" }) }), _jsx(\"div\", { className: \"overflow-y-auto max-h-60\", children: filteredOptions.map((option, i) => _jsx(ListOption, { option: option, optionLabel: optionLabel, className: \"hover:cursor-pointer\" }, i)) }), addNew &&\n _jsx(Center, { className: \"font-semibold py-2 border-t\", children: _jsx(Button, { variant: 'secondary', onClick: addNew, children: addNewLabel }) })] })] }) })) }));\n}\nexport function ListOption({ option, optionLabel, onClick, className }) {\n return (_jsx(ListboxOption, { className: ({ active }) => clsx(active ? 'bg-indigo-600 text-white dark:bg-indigo-800 dark:text-white' : 'text-gray-900 dark:text-slate-50', 'relative cursor-default select-none py-2 pl-3 pr-9', className), value: option, onClick: onClick, children: ({ selected, active }) => (_jsxs(_Fragment, { children: [_jsx(\"div\", { className: clsx(selected ? 'font-semibold' : 'font-inherit', 'block truncate'), children: optionLabel(option) }), selected ? (_jsx(\"div\", { className: clsx(active ? 'text-white' : 'text-indigo-600', 'absolute inset-y-0 right-0 flex items-center pr-4'), children: _jsx(Check, { className: \"size-5\", \"aria-hidden\": \"true\" }) })) : null] })) }));\n}\n//# sourceMappingURL=SelectBox.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Check } from \"lucide-react\";\nimport clsx from \"clsx\";\nimport { useMemo, useState } from \"react\";\nimport { Input } from \"./shadcn\";\nconst Default_Option_Style = \"flex-1 px-2 py-2 hover:bg-accent nowrap\";\nfunction defaultOptionLayout(option, isSelected) {\n return {\n label: String(option),\n check: isSelected ? _jsx(Check, { className: 'size-4' }) : _jsx(\"div\", { className: \"size-4\" }),\n reverse: false,\n className: Default_Option_Style,\n };\n}\nexport function SelectList({ value, options, onChange, className, optionLayout, by, noCheck, filterBy }) {\n const [selected, setSelected] = useState(value);\n const [filterValue, setFilterValue] = useState(\"\");\n const onSelect = (option) => {\n setSelected(option);\n onChange(option);\n };\n const optionEquals = useMemo(() => {\n if (typeof by === 'string') {\n return (o1, o2) => o1[by] === o2[by];\n }\n else if (!by) {\n return (o1, o2) => o1 === o2;\n }\n else {\n return by;\n }\n }, [by]);\n return (_jsxs(\"div\", { className: clsx(\"\", className), children: [filterBy && (_jsx(Input, { type: \"text\", placeholder: \"Filter...\", value: filterValue, onChange: (value) => setFilterValue(value) })), options.map((option, i) => {\n if (filterBy && !filterBy(filterValue)(option)) {\n return null;\n }\n const isSelected = selected ? optionEquals(selected, option) : false;\n let layout;\n if (optionLayout) {\n layout = optionLayout(option, isSelected);\n layout = Object.assign(defaultOptionLayout(option, isSelected), layout);\n }\n else {\n layout = defaultOptionLayout(option, isSelected);\n }\n return (_jsx(SelectListOption, { option: option, onSelect: onSelect, layout: layout, noCheck: noCheck }, i));\n })] }));\n}\nfunction SelectListOption({ option, onSelect, layout, noCheck }) {\n return (_jsxs(\"div\", { className: clsx('group flex items-center cursor-pointer gap-x-2 hover:bg-muted', layout.reverse && 'flex-row-reverse', layout.className), onClick: () => onSelect(option), children: [noCheck ? null : _jsx(\"div\", { className: \"\", children: layout.check }), _jsx(\"div\", { className: 'flex-1', children: layout.label })] }));\n}\n//# sourceMappingURL=SelectList.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { RadioGroup } from '@headlessui/react';\nimport clsx from 'clsx';\nexport function SelectStack({ onSelect, selected, options }) {\n return (_jsxs(RadioGroup, { value: selected, onChange: onSelect, children: [_jsx(RadioGroup.Label, { className: \"sr-only\", children: \"Server size\" }), _jsx(\"div\", { className: \"space-y-4\", children: options.map((option) => (_jsx(RadioGroup.Option, { value: option, className: ({ active }) => clsx(active ? 'border-border ring-2 ring-ring' : 'border-border', 'relative block cursor-pointer rounded-lg border bg-accent px-6 py-4 shadow-2xs focus:outline-hidden sm:flex sm:justify-between'), children: ({ active, checked }) => (_jsxs(_Fragment, { children: [_jsx(\"span\", { className: \"flex items-center\", children: _jsxs(\"span\", { className: \"flex flex-col text-sm\", children: [_jsx(RadioGroup.Label, { as: \"span\", className: \"font-medium text-text\", children: option.label }), option.description &&\n _jsx(RadioGroup.Description, { as: \"span\", className: \"text-muted-foreground\", children: option.description })] }) }), _jsx(\"span\", { className: clsx(active ? 'border' : 'border-2', checked ? 'border-accent-foreground' : 'border-transparent', 'pointer-events-none absolute -inset-px rounded-lg'), \"aria-hidden\": \"true\" })] })) }, option.id))) })] }));\n}\n//# sourceMappingURL=SelectStack.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useState } from 'react';\nimport { motion, AnimatePresence } from 'framer-motion';\nimport { Minus, X } from 'lucide-react';\nimport { Button } from './shadcn/button';\nexport function SidePanel({ isOpen, title, onClose, children, panelWidth = 768, backdrop = false }) {\n const [_panelWidth, setPanelWidth] = useState(panelWidth);\n const handleDragStart = (e) => {\n e.preventDefault();\n let isDragging = true;\n const startX = e.pageX;\n const startWidth = _panelWidth;\n const handleMouseMove = (e) => {\n if (isDragging) {\n const deltaX = startX - e.pageX;\n const newWidth = Math.max(startWidth + deltaX, 480);\n setPanelWidth(newWidth);\n }\n };\n const handleMouseUp = () => {\n isDragging = false;\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n };\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n };\n return (_jsx(AnimatePresence, { children: isOpen && (_jsxs(\"div\", { className: \"relative z-20\", children: [backdrop && (_jsx(motion.div, { className: \"fixed inset-0 bg-black/70\", initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, onClick: onClose })), _jsx(\"div\", { className: \"fixed inset-y-0 right-0 overflow-hidden\", children: _jsx(\"div\", { className: \"absolute inset-0 overflow-hidden\", children: _jsx(\"div\", { className: \"pointer-events-none fixed inset-y-0 right-0 flex max-w-full pl-10 sm:pl-16\", children: _jsx(motion.div, { className: \"pointer-events-auto border-l\", style: { width: `${_panelWidth}px` }, initial: { x: \"100%\" }, animate: { x: 0 }, exit: { x: \"100%\" }, transition: { type: \"spring\", stiffness: 300, damping: 30 }, children: _jsxs(\"div\", { className: \"relative flex h-full\", children: [_jsx(\"div\", { className: \"absolute -left-1 top-0 bottom-0 w-3 cursor-ew-resize hover:bg-indigo-500 transition-colors flex items-center justify-center\", onMouseDown: handleDragStart, children: _jsx(Minus, { className: \"rotate-90 font-semibold\", strokeWidth: 4 }) }), _jsxs(\"div\", { className: \"flex-1 flex flex-col overflow-y-scroll gap-4 bg-background py-2 shadow-xl\", children: [title && (_jsx(\"div\", { className: \"px-2 sm:px-4\", children: _jsxs(\"div\", { className: \"flex items-start justify-between\", children: [_jsx(\"h2\", { className: \"w-full text-base font-semibold leading-6\", children: _jsx(\"div\", { className: \"text-2xl\", children: title ?? \"\" }) }), _jsx(\"div\", { className: \"ml-3 flex h-7 items-center\", children: _jsx(CloseButton, { onClose: onClose }) })] }) })), _jsx(\"div\", { className: \"px-2 sm:px-4\", children: children })] })] }) }) }) }) })] })) }));\n}\nfunction CloseButton({ onClose }) {\n return (_jsx(Button, { alt: \"Close panel\", variant: \"ghost\", onClick: onClose, children: _jsx(X, { className: \"size-6\", \"aria-hidden\": \"true\" }) }));\n}\n//# sourceMappingURL=SidePanel.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Switch as UISwitch } from \"@headlessui/react\";\nconst sizes = {\n 'sm': ['h-5 w-8', 'size-3', 'translate-x-4'],\n 'md': ['h-6 w-11', 'size-4', 'translate-x-6'],\n 'lg': ['h-8 w-16', 'size-6', 'translate-x-9'],\n};\nexport function Switch({ value, onChange, size = 'md', children, className, disabled }) {\n const sizeClass = sizes[size];\n return (_jsxs(UISwitch, { checked: value, onChange: () => onChange(!value), className: `flex items-center ${className} ${disabled ? 'cursor-not-allowed opacity-50' : 'hover:cursor-pointer'}`, children: [_jsx(\"div\", { className: `${value ? 'bg-primary' : 'bg-muted/50'} relative inline-flex ${sizeClass[0]} items-center rounded-full border-1`, children: _jsx(\"span\", { className: `${value ? sizeClass[2] : 'translate-x-1'} inline-block ${sizeClass[1]} transform rounded-full bg-white transition` }) }), children && _jsx(\"span\", { className: \"px-2\", children: children })] }));\n}\n//# sourceMappingURL=Switch.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport clsx from \"clsx\";\nconst defaultTableCass = `\ndivide-y divide-border\n[&>tbody]:divide-y [&>tbody]:divide-border\n[&_th]:text-left [&_th]:px-3 [&_th]:py-3.5 [&_th]:text-sm [&_th]:font-normal [&_th]:text-muted-foreground\n[&_td]:px-3 [&_td]:py-4 [&_td]:text-sm\n`;\nexport function Table({ className, children, ...others }) {\n return (_jsx(\"table\", { className: clsx(defaultTableCass, className), ...others, children: children }));\n}\nexport function THead({ children }) {\n return (_jsx(\"thead\", { className: \"sticky top-0 bg-background z-10 after:absolute after:bottom-0 after:left-0 after:w-full after:h-px after:bg-muted/20\", children: children }));\n}\nexport function RowSkeleton({ columns }) {\n return (_jsx(\"tr\", { className: \"hover:bg-muted\", children: Array(columns).fill(0).map((_, index) => _jsx(\"td\", { children: _jsx(\"div\", { className: \"animate-pulse rounded-xs h-5 bg-muted\" }) }, index)) }));\n}\nexport function TBody({ isLoading = false, columns, rows = 3, children }) {\n return (_jsx(\"tbody\", { children: (isLoading) ? (Array(rows).fill(0).map((_, index) => _jsx(RowSkeleton, { columns: columns }, index))) : (children) }));\n}\nexport function TR({ className, children, ...others }) {\n return (_jsx(\"tr\", { className: clsx(\"hover:bg-muted hover:cursor-pointer\", className), ...others, children: children }));\n}\n//# sourceMappingURL=index.js.map","import { createContext, useContext } from \"react\";\nexport function useTabs() {\n return useContext(TabsContext);\n}\nconst TabsContext = createContext({});\nexport { TabsContext };\n//# sourceMappingURL=TabsContext.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport clsx from 'clsx';\nimport { isValidElement, useEffect, useState } from 'react';\nimport { TabsContext, useTabs } from './TabsContext.js';\nfunction applyCurrentTab(tabs, current) {\n const name = typeof current === 'function' ? current() : current;\n let currentTab = null;\n const newTabs = [];\n for (const tab of tabs) {\n const newTab = { ...tab };\n newTab.current = false;\n newTabs.push(newTab);\n if (newTab.name === name) {\n currentTab = newTab;\n }\n }\n if (!currentTab) {\n currentTab = newTabs[0];\n }\n currentTab.current = true;\n return newTabs;\n}\nexport function Tabs({ current, onSelect, tabs, children, navigate }) {\n const [_tabs, _setTabs] = useState([]);\n useEffect(() => {\n _setTabs(applyCurrentTab(tabs, current));\n }, [current, tabs]);\n const context = {\n tabs: _tabs,\n select: (tab) => {\n if (onSelect) {\n if (onSelect(tab) === false) {\n return;\n }\n }\n if (tab.href) {\n if (navigate) {\n navigate(tab.href);\n }\n else {\n window.location.href = tab.href;\n }\n }\n else {\n _setTabs([...applyCurrentTab(_tabs, tab.name)]);\n }\n }\n };\n return (_jsx(TabsContext.Provider, { value: context, children: _jsx(\"div\", { className: \"flex flex-col h-full\", children: children }) }));\n}\nexport function TabsBar({ actions, className }) {\n const { tabs, select } = useTabs();\n const _onClick = (e, tab) => {\n e.preventDefault();\n e.stopPropagation();\n // ignore if disabled\n !tab.disabled && select(tab);\n };\n return (_jsxs(\"div\", { className: \"border-b flex items-start justify-between\", children: [_jsx(\"nav\", { className: \"flex space-x-4 px-4\", \"aria-label\": \"Tabs\", children: tabs.map((tab) => {\n const cursor = tab.disabled ? 'cursor-not-allowed' : 'cursor-pointer';\n return (_jsx(\"a\", { href: tab.href || '#' + tab.name, onClick: (e) => _onClick(e, tab), className: clsx(tab.current\n ? 'border-indigo-500 text-indigo-600 dark:border-indigo-400 dark:text-indigo-50'\n : 'border-transparent text-gray-500 dark:text-slate-300 hover:border-slate-400 hover:text-gray-700 dark:hover:border-slate-200 dark:hover:text-gray-200 ', className, 'whitespace-nowrap border-b-2 py-2 px-1 text-sm font-medium', cursor), \"aria-current\": tab.current ? 'page' : undefined, children: tab.label }, tab.name));\n }) }), _jsx(\"div\", { className: \"flex gap-x-1\", children: actions })] }));\n}\nexport function TabsPanel({}) {\n const { tabs } = useTabs();\n const content = tabs.find((t) => t.current)?.content;\n if (!content) {\n return null;\n }\n if (isValidElement(content)) {\n return _jsx(\"div\", { className: \"h-full overflow-y-auto flex-1\", children: content });\n }\n const Component = content;\n return (_jsx(\"div\", { className: \"h-full overflow-y-auto flex-1\", children: _jsx(Component, {}) }));\n}\n//# sourceMappingURL=Tabs.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport clsx from 'clsx';\nimport { X } from 'lucide-react';\nimport { useContext, useEffect, useRef, useState } from 'react';\nimport { Popover, PopoverContent, PopoverContext, PopoverTrigger } from './shadcn/popover';\nfunction TagsInputContent({ options, value, onChange, onOptionsChange, placeholder, className, disabled, layout = 'horizontal', creatable = false, createText = 'Create \"%value%\"', maxDropdownHeight = 200 }) {\n const popoverContext = useContext(PopoverContext);\n const [searchTerm, setSearchTerm] = useState('');\n const [highlightedIndex, setHighlightedIndex] = useState(0);\n const [width, setWidth] = useState(0);\n const [pendingDeleteIndex, setPendingDeleteIndex] = useState(null);\n const inputRef = useRef(null);\n const triggerRef = useRef(null);\n const dropdownRef = useRef(null);\n const highlightedItemRef = useRef(null);\n const isOpen = popoverContext?.open ?? false;\n const setIsOpen = popoverContext?.setOpen ?? (() => { });\n // Measure trigger width for popover\n useEffect(() => {\n const element = triggerRef.current;\n if (!element)\n return;\n const updateWidth = () => {\n const contentWidth = element.getBoundingClientRect().width;\n setWidth(contentWidth);\n };\n const resizeObserver = new ResizeObserver(() => {\n updateWidth();\n });\n updateWidth();\n resizeObserver.observe(element);\n return () => {\n resizeObserver.disconnect();\n };\n }, []);\n // Filter options based on search term and exclude already selected\n const filteredOptions = options.filter(option => !value.includes(option) &&\n option.toLowerCase().includes(searchTerm.toLowerCase()));\n // Check if create option should be shown\n const showCreateOption = creatable && searchTerm && !value.includes(searchTerm) && !options.includes(searchTerm);\n // Total number of items (filtered options + create option if shown)\n const totalItems = filteredOptions.length + (showCreateOption ? 1 : 0);\n // Reset highlighted index when filtered options change\n useEffect(() => {\n setHighlightedIndex(0);\n }, [searchTerm, showCreateOption]);\n // Clear pending delete when user starts typing\n useEffect(() => {\n if (searchTerm !== '') {\n setPendingDeleteIndex(null);\n }\n }, [searchTerm]);\n // Scroll highlighted item into view\n useEffect(() => {\n if (isOpen && highlightedItemRef.current && dropdownRef.current) {\n highlightedItemRef.current.scrollIntoView({\n block: 'nearest',\n behavior: 'smooth'\n });\n }\n }, [highlightedIndex, isOpen]);\n // Clear search term when popover closes and refocus input when it opens\n useEffect(() => {\n if (!isOpen) {\n setSearchTerm('');\n }\n else {\n // Ensure input stays focused when popover opens\n inputRef.current?.focus();\n }\n }, [isOpen]);\n const handleSelect = (option) => {\n onChange([...value, option]);\n setSearchTerm('');\n setIsOpen(false);\n setHighlightedIndex(0);\n setPendingDeleteIndex(null);\n };\n const handleCreate = (newTag) => {\n // Add to value\n onChange([...value, newTag]);\n // Add to options if callback provided\n if (onOptionsChange && !options.includes(newTag)) {\n onOptionsChange([...options, newTag]);\n }\n setSearchTerm('');\n setIsOpen(false);\n setHighlightedIndex(0);\n setPendingDeleteIndex(null);\n };\n const handleRemove = (option, e) => {\n e.stopPropagation();\n onChange(value.filter(v => v !== option));\n setPendingDeleteIndex(null);\n };\n const handleKeyDown = (e) => {\n // Handle special keys\n if (e.key === 'Enter' && isOpen && totalItems > 0) {\n e.preventDefault();\n e.stopPropagation();\n // Check if we're selecting the create option\n if (highlightedIndex === filteredOptions.length && showCreateOption) {\n handleCreate(searchTerm);\n }\n else if (highlightedIndex < filteredOptions.length) {\n handleSelect(filteredOptions[highlightedIndex]);\n }\n return;\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n e.stopPropagation();\n if (!isOpen) {\n setIsOpen(true);\n }\n else {\n setHighlightedIndex(prev => prev < totalItems - 1 ? prev + 1 : prev);\n }\n return;\n }\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n e.stopPropagation();\n if (!isOpen) {\n setIsOpen(true);\n }\n else {\n setHighlightedIndex(prev => (prev > 0 ? prev - 1 : 0));\n }\n return;\n }\n if (e.key === 'Escape') {\n e.preventDefault();\n e.stopPropagation();\n setIsOpen(false);\n return;\n }\n if (e.key === 'Backspace' && searchTerm === '' && value.length > 0) {\n // Two-step deletion: first backspace marks for deletion, second backspace deletes\n e.stopPropagation();\n const lastIndex = value.length - 1;\n if (pendingDeleteIndex === lastIndex) {\n // Second backspace: actually delete the item\n onChange(value.slice(0, -1));\n setPendingDeleteIndex(null);\n }\n else {\n // First backspace: mark for deletion\n setPendingDeleteIndex(lastIndex);\n }\n return;\n }\n // For any other key (typing characters), open dropdown\n if (!isOpen && e.key.length === 1) {\n setIsOpen(true);\n }\n };\n const handleInputClick = (e) => {\n e.stopPropagation();\n if (!disabled) {\n setIsOpen(true);\n }\n };\n const handleInputFocus = () => {\n if (!disabled) {\n setIsOpen(true);\n }\n };\n const handleContainerClick = () => {\n if (!disabled) {\n inputRef.current?.focus();\n }\n };\n return (_jsxs(\"div\", { className: clsx('relative', className), children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(\"div\", { ref: triggerRef, className: clsx('min-h-[40px] w-full rounded-md border border-input bg-background px-3 py-2', 'flex items-center gap-1', layout === 'horizontal' ? 'flex-wrap' : 'flex-col items-stretch', 'cursor-text', 'ring-offset-background', disabled && 'opacity-50 cursor-not-allowed', isOpen ? 'ring-1 ring-inset ring-ring' : ''), onClick: handleContainerClick, children: [layout === 'vertical' && value.length > 0 && (_jsx(\"div\", { className: \"flex flex-col gap-1 w-full\", children: value.map((item, index) => (_jsxs(\"span\", { className: clsx(\"inline-flex items-center justify-between gap-2 px-2 py-1 text-sm bg-primary/10 text-primary rounded-md w-full transition-all\", pendingDeleteIndex === index && \"ring-2 ring-red-300 shadow-[0_0_8px_rgba(252,165,165,0.5)]\"), children: [_jsx(\"span\", { className: \"truncate\", children: item }), _jsx(\"button\", { type: \"button\", onClick: (e) => handleRemove(item, e), disabled: disabled, className: \"hover:bg-primary/20 rounded-sm transition-colors flex-shrink-0\", children: _jsx(X, { className: \"h-3 w-3\" }) })] }, item))) })), layout === 'horizontal' && value.map((item, index) => (_jsxs(\"span\", { className: clsx(\"inline-flex items-center gap-1 px-2 py-1 text-sm bg-primary/10 text-primary rounded-md transition-all\", pendingDeleteIndex === index && \"ring-2 ring-red-300 shadow-[0_0_8px_rgba(252,165,165,0.5)]\"), children: [item, _jsx(\"button\", { type: \"button\", onClick: (e) => handleRemove(item, e), disabled: disabled, className: \"hover:bg-primary/20 rounded-sm transition-colors\", children: _jsx(X, { className: \"h-3 w-3\" }) })] }, item))), _jsx(\"input\", { ref: inputRef, type: \"text\", value: searchTerm, onChange: (e) => setSearchTerm(e.target.value), onKeyDown: handleKeyDown, onClick: handleInputClick, onFocus: handleInputFocus, disabled: disabled, placeholder: value.length === 0 ? placeholder : '', className: clsx('flex-1 min-w-[120px] bg-transparent text-sm', 'placeholder:text-muted-foreground', 'border-none outline-none focus:outline-none focus:ring-0 p-0 m-0', layout === 'vertical' && 'w-full') })] }) }), _jsx(PopoverContent, { style: { width: `${width}px` }, className: \"p-0 bg-popover border border-border shadow-lg\", align: \"start\", side: \"bottom\", onOpenAutoFocus: (e) => {\n // Prevent the popover from stealing focus from the input\n e.preventDefault();\n }, children: _jsx(\"div\", { ref: dropdownRef, className: \"overflow-y-auto\", style: { maxHeight: `${maxDropdownHeight}px` }, children: filteredOptions.length === 0 && !showCreateOption ? (_jsx(\"div\", { className: \"px-3 py-2 text-sm text-muted-foreground\", children: searchTerm ? 'No options found' : 'No more options available' })) : (_jsxs(_Fragment, { children: [filteredOptions.length > 0 && (_jsx(\"ul\", { className: \"py-1\", children: filteredOptions.map((option, index) => (_jsx(\"li\", { ref: (el) => {\n if (index === highlightedIndex) {\n highlightedItemRef.current = el;\n }\n }, onClick: () => handleSelect(option), onMouseEnter: () => setHighlightedIndex(index), className: clsx('px-3 py-2 text-sm cursor-pointer transition-colors', index === highlightedIndex\n ? 'bg-blue-500/20 text-foreground'\n : 'hover:bg-accent/50'), children: option }, option))) })), showCreateOption && (_jsxs(_Fragment, { children: [filteredOptions.length > 0 && (_jsx(\"div\", { className: \"border-t border-border\" })), _jsx(\"div\", { ref: (el) => {\n if (highlightedIndex === filteredOptions.length) {\n highlightedItemRef.current = el;\n }\n }, onClick: () => handleCreate(searchTerm), onMouseEnter: () => setHighlightedIndex(filteredOptions.length), className: clsx('px-3 py-2 text-sm cursor-pointer transition-colors text-primary', highlightedIndex === filteredOptions.length\n ? 'bg-blue-500/20'\n : 'hover:bg-accent/50'), children: createText.replace('%value%', searchTerm) })] }))] })) }) })] }));\n}\nexport function TagsInput(props) {\n return (_jsx(Popover, { click: true, children: _jsx(TagsInputContent, { ...props }) }));\n}\n//# sourceMappingURL=TagsInput.js.map","import React, { useContext, useEffect, useState } from \"react\";\n//type KeysOfType<T, V> = { [K in keyof T]-?: T[K] extends V ? K : never }[keyof T];\n//type KeysNotOfType<T, V> = { [K in keyof T]-?: T[K] extends V ? never : K }[keyof T];\nexport class Property {\n _value;\n watchers = [];\n /**\n * Optional name for debugging purposes.\n * When provided, changes to this property will be logged to the console in development mode,\n * making it easier to track state changes and debug reactive updates.\n *\n * Example: new Property<string>('', 'streamingText')\n * Will log: [CompositeState] streamingText: \"\" → \"new value\"\n */\n name;\n constructor(value, name) {\n this._value = value;\n this.name = name;\n }\n get value() {\n return this._value;\n }\n set value(value) {\n if (value !== this._value) {\n this._value = value;\n for (const watcher of this.watchers) {\n watcher(value);\n }\n }\n }\n watch(watcher) {\n this.watchers.push(watcher);\n return () => {\n this.watchers = this.watchers.filter(w => w !== watcher);\n };\n }\n}\nexport function createCompositeStateProvider(StateClass) {\n const context = React.createContext(undefined);\n StateClass.Context = context;\n return context.Provider;\n}\nexport class Slot {\n consume = undefined;\n _current;\n constructor(content) {\n this._current = content;\n }\n set current(content) {\n if (content !== this._current) {\n this._current = content;\n this.consume?.(content);\n }\n }\n get current() {\n return this._current;\n }\n withConsumer(consume) {\n this.consume = consume;\n consume && consume(this.current);\n return this;\n }\n}\nexport function useCompositeState(StateClass) {\n const context = StateClass.Context;\n if (!context) {\n throw new Error(\"Context not defined for \" + StateClass.name);\n }\n return useContext(context);\n}\nexport function useGetCompositeStateProperty(property) {\n const [value, setValue] = useState(property.value);\n useEffect(() => {\n return property.watch((value) => {\n if (typeof value === 'function') {\n setValue(() => value); // cannot directly store functions\n }\n else {\n setValue(value);\n }\n });\n }, [property]);\n return value;\n}\n// use memo on value to avoid re-computations if needed\nexport function useSetCompositeStateProperty(property, value) {\n useEffect(() => {\n property.value = value;\n return () => {\n property.value = undefined;\n };\n }, [property, value]);\n return value;\n}\n// use memo on watcher to avoid re-computations if needed\nexport function useWatchCompositeStateProperty(property, watcher) {\n useEffect(() => {\n return property.watch(watcher);\n }, [property, watcher]);\n}\nexport function useSlot(slot) {\n const [value, setValue] = useState(slot.current);\n useEffect(() => {\n slot.withConsumer(setValue);\n return () => {\n slot.withConsumer(undefined);\n };\n }, [slot]);\n return value;\n}\nexport function useWatchSlot(slot, watcher) {\n useEffect(() => {\n slot.withConsumer(watcher);\n return () => {\n slot.withConsumer(undefined);\n };\n }, [slot, watcher]);\n}\n// use memo for value if needed\nexport function useDefineSlot(slot, value) {\n useEffect(() => {\n slot.current = value;\n return () => {\n slot.current = undefined;\n };\n }, [slot, value]);\n}\n/**\n * Computed property that derives its value from other properties.\n * Automatically recalculates when any of its dependencies change.\n *\n * Think of it like a spreadsheet formula: if cell A1 = 5 and A2 = 10,\n * then A3 = A1 + A2 will automatically update to 15. If A1 changes to 7,\n * A3 automatically becomes 17.\n *\n * @example Basic usage\n * ```typescript\n * class MyState {\n * count = new Property(0, 'count');\n * multiplier = new Property(2, 'multiplier');\n *\n * // Automatically recalculates when count or multiplier changes\n * result = new ComputedProperty(\n * () => (this.count.value || 0) * (this.multiplier.value || 0),\n * [this.count, this.multiplier],\n * 'result'\n * );\n * }\n *\n * state.count.value = 5; // result automatically becomes 10\n * state.multiplier.value = 3; // result automatically becomes 15\n * ```\n *\n * @example Derived state\n * ```typescript\n * class EditorState {\n * workingCopy = new Property<Interaction>();\n * sourceInteraction = new Property<Interaction>();\n *\n * // Automatically true when workingCopy differs from source\n * isDirty = new ComputedProperty(\n * () => JSON.stringify(this.workingCopy.value) !==\n * JSON.stringify(this.sourceInteraction.value),\n * [this.workingCopy, this.sourceInteraction],\n * 'isDirty'\n * );\n * }\n * ```\n *\n * @example Cascading computed properties\n * ```typescript\n * class State {\n * a = new Property(1);\n * b = new Property(2);\n * sum = new ComputedProperty(() => a.value + b.value, [a, b]);\n * doubled = new ComputedProperty(() => sum.value * 2, [sum]);\n * }\n * ```\n *\n * Benefits:\n * - ✅ Automatic updates when dependencies change\n * - ✅ Memoization - only recalculates when needed\n * - ✅ Composable - can depend on other ComputedProperties\n * - ✅ Type-safe with full TypeScript support\n *\n * When to use:\n * - ✅ For derived state (values calculated from other values)\n * - ✅ When dependencies are other Properties or ComputedProperties\n * - ❌ NOT for async operations (use regular methods instead)\n * - ❌ NOT if compute function has side effects\n *\n * @important Remember to call dispose() when the ComputedProperty is no longer needed\n * to prevent memory leaks by unsubscribing from all dependencies.\n */\nexport class ComputedProperty {\n compute;\n _value;\n watchers = [];\n unsubscribers = [];\n /**\n * Optional name for debugging purposes.\n * When provided, recalculations will be logged to the console in development mode.\n */\n name;\n /**\n * @param compute - Function that calculates the derived value\n * @param dependencies - Array of Properties this computed value depends on\n * @param name - Optional name for debugging\n */\n constructor(compute, dependencies, name) {\n this.compute = compute;\n this.name = name;\n this.recalculate();\n // Watch all dependencies - when any changes, recalculate\n for (const dep of dependencies) {\n this.unsubscribers.push(dep.watch(() => this.recalculate()));\n }\n }\n recalculate() {\n const newValue = this.compute();\n if (newValue !== this._value) {\n this._value = newValue;\n for (const watcher of this.watchers) {\n watcher(newValue);\n }\n }\n }\n get value() {\n return this._value;\n }\n watch(watcher) {\n this.watchers.push(watcher);\n return () => {\n this.watchers = this.watchers.filter(w => w !== watcher);\n };\n }\n /**\n * Dispose of this ComputedProperty by unsubscribing from all dependencies.\n * Call this when the ComputedProperty is no longer needed to prevent memory leaks.\n *\n * @example\n * ```typescript\n * const computed = new ComputedProperty(...);\n *\n * // Later, when cleaning up:\n * computed.dispose();\n * ```\n */\n dispose() {\n for (const unsub of this.unsubscribers) {\n unsub();\n }\n this.watchers = [];\n }\n}\n//# sourceMappingURL=CompositeState.js.map","import { useEffect, useState } from \"react\";\nexport class SharedState {\n _value;\n watchers = [];\n constructor(value) {\n this._value = value;\n }\n get value() {\n return this._value;\n }\n set value(value) {\n if (value !== this._value) {\n this._value = value;\n for (const watcher of this.watchers) {\n watcher(value);\n }\n }\n }\n addWatcher(watcher) {\n this.watchers.push(watcher);\n return () => {\n this.watchers = this.watchers.filter(w => w !== watcher);\n };\n }\n}\nexport function useWatchSharedState(state) {\n const [value, setValue] = useState(state.value);\n useEffect(() => {\n return state.addWatcher((value) => {\n if (typeof value === 'function') {\n setValue(() => value); // cannot directly store functions\n }\n else {\n setValue(value);\n }\n });\n }, [state]);\n return value;\n}\n// export function createSharedStateContext<T>(initialValue: T) {\n// const Context = React.createContext<SharedState<T>>(undefined as any);\n// function SharedStateProvider({ value = initialValue, children }: {\n// value?: T,\n// children: React.ReactNode\n// }) {\n// const state = useMemo(() => {\n// return new SharedState(value);\n// }, []);\n// return <Context.Provider value={state}>{children}</Context.Provider>\n// }\n// const useSharedState = () => {\n// return React.useContext(Context);\n// }\n// return {\n// Context,\n// Provider: SharedStateProvider,\n// useSharedState,\n// useWatchSharedState: () => {\n// const state = useSharedState();\n// return state ? useWatchSharedState(state) : undefined;\n// }\n// }\n// }\n//# sourceMappingURL=SharedState.js.map","import { useEffect, useRef } from \"react\";\n/**\n *\n * @param callback\n * @param skipFn an optional function to skip the callback if the event matches some condition. Return true to skip\n * @returns\n */\nexport function useClickOutside(callback, skipFn) {\n const ref = useRef(null);\n useEffect(() => {\n const handleClick = (e) => {\n if (ref.current && !ref.current.contains(e.target)) {\n if (!skipFn || !skipFn(e)) {\n callback(e);\n }\n }\n };\n // add te listener just after the render to avoid the callback to be called on the current click\n // if you are in a click context\n window.setTimeout(() => {\n document.addEventListener('click', handleClick);\n }, 0);\n return () => {\n document.removeEventListener('click', handleClick);\n };\n }, []);\n return ref;\n}\n//# sourceMappingURL=useClickOutside.js.map","import { useState } from 'react';\nexport function useCopyToClipboard() {\n const [copiedText, setCopiedText] = useState(null);\n const copy = async (text) => {\n if (!navigator?.clipboard) {\n console.warn('Clipboard not supported');\n return false;\n }\n // Try to save to clipboard then save it in the state if worked\n try {\n await navigator.clipboard.writeText(text);\n setCopiedText(text);\n return true;\n }\n catch (error) {\n console.warn('Copy failed', error);\n setCopiedText(null);\n return false;\n }\n };\n return [copiedText, copy];\n}\n//# sourceMappingURL=useCopyToClipboard.js.map","import { useEffect } from \"react\";\nexport function useDarkMode(cb) {\n useEffect(() => {\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');\n const _cb = (e) => cb(e.matches);\n mediaQuery.addEventListener('change', _cb);\n cb(mediaQuery.matches);\n return () => mediaQuery.removeEventListener('change', _cb);\n }, []);\n}\n//# sourceMappingURL=useDarkMode.js.map","import { useEffect, useState } from \"react\";\nexport function useDebounce(value, delay) {\n const [debounceValue, setDebounceValue] = useState(value);\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebounceValue(value);\n }, delay);\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]);\n return debounceValue;\n}\n//# sourceMappingURL=useDebounce.js.map","import { useEffect } from \"react\";\nfunction startSse(url, onMessage, onCompleted) {\n const chunks = [];\n const sse = new EventSource(url);\n sse.addEventListener(\"message\", ev => {\n const data = JSON.parse(ev.data);\n if (data) {\n chunks.push(data);\n onMessage(chunks.join(''));\n }\n });\n sse.addEventListener(\"close\", (ev) => {\n sse.close();\n const msg = JSON.parse(ev.data);\n onCompleted(msg);\n });\n return () => {\n sse.close();\n };\n}\nexport function useEventSource(url, onMessage, onCompleted) {\n useEffect(() => {\n if (typeof url === 'function') {\n url().then(url => startSse(url, onMessage, onCompleted));\n }\n else {\n startSse(url, onMessage, onCompleted);\n }\n }, [url]);\n}\n//# sourceMappingURL=useEventSource.js.map","import { useEffect, useState } from \"react\";\nexport function useFetch(fetcher, opts) {\n if (Array.isArray(opts)) {\n opts = { deps: opts };\n }\n const options = (opts || {});\n const [error, setError] = useState(null);\n const [isLoading, setIsLoading] = useState(false);\n const [data, setData] = useState(options.defaultValue);\n const fetch = () => {\n options.start && options.start();\n setIsLoading(true);\n return fetcher().then((result) => {\n setData(result);\n options.onSuccess && options.onSuccess(result);\n }).catch(error => {\n setError(error);\n options.onError && options.onError(error);\n }).finally(() => {\n setIsLoading(false);\n options.end && options.end();\n });\n };\n useEffect(() => {\n if (!options.condition || options.condition()) {\n fetch();\n }\n }, options.deps);\n return { data, isLoading, error, setData, refetch: fetch };\n}\nexport function useFetchOnce(fetcher, opts) {\n if (!opts || Array.isArray(opts)) {\n opts = { deps: [] };\n }\n else if (opts) {\n opts.deps = [];\n }\n return useFetch(fetcher, opts);\n}\n//# sourceMappingURL=useFetch.js.map","import { useState } from \"react\";\nexport function useFlag(isOn = false) {\n const [state, setState] = useState(isOn);\n return {\n isOn: state,\n isOff: !state,\n set: (value) => setState(value),\n on: () => setState(true),\n off: () => setState(false),\n toggle: () => setState(!state)\n };\n}\n//# sourceMappingURL=useFlag.js.map","import { useEffect } from \"react\";\n/**\n * if leave option is true then callback will be called when the target leaves the viewport\n * otherwise when it enters the viewport\n * @param target\n * @param cb\n * @param opts\n */\nexport function useIntersectionObserver(target, cb, opts = {}) {\n useEffect(() => {\n const observer = new IntersectionObserver(entries => {\n const isEntering = entries[0].isIntersecting;\n if (opts.leave) {\n if (!isEntering) {\n cb(entries[0]);\n }\n }\n else {\n if (isEntering) {\n cb(entries[0]);\n }\n }\n }, { threshold: opts.threshold || 1 });\n if (target.current) {\n observer.observe(target.current);\n }\n return () => {\n if (target.current) {\n observer.unobserve(target.current);\n }\n };\n }, opts.deps ? opts.deps.concat(target) : [target]);\n}\n//# sourceMappingURL=useIntersectionObserver.js.map","import { useEffect, useRef } from \"react\";\nexport function useIsFirstRendering() {\n const isFirstRender = useRef(true);\n useEffect((cb) => {\n if (cb && isFirstRender.current) {\n cb();\n }\n isFirstRender.current = false;\n // ---> StrictMode: The following is REQUIRED to reset/cleanup:\n return () => { isFirstRender.current = true; };\n }, []);\n return isFirstRender.current;\n}\n//# sourceMappingURL=useIsFistRendering.js.map","import { useEffect, useLayoutEffect } from \"react\";\nconst useSafeLayoutEffect = typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\nexport { useSafeLayoutEffect };\n//# sourceMappingURL=useSafeLayoutEffect.js.map","import { useIntersectionObserver } from \"@vertesia/ui/core\";\nimport { useEffect, useRef, useState } from \"react\";\n/**\n * A hook that provides paginated search functionality with infinite scrolling support.\n */\nexport function useScrollableSearch(opts, dependencies = []) {\n const pageSize = opts.pageSize || 50;\n const [page, setPage] = useState(null);\n const [lastPayload, setLastPayload] = useState(opts.payload);\n const [error, setError] = useState(null);\n const [results, setResults] = useState([]);\n const [nextPage, setNextPage] = useState(null);\n const [isSearching, setIsSearching] = useState(false);\n // Track current request to prevent stale results\n const requestIdRef = useRef(0);\n const search = (payload) => {\n setPage(null);\n setResults([]); // Clear old results immediately\n setNextPage(null);\n setLastPayload(payload);\n };\n const searchMore = () => {\n if (nextPage !== null) {\n setPage(nextPage);\n }\n };\n useEffect(() => {\n // Increment request ID to mark previous requests as stale\n requestIdRef.current += 1;\n const currentRequestId = requestIdRef.current;\n setIsSearching(true);\n opts.search(lastPayload, page, pageSize).then(r => {\n // Only update state if this is still the current request\n if (currentRequestId !== requestIdRef.current) {\n return; // Stale request, ignore results\n }\n // If page is null, it's a new search - replace results\n // Otherwise, it's loading more - append results\n if (page === null) {\n setResults(r.result);\n }\n else {\n setResults(prev => [...prev, ...r.result]);\n }\n setNextPage(r.nextPage);\n setError(null);\n }).catch(error => {\n // Only update error if this is still the current request\n if (currentRequestId !== requestIdRef.current) {\n return; // Stale request, ignore error\n }\n setError(error);\n }).finally(() => {\n // Only update isSearching if this is still the current request\n if (currentRequestId === requestIdRef.current) {\n setIsSearching(false);\n }\n });\n }, [...dependencies, lastPayload, page]);\n // Intersection observer for infinite scrolling\n useIntersectionObserver(opts.nextPageTrigger, () => {\n if (!isSearching && nextPage) {\n searchMore();\n }\n }, { threshold: 0.1, deps: [nextPage, isSearching] });\n return {\n search,\n refresh: () => search(lastPayload),\n searchMore,\n result: results,\n page,\n hasMore: nextPage !== null,\n error,\n isSearching,\n };\n}\nexport function useDefaultScrollableSearch(opts, dependencies = []) {\n const actualOpts = {\n ...opts,\n async search(payload, page, pageSize) {\n const currentPage = page ?? 0;\n const offset = currentPage * pageSize;\n const result = await opts.search(payload, offset, pageSize);\n return {\n result,\n nextPage: result.length === 0 ? null : currentPage + 1\n };\n }\n };\n return useScrollableSearch(actualOpts, dependencies);\n}\n//# sourceMappingURL=useScrollableSearch.js.map","import { useState } from \"react\";\nexport class SharedValue {\n state;\n constructor(state) {\n this.state = state;\n }\n get() {\n return this.state[0];\n }\n set(value) {\n this.state[1](value);\n }\n}\n/**\n * Share a stateful value\n */\nexport function useSharedValue(initialValue) {\n const state = useState(initialValue);\n return new SharedValue(state);\n}\n//# sourceMappingURL=useSharedValue.js.map","import { clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\nexport function cn(...inputs) {\n return twMerge(clsx(inputs));\n}\n//# sourceMappingURL=cn.js.map"],"names":["getRealSize","size","Error","Avatar","src","name","shape","color","className","rounded","sizeClass","_jsx","alt","title","first","second","split","text","children","fill","viewBox","d","SvgAvatar","cn","inputs","twMerge","clsx","badgeVariants","cva","variants","variant","default","secondary","destructive","attention","success","info","done","defaultVariants","Badge","onClick","props","dotBadgeVariants","dotVariants","DotBadge","dotClassName","_jsxs","cx","cy","r","Center","PositionResolver","left","top","width","height","alignAxis","gap","constructor","this","position","pos","anchorRect","elemRect","bottom","right","align","computePosition","constraints","constrainWidth","constrainHeight","rect","DOMRect","flipAxis","axis","newAlign","flipAlign","newPos","flipPos","isElementVisibleOnAxis","clientRect","resolver","computedPos","isVisibleOnXAxis","isVisibleOnYAxis","newConstraints","isElementVisible","intersectRects","rect1","rect2","x1","Math","max","y1","x2","min","y2","isScrollable","element","hasScrollY","scrollHeight","clientHeight","hasScrollX","scrollWidth","clientWidth","style","getComputedStyle","overflowY","overflowX","PopupController","options","root","scrollableParents","visibleClientRect","context","document","documentElement","parents","parent","parentElement","push","getScrollableParents","anchor","length","getBoundingClientRect","i","l","computeVisibleClientRect","registerListeners","updateHandler","update","window","addEventListener","closeOnClick","closeOnEsc","ev","contains","target","tryClose","setTimeout","key","blockPageScroll","body","overflow","removeEventListener","open","tryOpen","cleanup","display","visibility","onOpen","close","onClose","undefined","isOpen","createPopupElement","popup","createElement","margin","padding","border","background","PopupContext","createContext","usePopupController","ctrl","useContext","DOMPopup","ctrlRef","id","zIndex","popupRef","useRef","setCtrl","useState","useEffect","_ctrl","current","Provider","value","createPortal","ref","Popup","others","OptionAdapter","filter","items","lcText","toLowerCase","item","valueOf","includes","renderOption","findById","find","idOf","createItem","_value","StringOptionAdapter","String","static","StringOptionAdapterWithCreate","getDefaultComboBoxLayout","fullWidth","unstyledInput","buttonRight","buttonWidth","maxMenuHeight","menuClass","inputClass","INPUT_NO_PADDING","optionClass","Input","Menu","Toggle","ComboBox","menuAlign","menuGap","focusOnMount","onSelect","api","layout","layoutOpts","adapter","placeholder","popupId","floor","random","popupCtrl","inputRef","Object","assign","inputBoxRef","React","useComboboxCtrl","focus","openMenu","closeMenu","toggle","toggleMenu","setInputValue","inputText","inputValue","selectedItem","showMenu","isMenuOpen","filteredItems","_Fragment","boxRef","fillWidth","ComboInput","paddingRight","getInputProps","backgroundColor","alignItems","justifyContent","getToggleButtonProps","ComboToggle","ChevronUpIcon","ChevronDownIcon","ComboMenu","highlightedIndex","maxHeight","getMenuProps","map","index","getItemProps","ComboboxController","withState","setState","_selectedItem","_filteredItems","_inputText","_highlightedIndex","_isMenuOpen","clone","updateState","popupPosition","_item","highlightIndex","navigateToTop","getElementById","querySelector","scrollIntoView","onMouseEnter","onMouseLeave","onChange","onKeyDown","decrModulo","buttonVariants","outline","ghost","link","primary","unstyled","xs","sm","md","lg","xl","icon","Button","forwardRef","asChild","isDisabled","isLoading","type","buttonElement","Slot","disabled","autoFocus","Loader2","VTooltip","description","placement","displayName","CopyButton","content","toast","isCopied","setIsCopied","e","stopPropagation","navigator","clipboard","writeText","then","status","message","duration","catch","err","console","error","Check","CopyIcon","ThemeProviderContext","theme","setTheme","ThemeProvider","defaultTheme","storageKey","localStorage","getItem","classList","remove","systemTheme","matchMedia","matches","add","setItem","useTheme","ModeOption","option","ModeToggle","Computer","Sun","Moon","Card","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","VisuallyHidden","clip","whiteSpace","wordWrap","PortalContainerContext","PortalContainerProvider","container","setContainer","getRootNode","ShadowRoot","Document","child","Array","from","HTMLElement","appendChild","findOrCreatePortalContainer","usePortalContainer","ModalContext","useIsInModal","ModalContextProvider","VModal","noCloseButton","allowOverflow","disableCloseOnClickOutside","action","handleOpenChange","Dialog","onOpenChange","DialogOverlay","DialogDescription","DialogContent","getSizeClasses","DialogClose","X","VModalTitle","show","DialogTitle","VModalBody","VModalFooter","center","DialogPrimitive","Root","DialogTrigger","Trigger","DialogPortal","Portal","Close","Overlay","Content","onOpenAutoFocus","event","preventDefault","Description","Title","noPadding","legacy","clearable","readOnly","Separator","orientation","decorative","SeparatorPrimitive","PopoverContext","Popover","hover","click","_open","setOpen","insideModal","PopoverPrimitive","modal","handleHover","PopoverTrigger","prev","PopoverAnchor","Anchor","PopoverContent","side","PopoverClose","Command","CommandPrimitive","CommandDialog","CommandInput","Search","CommandList","List","CommandEmpty","Empty","CommandGroup","Group","CommandSeparator","CommandItem","Item","CommandShortcut","TooltipProvider","TooltipPrimitive","Tooltip","TooltipTrigger","TooltipContent","sideOffset","delayDuration","VSelectBox","optionLabel","addNew","addNewLabel","filterBy","label","popupClass","isClearable","multiple","by","inline","warnOnMissingValue","missingValueWarning","triggerRef","setWidth","filterValue","setFilterValue","isMissingValue","useMemo","some","opt","isEqual","updateWidth","contentWidth","resizeObserver","ResizeObserver","observe","disconnect","isOptionSelected","selectedValues","v","isOptionsEqual","a","b","filteredOptions","filterLc","filterFn","o","getFilterByFn","renderOptionsContent","SearchIcon","isSelected","isArray","currentValues","newValues","_onClick","SquarePlus","strokeWidth","absoluteStrokeWidth","AlertTriangle","arrayValue","slice","renderMultipleValue","singleValue","renderSingleValue","ChevronsUpDown","TabsContext","tabs","setTab","responsive","updateHash","VTabs","defaultValue","onTabChange","setValue","currentValue","hash","location","currentTab","substring","tab","handleHashChange","handleValueChange","newValue","currentState","history","state","newUrl","pathname","search","pushState","useCallback","tabName","TabsPrimitive","onValueChange","VTabsBar","handleTabChange","t","href","TabsList","TabsTrigger","warn","VTabsPanel","TabsContent","handleClick","labelVariants","Label","required","LabelPrimitive","Breadcrumbs","path","maxItems","separator","renderBreadcrumbItem","BreadcrumbButton","BreadcrumbPage","Breadcrumb","BreadcrumbList","Fragment","BreadcrumbItem","BreadcrumbSeparator","ChevronRight","lastThreeItems","BreadcrumbEllipsis","role","MoreHorizontal","AnimateChangeInHeight","containerRef","setHeight","entries","observedHeight","contentRect","Checkbox","CheckboxPrimitive","Indicator","DynamicLabel","labelRenderer","fallbackLabel","setLabel","setIsLoading","async","result","Promise","resolvedLabel","renderLabel","SelectionCombobox","filterType","filterValues","setFilterValues","commandInput","setCommandInput","commandInputRef","nonSelectedFilterValues","onInputCapture","currentTarget","checked","calendarStyles","DateCombobox","isRange","localDateRange","setLocalDateRange","selectedDate","Date","dateRange","handleDateChange","date","dayjs","format","actualDate","alignOffset","ReactCalendar","selectRange","returnValue","maxDate","setHours","tileClassName","view","currentDate","getTime","today","startDate","endDate","TextCombobox","StringListCombobox","tags","setTags","JSON","stringify","InputList","generateComboboxOptions","setFilters","filterGroups","f","dateValue","textValue","values","filterGroup","group","Filters","filters","join","TextFilter","selectedView","setTextValue","handleClose","handleTextFilterAdd","trim","DateFilter","setSelectedDate","setDateRange","selectedGroup","g","isDateRange","effectiveDateRange","selectedDateStart","toISOString","Calendar","SelectFilter","selectedOptions","setSelectedOptions","groupName","getFilteredOptions","filterOption","existingFilterIndex","findIndex","updatedFilters","handleOptionToggle","StringListFilter","FilterContext","FilterProvider","searchParams","URL","hasInitialized","setHasInitialized","params","URLSearchParams","toString","filterString","encodeURIComponent","firstValue","set","delete","replaceState","filtersParam","get","parsedFilters","pair","encodedName","valuesString","decodeURIComponent","startsWith","endsWith","arrayContent","encodedValue","matchingOption","shouldBeMultiple","FilterBtn","setSelectedView","ListFilter","selectedGroupType","renderFilterOptions","val","handleSelect","getAvailableFilterGroups","FilterBar","FilterClear","FilterOperator","Heading","level","h1","h2","h3","h4","h5","h6","textVariants","weight","normal","medium","semibold","Text","ResizablePanelGroup","ResizablePrimitive","PanelGroup","ResizablePanel","Panel","ResizableHandle","withHandle","PanelResizeHandle","Minus","Textarea","ConfirmModal","onConfirm","onCancel","cancelButtonRef","TriangleAlert","useToast","ToastContext","PORTAL_ID","tempNode","portalEl","setPortalEl","doc","ownerDocument","icons","CircleCheck","CircleX","warning","Info","colors","NotificationPanel","data","setShow","timeoutRef","resetTimeout","globalThis","clearTimeout","clearCurrentTimeout","Icon","Transition","appear","as","afterLeave","enter","enterFrom","enterTo","leave","leaveFrom","leaveTo","ToastProvider","setData","DeleteModal","idToDelete","setIdToDelete","deleteApi","finally","Divider","Dropdown","trigger","MenuButton","MenuItems","MenuItem","_MenuItem","active","DropdownList","Listbox","ListboxButton","ChevronDown","ListboxOptions","ListboxOption","selected","EmptyCollection","buttonLabel","stroke","vectorEffect","strokeLinecap","strokeLinejoin","Plus","FileUploadInput","onUpload","cursor","files","ar","fileListToArray","DropZone","dropZoneProps","useDropZone","htmlFor","xmlns","dragOverClass","dropEffect","onDrop","__dragOver_cnt__","dataTransfer","promises","traverseFileTree","resolve","isFile","file","defineProperty","isDirectory","dirReader","createReader","readEntries","results","entry","all","filesArrays","flat","webkitGetAsEntry","allFiles","onDragOver","onDragEnter","el","cnt","_onDragEnter","onDragLeave","_onDragLeave","FormItem","direction","delimiters","setText","splice","onBlur","isEmpty","indexOf","pop","onPaste","pastedText","clipboardData","getData","delimiterPattern","char","replace","regex","RegExp","Link","underline","underlineClass","MenuList","MenuListItem","MessageBox","defaultIcon","titleColor","textColor","bgColor","ErrorBox","InfoBox","WarningBox","SuccessBox","DefaultBox","Modal","TransitionChild","unmount","DialogPanel","ModalCloseButton","tabIndex","ModalTitle","showDivider","ModalFooter","ModalBody","Styles","INPUT_UNSTYLED","INPUT","numberToString","isNaN","NumberInput","noScroll","noSpinners","onWheel","blur","num","parseFloat","Spinner","Variants","soft","SpinnerVariants","overlayContent","overlayClassName","showCloseButton","triggerClassName","backdropClassName","animationConfig","stiffness","damping","setIsOpen","animationProps","initial","x","animate","exit","y","opacity","scale","getAnimationProps","positionClasses","baseClasses","getPositionClasses","motion","div","transition","footer","RadioOptionAdapter","labelOf","RadioGroup","checkColor","cols","checkIcon","CheckIcon","DefaultCheckIcon","setSelected","selectedId","RadioOption","isHighlighted","setIsHighlighted","isChecked","version","fillRule","SelectBox","clearTitle","ClearIcon","showFilter","setFilter","buttonRef","setButtonWidth","onClear","onFilterChange","onFilterKeyDown","ChevronsUpDownIcon","ListOption","defaultOptionLayout","check","reverse","SelectList","optionLayout","noCheck","optionEquals","o1","o2","SelectListOption","SelectStack","Option","SidePanel","panelWidth","backdrop","_panelWidth","setPanelWidth","AnimatePresence","onMouseDown","isDragging","startX","pageX","startWidth","handleMouseMove","deltaX","newWidth","handleMouseUp","CloseButton","sizes","Switch","UISwitch","Table","THead","RowSkeleton","columns","_","TBody","rows","TR","useTabs","applyCurrentTab","newTabs","newTab","Tabs","navigate","_tabs","_setTabs","select","TabsBar","actions","TabsPanel","isValidElement","TagsInputContent","onOptionsChange","creatable","createText","maxDropdownHeight","popoverContext","searchTerm","setSearchTerm","setHighlightedIndex","pendingDeleteIndex","setPendingDeleteIndex","dropdownRef","highlightedItemRef","showCreateOption","totalItems","block","behavior","handleCreate","newTag","handleRemove","lastIndex","onFocus","TagsInput","Property","watchers","watcher","watch","w","createCompositeStateProvider","StateClass","Context","consume","_current","withConsumer","useCompositeState","useGetCompositeStateProperty","property","useSetCompositeStateProperty","useWatchCompositeStateProperty","useSlot","slot","useWatchSlot","useDefineSlot","ComputedProperty","compute","unsubscribers","dependencies","recalculate","dep","dispose","unsub","SharedState","addWatcher","useWatchSharedState","useClickOutside","callback","skipFn","useCopyToClipboard","copiedText","setCopiedText","useDarkMode","cb","mediaQuery","_cb","useDebounce","delay","debounceValue","setDebounceValue","handler","startSse","url","onMessage","onCompleted","chunks","sse","EventSource","parse","msg","useEventSource","useFetch","fetcher","opts","deps","setError","fetch","start","onSuccess","onError","end","condition","refetch","useFetchOnce","useFlag","isOn","isOff","on","off","useIntersectionObserver","observer","IntersectionObserver","isEntering","isIntersecting","threshold","unobserve","concat","useIsFirstRendering","isFirstRender","useSafeLayoutEffect","useLayoutEffect","useScrollableSearch","pageSize","page","setPage","lastPayload","setLastPayload","payload","setResults","nextPage","setNextPage","isSearching","setIsSearching","requestIdRef","searchMore","currentRequestId","nextPageTrigger","refresh","hasMore","useDefaultScrollableSearch","currentPage","offset","SharedValue","useSharedValue","initialValue"],"mappings":"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"}