@xanui/ui 1.1.16 → 1.1.17

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 (266) hide show
  1. package/Accordion/index.js +3 -18
  2. package/Accordion/index.js.map +1 -1
  3. package/Accordion/index.mjs +2 -15
  4. package/Accordion/index.mjs.map +1 -1
  5. package/Alert/index.js +5 -24
  6. package/Alert/index.js.map +1 -1
  7. package/Alert/index.mjs +2 -19
  8. package/Alert/index.mjs.map +1 -1
  9. package/Avatar/index.js +2 -13
  10. package/Avatar/index.js.map +1 -1
  11. package/Avatar/index.mjs +2 -11
  12. package/Avatar/index.mjs.map +1 -1
  13. package/Badge/index.js +2 -12
  14. package/Badge/index.js.map +1 -1
  15. package/Badge/index.mjs +2 -10
  16. package/Badge/index.mjs.map +1 -1
  17. package/Box/index.js +2 -12
  18. package/Box/index.js.map +1 -1
  19. package/Box/index.mjs +2 -10
  20. package/Box/index.mjs.map +1 -1
  21. package/Button/index.js +4 -17
  22. package/Button/index.js.map +1 -1
  23. package/Button/index.mjs +2 -13
  24. package/Button/index.mjs.map +1 -1
  25. package/ButtonGroup/index.js +2 -12
  26. package/ButtonGroup/index.js.map +1 -1
  27. package/ButtonGroup/index.mjs +2 -10
  28. package/ButtonGroup/index.mjs.map +1 -1
  29. package/Calendar/index.js +16 -35
  30. package/Calendar/index.js.map +1 -1
  31. package/Calendar/index.mjs +2 -19
  32. package/Calendar/index.mjs.map +1 -1
  33. package/CalendarInput/index.js +4 -23
  34. package/CalendarInput/index.js.map +1 -1
  35. package/CalendarInput/index.mjs +2 -19
  36. package/CalendarInput/index.mjs.map +1 -1
  37. package/Checkbox/index.js +2 -16
  38. package/Checkbox/index.js.map +1 -1
  39. package/Checkbox/index.mjs +2 -14
  40. package/Checkbox/index.mjs.map +1 -1
  41. package/Chip/index.js +3 -14
  42. package/Chip/index.js.map +1 -1
  43. package/Chip/index.mjs +2 -11
  44. package/Chip/index.mjs.map +1 -1
  45. package/CircleProgress/index.js +2 -13
  46. package/CircleProgress/index.js.map +1 -1
  47. package/CircleProgress/index.mjs +2 -11
  48. package/CircleProgress/index.mjs.map +1 -1
  49. package/ClickOutside/index.js +2 -13
  50. package/ClickOutside/index.js.map +1 -1
  51. package/ClickOutside/index.mjs +2 -11
  52. package/ClickOutside/index.mjs.map +1 -1
  53. package/Collaps/index.js +2 -12
  54. package/Collaps/index.js.map +1 -1
  55. package/Collaps/index.mjs +2 -10
  56. package/Collaps/index.mjs.map +1 -1
  57. package/Container/index.js +2 -12
  58. package/Container/index.js.map +1 -1
  59. package/Container/index.mjs +2 -10
  60. package/Container/index.mjs.map +1 -1
  61. package/Datatable/FilterBox.js +10 -28
  62. package/Datatable/FilterBox.js.map +1 -1
  63. package/Datatable/FilterBox.mjs +7 -23
  64. package/Datatable/FilterBox.mjs.map +1 -1
  65. package/Datatable/Row.js +11 -30
  66. package/Datatable/Row.js.map +1 -1
  67. package/Datatable/Row.mjs +7 -24
  68. package/Datatable/Row.mjs.map +1 -1
  69. package/Datatable/SelectedBox.js +5 -17
  70. package/Datatable/SelectedBox.js.map +1 -1
  71. package/Datatable/SelectedBox.mjs +4 -14
  72. package/Datatable/SelectedBox.mjs.map +1 -1
  73. package/Datatable/Table.js +4 -16
  74. package/Datatable/Table.js.map +1 -1
  75. package/Datatable/Table.mjs +2 -12
  76. package/Datatable/Table.mjs.map +1 -1
  77. package/Datatable/TableHead.js +18 -25
  78. package/Datatable/TableHead.js.map +1 -1
  79. package/Datatable/TableHead.mjs +18 -23
  80. package/Datatable/TableHead.mjs.map +1 -1
  81. package/Datatable/index.d.ts +2 -67
  82. package/Datatable/index.js +21 -36
  83. package/Datatable/index.js.map +1 -1
  84. package/Datatable/index.mjs +20 -33
  85. package/Datatable/index.mjs.map +1 -1
  86. package/Datatable/types.d.ts +69 -0
  87. package/Divider/index.js +2 -12
  88. package/Divider/index.js.map +1 -1
  89. package/Divider/index.mjs +2 -10
  90. package/Divider/index.mjs.map +1 -1
  91. package/Drawer/index.js +4 -16
  92. package/Drawer/index.js.map +1 -1
  93. package/Drawer/index.mjs +2 -12
  94. package/Drawer/index.mjs.map +1 -1
  95. package/Form/index.js +2 -13
  96. package/Form/index.js.map +1 -1
  97. package/Form/index.mjs +2 -11
  98. package/Form/index.mjs.map +1 -1
  99. package/GridContainer/index.js +2 -12
  100. package/GridContainer/index.js.map +1 -1
  101. package/GridContainer/index.mjs +2 -10
  102. package/GridContainer/index.mjs.map +1 -1
  103. package/GridItem/index.js +2 -12
  104. package/GridItem/index.js.map +1 -1
  105. package/GridItem/index.mjs +2 -10
  106. package/GridItem/index.mjs.map +1 -1
  107. package/IconButton/index.js +3 -15
  108. package/IconButton/index.js.map +1 -1
  109. package/IconButton/index.mjs +2 -12
  110. package/IconButton/index.mjs.map +1 -1
  111. package/Image/index.js +2 -13
  112. package/Image/index.js.map +1 -1
  113. package/Image/index.mjs +2 -11
  114. package/Image/index.mjs.map +1 -1
  115. package/Input/index.js +3 -15
  116. package/Input/index.js.map +1 -1
  117. package/Input/index.mjs +2 -12
  118. package/Input/index.mjs.map +1 -1
  119. package/Label/index.js +2 -12
  120. package/Label/index.js.map +1 -1
  121. package/Label/index.mjs +2 -10
  122. package/Label/index.mjs.map +1 -1
  123. package/Layer/index.js +4 -17
  124. package/Layer/index.js.map +1 -1
  125. package/Layer/index.mjs +2 -13
  126. package/Layer/index.mjs.map +1 -1
  127. package/LineProgress/index.js +2 -13
  128. package/LineProgress/index.js.map +1 -1
  129. package/LineProgress/index.mjs +2 -11
  130. package/LineProgress/index.mjs.map +1 -1
  131. package/List/index.js +2 -12
  132. package/List/index.js.map +1 -1
  133. package/List/index.mjs +2 -10
  134. package/List/index.mjs.map +1 -1
  135. package/ListItem/index.js +3 -14
  136. package/ListItem/index.js.map +1 -1
  137. package/ListItem/index.mjs +2 -11
  138. package/ListItem/index.mjs.map +1 -1
  139. package/LoadingBox/index.js +3 -14
  140. package/LoadingBox/index.js.map +1 -1
  141. package/LoadingBox/index.mjs +2 -11
  142. package/LoadingBox/index.mjs.map +1 -1
  143. package/Menu/index.js +3 -16
  144. package/Menu/index.js.map +1 -1
  145. package/Menu/index.mjs +2 -13
  146. package/Menu/index.mjs.map +1 -1
  147. package/Modal/index.d.ts +1 -1
  148. package/Modal/index.js +3 -15
  149. package/Modal/index.js.map +1 -1
  150. package/Modal/index.mjs +2 -12
  151. package/Modal/index.mjs.map +1 -1
  152. package/NoSSR/index.js +2 -10
  153. package/NoSSR/index.js.map +1 -1
  154. package/NoSSR/index.mjs +2 -8
  155. package/NoSSR/index.mjs.map +1 -1
  156. package/Option/index.js +3 -13
  157. package/Option/index.js.map +1 -1
  158. package/Option/index.mjs +2 -10
  159. package/Option/index.mjs.map +1 -1
  160. package/Paper/index.js +2 -12
  161. package/Paper/index.js.map +1 -1
  162. package/Paper/index.mjs +2 -10
  163. package/Paper/index.mjs.map +1 -1
  164. package/Portal/index.js +2 -13
  165. package/Portal/index.js.map +1 -1
  166. package/Portal/index.mjs +2 -11
  167. package/Portal/index.mjs.map +1 -1
  168. package/Radio/index.js +3 -15
  169. package/Radio/index.js.map +1 -1
  170. package/Radio/index.mjs +2 -12
  171. package/Radio/index.mjs.map +1 -1
  172. package/Scrollbar/index.js +2 -13
  173. package/Scrollbar/index.js.map +1 -1
  174. package/Scrollbar/index.mjs +2 -11
  175. package/Scrollbar/index.mjs.map +1 -1
  176. package/Select/index.js +5 -22
  177. package/Select/index.js.map +1 -1
  178. package/Select/index.mjs +2 -17
  179. package/Select/index.mjs.map +1 -1
  180. package/Stack/index.js +2 -12
  181. package/Stack/index.js.map +1 -1
  182. package/Stack/index.mjs +2 -10
  183. package/Stack/index.mjs.map +1 -1
  184. package/Switch/index.js +2 -13
  185. package/Switch/index.js.map +1 -1
  186. package/Switch/index.mjs +2 -11
  187. package/Switch/index.mjs.map +1 -1
  188. package/Tab/index.js +3 -15
  189. package/Tab/index.js.map +1 -1
  190. package/Tab/index.mjs +2 -12
  191. package/Tab/index.mjs.map +1 -1
  192. package/Table/index.js +3 -14
  193. package/Table/index.js.map +1 -1
  194. package/Table/index.mjs +2 -11
  195. package/Table/index.mjs.map +1 -1
  196. package/TableBody/index.js +2 -12
  197. package/TableBody/index.js.map +1 -1
  198. package/TableBody/index.mjs +2 -10
  199. package/TableBody/index.mjs.map +1 -1
  200. package/TableCell/index.js +2 -12
  201. package/TableCell/index.js.map +1 -1
  202. package/TableCell/index.mjs +2 -10
  203. package/TableCell/index.mjs.map +1 -1
  204. package/TableFooter/index.js +2 -12
  205. package/TableFooter/index.js.map +1 -1
  206. package/TableFooter/index.mjs +2 -10
  207. package/TableFooter/index.mjs.map +1 -1
  208. package/TableHead/index.js +2 -12
  209. package/TableHead/index.js.map +1 -1
  210. package/TableHead/index.mjs +2 -10
  211. package/TableHead/index.mjs.map +1 -1
  212. package/TablePagination/index.d.ts +1 -0
  213. package/TablePagination/index.js +14 -35
  214. package/TablePagination/index.js.map +1 -1
  215. package/TablePagination/index.mjs +12 -31
  216. package/TablePagination/index.mjs.map +1 -1
  217. package/TableRow/index.js +2 -12
  218. package/TableRow/index.js.map +1 -1
  219. package/TableRow/index.mjs +2 -10
  220. package/TableRow/index.mjs.map +1 -1
  221. package/Tabs/index.js +3 -14
  222. package/Tabs/index.js.map +1 -1
  223. package/Tabs/index.mjs +3 -12
  224. package/Tabs/index.mjs.map +1 -1
  225. package/Text/index.js +2 -12
  226. package/Text/index.js.map +1 -1
  227. package/Text/index.mjs +2 -10
  228. package/Text/index.mjs.map +1 -1
  229. package/Toast/index.js +4 -18
  230. package/Toast/index.js.map +1 -1
  231. package/Toast/index.mjs +2 -14
  232. package/Toast/index.mjs.map +1 -1
  233. package/Tooltip/index.js +3 -14
  234. package/Tooltip/index.js.map +1 -1
  235. package/Tooltip/index.mjs +2 -11
  236. package/Tooltip/index.mjs.map +1 -1
  237. package/ViewBox/index.js +3 -14
  238. package/ViewBox/index.js.map +1 -1
  239. package/ViewBox/index.mjs +2 -11
  240. package/ViewBox/index.mjs.map +1 -1
  241. package/index.js +1 -116
  242. package/index.js.map +1 -1
  243. package/index.mjs +1 -56
  244. package/index.mjs.map +1 -1
  245. package/package.json +11 -2
  246. package/readme.md +104 -104
  247. package/useAlert/index.js +5 -19
  248. package/useAlert/index.js.map +1 -1
  249. package/useAlert/index.mjs +2 -14
  250. package/useAlert/index.mjs.map +1 -1
  251. package/useBlurCss/index.js +2 -10
  252. package/useBlurCss/index.js.map +1 -1
  253. package/useBlurCss/index.mjs +2 -8
  254. package/useBlurCss/index.mjs.map +1 -1
  255. package/useCorner/index.js +2 -7
  256. package/useCorner/index.js.map +1 -1
  257. package/useCorner/index.mjs +1 -4
  258. package/useCorner/index.mjs.map +1 -1
  259. package/useLayer/index.js +3 -14
  260. package/useLayer/index.js.map +1 -1
  261. package/useLayer/index.mjs +2 -11
  262. package/useLayer/index.mjs.map +1 -1
  263. package/useModal/index.js +3 -14
  264. package/useModal/index.js.map +1 -1
  265. package/useModal/index.mjs +2 -11
  266. package/useModal/index.mjs.map +1 -1
