zudoku 0.0.0-fix-downgrade-openapi-parser.aac00796 → 0.0.0-fix-firebase-export.2e421fda

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 (566) hide show
  1. package/dist/app/main.d.ts +91 -1
  2. package/dist/app/main.js +5 -1
  3. package/dist/app/main.js.map +1 -1
  4. package/dist/app/sentry.js +1 -1
  5. package/dist/config/config.d.ts +15 -46
  6. package/dist/config/validators/BuildSchema.js +18 -3
  7. package/dist/config/validators/BuildSchema.js.map +1 -1
  8. package/dist/config/validators/InputNavigationSchema.d.ts +61 -61
  9. package/dist/config/validators/NavigationSchema.js +2 -4
  10. package/dist/config/validators/NavigationSchema.js.map +1 -1
  11. package/dist/config/validators/ProtectedRoutesSchema.d.ts +1 -1
  12. package/dist/config/validators/validate.d.ts +203 -5
  13. package/dist/config/validators/validate.js +44 -1
  14. package/dist/config/validators/validate.js.map +1 -1
  15. package/dist/config/validators/validate.test.js +43 -0
  16. package/dist/config/validators/validate.test.js.map +1 -1
  17. package/dist/flat-config.d.ts +31 -2
  18. package/dist/lib/auth/issuer.js +3 -0
  19. package/dist/lib/auth/issuer.js.map +1 -1
  20. package/dist/lib/authentication/authentication.d.ts +1 -1
  21. package/dist/lib/authentication/providers/auth0.js +6 -1
  22. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  23. package/dist/lib/authentication/providers/firebase.d.ts +4 -0
  24. package/dist/lib/authentication/providers/firebase.js +215 -0
  25. package/dist/lib/authentication/providers/firebase.js.map +1 -0
  26. package/dist/lib/authentication/providers/supabase.js +1 -6
  27. package/dist/lib/authentication/providers/supabase.js.map +1 -1
  28. package/dist/lib/authentication/ui/ZudokuAuthUi.d.ts +24 -0
  29. package/dist/lib/authentication/ui/ZudokuAuthUi.js +124 -0
  30. package/dist/lib/authentication/ui/ZudokuAuthUi.js.map +1 -0
  31. package/dist/lib/authentication/ui/icons/Apple.d.ts +3 -0
  32. package/dist/lib/authentication/ui/icons/Apple.js +4 -0
  33. package/dist/lib/authentication/ui/icons/Apple.js.map +1 -0
  34. package/dist/lib/authentication/ui/icons/Facebook.d.ts +3 -0
  35. package/dist/lib/authentication/ui/icons/Facebook.js +4 -0
  36. package/dist/lib/authentication/ui/icons/Facebook.js.map +1 -0
  37. package/dist/lib/authentication/ui/icons/Github.d.ts +3 -0
  38. package/dist/lib/authentication/ui/icons/Github.js +4 -0
  39. package/dist/lib/authentication/ui/icons/Github.js.map +1 -0
  40. package/dist/lib/authentication/ui/icons/Google.d.ts +3 -0
  41. package/dist/lib/authentication/ui/icons/Google.js +4 -0
  42. package/dist/lib/authentication/ui/icons/Google.js.map +1 -0
  43. package/dist/lib/authentication/ui/icons/Microsoft.d.ts +3 -0
  44. package/dist/lib/authentication/ui/icons/Microsoft.js +4 -0
  45. package/dist/lib/authentication/ui/icons/Microsoft.js.map +1 -0
  46. package/dist/lib/authentication/ui/icons/X.d.ts +3 -0
  47. package/dist/lib/authentication/ui/icons/X.js +4 -0
  48. package/dist/lib/authentication/ui/icons/X.js.map +1 -0
  49. package/dist/lib/components/Autocomplete.d.ts +3 -1
  50. package/dist/lib/components/Autocomplete.js +6 -2
  51. package/dist/lib/components/Autocomplete.js.map +1 -1
  52. package/dist/lib/components/Heading.d.ts +1 -1
  53. package/dist/lib/components/Layout.js +3 -2
  54. package/dist/lib/components/Layout.js.map +1 -1
  55. package/dist/lib/components/Mermaid.d.ts +7 -0
  56. package/dist/lib/components/Mermaid.js +42 -0
  57. package/dist/lib/components/Mermaid.js.map +1 -0
  58. package/dist/lib/components/PagefindSearchMeta.d.ts +8 -0
  59. package/dist/lib/components/PagefindSearchMeta.js +7 -0
  60. package/dist/lib/components/PagefindSearchMeta.js.map +1 -0
  61. package/dist/lib/components/Zudoku.js +2 -5
  62. package/dist/lib/components/Zudoku.js.map +1 -1
  63. package/dist/lib/components/navigation/NavigationItem.js +2 -2
  64. package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
  65. package/dist/lib/core/RouteGuard.js +7 -7
  66. package/dist/lib/core/RouteGuard.js.map +1 -1
  67. package/dist/lib/core/plugins.d.ts +3 -3
  68. package/dist/lib/errors/ErrorAlert.js +1 -1
  69. package/dist/lib/errors/RouterError.d.ts +3 -1
  70. package/dist/lib/errors/RouterError.js +3 -2
  71. package/dist/lib/errors/RouterError.js.map +1 -1
  72. package/dist/lib/oas/parser/index.d.ts +1 -0
  73. package/dist/lib/oas/parser/index.js +7 -3
  74. package/dist/lib/oas/parser/index.js.map +1 -1
  75. package/dist/lib/plugins/api-keys/ProtectedRoute.js +4 -1
  76. package/dist/lib/plugins/api-keys/ProtectedRoute.js.map +1 -1
  77. package/dist/lib/plugins/openapi/CollapsibleCode.d.ts +1 -0
  78. package/dist/lib/plugins/openapi/CollapsibleCode.js +2 -1
  79. package/dist/lib/plugins/openapi/CollapsibleCode.js.map +1 -1
  80. package/dist/lib/plugins/openapi/DownloadSchemaButton.d.ts +3 -0
  81. package/dist/lib/plugins/openapi/DownloadSchemaButton.js +47 -0
  82. package/dist/lib/plugins/openapi/DownloadSchemaButton.js.map +1 -0
  83. package/dist/lib/plugins/openapi/Endpoint.js +3 -6
  84. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  85. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.d.ts +5 -0
  86. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js +10 -0
  87. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js.map +1 -0
  88. package/dist/lib/plugins/openapi/OasProvider.js +22 -13
  89. package/dist/lib/plugins/openapi/OasProvider.js.map +1 -1
  90. package/dist/lib/plugins/openapi/OperationList.js +16 -6
  91. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  92. package/dist/lib/plugins/openapi/OperationListItem.d.ts +2 -1
  93. package/dist/lib/plugins/openapi/OperationListItem.js +4 -3
  94. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  95. package/dist/lib/plugins/openapi/ParameterList.js +7 -4
  96. package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
  97. package/dist/lib/plugins/openapi/ParameterListItem.js +17 -6
  98. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  99. package/dist/lib/plugins/openapi/RequestBodySidecarBox.d.ts +9 -2
  100. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js +5 -2
  101. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
  102. package/dist/lib/plugins/openapi/ResponsesSidecarBox.d.ts +4 -2
  103. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js +26 -4
  104. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
  105. package/dist/lib/plugins/openapi/SchemaList.js +2 -1
  106. package/dist/lib/plugins/openapi/SchemaList.js.map +1 -1
  107. package/dist/lib/plugins/openapi/Sidecar.d.ts +2 -2
  108. package/dist/lib/plugins/openapi/Sidecar.js +61 -26
  109. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  110. package/dist/lib/plugins/openapi/SidecarBox.js +4 -4
  111. package/dist/lib/plugins/openapi/SidecarBox.js.map +1 -1
  112. package/dist/lib/plugins/openapi/SidecarExamples.d.ts +9 -2
  113. package/dist/lib/plugins/openapi/SidecarExamples.js +24 -43
  114. package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -1
  115. package/dist/lib/plugins/openapi/components/ConstValue.js +1 -1
  116. package/dist/lib/plugins/openapi/components/ConstValue.js.map +1 -1
  117. package/dist/lib/plugins/openapi/components/EnumValues.js +1 -1
  118. package/dist/lib/plugins/openapi/components/EnumValues.js.map +1 -1
  119. package/dist/lib/plugins/openapi/components/NonHighlightedCode.d.ts +4 -0
  120. package/dist/lib/plugins/openapi/components/NonHighlightedCode.js +5 -0
  121. package/dist/lib/plugins/openapi/components/NonHighlightedCode.js.map +1 -0
  122. package/dist/lib/plugins/openapi/components/ResponseContent.js +5 -6
  123. package/dist/lib/plugins/openapi/components/ResponseContent.js.map +1 -1
  124. package/dist/lib/plugins/openapi/index.js +11 -5
  125. package/dist/lib/plugins/openapi/index.js.map +1 -1
  126. package/dist/lib/plugins/openapi/interfaces.d.ts +29 -13
  127. package/dist/lib/plugins/openapi/playground/BodyPanel.js +67 -15
  128. package/dist/lib/plugins/openapi/playground/BodyPanel.js.map +1 -1
  129. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js +2 -2
  130. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js.map +1 -1
  131. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js +1 -1
  132. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js.map +1 -1
  133. package/dist/lib/plugins/openapi/playground/Headers.js +23 -83
  134. package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
  135. package/dist/lib/plugins/openapi/playground/ParamsGrid.d.ts +10 -2
  136. package/dist/lib/plugins/openapi/playground/ParamsGrid.js +8 -1
  137. package/dist/lib/plugins/openapi/playground/ParamsGrid.js.map +1 -1
  138. package/dist/lib/plugins/openapi/playground/PathParams.js +2 -3
  139. package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
  140. package/dist/lib/plugins/openapi/playground/Playground.d.ts +7 -0
  141. package/dist/lib/plugins/openapi/playground/Playground.js +58 -26
  142. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  143. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +3 -2
  144. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
  145. package/dist/lib/plugins/openapi/playground/QueryParams.js +16 -40
  146. package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
  147. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.d.ts +8 -0
  148. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.js +19 -0
  149. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.js.map +1 -0
  150. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js +1 -1
  151. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js.map +1 -1
  152. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.d.ts +1 -0
  153. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.js +540 -0
  154. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.js.map +1 -0
  155. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.d.ts +40 -0
  156. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.js +205 -0
  157. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.js.map +1 -0
  158. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +2 -2
  159. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  160. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js +1 -1
  161. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js.map +1 -1
  162. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +17 -8
  163. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
  164. package/dist/lib/plugins/openapi/schema/SchemaView.d.ts +1 -1
  165. package/dist/lib/plugins/openapi/schema/SchemaView.js +31 -16
  166. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  167. package/dist/lib/plugins/openapi/schema/UnionView.js +2 -5
  168. package/dist/lib/plugins/openapi/schema/UnionView.js.map +1 -1
  169. package/dist/lib/plugins/openapi/schema/union-helpers.js +0 -1
  170. package/dist/lib/plugins/openapi/schema/union-helpers.js.map +1 -1
  171. package/dist/lib/plugins/openapi/schema/utils.d.ts +2 -2
  172. package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
  173. package/dist/lib/plugins/openapi/util/generateSchemaExample.js +9 -11
  174. package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -1
  175. package/dist/lib/plugins/openapi/util/getRoutes.d.ts +6 -1
  176. package/dist/lib/plugins/openapi/util/getRoutes.js +29 -2
  177. package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -1
  178. package/dist/lib/plugins/search-pagefind/IndexingDialog.d.ts +3 -0
  179. package/dist/lib/plugins/search-pagefind/IndexingDialog.js +64 -0
  180. package/dist/lib/plugins/search-pagefind/IndexingDialog.js.map +1 -0
  181. package/dist/lib/plugins/search-pagefind/PagefindSearch.js +22 -5
  182. package/dist/lib/plugins/search-pagefind/PagefindSearch.js.map +1 -1
  183. package/dist/lib/plugins/search-pagefind/ResultList.js +5 -4
  184. package/dist/lib/plugins/search-pagefind/ResultList.js.map +1 -1
  185. package/dist/lib/shiki.d.ts +1 -1
  186. package/dist/lib/shiki.js +18 -12
  187. package/dist/lib/shiki.js.map +1 -1
  188. package/dist/lib/ui/Badge.d.ts +3 -3
  189. package/dist/lib/ui/Badge.js +9 -7
  190. package/dist/lib/ui/Badge.js.map +1 -1
  191. package/dist/lib/ui/Button.d.ts +2 -2
  192. package/dist/lib/ui/Button.js +9 -7
  193. package/dist/lib/ui/Button.js.map +1 -1
  194. package/dist/lib/ui/ButtonGroup.d.ts +11 -0
  195. package/dist/lib/ui/ButtonGroup.js +28 -0
  196. package/dist/lib/ui/ButtonGroup.js.map +1 -0
  197. package/dist/lib/ui/Checkbox.d.ts +2 -2
  198. package/dist/lib/ui/Checkbox.js +4 -4
  199. package/dist/lib/ui/Checkbox.js.map +1 -1
  200. package/dist/lib/ui/CodeBlock.d.ts +0 -1
  201. package/dist/lib/ui/CodeBlock.js +1 -1
  202. package/dist/lib/ui/CodeBlock.js.map +1 -1
  203. package/dist/lib/ui/Collapsible.d.ts +4 -4
  204. package/dist/lib/ui/Collapsible.js +11 -4
  205. package/dist/lib/ui/Collapsible.js.map +1 -1
  206. package/dist/lib/ui/Command.d.ts +3 -3
  207. package/dist/lib/ui/Command.js +2 -2
  208. package/dist/lib/ui/Command.js.map +1 -1
  209. package/dist/lib/ui/DropdownMenu.d.ts +21 -23
  210. package/dist/lib/ui/DropdownMenu.js +47 -32
  211. package/dist/lib/ui/DropdownMenu.js.map +1 -1
  212. package/dist/lib/ui/EmbeddedCodeBlock.d.ts +0 -1
  213. package/dist/lib/ui/EmbeddedCodeBlock.js +3 -2
  214. package/dist/lib/ui/EmbeddedCodeBlock.js.map +1 -1
  215. package/dist/lib/ui/Frame.d.ts +8 -0
  216. package/dist/lib/ui/Frame.js +22 -0
  217. package/dist/lib/ui/Frame.js.map +1 -0
  218. package/dist/lib/ui/Item.d.ts +23 -0
  219. package/dist/lib/ui/Item.js +67 -0
  220. package/dist/lib/ui/Item.js.map +1 -0
  221. package/dist/lib/ui/Kbd.d.ts +3 -0
  222. package/dist/lib/ui/Kbd.js +10 -0
  223. package/dist/lib/ui/Kbd.js.map +1 -0
  224. package/dist/lib/ui/NativeSelect.d.ts +5 -0
  225. package/dist/lib/ui/NativeSelect.js +14 -0
  226. package/dist/lib/ui/NativeSelect.js.map +1 -0
  227. package/dist/lib/ui/Select.d.ts +13 -11
  228. package/dist/lib/ui/Select.js +34 -23
  229. package/dist/lib/ui/Select.js.map +1 -1
  230. package/dist/lib/ui/Separator.d.ts +4 -0
  231. package/dist/lib/ui/Separator.js +8 -0
  232. package/dist/lib/ui/Separator.js.map +1 -0
  233. package/dist/lib/ui/Tooltip.d.ts +7 -7
  234. package/dist/lib/ui/Tooltip.js +16 -10
  235. package/dist/lib/ui/Tooltip.js.map +1 -1
  236. package/dist/lib/util/MdxComponents.d.ts +1 -0
  237. package/dist/lib/util/MdxComponents.js +2 -0
  238. package/dist/lib/util/MdxComponents.js.map +1 -1
  239. package/dist/lib/util/createVariantComponent.d.ts +5 -2
  240. package/dist/lib/util/createVariantComponent.js +5 -2
  241. package/dist/lib/util/createVariantComponent.js.map +1 -1
  242. package/dist/lib/util/flattenAllOf.d.ts +4 -0
  243. package/dist/lib/util/flattenAllOf.js +88 -0
  244. package/dist/lib/util/flattenAllOf.js.map +1 -0
  245. package/dist/lib/util/flattenAllOf.test.d.ts +1 -0
  246. package/dist/lib/util/flattenAllOf.test.js +587 -0
  247. package/dist/lib/util/flattenAllOf.test.js.map +1 -0
  248. package/dist/lib/util/readFrontmatter.d.ts +6 -0
  249. package/dist/lib/util/readFrontmatter.js +12 -0
  250. package/dist/lib/util/readFrontmatter.js.map +1 -0
  251. package/dist/vite/api/SchemaManager.d.ts +5 -0
  252. package/dist/vite/api/SchemaManager.js +30 -18
  253. package/dist/vite/api/SchemaManager.js.map +1 -1
  254. package/dist/vite/api/SchemaManager.test.js +67 -0
  255. package/dist/vite/api/SchemaManager.test.js.map +1 -1
  256. package/dist/vite/config.js +8 -2
  257. package/dist/vite/config.js.map +1 -1
  258. package/dist/vite/dev-server.js +25 -0
  259. package/dist/vite/dev-server.js.map +1 -1
  260. package/dist/vite/mdx/remark-last-modified.js +57 -3
  261. package/dist/vite/mdx/remark-last-modified.js.map +1 -1
  262. package/dist/vite/pagefind-dev-index.d.ts +16 -0
  263. package/dist/vite/pagefind-dev-index.js +68 -0
  264. package/dist/vite/pagefind-dev-index.js.map +1 -0
  265. package/dist/vite/plugin-api.js +41 -3
  266. package/dist/vite/plugin-api.js.map +1 -1
  267. package/dist/vite/plugin-frontmatter.js +3 -5
  268. package/dist/vite/plugin-frontmatter.js.map +1 -1
  269. package/dist/vite/plugin-markdown-export.js +3 -4
  270. package/dist/vite/plugin-markdown-export.js.map +1 -1
  271. package/dist/vite/plugin-theme.js +10 -1
  272. package/dist/vite/plugin-theme.js.map +1 -1
  273. package/dist/vite/prerender/prerender.js +1 -19
  274. package/dist/vite/prerender/prerender.js.map +1 -1
  275. package/dist/vite/prerender/utils.d.ts +2 -0
  276. package/dist/vite/prerender/utils.js +24 -0
  277. package/dist/vite/prerender/utils.js.map +1 -0
  278. package/lib/ActionButton-DUgvSylL.js +25 -0
  279. package/lib/ActionButton-DUgvSylL.js.map +1 -0
  280. package/lib/Button-CynVW1JV.js +53 -0
  281. package/lib/Button-CynVW1JV.js.map +1 -0
  282. package/lib/ClaudeLogo-B4Xxt-x_.js +69 -0
  283. package/lib/ClaudeLogo-B4Xxt-x_.js.map +1 -0
  284. package/lib/{Command-CUcrW3qs.js → Command-BpT1iBE6.js} +25 -25
  285. package/lib/Command-BpT1iBE6.js.map +1 -0
  286. package/lib/Drawer-Ci7XwhqT.js.map +1 -1
  287. package/lib/DropdownMenu-C8SX_-S_.js +104 -0
  288. package/lib/DropdownMenu-C8SX_-S_.js.map +1 -0
  289. package/lib/{ErrorAlert-DE3Sf66a.js → ErrorAlert-DrOR8w3f.js} +475 -456
  290. package/lib/ErrorAlert-DrOR8w3f.js.map +1 -0
  291. package/lib/IndexingDialog-B5zCiUKr.js +100 -0
  292. package/lib/IndexingDialog-B5zCiUKr.js.map +1 -0
  293. package/lib/MdxPage-BagO2c-n.js +210 -0
  294. package/lib/MdxPage-BagO2c-n.js.map +1 -0
  295. package/lib/Mermaid-D_VSX7_Q.js +102 -0
  296. package/lib/Mermaid-D_VSX7_Q.js.map +1 -0
  297. package/lib/{OAuthErrorPage-BycMozgn.js → OAuthErrorPage-Fq54RLgt.js} +7 -7
  298. package/lib/{OAuthErrorPage-BycMozgn.js.map → OAuthErrorPage-Fq54RLgt.js.map} +1 -1
  299. package/lib/OasProvider-DPH8mwDa.js +40 -0
  300. package/lib/OasProvider-DPH8mwDa.js.map +1 -0
  301. package/lib/OperationList-C0jiEaG5.js +5805 -0
  302. package/lib/OperationList-C0jiEaG5.js.map +1 -0
  303. package/lib/RouteGuard-9wjejsKm.js +77 -0
  304. package/lib/RouteGuard-9wjejsKm.js.map +1 -0
  305. package/lib/RouterError-DSLXagd5.js +42 -0
  306. package/lib/RouterError-DSLXagd5.js.map +1 -0
  307. package/lib/{SchemaList-xZSf3IMh.js → SchemaList-BU0zCHn9.js} +28 -27
  308. package/lib/SchemaList-BU0zCHn9.js.map +1 -0
  309. package/lib/SchemaView-DVae4RO2.js +597 -0
  310. package/lib/SchemaView-DVae4RO2.js.map +1 -0
  311. package/lib/Select-CkxXP5I7.js +243 -0
  312. package/lib/Select-CkxXP5I7.js.map +1 -0
  313. package/lib/Separator-CTPSeW1S.js +27 -0
  314. package/lib/Separator-CTPSeW1S.js.map +1 -0
  315. package/lib/{SignUp-6SGx9Yyq.js → SignUp-BjS4ozA7.js} +13 -13
  316. package/lib/{SignUp-6SGx9Yyq.js.map → SignUp-BjS4ozA7.js.map} +1 -1
  317. package/lib/{SyntaxHighlight-zvlnSnHB.js → SyntaxHighlight-Kdyskw3C.js} +710 -662
  318. package/lib/{SyntaxHighlight-zvlnSnHB.js.map → SyntaxHighlight-Kdyskw3C.js.map} +1 -1
  319. package/lib/{Toc-Da9yp7lo.js → Toc-DJxFPfcS.js} +2 -2
  320. package/lib/{Toc-Da9yp7lo.js.map → Toc-DJxFPfcS.js.map} +1 -1
  321. package/lib/{ZudokuContext-BUZ5hkWB.js → ZudokuContext-BXldanA8.js} +11 -11
  322. package/lib/{ZudokuContext-BUZ5hkWB.js.map → ZudokuContext-BXldanA8.js.map} +1 -1
  323. package/lib/___vite-browser-external_commonjs-proxy-Cga3HsWk.js +9 -0
  324. package/lib/___vite-browser-external_commonjs-proxy-Cga3HsWk.js.map +1 -0
  325. package/lib/{chunk-PVWAREVJ-BMhpCH5D.js → chunk-PVWAREVJ-dLIqswPy.js} +5 -5
  326. package/lib/{chunk-PVWAREVJ-BMhpCH5D.js.map → chunk-PVWAREVJ-dLIqswPy.js.map} +1 -1
  327. package/lib/{circular-DvuimBGQ.js → circular-CzWF1hj5.js} +6360 -5953
  328. package/lib/circular-CzWF1hj5.js.map +1 -0
  329. package/lib/createServer-BIr2_tGn.js +16693 -0
  330. package/lib/createServer-BIr2_tGn.js.map +1 -0
  331. package/lib/createVariantComponent-B9_dVBvu.js +35 -0
  332. package/lib/createVariantComponent-B9_dVBvu.js.map +1 -0
  333. package/lib/{errors-CuGgh3hf.js → errors-Bs4duWDy.js} +3 -3
  334. package/lib/{errors-CuGgh3hf.js.map → errors-Bs4duWDy.js.map} +1 -1
  335. package/lib/firebase-Cax7HPzn.js +7360 -0
  336. package/lib/firebase-Cax7HPzn.js.map +1 -0
  337. package/lib/{hook-CMeoxziF.js → hook-BNxidGQq.js} +3 -3
  338. package/lib/{hook-CMeoxziF.js.map → hook-BNxidGQq.js.map} +1 -1
  339. package/lib/index-0oT9beQN.js +3676 -0
  340. package/lib/index-0oT9beQN.js.map +1 -0
  341. package/lib/{index-rYHsvtTo.js → index-Bh-MffiL.js} +2 -2
  342. package/lib/{index-rYHsvtTo.js.map → index-Bh-MffiL.js.map} +1 -1
  343. package/lib/{index-B1rmok4X.js → index-CCmMJp02.js} +10 -10
  344. package/lib/{index-B1rmok4X.js.map → index-CCmMJp02.js.map} +1 -1
  345. package/lib/index-CrcNWbel.js.map +1 -1
  346. package/lib/index-Css56y3F.js +133 -0
  347. package/lib/index-Css56y3F.js.map +1 -0
  348. package/lib/index.esm-DDENMN4y.js +32 -0
  349. package/lib/index.esm-DDENMN4y.js.map +1 -0
  350. package/lib/{index.esm-BnYHxCYC.js → index.esm-DtzT_KoE.js} +20 -20
  351. package/lib/{index.esm-BnYHxCYC.js.map → index.esm-DtzT_KoE.js.map} +1 -1
  352. package/lib/{invariant-Bm-FVUQE.js → invariant-CGOLuIIz.js} +3 -3
  353. package/lib/{invariant-Bm-FVUQE.js.map → invariant-CGOLuIIz.js.map} +1 -1
  354. package/lib/{mutation-BSU0xu4m.js → mutation-BoVlx8yA.js} +2 -2
  355. package/lib/{mutation-BSU0xu4m.js.map → mutation-BoVlx8yA.js.map} +1 -1
  356. package/lib/ui/ActionButton.js +1 -1
  357. package/lib/ui/Badge.js +27 -13
  358. package/lib/ui/Badge.js.map +1 -1
  359. package/lib/ui/Button.js +26 -24
  360. package/lib/ui/Button.js.map +1 -1
  361. package/lib/ui/ButtonGroup.js +77 -0
  362. package/lib/ui/ButtonGroup.js.map +1 -0
  363. package/lib/ui/Checkbox.js +29 -26
  364. package/lib/ui/Checkbox.js.map +1 -1
  365. package/lib/ui/CodeBlock.js +7 -7
  366. package/lib/ui/CodeBlock.js.map +1 -1
  367. package/lib/ui/Collapsible.js +32 -5
  368. package/lib/ui/Collapsible.js.map +1 -1
  369. package/lib/ui/Command.js +3 -3
  370. package/lib/ui/Command.js.map +1 -1
  371. package/lib/ui/DropdownMenu.js +227 -140
  372. package/lib/ui/DropdownMenu.js.map +1 -1
  373. package/lib/ui/EmbeddedCodeBlock.js +26 -25
  374. package/lib/ui/EmbeddedCodeBlock.js.map +1 -1
  375. package/lib/ui/Frame.js +81 -0
  376. package/lib/ui/Frame.js.map +1 -0
  377. package/lib/ui/Item.js +188 -0
  378. package/lib/ui/Item.js.map +1 -0
  379. package/lib/ui/Kbd.js +32 -0
  380. package/lib/ui/Kbd.js.map +1 -0
  381. package/lib/ui/NativeSelect.js +57 -0
  382. package/lib/ui/NativeSelect.js.map +1 -0
  383. package/lib/ui/Select.js +166 -116
  384. package/lib/ui/Select.js.map +1 -1
  385. package/lib/ui/Separator.js +27 -0
  386. package/lib/ui/Separator.js.map +1 -0
  387. package/lib/ui/SyntaxHighlight.js +3 -3
  388. package/lib/ui/Tabs.js +10 -10
  389. package/lib/ui/Tooltip.js +55 -28
  390. package/lib/ui/Tooltip.js.map +1 -1
  391. package/lib/useMutation-C6RqWmTS.js +97 -0
  392. package/lib/useMutation-C6RqWmTS.js.map +1 -0
  393. package/lib/zudoku.__internal.js +349 -349
  394. package/lib/zudoku.__internal.js.map +1 -1
  395. package/lib/zudoku.auth-auth0.js +7 -7
  396. package/lib/zudoku.auth-auth0.js.map +1 -1
  397. package/lib/zudoku.auth-azureb2c.js +4 -4
  398. package/lib/zudoku.auth-clerk.js +2 -2
  399. package/lib/zudoku.auth-firebase.js +9 -0
  400. package/lib/zudoku.auth-firebase.js.map +1 -0
  401. package/lib/zudoku.auth-openid.js +5 -5
  402. package/lib/zudoku.auth-supabase.js +31 -34
  403. package/lib/zudoku.auth-supabase.js.map +1 -1
  404. package/lib/zudoku.components.js +7 -7
  405. package/lib/zudoku.hooks.js +11 -24
  406. package/lib/zudoku.hooks.js.map +1 -1
  407. package/lib/zudoku.mermaid.js +10 -0
  408. package/lib/zudoku.mermaid.js.map +1 -0
  409. package/lib/zudoku.plugin-api-catalog.js +6 -6
  410. package/lib/zudoku.plugin-api-keys.js +225 -216
  411. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  412. package/lib/zudoku.plugin-custom-pages.js +1 -1
  413. package/lib/zudoku.plugin-markdown.js +1 -1
  414. package/lib/zudoku.plugin-openapi.js +3 -3
  415. package/lib/zudoku.plugin-redirect.js +1 -1
  416. package/lib/zudoku.plugin-search-pagefind.js +184 -226
  417. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  418. package/lib/zudoku.plugins.js.map +1 -1
  419. package/lib/zudoku.router.js +2 -2
  420. package/package.json +44 -27
  421. package/src/app/main.css +1 -1
  422. package/src/app/main.tsx +5 -1
  423. package/src/app/sentry.ts +1 -1
  424. package/src/lib/auth/issuer.ts +3 -0
  425. package/src/lib/authentication/authentication.ts +1 -1
  426. package/src/lib/authentication/providers/auth0.tsx +6 -1
  427. package/src/lib/authentication/providers/firebase.tsx +284 -0
  428. package/src/lib/authentication/providers/supabase.tsx +2 -7
  429. package/src/lib/authentication/ui/ZudokuAuthUi.tsx +335 -0
  430. package/src/lib/authentication/ui/icons/Apple.tsx +10 -0
  431. package/src/lib/authentication/ui/icons/Facebook.tsx +15 -0
  432. package/src/lib/authentication/ui/icons/Github.tsx +16 -0
  433. package/src/lib/authentication/ui/icons/Google.tsx +16 -0
  434. package/src/lib/authentication/ui/icons/Microsoft.tsx +12 -0
  435. package/src/lib/authentication/ui/icons/X.tsx +10 -0
  436. package/src/lib/components/Autocomplete.tsx +11 -2
  437. package/src/lib/components/Layout.tsx +3 -2
  438. package/src/lib/components/Mermaid.tsx +68 -0
  439. package/src/lib/components/PagefindSearchMeta.tsx +14 -0
  440. package/src/lib/components/Zudoku.tsx +4 -7
  441. package/src/lib/components/navigation/NavigationItem.tsx +7 -20
  442. package/src/lib/core/RouteGuard.tsx +9 -9
  443. package/src/lib/core/plugins.ts +2 -2
  444. package/src/lib/errors/ErrorAlert.tsx +1 -1
  445. package/src/lib/errors/RouterError.tsx +7 -2
  446. package/src/lib/oas/parser/index.ts +10 -3
  447. package/src/lib/plugins/api-keys/ProtectedRoute.tsx +11 -7
  448. package/src/lib/plugins/openapi/CollapsibleCode.tsx +5 -3
  449. package/src/lib/plugins/openapi/DownloadSchemaButton.tsx +115 -0
  450. package/src/lib/plugins/openapi/Endpoint.tsx +20 -27
  451. package/src/lib/plugins/openapi/GeneratedExampleSidecarBox.tsx +52 -0
  452. package/src/lib/plugins/openapi/OasProvider.tsx +30 -17
  453. package/src/lib/plugins/openapi/OperationList.tsx +46 -21
  454. package/src/lib/plugins/openapi/OperationListItem.tsx +15 -12
  455. package/src/lib/plugins/openapi/ParameterList.tsx +37 -23
  456. package/src/lib/plugins/openapi/ParameterListItem.tsx +105 -54
  457. package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +48 -7
  458. package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +101 -33
  459. package/src/lib/plugins/openapi/SchemaList.tsx +4 -0
  460. package/src/lib/plugins/openapi/Sidecar.tsx +145 -65
  461. package/src/lib/plugins/openapi/SidecarBox.tsx +26 -4
  462. package/src/lib/plugins/openapi/SidecarExamples.tsx +91 -79
  463. package/src/lib/plugins/openapi/components/ConstValue.tsx +1 -1
  464. package/src/lib/plugins/openapi/components/EnumValues.tsx +2 -2
  465. package/src/lib/plugins/openapi/components/NonHighlightedCode.tsx +22 -0
  466. package/src/lib/plugins/openapi/components/ResponseContent.tsx +63 -53
  467. package/src/lib/plugins/openapi/index.tsx +16 -7
  468. package/src/lib/plugins/openapi/interfaces.ts +28 -7
  469. package/src/lib/plugins/openapi/playground/BodyPanel.tsx +246 -30
  470. package/src/lib/plugins/openapi/playground/CollapsibleHeader.tsx +10 -6
  471. package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +3 -2
  472. package/src/lib/plugins/openapi/playground/Headers.tsx +103 -219
  473. package/src/lib/plugins/openapi/playground/ParamsGrid.tsx +33 -1
  474. package/src/lib/plugins/openapi/playground/PathParams.tsx +26 -34
  475. package/src/lib/plugins/openapi/playground/Playground.tsx +75 -33
  476. package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +9 -30
  477. package/src/lib/plugins/openapi/playground/QueryParams.tsx +82 -136
  478. package/src/lib/plugins/openapi/playground/request-panel/MultipartField.tsx +91 -0
  479. package/src/lib/plugins/openapi/playground/request-panel/UrlQueryParams.tsx +1 -1
  480. package/src/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.tsx +872 -0
  481. package/src/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.ts +349 -0
  482. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +2 -6
  483. package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +1 -1
  484. package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +89 -55
  485. package/src/lib/plugins/openapi/schema/SchemaView.tsx +98 -60
  486. package/src/lib/plugins/openapi/schema/UnionView.tsx +6 -17
  487. package/src/lib/plugins/openapi/schema/union-helpers.ts +0 -1
  488. package/src/lib/plugins/openapi/schema/utils.ts +5 -2
  489. package/src/lib/plugins/openapi/util/generateSchemaExample.ts +11 -11
  490. package/src/lib/plugins/openapi/util/getRoutes.tsx +35 -3
  491. package/src/lib/plugins/search-pagefind/IndexingDialog.tsx +163 -0
  492. package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +61 -22
  493. package/src/lib/plugins/search-pagefind/ResultList.tsx +8 -3
  494. package/src/lib/shiki.ts +21 -12
  495. package/src/lib/ui/Badge.tsx +21 -12
  496. package/src/lib/ui/Button.tsx +10 -9
  497. package/src/lib/ui/ButtonGroup.tsx +82 -0
  498. package/src/lib/ui/Checkbox.tsx +23 -24
  499. package/src/lib/ui/CodeBlock.tsx +3 -4
  500. package/src/lib/ui/Collapsible.tsx +26 -4
  501. package/src/lib/ui/Command.tsx +3 -3
  502. package/src/lib/ui/DropdownMenu.tsx +226 -170
  503. package/src/lib/ui/EmbeddedCodeBlock.tsx +21 -19
  504. package/src/lib/ui/Frame.tsx +81 -0
  505. package/src/lib/ui/Item.tsx +192 -0
  506. package/src/lib/ui/Kbd.tsx +28 -0
  507. package/src/lib/ui/NativeSelect.tsx +47 -0
  508. package/src/lib/ui/Select.tsx +153 -126
  509. package/src/lib/ui/Separator.tsx +25 -0
  510. package/src/lib/ui/Tooltip.tsx +54 -32
  511. package/src/lib/util/MdxComponents.tsx +2 -0
  512. package/src/lib/util/createVariantComponent.tsx +31 -5
  513. package/src/lib/util/flattenAllOf.test.ts +689 -0
  514. package/src/lib/util/flattenAllOf.ts +122 -0
  515. package/src/lib/util/readFrontmatter.ts +13 -0
  516. package/src/shiki/langs/markdown-nix.js +1 -0
  517. package/src/shiki/langs/openscad.js +1 -0
  518. package/dist/lib/plugins/openapi/playground/InlineInput.d.ts +0 -4
  519. package/dist/lib/plugins/openapi/playground/InlineInput.js +0 -3
  520. package/dist/lib/plugins/openapi/playground/InlineInput.js.map +0 -1
  521. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.d.ts +0 -5
  522. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.js +0 -7
  523. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.js.map +0 -1
  524. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.d.ts +0 -4
  525. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.js +0 -10
  526. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.js.map +0 -1
  527. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.d.ts +0 -5
  528. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.js +0 -16
  529. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.js.map +0 -1
  530. package/dist/vite/create-pagefind-index.d.ts +0 -4
  531. package/dist/vite/create-pagefind-index.js +0 -12
  532. package/dist/vite/create-pagefind-index.js.map +0 -1
  533. package/lib/Button-DmS4u8Lj.js +0 -51
  534. package/lib/Button-DmS4u8Lj.js.map +0 -1
  535. package/lib/Command-CUcrW3qs.js.map +0 -1
  536. package/lib/DropdownMenu-BZ2NKQ3K.js +0 -126
  537. package/lib/DropdownMenu-BZ2NKQ3K.js.map +0 -1
  538. package/lib/ErrorAlert-DE3Sf66a.js.map +0 -1
  539. package/lib/MdxPage-DZfeC0QY.js +0 -240
  540. package/lib/MdxPage-DZfeC0QY.js.map +0 -1
  541. package/lib/OasProvider-Bf5zBDBY.js +0 -36
  542. package/lib/OasProvider-Bf5zBDBY.js.map +0 -1
  543. package/lib/OperationList-Cmiw1xm2.js +0 -5446
  544. package/lib/OperationList-Cmiw1xm2.js.map +0 -1
  545. package/lib/Pagination-CJszmeSA.js +0 -37
  546. package/lib/Pagination-CJszmeSA.js.map +0 -1
  547. package/lib/RouteGuard-DhU3LRr1.js +0 -81
  548. package/lib/RouteGuard-DhU3LRr1.js.map +0 -1
  549. package/lib/RouterError-VDLnrFqF.js +0 -41
  550. package/lib/RouterError-VDLnrFqF.js.map +0 -1
  551. package/lib/SchemaList-xZSf3IMh.js.map +0 -1
  552. package/lib/SchemaView-tHXTm5oM.js +0 -458
  553. package/lib/SchemaView-tHXTm5oM.js.map +0 -1
  554. package/lib/Select-C1DeCqKv.js +0 -372
  555. package/lib/Select-C1DeCqKv.js.map +0 -1
  556. package/lib/circular-DvuimBGQ.js.map +0 -1
  557. package/lib/createServer-D9UvCoDf.js +0 -12559
  558. package/lib/createServer-D9UvCoDf.js.map +0 -1
  559. package/lib/index-Cr9_YzOZ.js +0 -3364
  560. package/lib/index-Cr9_YzOZ.js.map +0 -1
  561. package/lib/useExposedProps-U3pmsHaG.js +0 -113
  562. package/lib/useExposedProps-U3pmsHaG.js.map +0 -1
  563. package/src/lib/plugins/openapi/playground/InlineInput.tsx +0 -6
  564. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.tsx +0 -36
  565. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.tsx +0 -25
  566. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.tsx +0 -42
