zudoku 0.0.0-monetization-standalone.z2a065bd9 → 0.0.0-money-plugin.z605c614d

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 (235) hide show
  1. package/dist/config/create-plugin.d.ts +2 -2
  2. package/dist/config/create-plugin.js.map +1 -1
  3. package/dist/config/validators/InputNavigationSchema.d.ts +103 -53
  4. package/dist/config/validators/InputNavigationSchema.js +17 -0
  5. package/dist/config/validators/InputNavigationSchema.js.map +1 -1
  6. package/dist/config/validators/NavigationSchema.d.ts +10 -2
  7. package/dist/config/validators/NavigationSchema.js +7 -0
  8. package/dist/config/validators/NavigationSchema.js.map +1 -1
  9. package/dist/config/validators/ProtectedRoutesSchema.d.ts +1 -1
  10. package/dist/config/validators/validate.d.ts +3 -3
  11. package/dist/flat-config.d.ts +35 -24
  12. package/dist/lib/components/Heading.d.ts +1 -1
  13. package/dist/lib/components/MobileTopNavigation.js +2 -1
  14. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  15. package/dist/lib/components/TopNavigation.d.ts +7 -1
  16. package/dist/lib/components/TopNavigation.js +7 -2
  17. package/dist/lib/components/TopNavigation.js.map +1 -1
  18. package/dist/lib/components/context/ZudokuContext.d.ts +8 -1
  19. package/dist/lib/components/context/ZudokuContext.js +2 -0
  20. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  21. package/dist/lib/components/index.d.ts +18 -76
  22. package/dist/lib/components/index.js +19 -36
  23. package/dist/lib/components/index.js.map +1 -1
  24. package/dist/lib/components/navigation/Navigation.js +4 -3
  25. package/dist/lib/components/navigation/Navigation.js.map +1 -1
  26. package/dist/lib/components/navigation/NavigationCategory.js +8 -0
  27. package/dist/lib/components/navigation/NavigationCategory.js.map +1 -1
  28. package/dist/lib/components/navigation/NavigationFilterContext.d.ts +8 -0
  29. package/dist/lib/components/navigation/NavigationFilterContext.js +12 -0
  30. package/dist/lib/components/navigation/NavigationFilterContext.js.map +1 -0
  31. package/dist/lib/components/navigation/NavigationFilterInput.d.ts +3 -0
  32. package/dist/lib/components/navigation/NavigationFilterInput.js +9 -0
  33. package/dist/lib/components/navigation/NavigationFilterInput.js.map +1 -0
  34. package/dist/lib/components/navigation/NavigationItem.js +11 -1
  35. package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
  36. package/dist/lib/components/navigation/utils.d.ts +2 -1
  37. package/dist/lib/components/navigation/utils.js +22 -1
  38. package/dist/lib/components/navigation/utils.js.map +1 -1
  39. package/dist/lib/hooks/index.d.ts +7 -30
  40. package/dist/lib/hooks/index.js +7 -15
  41. package/dist/lib/hooks/index.js.map +1 -1
  42. package/dist/lib/oas/graphql/circular.d.ts +1 -1
  43. package/dist/lib/oas/graphql/circular.js +18 -35
  44. package/dist/lib/oas/graphql/circular.js.map +1 -1
  45. package/dist/lib/oas/graphql/circular.test.js +33 -2
  46. package/dist/lib/oas/graphql/circular.test.js.map +1 -1
  47. package/dist/lib/oas/parser/index.js +14 -5
  48. package/dist/lib/oas/parser/index.js.map +1 -1
  49. package/dist/lib/plugins/openapi/playground/fileUtils.d.ts +1 -0
  50. package/dist/lib/plugins/openapi/playground/fileUtils.js +3 -0
  51. package/dist/lib/plugins/openapi/playground/fileUtils.js.map +1 -1
  52. package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.d.ts +6 -0
  53. package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.js +20 -0
  54. package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.js.map +1 -0
  55. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +7 -2
  56. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  57. package/dist/lib/ui/Alert.d.ts +3 -2
  58. package/dist/lib/ui/Alert.js +9 -5
  59. package/dist/lib/ui/Alert.js.map +1 -1
  60. package/dist/lib/ui/Command.d.ts +3 -3
  61. package/dist/lib/ui/InputGroup.d.ts +16 -0
  62. package/dist/lib/ui/InputGroup.js +65 -0
  63. package/dist/lib/ui/InputGroup.js.map +1 -0
  64. package/dist/lib/util/flattenAllOf.d.ts +0 -2
  65. package/dist/lib/util/flattenAllOf.js +0 -46
  66. package/dist/lib/util/flattenAllOf.js.map +1 -1
  67. package/dist/lib/util/flattenAllOf.test.js +2 -1
  68. package/dist/lib/util/flattenAllOf.test.js.map +1 -1
  69. package/dist/lib/util/flattenAllOfProcessor.d.ts +2 -0
  70. package/dist/lib/util/flattenAllOfProcessor.js +48 -0
  71. package/dist/lib/util/flattenAllOfProcessor.js.map +1 -0
  72. package/dist/lib/util/readFrontmatter.js +2 -1
  73. package/dist/lib/util/readFrontmatter.js.map +1 -1
  74. package/dist/vite/api/SchemaManager.js +1 -1
  75. package/dist/vite/api/SchemaManager.js.map +1 -1
  76. package/dist/vite/api/SchemaManager.test.js +1 -1
  77. package/dist/vite/api/SchemaManager.test.js.map +1 -1
  78. package/dist/vite/build.js +91 -73
  79. package/dist/vite/build.js.map +1 -1
  80. package/dist/vite/mdx/remark-inject-filepath.js +5 -1
  81. package/dist/vite/mdx/remark-inject-filepath.js.map +1 -1
  82. package/dist/vite/mdx/remark-link-rewrite.js +3 -2
  83. package/dist/vite/mdx/remark-link-rewrite.js.map +1 -1
  84. package/dist/vite/plugin-docs.js +9 -7
  85. package/dist/vite/plugin-docs.js.map +1 -1
  86. package/dist/vite/plugin-markdown-export.js +4 -2
  87. package/dist/vite/plugin-markdown-export.js.map +1 -1
  88. package/lib/{ClaudeLogo-K64Qm6gS.js → ClaudeLogo-DP6JOmz1.js} +26 -22
  89. package/lib/{ClaudeLogo-K64Qm6gS.js.map → ClaudeLogo-DP6JOmz1.js.map} +1 -1
  90. package/lib/{HydrationBoundary-CNF2ZV3E.js → HydrationBoundary-CJu4vUlG.js} +6 -6
  91. package/lib/{HydrationBoundary-CNF2ZV3E.js.map → HydrationBoundary-CJu4vUlG.js.map} +1 -1
  92. package/lib/{MdxPage-Cr99RARi.js → MdxPage-BR_7-0cT.js} +8 -8
  93. package/lib/{MdxPage-Cr99RARi.js.map → MdxPage-BR_7-0cT.js.map} +1 -1
  94. package/lib/Mermaid-DAWm9rzb.js +104 -0
  95. package/lib/Mermaid-DAWm9rzb.js.map +1 -0
  96. package/lib/{OAuthErrorPage-BRXS5AMu.js → OAuthErrorPage-l0orKh-A.js} +22 -19
  97. package/lib/{OAuthErrorPage-BRXS5AMu.js.map → OAuthErrorPage-l0orKh-A.js.map} +1 -1
  98. package/lib/{OasProvider-sP_SqSM7.js → OasProvider-DPW0x8dk.js} +3 -3
  99. package/lib/{OasProvider-sP_SqSM7.js.map → OasProvider-DPW0x8dk.js.map} +1 -1
  100. package/lib/{OperationList-DR0APPhk.js → OperationList-Dcm9TZG7.js} +952 -948
  101. package/lib/OperationList-Dcm9TZG7.js.map +1 -0
  102. package/lib/{RouteGuard-CZuPjknT.js → RouteGuard-CVs3yvEs.js} +5 -5
  103. package/lib/{RouteGuard-CZuPjknT.js.map → RouteGuard-CVs3yvEs.js.map} +1 -1
  104. package/lib/{SchemaList-DgqAAHSI.js → SchemaList-B7RzviG5.js} +8 -8
  105. package/lib/{SchemaList-DgqAAHSI.js.map → SchemaList-B7RzviG5.js.map} +1 -1
  106. package/lib/{SchemaView-7IyQYEqk.js → SchemaView-Dt5-T06r.js} +3 -3
  107. package/lib/{SchemaView-7IyQYEqk.js.map → SchemaView-Dt5-T06r.js.map} +1 -1
  108. package/lib/{Secret-BE7V0Vb5.js → Secret-DUpgv4V3.js} +4 -4
  109. package/lib/{Secret-BE7V0Vb5.js.map → Secret-DUpgv4V3.js.map} +1 -1
  110. package/lib/{SignUp-D3zhMk7q.js → SignUp-CifBTCq4.js} +31 -26
  111. package/lib/{SignUp-D3zhMk7q.js.map → SignUp-CifBTCq4.js.map} +1 -1
  112. package/lib/{SyntaxHighlight-paLQ8NP8.js → SyntaxHighlight-BMu0b_hF.js} +3 -3
  113. package/lib/{SyntaxHighlight-paLQ8NP8.js.map → SyntaxHighlight-BMu0b_hF.js.map} +1 -1
  114. package/lib/{Toc-GluXkcIk.js → Toc-CeMXYWgp.js} +2 -2
  115. package/lib/{Toc-GluXkcIk.js.map → Toc-CeMXYWgp.js.map} +1 -1
  116. package/lib/{index-DYfX9H7i.js → Zudoku-B5YsolG1.js} +2869 -2710
  117. package/lib/Zudoku-B5YsolG1.js.map +1 -0
  118. package/lib/ZudokuContext-CYyb_PB_.js +175 -0
  119. package/lib/ZudokuContext-CYyb_PB_.js.map +1 -0
  120. package/lib/ZudokuReactContext-DGJAP1sN.js +222 -0
  121. package/lib/ZudokuReactContext-DGJAP1sN.js.map +1 -0
  122. package/lib/{circular-Bunzbpsy.js → circular-BV9K7T3F.js} +1327 -1346
  123. package/lib/{circular-Bunzbpsy.js.map → circular-BV9K7T3F.js.map} +1 -1
  124. package/lib/createServer-DYUdwZG4.js +13036 -0
  125. package/lib/createServer-DYUdwZG4.js.map +1 -0
  126. package/lib/{errors-D2NINcVk.js → errors-C3XsqYso.js} +3 -3
  127. package/lib/{errors-D2NINcVk.js.map → errors-C3XsqYso.js.map} +1 -1
  128. package/lib/{firebase-BVAmGV_v.js → firebase-CL9aCRn0.js} +26 -25
  129. package/lib/firebase-CL9aCRn0.js.map +1 -0
  130. package/lib/{hook-Da8QTnPd.js → hook-Dz_n9SoE.js} +16 -15
  131. package/lib/{hook-Da8QTnPd.js.map → hook-Dz_n9SoE.js.map} +1 -1
  132. package/lib/{index-DTjrb36R.js → index-CFW_9FdI.js} +2 -2
  133. package/lib/{index-DTjrb36R.js.map → index-CFW_9FdI.js.map} +1 -1
  134. package/lib/index-DAWHN3cH.js +86 -0
  135. package/lib/index-DAWHN3cH.js.map +1 -0
  136. package/lib/{index-BfTLawvZ.js → index-DywuWe2u.js} +589 -551
  137. package/lib/index-DywuWe2u.js.map +1 -0
  138. package/lib/{index.esm-B_0dvNjB.js → index.esm-Ca5zvoff.js} +20 -20
  139. package/lib/{index.esm-B_0dvNjB.js.map → index.esm-Ca5zvoff.js.map} +1 -1
  140. package/lib/{index.esm-GMDd_9gw.js → index.esm-ld_S_9qs.js} +2 -2
  141. package/lib/index.esm-ld_S_9qs.js.map +1 -0
  142. package/lib/{invariant-BJAl77rw.js → invariant-B_t_F2s_.js} +3 -3
  143. package/lib/{invariant-BJAl77rw.js.map → invariant-B_t_F2s_.js.map} +1 -1
  144. package/lib/{mutation-BISOc7OM.js → mutation-B7eFBLZY.js} +2 -2
  145. package/lib/{mutation-BISOc7OM.js.map → mutation-B7eFBLZY.js.map} +1 -1
  146. package/lib/ui/Alert.js +36 -24
  147. package/lib/ui/Alert.js.map +1 -1
  148. package/lib/ui/InputGroup.js +155 -0
  149. package/lib/ui/InputGroup.js.map +1 -0
  150. package/lib/ui/SyntaxHighlight.js +3 -3
  151. package/lib/useExposedProps-CzTDfXfq.js +30 -0
  152. package/lib/useExposedProps-CzTDfXfq.js.map +1 -0
  153. package/lib/{useMutation-CFMGlAMW.js → useMutation-CErliDZ9.js} +5 -5
  154. package/lib/{useMutation-CFMGlAMW.js.map → useMutation-CErliDZ9.js.map} +1 -1
  155. package/lib/{useSuspenseQuery-CSB_rVek.js → useQuery-ht7aWJ3S.js} +432 -446
  156. package/lib/useQuery-ht7aWJ3S.js.map +1 -0
  157. package/lib/useSuspenseQuery-DQH4Bmc2.js +18 -0
  158. package/lib/useSuspenseQuery-DQH4Bmc2.js.map +1 -0
  159. package/lib/zudoku.__internal.js +1504 -1041
  160. package/lib/zudoku.__internal.js.map +1 -1
  161. package/lib/zudoku.auth-auth0.js +6 -5
  162. package/lib/zudoku.auth-auth0.js.map +1 -1
  163. package/lib/zudoku.auth-azureb2c.js +14 -13
  164. package/lib/zudoku.auth-azureb2c.js.map +1 -1
  165. package/lib/zudoku.auth-clerk.js +2 -2
  166. package/lib/zudoku.auth-firebase.js +5 -5
  167. package/lib/zudoku.auth-openid.js +8 -7
  168. package/lib/zudoku.auth-openid.js.map +1 -1
  169. package/lib/zudoku.auth-supabase.js +4 -4
  170. package/lib/zudoku.components.js +31 -29
  171. package/lib/zudoku.components.js.map +1 -1
  172. package/lib/zudoku.hooks.js +24 -11
  173. package/lib/zudoku.hooks.js.map +1 -1
  174. package/lib/zudoku.mermaid.js +5 -4
  175. package/lib/zudoku.mermaid.js.map +1 -1
  176. package/lib/zudoku.plugin-api-catalog.js +41 -36
  177. package/lib/zudoku.plugin-api-catalog.js.map +1 -1
  178. package/lib/zudoku.plugin-api-keys.js +156 -153
  179. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  180. package/lib/zudoku.plugin-custom-pages.js +1 -1
  181. package/lib/zudoku.plugin-markdown.js +1 -1
  182. package/lib/zudoku.plugin-openapi.js +2 -2
  183. package/lib/zudoku.plugin-search-pagefind.js +19 -18
  184. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  185. package/lib/zudoku.react-query.js +26 -25
  186. package/lib/zudoku.react-query.js.map +1 -1
  187. package/package.json +5 -4
  188. package/src/app/defaultTheme.css +4 -0
  189. package/src/app/main.css +2 -0
  190. package/src/lib/components/MobileTopNavigation.tsx +13 -8
  191. package/src/lib/components/TopNavigation.tsx +25 -7
  192. package/src/lib/components/context/ZudokuContext.ts +1 -0
  193. package/src/lib/components/index.ts +19 -39
  194. package/src/lib/components/navigation/Navigation.tsx +4 -3
  195. package/src/lib/components/navigation/NavigationCategory.tsx +9 -0
  196. package/src/lib/components/navigation/NavigationFilterContext.tsx +28 -0
  197. package/src/lib/components/navigation/NavigationFilterInput.tsx +35 -0
  198. package/src/lib/components/navigation/NavigationItem.tsx +17 -1
  199. package/src/lib/components/navigation/utils.ts +32 -1
  200. package/src/lib/hooks/index.ts +7 -16
  201. package/src/lib/oas/graphql/circular.test.ts +37 -2
  202. package/src/lib/oas/graphql/circular.ts +25 -51
  203. package/src/lib/oas/parser/index.ts +17 -6
  204. package/src/lib/plugins/openapi/playground/fileUtils.ts +4 -0
  205. package/src/lib/plugins/openapi/playground/result-panel/AudioPlayer.tsx +50 -0
  206. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +33 -17
  207. package/src/lib/ui/Alert.tsx +17 -5
  208. package/src/lib/ui/InputGroup.tsx +168 -0
  209. package/src/lib/util/flattenAllOf.test.ts +2 -1
  210. package/src/lib/util/flattenAllOf.ts +0 -57
  211. package/src/lib/util/flattenAllOfProcessor.ts +58 -0
  212. package/src/lib/util/readFrontmatter.ts +2 -1
  213. package/src/zuplo/enrich-with-zuplo-mcp.ts +168 -0
  214. package/src/zuplo/enrich-with-zuplo.ts +254 -0
  215. package/src/zuplo/policy-types.ts +46 -0
  216. package/src/zuplo/with-zuplo-processors.ts +35 -0
  217. package/src/zuplo/with-zuplo.ts +14 -0
  218. package/lib/Mermaid-DEztDKFw.js +0 -102
  219. package/lib/Mermaid-DEztDKFw.js.map +0 -1
  220. package/lib/OperationList-DR0APPhk.js.map +0 -1
  221. package/lib/Separator-BXt1LYnm.js +0 -27
  222. package/lib/Separator-BXt1LYnm.js.map +0 -1
  223. package/lib/ZudokuContext-CnEI8jPU.js +0 -389
  224. package/lib/ZudokuContext-CnEI8jPU.js.map +0 -1
  225. package/lib/___vite-browser-external_commonjs-proxy-BttVsNON.js +0 -9
  226. package/lib/___vite-browser-external_commonjs-proxy-BttVsNON.js.map +0 -1
  227. package/lib/createServer-Dl4Xwsm4.js +0 -16693
  228. package/lib/createServer-Dl4Xwsm4.js.map +0 -1
  229. package/lib/firebase-BVAmGV_v.js.map +0 -1
  230. package/lib/index-Ba6RP577.js +0 -133
  231. package/lib/index-Ba6RP577.js.map +0 -1
  232. package/lib/index-BfTLawvZ.js.map +0 -1
  233. package/lib/index-DYfX9H7i.js.map +0 -1
  234. package/lib/index.esm-GMDd_9gw.js.map +0 -1
  235. package/lib/useSuspenseQuery-CSB_rVek.js.map +0 -1
