asterui 0.12.1 → 0.12.3

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 (273) hide show
  1. package/dist/components/Checkbox.d.ts +10 -0
  2. package/dist/components/Dock.d.ts +38 -0
  3. package/dist/components/Mask.d.ts +14 -0
  4. package/dist/index.d.ts +5 -1
  5. package/dist/index.js +173 -169
  6. package/dist/index.js.map +1 -1
  7. package/dist/index10.js +85 -59
  8. package/dist/index10.js.map +1 -1
  9. package/dist/index100.js +12 -7
  10. package/dist/index100.js.map +1 -1
  11. package/dist/index101.js +13 -11
  12. package/dist/index101.js.map +1 -1
  13. package/dist/index102.js +7 -30
  14. package/dist/index102.js.map +1 -1
  15. package/dist/index103.js +11 -16
  16. package/dist/index103.js.map +1 -1
  17. package/dist/index104.js +30 -10792
  18. package/dist/index104.js.map +1 -1
  19. package/dist/index105.js +18 -5
  20. package/dist/index105.js.map +1 -1
  21. package/dist/index15.js +3 -3
  22. package/dist/index21.js +1 -1
  23. package/dist/index24.js +43 -32
  24. package/dist/index24.js.map +1 -1
  25. package/dist/index25.js +32 -41
  26. package/dist/index25.js.map +1 -1
  27. package/dist/index26.js +41 -12
  28. package/dist/index26.js.map +1 -1
  29. package/dist/index27.js +12 -33
  30. package/dist/index27.js.map +1 -1
  31. package/dist/index28.js +33 -63
  32. package/dist/index28.js.map +1 -1
  33. package/dist/index29.js +60 -77
  34. package/dist/index29.js.map +1 -1
  35. package/dist/index30.js +80 -18
  36. package/dist/index30.js.map +1 -1
  37. package/dist/index31.js +15 -217
  38. package/dist/index31.js.map +1 -1
  39. package/dist/index32.js +216 -1078
  40. package/dist/index32.js.map +1 -1
  41. package/dist/index33.js +1081 -17
  42. package/dist/index33.js.map +1 -1
  43. package/dist/index34.js +17 -121
  44. package/dist/index34.js.map +1 -1
  45. package/dist/index35.js +119 -37
  46. package/dist/index35.js.map +1 -1
  47. package/dist/index36.js +31 -182
  48. package/dist/index36.js.map +1 -1
  49. package/dist/index37.js +191 -97
  50. package/dist/index37.js.map +1 -1
  51. package/dist/index38.js +93 -158
  52. package/dist/index38.js.map +1 -1
  53. package/dist/index39.js +155 -139
  54. package/dist/index39.js.map +1 -1
  55. package/dist/index40.js +146 -15
  56. package/dist/index40.js.map +1 -1
  57. package/dist/index41.js +14 -17
  58. package/dist/index41.js.map +1 -1
  59. package/dist/index42.js +18 -21
  60. package/dist/index42.js.map +1 -1
  61. package/dist/index43.js +18 -116
  62. package/dist/index43.js.map +1 -1
  63. package/dist/index44.js +116 -10
  64. package/dist/index44.js.map +1 -1
  65. package/dist/index45.js +13 -35
  66. package/dist/index45.js.map +1 -1
  67. package/dist/index46.js +33 -114
  68. package/dist/index46.js.map +1 -1
  69. package/dist/index47.js +10 -176
  70. package/dist/index47.js.map +1 -1
  71. package/dist/index48.js +114 -145
  72. package/dist/index48.js.map +1 -1
  73. package/dist/index49.js +176 -12
  74. package/dist/index49.js.map +1 -1
  75. package/dist/index50.js +146 -21
  76. package/dist/index50.js.map +1 -1
  77. package/dist/index51.js +12 -14
  78. package/dist/index51.js.map +1 -1
  79. package/dist/index52.js +20 -5
  80. package/dist/index52.js.map +1 -1
  81. package/dist/index53.js +14 -266
  82. package/dist/index53.js.map +1 -1
  83. package/dist/index54.js +7 -17
  84. package/dist/index54.js.map +1 -1
  85. package/dist/index55.js +257 -113
  86. package/dist/index55.js.map +1 -1
  87. package/dist/index56.js +17 -110
  88. package/dist/index56.js.map +1 -1
  89. package/dist/index57.js +121 -169
  90. package/dist/index57.js.map +1 -1
  91. package/dist/index58.js +110 -32
  92. package/dist/index58.js.map +1 -1
  93. package/dist/index59.js +163 -115
  94. package/dist/index59.js.map +1 -1
  95. package/dist/index60.js +30 -84
  96. package/dist/index60.js.map +1 -1
  97. package/dist/index61.js +121 -19
  98. package/dist/index61.js.map +1 -1
  99. package/dist/index62.js +81 -69
  100. package/dist/index62.js.map +1 -1
  101. package/dist/index63.js +19 -56
  102. package/dist/index63.js.map +1 -1
  103. package/dist/index64.js +72 -43
  104. package/dist/index64.js.map +1 -1
  105. package/dist/index65.js +54 -49
  106. package/dist/index65.js.map +1 -1
  107. package/dist/index66.js +41 -58
  108. package/dist/index66.js.map +1 -1
  109. package/dist/index67.js +50 -105
  110. package/dist/index67.js.map +1 -1
  111. package/dist/index68.js +62 -41
  112. package/dist/index68.js.map +1 -1
  113. package/dist/index69.js +99 -60
  114. package/dist/index69.js.map +1 -1
  115. package/dist/index70.js +41 -21
  116. package/dist/index70.js.map +1 -1
  117. package/dist/index71.js +66 -44
  118. package/dist/index71.js.map +1 -1
  119. package/dist/index72.js +19 -132
  120. package/dist/index72.js.map +1 -1
  121. package/dist/index73.js +40 -46
  122. package/dist/index73.js.map +1 -1
  123. package/dist/index74.js +134 -22
  124. package/dist/index74.js.map +1 -1
  125. package/dist/index75.js +50 -29
  126. package/dist/index75.js.map +1 -1
  127. package/dist/index76.js +19 -19
  128. package/dist/index76.js.map +1 -1
  129. package/dist/index77.js +31 -329
  130. package/dist/index77.js.map +1 -1
  131. package/dist/index78.js +19 -53
  132. package/dist/index78.js.map +1 -1
  133. package/dist/index79.js +328 -39
  134. package/dist/index79.js.map +1 -1
  135. package/dist/index80.js +56 -23
  136. package/dist/index80.js.map +1 -1
  137. package/dist/index81.js +40 -95
  138. package/dist/index81.js.map +1 -1
  139. package/dist/index82.js +22 -129
  140. package/dist/index82.js.map +1 -1
  141. package/dist/index83.js +86 -152
  142. package/dist/index83.js.map +1 -1
  143. package/dist/index84.js +125 -60
  144. package/dist/index84.js.map +1 -1
  145. package/dist/index85.js +160 -34
  146. package/dist/index85.js.map +1 -1
  147. package/dist/index86.js +65 -234
  148. package/dist/index86.js.map +1 -1
  149. package/dist/index87.js +35 -34
  150. package/dist/index87.js.map +1 -1
  151. package/dist/index88.js +222 -198
  152. package/dist/index88.js.map +1 -1
  153. package/dist/index89.js +34 -213
  154. package/dist/index89.js.map +1 -1
  155. package/dist/index90.js +190 -275
  156. package/dist/index90.js.map +1 -1
  157. package/dist/index91.js +202 -167
  158. package/dist/index91.js.map +1 -1
  159. package/dist/index92.js +263 -226
  160. package/dist/index92.js.map +1 -1
  161. package/dist/index93.js +176 -12
  162. package/dist/index93.js.map +1 -1
  163. package/dist/index94.js +257 -32
  164. package/dist/index94.js.map +1 -1
  165. package/dist/index95.js +13 -5
  166. package/dist/index95.js.map +1 -1
  167. package/dist/index96.js +31 -12
  168. package/dist/index96.js.map +1 -1
  169. package/dist/index97.js +5 -45
  170. package/dist/index97.js.map +1 -1
  171. package/dist/index98.js +13 -12
  172. package/dist/index98.js.map +1 -1
  173. package/dist/index99.js +44 -13
  174. package/dist/index99.js.map +1 -1
  175. package/package.json +11 -4
  176. package/dist/index106.js +0 -45
  177. package/dist/index106.js.map +0 -1
  178. package/dist/index107.js +0 -5
  179. package/dist/index107.js.map +0 -1
  180. package/dist/index108.js +0 -10
  181. package/dist/index108.js.map +0 -1
  182. package/dist/index109.js +0 -155
  183. package/dist/index109.js.map +0 -1
  184. package/dist/index110.js +0 -33
  185. package/dist/index110.js.map +0 -1
  186. package/dist/index111.js +0 -33
  187. package/dist/index111.js.map +0 -1
  188. package/dist/index112.js +0 -5
  189. package/dist/index112.js.map +0 -1
  190. package/dist/index113.js +0 -75
  191. package/dist/index113.js.map +0 -1
  192. package/dist/index114.js +0 -42
  193. package/dist/index114.js.map +0 -1
  194. package/dist/index115.js +0 -29
  195. package/dist/index115.js.map +0 -1
  196. package/dist/index116.js +0 -24
  197. package/dist/index116.js.map +0 -1
  198. package/dist/index117.js +0 -27
  199. package/dist/index117.js.map +0 -1
  200. package/dist/index118.js +0 -23
  201. package/dist/index118.js.map +0 -1
  202. package/dist/index119.js +0 -103
  203. package/dist/index119.js.map +0 -1
  204. package/dist/index120.js +0 -363
  205. package/dist/index120.js.map +0 -1
  206. package/dist/index121.js +0 -28
  207. package/dist/index121.js.map +0 -1
  208. package/dist/index122.js +0 -76
  209. package/dist/index122.js.map +0 -1
  210. package/dist/index123.js +0 -19
  211. package/dist/index123.js.map +0 -1
  212. package/dist/index124.js +0 -69
  213. package/dist/index124.js.map +0 -1
  214. package/dist/index125.js +0 -147
  215. package/dist/index125.js.map +0 -1
  216. package/dist/index126.js +0 -5
  217. package/dist/index126.js.map +0 -1
  218. package/dist/index127.js +0 -59
  219. package/dist/index127.js.map +0 -1
  220. package/dist/index128.js +0 -5
  221. package/dist/index128.js.map +0 -1
  222. package/dist/index129.js +0 -5
  223. package/dist/index129.js.map +0 -1
  224. package/dist/index130.js +0 -5
  225. package/dist/index130.js.map +0 -1
  226. package/dist/index131.js +0 -5
  227. package/dist/index131.js.map +0 -1
  228. package/dist/index132.js +0 -5
  229. package/dist/index132.js.map +0 -1
  230. package/dist/index133.js +0 -5
  231. package/dist/index133.js.map +0 -1
  232. package/dist/index134.js +0 -5
  233. package/dist/index134.js.map +0 -1
  234. package/dist/index135.js +0 -5
  235. package/dist/index135.js.map +0 -1
  236. package/dist/index136.js +0 -35
  237. package/dist/index136.js.map +0 -1
  238. package/dist/index137.js +0 -5
  239. package/dist/index137.js.map +0 -1
  240. package/dist/index138.js +0 -11
  241. package/dist/index138.js.map +0 -1
  242. package/dist/index139.js +0 -5
  243. package/dist/index139.js.map +0 -1
  244. package/dist/index140.js +0 -5
  245. package/dist/index140.js.map +0 -1
  246. package/dist/index141.js +0 -24
  247. package/dist/index141.js.map +0 -1
  248. package/dist/index142.js +0 -5
  249. package/dist/index142.js.map +0 -1
  250. package/dist/index143.js +0 -27
  251. package/dist/index143.js.map +0 -1
  252. package/dist/index144.js +0 -74
  253. package/dist/index144.js.map +0 -1
  254. package/dist/index145.js +0 -24
  255. package/dist/index145.js.map +0 -1
  256. package/dist/index146.js +0 -37
  257. package/dist/index146.js.map +0 -1
  258. package/dist/index147.js +0 -73
  259. package/dist/index147.js.map +0 -1
  260. package/dist/index148.js +0 -5
  261. package/dist/index148.js.map +0 -1
  262. package/dist/index149.js +0 -25
  263. package/dist/index149.js.map +0 -1
  264. package/dist/index150.js +0 -5
  265. package/dist/index150.js.map +0 -1
  266. package/dist/index151.js +0 -5
  267. package/dist/index151.js.map +0 -1
  268. package/dist/index152.js +0 -5
  269. package/dist/index152.js.map +0 -1
  270. package/dist/index153.js +0 -5
  271. package/dist/index153.js.map +0 -1
  272. package/dist/index154.js +0 -7
  273. package/dist/index154.js.map +0 -1