@@ -1,145 +1,232 @@
1
- import { j as a } from "../jsx-runtime-BzflLqGi.js";
2
- import * as e from "@radix-ui/react-dropdown-menu";
3
- import { ChevronRightIcon as l, CheckIcon as c, DotIcon as m } from "lucide-react";
4
- import * as r from "react";
5
- import { c as d } from "../cn-dYga0KKN.js";
6
- const M = e.Root, R = e.Trigger, I = e.Group, v = e.Portal, S = e.Sub, C = e.RadioGroup, p = r.forwardRef(({ className: t, inset: o, children: s, ...n }, i) => /* @__PURE__ */ a.jsxs(
7
- e.SubTrigger,
8
- {
9
- ref: i,
10
- className: d(
11
- "flex cursor-default select-none items-center rounded-xs px-2 py-1.5 text-sm outline-hidden focus:bg-accent data-[state=open]:bg-accent",
12
- o && "pl-8",
13
- t
14
- ),
15
- ...n,
16
- children: [
17
- s,
18
- /* @__PURE__ */ a.jsx(l, { className: "ml-auto h-4 w-4" })
19
- ]
20
- }
21
- ));
22
- p.displayName = e.SubTrigger.displayName;
23
- const u = r.forwardRef(({ className: t, ...o }, s) => /* @__PURE__ */ a.jsx(
24
- e.SubContent,
25
- {
26
- ref: s,
27
- className: d(
28
- "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg 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",
29
- t
30
- ),
31
- ...o
32
- }
33
- ));
34
- u.displayName = e.SubContent.displayName;
35
- const f = r.forwardRef(({ className: t, sideOffset: o = 4, ...s }, n) => /* @__PURE__ */ a.jsx(e.Portal, { children: /* @__PURE__ */ a.jsx(
36
- e.Content,
37
- {
38
- ref: n,
39
- sideOffset: o,
40
- className: d(
41
- "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md",
42
- "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",
43
- t
44
- ),
45
- ...s
46
- }
47
- ) }));
48
- f.displayName = e.Content.displayName;
49
- const x = r.forwardRef(({ className: t, inset: o, ...s }, n) => /* @__PURE__ */ a.jsx(
50
- e.Item,
51
- {
52
- ref: n,
53
- className: d(
54
- "relative flex cursor-default select-none items-center rounded-xs px-2 py-1.5 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
55
- o && "pl-8",
56
- t
57
- ),
58
- ...s
59
- }
60
- ));
61
- x.displayName = e.Item.displayName;
62
- const b = r.forwardRef(({ className: t, children: o, checked: s, ...n }, i) => /* @__PURE__ */ a.jsxs(
63
- e.CheckboxItem,
64
- {
65
- ref: i,
66
- className: d(
67
- "relative flex cursor-default select-none items-center rounded-xs py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
68
- t
69
- ),
70
- checked: s,
71
- ...n,
72
- children: [
73
- /* @__PURE__ */ a.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ a.jsx(e.ItemIndicator, { children: /* @__PURE__ */ a.jsx(c, { className: "h-4 w-4" }) }) }),
74
- o
75
- ]
76
- }
77
- ));
78
- b.displayName = e.CheckboxItem.displayName;
79
- const w = r.forwardRef(({ className: t, children: o, ...s }, n) => /* @__PURE__ */ a.jsxs(
80
- e.RadioItem,
81
- {
82
- ref: n,
83
- className: d(
84
- "relative flex cursor-default select-none items-center rounded-xs py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
85
- t
86
- ),
87
- ...s,
88
- children: [
89
- /* @__PURE__ */ a.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ a.jsx(e.ItemIndicator, { children: /* @__PURE__ */ a.jsx(m, { className: "h-4 w-4 fill-current" }) }) }),
90
- o
91
- ]
92
- }
93
- ));
94
- w.displayName = e.RadioItem.displayName;
95
- const h = r.forwardRef(({ className: t, inset: o, ...s }, n) => /* @__PURE__ */ a.jsx(
96
- e.Label,
97
- {
98
- ref: n,
99
- className: d(
100
- "px-2 py-1.5 text-sm font-semibold",
101
- o && "pl-8",
102
- t
103
- ),
104
- ...s
105
- }
106
- ));
107
- h.displayName = e.Label.displayName;
108
- const N = r.forwardRef(({ className: t, ...o }, s) => /* @__PURE__ */ a.jsx(
109
- e.Separator,
110
- {
111
- ref: s,
112
- className: d("-mx-1 my-1 h-px bg-muted", t),
113
- ...o
114
- }
115
- ));
116
- N.displayName = e.Separator.displayName;
117
- const g = ({
118
- className: t,
1
+ import { j as t } from "../jsx-runtime-BzflLqGi.js";
2
+ import * as n from "@radix-ui/react-dropdown-menu";
3
+ import { ChevronRightIcon as d, CheckIcon as i, CircleIcon as u } from "lucide-react";
4
+ import { c as r } from "../cn-dYga0KKN.js";
5
+ function p({
6
+ ...e
7
+ }) {
8
+ return /* @__PURE__ */ t.jsx(n.Root, { "data-slot": "dropdown-menu", ...e });
9
+ }
10
+ function f({
11
+ ...e
12
+ }) {
13
+ return /* @__PURE__ */ t.jsx(n.Portal, { "data-slot": "dropdown-menu-portal", ...e });
14
+ }
15
+ function x({
16
+ ...e
17
+ }) {
18
+ return /* @__PURE__ */ t.jsx(
19
+ n.Trigger,
20
+ {
21
+ "data-slot": "dropdown-menu-trigger",
22
+ ...e
23
+ }
24
+ );
25
+ }
26
+ function g({
27
+ className: e,
28
+ sideOffset: o = 4,
29
+ ...a
30
+ }) {
31
+ return /* @__PURE__ */ t.jsx(n.Portal, { children: /* @__PURE__ */ t.jsx(
32
+ n.Content,
33
+ {
34
+ "data-slot": "dropdown-menu-content",
35
+ sideOffset: o,
36
+ className: r(
37
+ "bg-popover text-popover-foreground 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 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
38
+ e
39
+ ),
40
+ ...a
41
+ }
42
+ ) });
43
+ }
44
+ function v({
45
+ ...e
46
+ }) {
47
+ return /* @__PURE__ */ t.jsx(n.Group, { "data-slot": "dropdown-menu-group", ...e });
48
+ }
49
+ function w({
50
+ className: e,
51
+ inset: o,
52
+ variant: a = "default",
53
+ ...s
54
+ }) {
55
+ return /* @__PURE__ */ t.jsx(
56
+ n.Item,
57
+ {
58
+ "data-slot": "dropdown-menu-item",
59
+ "data-inset": o,
60
+ "data-variant": a,
61
+ className: r(
62
+ "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
63
+ e
64
+ ),
65
+ ...s
66
+ }
67
+ );
68
+ }
69
+ function b({
70
+ className: e,
71
+ children: o,
72
+ checked: a,
73
+ ...s
74
+ }) {
75
+ return /* @__PURE__ */ t.jsxs(
76
+ n.CheckboxItem,
77
+ {
78
+ "data-slot": "dropdown-menu-checkbox-item",
79
+ className: r(
80
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
81
+ e
82
+ ),
83
+ checked: a,
84
+ ...s,
85
+ children: [
86
+ /* @__PURE__ */ t.jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ t.jsx(n.ItemIndicator, { children: /* @__PURE__ */ t.jsx(i, { className: "size-4" }) }) }),
87
+ o
88
+ ]
89
+ }
90
+ );
91
+ }
92
+ function h({
93
+ ...e
94
+ }) {
95
+ return /* @__PURE__ */ t.jsx(
96
+ n.RadioGroup,
97
+ {
98
+ "data-slot": "dropdown-menu-radio-group",
99
+ ...e
100
+ }
101
+ );
102
+ }
103
+ function j({
104
+ className: e,
105
+ children: o,
106
+ ...a
107
+ }) {
108
+ return /* @__PURE__ */ t.jsxs(
109
+ n.RadioItem,
110
+ {
111
+ "data-slot": "dropdown-menu-radio-item",
112
+ className: r(
113
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
114
+ e
115
+ ),
116
+ ...a,
117
+ children: [
118
+ /* @__PURE__ */ t.jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ t.jsx(n.ItemIndicator, { children: /* @__PURE__ */ t.jsx(u, { className: "size-2 fill-current" }) }) }),
119
+ o
120
+ ]
121
+ }
122
+ );
123
+ }
124
+ function z({
125
+ className: e,
126
+ inset: o,
127
+ ...a
128
+ }) {
129
+ return /* @__PURE__ */ t.jsx(
130
+ n.Label,
131
+ {
132
+ "data-slot": "dropdown-menu-label",
133
+ "data-inset": o,
134
+ className: r(
135
+ "px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
136
+ e
137
+ ),
138
+ ...a
139
+ }
140
+ );
141
+ }
142
+ function D({
143
+ className: e,
119
144
  ...o
120
- }) => /* @__PURE__ */ a.jsx(
121
- "span",
122
- {
123
- className: d("ml-auto text-xs tracking-widest opacity-60", t),
124
- ...o
125
- }
126
- );
127
- g.displayName = "DropdownMenuShortcut";
145
+ }) {
146
+ return /* @__PURE__ */ t.jsx(
147
+ n.Separator,
148
+ {
149
+ "data-slot": "dropdown-menu-separator",
150
+ className: r("bg-border -mx-1 my-1 h-px", e),
151
+ ...o
152
+ }
153
+ );
154
+ }
155
+ function M({
156
+ className: e,
157
+ ...o
158
+ }) {
159
+ return /* @__PURE__ */ t.jsx(
160
+ "span",
161
+ {
162
+ "data-slot": "dropdown-menu-shortcut",
163
+ className: r(
164
+ "text-muted-foreground ml-auto text-xs tracking-widest",
165
+ e
166
+ ),
167
+ ...o
168
+ }
169
+ );
170
+ }
171
+ function N({
172
+ ...e
173
+ }) {
174
+ return /* @__PURE__ */ t.jsx(n.Sub, { "data-slot": "dropdown-menu-sub", ...e });
175
+ }
176
+ function _({
177
+ className: e,
178
+ inset: o,
179
+ children: a,
180
+ ...s
181
+ }) {
182
+ return /* @__PURE__ */ t.jsxs(
183
+ n.SubTrigger,
184
+ {
185
+ "data-slot": "dropdown-menu-sub-trigger",
186
+ "data-inset": o,
187
+ className: r(
188
+ "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
189
+ e
190
+ ),
191
+ ...s,
192
+ children: [
193
+ a,
194
+ /* @__PURE__ */ t.jsx(d, { className: "ml-auto size-4" })
195
+ ]
196
+ }
197
+ );
198
+ }
199
+ function I({
200
+ className: e,
201
+ ...o
202
+ }) {
203
+ return /* @__PURE__ */ t.jsx(
204
+ n.SubContent,
205
+ {
206
+ "data-slot": "dropdown-menu-sub-content",
207
+ className: r(
208
+ "bg-popover text-popover-foreground 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 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg",
209
+ e
210
+ ),
211
+ ...o
212
+ }
213
+ );
214
+ }
128
215
  export {
129
- M as DropdownMenu,
216
+ p as DropdownMenu,
130
217
  b as DropdownMenuCheckboxItem,
131
- f as DropdownMenuContent,
132
- I as DropdownMenuGroup,
133
- x as DropdownMenuItem,
134
- h as DropdownMenuLabel,
135
- v as DropdownMenuPortal,
136
- C as DropdownMenuRadioGroup,
137
- w as DropdownMenuRadioItem,
138
- N as DropdownMenuSeparator,
139
- g as DropdownMenuShortcut,
140
- S as DropdownMenuSub,
141
- u as DropdownMenuSubContent,
142
- p as DropdownMenuSubTrigger,
143
- R as DropdownMenuTrigger
218
+ g as DropdownMenuContent,
219
+ v as DropdownMenuGroup,
220
+ w as DropdownMenuItem,
221
+ z as DropdownMenuLabel,
222
+ f as DropdownMenuPortal,
223
+ h as DropdownMenuRadioGroup,
224
+ j as DropdownMenuRadioItem,
225
+ D as DropdownMenuSeparator,
226
+ M as DropdownMenuShortcut,
227
+ N as DropdownMenuSub,
228
+ I as DropdownMenuSubContent,
229
+ _ as DropdownMenuSubTrigger,
230
+ x as DropdownMenuTrigger
144
231
  };
