zudoku 0.64.2 → 0.65.1

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 (279) hide show
  1. package/dist/app/main.d.ts +91 -1
  2. package/dist/app/main.js +5 -1
  3. package/dist/app/main.js.map +1 -1
  4. package/dist/config/validators/InputNavigationSchema.d.ts +16 -16
  5. package/dist/config/validators/NavigationSchema.js +2 -4
  6. package/dist/config/validators/NavigationSchema.js.map +1 -1
  7. package/dist/config/validators/validate.d.ts +53 -1
  8. package/dist/config/validators/validate.js +7 -0
  9. package/dist/config/validators/validate.js.map +1 -1
  10. package/dist/config/validators/validate.test.js +43 -0
  11. package/dist/config/validators/validate.test.js.map +1 -1
  12. package/dist/flat-config.d.ts +6 -0
  13. package/dist/lib/authentication/providers/auth0.js +6 -1
  14. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  15. package/dist/lib/components/Autocomplete.d.ts +3 -1
  16. package/dist/lib/components/Autocomplete.js +6 -2
  17. package/dist/lib/components/Autocomplete.js.map +1 -1
  18. package/dist/lib/components/Layout.js +3 -2
  19. package/dist/lib/components/Layout.js.map +1 -1
  20. package/dist/lib/components/navigation/NavigationItem.js +2 -2
  21. package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
  22. package/dist/lib/errors/ErrorAlert.js +1 -1
  23. package/dist/lib/errors/RouterError.d.ts +3 -1
  24. package/dist/lib/errors/RouterError.js +3 -2
  25. package/dist/lib/errors/RouterError.js.map +1 -1
  26. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js +1 -1
  27. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js.map +1 -1
  28. package/dist/lib/plugins/openapi/OperationList.js +2 -1
  29. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  30. package/dist/lib/plugins/openapi/OperationListItem.js +2 -1
  31. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  32. package/dist/lib/plugins/openapi/ParameterList.js +7 -4
  33. package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
  34. package/dist/lib/plugins/openapi/ParameterListItem.js +17 -6
  35. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  36. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js +4 -1
  37. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
  38. package/dist/lib/plugins/openapi/ResponsesSidecarBox.d.ts +1 -2
  39. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js +15 -6
  40. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
  41. package/dist/lib/plugins/openapi/Sidecar.d.ts +1 -2
  42. package/dist/lib/plugins/openapi/Sidecar.js +39 -15
  43. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  44. package/dist/lib/plugins/openapi/SidecarBox.js +4 -4
  45. package/dist/lib/plugins/openapi/SidecarBox.js.map +1 -1
  46. package/dist/lib/plugins/openapi/SidecarExamples.js +15 -16
  47. package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -1
  48. package/dist/lib/plugins/openapi/components/ConstValue.js +1 -1
  49. package/dist/lib/plugins/openapi/components/ConstValue.js.map +1 -1
  50. package/dist/lib/plugins/openapi/components/EnumValues.js +1 -1
  51. package/dist/lib/plugins/openapi/components/EnumValues.js.map +1 -1
  52. package/dist/lib/plugins/openapi/components/ResponseContent.js +5 -6
  53. package/dist/lib/plugins/openapi/components/ResponseContent.js.map +1 -1
  54. package/dist/lib/plugins/openapi/interfaces.d.ts +13 -0
  55. package/dist/lib/plugins/openapi/playground/BodyPanel.js +67 -15
  56. package/dist/lib/plugins/openapi/playground/BodyPanel.js.map +1 -1
  57. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js +2 -2
  58. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js.map +1 -1
  59. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js +1 -1
  60. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js.map +1 -1
  61. package/dist/lib/plugins/openapi/playground/Headers.js +23 -83
  62. package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
  63. package/dist/lib/plugins/openapi/playground/ParamsGrid.d.ts +8 -0
  64. package/dist/lib/plugins/openapi/playground/ParamsGrid.js +8 -1
  65. package/dist/lib/plugins/openapi/playground/ParamsGrid.js.map +1 -1
  66. package/dist/lib/plugins/openapi/playground/PathParams.js +2 -3
  67. package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
  68. package/dist/lib/plugins/openapi/playground/Playground.d.ts +7 -0
  69. package/dist/lib/plugins/openapi/playground/Playground.js +56 -28
  70. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  71. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +3 -2
  72. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
  73. package/dist/lib/plugins/openapi/playground/QueryParams.js +16 -40
  74. package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
  75. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.d.ts +8 -0
  76. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.js +19 -0
  77. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.js.map +1 -0
  78. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js +1 -1
  79. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js.map +1 -1
  80. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.d.ts +1 -0
  81. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.js +540 -0
  82. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.js.map +1 -0
  83. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.d.ts +40 -0
  84. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.js +205 -0
  85. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.js.map +1 -0
  86. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +2 -2
  87. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  88. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js +1 -1
  89. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js.map +1 -1
  90. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +17 -7
  91. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
  92. package/dist/lib/plugins/openapi/schema/SchemaView.d.ts +1 -1
  93. package/dist/lib/plugins/openapi/schema/SchemaView.js +20 -9
  94. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  95. package/dist/lib/plugins/openapi/schema/UnionView.js +2 -5
  96. package/dist/lib/plugins/openapi/schema/UnionView.js.map +1 -1
  97. package/dist/lib/ui/Badge.d.ts +3 -3
  98. package/dist/lib/ui/Badge.js +9 -7
  99. package/dist/lib/ui/Badge.js.map +1 -1
  100. package/dist/lib/ui/Button.d.ts +1 -1
  101. package/dist/lib/ui/Button.js +1 -0
  102. package/dist/lib/ui/Button.js.map +1 -1
  103. package/dist/lib/ui/Checkbox.d.ts +2 -2
  104. package/dist/lib/ui/Checkbox.js +4 -4
  105. package/dist/lib/ui/Checkbox.js.map +1 -1
  106. package/dist/lib/ui/CodeBlock.js +1 -1
  107. package/dist/lib/ui/CodeBlock.js.map +1 -1
  108. package/dist/lib/ui/Collapsible.d.ts +4 -4
  109. package/dist/lib/ui/Collapsible.js +11 -4
  110. package/dist/lib/ui/Collapsible.js.map +1 -1
  111. package/dist/lib/ui/EmbeddedCodeBlock.js +3 -2
  112. package/dist/lib/ui/EmbeddedCodeBlock.js.map +1 -1
  113. package/dist/lib/ui/Frame.d.ts +8 -0
  114. package/dist/lib/ui/Frame.js +22 -0
  115. package/dist/lib/ui/Frame.js.map +1 -0
  116. package/dist/lib/ui/Item.d.ts +23 -0
  117. package/dist/lib/ui/Item.js +67 -0
  118. package/dist/lib/ui/Item.js.map +1 -0
  119. package/dist/lib/ui/NativeSelect.d.ts +5 -0
  120. package/dist/lib/ui/NativeSelect.js +14 -0
  121. package/dist/lib/ui/NativeSelect.js.map +1 -0
  122. package/dist/lib/ui/Select.d.ts +13 -11
  123. package/dist/lib/ui/Select.js +34 -23
  124. package/dist/lib/ui/Select.js.map +1 -1
  125. package/dist/lib/util/readFrontmatter.d.ts +6 -0
  126. package/dist/lib/util/readFrontmatter.js +12 -0
  127. package/dist/lib/util/readFrontmatter.js.map +1 -0
  128. package/dist/vite/mdx/remark-last-modified.js +57 -3
  129. package/dist/vite/mdx/remark-last-modified.js.map +1 -1
  130. package/dist/vite/plugin-api.js +2 -2
  131. package/dist/vite/plugin-api.js.map +1 -1
  132. package/dist/vite/plugin-frontmatter.js +3 -5
  133. package/dist/vite/plugin-frontmatter.js.map +1 -1
  134. package/dist/vite/plugin-markdown-export.js +3 -4
  135. package/dist/vite/plugin-markdown-export.js.map +1 -1
  136. package/lib/{Button-DmS4u8Lj.js → Button-B3ucvvQw.js} +7 -6
  137. package/lib/Button-B3ucvvQw.js.map +1 -0
  138. package/lib/{ErrorAlert--3alJ_-b.js → ErrorAlert-D5LKLFOd.js} +1100 -1112
  139. package/lib/ErrorAlert-D5LKLFOd.js.map +1 -0
  140. package/lib/{MdxPage-Bpa9tL63.js → MdxPage-hOCN-u-L.js} +6 -6
  141. package/lib/{MdxPage-Bpa9tL63.js.map → MdxPage-hOCN-u-L.js.map} +1 -1
  142. package/lib/{OAuthErrorPage-B79J86Fo.js → OAuthErrorPage-oXnxcJg4.js} +4 -4
  143. package/lib/{OAuthErrorPage-B79J86Fo.js.map → OAuthErrorPage-oXnxcJg4.js.map} +1 -1
  144. package/lib/{OasProvider-jr0oDSFy.js → OasProvider-BuBeRIHB.js} +2 -2
  145. package/lib/{OasProvider-jr0oDSFy.js.map → OasProvider-BuBeRIHB.js.map} +1 -1
  146. package/lib/{OperationList-DLEAg4qw.js → OperationList-Cx8TGKhB.js} +2053 -1830
  147. package/lib/OperationList-Cx8TGKhB.js.map +1 -0
  148. package/lib/{Pagination-H2HW9-Er.js → Pagination-lLSoHnxa.js} +2 -2
  149. package/lib/{Pagination-H2HW9-Er.js.map → Pagination-lLSoHnxa.js.map} +1 -1
  150. package/lib/{RouteGuard-CjzxosTf.js → RouteGuard-Brz95MSt.js} +2 -2
  151. package/lib/{RouteGuard-CjzxosTf.js.map → RouteGuard-Brz95MSt.js.map} +1 -1
  152. package/lib/RouterError-VGZB_wg4.js +42 -0
  153. package/lib/RouterError-VGZB_wg4.js.map +1 -0
  154. package/lib/{SchemaList-CSDSazqV.js → SchemaList-rBWXYJEb.js} +7 -7
  155. package/lib/{SchemaList-CSDSazqV.js.map → SchemaList-rBWXYJEb.js.map} +1 -1
  156. package/lib/SchemaView-jouS_xvc.js +586 -0
  157. package/lib/SchemaView-jouS_xvc.js.map +1 -0
  158. package/lib/Select-DFRCS31-.js +399 -0
  159. package/lib/Select-DFRCS31-.js.map +1 -0
  160. package/lib/{SignUp-Fycafbyg.js → SignUp-D2mmQOkg.js} +2 -2
  161. package/lib/{SignUp-Fycafbyg.js.map → SignUp-D2mmQOkg.js.map} +1 -1
  162. package/lib/{Toc-ChkOg2UU.js → Toc-CBWfFCVf.js} +2 -2
  163. package/lib/{Toc-ChkOg2UU.js.map → Toc-CBWfFCVf.js.map} +1 -1
  164. package/lib/{circular-DGfd8SGc.js → circular-CGkbVs2O.js} +6360 -5953
  165. package/lib/circular-CGkbVs2O.js.map +1 -0
  166. package/lib/{createServer-DGD8hEzT.js → createServer-CcV_75PW.js} +770 -735
  167. package/lib/createServer-CcV_75PW.js.map +1 -0
  168. package/lib/{errors-BTpjwHS6.js → errors-D7xzOd8X.js} +2 -2
  169. package/lib/{errors-BTpjwHS6.js.map → errors-D7xzOd8X.js.map} +1 -1
  170. package/lib/{index-Bvas0H4x.js → index-CF7_erXq.js} +2 -2
  171. package/lib/{index-Bvas0H4x.js.map → index-CF7_erXq.js.map} +1 -1
  172. package/lib/{index-FNRZUtwo.js → index-CPws05Tb.js} +3 -3
  173. package/lib/{index-FNRZUtwo.js.map → index-CPws05Tb.js.map} +1 -1
  174. package/lib/index-I4zC7Yht.js +3680 -0
  175. package/lib/index-I4zC7Yht.js.map +1 -0
  176. package/lib/ui/ActionButton.js +1 -1
  177. package/lib/ui/Badge.js +27 -13
  178. package/lib/ui/Badge.js.map +1 -1
  179. package/lib/ui/Button.js +6 -5
  180. package/lib/ui/Button.js.map +1 -1
  181. package/lib/ui/Checkbox.js +29 -26
  182. package/lib/ui/Checkbox.js.map +1 -1
  183. package/lib/ui/CodeBlock.js +7 -7
  184. package/lib/ui/CodeBlock.js.map +1 -1
  185. package/lib/ui/Collapsible.js +32 -5
  186. package/lib/ui/Collapsible.js.map +1 -1
  187. package/lib/ui/EmbeddedCodeBlock.js +19 -18
  188. package/lib/ui/EmbeddedCodeBlock.js.map +1 -1
  189. package/lib/ui/Frame.js +81 -0
  190. package/lib/ui/Frame.js.map +1 -0
  191. package/lib/ui/Item.js +188 -0
  192. package/lib/ui/Item.js.map +1 -0
  193. package/lib/ui/NativeSelect.js +57 -0
  194. package/lib/ui/NativeSelect.js.map +1 -0
  195. package/lib/ui/Select.js +166 -116
  196. package/lib/ui/Select.js.map +1 -1
  197. package/lib/ui/Tabs.js +10 -10
  198. package/lib/zudoku.__internal.js +345 -345
  199. package/lib/zudoku.__internal.js.map +1 -1
  200. package/lib/zudoku.auth-auth0.js +7 -7
  201. package/lib/zudoku.auth-auth0.js.map +1 -1
  202. package/lib/zudoku.auth-azureb2c.js +3 -3
  203. package/lib/zudoku.auth-clerk.js +1 -1
  204. package/lib/zudoku.auth-openid.js +3 -3
  205. package/lib/zudoku.auth-supabase.js +3 -3
  206. package/lib/zudoku.components.js +2 -2
  207. package/lib/zudoku.plugin-api-catalog.js +3 -3
  208. package/lib/zudoku.plugin-api-keys.js +4 -4
  209. package/lib/zudoku.plugin-markdown.js +1 -1
  210. package/lib/zudoku.plugin-openapi.js +1 -1
  211. package/lib/zudoku.plugin-search-pagefind.js +2 -2
  212. package/package.json +4 -4
  213. package/src/app/main.tsx +5 -1
  214. package/src/lib/authentication/providers/auth0.tsx +6 -1
  215. package/src/lib/components/Autocomplete.tsx +11 -2
  216. package/src/lib/components/Layout.tsx +3 -2
  217. package/src/lib/components/navigation/NavigationItem.tsx +7 -20
  218. package/src/lib/errors/ErrorAlert.tsx +1 -1
  219. package/src/lib/errors/RouterError.tsx +7 -2
  220. package/src/lib/plugins/openapi/GeneratedExampleSidecarBox.tsx +2 -2
  221. package/src/lib/plugins/openapi/OperationList.tsx +3 -1
  222. package/src/lib/plugins/openapi/OperationListItem.tsx +7 -7
  223. package/src/lib/plugins/openapi/ParameterList.tsx +37 -23
  224. package/src/lib/plugins/openapi/ParameterListItem.tsx +105 -54
  225. package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +36 -13
  226. package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +67 -44
  227. package/src/lib/plugins/openapi/Sidecar.tsx +84 -41
  228. package/src/lib/plugins/openapi/SidecarBox.tsx +26 -4
  229. package/src/lib/plugins/openapi/SidecarExamples.tsx +59 -37
  230. package/src/lib/plugins/openapi/components/ConstValue.tsx +1 -1
  231. package/src/lib/plugins/openapi/components/EnumValues.tsx +2 -2
  232. package/src/lib/plugins/openapi/components/ResponseContent.tsx +63 -53
  233. package/src/lib/plugins/openapi/interfaces.ts +12 -0
  234. package/src/lib/plugins/openapi/playground/BodyPanel.tsx +246 -30
  235. package/src/lib/plugins/openapi/playground/CollapsibleHeader.tsx +10 -6
  236. package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +3 -2
  237. package/src/lib/plugins/openapi/playground/Headers.tsx +103 -219
  238. package/src/lib/plugins/openapi/playground/ParamsGrid.tsx +33 -1
  239. package/src/lib/plugins/openapi/playground/PathParams.tsx +26 -34
  240. package/src/lib/plugins/openapi/playground/Playground.tsx +73 -35
  241. package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +9 -30
  242. package/src/lib/plugins/openapi/playground/QueryParams.tsx +82 -136
  243. package/src/lib/plugins/openapi/playground/request-panel/MultipartField.tsx +91 -0
  244. package/src/lib/plugins/openapi/playground/request-panel/UrlQueryParams.tsx +1 -1
  245. package/src/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.tsx +872 -0
  246. package/src/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.ts +349 -0
  247. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +2 -6
  248. package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +1 -1
  249. package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +89 -52
  250. package/src/lib/plugins/openapi/schema/SchemaView.tsx +82 -48
  251. package/src/lib/plugins/openapi/schema/UnionView.tsx +6 -17
  252. package/src/lib/ui/Badge.tsx +21 -12
  253. package/src/lib/ui/Button.tsx +1 -0
  254. package/src/lib/ui/Checkbox.tsx +23 -24
  255. package/src/lib/ui/CodeBlock.tsx +3 -3
  256. package/src/lib/ui/Collapsible.tsx +26 -4
  257. package/src/lib/ui/EmbeddedCodeBlock.tsx +21 -18
  258. package/src/lib/ui/Frame.tsx +81 -0
  259. package/src/lib/ui/Item.tsx +192 -0
  260. package/src/lib/ui/NativeSelect.tsx +47 -0
  261. package/src/lib/ui/Select.tsx +153 -126
  262. package/src/lib/util/readFrontmatter.ts +13 -0
  263. package/dist/lib/plugins/openapi/playground/InlineInput.d.ts +0 -4
  264. package/dist/lib/plugins/openapi/playground/InlineInput.js +0 -3
  265. package/dist/lib/plugins/openapi/playground/InlineInput.js.map +0 -1
  266. package/lib/Button-DmS4u8Lj.js.map +0 -1
  267. package/lib/ErrorAlert--3alJ_-b.js.map +0 -1
  268. package/lib/OperationList-DLEAg4qw.js.map +0 -1
  269. package/lib/RouterError-DZS2d6Sc.js +0 -41
  270. package/lib/RouterError-DZS2d6Sc.js.map +0 -1
  271. package/lib/SchemaView-DJiBd0_5.js +0 -397
  272. package/lib/SchemaView-DJiBd0_5.js.map +0 -1
  273. package/lib/Select-C1DeCqKv.js +0 -372
  274. package/lib/Select-C1DeCqKv.js.map +0 -1
  275. package/lib/circular-DGfd8SGc.js.map +0 -1
  276. package/lib/createServer-DGD8hEzT.js.map +0 -1
  277. package/lib/index-DP1xZgfJ.js +0 -3364
  278. package/lib/index-DP1xZgfJ.js.map +0 -1
  279. package/src/lib/plugins/openapi/playground/InlineInput.tsx +0 -6
