@vertesia/ui 1.1.0-dev.20260327.125707Z → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/lib/esm/core/components/ComboBox.js +23 -24
  2. package/lib/esm/core/components/ComboBox.js.map +1 -1
  3. package/lib/esm/core/components/FormItem.js +2 -2
  4. package/lib/esm/core/components/FormItem.js.map +1 -1
  5. package/lib/esm/core/components/SidePanel.js +1 -1
  6. package/lib/esm/core/components/SidePanel.js.map +1 -1
  7. package/lib/esm/core/components/shadcn/collaspible.js +3 -4
  8. package/lib/esm/core/components/shadcn/collaspible.js.map +1 -1
  9. package/lib/esm/core/components/shadcn/dropdown.js +37 -12
  10. package/lib/esm/core/components/shadcn/dropdown.js.map +1 -1
  11. package/lib/esm/core/components/shadcn/filters/comboBox/DateCombobox.js +6 -6
  12. package/lib/esm/core/components/shadcn/filters/comboBox/DateCombobox.js.map +1 -1
  13. package/lib/esm/core/components/shadcn/filters/comboBox/SelectCombobox.js +8 -7
  14. package/lib/esm/core/components/shadcn/filters/comboBox/SelectCombobox.js.map +1 -1
  15. package/lib/esm/core/components/shadcn/filters/filterBar.js +5 -3
  16. package/lib/esm/core/components/shadcn/filters/filterBar.js.map +1 -1
  17. package/lib/esm/core/components/shadcn/filters/filters.js +1 -1
  18. package/lib/esm/core/components/shadcn/filters/filters.js.map +1 -1
  19. package/lib/esm/core/components/shadcn/radioGroup.js +1 -2
  20. package/lib/esm/core/components/shadcn/radioGroup.js.map +1 -1
  21. package/lib/esm/core/components/shadcn/switch.js +0 -1
  22. package/lib/esm/core/components/shadcn/switch.js.map +1 -1
  23. package/lib/esm/core/components/shadcn/tabs.js +2 -2
  24. package/lib/esm/core/components/shadcn/tabs.js.map +1 -1
  25. package/lib/esm/core/components/shadcn/tooltip.js +17 -1
  26. package/lib/esm/core/components/shadcn/tooltip.js.map +1 -1
  27. package/lib/esm/core/hooks/PortalContainerProvider.js +9 -3
  28. package/lib/esm/core/hooks/PortalContainerProvider.js.map +1 -1
  29. package/lib/esm/env/index.js +5 -8
  30. package/lib/esm/env/index.js.map +1 -1
  31. package/lib/esm/features/agent/chat/AgentRightPanel.js +21 -11
  32. package/lib/esm/features/agent/chat/AgentRightPanel.js.map +1 -1
  33. package/lib/esm/features/agent/chat/AskUserWidget.js +2 -6
  34. package/lib/esm/features/agent/chat/AskUserWidget.js.map +1 -1
  35. package/lib/esm/features/agent/chat/DocumentPanel.js +8 -5
  36. package/lib/esm/features/agent/chat/DocumentPanel.js.map +1 -1
  37. package/lib/esm/features/agent/chat/DocumentTabBar.js +5 -13
  38. package/lib/esm/features/agent/chat/DocumentTabBar.js.map +1 -1
  39. package/lib/esm/features/agent/chat/ModernAgentConversation.js +57 -26
  40. package/lib/esm/features/agent/chat/ModernAgentConversation.js.map +1 -1
  41. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +20 -16
  42. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
  43. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js +56 -45
  44. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
  45. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js +1 -1
  46. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
  47. package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js +3 -9
  48. package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js.map +1 -1
  49. package/lib/esm/features/agent/chat/hooks/useAgentStream.js +9 -5
  50. package/lib/esm/features/agent/chat/hooks/useAgentStream.js.map +1 -1
  51. package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js +4 -0
  52. package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js.map +1 -1
  53. package/lib/esm/features/facets/AgentRunnerFacetsNav.js +1 -1
  54. package/lib/esm/features/facets/AgentRunnerFacetsNav.js.map +1 -1
  55. package/lib/esm/features/facets/DocumentsFacetsNav.js +3 -2
  56. package/lib/esm/features/facets/DocumentsFacetsNav.js.map +1 -1
  57. package/lib/esm/features/facets/RunsFacetsNav.js +8 -1
  58. package/lib/esm/features/facets/RunsFacetsNav.js.map +1 -1
  59. package/lib/esm/features/facets/WorkflowExecutionsFacetsNav.js +1 -1
  60. package/lib/esm/features/facets/WorkflowExecutionsFacetsNav.js.map +1 -1
  61. package/lib/esm/features/facets/index.js +1 -0
  62. package/lib/esm/features/facets/index.js.map +1 -1
  63. package/lib/esm/features/facets/utils/VInteractionFacet.js +5 -5
  64. package/lib/esm/features/facets/utils/VInteractionFacet.js.map +1 -1
  65. package/lib/esm/features/index.js +1 -0
  66. package/lib/esm/features/index.js.map +1 -1
  67. package/lib/esm/features/oauth/OAuthProviderConnectButton.js +85 -0
  68. package/lib/esm/features/oauth/OAuthProviderConnectButton.js.map +1 -0
  69. package/lib/esm/features/oauth/RemoteMcpConnectionButton.js +119 -0
  70. package/lib/esm/features/oauth/RemoteMcpConnectionButton.js.map +1 -0
  71. package/lib/esm/features/oauth/index.js +4 -0
  72. package/lib/esm/features/oauth/index.js.map +1 -0
  73. package/lib/esm/features/oauth/useOAuthPopup.js +89 -0
  74. package/lib/esm/features/oauth/useOAuthPopup.js.map +1 -0
  75. package/lib/esm/features/store/collections/BrowseCollectionView.js.map +1 -1
  76. package/lib/esm/features/store/collections/EditCollectionView.js +9 -2
  77. package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -1
  78. package/lib/esm/features/store/objects/components/ContentOverview.js +19 -7
  79. package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -1
  80. package/lib/esm/features/store/objects/components/useContentPanelHooks.js +35 -15
  81. package/lib/esm/features/store/objects/components/useContentPanelHooks.js.map +1 -1
  82. package/lib/esm/features/store/objects/selection/ObjectsActionContext.js +3 -3
  83. package/lib/esm/features/store/objects/selection/ObjectsActionContext.js.map +1 -1
  84. package/lib/esm/features/store/objects/selection/SelectionActions.js +4 -3
  85. package/lib/esm/features/store/objects/selection/SelectionActions.js.map +1 -1
  86. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js +11 -3
  87. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js.map +1 -1
  88. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js +1 -5
  89. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js.map +1 -1
  90. package/lib/esm/features/user/UserInfo.js +33 -10
  91. package/lib/esm/features/user/UserInfo.js.map +1 -1
  92. package/lib/esm/i18n/locales/ar.json +81 -98
  93. package/lib/esm/i18n/locales/de.json +44 -73
  94. package/lib/esm/i18n/locales/en.json +31 -61
  95. package/lib/esm/i18n/locales/es.json +55 -79
  96. package/lib/esm/i18n/locales/fr.json +55 -81
  97. package/lib/esm/i18n/locales/it.json +55 -79
  98. package/lib/esm/i18n/locales/ja.json +46 -75
  99. package/lib/esm/i18n/locales/ko.json +44 -73
  100. package/lib/esm/i18n/locales/pt.json +55 -79
  101. package/lib/esm/i18n/locales/ru.json +58 -81
  102. package/lib/esm/i18n/locales/tr.json +46 -75
  103. package/lib/esm/i18n/locales/zh-TW.json +46 -75
  104. package/lib/esm/i18n/locales/zh.json +46 -75
  105. package/lib/esm/session/UserSession.js +2 -4
  106. package/lib/esm/session/UserSession.js.map +1 -1
  107. package/lib/esm/session/UserSessionProvider.js +22 -17
  108. package/lib/esm/session/UserSessionProvider.js.map +1 -1
  109. package/lib/esm/session/auth/composable.js +20 -2
  110. package/lib/esm/session/auth/composable.js.map +1 -1
  111. package/lib/esm/session/auth/domainRouting.js +7 -0
  112. package/lib/esm/session/auth/domainRouting.js.map +1 -0
  113. package/lib/esm/shell/login/InviteAcceptModal.js +1 -0
  114. package/lib/esm/shell/login/InviteAcceptModal.js.map +1 -1
  115. package/lib/esm/widgets/form/Form.js +2 -2
  116. package/lib/esm/widgets/form/Form.js.map +1 -1
  117. package/lib/esm/widgets/markdown/MarkdownRenderer.js +2 -1
  118. package/lib/esm/widgets/markdown/MarkdownRenderer.js.map +1 -1
  119. package/lib/esm/widgets/markdown/preprocessMathDelimiters.js +226 -0
  120. package/lib/esm/widgets/markdown/preprocessMathDelimiters.js.map +1 -0
  121. package/lib/esm/widgets/monacoEditor/MonacoEditor.js +40 -5
  122. package/lib/esm/widgets/monacoEditor/MonacoEditor.js.map +1 -1
  123. package/lib/esm/widgets/monacoEditor/foldingProviders.js +132 -0
  124. package/lib/esm/widgets/monacoEditor/foldingProviders.js.map +1 -0
  125. package/lib/tsconfig.tsbuildinfo +1 -1
  126. package/lib/types/core/components/ComboBox.d.ts +12 -2
  127. package/lib/types/core/components/ComboBox.d.ts.map +1 -1
  128. package/lib/types/core/components/FormItem.d.ts +5 -2
  129. package/lib/types/core/components/FormItem.d.ts.map +1 -1
  130. package/lib/types/core/components/SidePanel.d.ts.map +1 -1
  131. package/lib/types/core/components/shadcn/badge.d.ts +2 -2
  132. package/lib/types/core/components/shadcn/collaspible.d.ts +3 -3
  133. package/lib/types/core/components/shadcn/collaspible.d.ts.map +1 -1
  134. package/lib/types/core/components/shadcn/dropdown.d.ts +11 -3
  135. package/lib/types/core/components/shadcn/dropdown.d.ts.map +1 -1
  136. package/lib/types/core/components/shadcn/filters/comboBox/SelectCombobox.d.ts +2 -1
  137. package/lib/types/core/components/shadcn/filters/comboBox/SelectCombobox.d.ts.map +1 -1
  138. package/lib/types/core/components/shadcn/filters/filterBar.d.ts +2 -1
  139. package/lib/types/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
  140. package/lib/types/core/components/shadcn/filters/filters.d.ts.map +1 -1
  141. package/lib/types/core/components/shadcn/input.d.ts +1 -1
  142. package/lib/types/core/components/shadcn/radioGroup.d.ts.map +1 -1
  143. package/lib/types/core/components/shadcn/switch.d.ts.map +1 -1
  144. package/lib/types/core/components/shadcn/tabs.d.ts +4 -2
  145. package/lib/types/core/components/shadcn/tabs.d.ts.map +1 -1
  146. package/lib/types/core/components/shadcn/text.d.ts +1 -1
  147. package/lib/types/core/components/shadcn/tooltip.d.ts +1 -1
  148. package/lib/types/core/components/shadcn/tooltip.d.ts.map +1 -1
  149. package/lib/types/core/hooks/PortalContainerProvider.d.ts +1 -0
  150. package/lib/types/core/hooks/PortalContainerProvider.d.ts.map +1 -1
  151. package/lib/types/env/index.d.ts +2 -2
  152. package/lib/types/env/index.d.ts.map +1 -1
  153. package/lib/types/features/agent/chat/AgentChart.d.ts +1 -1
  154. package/lib/types/features/agent/chat/AgentChart.d.ts.map +1 -1
  155. package/lib/types/features/agent/chat/AgentRightPanel.d.ts +7 -2
  156. package/lib/types/features/agent/chat/AgentRightPanel.d.ts.map +1 -1
  157. package/lib/types/features/agent/chat/DocumentPanel.d.ts +2 -2
  158. package/lib/types/features/agent/chat/DocumentPanel.d.ts.map +1 -1
  159. package/lib/types/features/agent/chat/DocumentTabBar.d.ts +1 -2
  160. package/lib/types/features/agent/chat/DocumentTabBar.d.ts.map +1 -1
  161. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts +5 -3
  162. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
  163. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +4 -2
  164. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
  165. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts +4 -4
  166. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
  167. package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
  168. package/lib/types/features/agent/chat/VegaLiteChart.d.ts +1 -1
  169. package/lib/types/features/agent/chat/VegaLiteChart.d.ts.map +1 -1
  170. package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts +4 -2
  171. package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts.map +1 -1
  172. package/lib/types/features/agent/chat/hooks/useDocumentPanel.d.ts +1 -0
  173. package/lib/types/features/agent/chat/hooks/useDocumentPanel.d.ts.map +1 -1
  174. package/lib/types/features/facets/DocumentsFacetsNav.d.ts.map +1 -1
  175. package/lib/types/features/facets/RunsFacetsNav.d.ts.map +1 -1
  176. package/lib/types/features/facets/index.d.ts +1 -0
  177. package/lib/types/features/facets/index.d.ts.map +1 -1
  178. package/lib/types/features/index.d.ts +1 -0
  179. package/lib/types/features/index.d.ts.map +1 -1
  180. package/lib/types/features/oauth/OAuthProviderConnectButton.d.ts +11 -0
  181. package/lib/types/features/oauth/OAuthProviderConnectButton.d.ts.map +1 -0
  182. package/lib/types/features/oauth/RemoteMcpConnectionButton.d.ts +25 -0
  183. package/lib/types/features/oauth/RemoteMcpConnectionButton.d.ts.map +1 -0
  184. package/lib/types/features/oauth/index.d.ts +4 -0
  185. package/lib/types/features/oauth/index.d.ts.map +1 -0
  186. package/lib/types/features/oauth/useOAuthPopup.d.ts +12 -0
  187. package/lib/types/features/oauth/useOAuthPopup.d.ts.map +1 -0
  188. package/lib/types/features/store/collections/BrowseCollectionView.d.ts.map +1 -1
  189. package/lib/types/features/store/collections/EditCollectionView.d.ts.map +1 -1
  190. package/lib/types/features/store/objects/components/useContentPanelHooks.d.ts.map +1 -1
  191. package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts +3 -3
  192. package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts.map +1 -1
  193. package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts +2 -1
  194. package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts.map +1 -1
  195. package/lib/types/features/store/objects/selection/SelectionActions.d.ts +3 -3
  196. package/lib/types/features/store/objects/selection/SelectionActions.d.ts.map +1 -1
  197. package/lib/types/features/store/objects/selection/actions/ExportPropertiesAction.d.ts.map +1 -1
  198. package/lib/types/features/user/UserInfo.d.ts +2 -1
  199. package/lib/types/features/user/UserInfo.d.ts.map +1 -1
  200. package/lib/types/session/UserSession.d.ts.map +1 -1
  201. package/lib/types/session/UserSessionProvider.d.ts +0 -1
  202. package/lib/types/session/UserSessionProvider.d.ts.map +1 -1
  203. package/lib/types/session/auth/composable.d.ts +4 -0
  204. package/lib/types/session/auth/composable.d.ts.map +1 -1
  205. package/lib/types/session/auth/domainRouting.d.ts +8 -0
  206. package/lib/types/session/auth/domainRouting.d.ts.map +1 -0
  207. package/lib/types/shell/login/InviteAcceptModal.d.ts.map +1 -1
  208. package/lib/types/widgets/markdown/MarkdownRenderer.d.ts.map +1 -1
  209. package/lib/types/widgets/markdown/preprocessMathDelimiters.d.ts +24 -0
  210. package/lib/types/widgets/markdown/preprocessMathDelimiters.d.ts.map +1 -0
  211. package/lib/types/widgets/monacoEditor/MonacoEditor.d.ts +2 -1
  212. package/lib/types/widgets/monacoEditor/MonacoEditor.d.ts.map +1 -1
  213. package/lib/types/widgets/monacoEditor/foldingProviders.d.ts +2 -0
  214. package/lib/types/widgets/monacoEditor/foldingProviders.d.ts.map +1 -0
  215. package/lib/vertesia-ui-core.js +1 -1
  216. package/lib/vertesia-ui-core.js.map +1 -1
  217. package/lib/vertesia-ui-env.js +1 -1
  218. package/lib/vertesia-ui-env.js.map +1 -1
  219. package/lib/vertesia-ui-features.js +1 -1
  220. package/lib/vertesia-ui-features.js.map +1 -1
  221. package/lib/vertesia-ui-i18n.js +1 -1
  222. package/lib/vertesia-ui-i18n.js.map +1 -1
  223. package/lib/vertesia-ui-layout.js +1 -1
  224. package/lib/vertesia-ui-layout.js.map +1 -1
  225. package/lib/vertesia-ui-session.js +1 -1
  226. package/lib/vertesia-ui-session.js.map +1 -1
  227. package/lib/vertesia-ui-shell.js +1 -1
  228. package/lib/vertesia-ui-shell.js.map +1 -1
  229. package/lib/vertesia-ui-widgets.js +1 -1
  230. package/lib/vertesia-ui-widgets.js.map +1 -1
  231. package/package.json +15 -15
  232. package/src/core/components/ComboBox.tsx +66 -29
  233. package/src/core/components/FormItem.tsx +9 -6
  234. package/src/core/components/SidePanel.tsx +5 -3
  235. package/src/core/components/shadcn/collaspible.tsx +5 -7
  236. package/src/core/components/shadcn/dropdown.tsx +68 -13
  237. package/src/core/components/shadcn/filters/comboBox/DateCombobox.tsx +6 -6
  238. package/src/core/components/shadcn/filters/comboBox/SelectCombobox.tsx +14 -7
  239. package/src/core/components/shadcn/filters/filterBar.tsx +5 -3
  240. package/src/core/components/shadcn/filters/filters.tsx +1 -0
  241. package/src/core/components/shadcn/radioGroup.tsx +1 -3
  242. package/src/core/components/shadcn/switch.tsx +0 -2
  243. package/src/core/components/shadcn/tabs.tsx +15 -2
  244. package/src/core/components/shadcn/tooltip.tsx +20 -3
  245. package/src/core/hooks/PortalContainerProvider.tsx +11 -3
  246. package/src/env/index.ts +7 -10
  247. package/src/features/agent/chat/AgentRightPanel.tsx +43 -23
  248. package/src/features/agent/chat/DocumentPanel.tsx +21 -19
  249. package/src/features/agent/chat/DocumentTabBar.tsx +21 -32
  250. package/src/features/agent/chat/ModernAgentConversation.tsx +72 -27
  251. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +21 -9
  252. package/src/features/agent/chat/ModernAgentOutput/Header.tsx +136 -115
  253. package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +0 -3
  254. package/src/features/agent/chat/hooks/useAgentStream.ts +13 -7
  255. package/src/features/agent/chat/hooks/useDocumentPanel.ts +8 -0
  256. package/src/features/facets/AgentRunnerFacetsNav.tsx +1 -1
  257. package/src/features/facets/DocumentsFacetsNav.tsx +3 -1
  258. package/src/features/facets/RunsFacetsNav.tsx +9 -1
  259. package/src/features/facets/WorkflowExecutionsFacetsNav.tsx +1 -1
  260. package/src/features/facets/index.ts +1 -0
  261. package/src/features/facets/utils/VInteractionFacet.tsx +12 -12
  262. package/src/features/index.ts +1 -0
  263. package/src/features/oauth/OAuthProviderConnectButton.tsx +125 -0
  264. package/src/features/oauth/RemoteMcpConnectionButton.tsx +274 -0
  265. package/src/features/oauth/index.ts +3 -0
  266. package/src/features/oauth/useOAuthPopup.ts +125 -0
  267. package/src/features/store/collections/BrowseCollectionView.tsx +3 -3
  268. package/src/features/store/collections/EditCollectionView.tsx +10 -1
  269. package/src/features/store/objects/components/ContentOverview.tsx +108 -87
  270. package/src/features/store/objects/components/useContentPanelHooks.ts +50 -15
  271. package/src/features/store/objects/selection/ObjectsActionContext.tsx +5 -5
  272. package/src/features/store/objects/selection/ObjectsActionSpec.ts +2 -1
  273. package/src/features/store/objects/selection/SelectionActions.tsx +6 -5
  274. package/src/features/store/objects/selection/actions/ExportPropertiesAction.tsx +12 -3
  275. package/src/features/user/UserInfo.tsx +82 -10
  276. package/src/i18n/locales/ar.json +81 -98
  277. package/src/i18n/locales/de.json +44 -73
  278. package/src/i18n/locales/en.json +31 -61
  279. package/src/i18n/locales/es.json +55 -79
  280. package/src/i18n/locales/fr.json +55 -81
  281. package/src/i18n/locales/it.json +55 -79
  282. package/src/i18n/locales/ja.json +46 -75
  283. package/src/i18n/locales/ko.json +44 -73
  284. package/src/i18n/locales/pt.json +55 -79
  285. package/src/i18n/locales/ru.json +58 -81
  286. package/src/i18n/locales/tr.json +46 -75
  287. package/src/i18n/locales/zh-TW.json +46 -75
  288. package/src/i18n/locales/zh.json +46 -75
  289. package/src/session/UserSession.ts +2 -5
  290. package/src/session/UserSessionProvider.tsx +23 -18
  291. package/src/session/auth/auth-flow.md +1 -1
  292. package/src/session/auth/composable.ts +21 -2
  293. package/src/session/auth/domainRouting.test.ts +26 -0
  294. package/src/session/auth/domainRouting.ts +13 -0
  295. package/src/shell/login/InviteAcceptModal.tsx +1 -0
  296. package/src/widgets/form/Form.tsx +2 -2
  297. package/src/widgets/markdown/MarkdownRenderer.tsx +2 -1
  298. package/src/widgets/markdown/markdown.css +12 -0
  299. package/src/widgets/markdown/preprocessMathDelimiters.test.ts +87 -0
  300. package/src/widgets/markdown/preprocessMathDelimiters.ts +229 -0
  301. package/src/widgets/monacoEditor/MonacoEditor.tsx +47 -4
  302. package/src/widgets/monacoEditor/foldingProviders.ts +122 -0
