@ensolid/radix 0.0.0

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 (169) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +79 -0
  2. package/dist/components/Accordion/Accordion.d.ts.map +1 -0
  3. package/dist/components/Accordion/Accordion.js +193 -0
  4. package/dist/components/Accordion/Accordion.js.map +1 -0
  5. package/dist/components/Accordion/index.d.ts +2 -0
  6. package/dist/components/Accordion/index.d.ts.map +1 -0
  7. package/dist/components/AlertDialog/AlertDialog.d.ts +89 -0
  8. package/dist/components/AlertDialog/AlertDialog.d.ts.map +1 -0
  9. package/dist/components/AlertDialog/AlertDialog.js +235 -0
  10. package/dist/components/AlertDialog/AlertDialog.js.map +1 -0
  11. package/dist/components/AlertDialog/index.d.ts +2 -0
  12. package/dist/components/AlertDialog/index.d.ts.map +1 -0
  13. package/dist/components/AspectRatio/AspectRatio.d.ts +14 -0
  14. package/dist/components/AspectRatio/AspectRatio.d.ts.map +1 -0
  15. package/dist/components/AspectRatio/AspectRatio.js +25 -0
  16. package/dist/components/AspectRatio/AspectRatio.js.map +1 -0
  17. package/dist/components/AspectRatio/index.d.ts +2 -0
  18. package/dist/components/AspectRatio/index.d.ts.map +1 -0
  19. package/dist/components/Avatar/Avatar.d.ts +41 -0
  20. package/dist/components/Avatar/Avatar.d.ts.map +1 -0
  21. package/dist/components/Avatar/Avatar.js +144 -0
  22. package/dist/components/Avatar/Avatar.js.map +1 -0
  23. package/dist/components/Avatar/index.d.ts +2 -0
  24. package/dist/components/Avatar/index.d.ts.map +1 -0
  25. package/dist/components/Checkbox/Checkbox.d.ts +27 -0
  26. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
  27. package/dist/components/Checkbox/Checkbox.js +49 -0
  28. package/dist/components/Checkbox/Checkbox.js.map +1 -0
  29. package/dist/components/Checkbox/index.d.ts +2 -0
  30. package/dist/components/Checkbox/index.d.ts.map +1 -0
  31. package/dist/components/Collapsible/Collapsible.d.ts +54 -0
  32. package/dist/components/Collapsible/Collapsible.d.ts.map +1 -0
  33. package/dist/components/Collapsible/Collapsible.js +110 -0
  34. package/dist/components/Collapsible/Collapsible.js.map +1 -0
  35. package/dist/components/Collapsible/index.d.ts +2 -0
  36. package/dist/components/Collapsible/index.d.ts.map +1 -0
  37. package/dist/components/ContextMenu/ContextMenu.d.ts +89 -0
  38. package/dist/components/ContextMenu/ContextMenu.d.ts.map +1 -0
  39. package/dist/components/ContextMenu/ContextMenu.js +263 -0
  40. package/dist/components/ContextMenu/ContextMenu.js.map +1 -0
  41. package/dist/components/ContextMenu/index.d.ts +2 -0
  42. package/dist/components/ContextMenu/index.d.ts.map +1 -0
  43. package/dist/components/Dialog/Dialog.d.ts +87 -0
  44. package/dist/components/Dialog/Dialog.d.ts.map +1 -0
  45. package/dist/components/Dialog/Dialog.js +218 -0
  46. package/dist/components/Dialog/Dialog.js.map +1 -0
  47. package/dist/components/Dialog/index.d.ts +2 -0
  48. package/dist/components/Dialog/index.d.ts.map +1 -0
  49. package/dist/components/DropdownMenu/DropdownMenu.d.ts +81 -0
  50. package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -0
  51. package/dist/components/DropdownMenu/DropdownMenu.js +244 -0
  52. package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -0
  53. package/dist/components/DropdownMenu/index.d.ts +2 -0
  54. package/dist/components/DropdownMenu/index.d.ts.map +1 -0
  55. package/dist/components/HoverCard/HoverCard.d.ts +63 -0
  56. package/dist/components/HoverCard/HoverCard.d.ts.map +1 -0
  57. package/dist/components/HoverCard/HoverCard.js +199 -0
  58. package/dist/components/HoverCard/HoverCard.js.map +1 -0
  59. package/dist/components/HoverCard/index.d.ts +2 -0
  60. package/dist/components/HoverCard/index.d.ts.map +1 -0
  61. package/dist/components/Label/Label.d.ts +14 -0
  62. package/dist/components/Label/Label.d.ts.map +1 -0
  63. package/dist/components/Label/Label.js +23 -0
  64. package/dist/components/Label/Label.js.map +1 -0
  65. package/dist/components/Label/index.d.ts +2 -0
  66. package/dist/components/Label/index.d.ts.map +1 -0
  67. package/dist/components/Menubar/Menubar.d.ts +85 -0
  68. package/dist/components/Menubar/Menubar.d.ts.map +1 -0
  69. package/dist/components/Menubar/Menubar.js +299 -0
  70. package/dist/components/Menubar/Menubar.js.map +1 -0
  71. package/dist/components/Menubar/index.d.ts +2 -0
  72. package/dist/components/Menubar/index.d.ts.map +1 -0
  73. package/dist/components/NavigationMenu/NavigationMenu.d.ts +105 -0
  74. package/dist/components/NavigationMenu/NavigationMenu.d.ts.map +1 -0
  75. package/dist/components/NavigationMenu/NavigationMenu.js +320 -0
  76. package/dist/components/NavigationMenu/NavigationMenu.js.map +1 -0
  77. package/dist/components/NavigationMenu/index.d.ts +2 -0
  78. package/dist/components/NavigationMenu/index.d.ts.map +1 -0
  79. package/dist/components/Popover/Popover.d.ts +52 -0
  80. package/dist/components/Popover/Popover.d.ts.map +1 -0
  81. package/dist/components/Popover/Popover.js +176 -0
  82. package/dist/components/Popover/Popover.js.map +1 -0
  83. package/dist/components/Popover/index.d.ts +2 -0
  84. package/dist/components/Popover/index.d.ts.map +1 -0
  85. package/dist/components/Progress/Progress.d.ts +19 -0
  86. package/dist/components/Progress/Progress.d.ts.map +1 -0
  87. package/dist/components/Progress/Progress.js +44 -0
  88. package/dist/components/Progress/Progress.js.map +1 -0
  89. package/dist/components/Progress/index.d.ts +2 -0
  90. package/dist/components/Progress/index.d.ts.map +1 -0
  91. package/dist/components/RadioGroup/RadioGroup.d.ts +54 -0
  92. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -0
  93. package/dist/components/RadioGroup/RadioGroup.js +100 -0
  94. package/dist/components/RadioGroup/RadioGroup.js.map +1 -0
  95. package/dist/components/RadioGroup/index.d.ts +2 -0
  96. package/dist/components/RadioGroup/index.d.ts.map +1 -0
  97. package/dist/components/ScrollArea/ScrollArea.d.ts +58 -0
  98. package/dist/components/ScrollArea/ScrollArea.d.ts.map +1 -0
  99. package/dist/components/ScrollArea/ScrollArea.js +91 -0
  100. package/dist/components/ScrollArea/ScrollArea.js.map +1 -0
  101. package/dist/components/ScrollArea/index.d.ts +2 -0
  102. package/dist/components/ScrollArea/index.d.ts.map +1 -0
  103. package/dist/components/Select/Select.d.ts +80 -0
  104. package/dist/components/Select/Select.d.ts.map +1 -0
  105. package/dist/components/Select/Select.js +240 -0
  106. package/dist/components/Select/Select.js.map +1 -0
  107. package/dist/components/Select/index.d.ts +2 -0
  108. package/dist/components/Select/index.d.ts.map +1 -0
  109. package/dist/components/Separator/Separator.d.ts +15 -0
  110. package/dist/components/Separator/Separator.d.ts.map +1 -0
  111. package/dist/components/Separator/Separator.js +30 -0
  112. package/dist/components/Separator/Separator.js.map +1 -0
  113. package/dist/components/Separator/index.d.ts +2 -0
  114. package/dist/components/Separator/index.d.ts.map +1 -0
  115. package/dist/components/Slider/Slider.d.ts +37 -0
  116. package/dist/components/Slider/Slider.d.ts.map +1 -0
  117. package/dist/components/Slider/Slider.js +63 -0
  118. package/dist/components/Slider/Slider.js.map +1 -0
  119. package/dist/components/Slider/index.d.ts +2 -0
  120. package/dist/components/Slider/index.d.ts.map +1 -0
  121. package/dist/components/Switch/Switch.d.ts +27 -0
  122. package/dist/components/Switch/Switch.d.ts.map +1 -0
  123. package/dist/components/Switch/Switch.js +50 -0
  124. package/dist/components/Switch/Switch.js.map +1 -0
  125. package/dist/components/Switch/index.d.ts +2 -0
  126. package/dist/components/Switch/index.d.ts.map +1 -0
  127. package/dist/components/Tabs/Tabs.d.ts +72 -0
  128. package/dist/components/Tabs/Tabs.d.ts.map +1 -0
  129. package/dist/components/Tabs/Tabs.js +150 -0
  130. package/dist/components/Tabs/Tabs.js.map +1 -0
  131. package/dist/components/Tabs/index.d.ts +2 -0
  132. package/dist/components/Tabs/index.d.ts.map +1 -0
  133. package/dist/components/Toggle/Toggle.d.ts +22 -0
  134. package/dist/components/Toggle/Toggle.d.ts.map +1 -0
  135. package/dist/components/Toggle/Toggle.js +51 -0
  136. package/dist/components/Toggle/Toggle.js.map +1 -0
  137. package/dist/components/Toggle/index.d.ts +2 -0
  138. package/dist/components/Toggle/index.d.ts.map +1 -0
  139. package/dist/components/ToggleGroup/ToggleGroup.d.ts +67 -0
  140. package/dist/components/ToggleGroup/ToggleGroup.d.ts.map +1 -0
  141. package/dist/components/ToggleGroup/ToggleGroup.js +119 -0
  142. package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -0
  143. package/dist/components/ToggleGroup/index.d.ts +2 -0
  144. package/dist/components/ToggleGroup/index.d.ts.map +1 -0
  145. package/dist/components/Toolbar/Toolbar.d.ts +82 -0
  146. package/dist/components/Toolbar/Toolbar.d.ts.map +1 -0
  147. package/dist/components/Toolbar/Toolbar.js +110 -0
  148. package/dist/components/Toolbar/Toolbar.js.map +1 -0
  149. package/dist/components/Toolbar/index.d.ts +2 -0
  150. package/dist/components/Toolbar/index.d.ts.map +1 -0
  151. package/dist/components/Tooltip/Tooltip.d.ts +56 -0
  152. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -0
  153. package/dist/components/Tooltip/Tooltip.js +155 -0
  154. package/dist/components/Tooltip/Tooltip.js.map +1 -0
  155. package/dist/components/Tooltip/index.d.ts +2 -0
  156. package/dist/components/Tooltip/index.d.ts.map +1 -0
  157. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +9 -0
  158. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts.map +1 -0
  159. package/dist/components/VisuallyHidden/VisuallyHidden.js +23 -0
  160. package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -0
  161. package/dist/components/VisuallyHidden/index.d.ts +2 -0
  162. package/dist/components/VisuallyHidden/index.d.ts.map +1 -0
  163. package/dist/components/index.d.ts +28 -0
  164. package/dist/components/index.d.ts.map +1 -0
  165. package/dist/index.d.ts +2 -0
  166. package/dist/index.d.ts.map +1 -0
  167. package/dist/index.js +140 -0
  168. package/dist/index.js.map +1 -0
  169. package/package.json +97 -0