package/index.js CHANGED
@@ -1,116 +1 @@
1
- 'use strict';
2
-
3
- var index = require('./Accordion/index.js');
4
- var index$1 = require('./Alert/index.js');
5
- var index$2 = require('./Avatar/index.js');
6
- var index$3 = require('./Badge/index.js');
7
- var index$4 = require('./Box/index.js');
8
- var index$5 = require('./Button/index.js');
9
- var index$6 = require('./ButtonGroup/index.js');
10
- var index$7 = require('./Calendar/index.js');
11
- var index$8 = require('./CalendarInput/index.js');
12
- var index$9 = require('./Checkbox/index.js');
13
- var index$a = require('./Chip/index.js');
14
- var index$b = require('./CircleProgress/index.js');
15
- var index$c = require('./ClickOutside/index.js');
16
- var index$d = require('./Collaps/index.js');
17
- var index$e = require('./Container/index.js');
18
- var index$f = require('./Datatable/index.js');
19
- var index$g = require('./Divider/index.js');
20
- var index$h = require('./Drawer/index.js');
21
- var index$i = require('./Form/index.js');
22
- var index$j = require('./GridContainer/index.js');
23
- var index$k = require('./GridItem/index.js');
24
- var index$l = require('./IconButton/index.js');
25
- var index$m = require('./Image/index.js');
26
- var index$n = require('./Input/index.js');
27
- var index$o = require('./Label/index.js');
28
- var index$p = require('./Layer/index.js');
29
- var index$q = require('./LineProgress/index.js');
30
- var index$r = require('./List/index.js');
31
- var index$s = require('./ListItem/index.js');
32
- var index$t = require('./LoadingBox/index.js');
33
- var index$u = require('./Menu/index.js');
34
- var index$v = require('./Modal/index.js');
35
- var index$w = require('./NoSSR/index.js');
36
- var index$x = require('./Option/index.js');
37
- var index$y = require('./Paper/index.js');
38
- var index$z = require('./Portal/index.js');
39
- var index$A = require('./Radio/index.js');
40
- var index$B = require('./Scrollbar/index.js');
41
- var index$C = require('./Select/index.js');
42
- var index$D = require('./Stack/index.js');
43
- var index$E = require('./Switch/index.js');
44
- var index$F = require('./Tab/index.js');
45
- var index$G = require('./Table/index.js');
46
- var index$H = require('./TableBody/index.js');
47
- var index$I = require('./TableCell/index.js');
48
- var index$J = require('./TableFooter/index.js');
49
- var index$K = require('./TableHead/index.js');
50
- var index$L = require('./TablePagination/index.js');
51
- var index$M = require('./TableRow/index.js');
52
- var index$N = require('./Tabs/index.js');
53
- var index$O = require('./Text/index.js');
54
- var index$P = require('./Toast/index.js');
55
- var index$Q = require('./Tooltip/index.js');
56
- var index$R = require('./useCorner/index.js');
57
- var index$S = require('./ViewBox/index.js');
58
-
59
-
60
-
61
- exports.Accordion = index;
62
- exports.Alert = index$1;
63
- exports.Avatar = index$2;
64
- exports.Badge = index$3;
65
- exports.Box = index$4;
66
- exports.Button = index$5;
67
- exports.ButtonGroup = index$6;
68
- exports.Calendar = index$7;
69
- exports.CalendarInput = index$8;
70
- exports.Checkbox = index$9;
71
- exports.Chip = index$a;
72
- exports.CircleProgress = index$b;
73
- exports.ClickOutside = index$c;
74
- exports.Collaps = index$d;
75
- exports.Container = index$e;
76
- exports.Datatable = index$f;
77
- exports.Divider = index$g;
78
- exports.Drawer = index$h;
79
- exports.Form = index$i;
80
- exports.GridContainer = index$j;
81
- exports.GridItem = index$k;
82
- exports.IconButton = index$l;
83
- exports.Image = index$m;
84
- exports.Input = index$n;
85
- exports.Label = index$o;
86
- exports.Layer = index$p;
87
- exports.LineProgress = index$q;
88
- exports.List = index$r;
89
- exports.ListItem = index$s;
90
- exports.LoadingBox = index$t;
91
- exports.Menu = index$u;
92
- exports.Modal = index$v;
93
- exports.NoSSR = index$w;
94
- exports.Option = index$x;
95
- exports.Paper = index$y;
96
- exports.Portal = index$z;
97
- exports.Radio = index$A;
98
- exports.Scrollbar = index$B;
99
- exports.Select = index$C;
100
- exports.Stack = index$D;
101
- exports.Switch = index$E;
102
- exports.Tab = index$F;
103
- exports.Table = index$G;
104
- exports.TableBody = index$H;
105
- exports.TableCell = index$I;
106
- exports.TableFooter = index$J;
107
- exports.TableHead = index$K;
108
- exports.TablePagination = index$L;
109
- exports.TableRow = index$M;
110
- exports.Tabs = index$N;
111
- exports.Text = index$O;
112
- exports.Toast = index$P;
113
- exports.Tooltip = index$Q;
114
- exports.useCorner = index$R;
115
- exports.ViewBox = index$S;
116
- //# sourceMappingURL=index.js.map
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var index=require('./Accordion/index.js'),index$1=require('./Alert/index.js'),index$2=require('./Avatar/index.js'),index$3=require('./Badge/index.js'),index$4=require('./Box/index.js'),index$5=require('./Button/index.js'),index$6=require('./ButtonGroup/index.js'),index$7=require('./Calendar/index.js'),index$8=require('./CalendarInput/index.js'),index$9=require('./Checkbox/index.js'),index$a=require('./Chip/index.js'),index$b=require('./CircleProgress/index.js'),index$c=require('./ClickOutside/index.js'),index$d=require('./Collaps/index.js'),index$e=require('./Container/index.js'),index$f=require('./Datatable/index.js'),index$g=require('./Divider/index.js'),index$h=require('./Drawer/index.js'),index$i=require('./Form/index.js'),index$j=require('./GridContainer/index.js'),index$k=require('./GridItem/index.js'),index$l=require('./IconButton/index.js'),index$m=require('./Image/index.js'),index$n=require('./Input/index.js'),index$o=require('./Label/index.js'),index$p=require('./Layer/index.js'),index$q=require('./LineProgress/index.js'),index$r=require('./List/index.js'),index$s=require('./ListItem/index.js'),index$t=require('./LoadingBox/index.js'),index$u=require('./Menu/index.js'),index$v=require('./Modal/index.js'),index$w=require('./NoSSR/index.js'),index$x=require('./Option/index.js'),index$y=require('./Paper/index.js'),index$z=require('./Portal/index.js'),index$A=require('./Radio/index.js'),index$B=require('./Scrollbar/index.js'),index$C=require('./Select/index.js'),index$D=require('./Stack/index.js'),index$E=require('./Switch/index.js'),index$F=require('./Tab/index.js'),index$G=require('./Table/index.js'),index$H=require('./TableBody/index.js'),index$I=require('./TableCell/index.js'),index$J=require('./TableFooter/index.js'),index$K=require('./TableHead/index.js'),index$L=require('./TablePagination/index.js'),index$M=require('./TableRow/index.js'),index$N=require('./Tabs/index.js'),index$O=require('./Text/index.js'),index$P=require('./Toast/index.js'),index$Q=require('./Tooltip/index.js'),index$R=require('./useCorner/index.js'),index$S=require('./ViewBox/index.js');exports.Accordion=index.default;exports.Alert=index$1.default;exports.Avatar=index$2.default;exports.Badge=index$3.default;exports.Box=index$4.default;exports.Button=index$5.default;exports.ButtonGroup=index$6.default;exports.Calendar=index$7.default;exports.CalendarInput=index$8.default;exports.Checkbox=index$9.default;exports.Chip=index$a.default;exports.CircleProgress=index$b.default;exports.ClickOutside=index$c.default;exports.Collaps=index$d.default;exports.Container=index$e.default;exports.Datatable=index$f.default;exports.Divider=index$g.default;exports.Drawer=index$h.default;exports.Form=index$i.default;exports.GridContainer=index$j.default;exports.GridItem=index$k.default;exports.IconButton=index$l.default;exports.Image=index$m.default;exports.Input=index$n.default;exports.Label=index$o.default;exports.Layer=index$p.default;exports.LineProgress=index$q.default;exports.List=index$r.default;exports.ListItem=index$s.default;exports.LoadingBox=index$t.default;exports.Menu=index$u.default;exports.Modal=index$v.default;exports.NoSSR=index$w.default;exports.Option=index$x.default;exports.Paper=index$y.default;exports.Portal=index$z.default;exports.Radio=index$A.default;exports.Scrollbar=index$B.default;exports.Select=index$C.default;exports.Stack=index$D.default;exports.Switch=index$E.default;exports.Tab=index$F.default;exports.Table=index$G.default;exports.TableBody=index$H.default;exports.TableCell=index$I.default;exports.TableFooter=index$J.default;exports.TableHead=index$K.default;exports.TablePagination=index$L.default;exports.TableRow=index$M.default;exports.Tabs=index$N.default;exports.Text=index$O.default;exports.Toast=index$P.default;exports.Tooltip=index$Q.default;exports.useCorner=index$R.default;exports.ViewBox=index$S.default;//# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/index.mjs CHANGED
@@ -1,56 +1 @@
1
- export { default as Accordion } from './Accordion/index.mjs';
2
- export { default as Alert } from './Alert/index.mjs';
3
- export { default as Avatar } from './Avatar/index.mjs';
4
- export { default as Badge } from './Badge/index.mjs';
5
- export { default as Box } from './Box/index.mjs';
6
- export { default as Button } from './Button/index.mjs';
7
- export { default as ButtonGroup } from './ButtonGroup/index.mjs';
8
- export { default as Calendar } from './Calendar/index.mjs';
9
- export { default as CalendarInput } from './CalendarInput/index.mjs';
10
- export { default as Checkbox } from './Checkbox/index.mjs';
11
- export { default as Chip } from './Chip/index.mjs';
12
- export { default as CircleProgress } from './CircleProgress/index.mjs';
13
- export { default as ClickOutside } from './ClickOutside/index.mjs';
14
- export { default as Collaps } from './Collaps/index.mjs';
15
- export { default as Container } from './Container/index.mjs';
16
- export { default as Datatable } from './Datatable/index.mjs';
17
- export { default as Divider } from './Divider/index.mjs';
18
- export { default as Drawer } from './Drawer/index.mjs';
19
- export { default as Form } from './Form/index.mjs';
20
- export { default as GridContainer } from './GridContainer/index.mjs';
21
- export { default as GridItem } from './GridItem/index.mjs';
22
- export { default as IconButton } from './IconButton/index.mjs';
23
- export { default as Image } from './Image/index.mjs';
24
- export { default as Input } from './Input/index.mjs';
25
- export { default as Label } from './Label/index.mjs';
26
- export { default as Layer } from './Layer/index.mjs';
27
- export { default as LineProgress } from './LineProgress/index.mjs';
28
- export { default as List } from './List/index.mjs';
29
- export { default as ListItem } from './ListItem/index.mjs';
30
- export { default as LoadingBox } from './LoadingBox/index.mjs';
31
- export { default as Menu } from './Menu/index.mjs';
32
- export { default as Modal } from './Modal/index.mjs';
33
- export { default as NoSSR } from './NoSSR/index.mjs';
34
- export { default as Option } from './Option/index.mjs';
35
- export { default as Paper } from './Paper/index.mjs';
36
- export { default as Portal } from './Portal/index.mjs';
37
- export { default as Radio } from './Radio/index.mjs';
38
- export { default as Scrollbar } from './Scrollbar/index.mjs';
39
- export { default as Select } from './Select/index.mjs';
40
- export { default as Stack } from './Stack/index.mjs';
41
- export { default as Switch } from './Switch/index.mjs';
42
- export { default as Tab } from './Tab/index.mjs';
43
- export { default as Table } from './Table/index.mjs';
44
- export { default as TableBody } from './TableBody/index.mjs';
45
- export { default as TableCell } from './TableCell/index.mjs';
46
- export { default as TableFooter } from './TableFooter/index.mjs';
47
- export { default as TableHead } from './TableHead/index.mjs';
48
- export { default as TablePagination } from './TablePagination/index.mjs';
49
- export { default as TableRow } from './TableRow/index.mjs';
50
- export { default as Tabs } from './Tabs/index.mjs';
51
- export { default as Text } from './Text/index.mjs';
52
- export { default as Toast } from './Toast/index.mjs';
53
- export { default as Tooltip } from './Tooltip/index.mjs';
54
- export { default as useCorner } from './useCorner/index.mjs';
55
- export { default as ViewBox } from './ViewBox/index.mjs';
56
- //# sourceMappingURL=index.mjs.map
1
+ export{default as Accordion}from'./Accordion/index.mjs';export{default as Alert}from'./Alert/index.mjs';export{default as Avatar}from'./Avatar/index.mjs';export{default as Badge}from'./Badge/index.mjs';export{default as Box}from'./Box/index.mjs';export{default as Button}from'./Button/index.mjs';export{default as ButtonGroup}from'./ButtonGroup/index.mjs';export{default as Calendar}from'./Calendar/index.mjs';export{default as CalendarInput}from'./CalendarInput/index.mjs';export{default as Checkbox}from'./Checkbox/index.mjs';export{default as Chip}from'./Chip/index.mjs';export{default as CircleProgress}from'./CircleProgress/index.mjs';export{default as ClickOutside}from'./ClickOutside/index.mjs';export{default as Collaps}from'./Collaps/index.mjs';export{default as Container}from'./Container/index.mjs';export{default as Datatable}from'./Datatable/index.mjs';export{default as Divider}from'./Divider/index.mjs';export{default as Drawer}from'./Drawer/index.mjs';export{default as Form}from'./Form/index.mjs';export{default as GridContainer}from'./GridContainer/index.mjs';export{default as GridItem}from'./GridItem/index.mjs';export{default as IconButton}from'./IconButton/index.mjs';export{default as Image}from'./Image/index.mjs';export{default as Input}from'./Input/index.mjs';export{default as Label}from'./Label/index.mjs';export{default as Layer}from'./Layer/index.mjs';export{default as LineProgress}from'./LineProgress/index.mjs';export{default as List}from'./List/index.mjs';export{default as ListItem}from'./ListItem/index.mjs';export{default as LoadingBox}from'./LoadingBox/index.mjs';export{default as Menu}from'./Menu/index.mjs';export{default as Modal}from'./Modal/index.mjs';export{default as NoSSR}from'./NoSSR/index.mjs';export{default as Option}from'./Option/index.mjs';export{default as Paper}from'./Paper/index.mjs';export{default as Portal}from'./Portal/index.mjs';export{default as Radio}from'./Radio/index.mjs';export{default as Scrollbar}from'./Scrollbar/index.mjs';export{default as Select}from'./Select/index.mjs';export{default as Stack}from'./Stack/index.mjs';export{default as Switch}from'./Switch/index.mjs';export{default as Tab}from'./Tab/index.mjs';export{default as Table}from'./Table/index.mjs';export{default as TableBody}from'./TableBody/index.mjs';export{default as TableCell}from'./TableCell/index.mjs';export{default as TableFooter}from'./TableFooter/index.mjs';export{default as TableHead}from'./TableHead/index.mjs';export{default as TablePagination}from'./TablePagination/index.mjs';export{default as TableRow}from'./TableRow/index.mjs';export{default as Tabs}from'./Tabs/index.mjs';export{default as Text}from'./Text/index.mjs';export{default as Toast}from'./Toast/index.mjs';export{default as Tooltip}from'./Tooltip/index.mjs';export{default as useCorner}from'./useCorner/index.mjs';export{default as ViewBox}from'./ViewBox/index.mjs';//# sourceMappingURL=index.mjs.map
package/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xanui/ui",
3
- "version": "1.1.16",
3
+ "version": "1.1.17",
4
4
  "description": "",