@@ -1 +1 @@
1
- {"version":3,"file":"vertesia-ui-layout.js","sources":["esm/layout/FullHeightLayout.js","esm/layout/SidebarContext.js","esm/layout/TitleBar.js","esm/i18n/instance.js","esm/layout/Navbar.js","esm/i18n/index.js","esm/layout/Sidebar.js","esm/layout/AppLayout.js","esm/layout/RegionTag.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport clsx from 'clsx';\nexport function FullHeightLayout({ className, children }) {\n return (_jsx(\"div\", { className: clsx(\"flex flex-col\", \"h-full\", \"overflow-y-auto\", \"px-2\", className), children: children }));\n}\nFullHeightLayout.Fixed = function Fixed({ heightClass, className, children }) {\n return (_jsx(\"div\", { className: clsx(\"w-full\", heightClass, className), children: children }));\n};\nFullHeightLayout.Body = function Body({ className, children }) {\n return (_jsx(\"div\", { className: clsx(\"grow overflow-auto\", \"min-h-0\", \"p-2\", className), children: children }));\n};\nFullHeightLayout.VR = function VDivider({}) {\n return (_jsx(\"div\", { className: \"w-[1px] border border-red-200\" }));\n};\nFullHeightLayout.HR = function HDivider({}) {\n return (_jsx(\"div\", { className: \"w-full h-1 border-b border-red-200\" }));\n};\nFullHeightLayout.Tab = function Tab({ children }) {\n return (_jsx(\"div\", { className: \"flex flex-col h-full\", children: children }));\n};\n//# sourceMappingURL=FullHeightLayout.js.map","import { createContext, useContext } from \"react\";\nexport const SidebarContext = createContext({\n isOpen: false,\n toggleMobile: () => void 0,\n toggleDesktop: () => void 0,\n});\nexport function useSidebarToggle() {\n return useContext(SidebarContext);\n}\n//# sourceMappingURL=SidebarContext.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nexport function TitleBar({ title }) {\n return _jsx(\"div\", { className: 'self-center text-lg font-semibold', children: title });\n}\n//# sourceMappingURL=TitleBar.js.map","import i18next from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport ar from './locales/ar.json';\nimport de from './locales/de.json';\nimport en from './locales/en.json';\nimport es from './locales/es.json';\nimport fr from './locales/fr.json';\nimport it from './locales/it.json';\nimport ja from './locales/ja.json';\nimport ko from './locales/ko.json';\nimport pt from './locales/pt.json';\nimport ru from './locales/ru.json';\nimport tr from './locales/tr.json';\nimport zh from './locales/zh.json';\nimport zhTW from './locales/zh-TW.json';\nexport const NAMESPACE = 'vertesia.ui';\n// Scoped instance — does NOT touch the global i18next singleton\nconst i18nInstance = i18next.createInstance();\nvoid i18nInstance.use(initReactI18next).init({\n resources: {\n ar: { [NAMESPACE]: ar },\n de: { [NAMESPACE]: de },\n en: { [NAMESPACE]: en },\n es: { [NAMESPACE]: es },\n fr: { [NAMESPACE]: fr },\n it: { [NAMESPACE]: it },\n ja: { [NAMESPACE]: ja },\n ko: { [NAMESPACE]: ko },\n pt: { [NAMESPACE]: pt },\n ru: { [NAMESPACE]: ru },\n tr: { [NAMESPACE]: tr },\n zh: { [NAMESPACE]: zh },\n 'zh-TW': { [NAMESPACE]: zhTW },\n },\n fallbackLng: 'en',\n ns: [NAMESPACE],\n defaultNS: NAMESPACE,\n interpolation: {\n escapeValue: false, // React already escapes\n },\n react: {\n useSuspense: false, // Translations are bundled, no async loading\n },\n});\nexport { i18nInstance };\n//# sourceMappingURL=instance.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { Menu, Search } from 'lucide-react';\nimport { Button } from '@vertesia/ui/core';\nimport { useSidebarToggle } from './SidebarContext.js';\nimport { TitleBar } from './TitleBar.js';\nimport { useUITranslation } from '../i18n/index.js';\nexport function Navbar({ children, logo, onSearch, title }) {\n return (_jsxs(\"div\", { className: \"sticky top-0 z-40 flex h-16 shrink-0 items-center gap-x-4 border-b px-4 shadow-2xs sm:gap-x-6 sm:px-6 lg:px-8\", children: [_jsx(HamburgerButton, {}), _jsx(\"div\", { className: \"lg:hidden\", children: logo }), onSearch && _jsx(NavbarSeparator, { visible: 'mobile' }), _jsxs(\"div\", { className: \"flex flex-1 gap-x-4 self-stretch lg:gap-x-6\", children: [_jsx(TitleBar, { title: title }), onSearch && _jsx(SearchBox, { onSearch: onSearch }), _jsx(\"div\", { className: \"flex items-center gap-x-4 lg:gap-x-6 ml-auto\", children: children })] })] }));\n}\nfunction SearchBox({}) {\n const { t } = useUITranslation();\n return (_jsxs(\"form\", { className: \"relative flex flex-1\", action: \"#\", method: \"GET\", children: [_jsx(\"label\", { htmlFor: \"search-field\", className: \"sr-only\", children: t('layout.search') }), _jsx(Search, { className: \"pointer-events-none absolute inset-y-0 left-0 h-full w-5 text-gray-400\", \"aria-hidden\": \"true\" }), _jsx(\"input\", { id: \"search-field\", className: \"block h-full w-full border-0 py-0 pl-8 pr-0 text-gray-900 placeholder:text-gray-400 focus:ring-0 sm:text-sm\", placeholder: t('layout.searchPlaceholder'), type: \"search\", name: \"search\" })] }));\n}\nexport function HamburgerButton() {\n const { toggleDesktop, toggleMobile } = useSidebarToggle();\n const toggle = () => {\n if (window.innerWidth < 1024) {\n toggleMobile();\n }\n else {\n toggleDesktop();\n }\n };\n return (_jsx(_Fragment, { children: _jsx(Button, { variant: 'ghost', size: 'icon', onClick: () => toggle(), className: \"p-2 rounded-full transition-colors w-full text-center \", children: _jsx(Menu, { \"aria-hidden\": \"true\", size: 24 }) }) }));\n}\nexport function NavbarSeparator({ visible }) {\n let visibility = \"\";\n if (visible) {\n visibility = visible === \"mobile\" ? \"lg:hidden\" : \"hidden lg:block\";\n }\n return (_jsx(\"div\", { className: `h-6 w-px bg-gray-900/10 dark:bg-slate-900/0.1 ${visibility}`, \"aria-hidden\": \"true\" }));\n}\nexport function NavbarIconButton({ title, icon: Icon, onClick }) {\n return (_jsxs(\"button\", { type: \"button\", className: \"-m-2.5 p-2.5 text-gray-400 dark:text-slate-50 hover:text-gray-500\", onClick: onClick, children: [_jsx(\"span\", { className: \"sr-only\", children: title }), _jsx(Icon, { className: \"size-6\", \"aria-hidden\": \"true\", title: title })] }));\n}\nexport function NavbarButton({ children, onClick }) {\n return (_jsx(Button, { onClick: onClick, children: children }));\n}\nexport function NavbarLink({ href, onClick, children }) {\n return (_jsx(\"a\", { className: \"dark:text-slate-50\", href: href, onClick: onClick, children: children }));\n}\n//# sourceMappingURL=Navbar.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useEffect } from 'react';\nimport { I18nextProvider, useTranslation } from 'react-i18next';\nimport { i18nInstance, NAMESPACE } from './instance.js';\nfunction detectLanguage(lng) {\n return lng ?? navigator.language?.split('-')[0] ?? 'en';\n}\nexport function I18nProvider({ lng, children }) {\n // Set language synchronously on first render to avoid flash of wrong language\n const language = detectLanguage(lng);\n if (i18nInstance.language !== language) {\n void i18nInstance.changeLanguage(language);\n }\n // Also react to prop changes\n useEffect(() => {\n const lang = detectLanguage(lng);\n if (i18nInstance.language !== lang) {\n void i18nInstance.changeLanguage(lang);\n }\n }, [lng]);\n return (_jsx(I18nextProvider, { i18n: i18nInstance, children: children }));\n}\n/**\n * Hook for components inside @vertesia/ui to get translation functions.\n * Always binds to the 'vertesia.ui' namespace on the scoped instance.\n */\nexport function useUITranslation() {\n return useTranslation(NAMESPACE, { i18n: i18nInstance });\n}\nexport { i18nInstance, NAMESPACE } from './instance.js';\n//# sourceMappingURL=index.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport clsx from 'clsx';\nimport { useSidebarToggle } from './SidebarContext';\nimport { Dot } from 'lucide-react';\nimport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from '@vertesia/ui/core';\nimport { Nav } from \"@vertesia/ui/router\";\nexport function Sidebar({ children, logo, className }) {\n return (_jsxs(\"div\", { className: clsx(className || \"bg-indigo-600 dark:bg-indigo-950\", \"flex flex-col h-full\"), children: [logo &&\n _jsx(\"div\", { className: \"-mx-2 flex h-auto my-4 shrink-0 self-start\", children: logo }), _jsx(\"div\", { className: \"flex-1 min-h-0 overflow-hidden px-0 lg:px-2\", children: _jsx(\"nav\", { className: \"h-full flex flex-col\", children: _jsx(\"ul\", { role: \"list\", className: \"flex flex-col gap-y-2 overflow-y-auto h-full\", children: children }) }) })] }));\n}\nexport function SidebarSection({ children, title, action, isFooter = false, className }) {\n const { isOpen } = useSidebarToggle();\n let header = isOpen ? _jsxs(_Fragment, { children: [title || \"\", action] }) : _jsx(Dot, { className: 'size-6' });\n return (_jsxs(\"li\", { className: isFooter ? 'mt-auto' : '', children: [title && _jsx(\"div\", { className: \"text-xs font-medium h-8 flex items-center gap-x-2 px-2 text-sidebar-foreground/70\", children: header }), _jsx(\"ul\", { \"data-sidebar\": \"menu\", className: clsx(\"flex w-full min-w-0 flex-col gap-1\", className), children: children })] }));\n}\nexport function SidebarTooltip({ children, text }) {\n const { isOpen } = useSidebarToggle();\n return (isOpen ? _jsx(_Fragment, { children: children }) :\n _jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: children }), _jsx(TooltipContent, { side: 'right', children: text })] }) }));\n}\nexport function SidebarItem({ external, className, tools, children, icon: Icon, href, to, current, onClick, replace }) {\n const { toggleMobile } = useSidebarToggle();\n const _closeSideBar = () => {\n setTimeout(() => {\n toggleMobile(false);\n }, 100);\n };\n const onClickWrapper = (event) => {\n if (external) {\n window.open(href, '_blank');\n event.preventDefault(); // Prevent default link behavior\n event.stopPropagation(); // Stop the event from propagating\n }\n else if (onClick) {\n onClick(event);\n }\n };\n return (_jsx(\"li\", { children: _jsx(Nav, { to: to, onClick: _closeSideBar, replace: replace, children: _jsx(SidebarTooltip, { text: children, children: _jsxs(\"a\", { href: href, onClick: onClickWrapper, className: clsx(current\n ? 'bg-sidebar-accent text-sidebar-accent-foreground'\n : 'text-sidebar-foreground hover:text-sidebar-accent-foreground hover:bg-sidebar-accent', 'group flex gap-x-3 rounded-md px-2 py-1.5 text-sm items-center h-8', className), children: [Icon &&\n _jsx(Icon, { className: clsx(current\n ? 'bg-sidebar-accent text-sidebar-accent-foreground'\n : 'text-sidebar-foreground hover:text-sidebar-accent-foreground hover:bg-sidebar-accent', 'size-4 shrink-0'), \"aria-hidden\": \"true\" }), children, tools && _jsx(\"div\", { className: 'flex items-center ml-auto', children: tools })] }) }) }) }));\n}\n//# sourceMappingURL=Sidebar.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport clsx from 'clsx';\nimport { useEffect, useState } from 'react';\nimport { SidePanel } from '@vertesia/ui/core';\n// import { FullHeightLayout } from './FullHeightLayout.js'\nimport { Navbar } from './Navbar.js';\nimport { Sidebar } from './Sidebar.js';\nimport { SidebarContext } from './SidebarContext.js';\nexport function AppLayout({ sidebarClassName, className, title, children, logo, navbar, sidebar, mainNav }) {\n if (localStorage.getItem('desktopSidebarOpen') === null) {\n localStorage.setItem('desktopSidebarOpen', 'true');\n }\n const [sidebarOpen, setSidebarOpen] = useState(false);\n const [desktopSidebarOpen, setDesktopSidebarOpen] = useState(localStorage.getItem('desktopSidebarOpen') === 'true');\n const [isLargeScreen, setIsLargeScreen] = useState(window.innerWidth >= 1024);\n useEffect(() => {\n const handleResize = () => {\n setIsLargeScreen(window.innerWidth >= 1024);\n };\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n const sidebarContextValue = {\n isOpen: isLargeScreen ? desktopSidebarOpen : sidebarOpen,\n toggleDesktop: (value) => {\n if (value === undefined) {\n setDesktopSidebarOpen(!desktopSidebarOpen);\n }\n else {\n setDesktopSidebarOpen(value);\n }\n localStorage.setItem('desktopSidebarOpen', JSON.stringify(!desktopSidebarOpen));\n },\n toggleMobile: (value) => {\n if (value === undefined) {\n setSidebarOpen(!sidebarOpen);\n }\n else {\n setSidebarOpen(value);\n }\n },\n };\n return (_jsx(_Fragment, { children: _jsx(\"div\", { className: 'flex flex-col h-screen overflow-y-hidden', children: _jsxs(SidebarContext.Provider, { value: sidebarContextValue, children: [_jsx(\"div\", { className: 'w-full', children: mainNav }), _jsxs(\"div\", { className: 'flex h-full overflow-y-auto w-full', children: [_jsx(\"div\", { className: \"lg:hidden\", children: _jsx(SidePanel, { className: 'bg-sidebar', isOpen: sidebarOpen, onClose: () => setSidebarOpen(false), side: \"left\", panelWidth: 288, resizable: false, backdrop: true, children: _jsx(Sidebar, { logo: logo, className: sidebarClassName, children: sidebar }) }) }), _jsx(\"div\", { className: `hidden lg:block relative transition-all duration-300 ${desktopSidebarOpen ? 'w-72' : 'w-12'}`, children: _jsx(Sidebar, { logo: logo, className: sidebarClassName, children: sidebar }) }), _jsxs(\"div\", { className: \"w-full h-full overflow-y-hidden\", children: [navbar ? (_jsx(Navbar, { title: title, logo: logo, children: navbar })) : null, _jsx(\"main\", { className: clsx(\"flex-1 h-full w-full relative flex flex-col\", className), children: children })] })] })] }) }) }));\n}\n//# sourceMappingURL=AppLayout.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { cn } from '@vertesia/ui/core';\nimport { Env } from '@vertesia/ui/env';\nconst regionLabels = {\n eu: 'EU',\n jp: 'JP',\n};\nexport function RegionTag({ className }) {\n const region = Env.region;\n // Only show for non-US regions (US is default, no need to display)\n if (!region || region === 'us')\n return null;\n return (_jsx(\"div\", { className: cn('text-[0.6rem] font-semibold px-1.5 rounded-3xl leading-4', 'bg-info text-white', className), children: regionLabels[region] ?? region.toUpperCase() }));\n}\n//# sourceMappingURL=RegionTag.js.map"],"names":["FullHeightLayout","className","children","_jsx","clsx","Fixed","heightClass","Body","VR","HR","Tab","SidebarContext","createContext","isOpen","toggleMobile","toggleDesktop","useSidebarToggle","useContext","TitleBar","title","NAMESPACE","i18nInstance","i18next","createInstance","Navbar","logo","onSearch","_jsxs","HamburgerButton","NavbarSeparator","visible","SearchBox","t","useTranslation","i18n","action","method","htmlFor","Search","id","placeholder","type","name","_Fragment","Button","variant","size","onClick","window","innerWidth","Menu","visibility","NavbarIconButton","icon","Icon","NavbarButton","NavbarLink","href","Sidebar","role","SidebarSection","isFooter","header","Dot","SidebarTooltip","text","TooltipProvider","Tooltip","TooltipTrigger","asChild","TooltipContent","side","SidebarItem","external","tools","to","current","replace","Nav","setTimeout","event","open","preventDefault","stopPropagation","AppLayout","sidebarClassName","navbar","sidebar","mainNav","localStorage","getItem","setItem","sidebarOpen","setSidebarOpen","useState","desktopSidebarOpen","setDesktopSidebarOpen","isLargeScreen","setIsLargeScreen","useEffect","handleResize","addEventListener","removeEventListener","sidebarContextValue","value","undefined","JSON","stringify","Provider","SidePanel","onClose","panelWidth","resizable","backdrop","use","initReactI18next","init","resources","ar","de","en","es","fr","it","ja","ko","pt","ru","tr","zh","fallbackLng","ns","defaultNS","interpolation","escapeValue","react","useSuspense","regionLabels","eu","jp","RegionTag","region","Env","cn","toUpperCase"],"mappings":"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"}
1
+ {"version":3,"file":"vertesia-ui-layout.js","sources":["esm/layout/FullHeightLayout.js","esm/layout/SidebarContext.js","esm/layout/TitleBar.js","esm/i18n/instance.js","esm/layout/Navbar.js","esm/i18n/index.js","esm/layout/Sidebar.js","esm/layout/AppLayout.js","esm/layout/RegionTag.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport clsx from 'clsx';\nexport function FullHeightLayout({ className, children }) {\n return (_jsx(\"div\", { className: clsx(\"flex flex-col\", \"h-full\", \"overflow-y-auto\", \"px-2\", className), children: children }));\n}\nFullHeightLayout.Fixed = function Fixed({ heightClass, className, children }) {\n return (_jsx(\"div\", { className: clsx(\"w-full\", heightClass, className), children: children }));\n};\nFullHeightLayout.Body = function Body({ className, children }) {\n return (_jsx(\"div\", { className: clsx(\"grow overflow-auto\", \"min-h-0\", \"p-2\", className), children: children }));\n};\nFullHeightLayout.VR = function VDivider({}) {\n return (_jsx(\"div\", { className: \"w-[1px] border border-red-200\" }));\n};\nFullHeightLayout.HR = function HDivider({}) {\n return (_jsx(\"div\", { className: \"w-full h-1 border-b border-red-200\" }));\n};\nFullHeightLayout.Tab = function Tab({ children }) {\n return (_jsx(\"div\", { className: \"flex flex-col h-full\", children: children }));\n};\n//# sourceMappingURL=FullHeightLayout.js.map","import { createContext, useContext } from \"react\";\nexport const SidebarContext = createContext({\n isOpen: false,\n toggleMobile: () => void 0,\n toggleDesktop: () => void 0,\n});\nexport function useSidebarToggle() {\n return useContext(SidebarContext);\n}\n//# sourceMappingURL=SidebarContext.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nexport function TitleBar({ title }) {\n return _jsx(\"div\", { className: 'self-center text-lg font-semibold', children: title });\n}\n//# sourceMappingURL=TitleBar.js.map","import i18next from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport ar from './locales/ar.json';\nimport de from './locales/de.json';\nimport en from './locales/en.json';\nimport es from './locales/es.json';\nimport fr from './locales/fr.json';\nimport it from './locales/it.json';\nimport ja from './locales/ja.json';\nimport ko from './locales/ko.json';\nimport pt from './locales/pt.json';\nimport ru from './locales/ru.json';\nimport tr from './locales/tr.json';\nimport zh from './locales/zh.json';\nimport zhTW from './locales/zh-TW.json';\nexport const NAMESPACE = 'vertesia.ui';\n// Scoped instance — does NOT touch the global i18next singleton\nconst i18nInstance = i18next.createInstance();\nvoid i18nInstance.use(initReactI18next).init({\n resources: {\n ar: { [NAMESPACE]: ar },\n de: { [NAMESPACE]: de },\n en: { [NAMESPACE]: en },\n es: { [NAMESPACE]: es },\n fr: { [NAMESPACE]: fr },\n it: { [NAMESPACE]: it },\n ja: { [NAMESPACE]: ja },\n ko: { [NAMESPACE]: ko },\n pt: { [NAMESPACE]: pt },\n ru: { [NAMESPACE]: ru },\n tr: { [NAMESPACE]: tr },\n zh: { [NAMESPACE]: zh },\n 'zh-TW': { [NAMESPACE]: zhTW },\n },\n fallbackLng: 'en',\n ns: [NAMESPACE],\n defaultNS: NAMESPACE,\n interpolation: {\n escapeValue: false, // React already escapes\n },\n react: {\n useSuspense: false, // Translations are bundled, no async loading\n },\n});\nexport { i18nInstance };\n//# sourceMappingURL=instance.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { Menu, Search } from 'lucide-react';\nimport { Button } from '@vertesia/ui/core';\nimport { useSidebarToggle } from './SidebarContext.js';\nimport { TitleBar } from './TitleBar.js';\nimport { useUITranslation } from '../i18n/index.js';\nexport function Navbar({ children, logo, onSearch, title }) {\n return (_jsxs(\"div\", { className: \"sticky top-0 z-40 flex h-16 shrink-0 items-center gap-x-4 border-b px-4 shadow-2xs sm:gap-x-6 sm:px-6 lg:px-8\", children: [_jsx(HamburgerButton, {}), _jsx(\"div\", { className: \"lg:hidden\", children: logo }), onSearch && _jsx(NavbarSeparator, { visible: 'mobile' }), _jsxs(\"div\", { className: \"flex flex-1 gap-x-4 self-stretch lg:gap-x-6\", children: [_jsx(TitleBar, { title: title }), onSearch && _jsx(SearchBox, { onSearch: onSearch }), _jsx(\"div\", { className: \"flex items-center gap-x-4 lg:gap-x-6 ml-auto\", children: children })] })] }));\n}\nfunction SearchBox({}) {\n const { t } = useUITranslation();\n return (_jsxs(\"form\", { className: \"relative flex flex-1\", action: \"#\", method: \"GET\", children: [_jsx(\"label\", { htmlFor: \"search-field\", className: \"sr-only\", children: t('layout.search') }), _jsx(Search, { className: \"pointer-events-none absolute inset-y-0 left-0 h-full w-5 text-gray-400\", \"aria-hidden\": \"true\" }), _jsx(\"input\", { id: \"search-field\", className: \"block h-full w-full border-0 py-0 pl-8 pr-0 text-gray-900 placeholder:text-gray-400 focus:ring-0 sm:text-sm\", placeholder: t('layout.searchPlaceholder'), type: \"search\", name: \"search\" })] }));\n}\nexport function HamburgerButton() {\n const { toggleDesktop, toggleMobile } = useSidebarToggle();\n const toggle = () => {\n if (window.innerWidth < 1024) {\n toggleMobile();\n }\n else {\n toggleDesktop();\n }\n };\n return (_jsx(_Fragment, { children: _jsx(Button, { variant: 'ghost', size: 'icon', onClick: () => toggle(), className: \"p-2 rounded-full transition-colors w-full text-center \", children: _jsx(Menu, { \"aria-hidden\": \"true\", size: 24 }) }) }));\n}\nexport function NavbarSeparator({ visible }) {\n let visibility = \"\";\n if (visible) {\n visibility = visible === \"mobile\" ? \"lg:hidden\" : \"hidden lg:block\";\n }\n return (_jsx(\"div\", { className: `h-6 w-px bg-gray-900/10 dark:bg-slate-900/0.1 ${visibility}`, \"aria-hidden\": \"true\" }));\n}\nexport function NavbarIconButton({ title, icon: Icon, onClick }) {\n return (_jsxs(\"button\", { type: \"button\", className: \"-m-2.5 p-2.5 text-gray-400 dark:text-slate-50 hover:text-gray-500\", onClick: onClick, children: [_jsx(\"span\", { className: \"sr-only\", children: title }), _jsx(Icon, { className: \"size-6\", \"aria-hidden\": \"true\", title: title })] }));\n}\nexport function NavbarButton({ children, onClick }) {\n return (_jsx(Button, { onClick: onClick, children: children }));\n}\nexport function NavbarLink({ href, onClick, children }) {\n return (_jsx(\"a\", { className: \"dark:text-slate-50\", href: href, onClick: onClick, children: children }));\n}\n//# sourceMappingURL=Navbar.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useEffect } from 'react';\nimport { I18nextProvider, useTranslation } from 'react-i18next';\nimport { i18nInstance, NAMESPACE } from './instance.js';\nfunction detectLanguage(lng) {\n return lng ?? navigator.language?.split('-')[0] ?? 'en';\n}\nexport function I18nProvider({ lng, children }) {\n // Set language synchronously on first render to avoid flash of wrong language\n const language = detectLanguage(lng);\n if (i18nInstance.language !== language) {\n void i18nInstance.changeLanguage(language);\n }\n // Also react to prop changes\n useEffect(() => {\n const lang = detectLanguage(lng);\n if (i18nInstance.language !== lang) {\n void i18nInstance.changeLanguage(lang);\n }\n }, [lng]);\n return (_jsx(I18nextProvider, { i18n: i18nInstance, children: children }));\n}\n/**\n * Hook for components inside @vertesia/ui to get translation functions.\n * Always binds to the 'vertesia.ui' namespace on the scoped instance.\n */\nexport function useUITranslation() {\n return useTranslation(NAMESPACE, { i18n: i18nInstance });\n}\nexport { i18nInstance, NAMESPACE } from './instance.js';\n//# sourceMappingURL=index.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport clsx from 'clsx';\nimport { useSidebarToggle } from './SidebarContext';\nimport { Dot } from 'lucide-react';\nimport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from '@vertesia/ui/core';\nimport { Nav } from \"@vertesia/ui/router\";\nexport function Sidebar({ children, logo, className }) {\n return (_jsxs(\"div\", { className: clsx(className || \"bg-indigo-600 dark:bg-indigo-950\", \"flex flex-col h-full\"), children: [logo &&\n _jsx(\"div\", { className: \"-mx-2 flex h-auto my-4 shrink-0 self-start\", children: logo }), _jsx(\"div\", { className: \"flex-1 min-h-0 overflow-hidden px-0 lg:px-2\", children: _jsx(\"nav\", { className: \"h-full flex flex-col\", children: _jsx(\"ul\", { role: \"list\", className: \"flex flex-col gap-y-2 overflow-y-auto h-full\", children: children }) }) })] }));\n}\nexport function SidebarSection({ children, title, action, isFooter = false, className }) {\n const { isOpen } = useSidebarToggle();\n let header = isOpen ? _jsxs(_Fragment, { children: [title || \"\", action] }) : _jsx(Dot, { className: 'size-6' });\n return (_jsxs(\"li\", { className: isFooter ? 'mt-auto' : '', children: [title && _jsx(\"div\", { className: \"text-xs font-medium h-8 flex items-center gap-x-2 px-2 text-sidebar-foreground/70\", children: header }), _jsx(\"ul\", { \"data-sidebar\": \"menu\", className: clsx(\"flex w-full min-w-0 flex-col gap-1\", className), children: children })] }));\n}\nexport function SidebarTooltip({ children, text }) {\n const { isOpen } = useSidebarToggle();\n return (isOpen ? _jsx(_Fragment, { children: children }) :\n _jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: children }), _jsx(TooltipContent, { side: 'right', children: text })] }) }));\n}\nexport function SidebarItem({ external, className, tools, children, icon: Icon, href, to, current, onClick, replace }) {\n const { toggleMobile } = useSidebarToggle();\n const _closeSideBar = () => {\n setTimeout(() => {\n toggleMobile(false);\n }, 100);\n };\n const onClickWrapper = (event) => {\n if (external) {\n window.open(href, '_blank');\n event.preventDefault(); // Prevent default link behavior\n event.stopPropagation(); // Stop the event from propagating\n }\n else if (onClick) {\n onClick(event);\n }\n };\n return (_jsx(\"li\", { children: _jsx(Nav, { to: to, onClick: _closeSideBar, replace: replace, children: _jsx(SidebarTooltip, { text: children, children: _jsxs(\"a\", { href: href, onClick: onClickWrapper, className: clsx(current\n ? 'bg-sidebar-accent text-sidebar-accent-foreground'\n : 'text-sidebar-foreground hover:text-sidebar-accent-foreground hover:bg-sidebar-accent', 'group flex gap-x-3 rounded-md px-2 py-1.5 text-sm items-center h-8', className), children: [Icon &&\n _jsx(Icon, { className: clsx(current\n ? 'bg-sidebar-accent text-sidebar-accent-foreground'\n : 'text-sidebar-foreground hover:text-sidebar-accent-foreground hover:bg-sidebar-accent', 'size-4 shrink-0'), \"aria-hidden\": \"true\" }), children, tools && _jsx(\"div\", { className: 'flex items-center ml-auto', children: tools })] }) }) }) }));\n}\n//# sourceMappingURL=Sidebar.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport clsx from 'clsx';\nimport { useEffect, useState } from 'react';\nimport { SidePanel } from '@vertesia/ui/core';\n// import { FullHeightLayout } from './FullHeightLayout.js'\nimport { Navbar } from './Navbar.js';\nimport { Sidebar } from './Sidebar.js';\nimport { SidebarContext } from './SidebarContext.js';\nexport function AppLayout({ sidebarClassName, className, title, children, logo, navbar, sidebar, mainNav }) {\n if (localStorage.getItem('desktopSidebarOpen') === null) {\n localStorage.setItem('desktopSidebarOpen', 'true');\n }\n const [sidebarOpen, setSidebarOpen] = useState(false);\n const [desktopSidebarOpen, setDesktopSidebarOpen] = useState(localStorage.getItem('desktopSidebarOpen') === 'true');\n const [isLargeScreen, setIsLargeScreen] = useState(window.innerWidth >= 1024);\n useEffect(() => {\n const handleResize = () => {\n setIsLargeScreen(window.innerWidth >= 1024);\n };\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n const sidebarContextValue = {\n isOpen: isLargeScreen ? desktopSidebarOpen : sidebarOpen,\n toggleDesktop: (value) => {\n if (value === undefined) {\n setDesktopSidebarOpen(!desktopSidebarOpen);\n }\n else {\n setDesktopSidebarOpen(value);\n }\n localStorage.setItem('desktopSidebarOpen', JSON.stringify(!desktopSidebarOpen));\n },\n toggleMobile: (value) => {\n if (value === undefined) {\n setSidebarOpen(!sidebarOpen);\n }\n else {\n setSidebarOpen(value);\n }\n },\n };\n return (_jsx(_Fragment, { children: _jsx(\"div\", { className: 'flex flex-col h-screen overflow-y-hidden', children: _jsxs(SidebarContext.Provider, { value: sidebarContextValue, children: [_jsx(\"div\", { className: 'w-full', children: mainNav }), _jsxs(\"div\", { className: 'flex h-full overflow-y-auto w-full', children: [_jsx(\"div\", { className: \"lg:hidden\", children: _jsx(SidePanel, { className: 'bg-sidebar', isOpen: sidebarOpen, onClose: () => setSidebarOpen(false), side: \"left\", panelWidth: 288, resizable: false, backdrop: true, children: _jsx(Sidebar, { logo: logo, className: sidebarClassName, children: sidebar }) }) }), _jsx(\"div\", { className: `hidden lg:block relative transition-all duration-300 ${desktopSidebarOpen ? 'w-72' : 'w-12'}`, children: _jsx(Sidebar, { logo: logo, className: sidebarClassName, children: sidebar }) }), _jsxs(\"div\", { className: \"w-full h-full overflow-y-hidden\", children: [navbar ? (_jsx(Navbar, { title: title, logo: logo, children: navbar })) : null, _jsx(\"main\", { className: clsx(\"flex-1 h-full w-full relative flex flex-col\", className), children: children })] })] })] }) }) }));\n}\n//# sourceMappingURL=AppLayout.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { cn } from '@vertesia/ui/core';\nimport { Env } from '@vertesia/ui/env';\nconst regionLabels = {\n eu: 'EU',\n jp: 'JP',\n};\nexport function RegionTag({ className }) {\n const region = Env.region;\n // Only show for non-US regions (US is default, no need to display)\n if (!region || region === 'us')\n return null;\n return (_jsx(\"div\", { className: cn('text-[0.6rem] font-semibold px-1.5 rounded-3xl leading-4', 'bg-info text-white', className), children: regionLabels[region] ?? region.toUpperCase() }));\n}\n//# sourceMappingURL=RegionTag.js.map"],"names":["FullHeightLayout","className","children","_jsx","clsx","Fixed","heightClass","Body","VR","HR","Tab","SidebarContext","createContext","isOpen","toggleMobile","toggleDesktop","useSidebarToggle","useContext","TitleBar","title","NAMESPACE","i18nInstance","i18next","createInstance","Navbar","logo","onSearch","_jsxs","HamburgerButton","NavbarSeparator","visible","SearchBox","t","useTranslation","i18n","action","method","htmlFor","Search","id","placeholder","type","name","_Fragment","Button","variant","size","onClick","window","innerWidth","Menu","visibility","NavbarIconButton","icon","Icon","NavbarButton","NavbarLink","href","Sidebar","role","SidebarSection","isFooter","header","Dot","SidebarTooltip","text","TooltipProvider","Tooltip","TooltipTrigger","asChild","TooltipContent","side","SidebarItem","external","tools","to","current","replace","Nav","setTimeout","event","open","preventDefault","stopPropagation","AppLayout","sidebarClassName","navbar","sidebar","mainNav","localStorage","getItem","setItem","sidebarOpen","setSidebarOpen","useState","desktopSidebarOpen","setDesktopSidebarOpen","isLargeScreen","setIsLargeScreen","useEffect","handleResize","addEventListener","removeEventListener","sidebarContextValue","value","undefined","JSON","stringify","Provider","SidePanel","onClose","panelWidth","resizable","backdrop","use","initReactI18next","init","resources","ar","de","en","es","fr","it","ja","ko","pt","ru","tr","zh","fallbackLng","ns","defaultNS","interpolation","escapeValue","react","useSuspense","regionLabels","eu","jp","RegionTag","region","Env","cn","toUpperCase"],"mappings":"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"}