@@ -0,0 +1,63 @@
1
+ import { Component, JSX } from 'solid-js';
2
+ interface HoverCardContextValue {
3
+ open: () => boolean;
4
+ setOpen: (open: boolean) => void;
5
+ triggerRef: () => HTMLElement | undefined;
6
+ setTriggerRef: (ref: HTMLElement | undefined) => void;
7
+ setContentElement: (el: HTMLElement | undefined) => void;
8
+ delayDuration: number;
9
+ }
10
+ export declare const useHoverCardContext: () => HoverCardContextValue;
11
+ export interface HoverCardProps extends JSX.HTMLAttributes<HTMLDivElement> {
12
+ /**
13
+ * 是否打开
14
+ */
15
+ open?: boolean;
16
+ /**
17
+ * 默认打开状态
18
+ */
19
+ defaultOpen?: boolean;
20
+ /**
21
+ * 打开状态变化回调
22
+ */
23
+ onOpenChange?: (open: boolean) => void;
24
+ /**
25
+ * 延迟显示时间(毫秒)
26
+ * @default 700
27
+ */
28
+ openDelay?: number;
29
+ /**
30
+ * 延迟隐藏时间(毫秒)
31
+ * @default 300
32
+ */
33
+ closeDelay?: number;
34
+ /**
35
+ * 子元素
36
+ */
37
+ children?: JSX.Element;
38
+ }
39
+ export interface HoverCardComponent extends Component<HoverCardProps> {
40
+ Trigger: Component<HoverCardTriggerProps>;
41
+ Content: Component<HoverCardContentProps>;
42
+ }
43
+ export declare const HoverCard: HoverCardComponent;
44
+ export interface HoverCardTriggerProps extends JSX.HTMLAttributes<HTMLDivElement> {
45
+ /**
46
+ * 子元素
47
+ */
48
+ children?: JSX.Element;
49
+ /**
50
+ * 是否作为子元素传递
51
+ */
52
+ asChild?: boolean;
53
+ }
54
+ export declare const HoverCardTrigger: Component<HoverCardTriggerProps>;
55
+ export interface HoverCardContentProps extends JSX.HTMLAttributes<HTMLDivElement> {
56
+ /**
57
+ * 子元素
58
+ */
59
+ children?: JSX.Element;
60
+ }
61
+ export declare const HoverCardContent: Component<HoverCardContentProps>;
62
+ export {};
63
+ //# sourceMappingURL=HoverCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoverCard.d.ts","sourceRoot":"","sources":["../../../src/components/HoverCard/HoverCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/C,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,OAAO,CAAC;IACpB,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,UAAU,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;IAC1C,aAAa,EAAE,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,KAAK,IAAI,CAAC;IACtD,iBAAiB,EAAE,CAAC,EAAE,EAAE,WAAW,GAAG,SAAS,KAAK,IAAI,CAAC;IACzD,aAAa,EAAE,MAAM,CAAC;CACvB;AAID,eAAO,MAAM,mBAAmB,6BAM/B,CAAC;AAEF,MAAM,WAAW,cAAe,SAAQ,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC;IACxE;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CACxB;AAiDD,MAAM,WAAW,kBAAmB,SAAQ,SAAS,CAAC,cAAc,CAAC;IACnE,OAAO,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC1C,OAAO,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;CAC3C;AAED,eAAO,MAAM,SAAS,EAGhB,kBAAkB,CAAC;AAEzB,MAAM,WAAW,qBAAsB,SAAQ,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC;IAC/E;;OAEG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,gBAAgB,EAAE,SAAS,CAAC,qBAAqB,CA2D7D,CAAC;AAEF,MAAM,WAAW,qBAAsB,SAAQ,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC;IAC/E;;OAEG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,gBAAgB,EAAE,SAAS,CAAC,qBAAqB,CA8F7D,CAAC"}
@@ -0,0 +1,199 @@
1
+ import { createComponent, template, spread, mergeProps, insert, isServer, Portal, use } from "solid-js/web";
2
+ import { createContext, splitProps, createSignal, onMount, onCleanup, createEffect, Show, useContext } from "solid-js";
3
+ var _tmpl$ = /* @__PURE__ */ template(`<div>`), _tmpl$2 = /* @__PURE__ */ template(`<div role=tooltip style=top:0px;left:0px>`);
4
+ const HoverCardContext = createContext();
5
+ const useHoverCardContext = () => {
6
+ const context = useContext(HoverCardContext);
7
+ if (!context) {
8
+ throw new Error("HoverCard components must be used within HoverCard");
9
+ }
10
+ return context;
11
+ };
12
+ const HoverCardBase = (props) => {
13
+ const [local] = splitProps(props, ["open", "defaultOpen", "onOpenChange", "openDelay", "closeDelay", "children"]);
14
+ const [internalOpen, setInternalOpen] = createSignal(local.open ?? local.defaultOpen ?? false);
15
+ const [triggerRef, setTriggerRef] = createSignal();
16
+ const isControlled = () => local.open !== void 0;
17
+ const open = () => isControlled() ? local.open : internalOpen();
18
+ const delayDuration = local.openDelay ?? 700;
19
+ const handleOpenChange = (newOpen) => {
20
+ if (!isControlled()) {
21
+ setInternalOpen(newOpen);
22
+ }
23
+ local.onOpenChange?.(newOpen);
24
+ };
25
+ const setContentElement = (_el) => {
26
+ };
27
+ const contextValue = {
28
+ open,
29
+ setOpen: handleOpenChange,
30
+ triggerRef,
31
+ setTriggerRef,
32
+ setContentElement,
33
+ delayDuration
34
+ };
35
+ return createComponent(HoverCardContext.Provider, {
36
+ value: contextValue,
37
+ get children() {
38
+ return local.children;
39
+ }
40
+ });
41
+ };
42
+ const HoverCard = Object.assign(HoverCardBase, {
43
+ Trigger: null,
44
+ Content: null
45
+ });
46
+ const HoverCardTrigger = (props) => {
47
+ const [local, others] = splitProps(props, ["children", "asChild", "class", "onMouseEnter", "onMouseLeave"]);
48
+ const context = useHoverCardContext();
49
+ let triggerElement;
50
+ let openTimeoutId;
51
+ let closeTimeoutId;
52
+ const handleMouseEnter = (e) => {
53
+ if (closeTimeoutId) {
54
+ clearTimeout(closeTimeoutId);
55
+ closeTimeoutId = void 0;
56
+ }
57
+ if (typeof local.onMouseEnter === "function") {
58
+ local.onMouseEnter(e);
59
+ }
60
+ openTimeoutId = setTimeout(() => {
61
+ context.setOpen(true);
62
+ }, context.delayDuration);
63
+ };
64
+ const handleMouseLeave = (e) => {
65
+ if (openTimeoutId) {
66
+ clearTimeout(openTimeoutId);
67
+ openTimeoutId = void 0;
68
+ }
69
+ if (typeof local.onMouseLeave === "function") {
70
+ local.onMouseLeave(e);
71
+ }
72
+ closeTimeoutId = setTimeout(() => {
73
+ context.setOpen(false);
74
+ }, 300);
75
+ };
76
+ onMount(() => {
77
+ if (triggerElement) {
78
+ context.setTriggerRef(triggerElement);
79
+ }
80
+ });
81
+ onCleanup(() => {
82
+ if (openTimeoutId) {
83
+ clearTimeout(openTimeoutId);
84
+ }
85
+ if (closeTimeoutId) {
86
+ clearTimeout(closeTimeoutId);
87
+ }
88
+ });
89
+ return (() => {
90
+ var _el$ = _tmpl$();
91
+ _el$.addEventListener("mouseleave", handleMouseLeave);
92
+ _el$.addEventListener("mouseenter", handleMouseEnter);
93
+ var _ref$ = triggerElement;
94
+ typeof _ref$ === "function" ? use(_ref$, _el$) : triggerElement = _el$;
95
+ spread(_el$, mergeProps({
96
+ get ["class"]() {
97
+ return local.class;
98
+ }
99
+ }, others), false, true);
100
+ insert(_el$, () => local.children);
101
+ return _el$;
102
+ })();
103
+ };
104
+ const HoverCardContent = (props) => {
105
+ const [local, others] = splitProps(props, ["class", "children"]);
106
+ const context = useHoverCardContext();
107
+ let contentElement;
108
+ let closeTimeoutId;
109
+ const updatePosition = () => {
110
+ if (!isServer && contentElement && context.triggerRef()) {
111
+ const trigger = context.triggerRef();
112
+ const rect = trigger.getBoundingClientRect();
113
+ const contentRect = contentElement.getBoundingClientRect();
114
+ const top = rect.bottom + 8;
115
+ const left = rect.left + rect.width / 2 - contentRect.width / 2;
116
+ const viewportWidth = window.innerWidth;
117
+ const viewportHeight = window.innerHeight;
118
+ let finalTop = top;
119
+ let finalLeft = left;
120
+ if (left < 0) {
121
+ finalLeft = 16;
122
+ }
123
+ if (left + contentRect.width > viewportWidth) {
124
+ finalLeft = viewportWidth - contentRect.width - 16;
125
+ }
126
+ if (top + contentRect.height > viewportHeight) {
127
+ finalTop = rect.top - contentRect.height - 8;
128
+ }
129
+ contentElement.style.top = `${finalTop}px`;
130
+ contentElement.style.left = `${finalLeft}px`;
131
+ }
132
+ };
133
+ const handleMouseEnter = () => {
134
+ if (closeTimeoutId) {
135
+ clearTimeout(closeTimeoutId);
136
+ closeTimeoutId = void 0;
137
+ }
138
+ };
139
+ const handleMouseLeave = () => {
140
+ closeTimeoutId = setTimeout(() => {
141
+ context.setOpen(false);
142
+ }, 300);
143
+ };
144
+ onMount(() => {
145
+ if (contentElement) {
146
+ context.setContentElement(contentElement);
147
+ }
148
+ });
149
+ onCleanup(() => {
150
+ if (closeTimeoutId) {
151
+ clearTimeout(closeTimeoutId);
152
+ }
153
+ });
154
+ createEffect(() => {
155
+ if (context.open() && !isServer) {
156
+ requestAnimationFrame(() => {
157
+ updatePosition();
158
+ });
159
+ }
160
+ });
161
+ return createComponent(Show, {
162
+ get when() {
163
+ return context.open();
164
+ },
165
+ get children() {
166
+ return createComponent(Portal, {
167
+ get mount() {
168
+ return !isServer ? document.body : void 0;
169
+ },
170
+ get children() {
171
+ var _el$2 = _tmpl$2();
172
+ _el$2.addEventListener("mouseleave", handleMouseLeave);
173
+ _el$2.addEventListener("mouseenter", handleMouseEnter);
174
+ var _ref$2 = contentElement;
175
+ typeof _ref$2 === "function" ? use(_ref$2, _el$2) : contentElement = _el$2;
176
+ spread(_el$2, mergeProps({
177
+ get ["class"]() {
178
+ return `fixed z-50 ${local.class || ""}`;
179
+ },
180
+ get ["data-state"]() {
181
+ return context.open() ? "open" : "closed";
182
+ }
183
+ }, others), false, true);
184
+ insert(_el$2, () => local.children);
185
+ return _el$2;
186
+ }
187
+ });
188
+ }
189
+ });
190
+ };
191
+ HoverCard.Trigger = HoverCardTrigger;
192
+ HoverCard.Content = HoverCardContent;
193
+ export {
194
+ HoverCard,
195
+ HoverCardContent,
196
+ HoverCardTrigger,
197
+ useHoverCardContext
198
+ };
199
+ //# sourceMappingURL=HoverCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoverCard.js","sources":["../../../src/components/HoverCard/HoverCard.tsx"],"sourcesContent":["import { splitProps, createSignal, createContext, useContext, Show, onMount, onCleanup, createEffect } from 'solid-js';\nimport { Portal, isServer } from 'solid-js/web';\nimport type { Component, JSX } from 'solid-js';\n\ninterface HoverCardContextValue {\n open: () => boolean;\n setOpen: (open: boolean) => void;\n triggerRef: () => HTMLElement | undefined;\n setTriggerRef: (ref: HTMLElement | undefined) => void;\n setContentElement: (el: HTMLElement | undefined) => void;\n delayDuration: number;\n}\n\nconst HoverCardContext = createContext<HoverCardContextValue>();\n\nexport const useHoverCardContext = () => {\n const context = useContext(HoverCardContext);\n if (!context) {\n throw new Error('HoverCard components must be used within HoverCard');\n }\n return context;\n};\n\nexport interface HoverCardProps extends JSX.HTMLAttributes<HTMLDivElement> {\n /**\n * 是否打开\n */\n open?: boolean;\n /**\n * 默认打开状态\n */\n defaultOpen?: boolean;\n /**\n * 打开状态变化回调\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * 延迟显示时间(毫秒)\n * @default 700\n */\n openDelay?: number;\n /**\n * 延迟隐藏时间(毫秒)\n * @default 300\n */\n closeDelay?: number;\n /**\n * 子元素\n */\n children?: JSX.Element;\n}\n\nconst HoverCardBase: Component<HoverCardProps> = (props) => {\n const [local] = splitProps(props, [\n 'open',\n 'defaultOpen',\n 'onOpenChange',\n 'openDelay',\n 'closeDelay',\n 'children',\n ]);\n\n const [internalOpen, setInternalOpen] = createSignal(\n local.open ?? local.defaultOpen ?? false\n );\n const [triggerRef, setTriggerRef] = createSignal<HTMLElement | undefined>();\n\n const isControlled = () => local.open !== undefined;\n const open = () => (isControlled() ? local.open! : internalOpen());\n const delayDuration = local.openDelay ?? 700;\n\n const handleOpenChange = (newOpen: boolean) => {\n if (!isControlled()) {\n setInternalOpen(newOpen);\n }\n local.onOpenChange?.(newOpen);\n };\n\n // 点击外部关闭\n const setContentElement = (_el: HTMLElement | undefined) => {\n // contentElement reference stored in context\n };\n\n const contextValue: HoverCardContextValue = {\n open,\n setOpen: handleOpenChange,\n triggerRef,\n setTriggerRef,\n setContentElement,\n delayDuration,\n };\n\n return (\n <HoverCardContext.Provider value={contextValue}>\n {local.children}\n </HoverCardContext.Provider>\n );\n};\n\nexport interface HoverCardComponent extends Component<HoverCardProps> {\n Trigger: Component<HoverCardTriggerProps>;\n Content: Component<HoverCardContentProps>;\n}\n\nexport const HoverCard = Object.assign(HoverCardBase, {\n Trigger: null as unknown as Component<HoverCardTriggerProps>,\n Content: null as unknown as Component<HoverCardContentProps>,\n}) as HoverCardComponent;\n\nexport interface HoverCardTriggerProps extends JSX.HTMLAttributes<HTMLDivElement> {\n /**\n * 子元素\n */\n children?: JSX.Element;\n /**\n * 是否作为子元素传递\n */\n asChild?: boolean;\n}\n\nexport const HoverCardTrigger: Component<HoverCardTriggerProps> = (props) => {\n const [local, others] = splitProps(props, ['children', 'asChild', 'class', 'onMouseEnter', 'onMouseLeave']);\n const context = useHoverCardContext();\n let triggerElement: HTMLDivElement | undefined;\n let openTimeoutId: number | undefined;\n let closeTimeoutId: number | undefined;\n\n const handleMouseEnter: JSX.EventHandler<HTMLDivElement, MouseEvent> = (e) => {\n if (closeTimeoutId) {\n clearTimeout(closeTimeoutId);\n closeTimeoutId = undefined;\n }\n if (typeof local.onMouseEnter === 'function') {\n local.onMouseEnter(e);\n }\n openTimeoutId = setTimeout(() => {\n context.setOpen(true);\n }, context.delayDuration) as unknown as number;\n };\n\n const handleMouseLeave: JSX.EventHandler<HTMLDivElement, MouseEvent> = (e) => {\n if (openTimeoutId) {\n clearTimeout(openTimeoutId);\n openTimeoutId = undefined;\n }\n if (typeof local.onMouseLeave === 'function') {\n local.onMouseLeave(e);\n }\n closeTimeoutId = setTimeout(() => {\n context.setOpen(false);\n }, 300) as unknown as number;\n };\n\n onMount(() => {\n if (triggerElement) {\n context.setTriggerRef(triggerElement);\n }\n });\n\n onCleanup(() => {\n if (openTimeoutId) {\n clearTimeout(openTimeoutId);\n }\n if (closeTimeoutId) {\n clearTimeout(closeTimeoutId);\n }\n });\n\n return (\n <div\n ref={triggerElement}\n class={local.class}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n {...others}\n >\n {local.children}\n </div>\n );\n};\n\nexport interface HoverCardContentProps extends JSX.HTMLAttributes<HTMLDivElement> {\n /**\n * 子元素\n */\n children?: JSX.Element;\n}\n\nexport const HoverCardContent: Component<HoverCardContentProps> = (props) => {\n const [local, others] = splitProps(props, ['class', 'children'] as const);\n const context = useHoverCardContext();\n let contentElement: HTMLDivElement | undefined;\n let closeTimeoutId: number | undefined;\n\n const updatePosition = () => {\n if (!isServer && contentElement && context.triggerRef()) {\n const trigger = context.triggerRef()!;\n const rect = trigger.getBoundingClientRect();\n const contentRect = contentElement.getBoundingClientRect();\n\n // 默认在触发元素下方显示\n const top = rect.bottom + 8;\n const left = rect.left + (rect.width / 2) - (contentRect.width / 2);\n\n // 检查是否会超出视口\n const viewportWidth = window.innerWidth;\n const viewportHeight = window.innerHeight;\n\n let finalTop = top;\n let finalLeft = left;\n\n // 如果左侧超出,则左对齐\n if (left < 0) {\n finalLeft = 16;\n }\n\n // 如果右侧超出,则右对齐\n if (left + contentRect.width > viewportWidth) {\n finalLeft = viewportWidth - contentRect.width - 16;\n }\n\n // 如果下方超出,则在上方显示\n if (top + contentRect.height > viewportHeight) {\n finalTop = rect.top - contentRect.height - 8;\n }\n\n contentElement.style.top = `${finalTop}px`;\n contentElement.style.left = `${finalLeft}px`;\n }\n };\n\n const handleMouseEnter = () => {\n if (closeTimeoutId) {\n clearTimeout(closeTimeoutId);\n closeTimeoutId = undefined;\n }\n };\n\n const handleMouseLeave = () => {\n closeTimeoutId = setTimeout(() => {\n context.setOpen(false);\n }, 300) as unknown as number;\n };\n\n onMount(() => {\n if (contentElement) {\n context.setContentElement(contentElement);\n }\n });\n\n onCleanup(() => {\n if (closeTimeoutId) {\n clearTimeout(closeTimeoutId);\n }\n });\n\n createEffect(() => {\n if (context.open() && !isServer) {\n requestAnimationFrame(() => {\n updatePosition();\n });\n }\n });\n\n return (\n <Show when={context.open()}>\n <Portal mount={!isServer ? document.body : undefined}>\n <div\n ref={contentElement}\n role=\"tooltip\"\n class={`fixed z-50 ${local.class || ''}`}\n data-state={context.open() ? 'open' : 'closed'}\n style={{ top: '0px', left: '0px' }}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n {...others}\n >\n {local.children}\n </div>\n </Portal>\n </Show>\n );\n};\n\nHoverCard.Trigger = HoverCardTrigger;\nHoverCard.Content = HoverCardContent;\n\n"],"names":["HoverCardContext","createContext","useHoverCardContext","context","useContext","Error","HoverCardBase","props","local","splitProps","internalOpen","setInternalOpen","createSignal","open","defaultOpen","triggerRef","setTriggerRef","isControlled","undefined","delayDuration","openDelay","handleOpenChange","newOpen","onOpenChange","setContentElement","_el","contextValue","setOpen","_$createComponent","Provider","value","children","HoverCard","Object","assign","Trigger","Content","HoverCardTrigger","others","triggerElement","openTimeoutId","closeTimeoutId","handleMouseEnter","e","clearTimeout","onMouseEnter","setTimeout","handleMouseLeave","onMouseLeave","onMount","onCleanup","_el$","_tmpl$","addEventListener","_ref$","_$use","_$spread","_$mergeProps","class","_$insert","HoverCardContent","contentElement","updatePosition","isServer","trigger","rect","getBoundingClientRect","contentRect","top","bottom","left","width","viewportWidth","window","innerWidth","viewportHeight","innerHeight","finalTop","finalLeft","height","style","createEffect","requestAnimationFrame","Show","when","Portal","mount","document","body","_el$2","_tmpl$2","_ref$2"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './HoverCard';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/HoverCard/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { Component, JSX } from 'solid-js';
2
+ export interface LabelProps extends JSX.LabelHTMLAttributes<HTMLLabelElement> {
3
+ /**
4
+ * 标签文本
5
+ */
6
+ children?: JSX.Element;
7
+ /**
8
+ * 是否禁用
9
+ * @default false
10
+ */
11
+ disabled?: boolean;
12
+ }
13
+ export declare const Label: Component<LabelProps>;
14
+ //# sourceMappingURL=Label.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Label.d.ts","sourceRoot":"","sources":["../../../src/components/Label/Label.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,WAAW,UAAW,SAAQ,GAAG,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;IAC3E;;OAEG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,KAAK,EAAE,SAAS,CAAC,UAAU,CAYvC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { template, spread, mergeProps, insert } from "solid-js/web";
2
+ import { splitProps } from "solid-js";
3
+ var _tmpl$ = /* @__PURE__ */ template(`<label>`);
4
+ const Label = (props) => {
5
+ const [local, others] = splitProps(props, ["children", "disabled", "class"]);
6
+ return (() => {
7
+ var _el$ = _tmpl$();
8
+ spread(_el$, mergeProps({
9
+ get ["class"]() {
10
+ return local.class;
11
+ },
12
+ get ["data-disabled"]() {
13
+ return local.disabled ? "" : void 0;
14
+ }
15
+ }, others), false, true);
16
+ insert(_el$, () => local.children);
17
+ return _el$;
18
+ })();
19
+ };
20
+ export {
21
+ Label
22
+ };
23
+ //# sourceMappingURL=Label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Label.js","sources":["../../../src/components/Label/Label.tsx"],"sourcesContent":["import { splitProps } from 'solid-js';\nimport type { Component } from 'solid-js';\nimport type { JSX } from 'solid-js';\n\nexport interface LabelProps extends JSX.LabelHTMLAttributes<HTMLLabelElement> {\n /**\n * 标签文本\n */\n children?: JSX.Element;\n /**\n * 是否禁用\n * @default false\n */\n disabled?: boolean;\n}\n\nexport const Label: Component<LabelProps> = (props) => {\n const [local, others] = splitProps(props, ['children', 'disabled', 'class']);\n \n return (\n <label\n class={local.class}\n data-disabled={local.disabled ? '' : undefined}\n {...others}\n >\n {local.children}\n </label>\n );\n};\n\n"],"names":["Label","props","local","others","splitProps","_el$","_tmpl$","_$spread","_$mergeProps","class","disabled","undefined","_$insert","children"],"mappings":";;;AAgBO,MAAMA,QAAgCC,CAAAA,UAAU;AACrD,QAAM,CAACC,OAAOC,MAAM,IAAIC,WAAWH,OAAO,CAAC,YAAY,YAAY,OAAO,CAAC;AAE3E,UAAA,MAAA;AAAA,QAAAI,OAAAC,OAAAA;AAAAC,WAAAF,MAAAG,WAAA;AAAA,MAAA,KAAA,OAAA,IAAA;AAAA,eAEWN,MAAMO;AAAAA,MAAK;AAAA,MAAA,KAAA,eAAA,IAAA;AAAA,eACHP,MAAMQ,WAAW,KAAKC;AAAAA,MAAS;AAAA,IAAA,GAC1CR,MAAM,GAAA,OAAA,IAAA;AAAAS,WAAAP,MAAA,MAETH,MAAMW,QAAQ;AAAA,WAAAR;AAAAA,EAAA,GAAA;AAGrB;"}
@@ -0,0 +1,2 @@
1
+ export * from './Label';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Label/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1,85 @@
1
+ import { Component, JSX } from 'solid-js';
2
+ interface MenubarContextValue {
3
+ value: () => string | undefined;
4
+ setValue: (value: string | undefined) => void;
5
+ triggerRefs: () => Map<string, HTMLElement>;
6
+ setTriggerRef: (value: string, ref: HTMLElement | undefined) => void;
7
+ setContentElement: (value: string, el: HTMLElement | undefined) => void;
8
+ }
9
+ export declare const useMenubarContext: () => MenubarContextValue;
10
+ export interface MenubarProps extends JSX.HTMLAttributes<HTMLDivElement> {
11
+ /**
12
+ * 当前打开的值
13
+ */
14
+ value?: string;
15
+ /**
16
+ * 默认打开的值
17
+ */
18
+ defaultValue?: string;
19
+ /**
20
+ * 值变化回调
21
+ */
22
+ onValueChange?: (value: string | undefined) => void;
23
+ /**
24
+ * 子元素
25
+ */
26
+ children?: JSX.Element;
27
+ }
28
+ export interface MenubarComponent extends Component<MenubarProps> {
29
+ Menu: Component<MenubarMenuProps>;
30
+ Trigger: Component<MenubarTriggerProps>;
31
+ Content: Component<MenubarContentProps>;
32
+ Item: Component<MenubarItemProps>;
33
+ Separator: Component<MenubarSeparatorProps>;
34
+ }
35
+ export declare const Menubar: MenubarComponent;
36
+ export interface MenubarMenuProps extends JSX.HTMLAttributes<HTMLDivElement> {
37
+ /**
38
+ * 菜单的值
39
+ */
40
+ value: string;
41
+ /**
42
+ * 子元素
43
+ */
44
+ children?: JSX.Element;
45
+ }
46
+ export declare const MenubarMenu: Component<MenubarMenuProps>;
47
+ export interface MenubarTriggerProps extends JSX.ButtonHTMLAttributes<HTMLButtonElement> {
48
+ /**
49
+ * 子元素
50
+ */
51
+ children?: JSX.Element;
52
+ /**
53
+ * 是否作为子元素传递
54
+ */
55
+ asChild?: boolean;
56
+ }
57
+ export declare const MenubarTrigger: Component<MenubarTriggerProps>;
58
+ export interface MenubarContentProps extends JSX.HTMLAttributes<HTMLDivElement> {
59
+ /**
60
+ * 子元素
61
+ */
62
+ children?: JSX.Element;
63
+ }
64
+ export declare const MenubarContent: Component<MenubarContentProps>;
65
+ export interface MenubarItemProps extends JSX.ButtonHTMLAttributes<HTMLButtonElement> {
66
+ /**
67
+ * 子元素
68
+ */
69
+ children?: JSX.Element;
70
+ /**
71
+ * 是否禁用
72
+ * @default false
73
+ */
74
+ disabled?: boolean;
75
+ /**
76
+ * 是否作为子元素传递
77
+ */
78
+ asChild?: boolean;
79
+ }
80
+ export declare const MenubarItem: Component<MenubarItemProps>;
81
+ export interface MenubarSeparatorProps extends JSX.HTMLAttributes<HTMLHRElement> {
82
+ }
83
+ export declare const MenubarSeparator: Component<MenubarSeparatorProps>;
84
+ export {};
85
+ //# sourceMappingURL=Menubar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menubar.d.ts","sourceRoot":"","sources":["../../../src/components/Menubar/Menubar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/C,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,WAAW,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC5C,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,SAAS,KAAK,IAAI,CAAC;IACrE,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,GAAG,SAAS,KAAK,IAAI,CAAC;CACzE;AAID,eAAO,MAAM,iBAAiB,2BAM7B,CAAC;AAEF,MAAM,WAAW,YAAa,SAAQ,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC;IACtE;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACpD;;OAEG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CACxB;AA8GD,MAAM,WAAW,gBAAiB,SAAQ,SAAS,CAAC,YAAY,CAAC;IAC/D,IAAI,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAClC,OAAO,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;IACxC,OAAO,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;IACxC,IAAI,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAClC,SAAS,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;CAC7C;AAED,eAAO,MAAM,OAAO,EAMd,gBAAgB,CAAC;AAEvB,MAAM,WAAW,gBAAiB,SAAQ,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC;IAC1E;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,gBAAgB,CAYnD,CAAC;AAEF,MAAM,WAAW,mBAAoB,SAAQ,GAAG,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACtF;;OAEG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,cAAc,EAAE,SAAS,CAAC,mBAAmB,CA4CzD,CAAC;AAEF,MAAM,WAAW,mBAAoB,SAAQ,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC;IAC7E;;OAEG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,cAAc,EAAE,SAAS,CAAC,mBAAmB,CA0EzD,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,GAAG,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACnF;;OAEG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,WAAW,EAAE,SAAS,CAAC,gBAAgB,CA2BnD,CAAC;AAEF,MAAM,WAAW,qBAAsB,SAAQ,GAAG,CAAC,cAAc,CAAC,aAAa,CAAC;CAC/E;AAED,eAAO,MAAM,gBAAgB,EAAE,SAAS,CAAC,qBAAqB,CAU7D,CAAC"}