5
5
  "private": false,
6
6
  "main": "./index.js",
@@ -12,6 +12,15 @@
12
12
  "pretty-class": "^1.0.8",
13
13
  "react-state-bucket": "^1.2.6"
14
14
  },
15
+ "devDependencies": {
16
+ "@types/react": "^19.1.8",
17
+ "@types/react-dom": "^19.1.6",
18
+ "makepack": "^1.7.24",
19
+ "react": "^19.1.0",
20
+ "react-dom": "^19.1.0",
21
+ "tslib": "^2.8.1",
22
+ "typescript": "^5.9.3"
23
+ },
15
24
  "keywords": [],
16
25
  "sideEffects": false,
17
26
  "exports": {
@@ -26,4 +35,4 @@
26
35
  "types": "./*/index.d.ts"
27
36
  }
28
37
  }
29
- }
38
+ }
package/readme.md CHANGED
@@ -1,104 +1,104 @@
1
- # XanUI UI Library
2
-
3
- XanUI is a React design-system toolkit powered by `@xanui/core`. It combines low-level primitives (e.g., `Box`, `Stack`, `Layer`) with application-ready components (e.g., `Accordion`, `Modal`, `Datatable`, `Toast`) so product teams can build polished surfaces quickly while keeping full control over styling tokens.
4
-
5
- ## Highlights
6
-
7
- - **Unified prop surface** – every component extends the `Tag` API, so spacing, layout, breakpoints, and system tokens behave identically across the library.
8
- - **Production-ready defaults** – the color palette, typography scale, shadows, and radii mirror modern SaaS expectations yet remain overridable.
9
- - **Server compatible** – SSR-safe patterns ensure components render on the server and hydrate cleanly on the client.
10
- - **Documentation first** – each component ships with a dedicated Markdown guide in `docs/`, ready for consumption by the upcoming Next.js documentation site.
11
- - **Hooks & utilities** – helpers such as `useClickOutside` mirror the component APIs so lower-level integrations feel consistent.
12
-
13
- ## Installation
14
-
15
- ```bash
16
- npm install @xanui/ui
17
-
18
- ```
19
-
20
- Required peer packages (`react`, `react-dom`, `@xanui/core`, `@xanui/icons`) should already exist in your project; otherwise, install them alongside XanUI.
21
-
22
- ## Quick Start
23
-
24
- ```tsx
25
- import ThemeProvider from '@xanui/ui/ThemeProvider';
26
- import Box from '@xanui/ui/Box';
27
- import Button from '@xanui/ui/Button';
28
-
29
- export default function App() {
30
- return (
31
- <ThemeProvider theme="light">
32
- <Box p={3} gap={2} display="flex" flexDirection="column">
33
- <h1>Welcome</h1>
34
- <Button color="brand" onClick={() => alert('Hello from XanUI!')}>
35
- Get Started
36
- </Button>
37
- </Box>
38
- </ThemeProvider>
39
- );
40
- }
41
- ```
42
-
43
- ### Theming and Tokens
44
-
45
- `ThemeProvider` injects the active token set from `@xanui/core`. At the component level you can:
46
-
47
- - Provide responsive props (`{ xs: 'column', md: 'row' }`) via `useBreakpointProps`.
48
- - Override styles with `sx`/`sxr` objects or custom CSS classes via `baseClass`.
49
- - Extend color templates by registering new palettes in the core theme manager.
50
-
51
- ## Documentation & Examples
52
-
53
- - **Component guides** – `docs/<Component>.md` follows a consistent structure (overview → basic example → props table → scenario examples). These files serve both as standalone references and as the content source for the forthcoming Next.js docs site (`documentation/`).
54
- - **Playground** – `example/` contains runnable demos that mirror the documentation examples.
55
-
56
- Once the Next.js docs site scaffolding is complete, run it with:
57
-
58
- ```bash
59
- cd documentation
60
- npm install
61
- npm run dev
62
- ```
63
-
64
- ## Component Index
65
-
66
- | Category | Components | Docs |
67
- | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
68
- | Layout & Surfaces | Box, Stack, Container, GridContainer, GridItem, Paper, Layer, ViewBox, Divider | `docs/Box.md`, `docs/Stack.md`, `docs/Container.md`, `docs/GridContainer.md`, `docs/GridItem.md`, `docs/Paper.md`, `docs/Layer.md`, `docs/ViewBox.md`, `docs/Divider.md` |
69
- | Navigation | Tabs, Tab, List, ListItem, Menu, Drawer | `docs/Tabs.md`, `docs/Tab.md`, `docs/List.md`, `docs/ListItem.md`, `docs/Menu.md`, `docs/Drawer.md` |
70
- | Data Display | Table (and TableBody/TableCell/TableFooter/TableHead/TablePagination/TableRow), Datatable, Chip, Avatar, Image, Badge, CircleProgress, LineProgress, LoadingBox | `docs/Table*.md`, `docs/Datatable.md`, `docs/Chip.md`, `docs/Avatar.md`, `docs/Image.md`, `docs/Badge.md`, `docs/CircleProgress.md`, `docs/LineProgress.md`, `docs/LoadingBox.md` |
71
- | Inputs & Forms | Button, ButtonGroup, IconButton, Form, Input, Select, Option, Checkbox, Radio, Switch, Calendar, CalendarInput, Label | `docs/Button.md`, `docs/ButtonGroup.md`, `docs/IconButton.md`, `docs/Form.md`, `docs/Input.md`, `docs/Select.md`, `docs/Option.md`, `docs/Checkbox.md`, `docs/Radio.md`, `docs/Switch.md`, `docs/Calendar.md`, `docs/CalendarInput.md`, `docs/Label.md` |
72
- | Disclosure & Feedback | Accordion, Collaps, Alert, Toast, Tooltip, Modal, Portal, Scrollbar, Toast, NoSSR | `docs/Accordion.md`, `docs/Collaps.md`, `docs/Alert.md`, `docs/Toast.md`, `docs/Tooltip.md`, `docs/Modal.md`, `docs/Portal.md`, `docs/Scrollbar.md`, `docs/NoSSR.md` |
73
- | Typography & Utilities | Text, ThemeProvider, ClickOutside, useCorner, useClickOutside, View helpers | `docs/Text.md`, `docs/ThemeProvider.md`, `docs/ClickOutside.md`, `docs/useCorner.md`, `docs/useClickOutside.md`, `docs/ViewBox.md` |
74
-
75
- > The full list is available in `docs/`. Each entry adheres to the shared documentation template for easy navigation and consistency.
76
-
77
- ## Local Development
78
-
79
- ```bash
80
- npm install
81
- npm run start # runs makepack dev server plus the example playground
82
- npm run build # bundles the library via makepack
83
- ```
84
-
85
- The development workflow encourages updating `docs/` alongside the corresponding component so examples stay truthful. The `example/` playground hot-reloads component changes for rapid iteration.
86
-
87
- ## Contributing
88
-
89
- 1. Fork this repository and clone your fork.
90
- 2. Install dependencies via `npm install`.
91
- 3. Implement your change (component, hook, docs, or tooling) inside `src/` and update/author `docs/<Component>.md` accordingly.
92
- 4. Run `npm run start` to validate the example playground and lint output.
93
- 5. Open a pull request with a clear description, screenshots when UI changes occur, and reference to relevant documentation updates.
94
-
95
- Guidelines:
96
-
97
- - Keep new components aligned with the `TagProps` surface (spacing, layout, color tokens, responsive props).
98
- - Provide at least one example in `example/` when adding new UI patterns.
99
- - Maintain the established documentation structure (overview, basic example, props table, scenario demos).
100
-
101
- ## License
102
-
103
- Distributed under the MIT License. Refer to `LICENSE` for full text.
104
-
1
+ # XanUI UI Library
2
+
3
+ XanUI is a React design-system toolkit powered by `@xanui/core`. It combines low-level primitives (e.g., `Box`, `Stack`, `Layer`) with application-ready components (e.g., `Accordion`, `Modal`, `Datatable`, `Toast`) so product teams can build polished surfaces quickly while keeping full control over styling tokens.
4
+
5
+ ## Highlights
6
+
7
+ - **Unified prop surface** – every component extends the `Tag` API, so spacing, layout, breakpoints, and system tokens behave identically across the library.
8
+ - **Production-ready defaults** – the color palette, typography scale, shadows, and radii mirror modern SaaS expectations yet remain overridable.
9
+ - **Server compatible** – SSR-safe patterns ensure components render on the server and hydrate cleanly on the client.
10
+ - **Documentation first** – each component ships with a dedicated Markdown guide in `docs/`, ready for consumption by the upcoming Next.js documentation site.
11
+ - **Hooks & utilities** – helpers such as `useClickOutside` mirror the component APIs so lower-level integrations feel consistent.
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ npm install @xanui/ui
17
+
18
+ ```
19
+
20
+ Required peer packages (`react`, `react-dom`, `@xanui/core`, `@xanui/icons`) should already exist in your project; otherwise, install them alongside XanUI.
21
+
22
+ ## Quick Start
23
+
24
+ ```tsx
25
+ import ThemeProvider from '@xanui/ui/ThemeProvider';
26
+ import Box from '@xanui/ui/Box';
27
+ import Button from '@xanui/ui/Button';
28
+
29
+ export default function App() {
30
+ return (
31
+ <ThemeProvider theme="light">
32
+ <Box p={3} gap={2} display="flex" flexDirection="column">
33
+ <h1>Welcome</h1>
34
+ <Button color="brand" onClick={() => alert('Hello from XanUI!')}>
35
+ Get Started
36
+ </Button>
37
+ </Box>
38
+ </ThemeProvider>
39
+ );
40
+ }
41
+ ```
42
+
43
+ ### Theming and Tokens
44
+
45
+ `ThemeProvider` injects the active token set from `@xanui/core`. At the component level you can:
46
+
47
+ - Provide responsive props (`{ xs: 'column', md: 'row' }`) via `useBreakpointProps`.
48
+ - Override styles with `sx`/`sxr` objects or custom CSS classes via `baseClass`.
49
+ - Extend color templates by registering new palettes in the core theme manager.
50
+
51
+ ## Documentation & Examples
52
+
53
+ - **Component guides** – `docs/<Component>.md` follows a consistent structure (overview → basic example → props table → scenario examples). These files serve both as standalone references and as the content source for the forthcoming Next.js docs site (`documentation/`).
54
+ - **Playground** – `example/` contains runnable demos that mirror the documentation examples.
55
+
56
+ Once the Next.js docs site scaffolding is complete, run it with:
57
+
58
+ ```bash
59
+ cd documentation
60
+ npm install
61
+ npm run dev
62
+ ```
63
+
64
+ ## Component Index
65
+
66
+ | Category | Components | Docs |
67
+ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
68
+ | Layout & Surfaces | Box, Stack, Container, GridContainer, GridItem, Paper, Layer, ViewBox, Divider | `docs/Box.md`, `docs/Stack.md`, `docs/Container.md`, `docs/GridContainer.md`, `docs/GridItem.md`, `docs/Paper.md`, `docs/Layer.md`, `docs/ViewBox.md`, `docs/Divider.md` |
69
+ | Navigation | Tabs, Tab, List, ListItem, Menu, Drawer | `docs/Tabs.md`, `docs/Tab.md`, `docs/List.md`, `docs/ListItem.md`, `docs/Menu.md`, `docs/Drawer.md` |
70
+ | Data Display | Table (and TableBody/TableCell/TableFooter/TableHead/TablePagination/TableRow), Datatable, Chip, Avatar, Image, Badge, CircleProgress, LineProgress, LoadingBox | `docs/Table*.md`, `docs/Datatable.md`, `docs/Chip.md`, `docs/Avatar.md`, `docs/Image.md`, `docs/Badge.md`, `docs/CircleProgress.md`, `docs/LineProgress.md`, `docs/LoadingBox.md` |
71
+ | Inputs & Forms | Button, ButtonGroup, IconButton, Form, Input, Select, Option, Checkbox, Radio, Switch, Calendar, CalendarInput, Label | `docs/Button.md`, `docs/ButtonGroup.md`, `docs/IconButton.md`, `docs/Form.md`, `docs/Input.md`, `docs/Select.md`, `docs/Option.md`, `docs/Checkbox.md`, `docs/Radio.md`, `docs/Switch.md`, `docs/Calendar.md`, `docs/CalendarInput.md`, `docs/Label.md` |
72
+ | Disclosure & Feedback | Accordion, Collaps, Alert, Toast, Tooltip, Modal, Portal, Scrollbar, Toast, NoSSR | `docs/Accordion.md`, `docs/Collaps.md`, `docs/Alert.md`, `docs/Toast.md`, `docs/Tooltip.md`, `docs/Modal.md`, `docs/Portal.md`, `docs/Scrollbar.md`, `docs/NoSSR.md` |
73
+ | Typography & Utilities | Text, ThemeProvider, ClickOutside, useCorner, useClickOutside, View helpers | `docs/Text.md`, `docs/ThemeProvider.md`, `docs/ClickOutside.md`, `docs/useCorner.md`, `docs/useClickOutside.md`, `docs/ViewBox.md` |
74
+
75
+ > The full list is available in `docs/`. Each entry adheres to the shared documentation template for easy navigation and consistency.
76
+
77
+ ## Local Development
78
+
79
+ ```bash
80
+ npm install
81
+ npm run start # runs makepack dev server plus the example playground
82
+ npm run build # bundles the library via makepack
83
+ ```
84
+
85
+ The development workflow encourages updating `docs/` alongside the corresponding component so examples stay truthful. The `example/` playground hot-reloads component changes for rapid iteration.
86
+
87
+ ## Contributing
88
+
89
+ 1. Fork this repository and clone your fork.
90
+ 2. Install dependencies via `npm install`.
91
+ 3. Implement your change (component, hook, docs, or tooling) inside `src/` and update/author `docs/<Component>.md` accordingly.
92
+ 4. Run `npm run start` to validate the example playground and lint output.
93
+ 5. Open a pull request with a clear description, screenshots when UI changes occur, and reference to relevant documentation updates.
94
+
95
+ Guidelines:
96
+
97
+ - Keep new components aligned with the `TagProps` surface (spacing, layout, color tokens, responsive props).
98
+ - Provide at least one example in `example/` when adding new UI patterns.
99
+ - Maintain the established documentation structure (overview, basic example, props table, scenario demos).
100
+
101
+ ## License
102
+
103
+ Distributed under the MIT License. Refer to `LICENSE` for full text.
104
+
package/useAlert/index.js CHANGED
@@ -1,15 +1,4 @@
1
- "use client";
2
- 'use strict';
3
-
4
- var tslib = require('tslib');
5
- var jsxRuntime = require('react/jsx-runtime');
6
- var core = require('@xanui/core');
7
- var index$2 = require('../Button/index.js');
8
- var index = require('../useModal/index.js');
9
- var index$1 = require('../Alert/index.js');
10
- var React = require('react');
11
-
12
- const useAlert = (props) => {
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib=require('tslib'),jsxRuntime=require('react/jsx-runtime'),core=require('@xanui/core'),index$2=require('../Button/index.js'),index=require('../useModal/index.js'),index$1=require('../Alert/index.js'),React=require('react');const useAlert = (props) => {
13
2
  const [loading, setLoading] = React.useState(false);
14
3
  let { content, size, color, direction, variant, closeButton, clickOutsideToClose, okButtonText, cancelButtonText, hideOkButton, hideCancelButton, buttonPlacement, onConfirm, onCancel, transition, blurMode, slotProps } = props, rest = tslib.__rest(props, ["content", "size", "color", "direction", "variant", "closeButton", "clickOutsideToClose", "okButtonText", "cancelButtonText", "hideOkButton", "hideCancelButton", "buttonPlacement", "onConfirm", "onCancel", "transition", "blurMode", "slotProps"]);
15
4
  hideOkButton !== null && hideOkButton !== void 0 ? hideOkButton : (hideOkButton = false);
@@ -60,7 +49,7 @@ const useAlert = (props) => {
60
49
  closecolor = 'default';
61
50
  }
62
51
  }
63
- const modal = index(jsxRuntime.jsxs(index$1, Object.assign({ direction: direction, sx: {
52
+ const modal = index.default(jsxRuntime.jsxs(index$1.default, Object.assign({ direction: direction, sx: {
64
53
  px: 2,
65
54
  py: 1,
66
55
  pt: direction === 'row' ? 1 : 2
@@ -69,12 +58,12 @@ const useAlert = (props) => {
69
58
  close: () => modal.close(),
70
59
  loading: (is) => setLoading(is),
71
60
  isLoading: () => loading
72
- }) : content, jsxRuntime.jsxs(core.Tag, { sxr: Object.assign({ display: "flex", gap: 1, pt: 4, flexDirection: "row" }, sx), children: [!hideCancelButton && jsxRuntime.jsx(index$2, Object.assign({ disabled: loading, color: closecolor, variant: "fill" }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.closeButton, { onClick: async () => {
61
+ }) : content, jsxRuntime.jsxs(core.Tag, { sxr: Object.assign({ display: "flex", gap: 1, pt: 4, flexDirection: "row" }, sx), children: [!hideCancelButton && jsxRuntime.jsx(index$2.default, Object.assign({ disabled: loading, color: closecolor, variant: "fill" }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.closeButton, { onClick: async () => {
73
62
  setLoading(true);
74
63
  onCancel && await onCancel();
75
64
  setLoading(false);
76
65
  modal.close();
77
- }, children: cancelButtonText || "Close" })), jsxRuntime.jsx(index$2, Object.assign({ loading: loading, color: okcolor, variant: "fill" }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.okButton, { onClick: async () => {
66
+ }, children: cancelButtonText || "Close" })), jsxRuntime.jsx(index$2.default, Object.assign({ loading: loading, color: okcolor, variant: "fill" }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.okButton, { onClick: async () => {
78
67
  setLoading(true);
79
68
  onConfirm && await onConfirm();
80
69
  setLoading(false);
@@ -88,7 +77,4 @@ const useAlert = (props) => {
88
77
  }
89
78
  } }));
90
79
  return Object.assign(Object.assign({}, modal), { loading: (is) => setLoading(is), isLoading: () => loading });
91
- };
92
-
93
- module.exports = useAlert;
94
- //# sourceMappingURL=index.js.map
80
+ };exports.default=useAlert;//# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/useAlert/index.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { Tag, UseTransitionVariantTypes } from \"@xanui/core\"\r\nimport Button, { ButtonProps } from \"../Button\";\r\nimport useModal, { UseModalProps } from \"../useModal\";\r\nimport Alert, { AlertProps } from \"../Alert\";\r\nimport React from \"react\";\r\nexport type UseAlertContentProps = {\r\n open: () => void;\r\n close: () => void;\r\n loading: (is: boolean) => void;\r\n isLoading: () => boolean;\r\n}\r\n\r\nexport type UseAlertContent = React.ReactElement | ((props: UseAlertContentProps) => React.ReactElement)\r\n\r\nexport type UseAlerProps = Omit<AlertProps, 'children' | 'onClose' | 'variant' | \"size\"> & {\r\n content: string | UseAlertContent,\r\n size?: \"small\" | \"medium\" | \"large\" | number;\r\n closeButton?: boolean;\r\n clickOutsideToClose?: boolean;\r\n okButtonText?: string;\r\n cancelButtonText?: string;\r\n hideOkButton?: boolean;\r\n hideCancelButton?: boolean;\r\n buttonPlacement?: \"start\" | \"end\" | \"between\" | \"full\";\r\n variant?: \"text\" | \"fill\"\r\n onConfirm?: () => Promise<void> | void;\r\n onCancel?: () => Promise<void> | void;\r\n transition?: UseTransitionVariantTypes;\r\n blurMode?: UseModalProps['blurMode'];\r\n slotProps?: {\r\n modal?: UseModalProps;\r\n okButton?: Omit<ButtonProps, \"children\">;\r\n closeButton?: Omit<ButtonProps, \"children\">;\r\n }\r\n}\r\n\r\n\r\nconst useAlert = (props: UseAlerProps) => {\r\n const [loading, setLoading] = React.useState(false)\r\n let {\r\n content,\r\n size,\r\n color,\r\n direction,\r\n variant,\r\n closeButton,\r\n clickOutsideToClose,\r\n okButtonText,\r\n cancelButtonText,\r\n hideOkButton,\r\n hideCancelButton,\r\n buttonPlacement,\r\n onConfirm,\r\n onCancel,\r\n transition,\r\n blurMode,\r\n slotProps,\r\n ...rest\r\n } = props\r\n\r\n hideOkButton ??= false\r\n hideCancelButton ??= false\r\n\r\n size ??= \"small\"\r\n color ??= 'default'\r\n variant ??= \"text\"\r\n direction ??= \"column\"\r\n buttonPlacement ??= \"end\"\r\n let sx: any = {};\r\n\r\n switch (buttonPlacement) {\r\n case \"start\":\r\n sx.justifyContent = 'flex-start'\r\n break;\r\n case \"end\":\r\n sx.justifyContent = 'flex-end'\r\n break;\r\n case \"between\":\r\n sx.justifyContent = 'space-between'\r\n break;\r\n case \"full\":\r\n sx = {\r\n \"& button\": {\r\n flex: 1\r\n }\r\n }\r\n break;\r\n }\r\n\r\n let sizes: any = {\r\n small: 320,\r\n medium: 400,\r\n large: 600\r\n }\r\n\r\n let okcolor = color\r\n let closecolor = color\r\n if (color === 'default') {\r\n okcolor = 'brand'\r\n closecolor = 'default'\r\n variant = 'text'\r\n } else {\r\n if (variant === 'fill') {\r\n okcolor = 'default'\r\n closecolor = 'default'\r\n } else {\r\n okcolor = color\r\n closecolor = 'default'\r\n }\r\n }\r\n\r\n const modal = useModal(<Alert\r\n direction={direction}\r\n sx={{\r\n px: 2,\r\n py: 1,\r\n pt: direction === 'row' ? 1 : 2\r\n }}\r\n color={color}\r\n variant={variant}\r\n onClose={closeButton ? close : undefined}\r\n {...rest}\r\n >\r\n {typeof content === \"function\" ? content({\r\n open: () => modal.open(),\r\n close: () => modal.close(),\r\n loading: (is: boolean) => setLoading(is),\r\n isLoading: () => loading\r\n }) : content}\r\n <Tag\r\n sxr={{\r\n display: \"flex\",\r\n gap: 1,\r\n pt: 4,\r\n flexDirection: \"row\",\r\n ...sx,\r\n }}\r\n >\r\n {!hideCancelButton && <Button\r\n disabled={loading}\r\n color={closecolor}\r\n variant=\"fill\"\r\n {...slotProps?.closeButton}\r\n onClick={async () => {\r\n setLoading(true)\r\n onCancel && await onCancel()\r\n setLoading(false)\r\n modal.close()\r\n }}\r\n >{cancelButtonText || \"Close\"}</Button>}\r\n <Button\r\n loading={loading}\r\n color={okcolor}\r\n variant=\"fill\"\r\n {...slotProps?.okButton}\r\n\r\n onClick={async () => {\r\n setLoading(true)\r\n onConfirm && await onConfirm()\r\n setLoading(false)\r\n modal.close()\r\n }}\r\n >{okButtonText || \"OK\"}</Button>\r\n </Tag>\r\n </Alert>, {\r\n ...slotProps?.modal,\r\n size: sizes[size] || size,\r\n blur: 40,\r\n blurMode: blurMode || \"transparent\",\r\n transition: transition || \"zoom\",\r\n onClickOutside: async () => {\r\n if (clickOutsideToClose && !loading) {\r\n setLoading(true)\r\n onCancel && await onCancel()\r\n setLoading(false)\r\n modal.close()\r\n }\r\n }\r\n })\r\n\r\n return {\r\n ...modal,\r\n loading: (is: boolean) => setLoading(is),\r\n isLoading: () => loading\r\n }\r\n}\r\n\r\nexport default useAlert"],"names":[],"mappings":";;;;;;;;;;;AAuCA;AACI;AACA;;;;;;;;;;AAgCI;AACI;;AAEJ;AACI;;AAEJ;AACI;;AAEJ;AACI;AACI;AACI;AACH;;;;AAKb;AACI;AACA;AACA;;;;AAKJ;;;;;;AAKI;;;;;;;;;AASJ;AAGQ;AACA;;AAEH;AAOG;AACA;;AAEA;;;AAkBQ;;;AAGJ;;AAUI;;;;AAaR;;AAEI;;;;AAIR;;AAQR;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/useAlert/index.tsx"],"sourcesContent":["\"use client\";\n\nimport { Tag, UseTransitionVariantTypes } from \"@xanui/core\"\nimport Button, { ButtonProps } from \"../Button\";\nimport useModal, { UseModalProps } from \"../useModal\";\nimport Alert, { AlertProps } from \"../Alert\";\nimport React from \"react\";\nexport type UseAlertContentProps = {\n open: () => void;\n close: () => void;\n loading: (is: boolean) => void;\n isLoading: () => boolean;\n}\n\nexport type UseAlertContent = React.ReactElement | ((props: UseAlertContentProps) => React.ReactElement)\n\nexport type UseAlerProps = Omit<AlertProps, 'children' | 'onClose' | 'variant' | \"size\"> & {\n content: string | UseAlertContent,\n size?: \"small\" | \"medium\" | \"large\" | number;\n closeButton?: boolean;\n clickOutsideToClose?: boolean;\n okButtonText?: string;\n cancelButtonText?: string;\n hideOkButton?: boolean;\n hideCancelButton?: boolean;\n buttonPlacement?: \"start\" | \"end\" | \"between\" | \"full\";\n variant?: \"text\" | \"fill\"\n onConfirm?: () => Promise<void> | void;\n onCancel?: () => Promise<void> | void;\n transition?: UseTransitionVariantTypes;\n blurMode?: UseModalProps['blurMode'];\n slotProps?: {\n modal?: UseModalProps;\n okButton?: Omit<ButtonProps, \"children\">;\n closeButton?: Omit<ButtonProps, \"children\">;\n }\n}\n\n\nconst useAlert = (props: UseAlerProps) => {\n const [loading, setLoading] = React.useState(false)\n let {\n content,\n size,\n color,\n direction,\n variant,\n closeButton,\n clickOutsideToClose,\n okButtonText,\n cancelButtonText,\n hideOkButton,\n hideCancelButton,\n buttonPlacement,\n onConfirm,\n onCancel,\n transition,\n blurMode,\n slotProps,\n ...rest\n } = props\n\n hideOkButton ??= false\n hideCancelButton ??= false\n\n size ??= \"small\"\n color ??= 'default'\n variant ??= \"text\"\n direction ??= \"column\"\n buttonPlacement ??= \"end\"\n let sx: any = {};\n\n switch (buttonPlacement) {\n case \"start\":\n sx.justifyContent = 'flex-start'\n break;\n case \"end\":\n sx.justifyContent = 'flex-end'\n break;\n case \"between\":\n sx.justifyContent = 'space-between'\n break;\n case \"full\":\n sx = {\n \"& button\": {\n flex: 1\n }\n }\n break;\n }\n\n let sizes: any = {\n small: 320,\n medium: 400,\n large: 600\n }\n\n let okcolor = color\n let closecolor = color\n if (color === 'default') {\n okcolor = 'brand'\n closecolor = 'default'\n variant = 'text'\n } else {\n if (variant === 'fill') {\n okcolor = 'default'\n closecolor = 'default'\n } else {\n okcolor = color\n closecolor = 'default'\n }\n }\n\n const modal = useModal(<Alert\n direction={direction}\n sx={{\n px: 2,\n py: 1,\n pt: direction === 'row' ? 1 : 2\n }}\n color={color}\n variant={variant}\n onClose={closeButton ? close : undefined}\n {...rest}\n >\n {typeof content === \"function\" ? content({\n open: () => modal.open(),\n close: () => modal.close(),\n loading: (is: boolean) => setLoading(is),\n isLoading: () => loading\n }) : content}\n <Tag\n sxr={{\n display: \"flex\",\n gap: 1,\n pt: 4,\n flexDirection: \"row\",\n ...sx,\n }}\n >\n {!hideCancelButton && <Button\n disabled={loading}\n color={closecolor}\n variant=\"fill\"\n {...slotProps?.closeButton}\n onClick={async () => {\n setLoading(true)\n onCancel && await onCancel()\n setLoading(false)\n modal.close()\n }}\n >{cancelButtonText || \"Close\"}</Button>}\n <Button\n loading={loading}\n color={okcolor}\n variant=\"fill\"\n {...slotProps?.okButton}\n\n onClick={async () => {\n setLoading(true)\n onConfirm && await onConfirm()\n setLoading(false)\n modal.close()\n }}\n >{okButtonText || \"OK\"}</Button>\n </Tag>\n </Alert>, {\n ...slotProps?.modal,\n size: sizes[size] || size,\n blur: 40,\n blurMode: blurMode || \"transparent\",\n transition: transition || \"zoom\",\n onClickOutside: async () => {\n if (clickOutsideToClose && !loading) {\n setLoading(true)\n onCancel && await onCancel()\n setLoading(false)\n modal.close()\n }\n }\n })\n\n return {\n ...modal,\n loading: (is: boolean) => setLoading(is),\n isLoading: () => loading\n }\n}\n\nexport default useAlert"],"names":["__rest","useModal","_jsxs","Alert","Tag","_jsx","Button"],"mappings":"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"}
@@ -1,13 +1,4 @@
1
- "use client";
2
- import { __rest } from 'tslib';
3
- import { jsxs, jsx } from 'react/jsx-runtime';
4
- import { Tag } from '@xanui/core';
5
- import Button from '../Button/index.mjs';
6
- import useModal from '../useModal/index.mjs';
7
- import Alert from '../Alert/index.mjs';
8
- import React from 'react';
9
-
10
- const useAlert = (props) => {
1
+ import {__rest}from'tslib';import {jsxs,jsx}from'react/jsx-runtime';import {Tag}from'@xanui/core';import Button from'../Button/index.mjs';import useModal from'../useModal/index.mjs';import Alert from'../Alert/index.mjs';import React from'react';const useAlert = (props) => {
11
2
  const [loading, setLoading] = React.useState(false);
12
3
  let { content, size, color, direction, variant, closeButton, clickOutsideToClose, okButtonText, cancelButtonText, hideOkButton, hideCancelButton, buttonPlacement, onConfirm, onCancel, transition, blurMode, slotProps } = props, rest = __rest(props, ["content", "size", "color", "direction", "variant", "closeButton", "clickOutsideToClose", "okButtonText", "cancelButtonText", "hideOkButton", "hideCancelButton", "buttonPlacement", "onConfirm", "onCancel", "transition", "blurMode", "slotProps"]);
13
4
  hideOkButton !== null && hideOkButton !== void 0 ? hideOkButton : (hideOkButton = false);
@@ -86,7 +77,4 @@ const useAlert = (props) => {
86
77
  }
87
78
  } }));
88
79
  return Object.assign(Object.assign({}, modal), { loading: (is) => setLoading(is), isLoading: () => loading });
89
- };
90
-
91
- export { useAlert as default };
92
- //# sourceMappingURL=index.mjs.map
80
+ };export{useAlert as default};//# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/useAlert/index.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { Tag, UseTransitionVariantTypes } from \"@xanui/core\"\r\nimport Button, { ButtonProps } from \"../Button\";\r\nimport useModal, { UseModalProps } from \"../useModal\";\r\nimport Alert, { AlertProps } from \"../Alert\";\r\nimport React from \"react\";\r\nexport type UseAlertContentProps = {\r\n open: () => void;\r\n close: () => void;\r\n loading: (is: boolean) => void;\r\n isLoading: () => boolean;\r\n}\r\n\r\nexport type UseAlertContent = React.ReactElement | ((props: UseAlertContentProps) => React.ReactElement)\r\n\r\nexport type UseAlerProps = Omit<AlertProps, 'children' | 'onClose' | 'variant' | \"size\"> & {\r\n content: string | UseAlertContent,\r\n size?: \"small\" | \"medium\" | \"large\" | number;\r\n closeButton?: boolean;\r\n clickOutsideToClose?: boolean;\r\n okButtonText?: string;\r\n cancelButtonText?: string;\r\n hideOkButton?: boolean;\r\n hideCancelButton?: boolean;\r\n buttonPlacement?: \"start\" | \"end\" | \"between\" | \"full\";\r\n variant?: \"text\" | \"fill\"\r\n onConfirm?: () => Promise<void> | void;\r\n onCancel?: () => Promise<void> | void;\r\n transition?: UseTransitionVariantTypes;\r\n blurMode?: UseModalProps['blurMode'];\r\n slotProps?: {\r\n modal?: UseModalProps;\r\n okButton?: Omit<ButtonProps, \"children\">;\r\n closeButton?: Omit<ButtonProps, \"children\">;\r\n }\r\n}\r\n\r\n\r\nconst useAlert = (props: UseAlerProps) => {\r\n const [loading, setLoading] = React.useState(false)\r\n let {\r\n content,\r\n size,\r\n color,\r\n direction,\r\n variant,\r\n closeButton,\r\n clickOutsideToClose,\r\n okButtonText,\r\n cancelButtonText,\r\n hideOkButton,\r\n hideCancelButton,\r\n buttonPlacement,\r\n onConfirm,\r\n onCancel,\r\n transition,\r\n blurMode,\r\n slotProps,\r\n ...rest\r\n } = props\r\n\r\n hideOkButton ??= false\r\n hideCancelButton ??= false\r\n\r\n size ??= \"small\"\r\n color ??= 'default'\r\n variant ??= \"text\"\r\n direction ??= \"column\"\r\n buttonPlacement ??= \"end\"\r\n let sx: any = {};\r\n\r\n switch (buttonPlacement) {\r\n case \"start\":\r\n sx.justifyContent = 'flex-start'\r\n break;\r\n case \"end\":\r\n sx.justifyContent = 'flex-end'\r\n break;\r\n case \"between\":\r\n sx.justifyContent = 'space-between'\r\n break;\r\n case \"full\":\r\n sx = {\r\n \"& button\": {\r\n flex: 1\r\n }\r\n }\r\n break;\r\n }\r\n\r\n let sizes: any = {\r\n small: 320,\r\n medium: 400,\r\n large: 600\r\n }\r\n\r\n let okcolor = color\r\n let closecolor = color\r\n if (color === 'default') {\r\n okcolor = 'brand'\r\n closecolor = 'default'\r\n variant = 'text'\r\n } else {\r\n if (variant === 'fill') {\r\n okcolor = 'default'\r\n closecolor = 'default'\r\n } else {\r\n okcolor = color\r\n closecolor = 'default'\r\n }\r\n }\r\n\r\n const modal = useModal(<Alert\r\n direction={direction}\r\n sx={{\r\n px: 2,\r\n py: 1,\r\n pt: direction === 'row' ? 1 : 2\r\n }}\r\n color={color}\r\n variant={variant}\r\n onClose={closeButton ? close : undefined}\r\n {...rest}\r\n >\r\n {typeof content === \"function\" ? content({\r\n open: () => modal.open(),\r\n close: () => modal.close(),\r\n loading: (is: boolean) => setLoading(is),\r\n isLoading: () => loading\r\n }) : content}\r\n <Tag\r\n sxr={{\r\n display: \"flex\",\r\n gap: 1,\r\n pt: 4,\r\n flexDirection: \"row\",\r\n ...sx,\r\n }}\r\n >\r\n {!hideCancelButton && <Button\r\n disabled={loading}\r\n color={closecolor}\r\n variant=\"fill\"\r\n {...slotProps?.closeButton}\r\n onClick={async () => {\r\n setLoading(true)\r\n onCancel && await onCancel()\r\n setLoading(false)\r\n modal.close()\r\n }}\r\n >{cancelButtonText || \"Close\"}</Button>}\r\n <Button\r\n loading={loading}\r\n color={okcolor}\r\n variant=\"fill\"\r\n {...slotProps?.okButton}\r\n\r\n onClick={async () => {\r\n setLoading(true)\r\n onConfirm && await onConfirm()\r\n setLoading(false)\r\n modal.close()\r\n }}\r\n >{okButtonText || \"OK\"}</Button>\r\n </Tag>\r\n </Alert>, {\r\n ...slotProps?.modal,\r\n size: sizes[size] || size,\r\n blur: 40,\r\n blurMode: blurMode || \"transparent\",\r\n transition: transition || \"zoom\",\r\n onClickOutside: async () => {\r\n if (clickOutsideToClose && !loading) {\r\n setLoading(true)\r\n onCancel && await onCancel()\r\n setLoading(false)\r\n modal.close()\r\n }\r\n }\r\n })\r\n\r\n return {\r\n ...modal,\r\n loading: (is: boolean) => setLoading(is),\r\n isLoading: () => loading\r\n }\r\n}\r\n\r\nexport default useAlert"],"names":[],"mappings":";;;;;;;;;AAuCA;AACI;AACA;;;;;;;;;;AAgCI;AACI;;AAEJ;AACI;;AAEJ;AACI;;AAEJ;AACI;AACI;AACI;AACH;;;;AAKb;AACI;AACA;AACA;;;;AAKJ;;;;;;AAKI;;;;;;;;;AASJ;AAGQ;AACA;;AAEH;AAOG;AACA;;AAEA;;;AAkBQ;;;AAGJ;;AAUI;;;;AAaR;;AAEI;;;;AAIR;;AAQR;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/useAlert/index.tsx"],"sourcesContent":["\"use client\";\n\nimport { Tag, UseTransitionVariantTypes } from \"@xanui/core\"\nimport Button, { ButtonProps } from \"../Button\";\nimport useModal, { UseModalProps } from \"../useModal\";\nimport Alert, { AlertProps } from \"../Alert\";\nimport React from \"react\";\nexport type UseAlertContentProps = {\n open: () => void;\n close: () => void;\n loading: (is: boolean) => void;\n isLoading: () => boolean;\n}\n\nexport type UseAlertContent = React.ReactElement | ((props: UseAlertContentProps) => React.ReactElement)\n\nexport type UseAlerProps = Omit<AlertProps, 'children' | 'onClose' | 'variant' | \"size\"> & {\n content: string | UseAlertContent,\n size?: \"small\" | \"medium\" | \"large\" | number;\n closeButton?: boolean;\n clickOutsideToClose?: boolean;\n okButtonText?: string;\n cancelButtonText?: string;\n hideOkButton?: boolean;\n hideCancelButton?: boolean;\n buttonPlacement?: \"start\" | \"end\" | \"between\" | \"full\";\n variant?: \"text\" | \"fill\"\n onConfirm?: () => Promise<void> | void;\n onCancel?: () => Promise<void> | void;\n transition?: UseTransitionVariantTypes;\n blurMode?: UseModalProps['blurMode'];\n slotProps?: {\n modal?: UseModalProps;\n okButton?: Omit<ButtonProps, \"children\">;\n closeButton?: Omit<ButtonProps, \"children\">;\n }\n}\n\n\nconst useAlert = (props: UseAlerProps) => {\n const [loading, setLoading] = React.useState(false)\n let {\n content,\n size,\n color,\n direction,\n variant,\n closeButton,\n clickOutsideToClose,\n okButtonText,\n cancelButtonText,\n hideOkButton,\n hideCancelButton,\n buttonPlacement,\n onConfirm,\n onCancel,\n transition,\n blurMode,\n slotProps,\n ...rest\n } = props\n\n hideOkButton ??= false\n hideCancelButton ??= false\n\n size ??= \"small\"\n color ??= 'default'\n variant ??= \"text\"\n direction ??= \"column\"\n buttonPlacement ??= \"end\"\n let sx: any = {};\n\n switch (buttonPlacement) {\n case \"start\":\n sx.justifyContent = 'flex-start'\n break;\n case \"end\":\n sx.justifyContent = 'flex-end'\n break;\n case \"between\":\n sx.justifyContent = 'space-between'\n break;\n case \"full\":\n sx = {\n \"& button\": {\n flex: 1\n }\n }\n break;\n }\n\n let sizes: any = {\n small: 320,\n medium: 400,\n large: 600\n }\n\n let okcolor = color\n let closecolor = color\n if (color === 'default') {\n okcolor = 'brand'\n closecolor = 'default'\n variant = 'text'\n } else {\n if (variant === 'fill') {\n okcolor = 'default'\n closecolor = 'default'\n } else {\n okcolor = color\n closecolor = 'default'\n }\n }\n\n const modal = useModal(<Alert\n direction={direction}\n sx={{\n px: 2,\n py: 1,\n pt: direction === 'row' ? 1 : 2\n }}\n color={color}\n variant={variant}\n onClose={closeButton ? close : undefined}\n {...rest}\n >\n {typeof content === \"function\" ? content({\n open: () => modal.open(),\n close: () => modal.close(),\n loading: (is: boolean) => setLoading(is),\n isLoading: () => loading\n }) : content}\n <Tag\n sxr={{\n display: \"flex\",\n gap: 1,\n pt: 4,\n flexDirection: \"row\",\n ...sx,\n }}\n >\n {!hideCancelButton && <Button\n disabled={loading}\n color={closecolor}\n variant=\"fill\"\n {...slotProps?.closeButton}\n onClick={async () => {\n setLoading(true)\n onCancel && await onCancel()\n setLoading(false)\n modal.close()\n }}\n >{cancelButtonText || \"Close\"}</Button>}\n <Button\n loading={loading}\n color={okcolor}\n variant=\"fill\"\n {...slotProps?.okButton}\n\n onClick={async () => {\n setLoading(true)\n onConfirm && await onConfirm()\n setLoading(false)\n modal.close()\n }}\n >{okButtonText || \"OK\"}</Button>\n </Tag>\n </Alert>, {\n ...slotProps?.modal,\n size: sizes[size] || size,\n blur: 40,\n blurMode: blurMode || \"transparent\",\n transition: transition || \"zoom\",\n onClickOutside: async () => {\n if (clickOutsideToClose && !loading) {\n setLoading(true)\n onCancel && await onCancel()\n setLoading(false)\n modal.close()\n }\n }\n })\n\n return {\n ...modal,\n loading: (is: boolean) => setLoading(is),\n isLoading: () => loading\n }\n}\n\nexport default useAlert"],"names":["_jsxs","_jsx"],"mappings":"qPAuCA,MAAM,QAAQ,GAAG,CAAC,KAAmB,KAAI;AACrC,IAAA,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AACnD,IAAA,IAAI,EACA,OAAO,EACP,IAAI,EACJ,KAAK,EACL,SAAS,EACT,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,SAAS,EAAA,GAET,KAAK,EADF,IAAI,GAAA,MAAA,CACP,KAAK,EAnBL,CAAA,SAAA,EAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,SAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,WAAA,CAmBH,CAAQ;IAET,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAA,MAAA,GAAZ,YAAY,IAAZ,YAAY,GAAK,KAAK,CAAA;IACtB,gBAAgB,KAAA,IAAA,IAAhB,gBAAgB,KAAA,MAAA,GAAhB,gBAAgB,IAAhB,gBAAgB,GAAK,KAAK,CAAA;IAE1B,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,MAAA,GAAJ,IAAI,IAAJ,IAAI,GAAK,OAAO,CAAA;IAChB,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,MAAA,GAAL,KAAK,IAAL,KAAK,GAAK,SAAS,CAAA;IACnB,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,MAAA,GAAP,OAAO,IAAP,OAAO,GAAK,MAAM,CAAA;IAClB,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,MAAA,GAAT,SAAS,IAAT,SAAS,GAAK,QAAQ,CAAA;IACtB,eAAe,KAAA,IAAA,IAAf,eAAe,KAAA,MAAA,GAAf,eAAe,IAAf,eAAe,GAAK,KAAK,CAAA;IACzB,IAAI,EAAE,GAAQ,EAAE;IAEhB,QAAQ,eAAe;AACnB,QAAA,KAAK,OAAO;AACR,YAAA,EAAE,CAAC,cAAc,GAAG,YAAY;YAChC;AACJ,QAAA,KAAK,KAAK;AACN,YAAA,EAAE,CAAC,cAAc,GAAG,UAAU;YAC9B;AACJ,QAAA,KAAK,SAAS;AACV,YAAA,EAAE,CAAC,cAAc,GAAG,eAAe;YACnC;AACJ,QAAA,KAAK,MAAM;AACP,YAAA,EAAE,GAAG;AACD,gBAAA,UAAU,EAAE;AACR,oBAAA,IAAI,EAAE;AACT;aACJ;YACD;;AAGR,IAAA,IAAI,KAAK,GAAQ;AACb,QAAA,KAAK,EAAE,GAAG;AACV,QAAA,MAAM,EAAE,GAAG;AACX,QAAA,KAAK,EAAE;KACV;IAED,IAAI,OAAO,GAAG,KAAK;IACnB,IAAI,UAAU,GAAG,KAAK;AACtB,IAAA,IAAI,KAAK,KAAK,SAAS,EAAE;QACrB,OAAO,GAAG,OAAO;QACjB,UAAU,GAAG,SAAS;QACtB,OAAO,GAAG,MAAM;IACpB;SAAO;AACH,QAAA,IAAI,OAAO,KAAK,MAAM,EAAE;YACpB,OAAO,GAAG,SAAS;YACnB,UAAU,GAAG,SAAS;QAC1B;aAAO;YACH,OAAO,GAAG,KAAK;YACf,UAAU,GAAG,SAAS;QAC1B;IACJ;AAEA,IAAA,MAAM,KAAK,GAAG,QAAQ,CAACA,IAAA,CAAC,KAAK,EAAA,MAAA,CAAA,MAAA,CAAA,EACzB,SAAS,EAAE,SAAS,EACpB,EAAE,EAAE;AACA,YAAA,EAAE,EAAE,CAAC;AACL,YAAA,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,SAAS,KAAK,KAAK,GAAG,CAAC,GAAG;AACjC,SAAA,EACD,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,GAAG,KAAK,GAAG,SAAS,EAAA,EACpC,IAAI,EAAA,EAAA,QAAA,EAAA,CAEP,OAAO,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC;AACrC,gBAAA,IAAI,EAAE,MAAM,KAAK,CAAC,IAAI,EAAE;AACxB,gBAAA,KAAK,EAAE,MAAM,KAAK,CAAC,KAAK,EAAE;gBAC1B,OAAO,EAAE,CAAC,EAAW,KAAK,UAAU,CAAC,EAAE,CAAC;AACxC,gBAAA,SAAS,EAAE,MAAM;aACpB,CAAC,GAAG,OAAO,EACZA,IAAA,CAAC,GAAG,EAAA,EACA,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EACC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,CAAC,EACN,EAAE,EAAE,CAAC,EACL,aAAa,EAAE,KAAK,EAAA,EACjB,EAAE,CAAA,EAAA,QAAA,EAAA,CAGR,CAAC,gBAAgB,IAAIC,GAAA,CAAC,MAAM,EAAA,MAAA,CAAA,MAAA,CAAA,EACzB,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAC,MAAM,EAAA,EACV,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,MAAA,GAAA,MAAA,GAAT,SAAS,CAAE,WAAW,EAAA,EAC1B,OAAO,EAAE,YAAW;4BAChB,UAAU,CAAC,IAAI,CAAC;AAChB,4BAAA,QAAQ,IAAI,MAAM,QAAQ,EAAE;4BAC5B,UAAU,CAAC,KAAK,CAAC;4BACjB,KAAK,CAAC,KAAK,EAAE;AACjB,wBAAA,CAAC,EAAA,QAAA,EACH,gBAAgB,IAAI,OAAO,IAAU,EACvCA,GAAA,CAAC,MAAM,EAAA,MAAA,CAAA,MAAA,CAAA,EACH,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,EACd,OAAO,EAAC,MAAM,EAAA,EACV,SAAS,aAAT,SAAS,KAAA,MAAA,GAAA,MAAA,GAAT,SAAS,CAAE,QAAQ,EAAA,EAEvB,OAAO,EAAE,YAAW;4BAChB,UAAU,CAAC,IAAI,CAAC;AAChB,4BAAA,SAAS,IAAI,MAAM,SAAS,EAAE;4BAC9B,UAAU,CAAC,KAAK,CAAC;4BACjB,KAAK,CAAC,KAAK,EAAE;wBACjB,CAAC,EAAA,QAAA,EACH,YAAY,IAAI,IAAI,IAAU,CAAA,EAAA,CAC9B,CAAA,EAAA,CAAA,CACF,kCACD,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,MAAA,GAAA,MAAA,GAAT,SAAS,CAAE,KAAK,CAAA,EAAA,EACnB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,EACzB,IAAI,EAAE,EAAE,EACR,QAAQ,EAAE,QAAQ,IAAI,aAAa,EACnC,UAAU,EAAE,UAAU,IAAI,MAAM,EAChC,cAAc,EAAE,YAAW;AACvB,YAAA,IAAI,mBAAmB,IAAI,CAAC,OAAO,EAAE;gBACjC,UAAU,CAAC,IAAI,CAAC;AAChB,gBAAA,QAAQ,IAAI,MAAM,QAAQ,EAAE;gBAC5B,UAAU,CAAC,KAAK,CAAC;gBACjB,KAAK,CAAC,KAAK,EAAE;YACjB;AACJ,QAAA,CAAC,IACH;IAEF,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACO,KAAK,KACR,OAAO,EAAE,CAAC,EAAW,KAAK,UAAU,CAAC,EAAE,CAAC,EACxC,SAAS,EAAE,MAAM,OAAO,EAAA,CAAA;AAEhC"}