145
232
  //# sourceMappingURL=DropdownMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.js","sources":["../../src/lib/ui/DropdownMenu.tsx"],"sourcesContent":["import * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\n\nimport { CheckIcon, ChevronRightIcon, DotIcon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-xs px-2 py-1.5 text-sm outline-hidden focus:bg-accent data-[state=open]:bg-accent\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto h-4 w-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName =\n DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg 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\",\n className,\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName =\n DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md\",\n \"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\",\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-xs px-2 py-1.5 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n />\n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-xs py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName =\n DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-xs py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <DotIcon className=\"h-4 w-4 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\"ml-auto text-xs tracking-widest opacity-60\", className)}\n {...props}\n />\n );\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n"],"names":["DropdownMenu","DropdownMenuPrimitive","DropdownMenuTrigger","DropdownMenuGroup","DropdownMenuPortal","DropdownMenuSub","DropdownMenuRadioGroup","DropdownMenuSubTrigger","React","className","inset","children","props","ref","jsxs","cn","jsx","ChevronRightIcon","DropdownMenuSubContent","DropdownMenuContent","sideOffset","DropdownMenuItem","DropdownMenuCheckboxItem","checked","CheckIcon","DropdownMenuRadioItem","DotIcon","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuShortcut"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownMenu.js","sources":["../../src/lib/ui/DropdownMenu.tsx"],"sourcesContent":["import * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\";\nimport type * as React from \"react\";\n\nimport { cn } from \"../util/cn.js\";\n\nfunction DropdownMenu({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n );\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n {...props}\n />\n );\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground 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 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md\",\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n );\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n );\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"text-muted-foreground ml-auto text-xs tracking-widest\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n \"bg-popover text-popover-foreground 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 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n};\n"],"names":["DropdownMenu","props","DropdownMenuPrimitive","DropdownMenuPortal","DropdownMenuTrigger","jsx","DropdownMenuContent","className","sideOffset","cn","DropdownMenuGroup","DropdownMenuItem","inset","variant","DropdownMenuCheckboxItem","children","checked","jsxs","CheckIcon","DropdownMenuRadioGroup","DropdownMenuRadioItem","CircleIcon","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuShortcut","DropdownMenuSub","DropdownMenuSubTrigger","ChevronRightIcon","DropdownMenuSubContent"],"mappings":"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"}
