@vuer-ai/vuer-uikit 0.0.2 → 0.0.4

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 (230) hide show
  1. package/README.md +80 -0
  2. package/dist/chunk-25GQKTNF.mjs +105 -0
  3. package/dist/chunk-277NQUJD.js +99 -0
  4. package/dist/chunk-3FR3WKI4.mjs +24 -0
  5. package/dist/chunk-3Q75Z2CT.mjs +76 -0
  6. package/dist/chunk-5BIQ3IN7.js +93 -0
  7. package/dist/chunk-5GPQ7U5B.mjs +50 -0
  8. package/dist/chunk-66JQXJEV.mjs +272 -0
  9. package/dist/chunk-6ILSFDR5.mjs +161 -0
  10. package/dist/chunk-6L4KPPOD.mjs +90 -0
  11. package/dist/chunk-75QDQ67T.js +56 -0
  12. package/dist/chunk-7A7VNE3J.mjs +31 -0
  13. package/dist/chunk-7SXCVFSA.mjs +200 -0
  14. package/dist/chunk-7V4ELMOH.js +52 -0
  15. package/dist/chunk-7WUQTWQX.js +303 -0
  16. package/dist/chunk-A2Z57NAA.js +202 -0
  17. package/dist/chunk-ATDHGFVI.mjs +82 -0
  18. package/dist/chunk-ATEHWT2R.mjs +78 -0
  19. package/dist/chunk-B5EMQBVL.js +93 -0
  20. package/dist/chunk-CLTLT5XW.js +27 -0
  21. package/dist/chunk-COFRS37Z.mjs +337 -0
  22. package/dist/chunk-CP7QYV4N.mjs +110 -0
  23. package/dist/chunk-CZSRIDXN.mjs +165 -0
  24. package/dist/chunk-D4C5V4EN.mjs +53 -0
  25. package/dist/chunk-DWIK2CUV.mjs +45 -0
  26. package/dist/chunk-ECWCQWV5.js +148 -0
  27. package/dist/chunk-ENZI5WM7.js +108 -0
  28. package/dist/chunk-FVT46HEE.js +21 -0
  29. package/dist/chunk-FXIL4NQZ.js +58 -0
  30. package/dist/chunk-FYS6YECN.js +33 -0
  31. package/dist/chunk-G7XNQVPB.js +187 -0
  32. package/dist/chunk-GSXXTAQ3.js +373 -0
  33. package/dist/chunk-HUQZOPYD.js +2 -0
  34. package/dist/chunk-HW6SLBO3.mjs +9 -0
  35. package/dist/chunk-IPKCIMU4.mjs +156 -0
  36. package/dist/chunk-J7PTSP4Q.mjs +19 -0
  37. package/dist/chunk-KJ42IGH6.js +2 -0
  38. package/dist/chunk-KO7BQ6RR.js +83 -0
  39. package/dist/chunk-KQHNQQUZ.js +103 -0
  40. package/dist/chunk-KVFK3YC7.js +187 -0
  41. package/dist/chunk-KYKEJFJT.js +110 -0
  42. package/dist/chunk-LD7Y34QT.js +79 -0
  43. package/dist/chunk-LVSI4HYF.mjs +409 -0
  44. package/dist/chunk-M3KBBKQR.mjs +15 -0
  45. package/dist/chunk-MASRZTZC.mjs +34 -0
  46. package/dist/chunk-NN7R5DNL.mjs +119 -0
  47. package/dist/chunk-OE56M4MX.js +93 -0
  48. package/dist/chunk-OTDY2E2A.js +163 -0
  49. package/dist/chunk-PKGNHHWG.mjs +60 -0
  50. package/dist/chunk-Q3APPCB2.mjs +91 -0
  51. package/dist/chunk-QOUX33X5.mjs +111 -0
  52. package/dist/chunk-QS7WS6DD.mjs +1 -0
  53. package/dist/chunk-QZASHJNJ.js +24 -0
  54. package/dist/chunk-R6XNT4PN.js +431 -0
  55. package/dist/chunk-RACVRWME.js +136 -0
  56. package/dist/chunk-S2F2GRDB.mjs +1 -0
  57. package/dist/chunk-SI56IQWH.js +102 -0
  58. package/dist/chunk-ST4P6AN6.js +2 -0
  59. package/dist/chunk-TOZYLDAL.mjs +72 -0
  60. package/dist/chunk-UFR656UY.mjs +87 -0
  61. package/dist/chunk-UWO6RBCE.js +11 -0
  62. package/dist/chunk-VGCVIHBR.mjs +1 -0
  63. package/dist/chunk-WOG6UIG5.mjs +71 -0
  64. package/dist/chunk-X2QENXCS.mjs +54 -0
  65. package/dist/chunk-XACRGXGF.js +75 -0
  66. package/dist/chunk-XPNUQSKQ.mjs +94 -0
  67. package/dist/chunk-YQORMF34.js +110 -0
  68. package/dist/chunk-Z37VNICQ.js +67 -0
  69. package/dist/chunk-ZJXBC33M.js +112 -0
  70. package/dist/highlight-cursor/cursor-context.d.mts +7 -0
  71. package/dist/highlight-cursor/cursor-context.d.ts +7 -0
  72. package/dist/highlight-cursor/cursor-context.js +14 -0
  73. package/dist/highlight-cursor/cursor-context.mjs +1 -0
  74. package/dist/highlight-cursor/cursor-provider.d.mts +7 -0
  75. package/dist/highlight-cursor/cursor-provider.d.ts +7 -0
  76. package/dist/highlight-cursor/cursor-provider.js +12 -0
  77. package/dist/highlight-cursor/cursor-provider.mjs +3 -0
  78. package/dist/highlight-cursor/enhanced-components.d.mts +20 -0
  79. package/dist/highlight-cursor/enhanced-components.d.ts +20 -0
  80. package/dist/highlight-cursor/enhanced-components.js +36 -0
  81. package/dist/highlight-cursor/enhanced-components.mjs +11 -0
  82. package/dist/highlight-cursor/index.d.mts +16 -0
  83. package/dist/highlight-cursor/index.d.ts +16 -0
  84. package/dist/highlight-cursor/index.js +50 -0
  85. package/dist/highlight-cursor/index.mjs +13 -0
  86. package/dist/highlight-cursor/tabs-cursor-context.d.mts +14 -0
  87. package/dist/highlight-cursor/tabs-cursor-context.d.ts +14 -0
  88. package/dist/highlight-cursor/tabs-cursor-context.js +14 -0
  89. package/dist/highlight-cursor/tabs-cursor-context.mjs +1 -0
  90. package/dist/highlight-cursor/types.d.mts +39 -0
  91. package/dist/highlight-cursor/types.d.ts +39 -0
  92. package/dist/highlight-cursor/types.js +2 -0
  93. package/dist/highlight-cursor/types.mjs +1 -0
  94. package/dist/highlight-cursor/with-cursor.d.mts +7 -0
  95. package/dist/highlight-cursor/with-cursor.d.ts +7 -0
  96. package/dist/highlight-cursor/with-cursor.js +11 -0
  97. package/dist/highlight-cursor/with-cursor.mjs +2 -0
  98. package/dist/index.css +314 -0
  99. package/dist/index.d.mts +51 -0
  100. package/dist/index.d.ts +51 -0
  101. package/dist/index.js +425 -6744
  102. package/dist/index.mjs +34 -0
  103. package/dist/styles/theme.css +191 -0
  104. package/dist/styles/theme.d.mts +2 -0
  105. package/dist/styles/theme.d.ts +2 -0
  106. package/dist/styles/toast.css +58 -0
  107. package/dist/styles/toast.d.mts +2 -0
  108. package/dist/styles/toast.d.ts +2 -0
  109. package/dist/styles/variables.css +188 -0
  110. package/dist/styles/variables.d.mts +2 -0
  111. package/dist/styles/variables.d.ts +2 -0
  112. package/dist/ui/avatar.d.mts +16 -0
  113. package/dist/ui/avatar.d.ts +16 -0
  114. package/dist/ui/avatar.js +23 -0
  115. package/dist/ui/avatar.mjs +2 -0
  116. package/dist/ui/badge.d.mts +14 -0
  117. package/dist/ui/badge.d.ts +14 -0
  118. package/dist/ui/badge.js +16 -0
  119. package/dist/ui/badge.mjs +3 -0
  120. package/dist/ui/button.d.mts +16 -0
  121. package/dist/ui/button.d.ts +16 -0
  122. package/dist/ui/button.js +12 -0
  123. package/dist/ui/button.mjs +3 -0
  124. package/dist/ui/card.d.mts +12 -0
  125. package/dist/ui/card.d.ts +12 -0
  126. package/dist/ui/card.js +36 -0
  127. package/dist/ui/card.mjs +3 -0
  128. package/dist/ui/checkbox.d.mts +11 -0
  129. package/dist/ui/checkbox.d.ts +11 -0
  130. package/dist/ui/checkbox.js +12 -0
  131. package/dist/ui/checkbox.mjs +3 -0
  132. package/dist/ui/collapsible.d.mts +9 -0
  133. package/dist/ui/collapsible.d.ts +9 -0
  134. package/dist/ui/collapsible.js +20 -0
  135. package/dist/ui/collapsible.mjs +3 -0
  136. package/dist/ui/dropdown.d.mts +28 -0
  137. package/dist/ui/dropdown.d.ts +28 -0
  138. package/dist/ui/dropdown.js +68 -0
  139. package/dist/ui/dropdown.mjs +3 -0
  140. package/dist/ui/index.d.mts +44 -0
  141. package/dist/ui/index.d.ts +44 -0
  142. package/dist/ui/index.js +398 -0
  143. package/dist/ui/index.mjs +29 -0
  144. package/dist/ui/input-numbers.d.mts +15 -0
  145. package/dist/ui/input-numbers.d.ts +15 -0
  146. package/dist/ui/input-numbers.js +13 -0
  147. package/dist/ui/input-numbers.mjs +4 -0
  148. package/dist/ui/input.d.mts +22 -0
  149. package/dist/ui/input.d.ts +22 -0
  150. package/dist/ui/input.js +16 -0
  151. package/dist/ui/input.mjs +3 -0
  152. package/dist/ui/layout.d.mts +12 -0
  153. package/dist/ui/layout.d.ts +12 -0
  154. package/dist/ui/layout.js +12 -0
  155. package/dist/ui/layout.mjs +3 -0
  156. package/dist/ui/modal.d.mts +28 -0
  157. package/dist/ui/modal.d.ts +28 -0
  158. package/dist/ui/modal.js +48 -0
  159. package/dist/ui/modal.mjs +3 -0
  160. package/dist/ui/popover.d.mts +10 -0
  161. package/dist/ui/popover.d.ts +10 -0
  162. package/dist/ui/popover.js +23 -0
  163. package/dist/ui/popover.mjs +2 -0
  164. package/dist/ui/radio-group.d.mts +8 -0
  165. package/dist/ui/radio-group.d.ts +8 -0
  166. package/dist/ui/radio-group.js +16 -0
  167. package/dist/ui/radio-group.mjs +3 -0
  168. package/dist/ui/select.d.mts +28 -0
  169. package/dist/{types/ui → ui}/select.d.ts +18 -14
  170. package/dist/ui/select.js +48 -0
  171. package/dist/ui/select.mjs +3 -0
  172. package/dist/ui/sheet.d.mts +16 -0
  173. package/dist/ui/sheet.d.ts +16 -0
  174. package/dist/ui/sheet.js +39 -0
  175. package/dist/ui/sheet.mjs +2 -0
  176. package/dist/ui/slider.d.mts +10 -0
  177. package/dist/ui/slider.d.ts +10 -0
  178. package/dist/ui/slider.js +12 -0
  179. package/dist/ui/slider.mjs +3 -0
  180. package/dist/ui/switch.d.mts +7 -0
  181. package/dist/ui/switch.d.ts +7 -0
  182. package/dist/ui/switch.js +12 -0
  183. package/dist/ui/switch.mjs +3 -0
  184. package/dist/ui/tabs.d.mts +16 -0
  185. package/dist/ui/tabs.d.ts +16 -0
  186. package/dist/ui/tabs.js +25 -0
  187. package/dist/ui/tabs.mjs +4 -0
  188. package/dist/ui/textarea.d.mts +16 -0
  189. package/dist/ui/textarea.d.ts +16 -0
  190. package/dist/ui/textarea.js +12 -0
  191. package/dist/ui/textarea.mjs +3 -0
  192. package/dist/ui/theme-context.d.mts +17 -0
  193. package/dist/{types/ui → ui}/theme-context.d.ts +5 -3
  194. package/dist/ui/theme-context.js +14 -0
  195. package/dist/ui/theme-context.mjs +1 -0
  196. package/dist/ui/toast.d.mts +7 -0
  197. package/dist/ui/toast.d.ts +7 -0
  198. package/dist/ui/toast.js +14 -0
  199. package/dist/ui/toast.mjs +1 -0
  200. package/dist/ui/toggle-group.d.mts +12 -0
  201. package/dist/ui/toggle-group.d.ts +12 -0
  202. package/dist/ui/toggle-group.js +17 -0
  203. package/dist/ui/toggle-group.mjs +4 -0
  204. package/dist/ui/toggle.d.mts +13 -0
  205. package/dist/ui/toggle.d.ts +13 -0
  206. package/dist/ui/toggle.js +16 -0
  207. package/dist/ui/toggle.mjs +3 -0
  208. package/dist/ui/tooltip.d.mts +10 -0
  209. package/dist/ui/tooltip.d.ts +10 -0
  210. package/dist/ui/tooltip.js +23 -0
  211. package/dist/ui/tooltip.mjs +2 -0
  212. package/dist/ui/tree-view.d.mts +27 -0
  213. package/dist/ui/tree-view.d.ts +27 -0
  214. package/dist/ui/tree-view.js +11 -0
  215. package/dist/ui/tree-view.mjs +2 -0
  216. package/dist/utils/cn.d.mts +5 -0
  217. package/dist/utils/cn.d.ts +5 -0
  218. package/dist/utils/cn.js +10 -0
  219. package/dist/utils/cn.mjs +1 -0
  220. package/dist/utils/index.d.mts +2 -0
  221. package/dist/utils/index.d.ts +2 -0
  222. package/dist/utils/index.js +11 -0
  223. package/dist/utils/index.mjs +2 -0
  224. package/package.json +49 -27
  225. package/dist/index.umd.js +0 -74
  226. package/dist/types/index.d.ts +0 -4
  227. package/dist/types/lib/utils.d.ts +0 -2
  228. package/dist/types/ui/button.d.ts +0 -13
  229. package/dist/types/ui/input.d.ts +0 -19
  230. package/dist/vuer-uikit.css +0 -1
