zudoku 0.3.0-dev.83 → 0.3.0-dev.85

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 (206) hide show
  1. package/cli.js +5 -1
  2. package/dist/app/demo.js +5 -4
  3. package/dist/app/demo.js.map +1 -1
  4. package/dist/app/main.js +3 -1
  5. package/dist/app/main.js.map +1 -1
  6. package/dist/app/standalone.js +5 -4
  7. package/dist/app/standalone.js.map +1 -1
  8. package/dist/config/validators/ResolvedSidebarSchema.d.ts +18 -0
  9. package/dist/config/validators/ResolvedSidebarSchema.js +76 -0
  10. package/dist/config/validators/ResolvedSidebarSchema.js.map +1 -0
  11. package/dist/config/validators/SidebarSchema.d.ts +177 -0
  12. package/dist/config/validators/SidebarSchema.js +71 -0
  13. package/dist/config/validators/SidebarSchema.js.map +1 -0
  14. package/dist/config/validators/validate.d.ts +411 -59
  15. package/dist/config/validators/validate.js +22 -4
  16. package/dist/config/validators/validate.js.map +1 -1
  17. package/dist/index.d.ts +1 -1
  18. package/dist/lib/components/DevPortal.js +1 -1
  19. package/dist/lib/components/DevPortal.js.map +1 -1
  20. package/dist/lib/components/Header.js +5 -4
  21. package/dist/lib/components/Header.js.map +1 -1
  22. package/dist/lib/components/Heading.d.ts +1 -1
  23. package/dist/lib/components/Layout.js +2 -2
  24. package/dist/lib/components/Layout.js.map +1 -1
  25. package/dist/lib/components/TopNavigation.js +5 -5
  26. package/dist/lib/components/TopNavigation.js.map +1 -1
  27. package/dist/lib/components/context/DevPortalProvider.d.ts +9 -3
  28. package/dist/lib/components/context/DevPortalProvider.js +11 -23
  29. package/dist/lib/components/context/DevPortalProvider.js.map +1 -1
  30. package/dist/lib/components/context/ThemeContext.d.ts +1 -4
  31. package/dist/lib/components/context/ThemeContext.js +3 -29
  32. package/dist/lib/components/context/ThemeContext.js.map +1 -1
  33. package/dist/lib/components/context/ThemeProvider.d.ts +4 -0
  34. package/dist/lib/components/context/ThemeProvider.js +23 -0
  35. package/dist/lib/components/context/ThemeProvider.js.map +1 -0
  36. package/dist/lib/components/navigation/Sidebar.d.ts +1 -0
  37. package/dist/lib/components/navigation/Sidebar.js +12 -0
  38. package/dist/lib/components/navigation/Sidebar.js.map +1 -0
  39. package/dist/lib/components/navigation/SidebarBadge.d.ts +22 -0
  40. package/dist/lib/components/navigation/SidebarBadge.js +24 -0
  41. package/dist/lib/components/navigation/SidebarBadge.js.map +1 -0
  42. package/dist/lib/components/navigation/SidebarCategory.d.ts +5 -0
  43. package/dist/lib/components/navigation/SidebarCategory.js +33 -0
  44. package/dist/lib/components/navigation/SidebarCategory.js.map +1 -0
  45. package/dist/lib/components/navigation/SidebarItem.d.ts +12 -0
  46. package/dist/lib/components/navigation/SidebarItem.js +42 -0
  47. package/dist/lib/components/navigation/SidebarItem.js.map +1 -0
  48. package/dist/lib/components/navigation/{SideNavigationWrapper.d.ts → SidebarWrapper.d.ts} +1 -1
  49. package/dist/lib/components/navigation/{SideNavigationWrapper.js → SidebarWrapper.js} +2 -2
  50. package/dist/lib/components/navigation/SidebarWrapper.js.map +1 -0
  51. package/dist/lib/components/navigation/utils.d.ts +16 -0
  52. package/dist/lib/components/navigation/utils.js +85 -0
  53. package/dist/lib/components/navigation/utils.js.map +1 -0
  54. package/dist/lib/core/DevPortalContext.d.ts +9 -32
  55. package/dist/lib/core/DevPortalContext.js +8 -5
  56. package/dist/lib/core/DevPortalContext.js.map +1 -1
  57. package/dist/lib/core/plugins.d.ts +6 -8
  58. package/dist/lib/core/plugins.js.map +1 -1
  59. package/dist/lib/plugins/markdown/MdxPage.js +5 -36
  60. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  61. package/dist/lib/plugins/markdown/generateRoutes.js +20 -43
  62. package/dist/lib/plugins/markdown/generateRoutes.js.map +1 -1
  63. package/dist/lib/plugins/openapi/OperationListItem.js +4 -3
  64. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  65. package/dist/lib/plugins/openapi/ParameterList.js +2 -1
  66. package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
  67. package/dist/lib/plugins/openapi/SchemaListView.js +6 -1
  68. package/dist/lib/plugins/openapi/SchemaListView.js.map +1 -1
  69. package/dist/lib/plugins/openapi/SchemaListViewItem.d.ts +3 -2
  70. package/dist/lib/plugins/openapi/SchemaListViewItem.js +6 -3
  71. package/dist/lib/plugins/openapi/SchemaListViewItem.js.map +1 -1
  72. package/dist/lib/plugins/openapi/Sidecar.js +12 -2
  73. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  74. package/dist/lib/plugins/openapi/index.js +14 -11
  75. package/dist/lib/plugins/openapi/index.js.map +1 -1
  76. package/dist/lib/plugins/openapi/interfaces.d.ts +1 -1
  77. package/dist/lib/plugins/openapi/playground/Headers.js +1 -1
  78. package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
  79. package/dist/lib/plugins/openapi/playground/Playground.js +1 -1
  80. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  81. package/dist/lib/util/useScrollToAnchor.js +31 -17
  82. package/dist/lib/util/useScrollToAnchor.js.map +1 -1
  83. package/dist/vite/plugin-sidebar.d.ts +3 -0
  84. package/dist/vite/plugin-sidebar.js +23 -0
  85. package/dist/vite/plugin-sidebar.js.map +1 -0
  86. package/dist/vite/plugin.js +2 -0
  87. package/dist/vite/plugin.js.map +1 -1
  88. package/lib/{AuthenticationPlugin-XS0DoAhE.js → AuthenticationPlugin-DgwV0hVu.js} +7 -7
  89. package/lib/{AuthenticationPlugin-XS0DoAhE.js.map → AuthenticationPlugin-DgwV0hVu.js.map} +1 -1
  90. package/lib/{CategoryHeading-DCmchnA1.js → CategoryHeading-BWq12Bfa.js} +3 -3
  91. package/lib/{CategoryHeading-DCmchnA1.js.map → CategoryHeading-BWq12Bfa.js.map} +1 -1
  92. package/lib/{Combination-C442XfGG.js → Combination-DkycFHkm.js} +4 -4
  93. package/lib/{Combination-C442XfGG.js.map → Combination-DkycFHkm.js.map} +1 -1
  94. package/lib/{DevPortalProvider-BWeAysxF.js → DevPortalProvider-CTxoCHIT.js} +375 -417
  95. package/lib/DevPortalProvider-CTxoCHIT.js.map +1 -0
  96. package/lib/DeveloperHint-BQSFXH01.js +10 -0
  97. package/lib/{DeveloperHint-DQVwIery.js.map → DeveloperHint-BQSFXH01.js.map} +1 -1
  98. package/lib/{Input-3IEt27jb.js → Input-BclXSY0g.js} +5 -5
  99. package/lib/{Input-3IEt27jb.js.map → Input-BclXSY0g.js.map} +1 -1
  100. package/lib/{Markdown-QsZ-PHET.js → Markdown-B_Gax7at.js} +1136 -1152
  101. package/lib/{Markdown-QsZ-PHET.js.map → Markdown-B_Gax7at.js.map} +1 -1
  102. package/lib/{MdxPage-CA1WmW14.js → MdxPage-Crlr0GmN.js} +67 -81
  103. package/lib/MdxPage-Crlr0GmN.js.map +1 -0
  104. package/lib/{OperationList-CHK_erYP.js → OperationList-CMH3DPpj.js} +145 -129
  105. package/lib/OperationList-CMH3DPpj.js.map +1 -0
  106. package/lib/Route-CwXfyIUw.js +14 -0
  107. package/lib/{Route-D70pGn9n.js.map → Route-CwXfyIUw.js.map} +1 -1
  108. package/lib/{SlotletProvider-B71hNEUL.js → SlotletProvider-CzMAO73_.js} +12 -12
  109. package/lib/{SlotletProvider-B71hNEUL.js.map → SlotletProvider-CzMAO73_.js.map} +1 -1
  110. package/lib/Spinner-fF-Xv-gw.js +274 -0
  111. package/lib/Spinner-fF-Xv-gw.js.map +1 -0
  112. package/lib/index-7kcHaXD6.js +1771 -0
  113. package/lib/index-7kcHaXD6.js.map +1 -0
  114. package/lib/{index-Bl6YeerK.js → index-DUrF63A6.js} +1028 -1044
  115. package/lib/index-DUrF63A6.js.map +1 -0
  116. package/lib/{index-BH-Ub36F.js → index-DkuZvRNP.js} +4 -4
  117. package/lib/{index-BH-Ub36F.js.map → index-DkuZvRNP.js.map} +1 -1
  118. package/lib/joinPath-VeNuJa7y.js +8 -0
  119. package/lib/joinPath-VeNuJa7y.js.map +1 -0
  120. package/lib/jsx-runtime-B6kdoens.js +635 -0
  121. package/lib/jsx-runtime-B6kdoens.js.map +1 -0
  122. package/lib/{AnchorLink-BZcpTwOs.js → utils-CzT_9Tsn.js} +258 -214
  123. package/lib/utils-CzT_9Tsn.js.map +1 -0
  124. package/lib/zudoku.auth-clerk.js +1 -1
  125. package/lib/zudoku.auth-openid.js +2 -2
  126. package/lib/zudoku.components.js +1229 -1227
  127. package/lib/zudoku.components.js.map +1 -1
  128. package/lib/zudoku.plugin-api-keys.js +19 -19
  129. package/lib/zudoku.plugin-custom-page.js +2 -2
  130. package/lib/zudoku.plugin-markdown.js +21 -38
  131. package/lib/zudoku.plugin-markdown.js.map +1 -1
  132. package/lib/zudoku.plugin-openapi.js +8 -6
  133. package/lib/zudoku.plugin-openapi.js.map +1 -1
  134. package/package.json +4 -1
  135. package/src/app/demo.tsx +5 -4
  136. package/src/app/main.css +2 -2
  137. package/src/app/main.tsx +3 -1
  138. package/src/app/standalone.tsx +5 -4
  139. package/src/lib/components/DevPortal.tsx +1 -1
  140. package/src/lib/components/Header.tsx +21 -19
  141. package/src/lib/components/Layout.tsx +2 -2
  142. package/src/lib/components/TopNavigation.tsx +5 -5
  143. package/src/lib/components/context/DevPortalProvider.ts +11 -28
  144. package/src/lib/components/context/ThemeContext.tsx +3 -41
  145. package/src/lib/components/context/ThemeProvider.tsx +27 -0
  146. package/src/lib/components/navigation/{SideNavigation.tsx → Sidebar.tsx} +7 -7
  147. package/src/lib/components/navigation/SidebarBadge.tsx +40 -0
  148. package/src/lib/components/navigation/SidebarCategory.tsx +105 -0
  149. package/src/lib/components/navigation/SidebarItem.tsx +96 -0
  150. package/src/lib/components/navigation/{SideNavigationWrapper.tsx → SidebarWrapper.tsx} +1 -1
  151. package/src/lib/components/navigation/utils.ts +120 -0
  152. package/src/lib/core/DevPortalContext.ts +12 -44
  153. package/src/lib/core/plugins.ts +6 -13
  154. package/src/lib/plugins/markdown/MdxPage.tsx +14 -50
  155. package/src/lib/plugins/markdown/generateRoutes.tsx +29 -57
  156. package/src/lib/plugins/openapi/OperationListItem.tsx +5 -6
  157. package/src/lib/plugins/openapi/ParameterList.tsx +13 -10
  158. package/src/lib/plugins/openapi/SchemaListView.tsx +18 -2
  159. package/src/lib/plugins/openapi/SchemaListViewItem.tsx +16 -7
  160. package/src/lib/plugins/openapi/Sidecar.tsx +15 -2
  161. package/src/lib/plugins/openapi/index.tsx +17 -23
  162. package/src/lib/plugins/openapi/interfaces.ts +1 -1
  163. package/src/lib/plugins/openapi/playground/Headers.tsx +1 -1
  164. package/src/lib/plugins/openapi/playground/Playground.tsx +1 -1
  165. package/src/lib/util/useScrollToAnchor.ts +39 -18
  166. package/dist/lib/components/navigation/SideNavigation.d.ts +0 -1
  167. package/dist/lib/components/navigation/SideNavigation.js +0 -12
  168. package/dist/lib/components/navigation/SideNavigation.js.map +0 -1
  169. package/dist/lib/components/navigation/SideNavigationCategory.d.ts +0 -4
  170. package/dist/lib/components/navigation/SideNavigationCategory.js +0 -26
  171. package/dist/lib/components/navigation/SideNavigationCategory.js.map +0 -1
  172. package/dist/lib/components/navigation/SideNavigationItem.d.ts +0 -9
  173. package/dist/lib/components/navigation/SideNavigationItem.js +0 -44
  174. package/dist/lib/components/navigation/SideNavigationItem.js.map +0 -1
  175. package/dist/lib/components/navigation/SideNavigationWrapper.js.map +0 -1
  176. package/dist/lib/components/navigation/useNavigationCollapsibleState.d.ts +0 -9
  177. package/dist/lib/components/navigation/useNavigationCollapsibleState.js +0 -28
  178. package/dist/lib/components/navigation/useNavigationCollapsibleState.js.map +0 -1
  179. package/dist/lib/components/navigation/util.d.ts +0 -8
  180. package/dist/lib/components/navigation/util.js +0 -15
  181. package/dist/lib/components/navigation/util.js.map +0 -1
  182. package/dist/lib/plugins/openapi/MethodBadge.d.ts +0 -13
  183. package/dist/lib/plugins/openapi/MethodBadge.js +0 -26
  184. package/dist/lib/plugins/openapi/MethodBadge.js.map +0 -1
  185. package/dist/lib/util/traverseNavigation.d.ts +0 -6
  186. package/dist/lib/util/traverseNavigation.js +0 -30
  187. package/dist/lib/util/traverseNavigation.js.map +0 -1
  188. package/lib/AnchorLink-BZcpTwOs.js.map +0 -1
  189. package/lib/DevPortalProvider-BWeAysxF.js.map +0 -1
  190. package/lib/DeveloperHint-DQVwIery.js +0 -10
  191. package/lib/MdxPage-CA1WmW14.js.map +0 -1
  192. package/lib/OperationList-CHK_erYP.js.map +0 -1
  193. package/lib/Route-D70pGn9n.js +0 -13
  194. package/lib/Spinner-Coi7ORUV.js +0 -244
  195. package/lib/Spinner-Coi7ORUV.js.map +0 -1
  196. package/lib/index-Bl6YeerK.js.map +0 -1
  197. package/lib/index-Dt-pU7Vu.js +0 -916
  198. package/lib/index-Dt-pU7Vu.js.map +0 -1
  199. package/lib/jsx-runtime-CJBdjYYx.js +0 -1526
  200. package/lib/jsx-runtime-CJBdjYYx.js.map +0 -1
  201. package/src/lib/components/navigation/SideNavigationCategory.tsx +0 -72
  202. package/src/lib/components/navigation/SideNavigationItem.tsx +0 -148
  203. package/src/lib/components/navigation/useNavigationCollapsibleState.ts +0 -42
  204. package/src/lib/components/navigation/util.ts +0 -38
  205. package/src/lib/plugins/openapi/MethodBadge.tsx +0 -36
  206. package/src/lib/util/traverseNavigation.ts +0 -55