package/dist/index44.js CHANGED
@@ -1,16 +1,122 @@
1
- import { jsx as n } from "react/jsx-runtime";
2
- function e({ children: s, className: o = "", ...t }) {
3
- const i = ["list", o].filter(Boolean).join(" ");
4
- return /* @__PURE__ */ n("ul", { className: i, ...t, children: s });
1
+ import { jsx as a, jsxs as v } from "react/jsx-runtime";
2
+ import u, { useContext as k, createContext as S, useState as w, useCallback as g } from "react";
3
+ const p = S(null);
4
+ function F() {
5
+ return k(p);
5
6
  }
6
- function l({ children: s, className: o = "", ...t }) {
7
- const i = ["list-row", o].filter(Boolean).join(" ");
8
- return /* @__PURE__ */ n("li", { className: i, ...t, children: s });
7
+ function m({ children: o, className: n = "", style: s }) {
8
+ const t = u.Children.toArray(o), l = t.some(
9
+ (e) => u.isValidElement(e) && e.type.displayName === "LayoutSider"
10
+ ), f = [
11
+ "flex",
12
+ "min-h-0",
13
+ l ? "flex-row" : "flex-col",
14
+ n
15
+ ].filter(Boolean).join(" "), i = l ? t.map((e) => {
16
+ if (u.isValidElement(e) && (e.type === m || e.type.displayName === "LayoutRoot") && e.type.displayName !== "LayoutSider") {
17
+ const c = e.props.className || "";
18
+ if (!c.includes("flex-1"))
19
+ return u.cloneElement(e, {
20
+ className: `flex-1 ${c}`.trim()
21
+ });
22
+ }
23
+ return e;
24
+ }) : o;
25
+ return /* @__PURE__ */ a("div", { className: f, style: s, children: i });
9
26
  }
10
- const r = Object.assign(e, {
11
- Row: l
27
+ m.displayName = "LayoutRoot";
28
+ function B({ children: o, className: n = "", style: s }) {
29
+ const t = [
30
+ "flex",
31
+ "items-center",
32
+ "px-6",
33
+ "h-16",
34
+ "bg-base-300",
35
+ "flex-shrink-0",
36
+ n
37
+ ].filter(Boolean).join(" ");
38
+ return /* @__PURE__ */ a("header", { className: t, style: s, children: o });
39
+ }
40
+ function E({ children: o, className: n = "", style: s }) {
41
+ const t = [
42
+ "px-6",
43
+ "py-4",
44
+ "text-center",
45
+ "bg-base-300",
46
+ "flex-shrink-0",
47
+ n
48
+ ].filter(Boolean).join(" ");
49
+ return /* @__PURE__ */ a("footer", { className: t, style: s, children: o });
50
+ }
51
+ function R({ children: o, className: n = "", style: s }) {
52
+ const t = ["flex-1", "min-h-0", "overflow-auto", n].filter(Boolean).join(" ");
53
+ return /* @__PURE__ */ a("main", { className: t, style: s, children: o });
54
+ }
55
+ function y({
56
+ children: o,
57
+ width: n = 200,
58
+ collapsedWidth: s = 80,
59
+ collapsed: t,
60
+ defaultCollapsed: l = !1,
61
+ collapsible: f = !1,
62
+ onCollapse: i,
63
+ trigger: e,
64
+ className: c = "",
65
+ style: C
66
+ }) {
67
+ const [b, N] = w(l), r = t ?? b, h = g(() => {
68
+ const x = !r;
69
+ t === void 0 && N(x), i?.(x);
70
+ }, [r, t, i]), d = r ? s : n, L = [
71
+ "flex",
72
+ "flex-col",
73
+ "bg-base-200",
74
+ "flex-shrink-0",
75
+ "transition-all",
76
+ "duration-200",
77
+ c
78
+ ].filter(Boolean).join(" "), j = f && e !== null && /* @__PURE__ */ a(
79
+ "button",
80
+ {
81
+ onClick: h,
82
+ className: "flex items-center justify-center h-10 w-full bg-base-300 hover:bg-base-content/10 transition-colors",
83
+ "aria-label": r ? "Expand sidebar" : "Collapse sidebar",
84
+ children: /* @__PURE__ */ a(
85
+ "svg",
86
+ {
87
+ className: `w-4 h-4 transition-transform ${r ? "rotate-180" : ""}`,
88
+ fill: "none",
89
+ viewBox: "0 0 24 24",
90
+ stroke: "currentColor",
91
+ children: /* @__PURE__ */ a("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" })
92
+ }
93
+ )
94
+ }
95
+ );
96
+ return /* @__PURE__ */ a(p.Provider, { value: { collapsed: r, collapsedWidth: s, width: n }, children: /* @__PURE__ */ v(
97
+ "aside",
98
+ {
99
+ className: L,
100
+ style: {
101
+ width: typeof d == "number" ? `${d}px` : d,
102
+ ...C
103
+ },
104
+ children: [
105
+ /* @__PURE__ */ a("div", { className: "flex-1 overflow-auto", children: o }),
106
+ e !== null && (e ?? j)
107
+ ]
108
+ }
109
+ ) });
110
+ }
111
+ y.displayName = "LayoutSider";
112
+ const H = Object.assign(m, {
113
+ Header: B,
114
+ Footer: E,
115
+ Content: R,
116
+ Sider: y
12
117
  });
13
118
  export {
14
- r as List
119
+ H as Layout,
120
+ F as useSiderContext
15
121
  };
16
122
  //# sourceMappingURL=index44.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index44.js","sources":["../src/components/List.tsx"],"sourcesContent":["import React from 'react'\n\nexport interface ListProps extends React.HTMLAttributes<HTMLUListElement> {\n children: React.ReactNode\n}\n\nexport interface ListRowProps extends React.LiHTMLAttributes<HTMLLIElement> {\n children: React.ReactNode\n}\n\nfunction ListRoot({ children, className = '', ...rest }: ListProps) {\n const classes = ['list', className].filter(Boolean).join(' ')\n return <ul className={classes} {...rest}>{children}</ul>\n}\n\nfunction ListRow({ children, className = '', ...rest }: ListRowProps) {\n const classes = ['list-row', className].filter(Boolean).join(' ')\n return <li className={classes} {...rest}>{children}</li>\n}\n\nexport const List = Object.assign(ListRoot, {\n Row: ListRow,\n})\n"],"names":["ListRoot","children","className","rest","classes","ListRow","List"],"mappings":";AAUA,SAASA,EAAS,EAAE,UAAAC,GAAU,WAAAC,IAAY,IAAI,GAAGC,KAAmB;AAClE,QAAMC,IAAU,CAAC,QAAQF,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAC5D,2BAAQ,MAAA,EAAG,WAAWE,GAAU,GAAGD,GAAO,UAAAF,GAAS;AACrD;AAEA,SAASI,EAAQ,EAAE,UAAAJ,GAAU,WAAAC,IAAY,IAAI,GAAGC,KAAsB;AACpE,QAAMC,IAAU,CAAC,YAAYF,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAChE,2BAAQ,MAAA,EAAG,WAAWE,GAAU,GAAGD,GAAO,UAAAF,GAAS;AACrD;AAEO,MAAMK,IAAO,OAAO,OAAON,GAAU;AAAA,EAC1C,KAAKK;AACP,CAAC;"}
1
+ {"version":3,"file":"index44.js","sources":["../src/components/Layout.tsx"],"sourcesContent":["import React, { createContext, useContext, useState, useCallback } from 'react'\n\nexport interface LayoutProps {\n children: React.ReactNode\n className?: string\n style?: React.CSSProperties\n}\n\nexport interface LayoutHeaderProps {\n children: React.ReactNode\n className?: string\n style?: React.CSSProperties\n}\n\nexport interface LayoutFooterProps {\n children: React.ReactNode\n className?: string\n style?: React.CSSProperties\n}\n\nexport interface LayoutContentProps {\n children: React.ReactNode\n className?: string\n style?: React.CSSProperties\n}\n\nexport interface LayoutSiderProps {\n children: React.ReactNode\n width?: number | string\n collapsedWidth?: number | string\n collapsed?: boolean\n defaultCollapsed?: boolean\n collapsible?: boolean\n onCollapse?: (collapsed: boolean) => void\n trigger?: React.ReactNode | null\n breakpoint?: 'sm' | 'md' | 'lg' | 'xl' | '2xl'\n onBreakpoint?: (broken: boolean) => void\n className?: string\n style?: React.CSSProperties\n}\n\ninterface SiderContextValue {\n collapsed: boolean\n collapsedWidth: number | string\n width: number | string\n}\n\nconst SiderContext = createContext<SiderContextValue | null>(null)\n\nexport function useSiderContext() {\n return useContext(SiderContext)\n}\n\nfunction LayoutRoot({ children, className = '', style }: LayoutProps) {\n // Check if any child is a Sider to determine flex direction\n const childArray = React.Children.toArray(children)\n const hasSider = childArray.some(\n (child) => React.isValidElement(child) && (child.type as any).displayName === 'LayoutSider'\n )\n\n const layoutClasses = [\n 'flex',\n 'min-h-0',\n hasSider ? 'flex-row' : 'flex-col',\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n // If we have a Sider, auto-add flex-1 to non-Sider Layout children\n const processedChildren = hasSider\n ? childArray.map((child) => {\n if (\n React.isValidElement(child) &&\n (child.type === LayoutRoot || (child.type as any).displayName === 'LayoutRoot') &&\n (child.type as any).displayName !== 'LayoutSider'\n ) {\n // Clone the Layout child and add flex-1 if not already present\n const existingClassName = (child.props as any).className || ''\n if (!existingClassName.includes('flex-1')) {\n return React.cloneElement(child as React.ReactElement<any>, {\n className: `flex-1 ${existingClassName}`.trim(),\n })\n }\n }\n return child\n })\n : children\n\n return (\n <div className={layoutClasses} style={style}>\n {processedChildren}\n </div>\n )\n}\n\nLayoutRoot.displayName = 'LayoutRoot'\n\nfunction LayoutHeader({ children, className = '', style }: LayoutHeaderProps) {\n const headerClasses = [\n 'flex',\n 'items-center',\n 'px-6',\n 'h-16',\n 'bg-base-300',\n 'flex-shrink-0',\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <header className={headerClasses} style={style}>\n {children}\n </header>\n )\n}\n\nfunction LayoutFooter({ children, className = '', style }: LayoutFooterProps) {\n const footerClasses = [\n 'px-6',\n 'py-4',\n 'text-center',\n 'bg-base-300',\n 'flex-shrink-0',\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <footer className={footerClasses} style={style}>\n {children}\n </footer>\n )\n}\n\nfunction LayoutContent({ children, className = '', style }: LayoutContentProps) {\n // flex-1 by default so Content fills available space\n const contentClasses = ['flex-1', 'min-h-0', 'overflow-auto', className].filter(Boolean).join(' ')\n\n return (\n <main className={contentClasses} style={style}>\n {children}\n </main>\n )\n}\n\nfunction LayoutSider({\n children,\n width = 200,\n collapsedWidth = 80,\n collapsed: controlledCollapsed,\n defaultCollapsed = false,\n collapsible = false,\n onCollapse,\n trigger,\n className = '',\n style,\n}: LayoutSiderProps) {\n const [internalCollapsed, setInternalCollapsed] = useState(defaultCollapsed)\n\n const collapsed = controlledCollapsed ?? internalCollapsed\n\n const handleCollapse = useCallback(() => {\n const newCollapsed = !collapsed\n if (controlledCollapsed === undefined) {\n setInternalCollapsed(newCollapsed)\n }\n onCollapse?.(newCollapsed)\n }, [collapsed, controlledCollapsed, onCollapse])\n\n const currentWidth = collapsed ? collapsedWidth : width\n\n const siderClasses = [\n 'flex',\n 'flex-col',\n 'bg-base-200',\n 'flex-shrink-0',\n 'transition-all',\n 'duration-200',\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n const defaultTrigger = collapsible && trigger !== null && (\n <button\n onClick={handleCollapse}\n className=\"flex items-center justify-center h-10 w-full bg-base-300 hover:bg-base-content/10 transition-colors\"\n aria-label={collapsed ? 'Expand sidebar' : 'Collapse sidebar'}\n >\n <svg\n className={`w-4 h-4 transition-transform ${collapsed ? 'rotate-180' : ''}`}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M15 19l-7-7 7-7\" />\n </svg>\n </button>\n )\n\n return (\n <SiderContext.Provider value={{ collapsed, collapsedWidth, width }}>\n <aside\n className={siderClasses}\n style={{\n width: typeof currentWidth === 'number' ? `${currentWidth}px` : currentWidth,\n ...style,\n }}\n >\n <div className=\"flex-1 overflow-auto\">{children}</div>\n {trigger !== null && (trigger ?? defaultTrigger)}\n </aside>\n </SiderContext.Provider>\n )\n}\n\nLayoutSider.displayName = 'LayoutSider'\n\nexport const Layout = Object.assign(LayoutRoot, {\n Header: LayoutHeader,\n Footer: LayoutFooter,\n Content: LayoutContent,\n Sider: LayoutSider,\n})\n"],"names":["SiderContext","createContext","useSiderContext","useContext","LayoutRoot","children","className","style","childArray","React","hasSider","child","layoutClasses","processedChildren","existingClassName","jsx","LayoutHeader","headerClasses","LayoutFooter","footerClasses","LayoutContent","contentClasses","LayoutSider","width","collapsedWidth","controlledCollapsed","defaultCollapsed","collapsible","onCollapse","trigger","internalCollapsed","setInternalCollapsed","useState","collapsed","handleCollapse","useCallback","newCollapsed","currentWidth","siderClasses","defaultTrigger","jsxs","Layout"],"mappings":"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"}
package/dist/index45.js CHANGED
@@ -1,38 +1,16 @@
1
- import { jsxs as a, jsx as s } from "react/jsx-runtime";
2
- const f = ({
3
- size: r = "md",
4
- type: t = "spinner",
5
- className: d = "",
6
- spinning: l = !0,
7
- children: n,
8
- tip: e,
9
- ...i
10
- }) => {
11
- const c = {
12
- xs: "loading-xs",
13
- sm: "loading-sm",
14
- md: "loading-md",
15
- lg: "loading-lg"
16
- }, o = ["loading", {
17
- spinner: "loading-spinner",
18
- dots: "loading-dots",
19
- ring: "loading-ring",
20
- ball: "loading-ball",
21
- bars: "loading-bars",
22
- infinity: "loading-infinity"
23
- }[t], c[r], d].filter(Boolean).join(" ");
24
- return n ? /* @__PURE__ */ a("div", { className: "relative", ...i, children: [
25
- l && /* @__PURE__ */ a("div", { className: "absolute inset-0 flex flex-col items-center justify-center bg-base-100/50 backdrop-blur-sm z-10", children: [
26
- /* @__PURE__ */ s("span", { className: o }),
27
- e && /* @__PURE__ */ s("p", { className: "mt-2 text-sm", children: e })
28
- ] }),
29
- /* @__PURE__ */ s("div", { className: l ? "pointer-events-none" : "", children: n })
30
- ] }) : l ? /* @__PURE__ */ a("div", { className: "flex flex-col items-center gap-2", ...i, children: [
31
- /* @__PURE__ */ s("span", { className: o }),
32
- e && /* @__PURE__ */ s("p", { className: "text-sm", children: e })
33
- ] }) : null;
34
- };
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ function e({ children: s, className: o = "", ...t }) {
3
+ const i = ["list", o].filter(Boolean).join(" ");
4
+ return /* @__PURE__ */ n("ul", { className: i, ...t, children: s });
5
+ }
6
+ function l({ children: s, className: o = "", ...t }) {
7
+ const i = ["list-row", o].filter(Boolean).join(" ");
8
+ return /* @__PURE__ */ n("li", { className: i, ...t, children: s });
9
+ }
10
+ const r = Object.assign(e, {
11
+ Row: l
12
+ });
35
13
  export {
36
- f as Loading
14
+ r as List
37
15
  };
38
16
  //# sourceMappingURL=index45.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index45.js","sources":["../src/components/Loading.tsx"],"sourcesContent":["import React from 'react'\n\nexport interface LoadingProps extends React.HTMLAttributes<HTMLDivElement> {\n size?: 'xs' | 'sm' | 'md' | 'lg'\n type?: 'spinner' | 'dots' | 'ring' | 'ball' | 'bars' | 'infinity'\n spinning?: boolean\n children?: React.ReactNode\n tip?: string\n}\n\nexport const Loading: React.FC<LoadingProps> = ({\n size = 'md',\n type = 'spinner',\n className = '',\n spinning = true,\n children,\n tip,\n ...rest\n}) => {\n const sizeClasses = {\n xs: 'loading-xs',\n sm: 'loading-sm',\n md: 'loading-md',\n lg: 'loading-lg',\n }\n\n const typeClasses = {\n spinner: 'loading-spinner',\n dots: 'loading-dots',\n ring: 'loading-ring',\n ball: 'loading-ball',\n bars: 'loading-bars',\n infinity: 'loading-infinity',\n }\n\n const spinnerClasses = ['loading', typeClasses[type], sizeClasses[size], className]\n .filter(Boolean)\n .join(' ')\n\n if (children) {\n return (\n <div className=\"relative\" {...rest}>\n {spinning && (\n <div className=\"absolute inset-0 flex flex-col items-center justify-center bg-base-100/50 backdrop-blur-sm z-10\">\n <span className={spinnerClasses}></span>\n {tip && <p className=\"mt-2 text-sm\">{tip}</p>}\n </div>\n )}\n <div className={spinning ? 'pointer-events-none' : ''}>{children}</div>\n </div>\n )\n }\n\n if (!spinning) {\n return null\n }\n\n return (\n <div className=\"flex flex-col items-center gap-2\" {...rest}>\n <span className={spinnerClasses}></span>\n {tip && <p className=\"text-sm\">{tip}</p>}\n </div>\n )\n}\n"],"names":["Loading","size","type","className","spinning","children","tip","rest","sizeClasses","spinnerClasses","jsxs","jsx"],"mappings":";AAUO,MAAMA,IAAkC,CAAC;AAAA,EAC9C,MAAAC,IAAO;AAAA,EACP,MAAAC,IAAO;AAAA,EACP,WAAAC,IAAY;AAAA,EACZ,UAAAC,IAAW;AAAA,EACX,UAAAC;AAAA,EACA,KAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAMC,IAAc;AAAA,IAClB,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,EAAA,GAYAC,IAAiB,CAAC,WATJ;AAAA,IAClB,SAAS;AAAA,IACT,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU;AAAA,EAAA,EAGmCP,CAAI,GAAGM,EAAYP,CAAI,GAAGE,CAAS,EAC/E,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SAAIE,IAEA,gBAAAK,EAAC,OAAA,EAAI,WAAU,YAAY,GAAGH,GAC3B,UAAA;AAAA,IAAAH,KACC,gBAAAM,EAAC,OAAA,EAAI,WAAU,mGACb,UAAA;AAAA,MAAA,gBAAAC,EAAC,QAAA,EAAK,WAAWF,EAAA,CAAgB;AAAA,MAChCH,KAAO,gBAAAK,EAAC,KAAA,EAAE,WAAU,gBAAgB,UAAAL,EAAA,CAAI;AAAA,IAAA,GAC3C;AAAA,sBAED,OAAA,EAAI,WAAWF,IAAW,wBAAwB,IAAK,UAAAC,EAAA,CAAS;AAAA,EAAA,GACnE,IAICD,IAKH,gBAAAM,EAAC,OAAA,EAAI,WAAU,oCAAoC,GAAGH,GACpD,UAAA;AAAA,IAAA,gBAAAI,EAAC,QAAA,EAAK,WAAWF,EAAA,CAAgB;AAAA,IAChCH,KAAO,gBAAAK,EAAC,KAAA,EAAE,WAAU,WAAW,UAAAL,EAAA,CAAI;AAAA,EAAA,GACtC,IAPO;AASX;"}
1
+ {"version":3,"file":"index45.js","sources":["../src/components/List.tsx"],"sourcesContent":["import React from 'react'\n\nexport interface ListProps extends React.HTMLAttributes<HTMLUListElement> {\n children: React.ReactNode\n}\n\nexport interface ListRowProps extends React.LiHTMLAttributes<HTMLLIElement> {\n children: React.ReactNode\n}\n\nfunction ListRoot({ children, className = '', ...rest }: ListProps) {\n const classes = ['list', className].filter(Boolean).join(' ')\n return <ul className={classes} {...rest}>{children}</ul>\n}\n\nfunction ListRow({ children, className = '', ...rest }: ListRowProps) {\n const classes = ['list-row', className].filter(Boolean).join(' ')\n return <li className={classes} {...rest}>{children}</li>\n}\n\nexport const List = Object.assign(ListRoot, {\n Row: ListRow,\n})\n"],"names":["ListRoot","children","className","rest","classes","ListRow","List"],"mappings":";AAUA,SAASA,EAAS,EAAE,UAAAC,GAAU,WAAAC,IAAY,IAAI,GAAGC,KAAmB;AAClE,QAAMC,IAAU,CAAC,QAAQF,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAC5D,2BAAQ,MAAA,EAAG,WAAWE,GAAU,GAAGD,GAAO,UAAAF,GAAS;AACrD;AAEA,SAASI,EAAQ,EAAE,UAAAJ,GAAU,WAAAC,IAAY,IAAI,GAAGC,KAAsB;AACpE,QAAMC,IAAU,CAAC,YAAYF,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAChE,2BAAQ,MAAA,EAAG,WAAWE,GAAU,GAAGD,GAAO,UAAAF,GAAS;AACrD;AAEO,MAAMK,IAAO,OAAO,OAAON,GAAU;AAAA,EAC1C,KAAKK;AACP,CAAC;"}
package/dist/index46.js CHANGED
@@ -1,119 +1,38 @@
1
- import { jsx as n } from "react/jsx-runtime";
2
- import C from "react";
3
- const h = ({
4
- children: u,
5
- columns: l = 3,
6
- gap: m = 4,
7
- className: c = "",
8
- ...a
1
+ import { jsxs as a, jsx as s } from "react/jsx-runtime";
2
+ const f = ({
3
+ size: r = "md",
4
+ type: t = "spinner",
5
+ className: d = "",
6
+ spinning: l = !0,
7
+ children: n,
8
+ tip: e,
9
+ ...i
9
10
  }) => {
10
- const p = () => typeof m == "string" ? m : {
11
- 0: "gap-0",
12
- 1: "gap-1",
13
- 2: "gap-2",
14
- 3: "gap-3",
15
- 4: "gap-4",
16
- 5: "gap-5",
17
- 6: "gap-6",
18
- 7: "gap-7",
19
- 8: "gap-8",
20
- 9: "gap-9",
21
- 10: "gap-10",
22
- 11: "gap-11",
23
- 12: "gap-12"
24
- }[m] || "gap-4", o = {
25
- 1: "columns-1",
26
- 2: "columns-2",
27
- 3: "columns-3",
28
- 4: "columns-4",
29
- 5: "columns-5",
30
- 6: "columns-6",
31
- 7: "columns-7",
32
- 8: "columns-8",
33
- 9: "columns-9",
34
- 10: "columns-10",
35
- 11: "columns-11",
36
- 12: "columns-12"
37
- }, x = {
38
- 1: "sm:columns-1",
39
- 2: "sm:columns-2",
40
- 3: "sm:columns-3",
41
- 4: "sm:columns-4",
42
- 5: "sm:columns-5",
43
- 6: "sm:columns-6",
44
- 7: "sm:columns-7",
45
- 8: "sm:columns-8",
46
- 9: "sm:columns-9",
47
- 10: "sm:columns-10",
48
- 11: "sm:columns-11",
49
- 12: "sm:columns-12"
50
- }, g = {
51
- 1: "md:columns-1",
52
- 2: "md:columns-2",
53
- 3: "md:columns-3",
54
- 4: "md:columns-4",
55
- 5: "md:columns-5",
56
- 6: "md:columns-6",
57
- 7: "md:columns-7",
58
- 8: "md:columns-8",
59
- 9: "md:columns-9",
60
- 10: "md:columns-10",
61
- 11: "md:columns-11",
62
- 12: "md:columns-12"
63
- }, d = {
64
- 1: "lg:columns-1",
65
- 2: "lg:columns-2",
66
- 3: "lg:columns-3",
67
- 4: "lg:columns-4",
68
- 5: "lg:columns-5",
69
- 6: "lg:columns-6",
70
- 7: "lg:columns-7",
71
- 8: "lg:columns-8",
72
- 9: "lg:columns-9",
73
- 10: "lg:columns-10",
74
- 11: "lg:columns-11",
75
- 12: "lg:columns-12"
76
- }, e = {
77
- 1: "xl:columns-1",
78
- 2: "xl:columns-2",
79
- 3: "xl:columns-3",
80
- 4: "xl:columns-4",
81
- 5: "xl:columns-5",
82
- 6: "xl:columns-6",
83
- 7: "xl:columns-7",
84
- 8: "xl:columns-8",
85
- 9: "xl:columns-9",
86
- 10: "xl:columns-10",
87
- 11: "xl:columns-11",
88
- 12: "xl:columns-12"
89
- }, i = {
90
- 1: "2xl:columns-1",
91
- 2: "2xl:columns-2",
92
- 3: "2xl:columns-3",
93
- 4: "2xl:columns-4",
94
- 5: "2xl:columns-5",
95
- 6: "2xl:columns-6",
96
- 7: "2xl:columns-7",
97
- 8: "2xl:columns-8",
98
- 9: "2xl:columns-9",
99
- 10: "2xl:columns-10",
100
- 11: "2xl:columns-11",
101
- 12: "2xl:columns-12"
102
- }, t = [
103
- (() => {
104
- if (typeof l == "number")
105
- return o[l] || "columns-3";
106
- const s = [];
107
- return l.xs !== void 0 && s.push(o[l.xs] || "columns-3"), l.sm !== void 0 && s.push(x[l.sm] || "sm:columns-3"), l.md !== void 0 && s.push(g[l.md] || "md:columns-3"), l.lg !== void 0 && s.push(d[l.lg] || "lg:columns-3"), l.xl !== void 0 && s.push(e[l.xl] || "xl:columns-3"), l["2xl"] !== void 0 && s.push(i[l["2xl"]] || "2xl:columns-3"), s.join(" ");
108
- })(),
109
- p(),
110
- c
111
- ].filter(Boolean).join(" "), r = C.Children.map(u, (s, f) => /* @__PURE__ */ n("div", { className: "break-inside-avoid mb-4", children: s }, f));
112
- return /* @__PURE__ */ n("div", { className: t, ...a, children: r });
11
+ const c = {
12
+ xs: "loading-xs",
13
+ sm: "loading-sm",
14
+ md: "loading-md",
15
+ lg: "loading-lg"
16
+ }, o = ["loading", {
17
+ spinner: "loading-spinner",
18
+ dots: "loading-dots",
19
+ ring: "loading-ring",
20
+ ball: "loading-ball",
21
+ bars: "loading-bars",
22
+ infinity: "loading-infinity"
23
+ }[t], c[r], d].filter(Boolean).join(" ");
24
+ return n ? /* @__PURE__ */ a("div", { className: "relative", ...i, children: [
25
+ l && /* @__PURE__ */ a("div", { className: "absolute inset-0 flex flex-col items-center justify-center bg-base-100/50 backdrop-blur-sm z-10", children: [
26
+ /* @__PURE__ */ s("span", { className: o }),
27
+ e && /* @__PURE__ */ s("p", { className: "mt-2 text-sm", children: e })
28
+ ] }),
29
+ /* @__PURE__ */ s("div", { className: l ? "pointer-events-none" : "", children: n })
30
+ ] }) : l ? /* @__PURE__ */ a("div", { className: "flex flex-col items-center gap-2", ...i, children: [
31
+ /* @__PURE__ */ s("span", { className: o }),
32
+ e && /* @__PURE__ */ s("p", { className: "text-sm", children: e })
33
+ ] }) : null;
113
34
  };
114
- h.displayName = "Masonry";
115
35
  export {
116
- h as Masonry,
117
- h as default
36
+ f as Loading
118
37
  };
119
38
  //# sourceMappingURL=index46.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index46.js","sources":["../src/components/Masonry.tsx"],"sourcesContent":["import React from 'react'\n\nexport interface MasonryProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode\n columns?: number | {\n xs?: number\n sm?: number\n md?: number\n lg?: number\n xl?: number\n '2xl'?: number\n }\n gap?: number | string\n}\n\nexport const Masonry: React.FC<MasonryProps> = ({\n children,\n columns = 3,\n gap = 4,\n className = '',\n ...rest\n}) => {\n // Map gap values to Tailwind classes\n const getGapClass = () => {\n if (typeof gap === 'string') {\n return gap\n }\n\n const gapMap: Record<number, string> = {\n 0: 'gap-0',\n 1: 'gap-1',\n 2: 'gap-2',\n 3: 'gap-3',\n 4: 'gap-4',\n 5: 'gap-5',\n 6: 'gap-6',\n 7: 'gap-7',\n 8: 'gap-8',\n 9: 'gap-9',\n 10: 'gap-10',\n 11: 'gap-11',\n 12: 'gap-12',\n }\n return gapMap[gap] || 'gap-4'\n }\n\n // Static column class mappings for Tailwind JIT\n const baseColumnMap: Record<number, string> = {\n 1: 'columns-1',\n 2: 'columns-2',\n 3: 'columns-3',\n 4: 'columns-4',\n 5: 'columns-5',\n 6: 'columns-6',\n 7: 'columns-7',\n 8: 'columns-8',\n 9: 'columns-9',\n 10: 'columns-10',\n 11: 'columns-11',\n 12: 'columns-12',\n }\n\n const smColumnMap: Record<number, string> = {\n 1: 'sm:columns-1',\n 2: 'sm:columns-2',\n 3: 'sm:columns-3',\n 4: 'sm:columns-4',\n 5: 'sm:columns-5',\n 6: 'sm:columns-6',\n 7: 'sm:columns-7',\n 8: 'sm:columns-8',\n 9: 'sm:columns-9',\n 10: 'sm:columns-10',\n 11: 'sm:columns-11',\n 12: 'sm:columns-12',\n }\n\n const mdColumnMap: Record<number, string> = {\n 1: 'md:columns-1',\n 2: 'md:columns-2',\n 3: 'md:columns-3',\n 4: 'md:columns-4',\n 5: 'md:columns-5',\n 6: 'md:columns-6',\n 7: 'md:columns-7',\n 8: 'md:columns-8',\n 9: 'md:columns-9',\n 10: 'md:columns-10',\n 11: 'md:columns-11',\n 12: 'md:columns-12',\n }\n\n const lgColumnMap: Record<number, string> = {\n 1: 'lg:columns-1',\n 2: 'lg:columns-2',\n 3: 'lg:columns-3',\n 4: 'lg:columns-4',\n 5: 'lg:columns-5',\n 6: 'lg:columns-6',\n 7: 'lg:columns-7',\n 8: 'lg:columns-8',\n 9: 'lg:columns-9',\n 10: 'lg:columns-10',\n 11: 'lg:columns-11',\n 12: 'lg:columns-12',\n }\n\n const xlColumnMap: Record<number, string> = {\n 1: 'xl:columns-1',\n 2: 'xl:columns-2',\n 3: 'xl:columns-3',\n 4: 'xl:columns-4',\n 5: 'xl:columns-5',\n 6: 'xl:columns-6',\n 7: 'xl:columns-7',\n 8: 'xl:columns-8',\n 9: 'xl:columns-9',\n 10: 'xl:columns-10',\n 11: 'xl:columns-11',\n 12: 'xl:columns-12',\n }\n\n const xl2ColumnMap: Record<number, string> = {\n 1: '2xl:columns-1',\n 2: '2xl:columns-2',\n 3: '2xl:columns-3',\n 4: '2xl:columns-4',\n 5: '2xl:columns-5',\n 6: '2xl:columns-6',\n 7: '2xl:columns-7',\n 8: '2xl:columns-8',\n 9: '2xl:columns-9',\n 10: '2xl:columns-10',\n 11: '2xl:columns-11',\n 12: '2xl:columns-12',\n }\n\n // Convert columns to Tailwind classes\n const getColumnClasses = () => {\n if (typeof columns === 'number') {\n return baseColumnMap[columns] || 'columns-3'\n }\n\n // Handle responsive columns object\n const classes: string[] = []\n if (columns.xs !== undefined) classes.push(baseColumnMap[columns.xs] || 'columns-3')\n if (columns.sm !== undefined) classes.push(smColumnMap[columns.sm] || 'sm:columns-3')\n if (columns.md !== undefined) classes.push(mdColumnMap[columns.md] || 'md:columns-3')\n if (columns.lg !== undefined) classes.push(lgColumnMap[columns.lg] || 'lg:columns-3')\n if (columns.xl !== undefined) classes.push(xlColumnMap[columns.xl] || 'xl:columns-3')\n if (columns['2xl'] !== undefined) classes.push(xl2ColumnMap[columns['2xl']] || '2xl:columns-3')\n\n return classes.join(' ')\n }\n\n const containerClasses = [\n getColumnClasses(),\n getGapClass(),\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n // Wrap children in break-inside-avoid containers\n const wrappedChildren = React.Children.map(children, (child, index) => (\n <div key={index} className=\"break-inside-avoid mb-4\">\n {child}\n </div>\n ))\n\n return (\n <div className={containerClasses} {...rest}>\n {wrappedChildren}\n </div>\n )\n}\n\nMasonry.displayName = 'Masonry'\n\nexport default Masonry\n"],"names":["Masonry","children","columns","gap","className","rest","getGapClass","baseColumnMap","smColumnMap","mdColumnMap","lgColumnMap","xlColumnMap","xl2ColumnMap","containerClasses","classes","wrappedChildren","React","child","index","jsx"],"mappings":";;AAeO,MAAMA,IAAkC,CAAC;AAAA,EAC9C,UAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,KAAAC,IAAM;AAAA,EACN,WAAAC,IAAY;AAAA,EACZ,GAAGC;AACL,MAAM;AAEJ,QAAMC,IAAc,MACd,OAAOH,KAAQ,WACVA,IAG8B;AAAA,IACrC,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,EAAA,EAEQA,CAAG,KAAK,SAIlBI,IAAwC;AAAA,IAC5C,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,EAAA,GAGAC,IAAsC;AAAA,IAC1C,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,EAAA,GAGAC,IAAsC;AAAA,IAC1C,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,EAAA,GAGAC,IAAsC;AAAA,IAC1C,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,EAAA,GAGAC,IAAsC;AAAA,IAC1C,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,EAAA,GAGAC,IAAuC;AAAA,IAC3C,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,EAAA,GAqBAC,IAAmB;AAAA,KAjBA,MAAM;AAC7B,UAAI,OAAOX,KAAY;AACrB,eAAOK,EAAcL,CAAO,KAAK;AAInC,YAAMY,IAAoB,CAAA;AAC1B,aAAIZ,EAAQ,OAAO,UAAWY,EAAQ,KAAKP,EAAcL,EAAQ,EAAE,KAAK,WAAW,GAC/EA,EAAQ,OAAO,UAAWY,EAAQ,KAAKN,EAAYN,EAAQ,EAAE,KAAK,cAAc,GAChFA,EAAQ,OAAO,UAAWY,EAAQ,KAAKL,EAAYP,EAAQ,EAAE,KAAK,cAAc,GAChFA,EAAQ,OAAO,UAAWY,EAAQ,KAAKJ,EAAYR,EAAQ,EAAE,KAAK,cAAc,GAChFA,EAAQ,OAAO,UAAWY,EAAQ,KAAKH,EAAYT,EAAQ,EAAE,KAAK,cAAc,GAChFA,EAAQ,KAAK,MAAM,UAAWY,EAAQ,KAAKF,EAAaV,EAAQ,KAAK,CAAC,KAAK,eAAe,GAEvFY,EAAQ,KAAK,GAAG;AAAA,IACzB,GAGE;AAAA,IACAR,EAAA;AAAA,IACAF;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG,GAGLW,IAAkBC,EAAM,SAAS,IAAIf,GAAU,CAACgB,GAAOC,MAC3D,gBAAAC,EAAC,OAAA,EAAgB,WAAU,2BACxB,UAAAF,EAAA,GADOC,CAEV,CACD;AAED,2BACG,OAAA,EAAI,WAAWL,GAAmB,GAAGR,GACnC,UAAAU,GACH;AAEJ;AAEAf,EAAQ,cAAc;"}
1
+ {"version":3,"file":"index46.js","sources":["../src/components/Loading.tsx"],"sourcesContent":["import React from 'react'\n\nexport interface LoadingProps extends React.HTMLAttributes<HTMLDivElement> {\n size?: 'xs' | 'sm' | 'md' | 'lg'\n type?: 'spinner' | 'dots' | 'ring' | 'ball' | 'bars' | 'infinity'\n spinning?: boolean\n children?: React.ReactNode\n tip?: string\n}\n\nexport const Loading: React.FC<LoadingProps> = ({\n size = 'md',\n type = 'spinner',\n className = '',\n spinning = true,\n children,\n tip,\n ...rest\n}) => {\n const sizeClasses = {\n xs: 'loading-xs',\n sm: 'loading-sm',\n md: 'loading-md',\n lg: 'loading-lg',\n }\n\n const typeClasses = {\n spinner: 'loading-spinner',\n dots: 'loading-dots',\n ring: 'loading-ring',\n ball: 'loading-ball',\n bars: 'loading-bars',\n infinity: 'loading-infinity',\n }\n\n const spinnerClasses = ['loading', typeClasses[type], sizeClasses[size], className]\n .filter(Boolean)\n .join(' ')\n\n if (children) {\n return (\n <div className=\"relative\" {...rest}>\n {spinning && (\n <div className=\"absolute inset-0 flex flex-col items-center justify-center bg-base-100/50 backdrop-blur-sm z-10\">\n <span className={spinnerClasses}></span>\n {tip && <p className=\"mt-2 text-sm\">{tip}</p>}\n </div>\n )}\n <div className={spinning ? 'pointer-events-none' : ''}>{children}</div>\n </div>\n )\n }\n\n if (!spinning) {\n return null\n }\n\n return (\n <div className=\"flex flex-col items-center gap-2\" {...rest}>\n <span className={spinnerClasses}></span>\n {tip && <p className=\"text-sm\">{tip}</p>}\n </div>\n )\n}\n"],"names":["Loading","size","type","className","spinning","children","tip","rest","sizeClasses","spinnerClasses","jsxs","jsx"],"mappings":";AAUO,MAAMA,IAAkC,CAAC;AAAA,EAC9C,MAAAC,IAAO;AAAA,EACP,MAAAC,IAAO;AAAA,EACP,WAAAC,IAAY;AAAA,EACZ,UAAAC,IAAW;AAAA,EACX,UAAAC;AAAA,EACA,KAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAMC,IAAc;AAAA,IAClB,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,EAAA,GAYAC,IAAiB,CAAC,WATJ;AAAA,IAClB,SAAS;AAAA,IACT,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU;AAAA,EAAA,EAGmCP,CAAI,GAAGM,EAAYP,CAAI,GAAGE,CAAS,EAC/E,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SAAIE,IAEA,gBAAAK,EAAC,OAAA,EAAI,WAAU,YAAY,GAAGH,GAC3B,UAAA;AAAA,IAAAH,KACC,gBAAAM,EAAC,OAAA,EAAI,WAAU,mGACb,UAAA;AAAA,MAAA,gBAAAC,EAAC,QAAA,EAAK,WAAWF,EAAA,CAAgB;AAAA,MAChCH,KAAO,gBAAAK,EAAC,KAAA,EAAE,WAAU,gBAAgB,UAAAL,EAAA,CAAI;AAAA,IAAA,GAC3C;AAAA,sBAED,OAAA,EAAI,WAAWF,IAAW,wBAAwB,IAAK,UAAAC,EAAA,CAAS;AAAA,EAAA,GACnE,IAICD,IAKH,gBAAAM,EAAC,OAAA,EAAI,WAAU,oCAAoC,GAAGH,GACpD,UAAA;AAAA,IAAA,gBAAAI,EAAC,QAAA,EAAK,WAAWF,EAAA,CAAgB;AAAA,IAChCH,KAAO,gBAAAK,EAAC,KAAA,EAAE,WAAU,WAAW,UAAAL,EAAA,CAAI;AAAA,EAAA,GACtC,IAPO;AASX;"}
package/dist/index47.js CHANGED
@@ -1,179 +1,13 @@
1
- import { jsx as a, jsxs as K } from "react/jsx-runtime";
2
- import { useState as f, useRef as $, useCallback as A, useEffect as C } from "react";
3
- import { createPortal as oe } from "react-dom";
4
- const fe = ({
5
- value: p,
6
- defaultValue: q = "",
7
- onChange: E,
8
- onSelect: U,
9
- onSearch: W,
10
- options: R = [],
11
- loading: X = !1,
12
- prefix: k = "@",
13
- split: v = " ",
14
- placeholder: Y,
15
- disabled: G = !1,
16
- readOnly: J = !1,
17
- rows: V = 3,
18
- autoSize: o = !1,
19
- notFoundContent: Q = "No matches found",
20
- filterOption: x = !0,
21
- className: Z = "",
22
- dropdownClassName: _ = "",
23
- ...z
24
- }) => {
25
- const [ee, T] = f(q), h = p !== void 0 ? p : ee, [u, m] = f(!1), [I, N] = f(null), [D, M] = f(""), [d, y] = f(0), [g, H] = f(null), [j, te] = f({ top: 0, left: 0 }), l = $(null), b = $(null), B = $(null), ne = Array.isArray(k) ? k : [k], c = A(() => {
26
- if (!x) return R;
27
- const e = typeof x == "function" ? x : (t, n) => (n.label || n.value).toLowerCase().includes(t.toLowerCase());
28
- return R.filter((t) => e(D, t));
29
- }, [R, D, x])(), L = A(() => {
30
- const e = l.current;
31
- if (!e || !o) return;
32
- e.style.height = "auto";
33
- const t = e.scrollHeight;
34
- if (typeof o == "object") {
35
- const n = parseInt(getComputedStyle(e).lineHeight) || 20, r = o.minRows ? o.minRows * n : 0, s = o.maxRows ? o.maxRows * n : 1 / 0;
36
- e.style.height = `${Math.min(Math.max(t, r), s)}px`;
37
- } else
38
- e.style.height = `${t}px`;
39
- }, [o]);
40
- C(() => {
41
- L();
42
- }, [h, L]);
43
- const O = A(() => {
44
- const e = l.current, t = B.current;
45
- if (!e || !t || g === null) return;
46
- const n = h.substring(0, g);
47
- t.textContent = n;
48
- const r = e.getBoundingClientRect(), s = t.getBoundingClientRect(), w = parseInt(getComputedStyle(e).lineHeight) || 20;
49
- te({
50
- top: r.top + window.scrollY + w + 4,
51
- left: r.left + window.scrollX + Math.min(s.width % r.width, r.width - 200)
52
- });
53
- }, [h, g]);
54
- C(() => {
55
- u && O();
56
- }, [u, O, D]);
57
- const re = (e) => {
58
- const t = e.target.value, n = e.target.selectionStart;
59
- p === void 0 && T(t), E?.(t), se(t, n);
60
- }, se = (e, t) => {
61
- let n = null, r = null;
62
- for (const s of ne) {
63
- const i = e.substring(0, t).lastIndexOf(s);
64
- if (i !== -1) {
65
- const S = i > 0 ? e[i - 1] : v;
66
- if (S === v || S === `
67
- ` || i === 0) {
68
- const F = e.substring(i + s.length, t);
69
- if (!F.includes(v) && !F.includes(`
70
- `)) {
71
- n = s, r = i;
72
- break;
73
- }
74
- }
75
- }
76
- }
77
- if (n !== null && r !== null) {
78
- const s = e.substring(r + n.length, t);
79
- N(n), M(s), H(r), m(!0), y(0), W?.(s, n);
80
- } else
81
- m(!1), N(null), M(""), H(null);
82
- }, P = (e) => {
83
- if (e.disabled || g === null || I === null) return;
84
- const t = l.current;
85
- if (!t) return;
86
- const n = h.substring(0, g), r = h.substring(t.selectionStart), s = `${I}${e.value}${v}`, w = n + s + r;
87
- p === void 0 && T(w), E?.(w), U?.(e, I), m(!1), N(null), M(""), H(null), setTimeout(() => {
88
- const i = n.length + s.length;
89
- t.focus(), t.setSelectionRange(i, i);
90
- }, 0);
91
- }, ae = (e) => {
92
- if (u)
93
- switch (e.key) {
94
- case "ArrowDown":
95
- e.preventDefault(), y((t) => (t + 1) % Math.max(c.length, 1));
96
- break;
97
- case "ArrowUp":
98
- e.preventDefault(), y((t) => (t - 1 + c.length) % Math.max(c.length, 1));
99
- break;
100
- case "Enter":
101
- c[d] && (e.preventDefault(), P(c[d]));
102
- break;
103
- case "Escape":
104
- e.preventDefault(), m(!1);
105
- break;
106
- case "Tab":
107
- c[d] && (e.preventDefault(), P(c[d]));
108
- break;
109
- }
110
- };
111
- C(() => {
112
- const e = (t) => {
113
- b.current && !b.current.contains(t.target) && l.current && !l.current.contains(t.target) && m(!1);
114
- };
115
- return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
116
- }, []), C(() => {
117
- u && b.current && b.current.querySelector('[data-active="true"]')?.scrollIntoView({ block: "nearest" });
118
- }, [d, u]);
119
- const le = u && /* @__PURE__ */ a(
120
- "div",
121
- {
122
- ref: b,
123
- className: `fixed z-50 bg-base-100 border border-base-300 rounded-lg shadow-lg
124
- min-w-48 max-h-60 overflow-auto ${_}`,
125
- style: {
126
- top: j.top,
127
- left: j.left
128
- },
129
- children: X ? /* @__PURE__ */ a("div", { className: "p-3 text-center text-base-content/60", children: /* @__PURE__ */ a("span", { className: "loading loading-spinner loading-sm" }) }) : c.length === 0 ? /* @__PURE__ */ a("div", { className: "p-3 text-center text-base-content/60 text-sm", children: Q }) : /* @__PURE__ */ a("ul", { className: "menu menu-sm p-1", children: c.map((e, t) => /* @__PURE__ */ a("li", { children: /* @__PURE__ */ K(
130
- "button",
131
- {
132
- type: "button",
133
- "data-active": t === d,
134
- className: `flex items-center gap-2 ${t === d ? "active" : ""} ${e.disabled ? "disabled opacity-50 cursor-not-allowed" : ""}`,
135
- onClick: () => P(e),
136
- onMouseEnter: () => y(t),
137
- children: [
138
- e.avatar && /* @__PURE__ */ a("div", { className: "avatar", children: /* @__PURE__ */ a("div", { className: "w-6 h-6 rounded-full", children: /* @__PURE__ */ a("img", { src: e.avatar, alt: "" }) }) }),
139
- /* @__PURE__ */ a("span", { children: e.label || e.value })
140
- ]
141
- }
142
- ) }, e.value)) })
143
- }
144
- );
145
- return /* @__PURE__ */ K("div", { className: `relative ${Z}`, "data-state": u ? "open" : "closed", ...z, children: [
146
- /* @__PURE__ */ a(
147
- "div",
148
- {
149
- ref: B,
150
- className: "invisible absolute whitespace-pre-wrap break-words",
151
- style: {
152
- font: l.current ? getComputedStyle(l.current).font : void 0,
153
- width: l.current?.clientWidth,
154
- padding: l.current ? getComputedStyle(l.current).padding : void 0
155
- },
156
- "aria-hidden": "true"
157
- }
158
- ),
159
- /* @__PURE__ */ a(
160
- "textarea",
161
- {
162
- ref: l,
163
- value: h,
164
- onChange: re,
165
- onKeyDown: ae,
166
- placeholder: Y,
167
- disabled: G,
168
- readOnly: J,
169
- rows: typeof o == "object" ? o.minRows || V : o ? 1 : V,
170
- className: "textarea textarea-bordered w-full resize-none"
171
- }
172
- ),
173
- oe(le, document.body)
174
- ] });
175
- };
1
+ import { jsx as c } from "react/jsx-runtime";
2
+ import { forwardRef as i } from "react";
3
+ const f = i(
4
+ ({ shape: a, half: s, children: o, className: r = "", ...e }, m) => {
5
+ const t = `mask-${a}`, l = s ? `mask-${s}` : "", n = ["mask", t, l, r].filter(Boolean).join(" ");
6
+ return /* @__PURE__ */ c("div", { ref: m, className: n, ...e, children: o });
7
+ }
8
+ );
9
+ f.displayName = "Mask";
176
10
  export {
177
- fe as Mention
11
+ f as Mask
178
12
  };
179
13
  //# sourceMappingURL=index47.js.map