@@ -0,0 +1,200 @@
1
+ import { cn } from './chunk-HW6SLBO3.mjs';
2
+ import { CursorContext } from './chunk-3FR3WKI4.mjs';
3
+ import { useState, useRef, useEffect, useCallback, useMemo } from 'react';
4
+ import { createPortal } from 'react-dom';
5
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
+
7
+ var CursorProvider = ({
8
+ children,
9
+ maxOffsetX = 5,
10
+ maxOffsetY = 20,
11
+ cursorSize = 20,
12
+ transitionDuration = 100,
13
+ cursorClassName,
14
+ className,
15
+ as: Component = "div",
16
+ ...props
17
+ }) => {
18
+ const [isMouseInside, setIsMouseInside] = useState(false);
19
+ const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 });
20
+ const [hoveredElementId, setHoveredElementId] = useState(null);
21
+ const [elementDimensions, setElementDimensions] = useState({
22
+ width: 0,
23
+ height: 0,
24
+ x: 0,
25
+ y: 0,
26
+ right: 0,
27
+ bottom: 0
28
+ });
29
+ const hoveredElementRef = useRef(null);
30
+ useEffect(() => {
31
+ const handleMouseMove = (e) => {
32
+ setMousePosition({ x: e.clientX, y: e.clientY });
33
+ };
34
+ document.addEventListener("mousemove", handleMouseMove);
35
+ return () => document.removeEventListener("mousemove", handleMouseMove);
36
+ }, []);
37
+ const handleMouseEnter = useCallback(() => {
38
+ setIsMouseInside(true);
39
+ }, []);
40
+ const handleMouseLeave = useCallback(() => {
41
+ setIsMouseInside(false);
42
+ setHoveredElementId(null);
43
+ hoveredElementRef.current = null;
44
+ }, []);
45
+ const checkMouseInElement = useCallback(() => {
46
+ if (!hoveredElementRef.current || !hoveredElementId) {
47
+ return;
48
+ }
49
+ const rect = hoveredElementRef.current.getBoundingClientRect();
50
+ setElementDimensions({
51
+ width: rect.width,
52
+ height: rect.height,
53
+ x: rect.left,
54
+ y: rect.top,
55
+ right: rect.right,
56
+ bottom: rect.bottom
57
+ });
58
+ const isInside = mousePosition.x >= rect.left && mousePosition.x <= rect.right && mousePosition.y >= rect.top && mousePosition.y <= rect.bottom;
59
+ if (!isInside) {
60
+ setHoveredElementId(null);
61
+ hoveredElementRef.current = null;
62
+ }
63
+ }, [mousePosition, hoveredElementId]);
64
+ useEffect(() => {
65
+ const handleScroll = () => {
66
+ checkMouseInElement();
67
+ };
68
+ document.addEventListener("scroll", handleScroll, { passive: true, capture: true });
69
+ return () => {
70
+ document.removeEventListener("scroll", handleScroll, { capture: true });
71
+ };
72
+ }, [checkMouseInElement]);
73
+ const registerHoveredElement = useCallback(
74
+ (id, dimensions, element) => {
75
+ setHoveredElementId(id);
76
+ setElementDimensions({
77
+ width: dimensions.width,
78
+ height: dimensions.height,
79
+ x: dimensions.left,
80
+ y: dimensions.top,
81
+ right: dimensions.right,
82
+ bottom: dimensions.bottom
83
+ });
84
+ if (element) {
85
+ hoveredElementRef.current = element;
86
+ }
87
+ },
88
+ []
89
+ );
90
+ const unregisterHoveredElement = useCallback(() => {
91
+ setHoveredElementId(null);
92
+ hoveredElementRef.current = null;
93
+ }, []);
94
+ const updateElementDimensions = useCallback(
95
+ (dimensions) => {
96
+ if (hoveredElementId) {
97
+ setElementDimensions({
98
+ width: dimensions.width,
99
+ height: dimensions.height,
100
+ x: dimensions.left,
101
+ y: dimensions.top,
102
+ right: dimensions.right,
103
+ bottom: dimensions.bottom
104
+ });
105
+ }
106
+ },
107
+ [hoveredElementId]
108
+ );
109
+ const getCursorPosition = () => {
110
+ if (!hoveredElementId) {
111
+ return {
112
+ x: mousePosition.x - cursorSize / 2,
113
+ y: mousePosition.y - cursorSize / 2
114
+ };
115
+ }
116
+ const elementCenterX = elementDimensions.x + elementDimensions.width / 2;
117
+ const elementCenterY = elementDimensions.y + elementDimensions.height / 2;
118
+ const offsetX = (mousePosition.x - elementCenterX) * 0.1;
119
+ const offsetY = (mousePosition.y - elementCenterY) * 0.1;
120
+ const boundedOffsetX = Math.max(-maxOffsetX, Math.min(maxOffsetX, offsetX));
121
+ const boundedOffsetY = Math.max(-maxOffsetY, Math.min(maxOffsetY, offsetY));
122
+ return {
123
+ x: elementDimensions.x + boundedOffsetX,
124
+ y: elementDimensions.y + boundedOffsetY
125
+ };
126
+ };
127
+ const contextValue = useMemo(
128
+ () => ({
129
+ // State values that change during component lifecycle
130
+ mousePosition,
131
+ hoveredElementId,
132
+ elementDimensions,
133
+ // Callbacks that should be stable references
134
+ registerHoveredElement,
135
+ unregisterHoveredElement,
136
+ updateElementDimensions
137
+ }),
138
+ [
139
+ mousePosition,
140
+ hoveredElementId,
141
+ elementDimensions,
142
+ registerHoveredElement,
143
+ unregisterHoveredElement,
144
+ updateElementDimensions
145
+ ]
146
+ );
147
+ const cursorPosition = getCursorPosition();
148
+ const cursorStyleObject = useMemo(
149
+ () => ({
150
+ left: cursorPosition.x,
151
+ top: cursorPosition.y,
152
+ width: hoveredElementId ? elementDimensions.width > 0 ? elementDimensions.width : cursorSize : cursorSize,
153
+ height: hoveredElementId ? elementDimensions.height > 0 ? elementDimensions.height : cursorSize : cursorSize,
154
+ willChange: "transform, width, height"
155
+ }),
156
+ [
157
+ cursorPosition.x,
158
+ cursorPosition.y,
159
+ hoveredElementId,
160
+ elementDimensions.width,
161
+ elementDimensions.height,
162
+ cursorSize
163
+ ]
164
+ );
165
+ let styleClass;
166
+ if (hoveredElementId) {
167
+ styleClass = `opacity-[0.05] rounded-md transition-[width,height,left,top] duration-${transitionDuration} ease-out`;
168
+ } else {
169
+ styleClass = `opacity-90 rounded-xl z-10 transition-[width,height,left,top] duration-${transitionDuration} ease-out transition-opacity duration-${transitionDuration}`;
170
+ }
171
+ const cursorElement = isMouseInside && /* @__PURE__ */ jsx(
172
+ "div",
173
+ {
174
+ className: `pointer-events-none fixed ${styleClass} ${hoveredElementId ? "" : cursorClassName || ""}`,
175
+ style: {
176
+ ...cursorStyleObject,
177
+ backgroundColor: "var(--shadow-tertiary)"
178
+ }
179
+ }
180
+ );
181
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
182
+ typeof document !== "undefined" && document.body && cursorElement && createPortal(cursorElement, document.body),
183
+ /* @__PURE__ */ jsx(CursorContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
184
+ Component,
185
+ {
186
+ ...props,
187
+ className: cn(className),
188
+ style: {
189
+ cursor: isMouseInside && !hoveredElementId ? "none" : "auto",
190
+ ...props.style
191
+ },
192
+ onMouseEnter: handleMouseEnter,
193
+ onMouseLeave: handleMouseLeave,
194
+ children
195
+ }
196
+ ) })
197
+ ] });
198
+ };
199
+
200
+ export { CursorProvider };
@@ -0,0 +1,52 @@
1
+ 'use strict';
2
+
3
+ var chunkUWO6RBCE_js = require('./chunk-UWO6RBCE.js');
4
+ var classVarianceAuthority = require('class-variance-authority');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ var textareaVariants = classVarianceAuthority.cva(
8
+ [
9
+ "bg-bg-secondary",
10
+ "disabled:bg-bg-tertiary",
11
+ "disabled:text-text-tertiary",
12
+ "disabled:cursor-not-allowed",
13
+ "outline",
14
+ "outline-transparent",
15
+ "-outline-offset-1",
16
+ "placehoder:text-muted-foreground",
17
+ "flex",
18
+ "min-h-16",
19
+ "w-full",
20
+ "px-3",
21
+ "py-2"
22
+ ],
23
+ {
24
+ variants: {
25
+ state: {
26
+ default: ["hover:bg-bg-tertiary", "focus:bg-bg-quaternary"],
27
+ error: ["hover:bg-danger-primary/10", "bg-danger-primary/20"]
28
+ },
29
+ size: {
30
+ sm: ["text-sm", "rounded-uk-sm"],
31
+ base: ["text-md", "rounded-uk-md"],
32
+ lg: ["text-xl", "rounded-uk-md"]
33
+ }
34
+ },
35
+ defaultVariants: {
36
+ state: "default",
37
+ size: "base"
38
+ }
39
+ }
40
+ );
41
+ function Textarea({ className, state, size, ...props }) {
42
+ return /* @__PURE__ */ jsxRuntime.jsx(
43
+ "textarea",
44
+ {
45
+ className: chunkUWO6RBCE_js.cn(textareaVariants({ className, state, size })),
46
+ "data-slot": "textarea",
47
+ ...props
48
+ }
49
+ );
50
+ }
51
+
52
+ exports.Textarea = Textarea;
@@ -0,0 +1,303 @@
1
+ 'use strict';
2
+
3
+ var chunkUWO6RBCE_js = require('./chunk-UWO6RBCE.js');
4
+ var SelectPrimitive = require('@radix-ui/react-select');
5
+ var classVarianceAuthority = require('class-variance-authority');
6
+ var lucideReact = require('lucide-react');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ function _interopNamespace(e) {
10
+ if (e && e.__esModule) return e;
11
+ var n = Object.create(null);
12
+ if (e) {
13
+ Object.keys(e).forEach(function (k) {
14
+ if (k !== 'default') {
15
+ var d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: function () { return e[k]; }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n.default = e;
24
+ return Object.freeze(n);
25
+ }
26
+
27
+ var SelectPrimitive__namespace = /*#__PURE__*/_interopNamespace(SelectPrimitive);
28
+
29
+ function Select({ ...props }) {
30
+ return /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Root, { "data-slot": "select", ...props });
31
+ }
32
+ function SelectGroup({ className, ...props }) {
33
+ return /* @__PURE__ */ jsxRuntime.jsx(
34
+ SelectPrimitive__namespace.Group,
35
+ {
36
+ "data-slot": "select-group",
37
+ className: chunkUWO6RBCE_js.cn("space-y-xs", className),
38
+ ...props
39
+ }
40
+ );
41
+ }
42
+ function SelectValue({ ...props }) {
43
+ return /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Value, { "data-slot": "select-value", ...props });
44
+ }
45
+ var selectTriggerVariants = classVarianceAuthority.cva(
46
+ [
47
+ // "data-[placeholder]:text-muted-foreground",
48
+ "flex",
49
+ "items-center",
50
+ "justify-between",
51
+ "gap-2",
52
+ "rounded-uk-sm",
53
+ "bg-bg-secondary",
54
+ "whitespace-nowrap",
55
+ "shadow-xs",
56
+ "transition-[color,box-shadow]",
57
+ "outline-none",
58
+ "*:data-[slot=select-value]:line-clamp-1",
59
+ "*:data-[slot=select-value]:flex",
60
+ "*:data-[slot=select-value]:items-center",
61
+ "*:data-[slot=select-value]:gap-2",
62
+ "[&_svg]:pointer-events-none",
63
+ "[&_svg]:shrink-0",
64
+ "[&_svg:not([class*='size-'])]:size-4",
65
+ "[&_svg:not([class*='text-'])]:text-muted-foreground"
66
+ ],
67
+ {
68
+ variants: {
69
+ state: {
70
+ default: ["hover:bg-bg-tertiary", "has-[input:focus]:bg-bg-quaternary"],
71
+ disabled: ["disabled:cursor-not-allowed", "bg-bg-tertiary", "text-text-tertiary"],
72
+ error: ["hover:bg-danger-primary/10", "bg-danger-primary/20"]
73
+ },
74
+ size: {
75
+ sm: "p-sm text-sm h-6.5",
76
+ base: "",
77
+ lg: ""
78
+ }
79
+ },
80
+ defaultVariants: {
81
+ state: "default",
82
+ size: "base"
83
+ }
84
+ }
85
+ );
86
+ function SelectTrigger({
87
+ className,
88
+ size,
89
+ children,
90
+ disabled,
91
+ state,
92
+ ...props
93
+ }) {
94
+ return /* @__PURE__ */ jsxRuntime.jsxs(
95
+ SelectPrimitive__namespace.Trigger,
96
+ {
97
+ "data-slot": "select-trigger",
98
+ "data-size": size,
99
+ className: chunkUWO6RBCE_js.cn(
100
+ selectTriggerVariants({ size, className, state: disabled ? "disabled" : state })
101
+ ),
102
+ disabled,
103
+ ...props,
104
+ children: [
105
+ children,
106
+ /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Icon, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "size-4 opacity-50" }) })
107
+ ]
108
+ }
109
+ );
110
+ }
111
+ function SelectContent({
112
+ className,
113
+ children,
114
+ position = "item-aligned",
115
+ ...props
116
+ }) {
117
+ return /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
118
+ SelectPrimitive__namespace.Content,
119
+ {
120
+ "data-slot": "select-content",
121
+ className: chunkUWO6RBCE_js.cn(
122
+ [
123
+ "bg-bg-primary",
124
+ "data-[state=open]:animate-in",
125
+ "data-[state=closed]:animate-out",
126
+ "data-[state=closed]:fade-out-0",
127
+ "data-[state=open]:fade-in-0",
128
+ "data-[state=closed]:zoom-out-95",
129
+ "data-[state=open]:zoom-in-95",
130
+ "data-[side=bottom]:slide-in-from-top-2",
131
+ "data-[side=left]:slide-in-from-right-2",
132
+ "data-[side=right]:slide-in-from-left-2",
133
+ "data-[side=top]:slide-in-from-bottom-2",
134
+ "relative",
135
+ "z-50",
136
+ "max-h-(--radix-select-content-available-height)",
137
+ "min-w-[8rem]",
138
+ "origin-(--radix-select-content-transform-origin)",
139
+ "overflow-x-hidden",
140
+ "overflow-y-auto",
141
+ "rounded-uk-md",
142
+ "shadow-md",
143
+ "shadow-[0_8px_20px_0_rgba(0,0,0,.80)]",
144
+ "liquid:liquid-bg"
145
+ ],
146
+ {
147
+ "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1": position === "popper"
148
+ },
149
+ className
150
+ ),
151
+ position,
152
+ ...props,
153
+ children: [
154
+ /* @__PURE__ */ jsxRuntime.jsx(SelectScrollUpButton, {}),
155
+ /* @__PURE__ */ jsxRuntime.jsx(
156
+ SelectPrimitive__namespace.Viewport,
157
+ {
158
+ className: chunkUWO6RBCE_js.cn("p-md", {
159
+ "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1": position === "popper"
160
+ }),
161
+ children
162
+ }
163
+ ),
164
+ /* @__PURE__ */ jsxRuntime.jsx(SelectScrollDownButton, {})
165
+ ]
166
+ }
167
+ ) });
168
+ }
169
+ function SelectLabel({ className, ...props }) {
170
+ return /* @__PURE__ */ jsxRuntime.jsx(
171
+ SelectPrimitive__namespace.Label,
172
+ {
173
+ "data-slot": "select-label",
174
+ className: chunkUWO6RBCE_js.cn("text-text-secondary px-2 py-1.5 text-xs", className),
175
+ ...props
176
+ }
177
+ );
178
+ }
179
+ function SelectItem({ className, children, prefix, suffix, disabled, ...props }) {
180
+ return /* @__PURE__ */ jsxRuntime.jsxs(
181
+ SelectPrimitive__namespace.Item,
182
+ {
183
+ "data-slot": "select-item",
184
+ disabled,
185
+ className: chunkUWO6RBCE_js.cn(
186
+ [
187
+ "group/select-item",
188
+ "w-full",
189
+ "flex",
190
+ "gap-md",
191
+ "items-center",
192
+ "px-md",
193
+ "py-xs",
194
+ "relative",
195
+ "cursor-default",
196
+ "rounded-uk-xs",
197
+ "text-xs",
198
+ "outline-hidden",
199
+ "select-none",
200
+ "focus:bg-bg-secondary",
201
+ "data-[state=checked]:bg-brand-primary",
202
+ "data-[disabled]:pointer-events-none",
203
+ "data-[disabled]:text-bg-quaternary",
204
+ "[&_svg]:pointer-events-none",
205
+ "[&_svg]:shrink-0",
206
+ "[&_svg:not([class*='size-'])]:size-4",
207
+ "[&_svg:not([class*='text-'])]:text-muted-foreground",
208
+ "*:[span]:last:flex",
209
+ "*:[span]:last:items-center",
210
+ "*:[span]:last:gap-2"
211
+ ],
212
+ className
213
+ ),
214
+ ...props,
215
+ children: [
216
+ /* @__PURE__ */ jsxRuntime.jsx(
217
+ "p",
218
+ {
219
+ "data-disabled": disabled,
220
+ className: chunkUWO6RBCE_js.cn([
221
+ "text-text-tertiary",
222
+ "flex",
223
+ "shrink-0",
224
+ "gap-0.5",
225
+ "data-[disabled=true]:text-bg-quaternary",
226
+ "group-data-[state=checked]/select-item:text-text-withbg"
227
+ ]),
228
+ children: prefix
229
+ }
230
+ ),
231
+ /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.ItemText, { children }),
232
+ /* @__PURE__ */ jsxRuntime.jsx(
233
+ "p",
234
+ {
235
+ "data-disabled": disabled,
236
+ className: chunkUWO6RBCE_js.cn(
237
+ "text-text-tertiary",
238
+ "ml-auto",
239
+ "flex",
240
+ "shrink-0",
241
+ "gap-0.5",
242
+ "data-[disabled=true]:text-bg-quaternary",
243
+ "group-data-[state=checked]/select-item:text-text-withbg"
244
+ ),
245
+ children: suffix
246
+ }
247
+ )
248
+ ]
249
+ }
250
+ );
251
+ }
252
+ function SelectSeparator({
253
+ className,
254
+ ...props
255
+ }) {
256
+ return /* @__PURE__ */ jsxRuntime.jsx(
257
+ SelectPrimitive__namespace.Separator,
258
+ {
259
+ "data-slot": "select-separator",
260
+ className: chunkUWO6RBCE_js.cn("bg-line-primary my-lg pointer-events-none -mx-1 h-px", className),
261
+ ...props
262
+ }
263
+ );
264
+ }
265
+ function SelectScrollUpButton({
266
+ className,
267
+ ...props
268
+ }) {
269
+ return /* @__PURE__ */ jsxRuntime.jsx(
270
+ SelectPrimitive__namespace.ScrollUpButton,
271
+ {
272
+ "data-slot": "select-scroll-up-button",
273
+ className: chunkUWO6RBCE_js.cn("flex cursor-default items-center justify-center py-1", className),
274
+ ...props,
275
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUpIcon, { className: "size-4" })
276
+ }
277
+ );
278
+ }
279
+ function SelectScrollDownButton({
280
+ className,
281
+ ...props
282
+ }) {
283
+ return /* @__PURE__ */ jsxRuntime.jsx(
284
+ SelectPrimitive__namespace.ScrollDownButton,
285
+ {
286
+ "data-slot": "select-scroll-down-button",
287
+ className: chunkUWO6RBCE_js.cn("flex cursor-default items-center justify-center py-1", className),
288
+ ...props,
289
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "size-4" })
290
+ }
291
+ );
292
+ }
293
+
294
+ exports.Select = Select;
295
+ exports.SelectContent = SelectContent;
296
+ exports.SelectGroup = SelectGroup;
297
+ exports.SelectItem = SelectItem;
298
+ exports.SelectLabel = SelectLabel;
299
+ exports.SelectScrollDownButton = SelectScrollDownButton;
300
+ exports.SelectScrollUpButton = SelectScrollUpButton;
301
+ exports.SelectSeparator = SelectSeparator;
302
+ exports.SelectTrigger = SelectTrigger;
303
+ exports.SelectValue = SelectValue;