@@ -1 +0,0 @@
1
- {"version":3,"file":"MdxPage-CA1WmW14.js","sources":["../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/list-tree.js","../src/lib/plugins/markdown/Toc.tsx","../src/lib/plugins/markdown/MdxPage.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.378.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst ListTree = createLucideIcon(\"ListTree\", [\n [\"path\", { d: \"M21 12h-8\", key: \"1bmf0i\" }],\n [\"path\", { d: \"M21 6H8\", key: \"1pqkrb\" }],\n [\"path\", { d: \"M21 18h-8\", key: \"1tm79t\" }],\n [\"path\", { d: \"M3 6v4c0 1.1.9 2 2 2h3\", key: \"1ywdgy\" }],\n [\"path\", { d: \"M3 10v6c0 1.1.9 2 2 2h3\", key: \"2wc746\" }]\n]);\n\nexport { ListTree as default };\n//# sourceMappingURL=list-tree.js.map\n","import type { TocEntry } from \"@stefanprobst/rehype-extract-toc\";\nimport { ListTreeIcon } from \"lucide-react\";\nimport {\n useEffect,\n useRef,\n useState,\n type CSSProperties,\n type PropsWithChildren,\n} from \"react\";\nimport { AnchorLink } from \"../../components/AnchorLink.js\";\nimport { useViewportAnchor } from \"../../components/context/ViewportAnchorContext.js\";\nimport { cn } from \"../../util/cn.js\";\n\nconst DATA_ANCHOR_ATTR = \"data-active\";\n\nconst TocItem = ({\n item,\n children,\n className,\n isActive,\n}: PropsWithChildren<{\n item: TocEntry;\n isActive: boolean;\n className?: string;\n}>) => {\n return (\n <li\n className={cn(\n \"truncate\",\n isActive\n ? \"text-primary\"\n : \"text-foreground/65 dark:text-foreground/75\",\n className,\n )}\n title={item.value}\n >\n <AnchorLink\n to={`#${item.id}`}\n {...{ [DATA_ANCHOR_ATTR]: item.id }}\n className={cn(\n isActive\n ? \"text-primary\"\n : \"text-foreground/65 dark:text-foreground/75 hover:text-foreground\",\n )}\n >\n {item.value}\n </AnchorLink>\n {children}\n </li>\n );\n};\n\nexport const Toc = ({ entries }: { entries: TocEntry[] }) => {\n const { activeAnchor } = useViewportAnchor();\n const listWrapperRef = useRef<HTMLUListElement>(null);\n const paintedOnce = useRef(false);\n const [indicatorStyle, setIndicatorStyles] = useState<CSSProperties>({\n top: 0,\n opacity: 0,\n });\n\n // synchronize active anchor indicator with the scroll position\n useEffect(() => {\n if (!listWrapperRef.current) return;\n\n const activeElement = listWrapperRef.current.querySelector(\n `[${DATA_ANCHOR_ATTR}='${activeAnchor}']`,\n );\n\n if (!activeElement) {\n setIndicatorStyles({ top: 0, opacity: 0 });\n return;\n }\n\n const topParent = listWrapperRef.current.getBoundingClientRect().top;\n const topElement = activeElement.getBoundingClientRect().top;\n\n setIndicatorStyles({\n opacity: 1,\n top: `${topElement - topParent}px`,\n });\n\n if (paintedOnce.current) return;\n\n // after all is painted, the indicator should animate\n requestIdleCallback(() => {\n paintedOnce.current = true;\n });\n }, [activeAnchor]);\n\n return (\n <aside className=\"sticky top-[--header-height] h-[calc(100vh-var(--header-height))] pt-[--padding-content-top] pb-[--padding-content-bottom] overflow-y-auto ps-1 text-sm\">\n <div className=\"flex items-center gap-2 font-medium mb-2\">\n <ListTreeIcon size={16} />\n On this page\n </div>\n <div className=\"relative ms-2 ps-4\">\n <div className=\"absolute inset-0 right-auto bg-border w-[2px]\" />\n <div\n className={cn(\n \"absolute -left-px -translate-y-1 h-6 w-[4px] rounded bg-primary\",\n paintedOnce.current &&\n \"ease-out [transition:top_150ms,opacity_325ms]\",\n )}\n style={indicatorStyle}\n />\n <ul\n ref={listWrapperRef}\n className=\"relative font-medium list-none space-y-2\"\n >\n {entries.map((item) => (\n <TocItem\n isActive={item.id === activeAnchor}\n key={item.id}\n item={item}\n className=\"pl-0\"\n >\n {item.children && (\n <ul className=\"list-none pl-4 pt-2 space-y-2\">\n {item.children.map((child) => (\n <TocItem\n item={child}\n isActive={child.id === activeAnchor}\n key={child.id}\n />\n ))}\n </ul>\n )}\n </TocItem>\n ))}\n </ul>\n </div>\n </aside>\n );\n};\n","import { useMDXComponents } from \"@mdx-js/react\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport { useMemo, type PropsWithChildren, type ReactNode } from \"react\";\nimport { Link, useLocation } from \"react-router-dom\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { ProseClasses } from \"../../components/Markdown.js\";\nimport { useTopNavigationItem } from \"../../components/context/DevPortalProvider.js\";\nimport { isPathItem } from \"../../components/navigation/util.js\";\nimport type { MdxComponentsType } from \"../../util/MdxComponents.js\";\nimport { cn } from \"../../util/cn.js\";\nimport slugify from \"../../util/slugify.js\";\nimport { traverseNavigation } from \"../../util/traverseNavigation.js\";\nimport { Toc } from \"./Toc.js\";\nimport { MarkdownPluginDefaultOptions, MDXImport } from \"./index.js\";\n\nconst MarkdownHeadings = {\n h2: ({ children, id }) => (\n <Heading level={2} id={id} registerSidebarAnchor>\n {children}\n </Heading>\n ),\n h3: ({ children, id }) => (\n <Heading level={3} id={id} registerSidebarAnchor>\n {\" \"}\n {children}\n </Heading>\n ),\n} satisfies MdxComponentsType;\n\nexport const MdxPage = ({\n mdxComponent: MdxComponent,\n frontmatter = {},\n defaultOptions,\n tableOfContents,\n}: PropsWithChildren<\n Omit<MDXImport, \"default\"> & {\n mdxComponent: MDXImport[\"default\"];\n defaultOptions?: MarkdownPluginDefaultOptions;\n }\n>) => {\n const navItem = useTopNavigationItem();\n const location = useLocation();\n\n const categoryTitle = navItem\n ? traverseNavigation(navItem, (_node, fullPath, parentNodes) => {\n if (fullPath === location.pathname) {\n return parentNodes.at(0)?.label;\n }\n })\n : undefined;\n\n const title = frontmatter.title;\n const category = frontmatter.category ?? categoryTitle;\n const hideToc = frontmatter.toc === false || defaultOptions?.toc === false;\n const pageTitle =\n tableOfContents.find((item) => item.depth === 1)?.value ?? title;\n const hidePager =\n frontmatter.disablePager ?? defaultOptions?.disablePager ?? false;\n\n const tocEntries =\n tableOfContents.find((item) => item.depth === 1)?.children ??\n // if `title` is provided by frontmatter it does not appear in the table of contents\n tableOfContents.filter((item) => item.depth === 2);\n\n const showToc = !hideToc && tocEntries.length > 0;\n\n const { prev, next } = useMemo(() => {\n let prev = { path: \"\", label: \"\" as ReactNode };\n let next = { path: \"\", label: \"\" as ReactNode };\n let shouldStop = false;\n\n if (!navItem) return { prev, next };\n\n traverseNavigation(navItem, (node, fullPath) => {\n const item = { path: fullPath, label: node.label };\n\n if (shouldStop && isPathItem(node) && !node.children?.length) {\n next = item;\n return true;\n }\n if (fullPath === location.pathname) {\n shouldStop = true;\n }\n if (!shouldStop && isPathItem(node) && !node.children?.length) {\n prev = item;\n }\n });\n\n return { prev, next } as const;\n }, [navItem, location.pathname]);\n\n return (\n <div className=\"xl:grid grid-cols-[--sidecar-grid-cols] gap-8 justify-between\">\n <Helmet>\n <title>{pageTitle}</title>\n </Helmet>\n <div\n className={cn(\n ProseClasses,\n \"max-w-full xl:w-full xl:max-w-prose flex-1 flex-shrink pt-[--padding-content-top] pb-[--padding-content-bottom]\",\n )}\n >\n <header>\n {category && <CategoryHeading>{category}</CategoryHeading>}\n {title && (\n <Heading level={1} id={slugify(title, { lower: true })}>\n {title}\n </Heading>\n )}\n {frontmatter.description && (\n <p className=\"prose-lg\">{frontmatter.description}</p>\n )}\n </header>\n <MdxComponent\n components={{ ...useMDXComponents(), ...MarkdownHeadings }}\n />\n {!hidePager && (\n <>\n <hr />\n <div className=\"not-prose flex items-center justify-between gap-8\">\n {prev.path ? (\n <Link\n to={prev.path}\n className=\"flex flex-col items-stretch gap-2 flex-1 truncate border rounded px-6 py-4 text-start hover:border-primary/85 transition shadow-sm hover:shadow-md\"\n title={\n typeof prev.label === \"string\" ? prev.label : undefined\n }\n >\n <div className=\"text-sm text-muted-foreground\">\n ← Previous page\n </div>\n <div className=\"text-lg text-primary truncate\">\n {prev.label}\n </div>\n </Link>\n ) : (\n <div className=\"flex-1\" />\n )}\n {next.path ? (\n <Link\n to={next.path}\n className=\"flex flex-col items-stretch gap-2 flex-1 truncate border rounded px-6 py-4 text-end hover:border-primary/85 transition shadow-sm hover:shadow-md\"\n title={\n typeof next.label === \"string\" ? next.label : undefined\n }\n >\n <div className=\"text-sm text-muted-foreground\">\n Next page →\n </div>\n <div className=\"text-lg text-primary truncate\">\n {next.label}\n </div>\n </Link>\n ) : (\n <div className=\"flex-1\" />\n )}\n </div>\n </>\n )}\n </div>\n <div className=\"hidden xl:block\">\n {showToc && <Toc entries={tocEntries} />}\n </div>\n </div>\n );\n};\n"],"names":["ListTree","createLucideIcon","DATA_ANCHOR_ATTR","TocItem","item","children","className","isActive","jsxs","cn","jsx","AnchorLink","Toc","entries","activeAnchor","useViewportAnchor","listWrapperRef","useRef","paintedOnce","indicatorStyle","setIndicatorStyles","useState","useEffect","activeElement","topParent","topElement","ListTreeIcon","child","MarkdownHeadings","id","Heading","MdxPage","MdxComponent","frontmatter","defaultOptions","tableOfContents","navItem","useTopNavigationItem","location","useLocation","categoryTitle","traverseNavigation","_node","fullPath","parentNodes","_a","title","category","hideToc","pageTitle","hidePager","tocEntries","_b","showToc","prev","next","useMemo","shouldStop","node","isPathItem","Helmet","ProseClasses","CategoryHeading","slugify","useMDXComponents","Fragment","Link"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"OperationList-CHK_erYP.js","sources":["../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/list-plus.js","../src/lib/plugins/openapi/graphql/fragment-masking.ts","../src/lib/util/groupBy.ts","../src/lib/util/renderIf.ts","../src/lib/plugins/openapi/ParameterListItem.tsx","../src/lib/plugins/openapi/ParameterList.tsx","../src/lib/util/objectEntries.ts","../src/lib/plugins/openapi/SchemaListViewItem.tsx","../src/lib/plugins/openapi/SchemaListViewItemGroup.tsx","../src/lib/plugins/openapi/util/prose.ts","../src/lib/plugins/openapi/SchemaListView.tsx","../src/lib/plugins/openapi/OperationListItem.tsx","../src/lib/plugins/openapi/OperationList.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.378.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst ListPlus = createLucideIcon(\"ListPlus\", [\n [\"path\", { d: \"M11 12H3\", key: \"51ecnj\" }],\n [\"path\", { d: \"M16 6H3\", key: \"1wxfjs\" }],\n [\"path\", { d: \"M16 18H3\", key: \"12xzn7\" }],\n [\"path\", { d: \"M18 9v6\", key: \"1twb98\" }],\n [\"path\", { d: \"M21 12h-6\", key: \"bt1uis\" }]\n]);\n\nexport { ListPlus as default };\n//# sourceMappingURL=list-plus.js.map\n","/* eslint-disable */\nimport type {\n DocumentTypeDecoration,\n ResultOf,\n TypedDocumentNode,\n} from \"@graphql-typed-document-node/core\";\nimport type { FragmentDefinitionNode } from \"graphql\";\nimport type { Incremental } from \"./graphql.js\";\n\nexport type FragmentType<\n TDocumentType extends DocumentTypeDecoration<any, any>,\n> =\n TDocumentType extends DocumentTypeDecoration<infer TType, any>\n ? [TType] extends [{ \" $fragmentName\"?: infer TKey }]\n ? TKey extends string\n ? { \" $fragmentRefs\"?: { [key in TKey]: TType } }\n : never\n : never\n : never;\n\n// return non-nullable if `fragmentType` is non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>>,\n): TType;\n// return nullable if `fragmentType` is undefined\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>> | undefined,\n): TType | undefined;\n// return nullable if `fragmentType` is nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>> | null,\n): TType | null;\n// return nullable if `fragmentType` is nullable or undefined\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | FragmentType<DocumentTypeDecoration<TType, any>>\n | null\n | undefined,\n): TType | null | undefined;\n// return array of non-nullable if `fragmentType` is array of non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: Array<FragmentType<DocumentTypeDecoration<TType, any>>>,\n): Array<TType>;\n// return array of nullable if `fragmentType` is array of nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | Array<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined,\n): Array<TType> | null | undefined;\n// return readonly array of non-nullable if `fragmentType` is array of non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>,\n): ReadonlyArray<TType>;\n// return readonly array of nullable if `fragmentType` is array of nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined,\n): ReadonlyArray<TType> | null | undefined;\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | FragmentType<DocumentTypeDecoration<TType, any>>\n | Array<FragmentType<DocumentTypeDecoration<TType, any>>>\n | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined,\n): TType | Array<TType> | ReadonlyArray<TType> | null | undefined {\n return fragmentType as any;\n}\n\nexport function makeFragmentData<\n F extends DocumentTypeDecoration<any, any>,\n FT extends ResultOf<F>,\n>(data: FT, _fragment: F): FragmentType<F> {\n return data as FragmentType<F>;\n}\nexport function isFragmentReady<TQuery, TFrag>(\n queryNode: DocumentTypeDecoration<TQuery, any>,\n fragmentNode: TypedDocumentNode<TFrag>,\n data:\n | FragmentType<TypedDocumentNode<Incremental<TFrag>, any>>\n | null\n | undefined,\n): data is FragmentType<typeof fragmentNode> {\n const deferredFields = (\n queryNode as {\n __meta__?: { deferredFields: Record<string, (keyof TFrag)[]> };\n }\n ).__meta__?.deferredFields;\n\n if (!deferredFields) return true;\n\n const fragDef = fragmentNode.definitions[0] as\n | FragmentDefinitionNode\n | undefined;\n const fragName = fragDef?.name?.value;\n\n const fields = (fragName && deferredFields[fragName]) || [];\n return fields.length > 0 && fields.every((field) => data && field in data);\n}\n","export const groupBy = <\n T extends Record<PropertyKey, any>,\n KeySelector extends (item: T) => PropertyKey,\n>(\n arr: T[],\n keySelector: KeySelector,\n): Partial<Record<ReturnType<KeySelector>, T[]>> => {\n return arr.reduce(\n (accumulator, val) => {\n const groupedKey = keySelector(val) as ReturnType<KeySelector>;\n if (!accumulator[groupedKey]) {\n accumulator[groupedKey] = [];\n }\n accumulator[groupedKey].push(val);\n return accumulator;\n },\n {} as Record<ReturnType<KeySelector>, T[]>,\n );\n};\n","export const renderIf = <G, R>(\n variable: G | undefined | null,\n callback: (variable: G) => R,\n): R | undefined => (variable ? callback(variable) : undefined);\n","import { Markdown } from \"../../components/Markdown.js\";\nimport { type SchemaObject } from \"../../oas/graphql/index.js\";\nimport { ColorizedParam } from \"./ColorizedParam.js\";\nimport type { OperationListItemResult } from \"./OperationList.js\";\nimport type { ParameterGroup } from \"./OperationListItem.js\";\n\nconst getParameterSchema = (\n parameter: ParameterListItemResult,\n): SchemaObject => {\n if (parameter.schema != null && typeof parameter.schema === \"object\") {\n return parameter.schema;\n }\n return {\n type: \"string\",\n };\n};\n\nexport type ParameterListItemResult = NonNullable<\n OperationListItemResult[\"parameters\"]\n>[number];\n\nexport const ParameterListItem = ({\n parameter,\n group,\n id,\n}: {\n parameter: ParameterListItemResult;\n group: ParameterGroup;\n id: string;\n}) => (\n <li className=\"p-4 bg-border/20 text-sm flex flex-col gap-1\">\n <div className=\"flex items-center gap-2\">\n <code>\n {group === \"path\" ? (\n <ColorizedParam\n name={parameter.name}\n backgroundOpacity=\"15%\"\n slug={id + \"-\" + parameter.name.toLocaleLowerCase()}\n />\n ) : (\n parameter.name\n )}\n </code>\n {parameter.required && (\n <span className=\"py-px px-1.5 font-medium bg-primary/75 text-muted rounded-lg\">\n required\n </span>\n )}\n {getParameterSchema(parameter).type && (\n <span className=\"text-muted-foreground\">\n {getParameterSchema(parameter).type}\n </span>\n )}\n </div>\n {parameter.description && (\n <Markdown\n content={parameter.description}\n className=\"text-sm prose-p:my-1\"\n />\n )}\n </li>\n);\n","import { Heading } from \"../../components/Heading.js\";\nimport type { ParameterGroup } from \"./OperationListItem.js\";\nimport {\n ParameterListItem,\n type ParameterListItemResult,\n} from \"./ParameterListItem.js\";\n\nexport const ParameterList = ({\n group,\n parameters,\n id,\n}: {\n group: ParameterGroup;\n parameters: ParameterListItemResult[];\n id: string;\n}) => (\n <>\n <Heading level={3} id={`${id}/${group}-parameters`} className=\"capitalize\">\n {group === \"header\" ? \"Headers\" : `${group} Parameters`}\n </Heading>\n <ul className=\"list-none m-0 px-0 overflow-hidden border divide-y divide-border rounded\">\n {parameters.map((parameter) => (\n <ParameterListItem\n key={`${parameter.name}-${parameter.in}`}\n parameter={parameter}\n id={id}\n group={group}\n />\n ))}\n </ul>\n </>\n);\n","type ValueOf<T> = T[keyof T];\ntype Entries<T> = [keyof T, ValueOf<T>][];\n\nexport const objectEntries = <T extends object>(obj: T): Entries<T> =>\n Object.entries(obj) as Entries<T>;\n","import * as Collapsible from \"@radix-ui/react-collapsible\";\nimport { ListPlusIcon } from \"lucide-react\";\nimport { Markdown } from \"../../components/Markdown.js\";\nimport { SchemaObject } from \"../../oas/parser/index.js\";\nimport { Button } from \"../../ui/Button.js\";\nimport { cn } from \"../../util/cn.js\";\nimport { SchemaListView } from \"./SchemaListView.js\";\n\nexport const SchemaListViewItem = ({\n propertyName,\n property,\n nestingLevel,\n isRequired,\n}: {\n propertyName: string;\n isRequired: boolean;\n property: SchemaObject;\n nestingLevel: number;\n}) => {\n if (!property) {\n return <div>no property</div>;\n }\n return (\n <div\n key={propertyName}\n className={cn(\n \"p-4 bg-border/20 hover:bg-border/30 flex gap-1 flex-col text-sm\",\n property.deprecated && \"opacity-50\",\n )}\n >\n <div className=\"flex items-center gap-2 relative\">\n <code>\n {propertyName} {property.title}\n </code>\n\n {property.type && (\n <span className=\"text-muted-foreground\">{property.type}</span>\n )}\n {property.deprecated && (\n <span className=\"text-muted-foreground\">Deprecated</span>\n )}\n {!isRequired && (\n <span className=\"py-px px-1.5 font-medium border rounded-lg\">\n optional {property.required}\n </span>\n )}\n </div>\n {property.description && (\n <Markdown\n content={property.description}\n className=\"text-sm leading-normal line-clamp-4 \"\n />\n )}\n\n {property.enum && (\n <span className=\"text-sm text-muted-foreground flex gap-1 flex-wrap items-center\">\n <span>Possible values</span>\n {/* Make values unique, some schemas have duplicates */}\n {[...new Set(property.enum.filter((value) => value))]\n .map((value) => (\n <span\n key={value}\n className=\"font-mono text-xs border bg-muted rounded px-1\"\n >\n {value}\n </span>\n ))\n .slice(0, 4)}\n {property.enum.length > 4 && (\n <span className=\"font-mono text-xs border bg-muted rounded px-1\">\n ...\n </span>\n )}\n </span>\n )}\n\n {(property.type === \"object\" &&\n (property.properties?.length ??\n Object.entries(property.additionalProperties ?? {}).length > 0)) ||\n (property.type === \"array\" &&\n // this check is needed because the `items` can be undefined despite the type being defined\n typeof property.items !== \"undefined\" &&\n property.items.type === \"object\") ? (\n <Collapsible.Root className=\"CollapsibleRoot\" defaultOpen={false}>\n <Collapsible.Trigger asChild>\n <Button variant=\"ghost\" size=\"sm\">\n Show nested fields\n <ListPlusIcon size={18} className=\"ml-1.5\" />\n </Button>\n </Collapsible.Trigger>\n\n <Collapsible.Content>\n {property.type === \"object\" && (\n <div className=\"mt-2.5\">\n <SchemaListView\n schema={property}\n level={nestingLevel + 1}\n defaultOpen\n />\n </div>\n )}\n {property.type === \"array\" && property.items.type === \"object\" && (\n <div className=\"mt-2.5\">\n <SchemaListView\n schema={property.items}\n defaultOpen\n level={nestingLevel + 1}\n />\n </div>\n )}\n </Collapsible.Content>\n </Collapsible.Root>\n ) : null}\n </div>\n );\n};\n","import * as Collapsible from \"@radix-ui/react-collapsible\";\nimport { useState } from \"react\";\nimport { SchemaObject } from \"../../oas/parser/index.js\";\nimport { cn } from \"../../util/cn.js\";\nimport { SchemaListViewItem } from \"./SchemaListViewItem.js\";\n\nexport const SchemaListViewItemGroup = ({\n group,\n properties,\n nestingLevel,\n required,\n defaultOpen = false,\n}: {\n group: \"optional\" | \"required\" | \"deprecated\";\n defaultOpen?: boolean;\n properties: [string, SchemaObject][];\n nestingLevel: number;\n required: string[];\n}) => {\n const notCollapsible =\n defaultOpen ||\n group === \"required\" ||\n properties.length === 1 ||\n nestingLevel === 0;\n\n const [open, setOpen] = useState(notCollapsible);\n\n if (properties.length === 0) {\n return;\n }\n\n return (\n <Collapsible.Root\n className=\"CollapsibleRoot\"\n open={open}\n onOpenChange={setOpen}\n >\n {!open && (\n <Collapsible.Trigger\n className={cn(\n \"py-2 hover:bg-muted w-full\",\n group === \"optional\" && \"font-semibold\",\n group === \"deprecated\" && \"text-muted-foreground\",\n )}\n >\n {properties.length} {group} fields\n </Collapsible.Trigger>\n )}\n\n <Collapsible.Content className=\"divide-y divide-border\">\n {properties.map(([propertyName, property]) => (\n <SchemaListViewItem\n key={propertyName}\n property={property}\n propertyName={propertyName}\n nestingLevel={nestingLevel}\n isRequired={required.includes(propertyName)}\n />\n ))}\n </Collapsible.Content>\n </Collapsible.Root>\n );\n};\n","import { ProseClasses } from \"../../../components/Markdown.js\";\nimport { cn } from \"../../../util/cn.js\";\n\nexport const SchemaProseClasses = cn(\n ProseClasses,\n \"max-w-full prose-img:max-w-prose\",\n);\n","import { Markdown } from \"../../components/Markdown.js\";\nimport { SchemaObject } from \"../../oas/parser/index.js\";\nimport { groupBy } from \"../../util/groupBy.js\";\nimport { objectEntries } from \"../../util/objectEntries.js\";\nimport { SchemaListViewItemGroup } from \"./SchemaListViewItemGroup.js\";\nimport { SchemaProseClasses } from \"./util/prose.js\";\n\nexport const SchemaListView = ({\n name,\n schema,\n level = 0,\n defaultOpen = false,\n}: {\n level?: number;\n defaultOpen?: boolean;\n name?: string;\n schema: SchemaObject;\n}) => {\n const properties = Object.entries(schema.properties ?? {});\n const additionalProperties =\n typeof schema.additionalProperties === \"object\"\n ? Object.entries(schema.additionalProperties)\n : [];\n\n const combinedProperties = properties.concat(\n Array.isArray(additionalProperties) ? additionalProperties : [],\n );\n\n const groups = groupBy(combinedProperties, ([propertyName, property]) => {\n return property.deprecated\n ? \"deprecated\"\n : schema.required?.includes(propertyName)\n ? \"required\"\n : \"optional\";\n });\n\n return (\n <div className=\"flex flex-col gap-2.5\">\n {(schema.title ?? name) && (\n <div className=\"ml-2 my-1 font-bold\">{schema.title ?? name}</div>\n )}\n {level === 0 && schema.description && (\n <Markdown className={SchemaProseClasses} content={schema.description} />\n )}\n <ul className=\"border-border border rounded overflow-hidden\">\n {objectEntries(groups).map(([group, properties]) => (\n <SchemaListViewItemGroup\n key={group}\n defaultOpen={defaultOpen}\n group={group}\n nestingLevel={level}\n properties={properties ?? []}\n required={schema.required ?? []}\n />\n ))}\n </ul>\n </div>\n );\n};\n","import { Heading } from \"../../components/Heading.js\";\nimport { Markdown } from \"../../components/Markdown.js\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"../../ui/Tabs.js\";\nimport { groupBy } from \"../../util/groupBy.js\";\nimport { renderIf } from \"../../util/renderIf.js\";\nimport { OperationsFragment } from \"./OperationList.js\";\nimport { ParameterList } from \"./ParameterList.js\";\nimport { SchemaListView } from \"./SchemaListView.js\";\nimport { Sidecar } from \"./Sidecar.js\";\nimport { FragmentType, useFragment } from \"./graphql/index.js\";\nimport { SchemaProseClasses } from \"./util/prose.js\";\n\nexport const PARAM_GROUPS = [\"path\", \"query\", \"header\", \"cookie\"] as const;\nexport type ParameterGroup = (typeof PARAM_GROUPS)[number];\n\nexport const OperationListItem = ({\n operationFragment,\n}: {\n operationFragment: FragmentType<typeof OperationsFragment>;\n}) => {\n const operation = useFragment(OperationsFragment, operationFragment);\n const groupedParameters = groupBy(\n operation.parameters ?? [],\n (param) => param.in,\n );\n\n const first = operation.responses.at(0);\n return (\n <div\n key={operation.operationId}\n className=\"grid grid-cols-1 lg:grid-cols-[4fr_3fr] gap-8 items-start border-b-2 mb-16 pb-16 border-border\"\n >\n <div className=\"flex flex-col gap-4\">\n <Heading level={2} id={operation.slug} registerSidebarAnchor>\n {operation.summary}\n </Heading>\n {operation.description && (\n <Markdown\n className={SchemaProseClasses}\n content={operation.description}\n />\n )}\n {operation.parameters && operation.parameters.length > 0 && (\n <>\n {PARAM_GROUPS.flatMap((group) =>\n groupedParameters[group]?.length ? (\n <ParameterList\n key={group}\n id={operation.slug}\n parameters={groupedParameters[group]}\n group={group}\n />\n ) : (\n []\n ),\n )}\n </>\n )}\n {renderIf(operation.requestBody?.content?.at(0)?.schema, (schema) => (\n <div className=\"mt-4 flex flex-col gap-4\">\n <Heading level={3} className=\"capitalize\">\n Request Body\n </Heading>\n <SchemaListView schema={schema} />\n </div>\n ))}\n {operation.responses.length > 0 && (\n <>\n <Heading level={3} className=\"capitalize mt-8 pt-8 border-t\">\n Responses\n </Heading>\n <Tabs defaultValue={`${first?.statusCode}${first?.description}`}>\n {operation.responses.length > 1 && (\n <TabsList>\n {operation.responses.map((response) => (\n <TabsTrigger\n value={response.statusCode + response.description}\n key={response.statusCode}\n title={response.description}\n >\n {response.statusCode}\n </TabsTrigger>\n ))}\n </TabsList>\n )}\n <ul className=\"list-none m-0 px-0 overflow-hidden\">\n {operation.responses.map((response) => (\n <TabsContent\n value={response.statusCode + response.description}\n key={response.statusCode}\n >\n {renderIf(\n response.content?.find((content) => content.schema),\n (content) => {\n return (\n <SchemaListView schema={content.schema} name=\"\" />\n );\n },\n ) ?? (\n <div className=\"border-border font-mono text-sm border rounded p-4\">\n No response body\n </div>\n )}\n </TabsContent>\n ))}\n </ul>\n </Tabs>\n </>\n )}\n </div>\n\n <Sidecar operation={operation} />\n </div>\n );\n};\n","import { ResultOf } from \"@graphql-typed-document-node/core\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { DeveloperHint } from \"../../components/DeveloperHint.js\";\nimport { ErrorPage } from \"../../components/ErrorPage.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { InlineCode } from \"../../components/InlineCode.js\";\nimport { Markdown } from \"../../components/Markdown.js\";\nimport { SyntaxHighlight } from \"../../components/SyntaxHighlight.js\";\nimport { cn } from \"../../util/cn.js\";\nimport { OperationListItem } from \"./OperationListItem.js\";\nimport StaggeredRender from \"./StaggeredRender.js\";\nimport { useOasConfig } from \"./context.js\";\nimport { graphql } from \"./graphql/index.js\";\nimport { SchemaProseClasses } from \"./util/prose.js\";\nimport { useQuery } from \"./util/urql.js\";\n\nexport const OperationsFragment = graphql(/* GraphQL */ `\n fragment OperationsFragment on OperationItem {\n slug\n summary\n method\n description\n operationId\n contentTypes\n path\n parameters {\n name\n in\n description\n required\n schema\n style\n examples {\n name\n description\n externalValue\n value\n summary\n }\n }\n requestBody {\n content {\n mediaType\n encoding {\n name\n }\n schema\n }\n description\n required\n }\n responses {\n statusCode\n links\n description\n content {\n mediaType\n encoding {\n name\n }\n schema\n }\n }\n }\n`);\n\nexport type OperationListItemResult = ResultOf<typeof OperationsFragment>;\n\nconst AllOperationsQuery = graphql(/* GraphQL */ `\n query AllOperations($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n description\n title\n url\n version\n tags {\n name\n description\n operations {\n slug\n ...OperationsFragment\n }\n }\n }\n }\n`);\n\nconst suspenseContext = { suspense: true };\n\nexport const OperationList = () => {\n const { type, input } = useOasConfig();\n\n const [result] = useQuery({\n query: AllOperationsQuery,\n variables: { type, input },\n context: suspenseContext,\n });\n\n const error = result.error?.graphQLErrors.at(0);\n\n // Looks like there is no Suspense level error handling (yet)?\n // So we handle the error case in the component directly\n if (error) {\n return (\n <ErrorPage\n category=\"Error\"\n title=\"Schema cannot be displayed\"\n message={\n <>\n <DeveloperHint className=\"mb-4\">\n Check your configuration value <InlineCode>apis.type</InlineCode>{\" \"}\n and <InlineCode>apis.input</InlineCode> in the Zudoku config.\n </DeveloperHint>\n An error occurred while trying to fetch the API reference:\n <SyntaxHighlight code={error.toString()} language=\"plain\" />\n </>\n }\n />\n );\n }\n\n if (!result.data) return null;\n\n return (\n <div className=\"pt-[--padding-content-top]\">\n <div\n className={cn(\n SchemaProseClasses,\n \"mb-16 max-w-full prose-img:max-w-prose\",\n )}\n >\n <CategoryHeading>Overview</CategoryHeading>\n <Heading level={1} id=\"description\" registerSidebarAnchor>\n {result.data.schema.title}\n </Heading>\n <Markdown content={result.data.schema.description ?? \"\"} />\n </div>\n {result.data.schema.tags\n .filter((tag) => tag.operations.length > 0)\n .map((tag) => (\n <div key={tag.name}>\n {tag.name && <CategoryHeading>{tag.name}</CategoryHeading>}\n {tag.description && (\n <Markdown\n className={`${SchemaProseClasses} mt-2 mb-12`}\n content={tag.description}\n />\n )}\n <div className=\"operation mb-12\">\n <StaggeredRender>\n {tag.operations.map((fragment) => (\n <OperationListItem\n key={fragment.slug}\n operationFragment={fragment}\n />\n ))}\n </StaggeredRender>\n </div>\n </div>\n ))}\n </div>\n );\n};\n"],"names":["ListPlus","createLucideIcon","useFragment","_documentNode","fragmentType","groupBy","arr","keySelector","accumulator","val","groupedKey","renderIf","variable","callback","getParameterSchema","parameter","ParameterListItem","group","id","jsxs","jsx","ColorizedParam","Markdown","ParameterList","parameters","Fragment","Heading","objectEntries","obj","SchemaListViewItem","propertyName","property","nestingLevel","isRequired","cn","value","_a","Collapsible.Root","Collapsible.Trigger","Button","ListPlusIcon","Collapsible.Content","SchemaListView","SchemaListViewItemGroup","properties","required","defaultOpen","notCollapsible","open","setOpen","useState","SchemaProseClasses","ProseClasses","name","schema","level","additionalProperties","combinedProperties","groups","PARAM_GROUPS","OperationListItem","operationFragment","operation","OperationsFragment","groupedParameters","param","first","_c","_b","Tabs","TabsList","response","TabsTrigger","TabsContent","content","Sidecar","graphql","AllOperationsQuery","suspenseContext","OperationList","type","input","useOasConfig","result","useQuery","error","ErrorPage","DeveloperHint","InlineCode","SyntaxHighlight","CategoryHeading","tag","StaggeredRender","fragment"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,13 +0,0 @@
1
- import { j as r, O as i } from "./jsx-runtime-CJBdjYYx.js";
2
- import { O as t } from "./index-Bl6YeerK.js";
3
- import { P as s } from "./urql-DrBfkb92.js";
4
- function p({
5
- config: o,
6
- client: e
7
- }) {
8
- return /* @__PURE__ */ r.jsx(s, { value: e, children: /* @__PURE__ */ r.jsx(t, { value: { config: o }, children: /* @__PURE__ */ r.jsx(i, {}) }) });
9
- }
10
- export {
11
- p as OpenApiRoute
12
- };
13
- //# sourceMappingURL=Route-D70pGn9n.js.map
@@ -1,244 +0,0 @@
1
- import * as s from "react";
2
- import * as V from "react-dom";
3
- import { u as _, r as x, c as q, a as J, k as Q, o as X, f as Z, P as D, d as A, n as $ } from "./Combination-C442XfGG.js";
4
- import { j as R } from "./jsx-runtime-CJBdjYYx.js";
5
- import { c as ee } from "./Markdown-QsZ-PHET.js";
6
- /**
7
- * @license lucide-react v0.378.0 - ISC
8
- *
9
- * This source code is licensed under the ISC license.
10
- * See the LICENSE file in the root directory of this source tree.
11
- */
12
- const te = ee("LoaderCircle", [
13
- ["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]
14
- ]);
15
- function ne(e, t) {
16
- return s.useReducer((r, n) => t[r][n] ?? r, e);
17
- }
18
- var oe = (e) => {
19
- const { present: t, children: r } = e, n = re(t), i = typeof r == "function" ? r({ present: n.isPresent }) : s.Children.only(r), d = _(n.ref, se(i));
20
- return typeof r == "function" || n.isPresent ? s.cloneElement(i, { ref: d }) : null;
21
- };
22
- oe.displayName = "Presence";
23
- function re(e) {
24
- const [t, r] = s.useState(), n = s.useRef({}), i = s.useRef(e), d = s.useRef("none"), b = e ? "mounted" : "unmounted", [N, c] = ne(b, {
25
- mounted: {
26
- UNMOUNT: "unmounted",
27
- ANIMATION_OUT: "unmountSuspended"
28
- },
29
- unmountSuspended: {
30
- MOUNT: "mounted",
31
- ANIMATION_END: "unmounted"
32
- },
33
- unmounted: {
34
- MOUNT: "mounted"
35
- }
36
- });
37
- return s.useEffect(() => {
38
- const o = T(n.current);
39
- d.current = N === "mounted" ? o : "none";
40
- }, [N]), x(() => {
41
- const o = n.current, l = i.current;
42
- if (l !== e) {
43
- const g = d.current, p = T(o);
44
- e ? c("MOUNT") : p === "none" || (o == null ? void 0 : o.display) === "none" ? c("UNMOUNT") : c(l && g !== p ? "ANIMATION_OUT" : "UNMOUNT"), i.current = e;
45
- }
46
- }, [e, c]), x(() => {
47
- if (t) {
48
- const o = (m) => {
49
- const p = T(n.current).includes(m.animationName);
50
- m.target === t && p && V.flushSync(() => c("ANIMATION_END"));
51
- }, l = (m) => {
52
- m.target === t && (d.current = T(n.current));
53
- };
54
- return t.addEventListener("animationstart", l), t.addEventListener("animationcancel", o), t.addEventListener("animationend", o), () => {
55
- t.removeEventListener("animationstart", l), t.removeEventListener("animationcancel", o), t.removeEventListener("animationend", o);
56
- };
57
- } else
58
- c("ANIMATION_END");
59
- }, [t, c]), {
60
- isPresent: ["mounted", "unmountSuspended"].includes(N),
61
- ref: s.useCallback((o) => {
62
- o && (n.current = getComputedStyle(o)), r(o);
63
- }, [])
64
- };
65
- }
66
- function T(e) {
67
- return (e == null ? void 0 : e.animationName) || "none";
68
- }
69
- function se(e) {
70
- var n, i;
71
- let t = (n = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : n.get, r = t && "isReactWarning" in t && t.isReactWarning;
72
- return r ? e.ref : (t = (i = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : i.get, r = t && "isReactWarning" in t && t.isReactWarning, r ? e.props.ref : e.props.ref || e.ref);
73
- }
74
- var O = "rovingFocusGroup.onEntryFocus", ae = { bubbles: !1, cancelable: !0 }, F = "RovingFocusGroup", [P, U, ce] = q(F), [ie, Ee] = J(
75
- F,
76
- [ce]
77
- ), [ue, fe] = ie(F), L = s.forwardRef(
78
- (e, t) => /* @__PURE__ */ R.jsx(P.Provider, { scope: e.__scopeRovingFocusGroup, children: /* @__PURE__ */ R.jsx(P.Slot, { scope: e.__scopeRovingFocusGroup, children: /* @__PURE__ */ R.jsx(de, { ...e, ref: t }) }) })
79
- );
80
- L.displayName = F;
81
- var de = s.forwardRef((e, t) => {
82
- const {
83
- __scopeRovingFocusGroup: r,
84
- orientation: n,
85
- loop: i = !1,
86
- dir: d,
87
- currentTabStopId: b,
88
- defaultCurrentTabStopId: N,
89
- onCurrentTabStopIdChange: c,
90
- onEntryFocus: o,
91
- preventScrollOnEntryFocus: l = !1,
92
- ...m
93
- } = e, g = s.useRef(null), p = _(t, g), a = Q(d), [I = null, S] = X({
94
- prop: b,
95
- defaultProp: N,
96
- onChange: c
97
- }), [f, v] = s.useState(!1), C = Z(o), K = U(r), h = s.useRef(!1), [B, y] = s.useState(0);
98
- return s.useEffect(() => {
99
- const u = g.current;
100
- if (u)
101
- return u.addEventListener(O, C), () => u.removeEventListener(O, C);
102
- }, [C]), /* @__PURE__ */ R.jsx(
103
- ue,
104
- {
105
- scope: r,
106
- orientation: n,
107
- dir: a,
108
- loop: i,
109
- currentTabStopId: I,
110
- onItemFocus: s.useCallback(
111
- (u) => S(u),
112
- [S]
113
- ),
114
- onItemShiftTab: s.useCallback(() => v(!0), []),
115
- onFocusableItemAdd: s.useCallback(
116
- () => y((u) => u + 1),
117
- []
118
- ),
119
- onFocusableItemRemove: s.useCallback(
120
- () => y((u) => u - 1),
121
- []
122
- ),
123
- children: /* @__PURE__ */ R.jsx(
124
- D.div,
125
- {
126
- tabIndex: f || B === 0 ? -1 : 0,
127
- "data-orientation": n,
128
- ...m,
129
- ref: p,
130
- style: { outline: "none", ...e.style },
131
- onMouseDown: A(e.onMouseDown, () => {
132
- h.current = !0;
133
- }),
134
- onFocus: A(e.onFocus, (u) => {
135
- const W = !h.current;
136
- if (u.target === u.currentTarget && W && !f) {
137
- const M = new CustomEvent(O, ae);
138
- if (u.currentTarget.dispatchEvent(M), !M.defaultPrevented) {
139
- const w = K().filter((E) => E.focusable), Y = w.find((E) => E.active), z = w.find((E) => E.id === I), H = [Y, z, ...w].filter(
140
- Boolean
141
- ).map((E) => E.ref.current);
142
- k(H, l);
143
- }
144
- }
145
- h.current = !1;
146
- }),
147
- onBlur: A(e.onBlur, () => v(!1))
148
- }
149
- )
150
- }
151
- );
152
- }), G = "RovingFocusGroupItem", j = s.forwardRef(
153
- (e, t) => {
154
- const {
155
- __scopeRovingFocusGroup: r,
156
- focusable: n = !0,
157
- active: i = !1,
158
- tabStopId: d,
159
- ...b
160
- } = e, N = $(), c = d || N, o = fe(G, r), l = o.currentTabStopId === c, m = U(r), { onFocusableItemAdd: g, onFocusableItemRemove: p } = o;
161
- return s.useEffect(() => {
162
- if (n)
163
- return g(), () => p();
164
- }, [n, g, p]), /* @__PURE__ */ R.jsx(
165
- P.ItemSlot,
166
- {
167
- scope: r,
168
- id: c,
169
- focusable: n,
170
- active: i,
171
- children: /* @__PURE__ */ R.jsx(
172
- D.span,
173
- {
174
- tabIndex: l ? 0 : -1,
175
- "data-orientation": o.orientation,
176
- ...b,
177
- ref: t,
178
- onMouseDown: A(e.onMouseDown, (a) => {
179
- n ? o.onItemFocus(c) : a.preventDefault();
180
- }),
181
- onFocus: A(e.onFocus, () => o.onItemFocus(c)),
182
- onKeyDown: A(e.onKeyDown, (a) => {
183
- if (a.key === "Tab" && a.shiftKey) {
184
- o.onItemShiftTab();
185
- return;
186
- }
187
- if (a.target !== a.currentTarget) return;
188
- const I = pe(a, o.orientation, o.dir);
189
- if (I !== void 0) {
190
- if (a.metaKey || a.ctrlKey || a.altKey || a.shiftKey) return;
191
- a.preventDefault();
192
- let f = m().filter((v) => v.focusable).map((v) => v.ref.current);
193
- if (I === "last") f.reverse();
194
- else if (I === "prev" || I === "next") {
195
- I === "prev" && f.reverse();
196
- const v = f.indexOf(a.currentTarget);
197
- f = o.loop ? ve(f, v + 1) : f.slice(v + 1);
198
- }
199
- setTimeout(() => k(f));
200
- }
201
- })
202
- }
203
- )
204
- }
205
- );
206
- }
207
- );
208
- j.displayName = G;
209
- var le = {
210
- ArrowLeft: "prev",
211
- ArrowUp: "prev",
212
- ArrowRight: "next",
213
- ArrowDown: "next",
214
- PageUp: "first",
215
- Home: "first",
216
- PageDown: "last",
217
- End: "last"
218
- };
219
- function me(e, t) {
220
- return t !== "rtl" ? e : e === "ArrowLeft" ? "ArrowRight" : e === "ArrowRight" ? "ArrowLeft" : e;
221
- }
222
- function pe(e, t, r) {
223
- const n = me(e.key, r);
224
- if (!(t === "vertical" && ["ArrowLeft", "ArrowRight"].includes(n)) && !(t === "horizontal" && ["ArrowUp", "ArrowDown"].includes(n)))
225
- return le[n];
226
- }
227
- function k(e, t = !1) {
228
- const r = document.activeElement;
229
- for (const n of e)
230
- if (n === r || (n.focus({ preventScroll: t }), document.activeElement !== r)) return;
231
- }
232
- function ve(e, t) {
233
- return e.map((r, n) => e[(t + n) % e.length]);
234
- }
235
- var be = L, Ae = j;
236
- const Te = ({ size: e = 16 }) => /* @__PURE__ */ R.jsx(te, { size: e, className: "animate-spin" });
237
- export {
238
- Ae as I,
239
- oe as P,
240
- be as R,
241
- Te as S,
242
- Ee as c
243
- };
244
- //# sourceMappingURL=Spinner-Coi7ORUV.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Spinner-Coi7ORUV.js","sources":["../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/loader-circle.js","../../../node_modules/.pnpm/@radix-ui+react-presence@1.1.0_@types+react-dom@18.3.0_@types+react@18.3.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@radix-ui/react-presence/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-roving-focus@1.1.0_@types+react-dom@18.3.0_@types+react@18.3.3_react-dom@18.3_c7p7fyahj7jvpuxrqgc7mv7csa/node_modules/@radix-ui/react-roving-focus/dist/index.mjs","../src/lib/components/Spinner.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.378.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst LoaderCircle = createLucideIcon(\"LoaderCircle\", [\n [\"path\", { d: \"M21 12a9 9 0 1 1-6.219-8.56\", key: \"13zald\" }]\n]);\n\nexport { LoaderCircle as default };\n//# sourceMappingURL=loader-circle.js.map\n","\"use client\";\n\n// packages/react/presence/src/Presence.tsx\nimport * as React2 from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// packages/react/presence/src/useStateMachine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// packages/react/presence/src/Presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef({});\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n if (event.target === node && isCurrentAnimation) {\n ReactDOM.flushSync(() => send(\"ANIMATION_END\"));\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n if (node2) stylesRef.current = getComputedStyle(node2);\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Presence\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/roving-focus/src/RovingFocusGroup.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar GROUP_NAME = \"RovingFocusGroup\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(GROUP_NAME);\nvar [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope]\n);\nvar [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);\nvar RovingFocusGroup = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n }\n);\nRovingFocusGroup.displayName = GROUP_NAME;\nvar RovingFocusGroupImpl = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId = null, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId,\n onChange: onCurrentTabStopIdChange\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = React.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n return /* @__PURE__ */ jsx(\n RovingFocusProvider,\n {\n scope: __scopeRovingFocusGroup,\n orientation,\n dir: direction,\n loop,\n currentTabStopId,\n onItemFocus: React.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId]\n ),\n onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),\n onFocusableItemAdd: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n []\n ),\n onFocusableItemRemove: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n []\n ),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n \"data-orientation\": orientation,\n ...groupProps,\n ref: composedRefs,\n style: { outline: \"none\", ...props.style },\n onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n }),\n onFocus: composeEventHandlers(props.onFocus, (event) => {\n const isKeyboardFocus = !isClickFocusRef.current;\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean\n );\n const candidateNodes = candidateItems.map((item) => item.ref.current);\n focusFirst(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n isClickFocusRef.current = false;\n }),\n onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n }\n )\n }\n );\n});\nvar ITEM_NAME = \"RovingFocusGroupItem\";\nvar RovingFocusGroupItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection(__scopeRovingFocusGroup);\n const { onFocusableItemAdd, onFocusableItemRemove } = context;\n React.useEffect(() => {\n if (focusable) {\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }\n }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeRovingFocusGroup,\n id,\n focusable,\n active,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n tabIndex: isCurrentTabStop ? 0 : -1,\n \"data-orientation\": context.orientation,\n ...itemProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!focusable) event.preventDefault();\n else context.onItemFocus(id);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n if (event.target !== event.currentTarget) return;\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n if (focusIntent !== void 0) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current);\n if (focusIntent === \"last\") candidateNodes.reverse();\n else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n if (focusIntent === \"prev\") candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n }\n })\n }\n )\n }\n );\n }\n);\nRovingFocusGroupItem.displayName = ITEM_NAME;\nvar MAP_KEY_TO_FOCUS_INTENT = {\n ArrowLeft: \"prev\",\n ArrowUp: \"prev\",\n ArrowRight: \"next\",\n ArrowDown: \"next\",\n PageUp: \"first\",\n Home: \"first\",\n PageDown: \"last\",\n End: \"last\"\n};\nfunction getDirectionAwareKey(key, dir) {\n if (dir !== \"rtl\") return key;\n return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n}\nfunction getFocusIntent(event, orientation, dir) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\nfunction focusFirst(candidates, preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root = RovingFocusGroup;\nvar Item = RovingFocusGroupItem;\nexport {\n Item,\n Root,\n RovingFocusGroup,\n RovingFocusGroupItem,\n createRovingFocusGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n","import { LoaderCircle } from \"lucide-react\";\n\nexport const Spinner = ({ size = 16 }: { size?: number }) => (\n <LoaderCircle size={size} className=\"animate-spin\" />\n);\n"],"names":["LoaderCircle","createLucideIcon","useStateMachine","initialState","machine","React","state","event","Presence","props","present","children","presence","usePresence","child","React2","ref","useComposedRefs","getElementRef","node","setNode","stylesRef","prevPresentRef","prevAnimationNameRef","send","currentAnimationName","getAnimationName","useLayoutEffect","styles","wasPresent","prevAnimationName","handleAnimationEnd","isCurrentAnimation","ReactDOM","handleAnimationStart","node2","element","getter","_a","mayWarn","_b","ENTRY_FOCUS","EVENT_OPTIONS","GROUP_NAME","Collection","useCollection","createCollectionScope","createCollection","createRovingFocusGroupContext","createRovingFocusGroupScope","createContextScope","RovingFocusProvider","useRovingFocusContext","RovingFocusGroup","forwardedRef","jsx","RovingFocusGroupImpl","__scopeRovingFocusGroup","orientation","loop","dir","currentTabStopIdProp","defaultCurrentTabStopId","onCurrentTabStopIdChange","onEntryFocus","preventScrollOnEntryFocus","groupProps","composedRefs","direction","useDirection","currentTabStopId","setCurrentTabStopId","useControllableState","isTabbingBackOut","setIsTabbingBackOut","handleEntryFocus","useCallbackRef","getItems","isClickFocusRef","focusableItemsCount","setFocusableItemsCount","tabStopId","prevCount","Primitive","composeEventHandlers","isKeyboardFocus","entryFocusEvent","items","item","activeItem","currentItem","candidateNodes","focusFirst","ITEM_NAME","RovingFocusGroupItem","focusable","active","itemProps","autoId","useId","id","context","isCurrentTabStop","onFocusableItemAdd","onFocusableItemRemove","focusIntent","getFocusIntent","currentIndex","wrapArray","MAP_KEY_TO_FOCUS_INTENT","getDirectionAwareKey","key","candidates","preventScroll","PREVIOUSLY_FOCUSED_ELEMENT","candidate","array","startIndex","_","index","Root","Item","Spinner","size"],"mappings":"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","x_google_ignoreList":[0,1,2]}