package/lib/ui/Item.js ADDED
@@ -0,0 +1,188 @@
1
+ import { j as a } from "../jsx-runtime-BzflLqGi.js";
2
+ import { Slot as m } from "@radix-ui/react-slot";
3
+ import { c as s } from "../index-DI5SPFK9.js";
4
+ import { c as i } from "../cn-dYga0KKN.js";
5
+ import { Separator as d } from "./Separator.js";
6
+ function b({ className: e, ...t }) {
7
+ return /* @__PURE__ */ a.jsx(
8
+ "div",
9
+ {
10
+ role: "list",
11
+ "data-slot": "item-group",
12
+ className: i("group/item-group flex flex-col", e),
13
+ ...t
14
+ }
15
+ );
16
+ }
17
+ function j({
18
+ className: e,
19
+ ...t
20
+ }) {
21
+ return /* @__PURE__ */ a.jsx(
22
+ d,
23
+ {
24
+ "data-slot": "item-separator",
25
+ orientation: "horizontal",
26
+ className: i("my-0", e),
27
+ ...t
28
+ }
29
+ );
30
+ }
31
+ const u = s(
32
+ "group/item flex items-center border border-transparent text-sm rounded-md transition-colors [a]:hover:bg-accent/50 [a]:transition-colors duration-100 flex-wrap outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
33
+ {
34
+ variants: {
35
+ variant: {
36
+ default: "bg-transparent",
37
+ outline: "border-border",
38
+ muted: "bg-muted/50"
39
+ },
40
+ size: {
41
+ default: "p-4 gap-4 ",
42
+ sm: "py-3 px-4 gap-2.5"
43
+ }
44
+ },
45
+ defaultVariants: {
46
+ variant: "default",
47
+ size: "default"
48
+ }
49
+ }
50
+ );
51
+ function I({
52
+ className: e,
53
+ variant: t = "default",
54
+ size: r = "default",
55
+ asChild: n = !1,
56
+ ...o
57
+ }) {
58
+ const l = n ? m : "div";
59
+ return /* @__PURE__ */ a.jsx(
60
+ l,
61
+ {
62
+ "data-slot": "item",
63
+ "data-variant": t,
64
+ "data-size": r,
65
+ className: i(u({ variant: t, size: r, className: e })),
66
+ ...o
67
+ }
68
+ );
69
+ }
70
+ const f = s(
71
+ "flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none group-has-[[data-slot=item-description]]/item:translate-y-0.5",
72
+ {
73
+ variants: {
74
+ variant: {
75
+ default: "bg-transparent",
76
+ icon: "size-8 border rounded-sm bg-muted [&_svg:not([class*='size-'])]:size-4",
77
+ image: "size-10 rounded-sm overflow-hidden [&_img]:size-full [&_img]:object-cover"
78
+ }
79
+ },
80
+ defaultVariants: {
81
+ variant: "default"
82
+ }
83
+ }
84
+ );
85
+ function N({
86
+ className: e,
87
+ variant: t = "default",
88
+ ...r
89
+ }) {
90
+ return /* @__PURE__ */ a.jsx(
91
+ "div",
92
+ {
93
+ "data-slot": "item-media",
94
+ "data-variant": t,
95
+ className: i(f({ variant: t, className: e })),
96
+ ...r
97
+ }
98
+ );
99
+ }
100
+ function h({ className: e, ...t }) {
101
+ return /* @__PURE__ */ a.jsx(
102
+ "div",
103
+ {
104
+ "data-slot": "item-content",
105
+ className: i(
106
+ "flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none",
107
+ e
108
+ ),
109
+ ...t
110
+ }
111
+ );
112
+ }
113
+ function z({ className: e, ...t }) {
114
+ return /* @__PURE__ */ a.jsx(
115
+ "div",
116
+ {
117
+ "data-slot": "item-title",
118
+ className: i(
119
+ "flex w-fit items-center gap-2 text-sm leading-snug font-medium",
120
+ e
121
+ ),
122
+ ...t
123
+ }
124
+ );
125
+ }
126
+ function y({ className: e, ...t }) {
127
+ return /* @__PURE__ */ a.jsx(
128
+ "p",
129
+ {
130
+ "data-slot": "item-description",
131
+ className: i(
132
+ "text-muted-foreground line-clamp-2 text-sm leading-normal font-normal text-balance",
133
+ "[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",
134
+ e
135
+ ),
136
+ ...t
137
+ }
138
+ );
139
+ }
140
+ function w({ className: e, ...t }) {
141
+ return /* @__PURE__ */ a.jsx(
142
+ "div",
143
+ {
144
+ "data-slot": "item-actions",
145
+ className: i("flex items-center gap-2", e),
146
+ ...t
147
+ }
148
+ );
149
+ }
150
+ function V({ className: e, ...t }) {
151
+ return /* @__PURE__ */ a.jsx(
152
+ "div",
153
+ {
154
+ "data-slot": "item-header",
155
+ className: i(
156
+ "flex basis-full items-center justify-between gap-2",
157
+ e
158
+ ),
159
+ ...t
160
+ }
161
+ );
162
+ }
163
+ function _({ className: e, ...t }) {
164
+ return /* @__PURE__ */ a.jsx(
165
+ "div",
166
+ {
167
+ "data-slot": "item-footer",
168
+ className: i(
169
+ "flex basis-full items-center justify-between gap-2",
170
+ e
171
+ ),
172
+ ...t
173
+ }
174
+ );
175
+ }
176
+ export {
177
+ I as Item,
178
+ w as ItemActions,
179
+ h as ItemContent,
180
+ y as ItemDescription,
181
+ _ as ItemFooter,
182
+ b as ItemGroup,
183
+ V as ItemHeader,
184
+ N as ItemMedia,
185
+ j as ItemSeparator,
186
+ z as ItemTitle
187
+ };
188
+ //# sourceMappingURL=Item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Item.js","sources":["../../src/lib/ui/Item.tsx"],"sourcesContent":["import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport type * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\nimport { Separator } from \"./Separator.js\";\n\nfunction ItemGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n role=\"list\"\n data-slot=\"item-group\"\n className={cn(\"group/item-group flex flex-col\", className)}\n {...props}\n />\n );\n}\n\nfunction ItemSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"item-separator\"\n orientation=\"horizontal\"\n className={cn(\"my-0\", className)}\n {...props}\n />\n );\n}\n\nconst itemVariants = cva(\n \"group/item flex items-center border border-transparent text-sm rounded-md transition-colors [a]:hover:bg-accent/50 [a]:transition-colors duration-100 flex-wrap outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n outline: \"border-border\",\n muted: \"bg-muted/50\",\n },\n size: {\n default: \"p-4 gap-4 \",\n sm: \"py-3 px-4 gap-2.5\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nfunction Item({\n className,\n variant = \"default\",\n size = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> &\n VariantProps<typeof itemVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"div\";\n return (\n <Comp\n data-slot=\"item\"\n data-variant={variant}\n data-size={size}\n className={cn(itemVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nconst itemMediaVariants = cva(\n \"flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none group-has-[[data-slot=item-description]]/item:translate-y-0.5\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n icon: \"size-8 border rounded-sm bg-muted [&_svg:not([class*='size-'])]:size-4\",\n image:\n \"size-10 rounded-sm overflow-hidden [&_img]:size-full [&_img]:object-cover\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction ItemMedia({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof itemMediaVariants>) {\n return (\n <div\n data-slot=\"item-media\"\n data-variant={variant}\n className={cn(itemMediaVariants({ variant, className }))}\n {...props}\n />\n );\n}\n\nfunction ItemContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-content\"\n className={cn(\n \"flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ItemTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-title\"\n className={cn(\n \"flex w-fit items-center gap-2 text-sm leading-snug font-medium\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ItemDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"item-description\"\n className={cn(\n \"text-muted-foreground line-clamp-2 text-sm leading-normal font-normal text-balance\",\n \"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ItemActions({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-actions\"\n className={cn(\"flex items-center gap-2\", className)}\n {...props}\n />\n );\n}\n\nfunction ItemHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-header\"\n className={cn(\n \"flex basis-full items-center justify-between gap-2\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ItemFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"item-footer\"\n className={cn(\n \"flex basis-full items-center justify-between gap-2\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Item,\n ItemMedia,\n ItemContent,\n ItemActions,\n ItemGroup,\n ItemSeparator,\n ItemTitle,\n ItemDescription,\n ItemHeader,\n ItemFooter,\n};\n"],"names":["ItemGroup","className","props","jsx","cn","ItemSeparator","Separator","itemVariants","cva","Item","variant","size","asChild","Comp","Slot","itemMediaVariants","ItemMedia","ItemContent","ItemTitle","ItemDescription","ItemActions","ItemHeader","ItemFooter"],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import { j as t } from "../jsx-runtime-BzflLqGi.js";
2
+ import { ChevronDownIcon as o } from "lucide-react";
3
+ import { c as i } from "../cn-dYga0KKN.js";
4
+ function l({ className: e, ...r }) {
5
+ return /* @__PURE__ */ t.jsxs(
6
+ "div",
7
+ {
8
+ className: "group/native-select relative w-fit has-[select:disabled]:opacity-50",
9
+ "data-slot": "native-select-wrapper",
10
+ children: [
11
+ /* @__PURE__ */ t.jsx(
12
+ "select",
13
+ {
14
+ "data-slot": "native-select",
15
+ className: i(
16
+ "border-input placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 dark:hover:bg-input/50 h-9 w-full min-w-0 appearance-none rounded-md border bg-transparent px-3 py-2 pr-9 text-sm shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed",
17
+ "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
18
+ "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
19
+ e
20
+ ),
21
+ ...r
22
+ }
23
+ ),
24
+ /* @__PURE__ */ t.jsx(
25
+ o,
26
+ {
27
+ className: "text-muted-foreground pointer-events-none absolute top-1/2 right-3.5 size-4 -translate-y-1/2 opacity-50 select-none",
28
+ "aria-hidden": "true",
29
+ "data-slot": "native-select-icon"
30
+ }
31
+ )
32
+ ]
33
+ }
34
+ );
35
+ }
36
+ function d({ ...e }) {
37
+ return /* @__PURE__ */ t.jsx("option", { "data-slot": "native-select-option", ...e });
38
+ }
39
+ function c({
40
+ className: e,
41
+ ...r
42
+ }) {
43
+ return /* @__PURE__ */ t.jsx(
44
+ "optgroup",
45
+ {
46
+ "data-slot": "native-select-optgroup",
47
+ className: i(e),
48
+ ...r
49
+ }
50
+ );
51
+ }
52
+ export {
53
+ l as NativeSelect,
54
+ c as NativeSelectOptGroup,
55
+ d as NativeSelectOption
56
+ };
57
+ //# sourceMappingURL=NativeSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeSelect.js","sources":["../../src/lib/ui/NativeSelect.tsx"],"sourcesContent":["import { ChevronDownIcon } from \"lucide-react\";\nimport type * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nfunction NativeSelect({ className, ...props }: React.ComponentProps<\"select\">) {\n return (\n <div\n className=\"group/native-select relative w-fit has-[select:disabled]:opacity-50\"\n data-slot=\"native-select-wrapper\"\n >\n <select\n data-slot=\"native-select\"\n className={cn(\n \"border-input placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 dark:hover:bg-input/50 h-9 w-full min-w-0 appearance-none rounded-md border bg-transparent px-3 py-2 pr-9 text-sm shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed\",\n \"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n className,\n )}\n {...props}\n />\n <ChevronDownIcon\n className=\"text-muted-foreground pointer-events-none absolute top-1/2 right-3.5 size-4 -translate-y-1/2 opacity-50 select-none\"\n aria-hidden=\"true\"\n data-slot=\"native-select-icon\"\n />\n </div>\n );\n}\n\nfunction NativeSelectOption({ ...props }: React.ComponentProps<\"option\">) {\n return <option data-slot=\"native-select-option\" {...props} />;\n}\n\nfunction NativeSelectOptGroup({\n className,\n ...props\n}: React.ComponentProps<\"optgroup\">) {\n return (\n <optgroup\n data-slot=\"native-select-optgroup\"\n className={cn(className)}\n {...props}\n />\n );\n}\n\nexport { NativeSelect, NativeSelectOptGroup, NativeSelectOption };\n"],"names":["NativeSelect","className","props","jsxs","jsx","cn","ChevronDownIcon","NativeSelectOption","NativeSelectOptGroup"],"mappings":";;;AAIA,SAASA,EAAa,EAAE,WAAAC,GAAW,GAAGC,KAAyC;AAC7E,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,aAAU;AAAA,MAEV,UAAA;AAAA,QAAAC,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,aAAU;AAAA,YACV,WAAWC;AAAA,cACT;AAAA,cACA;AAAA,cACA;AAAA,cACAJ;AAAA,YAAA;AAAA,YAED,GAAGC;AAAA,UAAA;AAAA,QAAA;AAAA,QAENE,gBAAAA,EAAAA;AAAAA,UAACE;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,eAAY;AAAA,YACZ,aAAU;AAAA,UAAA;AAAA,QAAA;AAAA,MACZ;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,SAASC,EAAmB,EAAE,GAAGL,KAAyC;AACxE,SAAOE,gBAAAA,EAAAA,IAAC,UAAA,EAAO,aAAU,wBAAwB,GAAGF,GAAO;AAC7D;AAEA,SAASM,EAAqB;AAAA,EAC5B,WAAAP;AAAA,EACA,GAAGC;AACL,GAAqC;AACnC,SACEE,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAGJ,CAAS;AAAA,MACtB,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;"}
package/lib/ui/Select.js CHANGED
@@ -1,122 +1,172 @@
1
- import { j as t } from "../jsx-runtime-BzflLqGi.js";
2
- import * as e from "@radix-ui/react-select";
3
- import { ChevronDown as i, ChevronUp as p, Check as f } from "lucide-react";
4
- import * as l from "react";
5
- import { c as o } from "../cn-dYga0KKN.js";
6
- const b = e.Root, S = e.Group, v = e.Value, u = l.forwardRef(({ className: s, children: r, ...a }, d) => /* @__PURE__ */ t.jsxs(
7
- e.Trigger,
8
- {
9
- ref: d,
10
- className: o(
11
- "flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-1 focus:ring-ring focus:ring-offset-1 disabled:cursor-not-allowed disabled:opacity-50",
12
- s
13
- ),
14
- ...a,
15
- children: [
16
- /* @__PURE__ */ t.jsx("span", { className: "truncate", children: r }),
17
- /* @__PURE__ */ t.jsx(e.Icon, { asChild: !0, children: /* @__PURE__ */ t.jsx(i, { className: "shrink-0 h-4 w-4 opacity-50" }) })
18
- ]
19
- }
20
- ));
21
- u.displayName = e.Trigger.displayName;
22
- const n = l.forwardRef(({ className: s, ...r }, a) => /* @__PURE__ */ t.jsx(
23
- e.ScrollUpButton,
24
- {
25
- ref: a,
26
- className: o(
27
- "flex cursor-default items-center justify-center py-1",
28
- s
29
- ),
30
- ...r,
31
- children: /* @__PURE__ */ t.jsx(p, { className: "h-4 w-4" })
32
- }
33
- ));
34
- n.displayName = e.ScrollUpButton.displayName;
35
- const c = l.forwardRef(({ className: s, ...r }, a) => /* @__PURE__ */ t.jsx(
36
- e.ScrollDownButton,
37
- {
38
- ref: a,
39
- className: o(
40
- "flex cursor-default items-center justify-center py-1",
41
- s
42
- ),
43
- ...r,
44
- children: /* @__PURE__ */ t.jsx(i, { className: "h-4 w-4" })
45
- }
46
- ));
47
- c.displayName = e.ScrollDownButton.displayName;
48
- const x = l.forwardRef(({ className: s, children: r, position: a = "popper", ...d }, m) => /* @__PURE__ */ t.jsx(e.Portal, { children: /* @__PURE__ */ t.jsxs(
49
- e.Content,
50
- {
51
- ref: m,
52
- className: o(
53
- "relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
54
- a === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
55
- s
56
- ),
57
- position: a,
58
- ...d,
59
- children: [
60
- /* @__PURE__ */ t.jsx(n, {}),
61
- /* @__PURE__ */ t.jsx(
62
- e.Viewport,
63
- {
64
- className: o(
65
- a === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]",
66
- "divide-y"
67
- ),
68
- children: r
69
- }
1
+ import { j as e } from "../jsx-runtime-BzflLqGi.js";
2
+ import * as s from "@radix-ui/react-select";
3
+ import { CheckIcon as d, ChevronDownIcon as l, ChevronUpIcon as c } from "lucide-react";
4
+ import { cn as r } from "./util.js";
5
+ function g({
6
+ ...t
7
+ }) {
8
+ return /* @__PURE__ */ e.jsx(s.Root, { "data-slot": "select", ...t });
9
+ }
10
+ function h({
11
+ ...t
12
+ }) {
13
+ return /* @__PURE__ */ e.jsx(s.Group, { "data-slot": "select-group", ...t });
14
+ }
15
+ function v({
16
+ ...t
17
+ }) {
18
+ return /* @__PURE__ */ e.jsx(s.Value, { "data-slot": "select-value", ...t });
19
+ }
20
+ function b({
21
+ className: t,
22
+ size: a = "default",
23
+ children: o,
24
+ ...n
25
+ }) {
26
+ return /* @__PURE__ */ e.jsxs(
27
+ s.Trigger,
28
+ {
29
+ "data-slot": "select-trigger",
30
+ "data-size": a,
31
+ className: r(
32
+ "border-input data-placeholder:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
33
+ t
70
34
  ),
71
- /* @__PURE__ */ t.jsx(c, {})
72
- ]
73
- }
74
- ) }));
75
- x.displayName = e.Content.displayName;
76
- const h = l.forwardRef(({ className: s, ...r }, a) => /* @__PURE__ */ t.jsx(
77
- e.Label,
78
- {
79
- ref: a,
80
- className: o("py-1.5 pl-8 pr-2 text-sm font-semibold", s),
81
- ...r
82
- }
83
- ));
84
- h.displayName = e.Label.displayName;
85
- const y = l.forwardRef(({ className: s, children: r, ...a }, d) => /* @__PURE__ */ t.jsxs(
86
- e.Item,
87
- {
88
- ref: d,
89
- className: o(
90
- "relative flex w-full cursor-default select-none items-center py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
91
- s
92
- ),
93
- ...a,
94
- children: [
95
- /* @__PURE__ */ t.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ t.jsx(e.ItemIndicator, { children: /* @__PURE__ */ t.jsx(f, { className: "h-4 w-4" }) }) }),
96
- /* @__PURE__ */ t.jsx(e.ItemText, { children: r })
97
- ]
98
- }
99
- ));
100
- y.displayName = e.Item.displayName;
101
- const g = l.forwardRef(({ className: s, ...r }, a) => /* @__PURE__ */ t.jsx(
102
- e.Separator,
103
- {
104
- ref: a,
105
- className: o("-mx-1 my-1 h-px bg-muted", s),
106
- ...r
107
- }
108
- ));
109
- g.displayName = e.Separator.displayName;
35
+ ...n,
36
+ children: [
37
+ o,
38
+ /* @__PURE__ */ e.jsx(s.Icon, { asChild: !0, children: /* @__PURE__ */ e.jsx(l, { className: "size-4 opacity-50" }) })
39
+ ]
40
+ }
41
+ );
42
+ }
43
+ function j({
44
+ className: t,
45
+ children: a,
46
+ position: o = "popper",
47
+ align: n = "center",
48
+ ...i
49
+ }) {
50
+ return /* @__PURE__ */ e.jsx(s.Portal, { children: /* @__PURE__ */ e.jsxs(
51
+ s.Content,
52
+ {
53
+ "data-slot": "select-content",
54
+ className: r(
55
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-32 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",
56
+ o === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
57
+ t
58
+ ),
59
+ position: o,
60
+ align: n,
61
+ ...i,
62
+ children: [
63
+ /* @__PURE__ */ e.jsx(u, {}),
64
+ /* @__PURE__ */ e.jsx(
65
+ s.Viewport,
66
+ {
67
+ className: r(
68
+ "p-1",
69
+ o === "popper" && "h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width) scroll-my-1"
70
+ ),
71
+ children: a
72
+ }
73
+ ),
74
+ /* @__PURE__ */ e.jsx(p, {})
75
+ ]
76
+ }
77
+ ) });
78
+ }
79
+ function w({
80
+ className: t,
81
+ ...a
82
+ }) {
83
+ return /* @__PURE__ */ e.jsx(
84
+ s.Label,
85
+ {
86
+ "data-slot": "select-label",
87
+ className: r("text-muted-foreground px-2 py-1.5 text-xs", t),
88
+ ...a
89
+ }
90
+ );
91
+ }
92
+ function y({
93
+ className: t,
94
+ children: a,
95
+ ...o
96
+ }) {
97
+ return /* @__PURE__ */ e.jsxs(
98
+ s.Item,
99
+ {
100
+ "data-slot": "select-item",
101
+ className: r(
102
+ "focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
103
+ t
104
+ ),
105
+ ...o,
106
+ children: [
107
+ /* @__PURE__ */ e.jsx("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ e.jsx(s.ItemIndicator, { children: /* @__PURE__ */ e.jsx(d, { className: "size-4" }) }) }),
108
+ /* @__PURE__ */ e.jsx(s.ItemText, { children: a })
109
+ ]
110
+ }
111
+ );
112
+ }
113
+ function S({
114
+ className: t,
115
+ ...a
116
+ }) {
117
+ return /* @__PURE__ */ e.jsx(
118
+ s.Separator,
119
+ {
120
+ "data-slot": "select-separator",
121
+ className: r("bg-border pointer-events-none -mx-1 my-1 h-px", t),
122
+ ...a
123
+ }
124
+ );
125
+ }
126
+ function u({
127
+ className: t,
128
+ ...a
129
+ }) {
130
+ return /* @__PURE__ */ e.jsx(
131
+ s.ScrollUpButton,
132
+ {
133
+ "data-slot": "select-scroll-up-button",
134
+ className: r(
135
+ "flex cursor-default items-center justify-center py-1",
136
+ t
137
+ ),
138
+ ...a,
139
+ children: /* @__PURE__ */ e.jsx(c, { className: "size-4" })
140
+ }
141
+ );
142
+ }
143
+ function p({
144
+ className: t,
145
+ ...a
146
+ }) {
147
+ return /* @__PURE__ */ e.jsx(
148
+ s.ScrollDownButton,
149
+ {
150
+ "data-slot": "select-scroll-down-button",
151
+ className: r(
152
+ "flex cursor-default items-center justify-center py-1",
153
+ t
154
+ ),
155
+ ...a,
156
+ children: /* @__PURE__ */ e.jsx(l, { className: "size-4" })
157
+ }
158
+ );
159
+ }
110
160
  export {
111
- b as Select,
112
- x as SelectContent,
113
- S as SelectGroup,
161
+ g as Select,
162
+ j as SelectContent,
163
+ h as SelectGroup,
114
164
  y as SelectItem,
115
- h as SelectLabel,
116
- c as SelectScrollDownButton,
117
- n as SelectScrollUpButton,
118
- g as SelectSeparator,
119
- u as SelectTrigger,
165
+ w as SelectLabel,
166
+ p as SelectScrollDownButton,
167
+ u as SelectScrollUpButton,
168
+ S as SelectSeparator,
169
+ b as SelectTrigger,
120
170
  v as SelectValue
121
171
  };
122
172
  //# sourceMappingURL=Select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../src/lib/ui/Select.tsx"],"sourcesContent":["import * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { Check, ChevronDown, ChevronUp } from \"lucide-react\";\nimport * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-1 focus:ring-ring focus:ring-offset-1 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"truncate\">{children}</span>\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"shrink-0 h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronUp className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronDown className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\",\n \"divide-y\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\"py-1.5 pl-8 pr-2 text-sm font-semibold\", className)}\n {...props}\n />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex w-full cursor-default select-none items-center py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n"],"names":["Select","SelectPrimitive","SelectGroup","SelectValue","SelectTrigger","React","className","children","props","ref","jsxs","cn","jsx","ChevronDown","SelectScrollUpButton","ChevronUp","SelectScrollDownButton","SelectContent","position","SelectLabel","SelectItem","Check","SelectSeparator"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sources":["../../src/lib/ui/Select.tsx"],"sourcesContent":["import * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\nimport type * as React from \"react\";\nimport { cn } from \"./util.js\";\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\";\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border-input data-placeholder:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"popper\",\n align = \"center\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-32 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n align={align}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width) scroll-my-1\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n"],"names":["Select","props","SelectPrimitive","SelectGroup","SelectValue","SelectTrigger","className","size","children","jsxs","cn","jsx","ChevronDownIcon","SelectContent","position","align","SelectScrollUpButton","SelectScrollDownButton","SelectLabel","SelectItem","CheckIcon","SelectSeparator","ChevronUpIcon"],"mappings":"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"}