@@ -1,57 +1,58 @@
1
1
  import { j as e } from "../jsx-runtime-BzflLqGi.js";
2
- import { CheckIcon as m, CopyIcon as x } from "lucide-react";
3
- import { useState as f, useRef as b } from "react";
2
+ import { CheckIcon as p, CopyIcon as x } from "lucide-react";
3
+ import { useState as f, useRef as v } from "react";
4
4
  import { c as t } from "../cn-dYga0KKN.js";
5
- const g = ({
5
+ import { Button as b } from "./Button.js";
6
+ const C = ({
6
7
  children: s,
7
8
  fullHeight: n,
8
- language: d,
9
+ language: c,
9
10
  showCopy: o = "hover",
10
11
  showCopyText: a,
11
- showLanguageIndicator: u = !0,
12
- showLineNumbers: c,
13
- ...p
12
+ showLanguageIndicator: d = !0,
13
+ showLineNumbers: u,
14
+ ...m
14
15
  }) => {
15
- const [i, l] = f(!1), r = b(null);
16
+ const [i, l] = f(!1), r = v(null);
16
17
  return s ? /* @__PURE__ */ e.jsxs(
17
18
  "div",
18
19
  {
19
20
  className: t(
20
21
  "code-block-wrapper relative group bg-muted/50",
21
- c && "line-numbers",
22
+ u && "line-numbers",
22
23
  n && "h-full"
23
24
  ),
24
25
  children: [
25
- /* @__PURE__ */ e.jsx(
26
+ /* @__PURE__ */ e.jsx("div", { className: "relative overflow-auto", children: /* @__PURE__ */ e.jsx(
26
27
  "div",
27
28
  {
28
29
  className: t(
29
- "code-block text-sm not-prose scrollbar [&>pre]:overflow-x-auto [&>pre]:p-2",
30
+ "code-block text-sm not-prose scrollbar [&>pre]:overflow-x-auto [&_code]:p-2",
30
31
  n && "h-full [&>pre]:h-full",
31
- p.className
32
+ m.className
32
33
  ),
33
34
  ref: r,
34
35
  children: s
35
36
  }
36
- ),
37
- u && /* @__PURE__ */ e.jsx(
37
+ ) }),
38
+ d && /* @__PURE__ */ e.jsx(
38
39
  "span",
39
40
  {
40
41
  className: t(
41
- "absolute top-1.5 end-3 text-[11px]! font-mono text-muted-foreground transition group-hover:opacity-0",
42
+ "absolute top-1.5 end-3 text-[11px]! font-mono text-muted-foreground transition group-hover:opacity-0 pointer-events-none",
42
43
  o === "always" && "hidden"
43
44
  ),
44
- children: d
45
+ children: c
45
46
  }
46
47
  ),
47
48
  o !== "never" && /* @__PURE__ */ e.jsxs(
48
- "button",
49
+ b,
49
50
  {
50
51
  type: "button",
51
- "aria-label": "Copy code",
52
- title: "Copy code",
52
+ variant: "outline",
53
+ size: "icon-xs",
53
54
  className: t(
54
- "absolute top-2 end-2 p-2 transition hover:shadow-xs active:shadow-none active:inset-shadow-xs hover:outline outline-border rounded-md text-sm text-muted-foreground",
55
+ "absolute top-2 end-2 p-2",
55
56
  o === "hover" && "opacity-0 group-hover:opacity-100",
56
57
  a && "flex gap-2 items-center font-medium"
57
58
  ),
@@ -61,14 +62,14 @@ const g = ({
61
62
  },
62
63
  children: [
63
64
  i ? /* @__PURE__ */ e.jsx(
64
- m,
65
+ p,
65
66
  {
66
- className: "text-emerald-600",
67
- size: 16,
67
+ className: "shrink-0 text-emerald-600 dark:text-emerald-300",
68
+ size: 13,
68
69
  strokeWidth: 2.5,
69
70
  absoluteStrokeWidth: !0
70
71
  }
71
- ) : /* @__PURE__ */ e.jsx(x, { size: 16 }),
72
+ ) : /* @__PURE__ */ e.jsx(x, { className: "shrink-0", size: 13 }),
72
73
  a && "Copy"
73
74
  ]
74
75
  }
@@ -78,6 +79,6 @@ const g = ({
78
79
  ) : null;
79
80
  };
80
81
  export {
81
- g as EmbeddedCodeBlock
82
+ C as EmbeddedCodeBlock
82
83
  };
83
84
  //# sourceMappingURL=EmbeddedCodeBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmbeddedCodeBlock.js","sources":["../../src/lib/ui/EmbeddedCodeBlock.tsx"],"sourcesContent":["import { CheckIcon, CopyIcon } from \"lucide-react\";\nimport type { ReactNode } from \"react\";\nimport { useRef, useState } from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nexport type CodeBlockProps = {\n className?: string;\n noBackground?: boolean;\n wrapLines?: boolean;\n showLanguageIndicator?: boolean;\n language?: string;\n children?: ReactNode;\n code?: ReactNode;\n showCopy?: \"hover\" | \"always\" | \"never\";\n showCopyText?: boolean;\n disabled?: boolean;\n showLineNumbers?: boolean;\n};\n\nexport const EmbeddedCodeBlock = ({\n children,\n fullHeight,\n language,\n showCopy = \"hover\",\n showCopyText,\n showLanguageIndicator = true,\n showLineNumbers,\n ...props\n}: CodeBlockProps & { fullHeight?: boolean }) => {\n const [isCopied, setIsCopied] = useState(false);\n const ref = useRef<HTMLDivElement>(null);\n\n if (!children) return null;\n\n return (\n <div\n className={cn(\n \"code-block-wrapper relative group bg-muted/50\",\n showLineNumbers && \"line-numbers\",\n fullHeight && \"h-full\",\n )}\n >\n <div\n className={cn(\n \"code-block text-sm not-prose scrollbar [&>pre]:overflow-x-auto [&>pre]:p-2\",\n fullHeight && \"h-full [&>pre]:h-full\",\n props.className,\n )}\n ref={ref}\n >\n {children}\n </div>\n {showLanguageIndicator && (\n <span\n className={cn(\n \"absolute top-1.5 end-3 text-[11px]! font-mono text-muted-foreground transition group-hover:opacity-0\",\n showCopy === \"always\" && \"hidden\",\n )}\n >\n {language}\n </span>\n )}\n {showCopy !== \"never\" && (\n <button\n type=\"button\"\n aria-label=\"Copy code\"\n title=\"Copy code\"\n className={cn(\n \"absolute top-2 end-2 p-2 transition hover:shadow-xs active:shadow-none active:inset-shadow-xs hover:outline outline-border rounded-md text-sm text-muted-foreground\",\n showCopy === \"hover\" && \"opacity-0 group-hover:opacity-100\",\n showCopyText && \"flex gap-2 items-center font-medium\",\n )}\n disabled={isCopied}\n onClick={() => {\n if (!ref.current?.textContent) return;\n\n setIsCopied(true);\n void navigator.clipboard.writeText(ref.current.textContent);\n setTimeout(() => setIsCopied(false), 2000);\n }}\n >\n {isCopied ? (\n <CheckIcon\n className=\"text-emerald-600\"\n size={16}\n strokeWidth={2.5}\n absoluteStrokeWidth\n />\n ) : (\n <CopyIcon size={16} />\n )}\n {showCopyText && \"Copy\"}\n </button>\n )}\n </div>\n );\n};\n"],"names":["EmbeddedCodeBlock","children","fullHeight","language","showCopy","showCopyText","showLanguageIndicator","showLineNumbers","props","isCopied","setIsCopied","useState","ref","useRef","jsxs","cn","jsx","CheckIcon","CopyIcon"],"mappings":";;;;AAmBO,MAAMA,IAAoB,CAAC;AAAA,EAChC,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,cAAAC;AAAA,EACA,uBAAAC,IAAwB;AAAA,EACxB,iBAAAC;AAAA,EACA,GAAGC;AACL,MAAiD;AAC/C,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAAS,EAAK,GACxCC,IAAMC,EAAuB,IAAI;AAEvC,SAAKZ,IAGHa,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAR,KAAmB;AAAA,QACnBL,KAAc;AAAA,MAAA;AAAA,MAGhB,UAAA;AAAA,QAAAc,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWD;AAAA,cACT;AAAA,cACAb,KAAc;AAAA,cACdM,EAAM;AAAA,YAAA;AAAA,YAER,KAAAI;AAAA,YAEC,UAAAX;AAAA,UAAA;AAAA,QAAA;AAAA,QAEFK,KACCU,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWD;AAAA,cACT;AAAA,cACAX,MAAa,YAAY;AAAA,YAAA;AAAA,YAG1B,UAAAD;AAAA,UAAA;AAAA,QAAA;AAAA,QAGJC,MAAa,WACZU,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,cAAW;AAAA,YACX,OAAM;AAAA,YACN,WAAWC;AAAA,cACT;AAAA,cACAX,MAAa,WAAW;AAAA,cACxBC,KAAgB;AAAA,YAAA;AAAA,YAElB,UAAUI;AAAA,YACV,SAAS,MAAM;AACb,cAAKG,EAAI,SAAS,gBAElBF,EAAY,EAAI,GACX,UAAU,UAAU,UAAUE,EAAI,QAAQ,WAAW,GAC1D,WAAW,MAAMF,EAAY,EAAK,GAAG,GAAI;AAAA,YAC3C;AAAA,YAEC,UAAA;AAAA,cAAAD,IACCO,gBAAAA,EAAAA;AAAAA,gBAACC;AAAA,gBAAA;AAAA,kBACC,WAAU;AAAA,kBACV,MAAM;AAAA,kBACN,aAAa;AAAA,kBACb,qBAAmB;AAAA,gBAAA;AAAA,cAAA,IAGrBD,gBAAAA,EAAAA,IAACE,GAAA,EAAS,MAAM,GAAA,CAAI;AAAA,cAErBb,KAAgB;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACnB;AAAA,IAAA;AAAA,EAAA,IA5DgB;AAgExB;"}
1
+ {"version":3,"file":"EmbeddedCodeBlock.js","sources":["../../src/lib/ui/EmbeddedCodeBlock.tsx"],"sourcesContent":["import { CheckIcon, CopyIcon } from \"lucide-react\";\nimport type { ReactNode } from \"react\";\nimport { useRef, useState } from \"react\";\nimport { cn } from \"../util/cn.js\";\nimport { Button } from \"./Button.js\";\n\nexport type CodeBlockProps = {\n className?: string;\n wrapLines?: boolean;\n showLanguageIndicator?: boolean;\n language?: string;\n children?: ReactNode;\n code?: ReactNode;\n showCopy?: \"hover\" | \"always\" | \"never\";\n showCopyText?: boolean;\n disabled?: boolean;\n showLineNumbers?: boolean;\n};\n\nexport const EmbeddedCodeBlock = ({\n children,\n fullHeight,\n language,\n showCopy = \"hover\",\n showCopyText,\n showLanguageIndicator = true,\n showLineNumbers,\n ...props\n}: CodeBlockProps & { fullHeight?: boolean }) => {\n const [isCopied, setIsCopied] = useState(false);\n const ref = useRef<HTMLDivElement>(null);\n\n if (!children) return null;\n\n return (\n <div\n className={cn(\n \"code-block-wrapper relative group bg-muted/50\",\n showLineNumbers && \"line-numbers\",\n fullHeight && \"h-full\",\n )}\n >\n <div className=\"relative overflow-auto\">\n <div\n className={cn(\n \"code-block text-sm not-prose scrollbar [&>pre]:overflow-x-auto [&_code]:p-2\",\n fullHeight && \"h-full [&>pre]:h-full\",\n props.className,\n )}\n ref={ref}\n >\n {children}\n </div>\n </div>\n {showLanguageIndicator && (\n <span\n className={cn(\n \"absolute top-1.5 end-3 text-[11px]! font-mono text-muted-foreground transition group-hover:opacity-0 pointer-events-none\",\n showCopy === \"always\" && \"hidden\",\n )}\n >\n {language}\n </span>\n )}\n {showCopy !== \"never\" && (\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"icon-xs\"\n className={cn(\n \"absolute top-2 end-2 p-2\",\n showCopy === \"hover\" && \"opacity-0 group-hover:opacity-100\",\n showCopyText && \"flex gap-2 items-center font-medium\",\n )}\n disabled={isCopied}\n onClick={() => {\n if (!ref.current?.textContent) return;\n\n setIsCopied(true);\n void navigator.clipboard.writeText(ref.current.textContent);\n setTimeout(() => setIsCopied(false), 2000);\n }}\n >\n {isCopied ? (\n <CheckIcon\n className=\"shrink-0 text-emerald-600 dark:text-emerald-300\"\n size={13}\n strokeWidth={2.5}\n absoluteStrokeWidth\n />\n ) : (\n <CopyIcon className=\"shrink-0\" size={13} />\n )}\n {showCopyText && \"Copy\"}\n </Button>\n )}\n </div>\n );\n};\n"],"names":["EmbeddedCodeBlock","children","fullHeight","language","showCopy","showCopyText","showLanguageIndicator","showLineNumbers","props","isCopied","setIsCopied","useState","ref","useRef","jsxs","cn","jsx","Button","CheckIcon","CopyIcon"],"mappings":";;;;;AAmBO,MAAMA,IAAoB,CAAC;AAAA,EAChC,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,cAAAC;AAAA,EACA,uBAAAC,IAAwB;AAAA,EACxB,iBAAAC;AAAA,EACA,GAAGC;AACL,MAAiD;AAC/C,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAAS,EAAK,GACxCC,IAAMC,EAAuB,IAAI;AAEvC,SAAKZ,IAGHa,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAR,KAAmB;AAAA,QACnBL,KAAc;AAAA,MAAA;AAAA,MAGhB,UAAA;AAAA,QAAAc,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,0BACb,UAAAA,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWD;AAAA,cACT;AAAA,cACAb,KAAc;AAAA,cACdM,EAAM;AAAA,YAAA;AAAA,YAER,KAAAI;AAAA,YAEC,UAAAX;AAAA,UAAA;AAAA,QAAA,GAEL;AAAA,QACCK,KACCU,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWD;AAAA,cACT;AAAA,cACAX,MAAa,YAAY;AAAA,YAAA;AAAA,YAG1B,UAAAD;AAAA,UAAA;AAAA,QAAA;AAAA,QAGJC,MAAa,WACZU,gBAAAA,EAAAA;AAAAA,UAACG;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,WAAWF;AAAA,cACT;AAAA,cACAX,MAAa,WAAW;AAAA,cACxBC,KAAgB;AAAA,YAAA;AAAA,YAElB,UAAUI;AAAA,YACV,SAAS,MAAM;AACb,cAAKG,EAAI,SAAS,gBAElBF,EAAY,EAAI,GACX,UAAU,UAAU,UAAUE,EAAI,QAAQ,WAAW,GAC1D,WAAW,MAAMF,EAAY,EAAK,GAAG,GAAI;AAAA,YAC3C;AAAA,YAEC,UAAA;AAAA,cAAAD,IACCO,gBAAAA,EAAAA;AAAAA,gBAACE;AAAA,gBAAA;AAAA,kBACC,WAAU;AAAA,kBACV,MAAM;AAAA,kBACN,aAAa;AAAA,kBACb,qBAAmB;AAAA,gBAAA;AAAA,cAAA,IAGrBF,gBAAAA,EAAAA,IAACG,GAAA,EAAS,WAAU,YAAW,MAAM,IAAI;AAAA,cAE1Cd,KAAgB;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACnB;AAAA,IAAA;AAAA,EAAA,IA9DgB;AAkExB;"}
@@ -0,0 +1,81 @@
1
+ import { j as a } from "../jsx-runtime-BzflLqGi.js";
2
+ import { c as t } from "../cn-dYga0KKN.js";
3
+ function s({ className: e, ...r }) {
4
+ return /* @__PURE__ */ a.jsx(
5
+ "div",
6
+ {
7
+ "data-slot": "frame",
8
+ className: t(
9
+ "relative flex flex-col rounded-2xl bg-muted p-1",
10
+ e
11
+ ),
12
+ ...r
13
+ }
14
+ );
15
+ }
16
+ function n({ className: e, ...r }) {
17
+ return /* @__PURE__ */ a.jsx(
18
+ "div",
19
+ {
20
+ "data-slot": "frame-panel",
21
+ className: t(
22
+ "relative bg-clip-padding rounded-xl border bg-card p-5 shadow-xs",
23
+ "before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] dark:bg-clip-border dark:before:shadow-[0_-1px_--theme(--color-white/8%)]",
24
+ e
25
+ ),
26
+ ...r
27
+ }
28
+ );
29
+ }
30
+ function d({ className: e, ...r }) {
31
+ return /* @__PURE__ */ a.jsx(
32
+ "header",
33
+ {
34
+ "data-slot": "frame-panel-header",
35
+ className: t("flex flex-col p-4", e),
36
+ ...r
37
+ }
38
+ );
39
+ }
40
+ function f({ className: e, ...r }) {
41
+ return /* @__PURE__ */ a.jsx(
42
+ "div",
43
+ {
44
+ "data-slot": "frame-panel-title",
45
+ className: t("text-sm font-semibold", e),
46
+ ...r
47
+ }
48
+ );
49
+ }
50
+ function m({
51
+ className: e,
52
+ ...r
53
+ }) {
54
+ return /* @__PURE__ */ a.jsx(
55
+ "div",
56
+ {
57
+ "data-slot": "frame-panel-description",
58
+ className: t("text-sm text-muted-foreground", e),
59
+ ...r
60
+ }
61
+ );
62
+ }
63
+ function i({ className: e, ...r }) {
64
+ return /* @__PURE__ */ a.jsx(
65
+ "footer",
66
+ {
67
+ "data-slot": "frame-panel-footer",
68
+ className: t("flex flex-col gap-1 px-5 py-4", e),
69
+ ...r
70
+ }
71
+ );
72
+ }
73
+ export {
74
+ s as Frame,
75
+ m as FrameDescription,
76
+ i as FrameFooter,
77
+ d as FrameHeader,
78
+ n as FramePanel,
79
+ f as FrameTitle
80
+ };
81
+ //# sourceMappingURL=Frame.js.map