package/lib/ui/Alert.js CHANGED
@@ -1,13 +1,14 @@
1
- import { j as a } from "../jsx-runtime-BzflLqGi.js";
2
- import { c as i } from "../index-DI5SPFK9.js";
3
- import { c as e } from "../cn-5-Gd1Dss.js";
4
- const l = i(
5
- "relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
1
+ import { j as r } from "../jsx-runtime-BzflLqGi.js";
2
+ import { c as n } from "../index-DI5SPFK9.js";
3
+ import { c as a } from "../cn-5-Gd1Dss.js";
4
+ const o = n(
5
+ "grid gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4 w-full relative group/alert",
6
6
  {
7
7
  variants: {
8
8
  variant: {
9
9
  default: "bg-card text-card-foreground",
10
- destructive: "text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"
10
+ destructive: "text-destructive bg-card bg-destructive/5 border-destructive/20 *:data-[slot=alert-description]:text-destructive *:[svg]:text-current",
11
+ warning: "text-warning-foreground bg-card bg-warning/5 border-warning/50 *:data-[slot=alert-description]:text-warning-foreground *:[svg]:text-current"
11
12
  }
12
13
  },
13
14
  defaultVariants: {
@@ -15,53 +16,64 @@ const l = i(
15
16
  }
16
17
  }
17
18
  );
18
- function o({
19
+ function c({
19
20
  className: t,
20
- variant: r,
21
+ variant: e,
21
22
  ...s
22
23
  }) {
23
- return /* @__PURE__ */ a.jsx(
24
+ return /* @__PURE__ */ r.jsx(
24
25
  "div",
25
26
  {
26
27
  "data-slot": "alert",
27
28
  role: "alert",
28
- className: e(l({ variant: r }), t),
29
+ className: a(o({ variant: e }), t),
29
30
  ...s
30
31
  }
31
32
  );
32
33
  }
33
- function g({ className: t, ...r }) {
34
- return /* @__PURE__ */ a.jsx(
34
+ function u({ className: t, ...e }) {
35
+ return /* @__PURE__ */ r.jsx(
35
36
  "div",
36
37
  {
37
38
  "data-slot": "alert-title",
38
- className: e(
39
- "col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",
39
+ className: a(
40
+ "font-medium group-has-[>svg]/alert:col-start-2 [&_a]:hover:text-foreground [&_a]:underline [&_a]:underline-offset-3",
40
41
  t
41
42
  ),
42
- ...r
43
+ ...e
43
44
  }
44
45
  );
45
46
  }
46
- function u({
47
+ function g({
47
48
  className: t,
48
- ...r
49
+ ...e
49
50
  }) {
50
- return /* @__PURE__ */ a.jsx(
51
+ return /* @__PURE__ */ r.jsx(
51
52
  "div",
52
53
  {
53
54
  "data-slot": "alert-description",
54
- className: e(
55
- "text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
55
+ className: a(
56
+ "text-muted-foreground text-sm text-balance md:text-pretty [&_p:not(:last-child)]:mb-4 [&_a]:hover:text-foreground [&_a]:underline [&_a]:underline-offset-3",
56
57
  t
57
58
  ),
58
- ...r
59
+ ...e
60
+ }
61
+ );
62
+ }
63
+ function v({ className: t, ...e }) {
64
+ return /* @__PURE__ */ r.jsx(
65
+ "div",
66
+ {
67
+ "data-slot": "alert-action",
68
+ className: a("absolute top-2 right-2", t),
69
+ ...e
59
70
  }
60
71
  );
61
72
  }
62
73
  export {
63
- o as Alert,
64
- u as AlertDescription,
65
- g as AlertTitle
74
+ c as Alert,
75
+ v as AlertAction,
76
+ g as AlertDescription,
77
+ u as AlertTitle
66
78
  };
67
79
  //# sourceMappingURL=Alert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.js","sources":["../../src/lib/ui/Alert.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport type * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current\",\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive:\n \"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n \"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertDescription, AlertTitle };\n"],"names":["alertVariants","cva","Alert","className","variant","props","jsx","cn","AlertTitle","AlertDescription"],"mappings":";;;AAIA,MAAMA,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,aACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;AAEA,SAASC,EAAM;AAAA,EACb,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,GAAqE;AACnE,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAWC,EAAGP,EAAc,EAAE,SAAAI,EAAA,CAAS,GAAGD,CAAS;AAAA,MAClD,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASG,EAAW,EAAE,WAAAL,GAAW,GAAGE,KAAsC;AACxE,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASI,EAAiB;AAAA,EACxB,WAAAN;AAAA,EACA,GAAGE;AACL,GAAgC;AAC9B,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;"}
1
+ {"version":3,"file":"Alert.js","sources":["../../src/lib/ui/Alert.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport type * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nconst alertVariants = cva(\n \"grid gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4 w-full relative group/alert\",\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive:\n \"text-destructive bg-card bg-destructive/5 border-destructive/20 *:data-[slot=alert-description]:text-destructive *:[svg]:text-current\",\n warning:\n \"text-warning-foreground bg-card bg-warning/5 border-warning/50 *:data-[slot=alert-description]:text-warning-foreground *:[svg]:text-current\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n \"font-medium group-has-[>svg]/alert:col-start-2 [&_a]:hover:text-foreground [&_a]:underline [&_a]:underline-offset-3\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"text-muted-foreground text-sm text-balance md:text-pretty [&_p:not(:last-child)]:mb-4 [&_a]:hover:text-foreground [&_a]:underline [&_a]:underline-offset-3\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-action\"\n className={cn(\"absolute top-2 right-2\", className)}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertTitle, AlertDescription, AlertAction };\n"],"names":["alertVariants","cva","Alert","className","variant","props","jsx","cn","AlertTitle","AlertDescription","AlertAction"],"mappings":";;;AAIA,MAAMA,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,aACE;AAAA,QACF,SACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;AAEA,SAASC,EAAM;AAAA,EACb,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,GAAqE;AACnE,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAWC,EAAGP,EAAc,EAAE,SAAAI,EAAA,CAAS,GAAGD,CAAS;AAAA,MAClD,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASG,EAAW,EAAE,WAAAL,GAAW,GAAGE,KAAsC;AACxE,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASI,EAAiB;AAAA,EACxB,WAAAN;AAAA,EACA,GAAGE;AACL,GAAgC;AAC9B,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASK,EAAY,EAAE,WAAAP,GAAW,GAAGE,KAAsC;AACzE,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,0BAA0BJ,CAAS;AAAA,MAChD,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -0,0 +1,155 @@
1
+ import { j as r } from "../jsx-runtime-BzflLqGi.js";
2
+ import { c as e } from "../index-DI5SPFK9.js";
3
+ import { c as n } from "../cn-5-Gd1Dss.js";
4
+ import { Button as u } from "./Button.js";
5
+ import { Input as p } from "./Input.js";
6
+ import { Textarea as l } from "./Textarea.js";
7
+ function v({ className: a, ...t }) {
8
+ return /* @__PURE__ */ r.jsx(
9
+ "div",
10
+ {
11
+ "data-slot": "input-group",
12
+ role: "group",
13
+ className: n(
14
+ "group/input-group border-input dark:bg-input/30 relative flex w-full items-center rounded-md border shadow-xs transition-[color,box-shadow] outline-none",
15
+ "h-9 min-w-0 has-[>textarea]:h-auto",
16
+ // Variants based on alignment.
17
+ "has-[>[data-align=inline-start]]:[&>input]:pl-2",
18
+ "has-[>[data-align=inline-end]]:[&>input]:pr-2",
19
+ "has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3",
20
+ "has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3",
21
+ // Focus state.
22
+ "has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot=input-group-control]:focus-visible]:ring-[3px]",
23
+ // Error state.
24
+ "has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40",
25
+ a
26
+ ),
27
+ ...t
28
+ }
29
+ );
30
+ }
31
+ const d = e(
32
+ "text-muted-foreground flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium select-none [&>svg:not([class*='size-'])]:size-4 [&>kbd]:rounded-[calc(var(--radius)-5px)] group-data-[disabled=true]/input-group:opacity-50",
33
+ {
34
+ variants: {
35
+ align: {
36
+ "inline-start": "order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]",
37
+ "inline-end": "order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]",
38
+ "block-start": "order-first w-full justify-start px-3 pt-3 [.border-b]:pb-3 group-has-[>input]/input-group:pt-2.5",
39
+ "block-end": "order-last w-full justify-start px-3 pb-3 [.border-t]:pt-3 group-has-[>input]/input-group:pb-2.5"
40
+ }
41
+ },
42
+ defaultVariants: {
43
+ align: "inline-start"
44
+ }
45
+ }
46
+ );
47
+ function k({
48
+ className: a,
49
+ align: t = "inline-start",
50
+ ...o
51
+ }) {
52
+ return (
53
+ // biome-ignore lint/a11y/useKeyWithClickEvents: Focus management
54
+ /* @__PURE__ */ r.jsx(
55
+ "div",
56
+ {
57
+ role: "group",
58
+ "data-slot": "input-group-addon",
59
+ "data-align": t,
60
+ className: n(d({ align: t }), a),
61
+ onClick: (s) => {
62
+ s.target.closest("button") || s.currentTarget.parentElement?.querySelector("input")?.focus();
63
+ },
64
+ ...o
65
+ }
66
+ )
67
+ );
68
+ }
69
+ const c = e(
70
+ "text-sm shadow-none flex gap-2 items-center",
71
+ {
72
+ variants: {
73
+ size: {
74
+ xs: "h-6 gap-1 px-2 rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-3.5 has-[>svg]:px-2",
75
+ sm: "h-8 px-2.5 gap-1.5 rounded-md has-[>svg]:px-2.5",
76
+ "icon-xs": "size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0",
77
+ "icon-sm": "size-8 p-0 has-[>svg]:p-0"
78
+ }
79
+ },
80
+ defaultVariants: {
81
+ size: "xs"
82
+ }
83
+ }
84
+ );
85
+ function j({
86
+ className: a,
87
+ type: t = "button",
88
+ variant: o = "ghost",
89
+ size: s = "xs",
90
+ ...i
91
+ }) {
92
+ return /* @__PURE__ */ r.jsx(
93
+ u,
94
+ {
95
+ type: t,
96
+ "data-size": s,
97
+ variant: o,
98
+ className: n(c({ size: s }), a),
99
+ ...i
100
+ }
101
+ );
102
+ }
103
+ function z({ className: a, ...t }) {
104
+ return /* @__PURE__ */ r.jsx(
105
+ "span",
106
+ {
107
+ className: n(
108
+ "text-muted-foreground flex items-center gap-2 text-sm [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4",
109
+ a
110
+ ),
111
+ ...t
112
+ }
113
+ );
114
+ }
115
+ function w({
116
+ className: a,
117
+ ...t
118
+ }) {
119
+ return /* @__PURE__ */ r.jsx(
120
+ p,
121
+ {
122
+ "data-slot": "input-group-control",
123
+ className: n(
124
+ "flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0 dark:bg-transparent",
125
+ a
126
+ ),
127
+ ...t
128
+ }
129
+ );
130
+ }
131
+ function G({
132
+ className: a,
133
+ ...t
134
+ }) {
135
+ return /* @__PURE__ */ r.jsx(
136
+ l,
137
+ {
138
+ "data-slot": "input-group-control",
139
+ className: n(
140
+ "flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0 dark:bg-transparent",
141
+ a
142
+ ),
143
+ ...t
144
+ }
145
+ );
146
+ }
147
+ export {
148
+ v as InputGroup,
149
+ k as InputGroupAddon,
150
+ j as InputGroupButton,
151
+ w as InputGroupInput,
152
+ z as InputGroupText,
153
+ G as InputGroupTextarea
154
+ };
155
+ //# sourceMappingURL=InputGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputGroup.js","sources":["../../src/lib/ui/InputGroup.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport type * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\nimport { Button } from \"./Button.js\";\nimport { Input } from \"./Input.js\";\nimport { Textarea } from \"./Textarea.js\";\n\nfunction InputGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"input-group\"\n role=\"group\"\n className={cn(\n \"group/input-group border-input dark:bg-input/30 relative flex w-full items-center rounded-md border shadow-xs transition-[color,box-shadow] outline-none\",\n \"h-9 min-w-0 has-[>textarea]:h-auto\",\n\n // Variants based on alignment.\n \"has-[>[data-align=inline-start]]:[&>input]:pl-2\",\n \"has-[>[data-align=inline-end]]:[&>input]:pr-2\",\n \"has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3\",\n \"has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3\",\n\n // Focus state.\n \"has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot=input-group-control]:focus-visible]:ring-[3px]\",\n\n // Error state.\n \"has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40\",\n\n className,\n )}\n {...props}\n />\n );\n}\n\nconst inputGroupAddonVariants = cva(\n \"text-muted-foreground flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium select-none [&>svg:not([class*='size-'])]:size-4 [&>kbd]:rounded-[calc(var(--radius)-5px)] group-data-[disabled=true]/input-group:opacity-50\",\n {\n variants: {\n align: {\n \"inline-start\":\n \"order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]\",\n \"inline-end\":\n \"order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]\",\n \"block-start\":\n \"order-first w-full justify-start px-3 pt-3 [.border-b]:pb-3 group-has-[>input]/input-group:pt-2.5\",\n \"block-end\":\n \"order-last w-full justify-start px-3 pb-3 [.border-t]:pt-3 group-has-[>input]/input-group:pb-2.5\",\n },\n },\n defaultVariants: {\n align: \"inline-start\",\n },\n },\n);\n\nfunction InputGroupAddon({\n className,\n align = \"inline-start\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof inputGroupAddonVariants>) {\n return (\n // biome-ignore lint/a11y/useKeyWithClickEvents: Focus management\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={(e) => {\n if ((e.target as HTMLElement).closest(\"button\")) {\n return;\n }\n e.currentTarget.parentElement?.querySelector(\"input\")?.focus();\n }}\n {...props}\n />\n );\n}\n\nconst inputGroupButtonVariants = cva(\n \"text-sm shadow-none flex gap-2 items-center\",\n {\n variants: {\n size: {\n xs: \"h-6 gap-1 px-2 rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-3.5 has-[>svg]:px-2\",\n sm: \"h-8 px-2.5 gap-1.5 rounded-md has-[>svg]:px-2.5\",\n \"icon-xs\":\n \"size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0\",\n \"icon-sm\": \"size-8 p-0 has-[>svg]:p-0\",\n },\n },\n defaultVariants: {\n size: \"xs\",\n },\n },\n);\n\nfunction InputGroupButton({\n className,\n type = \"button\",\n variant = \"ghost\",\n size = \"xs\",\n ...props\n}: Omit<React.ComponentProps<typeof Button>, \"size\"> &\n VariantProps<typeof inputGroupButtonVariants>) {\n return (\n <Button\n type={type}\n data-size={size}\n variant={variant}\n className={cn(inputGroupButtonVariants({ size }), className)}\n {...props}\n />\n );\n}\n\nfunction InputGroupText({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n className={cn(\n \"text-muted-foreground flex items-center gap-2 text-sm [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupInput({\n className,\n ...props\n}: React.ComponentProps<\"input\">) {\n return (\n <Input\n data-slot=\"input-group-control\"\n className={cn(\n \"flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0 dark:bg-transparent\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupTextarea({\n className,\n ...props\n}: React.ComponentProps<\"textarea\">) {\n return (\n <Textarea\n data-slot=\"input-group-control\"\n className={cn(\n \"flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0 dark:bg-transparent\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupText,\n InputGroupInput,\n InputGroupTextarea,\n};\n"],"names":["InputGroup","className","props","jsx","cn","inputGroupAddonVariants","cva","InputGroupAddon","align","e","inputGroupButtonVariants","InputGroupButton","type","variant","size","Button","InputGroupText","InputGroupInput","Input","InputGroupTextarea","Textarea"],"mappings":";;;;;;AAOA,SAASA,EAAW,EAAE,WAAAC,GAAW,GAAGC,KAAsC;AACxE,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAWC;AAAA,QACT;AAAA,QACA;AAAA;AAAA,QAGA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,QAGA;AAAA;AAAA,QAGA;AAAA,QAEAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,MAAMG,IAA0BC;AAAA,EAC9B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,gBACE;AAAA,QACF,cACE;AAAA,QACF,eACE;AAAA,QACF,aACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ;AAEA,SAASC,EAAgB;AAAA,EACvB,WAAAN;AAAA,EACA,OAAAO,IAAQ;AAAA,EACR,GAAGN;AACL,GAA+E;AAC7E;AAAA;AAAA,IAEEC,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,aAAU;AAAA,QACV,cAAYK;AAAA,QACZ,WAAWJ,EAAGC,EAAwB,EAAE,OAAAG,EAAA,CAAO,GAAGP,CAAS;AAAA,QAC3D,SAAS,CAACQ,MAAM;AACd,UAAKA,EAAE,OAAuB,QAAQ,QAAQ,KAG9CA,EAAE,cAAc,eAAe,cAAc,OAAO,GAAG,MAAA;AAAA,QACzD;AAAA,QACC,GAAGP;AAAA,MAAA;AAAA,IAAA;AAAA;AAGV;AAEA,MAAMQ,IAA2BJ;AAAA,EAC/B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,WACE;AAAA,QACF,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,IAEF,iBAAiB;AAAA,MACf,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ;AAEA,SAASK,EAAiB;AAAA,EACxB,WAAAV;AAAA,EACA,MAAAW,IAAO;AAAA,EACP,SAAAC,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,GAAGZ;AACL,GACiD;AAC/C,SACEC,gBAAAA,EAAAA;AAAAA,IAACY;AAAA,IAAA;AAAA,MACC,MAAAH;AAAA,MACA,aAAWE;AAAA,MACX,SAAAD;AAAA,MACA,WAAWT,EAAGM,EAAyB,EAAE,MAAAI,EAAA,CAAM,GAAGb,CAAS;AAAA,MAC1D,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASc,EAAe,EAAE,WAAAf,GAAW,GAAGC,KAAuC;AAC7E,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASe,EAAgB;AAAA,EACvB,WAAAhB;AAAA,EACA,GAAGC;AACL,GAAkC;AAChC,SACEC,gBAAAA,EAAAA;AAAAA,IAACe;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWd;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASiB,EAAmB;AAAA,EAC1B,WAAAlB;AAAA,EACA,GAAGC;AACL,GAAqC;AACnC,SACEC,gBAAAA,EAAAA;AAAAA,IAACiB;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWhB;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -1,8 +1,8 @@
1
1
  import "../jsx-runtime-BzflLqGi.js";
2
2
  import "react";
3
- import "../ZudokuContext-CnEI8jPU.js";
4
- import { S as h } from "../SyntaxHighlight-paLQ8NP8.js";
5
- import "../invariant-BJAl77rw.js";
3
+ import "../ZudokuContext-CYyb_PB_.js";
4
+ import { S as h } from "../SyntaxHighlight-BMu0b_hF.js";
5
+ import "../invariant-B_t_F2s_.js";
6
6
  import "./CodeBlock.js";
7
7
  import "./EmbeddedCodeBlock.js";
8
8
  export {
@@ -0,0 +1,30 @@
1
+ import e from "react";
2
+ import { a as u, u as m, b as f, d as i } from "./chunk-EPOLDU6W-C6C8jAwd.js";
3
+ const o = {}, a = e.createContext(o);
4
+ function l(t) {
5
+ const n = e.useContext(a);
6
+ return e.useMemo(
7
+ function() {
8
+ return typeof t == "function" ? t(n) : { ...n, ...t };
9
+ },
10
+ [n, t]
11
+ );
12
+ }
13
+ function d(t) {
14
+ let n;
15
+ return t.disableParentContext ? n = typeof t.components == "function" ? t.components(o) : t.components || o : n = l(t.components), e.createElement(
16
+ a.Provider,
17
+ { value: n },
18
+ t.children
19
+ );
20
+ }
21
+ const x = () => {
22
+ const t = u(), n = m(), [s, c] = f(), r = i();
23
+ return { location: t, navigate: n, params: r, searchParams: s, setSearchParams: c };
24
+ };
25
+ export {
26
+ d as M,
27
+ x as a,
28
+ l as u
29
+ };
30
+ //# sourceMappingURL=useExposedProps-CzTDfXfq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExposedProps-CzTDfXfq.js","sources":["../../../node_modules/.pnpm/@mdx-js+react@3.1.1_@types+react@19.2.7_react@19.2.3/node_modules/@mdx-js/react/lib/index.js","../src/lib/util/useExposedProps.tsx"],"sourcesContent":["/**\n * @import {MDXComponents} from 'mdx/types.js'\n * @import {Component, ReactElement, ReactNode} from 'react'\n */\n\n/**\n * @callback MergeComponents\n * Custom merge function.\n * @param {Readonly<MDXComponents>} currentComponents\n * Current components from the context.\n * @returns {MDXComponents}\n * Additional components.\n *\n * @typedef Props\n * Configuration for `MDXProvider`.\n * @property {ReactNode | null | undefined} [children]\n * Children (optional).\n * @property {Readonly<MDXComponents> | MergeComponents | null | undefined} [components]\n * Additional components to use or a function that creates them (optional).\n * @property {boolean | null | undefined} [disableParentContext=false]\n * Turn off outer component context (default: `false`).\n */\n\nimport React from 'react'\n\n/** @type {Readonly<MDXComponents>} */\nconst emptyComponents = {}\n\nconst MDXContext = React.createContext(emptyComponents)\n\n/**\n * Get current components from the MDX Context.\n *\n * @param {Readonly<MDXComponents> | MergeComponents | null | undefined} [components]\n * Additional components to use or a function that creates them (optional).\n * @returns {MDXComponents}\n * Current components.\n */\nexport function useMDXComponents(components) {\n const contextComponents = React.useContext(MDXContext)\n\n // Memoize to avoid unnecessary top-level context changes\n return React.useMemo(\n function () {\n // Custom merge via a function prop\n if (typeof components === 'function') {\n return components(contextComponents)\n }\n\n return {...contextComponents, ...components}\n },\n [contextComponents, components]\n )\n}\n\n/**\n * Provider for MDX context.\n *\n * @param {Readonly<Props>} properties\n * Properties.\n * @returns {ReactElement}\n * Element.\n * @satisfies {Component}\n */\nexport function MDXProvider(properties) {\n /** @type {Readonly<MDXComponents>} */\n let allComponents\n\n if (properties.disableParentContext) {\n allComponents =\n typeof properties.components === 'function'\n ? properties.components(emptyComponents)\n : properties.components || emptyComponents\n } else {\n allComponents = useMDXComponents(properties.components)\n }\n\n return React.createElement(\n MDXContext.Provider,\n {value: allComponents},\n properties.children\n )\n}\n","import {\n type Location,\n type NavigateFunction,\n type Params,\n type SetURLSearchParams,\n useLocation,\n useNavigate,\n useParams,\n useSearchParams,\n} from \"react-router\";\n\nexport type ExposedComponentProps = {\n location: Location;\n navigate: NavigateFunction;\n searchParams: URLSearchParams;\n setSearchParams: SetURLSearchParams;\n params: Params;\n};\n\nexport const useExposedProps = (): ExposedComponentProps => {\n const location = useLocation();\n const navigate = useNavigate();\n const [searchParams, setSearchParams] = useSearchParams();\n const params = useParams();\n\n return { location, navigate, params, searchParams, setSearchParams };\n};\n"],"names":["emptyComponents","MDXContext","React","useMDXComponents","components","contextComponents","MDXProvider","properties","allComponents","useExposedProps","location","useLocation","navigate","useNavigate","searchParams","setSearchParams","useSearchParams","params","useParams"],"mappings":";;AA0BA,MAAMA,IAAkB,CAAA,GAElBC,IAAaC,EAAM,cAAcF,CAAe;AAU/C,SAASG,EAAiBC,GAAY;AAC3C,QAAMC,IAAoBH,EAAM,WAAWD,CAAU;AAGrD,SAAOC,EAAM;AAAA,IACX,WAAY;AAEV,aAAI,OAAOE,KAAe,aACjBA,EAAWC,CAAiB,IAG9B,EAAC,GAAGA,GAAmB,GAAGD,EAAU;AAAA,IAC7C;AAAA,IACA,CAACC,GAAmBD,CAAU;AAAA,EAClC;AACA;AAWO,SAASE,EAAYC,GAAY;AAEtC,MAAIC;AAEJ,SAAID,EAAW,uBACbC,IACE,OAAOD,EAAW,cAAe,aAC7BA,EAAW,WAAWP,CAAe,IACrCO,EAAW,cAAcP,IAE/BQ,IAAgBL,EAAiBI,EAAW,UAAU,GAGjDL,EAAM;AAAA,IACXD,EAAW;AAAA,IACX,EAAC,OAAOO,EAAa;AAAA,IACrBD,EAAW;AAAA,EACf;AACA;AC/DO,MAAME,IAAkB,MAA6B;AAC1D,QAAMC,IAAWC,EAAA,GACXC,IAAWC,EAAA,GACX,CAACC,GAAcC,CAAe,IAAIC,EAAA,GAClCC,IAASC,EAAA;AAEf,SAAO,EAAE,UAAAR,GAAU,UAAAE,GAAU,QAAAK,GAAQ,cAAAH,GAAc,iBAAAC,EAAA;AACrD;","x_google_ignoreList":[0]}
@@ -1,6 +1,6 @@
1
1
  import * as o from "react";
2
- import { g as l } from "./mutation-BISOc7OM.js";
3
- import { S as p, s as d, h as a, n as h, a as b, b as m, d as f } from "./useSuspenseQuery-CSB_rVek.js";
2
+ import { g as l } from "./mutation-B7eFBLZY.js";
3
+ import { S as p, a as b, h as a, n as h, b as d, e as m, f } from "./useQuery-ht7aWJ3S.js";
4
4
  var v = class extends p {
5
5
  #s;
6
6
  #i = void 0;
@@ -14,7 +14,7 @@ var v = class extends p {
14
14
  }
15
15
  setOptions(t) {
16
16
  const s = this.options;
17
- this.options = this.#s.defaultMutationOptions(t), d(this.options, s) || this.#s.getMutationCache().notify({
17
+ this.options = this.#s.defaultMutationOptions(t), b(this.options, s) || this.#s.getMutationCache().notify({
18
18
  type: "observerOptionsUpdated",
19
19
  mutation: this.#t,
20
20
  observer: this
@@ -86,7 +86,7 @@ var v = class extends p {
86
86
  }
87
87
  };
88
88
  function M(t, s) {
89
- const i = b(s), [e] = o.useState(
89
+ const i = d(s), [e] = o.useState(
90
90
  () => new v(
91
91
  i,
92
92
  t
@@ -116,4 +116,4 @@ export {
116
116
  v as M,
117
117
  M as u
118
118
  };
119
- //# sourceMappingURL=useMutation-CFMGlAMW.js.map
119
+ //# sourceMappingURL=useMutation-CErliDZ9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMutation-CFMGlAMW.js","sources":["../../../node_modules/.pnpm/@tanstack+query-core@5.90.12/node_modules/@tanstack/query-core/build/modern/mutationObserver.js","../../../node_modules/.pnpm/@tanstack+react-query@5.90.12_react@19.2.3/node_modules/@tanstack/react-query/build/modern/useMutation.js"],"sourcesContent":["// src/mutationObserver.ts\nimport { getDefaultState } from \"./mutation.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { hashKey, shallowEqualObjects } from \"./utils.js\";\nvar MutationObserver = class extends Subscribable {\n #client;\n #currentResult = void 0;\n #currentMutation;\n #mutateOptions;\n constructor(client, options) {\n super();\n this.#client = client;\n this.setOptions(options);\n this.bindMethods();\n this.#updateResult();\n }\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: \"observerOptionsUpdated\",\n mutation: this.#currentMutation,\n observer: this\n });\n }\n if (prevOptions?.mutationKey && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {\n this.reset();\n } else if (this.#currentMutation?.state.status === \"pending\") {\n this.#currentMutation.setOptions(this.options);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = void 0;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options) {\n this.#mutateOptions = options;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === \"pending\",\n isSuccess: state.status === \"success\",\n isError: state.status === \"error\",\n isIdle: state.status === \"idle\",\n mutate: this.mutate,\n reset: this.reset\n };\n }\n #notify(action) {\n notifyManager.batch(() => {\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables;\n const onMutateResult = this.#currentResult.context;\n const context = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n if (action?.type === \"success\") {\n this.#mutateOptions.onSuccess?.(\n action.data,\n variables,\n onMutateResult,\n context\n );\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n variables,\n onMutateResult,\n context\n );\n } else if (action?.type === \"error\") {\n this.#mutateOptions.onError?.(\n action.error,\n variables,\n onMutateResult,\n context\n );\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n variables,\n onMutateResult,\n context\n );\n }\n }\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n });\n }\n};\nexport {\n MutationObserver\n};\n//# sourceMappingURL=mutationObserver.js.map","\"use client\";\n\n// src/useMutation.ts\nimport * as React from \"react\";\nimport {\n MutationObserver,\n noop,\n notifyManager,\n shouldThrowError\n} from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nfunction useMutation(options, queryClient) {\n const client = useQueryClient(queryClient);\n const [observer] = React.useState(\n () => new MutationObserver(\n client,\n options\n )\n );\n React.useEffect(() => {\n observer.setOptions(options);\n }, [observer, options]);\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n const mutate = React.useCallback(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop);\n },\n [observer]\n );\n if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) {\n throw result.error;\n }\n return { ...result, mutate, mutateAsync: result.mutate };\n}\nexport {\n useMutation\n};\n//# sourceMappingURL=useMutation.js.map"],"names":["MutationObserver","Subscribable","#client","#currentResult","#currentMutation","#mutateOptions","client","options","#updateResult","prevOptions","shallowEqualObjects","hashKey","action","#notify","variables","state","getDefaultState","notifyManager","onMutateResult","context","listener","useMutation","queryClient","useQueryClient","observer","React","result","onStoreChange","mutate","mutateOptions","noop","shouldThrowError"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"useMutation-CErliDZ9.js","sources":["../../../node_modules/.pnpm/@tanstack+query-core@5.90.12/node_modules/@tanstack/query-core/build/modern/mutationObserver.js","../../../node_modules/.pnpm/@tanstack+react-query@5.90.12_react@19.2.3/node_modules/@tanstack/react-query/build/modern/useMutation.js"],"sourcesContent":["// src/mutationObserver.ts\nimport { getDefaultState } from \"./mutation.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { hashKey, shallowEqualObjects } from \"./utils.js\";\nvar MutationObserver = class extends Subscribable {\n #client;\n #currentResult = void 0;\n #currentMutation;\n #mutateOptions;\n constructor(client, options) {\n super();\n this.#client = client;\n this.setOptions(options);\n this.bindMethods();\n this.#updateResult();\n }\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: \"observerOptionsUpdated\",\n mutation: this.#currentMutation,\n observer: this\n });\n }\n if (prevOptions?.mutationKey && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {\n this.reset();\n } else if (this.#currentMutation?.state.status === \"pending\") {\n this.#currentMutation.setOptions(this.options);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = void 0;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options) {\n this.#mutateOptions = options;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === \"pending\",\n isSuccess: state.status === \"success\",\n isError: state.status === \"error\",\n isIdle: state.status === \"idle\",\n mutate: this.mutate,\n reset: this.reset\n };\n }\n #notify(action) {\n notifyManager.batch(() => {\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables;\n const onMutateResult = this.#currentResult.context;\n const context = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n if (action?.type === \"success\") {\n this.#mutateOptions.onSuccess?.(\n action.data,\n variables,\n onMutateResult,\n context\n );\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n variables,\n onMutateResult,\n context\n );\n } else if (action?.type === \"error\") {\n this.#mutateOptions.onError?.(\n action.error,\n variables,\n onMutateResult,\n context\n );\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n variables,\n onMutateResult,\n context\n );\n }\n }\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n });\n }\n};\nexport {\n MutationObserver\n};\n//# sourceMappingURL=mutationObserver.js.map","\"use client\";\n\n// src/useMutation.ts\nimport * as React from \"react\";\nimport {\n MutationObserver,\n noop,\n notifyManager,\n shouldThrowError\n} from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nfunction useMutation(options, queryClient) {\n const client = useQueryClient(queryClient);\n const [observer] = React.useState(\n () => new MutationObserver(\n client,\n options\n )\n );\n React.useEffect(() => {\n observer.setOptions(options);\n }, [observer, options]);\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n const mutate = React.useCallback(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop);\n },\n [observer]\n );\n if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) {\n throw result.error;\n }\n return { ...result, mutate, mutateAsync: result.mutate };\n}\nexport {\n useMutation\n};\n//# sourceMappingURL=useMutation.js.map"],"names":["MutationObserver","Subscribable","#client","#currentResult","#currentMutation","#mutateOptions","client","options","#updateResult","prevOptions","shallowEqualObjects","hashKey","action","#notify","variables","state","getDefaultState","notifyManager","onMutateResult","context","listener","useMutation","queryClient","useQueryClient","observer","React","result","onStoreChange","mutate","mutateOptions","noop","shouldThrowError"],"mappings":"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","x_google_ignoreList":[0,1]}