@zuzjs/ui 0.7.7 → 0.7.9

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 (340) hide show
  1. package/dist/cjs/comps/Accordion/index.js +2 -1
  2. package/dist/cjs/comps/Actionbar/index.d.ts +1 -1
  3. package/dist/cjs/comps/Actionbar/index.js +3 -2
  4. package/dist/cjs/comps/Alert/index.d.ts +1 -1
  5. package/dist/cjs/comps/Alert/index.js +1 -0
  6. package/dist/cjs/comps/AutoComplete/index.js +1 -0
  7. package/dist/cjs/comps/Avatar/index.js +3 -2
  8. package/dist/cjs/comps/Box/index.d.ts +1 -2
  9. package/dist/cjs/comps/Box/index.js +15 -13
  10. package/dist/cjs/comps/Button/index.d.ts +2 -2
  11. package/dist/cjs/comps/Button/index.js +4 -3
  12. package/dist/cjs/comps/Button/types.d.ts +1 -1
  13. package/dist/cjs/comps/CheckBox/index.d.ts +2 -2
  14. package/dist/cjs/comps/CheckBox/index.js +2 -1
  15. package/dist/cjs/comps/ColorScheme/index.d.ts +3 -2
  16. package/dist/cjs/comps/ColorScheme/index.js +29 -9
  17. package/dist/cjs/comps/ColorScheme/types.d.ts +4 -0
  18. package/dist/cjs/comps/ColorScheme/types.js +1 -0
  19. package/dist/cjs/comps/ContextMenu/index.js +4 -4
  20. package/dist/cjs/comps/CookiesConsent/index.js +3 -2
  21. package/dist/cjs/comps/Cover/index.d.ts +1 -1
  22. package/dist/cjs/comps/Cover/index.js +3 -2
  23. package/dist/cjs/comps/Crumb/index.d.ts +4 -0
  24. package/dist/cjs/comps/Crumb/index.js +13 -0
  25. package/dist/cjs/comps/Crumb/types.d.ts +11 -0
  26. package/dist/cjs/comps/Crumb/types.js +1 -0
  27. package/dist/cjs/comps/Drawer/index.js +17 -15
  28. package/dist/cjs/comps/Editor/Timeline/index.js +4 -3
  29. package/dist/cjs/comps/Editor/index.js +2 -1
  30. package/dist/cjs/comps/Fab/index.d.ts +1 -2
  31. package/dist/cjs/comps/Fab/index.js +2 -1
  32. package/dist/cjs/comps/Filters/index.d.ts +4 -1
  33. package/dist/cjs/comps/Filters/index.js +1 -0
  34. package/dist/cjs/comps/Form/index.d.ts +3 -59
  35. package/dist/cjs/comps/Form/index.js +5 -7
  36. package/dist/cjs/comps/Form/types.d.ts +43 -0
  37. package/dist/cjs/comps/Form/types.js +1 -0
  38. package/dist/cjs/comps/Icon/index.d.ts +1 -1
  39. package/dist/cjs/comps/Icon/index.js +2 -2
  40. package/dist/cjs/comps/Image/index.js +1 -1
  41. package/dist/cjs/comps/Input/index.js +1 -0
  42. package/dist/cjs/comps/KeyboardKeys/index.d.ts +8 -0
  43. package/dist/cjs/comps/KeyboardKeys/index.js +33 -0
  44. package/dist/cjs/comps/KeyboardKeys/types.d.ts +13 -0
  45. package/dist/cjs/comps/KeyboardKeys/types.js +51 -0
  46. package/dist/cjs/comps/Label/index.js +1 -1
  47. package/dist/cjs/comps/List/index.d.ts +4 -1
  48. package/dist/cjs/comps/List/index.js +5 -4
  49. package/dist/cjs/comps/List/item.d.ts +6 -3
  50. package/dist/cjs/comps/List/item.js +6 -1
  51. package/dist/cjs/comps/List/types.d.ts +4 -1
  52. package/dist/cjs/comps/Network/index.js +6 -7
  53. package/dist/cjs/comps/Overlay/index.js +2 -1
  54. package/dist/cjs/comps/Pagination/index.js +3 -2
  55. package/dist/cjs/comps/Password/index.js +2 -1
  56. package/dist/cjs/comps/PinInput/index.js +2 -1
  57. package/dist/cjs/comps/ProgressBar/index.js +1 -0
  58. package/dist/cjs/comps/Radio/index.js +1 -0
  59. package/dist/cjs/comps/ScrollView/index.d.ts +5 -0
  60. package/dist/cjs/comps/ScrollView/index.js +13 -0
  61. package/dist/cjs/comps/ScrollView/types.d.ts +6 -0
  62. package/dist/cjs/comps/ScrollView/types.js +1 -0
  63. package/dist/cjs/comps/Search/index.d.ts +7 -10
  64. package/dist/cjs/comps/Search/index.js +12 -7
  65. package/dist/cjs/comps/Search/types.d.ts +12 -0
  66. package/dist/cjs/comps/Search/types.js +1 -0
  67. package/dist/cjs/comps/Segmented/index.d.ts +3 -2
  68. package/dist/cjs/comps/Segmented/index.js +6 -5
  69. package/dist/cjs/comps/Segmented/item.d.ts +4 -1
  70. package/dist/cjs/comps/Segmented/item.js +16 -14
  71. package/dist/cjs/comps/Segmented/types.d.ts +5 -1
  72. package/dist/cjs/comps/Select/index.d.ts +2 -4
  73. package/dist/cjs/comps/Select/index.js +4 -3
  74. package/dist/cjs/comps/Select/optionItem.d.ts +4 -1
  75. package/dist/cjs/comps/Select/optionItem.js +1 -0
  76. package/dist/cjs/comps/Select/types.d.ts +1 -1
  77. package/dist/cjs/comps/Sheet/index.d.ts +1 -1
  78. package/dist/cjs/comps/Sheet/index.js +12 -8
  79. package/dist/cjs/comps/Sidebar/index.js +1 -0
  80. package/dist/cjs/comps/Slider/index.d.ts +1 -1
  81. package/dist/cjs/comps/Slider/index.js +3 -2
  82. package/dist/cjs/comps/Span/index.js +1 -0
  83. package/dist/cjs/comps/Spinner/index.d.ts +1 -1
  84. package/dist/cjs/comps/Spinner/index.js +4 -7
  85. package/dist/cjs/comps/Switch/index.d.ts +1 -1
  86. package/dist/cjs/comps/Switch/index.js +2 -1
  87. package/dist/cjs/comps/TabView/body.js +1 -0
  88. package/dist/cjs/comps/TabView/index.d.ts +1 -1
  89. package/dist/cjs/comps/TabView/index.js +1 -0
  90. package/dist/cjs/comps/TabView/tab.d.ts +4 -1
  91. package/dist/cjs/comps/TabView/tab.js +1 -0
  92. package/dist/cjs/comps/TabView/types.d.ts +2 -2
  93. package/dist/cjs/comps/Table/col.d.ts +9 -6
  94. package/dist/cjs/comps/Table/col.js +1 -0
  95. package/dist/cjs/comps/Table/index.js +13 -5
  96. package/dist/cjs/comps/Table/row.d.ts +4 -1
  97. package/dist/cjs/comps/Table/row.js +5 -3
  98. package/dist/cjs/comps/Table/types.d.ts +88 -1
  99. package/dist/cjs/comps/Text/index.d.ts +2 -0
  100. package/dist/cjs/comps/Text/index.js +4 -2
  101. package/dist/cjs/comps/TextArea/index.d.ts +2 -0
  102. package/dist/cjs/comps/TextArea/index.js +3 -3
  103. package/dist/cjs/comps/TextWheel/index.js +1 -0
  104. package/dist/cjs/comps/Tooltip/index.d.ts +1 -2
  105. package/dist/cjs/comps/Tooltip/index.js +2 -1
  106. package/dist/cjs/comps/Treeview/index.d.ts +1 -2
  107. package/dist/cjs/comps/Treeview/index.js +3 -1
  108. package/dist/cjs/comps/Treeview/item.d.ts +3 -2
  109. package/dist/cjs/comps/Treeview/item.js +12 -7
  110. package/dist/cjs/comps/Treeview/types.d.ts +6 -2
  111. package/dist/cjs/comps/VideoPlayer/index.d.ts +2 -0
  112. package/dist/cjs/comps/VideoPlayer/index.js +7 -0
  113. package/dist/cjs/comps/index.d.ts +26 -18
  114. package/dist/cjs/comps/index.js +8 -0
  115. package/dist/cjs/funs/css.d.ts +3 -3
  116. package/dist/cjs/funs/css.js +20 -18
  117. package/dist/cjs/funs/index.d.ts +3 -1
  118. package/dist/cjs/funs/index.js +14 -3
  119. package/dist/cjs/funs/stylesheet.js +5 -0
  120. package/dist/cjs/hooks/index.d.ts +15 -9
  121. package/dist/cjs/hooks/index.js +14 -7
  122. package/dist/cjs/hooks/useAnchorPosition.d.ts +1 -2
  123. package/dist/cjs/hooks/useAnchorPosition.js +1 -0
  124. package/dist/cjs/hooks/useBase.js +27 -13
  125. package/dist/cjs/hooks/useCalendar.js +1 -0
  126. package/dist/cjs/hooks/useColorScheme.js +2 -2
  127. package/dist/cjs/hooks/useContextMenu.js +1 -0
  128. package/dist/cjs/hooks/useDB.js +1 -0
  129. package/dist/cjs/hooks/useDebounce.js +2 -1
  130. package/dist/cjs/hooks/useDelayed.d.ts +17 -0
  131. package/dist/cjs/hooks/useDelayed.js +26 -0
  132. package/dist/cjs/hooks/useDevice.js +1 -0
  133. package/dist/cjs/hooks/useDimensions.js +2 -1
  134. package/dist/cjs/hooks/useDom.d.ts +2 -0
  135. package/dist/cjs/hooks/useDom.js +3 -0
  136. package/dist/cjs/hooks/useDomMutation.d.ts +3 -0
  137. package/dist/cjs/hooks/useDomMutation.js +19 -0
  138. package/dist/cjs/hooks/useDrag.js +2 -1
  139. package/dist/cjs/hooks/useFileManager.d.ts +2 -0
  140. package/dist/cjs/hooks/useFileManager.js +3 -0
  141. package/dist/cjs/hooks/useImage.js +1 -0
  142. package/dist/cjs/hooks/useIntersectionObserver.js +2 -1
  143. package/dist/cjs/hooks/useMediaPlayer.d.ts +32 -0
  144. package/dist/cjs/hooks/useMediaPlayer.js +86 -0
  145. package/dist/cjs/hooks/useMergedRefs.d.ts +2 -0
  146. package/dist/cjs/hooks/useMergedRefs.js +14 -0
  147. package/dist/cjs/hooks/useMutationObserver.d.ts +3 -0
  148. package/dist/cjs/hooks/useMutationObserver.js +20 -0
  149. package/dist/cjs/hooks/useNetworkStatus.js +2 -1
  150. package/dist/cjs/hooks/usePlayer.d.ts +32 -0
  151. package/dist/cjs/hooks/usePlayer.js +85 -0
  152. package/dist/cjs/hooks/useResizeObserver.js +2 -1
  153. package/dist/cjs/hooks/useScrollbar.d.ts +16 -0
  154. package/dist/cjs/hooks/useScrollbar.js +160 -0
  155. package/dist/cjs/hooks/useSheet.js +1 -0
  156. package/dist/cjs/hooks/useShortcuts.d.ts +7 -0
  157. package/dist/cjs/hooks/useShortcuts.js +29 -0
  158. package/dist/cjs/hooks/useSlider.d.ts +7 -0
  159. package/dist/cjs/hooks/useSlider.js +23 -0
  160. package/dist/cjs/hooks/useTruncateText.d.ts +2 -0
  161. package/dist/cjs/hooks/useTruncateText.js +17 -0
  162. package/dist/cjs/hooks/useViewTransition.d.ts +2 -0
  163. package/dist/cjs/hooks/useViewTransition.js +13 -0
  164. package/dist/cjs/index.js +1 -0
  165. package/dist/cjs/types/enums.d.ts +1 -0
  166. package/dist/cjs/types/enums.js +1 -0
  167. package/dist/cjs/types/index.d.ts +2 -1
  168. package/dist/cjs/types/interfaces.d.ts +2 -0
  169. package/dist/css/styles.css +1 -1
  170. package/dist/esm/comps/Accordion/index.js +2 -1
  171. package/dist/esm/comps/Actionbar/index.d.ts +1 -1
  172. package/dist/esm/comps/Actionbar/index.js +3 -2
  173. package/dist/esm/comps/Alert/index.d.ts +1 -1
  174. package/dist/esm/comps/Alert/index.js +1 -0
  175. package/dist/esm/comps/AutoComplete/index.js +1 -0
  176. package/dist/esm/comps/Avatar/index.js +3 -2
  177. package/dist/esm/comps/Box/index.d.ts +1 -2
  178. package/dist/esm/comps/Box/index.js +15 -13
  179. package/dist/esm/comps/Button/index.d.ts +2 -2
  180. package/dist/esm/comps/Button/index.js +4 -3
  181. package/dist/esm/comps/Button/types.d.ts +1 -1
  182. package/dist/esm/comps/CheckBox/index.d.ts +2 -2
  183. package/dist/esm/comps/CheckBox/index.js +2 -1
  184. package/dist/esm/comps/ColorScheme/index.d.ts +3 -2
  185. package/dist/esm/comps/ColorScheme/index.js +29 -9
  186. package/dist/esm/comps/ColorScheme/types.d.ts +4 -0
  187. package/dist/esm/comps/ColorScheme/types.js +1 -0
  188. package/dist/esm/comps/ContextMenu/index.js +4 -4
  189. package/dist/esm/comps/CookiesConsent/index.js +3 -2
  190. package/dist/esm/comps/Cover/index.d.ts +1 -1
  191. package/dist/esm/comps/Cover/index.js +3 -2
  192. package/dist/esm/comps/Crumb/index.d.ts +4 -0
  193. package/dist/esm/comps/Crumb/index.js +13 -0
  194. package/dist/esm/comps/Crumb/types.d.ts +11 -0
  195. package/dist/esm/comps/Crumb/types.js +1 -0
  196. package/dist/esm/comps/Drawer/index.js +17 -15
  197. package/dist/esm/comps/Editor/Timeline/index.js +4 -3
  198. package/dist/esm/comps/Editor/index.js +2 -1
  199. package/dist/esm/comps/Fab/index.d.ts +1 -2
  200. package/dist/esm/comps/Fab/index.js +2 -1
  201. package/dist/esm/comps/Filters/index.d.ts +4 -1
  202. package/dist/esm/comps/Filters/index.js +1 -0
  203. package/dist/esm/comps/Form/index.d.ts +3 -59
  204. package/dist/esm/comps/Form/index.js +5 -7
  205. package/dist/esm/comps/Form/types.d.ts +43 -0
  206. package/dist/esm/comps/Form/types.js +1 -0
  207. package/dist/esm/comps/Icon/index.d.ts +1 -1
  208. package/dist/esm/comps/Icon/index.js +2 -2
  209. package/dist/esm/comps/Image/index.js +1 -1
  210. package/dist/esm/comps/Input/index.js +1 -0
  211. package/dist/esm/comps/KeyboardKeys/index.d.ts +8 -0
  212. package/dist/esm/comps/KeyboardKeys/index.js +33 -0
  213. package/dist/esm/comps/KeyboardKeys/types.d.ts +13 -0
  214. package/dist/esm/comps/KeyboardKeys/types.js +51 -0
  215. package/dist/esm/comps/Label/index.js +1 -1
  216. package/dist/esm/comps/List/index.d.ts +4 -1
  217. package/dist/esm/comps/List/index.js +5 -4
  218. package/dist/esm/comps/List/item.d.ts +6 -3
  219. package/dist/esm/comps/List/item.js +6 -1
  220. package/dist/esm/comps/List/types.d.ts +4 -1
  221. package/dist/esm/comps/Network/index.js +6 -7
  222. package/dist/esm/comps/Overlay/index.js +2 -1
  223. package/dist/esm/comps/Pagination/index.js +3 -2
  224. package/dist/esm/comps/Password/index.js +2 -1
  225. package/dist/esm/comps/PinInput/index.js +2 -1
  226. package/dist/esm/comps/ProgressBar/index.js +1 -0
  227. package/dist/esm/comps/Radio/index.js +1 -0
  228. package/dist/esm/comps/ScrollView/index.d.ts +5 -0
  229. package/dist/esm/comps/ScrollView/index.js +13 -0
  230. package/dist/esm/comps/ScrollView/types.d.ts +6 -0
  231. package/dist/esm/comps/ScrollView/types.js +1 -0
  232. package/dist/esm/comps/Search/index.d.ts +7 -10
  233. package/dist/esm/comps/Search/index.js +12 -7
  234. package/dist/esm/comps/Search/types.d.ts +12 -0
  235. package/dist/esm/comps/Search/types.js +1 -0
  236. package/dist/esm/comps/Segmented/index.d.ts +3 -2
  237. package/dist/esm/comps/Segmented/index.js +6 -5
  238. package/dist/esm/comps/Segmented/item.d.ts +4 -1
  239. package/dist/esm/comps/Segmented/item.js +16 -14
  240. package/dist/esm/comps/Segmented/types.d.ts +5 -1
  241. package/dist/esm/comps/Select/index.d.ts +2 -4
  242. package/dist/esm/comps/Select/index.js +4 -3
  243. package/dist/esm/comps/Select/optionItem.d.ts +4 -1
  244. package/dist/esm/comps/Select/optionItem.js +1 -0
  245. package/dist/esm/comps/Select/types.d.ts +1 -1
  246. package/dist/esm/comps/Sheet/index.d.ts +1 -1
  247. package/dist/esm/comps/Sheet/index.js +12 -8
  248. package/dist/esm/comps/Sidebar/index.js +1 -0
  249. package/dist/esm/comps/Slider/index.d.ts +1 -1
  250. package/dist/esm/comps/Slider/index.js +3 -2
  251. package/dist/esm/comps/Span/index.js +1 -0
  252. package/dist/esm/comps/Spinner/index.d.ts +1 -1
  253. package/dist/esm/comps/Spinner/index.js +4 -7
  254. package/dist/esm/comps/Switch/index.d.ts +1 -1
  255. package/dist/esm/comps/Switch/index.js +2 -1
  256. package/dist/esm/comps/TabView/body.js +1 -0
  257. package/dist/esm/comps/TabView/index.d.ts +1 -1
  258. package/dist/esm/comps/TabView/index.js +1 -0
  259. package/dist/esm/comps/TabView/tab.d.ts +4 -1
  260. package/dist/esm/comps/TabView/tab.js +1 -0
  261. package/dist/esm/comps/TabView/types.d.ts +2 -2
  262. package/dist/esm/comps/Table/col.d.ts +9 -6
  263. package/dist/esm/comps/Table/col.js +1 -0
  264. package/dist/esm/comps/Table/index.js +13 -5
  265. package/dist/esm/comps/Table/row.d.ts +4 -1
  266. package/dist/esm/comps/Table/row.js +5 -3
  267. package/dist/esm/comps/Table/types.d.ts +88 -1
  268. package/dist/esm/comps/Text/index.d.ts +2 -0
  269. package/dist/esm/comps/Text/index.js +4 -2
  270. package/dist/esm/comps/TextArea/index.d.ts +2 -0
  271. package/dist/esm/comps/TextArea/index.js +3 -3
  272. package/dist/esm/comps/TextWheel/index.js +1 -0
  273. package/dist/esm/comps/Tooltip/index.d.ts +1 -2
  274. package/dist/esm/comps/Tooltip/index.js +2 -1
  275. package/dist/esm/comps/Treeview/index.d.ts +1 -2
  276. package/dist/esm/comps/Treeview/index.js +3 -1
  277. package/dist/esm/comps/Treeview/item.d.ts +3 -2
  278. package/dist/esm/comps/Treeview/item.js +12 -7
  279. package/dist/esm/comps/Treeview/types.d.ts +6 -2
  280. package/dist/esm/comps/VideoPlayer/index.d.ts +2 -0
  281. package/dist/esm/comps/VideoPlayer/index.js +7 -0
  282. package/dist/esm/comps/index.d.ts +26 -18
  283. package/dist/esm/comps/index.js +8 -0
  284. package/dist/esm/funs/css.d.ts +3 -3
  285. package/dist/esm/funs/css.js +20 -18
  286. package/dist/esm/funs/index.d.ts +3 -1
  287. package/dist/esm/funs/index.js +14 -3
  288. package/dist/esm/funs/stylesheet.js +5 -0
  289. package/dist/esm/hooks/index.d.ts +15 -9
  290. package/dist/esm/hooks/index.js +14 -7
  291. package/dist/esm/hooks/useAnchorPosition.d.ts +1 -2
  292. package/dist/esm/hooks/useAnchorPosition.js +1 -0
  293. package/dist/esm/hooks/useBase.js +27 -13
  294. package/dist/esm/hooks/useCalendar.js +1 -0
  295. package/dist/esm/hooks/useColorScheme.js +2 -2
  296. package/dist/esm/hooks/useContextMenu.js +1 -0
  297. package/dist/esm/hooks/useDB.js +1 -0
  298. package/dist/esm/hooks/useDebounce.js +2 -1
  299. package/dist/esm/hooks/useDelayed.d.ts +17 -0
  300. package/dist/esm/hooks/useDelayed.js +26 -0
  301. package/dist/esm/hooks/useDevice.js +1 -0
  302. package/dist/esm/hooks/useDimensions.js +2 -1
  303. package/dist/esm/hooks/useDom.d.ts +2 -0
  304. package/dist/esm/hooks/useDom.js +3 -0
  305. package/dist/esm/hooks/useDomMutation.d.ts +3 -0
  306. package/dist/esm/hooks/useDomMutation.js +19 -0
  307. package/dist/esm/hooks/useDrag.js +2 -1
  308. package/dist/esm/hooks/useFileManager.d.ts +2 -0
  309. package/dist/esm/hooks/useFileManager.js +3 -0
  310. package/dist/esm/hooks/useImage.js +1 -0
  311. package/dist/esm/hooks/useIntersectionObserver.js +2 -1
  312. package/dist/esm/hooks/useMediaPlayer.d.ts +32 -0
  313. package/dist/esm/hooks/useMediaPlayer.js +86 -0
  314. package/dist/esm/hooks/useMergedRefs.d.ts +2 -0
  315. package/dist/esm/hooks/useMergedRefs.js +14 -0
  316. package/dist/esm/hooks/useMutationObserver.d.ts +3 -0
  317. package/dist/esm/hooks/useMutationObserver.js +20 -0
  318. package/dist/esm/hooks/useNetworkStatus.js +2 -1
  319. package/dist/esm/hooks/usePlayer.d.ts +32 -0
  320. package/dist/esm/hooks/usePlayer.js +85 -0
  321. package/dist/esm/hooks/useResizeObserver.js +2 -1
  322. package/dist/esm/hooks/useScrollbar.d.ts +16 -0
  323. package/dist/esm/hooks/useScrollbar.js +160 -0
  324. package/dist/esm/hooks/useSheet.js +1 -0
  325. package/dist/esm/hooks/useShortcuts.d.ts +7 -0
  326. package/dist/esm/hooks/useShortcuts.js +29 -0
  327. package/dist/esm/hooks/useSlider.d.ts +7 -0
  328. package/dist/esm/hooks/useSlider.js +23 -0
  329. package/dist/esm/hooks/useTruncateText.d.ts +2 -0
  330. package/dist/esm/hooks/useTruncateText.js +17 -0
  331. package/dist/esm/hooks/useViewTransition.d.ts +2 -0
  332. package/dist/esm/hooks/useViewTransition.js +13 -0
  333. package/dist/esm/index.js +1 -0
  334. package/dist/esm/types/enums.d.ts +1 -0
  335. package/dist/esm/types/enums.js +1 -0
  336. package/dist/esm/types/index.d.ts +2 -1
  337. package/dist/esm/types/interfaces.d.ts +2 -0
  338. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  339. package/dist/tsconfig.tsbuildinfo +1 -1
  340. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
- import { CheckboxHandler } from "../CheckBox/types";
2
1
  import { CHECKBOX } from "../../types/enums";
2
+ import { CheckboxHandler } from "../CheckBox/types";
3
3
  declare const Switch: import("react").ForwardRefExoticComponent<import("../..").ZuzProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, keyof import("../..").ZuzProps> & {
4
4
  type?: CHECKBOX;
5
5
  size?: import("../..").Size;
@@ -1,8 +1,9 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
- import CheckBox from "../CheckBox";
4
3
  import { CHECKBOX } from "../../types/enums";
4
+ import CheckBox from "../CheckBox";
5
5
  const Switch = forwardRef((props, ref) => {
6
6
  return _jsx(CheckBox, { type: CHECKBOX.Switch, ...props, ref: ref });
7
7
  });
8
+ Switch.displayName = `Switch`;
8
9
  export default Switch;
@@ -21,4 +21,5 @@ const TabBody = ({ size, index, active, render, content }) => {
21
21
  ...style
22
22
  }, className: `--content`, children: (render || active) && content });
23
23
  };
24
+ TabBody.displayName = `TabBody`;
24
25
  export default TabBody;
@@ -1,5 +1,5 @@
1
1
  import { Tab, TabViewHandler } from "./types";
2
- declare const TabView: import("react").ForwardRefExoticComponent<import("..").BoxProps & {
2
+ declare const TabView: import("react").ForwardRefExoticComponent<Omit<import("..").BoxProps, "onChange"> & {
3
3
  onChange?: (tab: Tab, index: number) => void;
4
4
  speed?: number;
5
5
  variant?: "fixed" | "default";
@@ -46,4 +46,5 @@ const TabView = forwardRef((props, ref) => {
46
46
  transition: `all ${speed || 0.3}s ease-in-out 0s`, transform: `translate(-${activeTab * size.width}px, 0)`
47
47
  }, children: tabs.map((tab, index) => _jsx(TabBody, { index: index, active: index === activeTab, size: size, render: render, content: tab.body }, `tab-body-${tab.key || index}-${tabViewID}`)) }) })] });
48
48
  });
49
+ TabView.displayName = `TabView`;
49
50
  export default TabView;
@@ -1,3 +1,6 @@
1
1
  import { TabProps } from "./types";
2
- declare const TabItem: ({ tab, index, activeTab, onClick }: TabProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const TabItem: {
3
+ ({ tab, index, activeTab, onClick }: TabProps): import("react/jsx-runtime").JSX.Element;
4
+ displayName: string;
5
+ };
3
6
  export default TabItem;
@@ -6,4 +6,5 @@ const TabItem = ({ tab, index, activeTab, onClick }) => {
6
6
  const { icon, label } = tab;
7
7
  return _jsxs(Button, { onClick: e => onClick(index), className: `--tab jcc ${index === activeTab ? '--active' : ''}`.trim(), children: [icon && (typeof icon === 'string' ? _jsx(Icon, { className: `--icon`, name: icon }) : icon), _jsx(Text, { className: `--label rel`, children: label })] });
8
8
  };
9
+ TabItem.displayName = `TabItem`;
9
10
  export default TabItem;
@@ -1,7 +1,7 @@
1
1
  import { ReactNode } from "react";
2
2
  import { BoxProps } from "../Box";
3
3
  export interface Tab {
4
- onSelect: (tab: Tab, index: number) => void;
4
+ onSelect?: (tab: Tab, index: number) => void;
5
5
  tag?: string;
6
6
  key?: string;
7
7
  icon?: ReactNode | ReactNode[];
@@ -15,7 +15,7 @@ export type TabProps = {
15
15
  activeTab: number;
16
16
  onClick: (index: number) => void;
17
17
  };
18
- export type TabViewProps = BoxProps & {
18
+ export type TabViewProps = Omit<BoxProps, "onChange"> & {
19
19
  onChange?: (tab: Tab, index: number) => void;
20
20
  speed?: number;
21
21
  variant?: "fixed" | "default";
@@ -1,10 +1,13 @@
1
1
  import { CSSProperties } from "react";
2
2
  import { PubSub } from "../..";
3
3
  import type { Column } from "./types";
4
- declare const TColumn: <T>(props: Column<T> & {
5
- idx: number;
6
- style?: CSSProperties;
7
- pubsub: PubSub;
8
- sortBy?: string | null;
9
- }) => import("react/jsx-runtime").JSX.Element;
4
+ declare const TColumn: {
5
+ <T>(props: Column<T> & {
6
+ idx: number;
7
+ style?: CSSProperties;
8
+ pubsub: PubSub;
9
+ sortBy?: string | null;
10
+ }): import("react/jsx-runtime").JSX.Element;
11
+ displayName: string;
12
+ };
10
13
  export default TColumn;
@@ -19,4 +19,5 @@ const TColumn = (props) => {
19
19
  && sortBy == id
20
20
  && _jsx(Box, { as: `--arrow flex aib`, children: _sort == 1 ? SVGIcons.arrowUp : SVGIcons.arrowDown })] });
21
21
  };
22
+ TColumn.displayName = `Column`;
22
23
  export default TColumn;
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { forwardRef, useMemo, useRef, useState } from "react";
4
- import { PubSub, uuid } from "../..";
3
+ import { forwardRef, useEffect, useMemo, useRef, useState } from "react";
4
+ import { PubSub, SPINNER, Spinner, Text, uuid } from "../..";
5
5
  import { useBase } from "../../hooks";
6
6
  import Box from "../Box";
7
7
  import Pagination from "../Pagination";
@@ -9,7 +9,8 @@ import { PaginationStyle } from "../Pagination/types";
9
9
  import TRow from "./row";
10
10
  // const Table = forwardRef<HTMLDivElement, TableProps>((props, ref) => {
11
11
  const Table = (props, ref) => {
12
- const { schema, rows, rowCount, rowsPerPage, currentPage, pagination, paginationHash, showPaginationOnZeroPageCount, animateRows, header, rowClassName, selectableRows, hoverable, sortBy, onSort, onRowSelectToggle, onPageChange, onRowContextMenu, ...pops } = props;
12
+ const { schema, rows, rowCount, rowsPerPage, currentPage, pagination, paginationHash, showPaginationOnZeroPageCount, animateRows, header, rowClassName, selectableRows, hoverable, sortBy, loading, loadingRowCount, loadingMessage, spinner, onSort, onRowSelectToggle, onPageChange, onRowContextMenu, ...pops } = props;
13
+ const _pagination = useRef(null);
13
14
  const _schemaParsed = useMemo(() => schema.reduce((prev, c) => {
14
15
  prev[c.id] = {
15
16
  flex: c.weight || 1,
@@ -28,13 +29,20 @@ const Table = (props, ref) => {
28
29
  const { style, className, rest } = useBase(pops);
29
30
  const _tableRef = useRef(null);
30
31
  const pubsub = useMemo(() => new PubSub(), []);
31
- const rowKeys = useMemo(() => rows.map(() => uuid()), [rows]);
32
+ const rowKeys = useRef(rows.map(() => uuid()));
32
33
  const [_sortBy, setSortBy] = useState(sortBy || null);
34
+ // const placeholderRows = useMemo(() => {
35
+ // }, [loading, loadingRowCount])
36
+ useEffect(() => {
37
+ rowKeys.current = rows.map(() => uuid()); // Update only when rows change
38
+ }, [rows]);
33
39
  const handleSort = (col, dir) => {
34
40
  setSortBy(col);
35
41
  onSort?.(col, dir);
36
42
  };
37
- return _jsxs(Box, { as: `--table ${(hoverable ?? true) ? `--hoverable` : ``} flex cols ${className}`, ref: _tableRef, children: [_header == true && _jsx(TRow, { sortBy: _sortBy, onSort: handleSort, tableRef: _tableRef, pubsub: pubsub, selectable: selectableRows, index: -1, schema: schema, styles: _schemaParsed }), rows && rows.map((row, index) => _jsx(TRow, { tableRef: _tableRef, pubsub: pubsub, index: index, schema: schema, ids: _cols, styles: _schemaParsed, animate: animateRows, data: row, rowClassName: rowClassName, selectable: selectableRows, onSelect: onRowSelectToggle, onContextMenu: onRowContextMenu }, `--trow-${rowKeys[index]}-${schema[0].id}`)), pagination && _jsx(Box, { as: `--row flex aic --row-footer`, children: _jsx(Pagination, { hash: paginationHash, renderOnZeroPageCount: showPaginationOnZeroPageCount, onPageChange: onPageChange, paginationStyle: PaginationStyle.Table, startPage: currentPage, itemCount: rowCount || (rows ? rows.length : 0), itemsPerPage: rowsPerPage || 10 }) })] });
43
+ const _paginated = useMemo(() => _jsx(Pagination, { hash: paginationHash, ref: _pagination, renderOnZeroPageCount: showPaginationOnZeroPageCount, onPageChange: onPageChange, paginationStyle: PaginationStyle.Table, startPage: currentPage, itemCount: rowCount || (rows ? rows.length : 0), itemsPerPage: rowsPerPage || 10 }), []);
44
+ return _jsxs(Box, { as: `--table ${(hoverable ?? true) ? `--hoverable` : ``} flex cols rel ${className}`, ref: _tableRef, children: [_header == true && _jsx(TRow, { sortBy: _sortBy, onSort: handleSort, tableRef: _tableRef, pubsub: pubsub, selectable: selectableRows, index: -1, schema: schema, loading: true, styles: _schemaParsed }), loading && _jsxs(Box, { as: `abs center-x flex aic --table-spinner`, children: [_jsx(Spinner, { type: spinner || SPINNER.Simple }), loadingMessage && _jsx(Text, { as: `--table-loading-message`, children: loadingMessage })] }), loading && Array(loadingRowCount || 5).fill({}).map((row, index) => _jsx(TRow, { tableRef: _tableRef, index: index, pubsub: pubsub, schema: schema, styles: _schemaParsed, loading: true, animate: animateRows }, `--trow-loading-${index}-${schema[0].id}`)), !loading && rows && rows.map((row, index) => _jsx(TRow, { tableRef: _tableRef, pubsub: pubsub, loading: false, index: index, schema: schema, ids: _cols, styles: _schemaParsed, animate: animateRows, data: row, rowClassName: rowClassName, selectable: selectableRows, onSelect: onRowSelectToggle, onContextMenu: onRowContextMenu }, `--trow-${rowKeys.current[index] || index}-${schema[0].id}`)), pagination && _pagination.current != null && _jsx(Box, { as: `--row flex aic --row-footer`, children: _paginated })] });
38
45
  };
46
+ Table.displayName = `Table`;
39
47
  const ForwardedTable = forwardRef(Table);
40
48
  export default ForwardedTable;
@@ -1,3 +1,6 @@
1
1
  import type { Row } from "./types";
2
- declare const TRow: <T>(props: Row<T>) => import("react/jsx-runtime").JSX.Element;
2
+ declare const TRow: {
3
+ <T>(props: Row<T>): import("react/jsx-runtime").JSX.Element;
4
+ displayName: string;
5
+ };
3
6
  export default TRow;
@@ -4,9 +4,10 @@ import { useDelayed } from "../../hooks";
4
4
  import { CHECKBOX, TRANSITION_CURVES, TRANSITIONS } from "../../types/enums";
5
5
  import Box from "../Box";
6
6
  import CheckBox from "../CheckBox";
7
+ import Text from "../Text";
7
8
  import TColumn from "./col";
8
9
  const TRow = (props) => {
9
- const { index, pubsub, schema, data, ids, styles, animate, sortBy, selectable, tableRef, rowClassName, onSort, onSelect, onContextMenu } = props;
10
+ const { index, pubsub, schema, data, ids, styles, animate, sortBy, selectable, tableRef, loading, rowClassName, onSort, onSelect, onContextMenu } = props;
10
11
  const mounted = useDelayed();
11
12
  const _animation = useMemo(() => ({
12
13
  transition: TRANSITIONS.SlideInBottom,
@@ -73,13 +74,14 @@ const TRow = (props) => {
73
74
  };
74
75
  }
75
76
  }, []);
76
- return _jsxs(Box, { onContextMenu: e => onContextMenu ? onContextMenu(e, data) : null, "data-index": index, ...(animate ? { animate: { ..._animation, when: mounted } } : {}), as: `--row flex aic ${index == -1 ? `--row-head` : ``} ${rowClassName || ``}`, children: [index == -1 && schema.map((c, i) => {
77
+ return _jsxs(Box, { onContextMenu: e => onContextMenu ? onContextMenu(e, data) : null, ...(animate ? { animate: { ..._animation, when: mounted } } : {}), as: `--row flex aic ${index == -1 ? `--row-head` : ``} ${rowClassName || ``}`, children: [index == -1 && schema.map((c, i) => {
77
78
  const { renderWhenHeader, render, value, ...cc } = c;
78
79
  return _jsxs(Fragment, { children: [selectable && i == 0 && Selector(-1, `--selector-${c.id}`, `all`), _jsx(TColumn, { idx: -1, onSort: onSort, sortBy: sortBy,
79
80
  // value={renderWhenHeader && render ? render!(index == -1 ? c as dynamicObject : data as T, index) : value as string}
80
81
  value: value, ...cc, pubsub: pubsub, style: styles[c.id] })] }, `--col-${c.id}`);
81
- }), index > -1 && ids && data && schema.map((c, i) => {
82
+ }), loading && index > -1 && _jsx(Box, { as: `--col`, children: _jsx(Text, { as: `opacity:0`, children: "..." }) }), !loading && index > -1 && ids && data && schema.map((c, i) => {
82
83
  return _jsxs(Fragment, { children: [selectable && i == 0 && Selector(i, `--selector-${c.id}`, c.id.toString()), ids.includes(String(c.id)) ? _jsx(TColumn, { pubsub: pubsub, idx: i, id: String(c.id), style: styles[String(c.id)], value: c.render ? c.render(data, index) : data[String(c.id).includes(`.`) ? String(c.id).split(`.`).reverse()[0] : c.id] }) : null] }, `--${String(c.id)}-val-${i}`);
83
84
  })] });
84
85
  };
86
+ TRow.displayName = `Row`;
85
87
  export default TRow;
@@ -1,10 +1,43 @@
1
1
  import { ReactNode, RefObject } from "react";
2
- import { PubSub } from "../..";
2
+ import { PubSub, SPINNER } from "../..";
3
3
  import { dynamicObject } from "../../types";
4
4
  import { BoxProps } from "../Box";
5
5
  import { PaginationCallback } from "../Pagination/types";
6
+ /**
7
+ * Callback function for row selection.
8
+ *
9
+ * @template T - The type of data for each row.
10
+ * @param {T} row - The row data.
11
+ * @param {boolean} selected - Whether the row is selected.
12
+ */
6
13
  export type RowSelectCallback<T> = (row: T, selected: boolean) => void;
14
+ /**
15
+ * Callback function for table sorting.
16
+ *
17
+ * @param {string} col - The column key to sort by.
18
+ * @param {number} dir - The direction of sorting (1 for ascending, -1 for descending).
19
+ */
7
20
  export type TableSortCallback = (col: string, dir: number) => void;
21
+ /**
22
+ * Represents a row in the table.
23
+ *
24
+ * @template T - The type of data for each row.
25
+ *
26
+ * @property {number} index - The index of the row.
27
+ * @property {Column<T>[]} schema - The schema defining the columns of the row.
28
+ * @property {dynamicObject} styles - The styles to apply to the row.
29
+ * @property {string[]} [ids] - The IDs associated with the row.
30
+ * @property {boolean} [animate] - Whether to animate the row.
31
+ * @property {T} [data] - The data for the row.
32
+ * @property {string} [rowClassName] - The CSS class name to apply to the row.
33
+ * @property {boolean} [selectable] - Whether the row is selectable.
34
+ * @property {string | null} [sortBy] - The column key to sort by.
35
+ * @property {RowSelectCallback<T>} [onSelect] - Callback when the row's selection state changes.
36
+ * @property {TableSortCallback} [onSort] - Callback when the row is sorted.
37
+ * @property {PubSub} pubsub - The PubSub instance for event handling.
38
+ * @property {RefObject<HTMLDivElement | null>} [tableRef] - The reference to the table element.
39
+ * @property {(e: React.MouseEvent<HTMLDivElement, MouseEvent>, row: T) => void} [onContextMenu] - Callback for row context menu event.
40
+ */
8
41
  export type Row<T> = {
9
42
  index: number;
10
43
  schema: Column<T>[];
@@ -18,9 +51,31 @@ export type Row<T> = {
18
51
  onSelect?: RowSelectCallback<T>;
19
52
  onSort?: TableSortCallback;
20
53
  pubsub: PubSub;
54
+ loading: boolean;
21
55
  tableRef?: RefObject<HTMLDivElement | null>;
22
56
  onContextMenu?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>, row: T) => void;
23
57
  };
58
+ /**
59
+ * Represents a column in the table.
60
+ *
61
+ * @template T - The type of data for each row.
62
+ *
63
+ * @property {string | number} id - The unique identifier for the column.
64
+ * @property {string | ReactNode | dynamicObject} [value] - The value to display in the column.
65
+ * @property {number} [weight] - The weight of the column for layout purposes.
66
+ * @property {number | string} [w] - The width of the column.
67
+ * @property {number | string} [maxW] - The maximum width of the column.
68
+ * @property {number | string} [minW] - The minimum width of the column.
69
+ * @property {number | string} [h] - The height of the column.
70
+ * @property {number | string} [maxH] - The maximum height of the column.
71
+ * @property {number | string} [minH] - The minimum height of the column.
72
+ * @property {boolean} [resize] - Whether the column is resizable.
73
+ * @property {boolean} [sortable] - Whether the column is sortable.
74
+ * @property {TableSortCallback} [onSort] - Callback when the column is sorted.
75
+ * @property {string} [as] - The HTML tag to render the column as.
76
+ * @property {boolean} [renderWhenHeader] - Whether to render the column when it is a header.
77
+ * @property {(row: T, index: number) => ReactNode} [render] - Function to render the column content.
78
+ */
24
79
  export type Column<T> = {
25
80
  id: string | number;
26
81
  value?: string | ReactNode | dynamicObject;
@@ -38,6 +93,34 @@ export type Column<T> = {
38
93
  renderWhenHeader?: boolean;
39
94
  render?: (row: T, index: number) => ReactNode;
40
95
  };
96
+ /**
97
+ * Props for the Table component.
98
+ *
99
+ * @template T - The type of data for each row.
100
+ *
101
+ * @extends BoxProps
102
+ *
103
+ * @property {Column<T>[]} schema - The schema defining the columns of the table.
104
+ * @property {T[]} rows - The data rows to be displayed in the table.
105
+ * @property {number} [rowCount] - The total number of rows.
106
+ * @property {number} [rowsPerPage] - The number of rows to display per page.
107
+ * @property {string} [rowClassName] - The CSS class name to apply to each row.
108
+ * @property {number} [currentPage] - The current page number.
109
+ * @property {boolean} [pagination] - Whether to enable pagination.
110
+ * @property {number | null} [paginationHash] - A hash to force pagination update.
111
+ * @property {boolean} [showPaginationOnZeroPageCount] - Whether to show pagination controls when there are zero pages.
112
+ * @property {boolean} [animateRows] - Whether to animate rows on change.
113
+ * @property {boolean} [header] - Whether to show the table header.
114
+ * @property {string} [sortBy] - The column key to sort by.
115
+ * @property {boolean} [selectableRows] - Whether rows are selectable.
116
+ * @property {boolean} [hoverable] - Whether rows should have a hover effect.
117
+ * @property {boolean} [loading] - Renders placeholder rows when true
118
+ * @property {number} [loadingRowCount] - If greater than 0, shows loading number of empty rows with spinner.
119
+ * @property {RowSelectCallback<T>} [onRowSelectToggle] - Callback when a row's selection state changes.
120
+ * @property {(e: React.MouseEvent<HTMLDivElement, MouseEvent>, row: T) => void} [onRowContextMenu] - Callback for row context menu event.
121
+ * @property {PaginationCallback} [onPageChange] - Callback when the page changes.
122
+ * @property {TableSortCallback} [onSort] - Callback when the table is sorted.
123
+ */
41
124
  export type TableProps<T> = BoxProps & {
42
125
  schema: Column<T>[];
43
126
  rows: T[];
@@ -53,6 +136,10 @@ export type TableProps<T> = BoxProps & {
53
136
  sortBy?: string;
54
137
  selectableRows?: boolean;
55
138
  hoverable?: boolean;
139
+ loading?: boolean;
140
+ loadingRowCount?: number;
141
+ loadingMessage?: string;
142
+ spinner?: SPINNER;
56
143
  onRowSelectToggle?: RowSelectCallback<T>;
57
144
  onRowContextMenu?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>, row: T) => void;
58
145
  onPageChange?: PaginationCallback;
@@ -3,9 +3,11 @@ import { Props } from '../../types';
3
3
  export type TextProps = Props<`h1` | `h2` | `h3` | `h4` | `h5` | `h6`> & {
4
4
  h?: number;
5
5
  html?: ReactNode | string;
6
+ lines?: number;
6
7
  };
7
8
  declare const Text: import("react").ForwardRefExoticComponent<import("../..").ZuzProps & Omit<Omit<import("react").DetailedHTMLProps<HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref">, keyof import("../..").ZuzProps> & {
8
9
  h?: number;
9
10
  html?: ReactNode | string;
11
+ lines?: number;
10
12
  } & import("react").RefAttributes<HTMLHeadingElement>>;
11
13
  export default Text;
@@ -1,12 +1,14 @@
1
- "use client";
2
1
  import { jsx as _jsx } from "react/jsx-runtime";
3
2
  import { forwardRef } from 'react';
4
3
  import { useBase } from '../../hooks';
5
4
  import Span from '../Span';
6
5
  const Text = forwardRef((props, ref) => {
7
- const { h, html, children, ...pops } = props;
6
+ const { h, html, children, lines, ...pops } = props;
8
7
  const { style, className, rest } = useBase(pops);
8
+ // const textRef = useTruncateText(lines || 2)
9
+ // const mergedRef = useMergedRefs(ref, textRef)
9
10
  const Tag = `h${props.h || 1}`;
10
11
  return _jsx(Tag, { ref: ref, style: style, className: className, ...rest, children: html ? _jsx(Span, { dangerouslySetInnerHTML: { __html: html } }) : children });
11
12
  });
13
+ Text.displayName = `ZuzUI.Text`;
12
14
  export default Text;
@@ -2,10 +2,12 @@ import { Props } from '../../types';
2
2
  import { Variant } from '../../types/enums';
3
3
  export type TextAreaProps = Props<`textarea`> & {
4
4
  autoResize?: boolean;
5
+ resize?: `none` | `block` | `both` | `horizontal` | `vertical`;
5
6
  variant?: Variant;
6
7
  };
7
8
  declare const TextArea: import("react").ForwardRefExoticComponent<import("../..").ZuzProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, "ref">, keyof import("../..").ZuzProps> & {
8
9
  autoResize?: boolean;
10
+ resize?: `none` | `block` | `both` | `horizontal` | `vertical`;
9
11
  variant?: Variant;
10
12
  } & import("react").RefAttributes<HTMLTextAreaElement>>;
11
13
  export default TextArea;
@@ -1,13 +1,13 @@
1
- "use client";
2
1
  import { jsx as _jsx } from "react/jsx-runtime";
3
2
  import { forwardRef } from 'react';
4
3
  import { useBase } from '../../hooks';
5
4
  import { Variant } from '../../types/enums';
6
5
  const TextArea = forwardRef((props, ref) => {
7
- const { autoResize, variant, ...pops } = props;
6
+ const { autoResize, variant, resize, ...pops } = props;
8
7
  const { style, className, rest } = useBase(pops);
9
8
  const handleInput = (event) => {
10
9
  };
11
- return _jsx("textarea", { className: `--input --textarea --${variant || Variant.Small} flex ${className}`.trim(), style: style, onInput: handleInput, ref: ref, ...rest });
10
+ return _jsx("textarea", { className: `--input --textarea --${variant || Variant.Small} flex ${className}`.trim(), style: { ...style, resize: resize || `none` }, onInput: handleInput, ref: ref, ...rest });
12
11
  });
12
+ TextArea.displayName = `ZuzUI.TextArea`;
13
13
  export default TextArea;
@@ -50,4 +50,5 @@ const TextWheel = forwardRef((props, ref) => {
50
50
  background: `linear-gradient(0deg, ${color}, transparent, transparent, transparent, ${color})`,
51
51
  } })] });
52
52
  });
53
+ TextWheel.displayName = `TextWheel`;
53
54
  export default TextWheel;
@@ -1,6 +1,5 @@
1
- import { BoxProps } from '../Box';
2
1
  import { Position } from '../../types/enums';
3
- declare const ToolTip: import("react").ForwardRefExoticComponent<BoxProps & {
2
+ declare const ToolTip: import("react").ForwardRefExoticComponent<import("..").BoxProps & {
4
3
  position?: Position;
5
4
  margin?: number;
6
5
  } & import("react").RefAttributes<HTMLDivElement>>;
@@ -2,9 +2,9 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { forwardRef, useEffect, useMemo, useRef, useState } from 'react';
4
4
  import { useBase, useDimensions } from '../../hooks';
5
+ import { Position, TRANSITION_CURVES } from '../../types/enums';
5
6
  import Box from '../Box';
6
7
  import Text from '../Text';
7
- import { Position, TRANSITION_CURVES } from '../../types/enums';
8
8
  const ToolTip = forwardRef((props, ref) => {
9
9
  const { title, position, margin, children, ...pops } = props;
10
10
  const { style, className, rest } = useBase(pops);
@@ -53,4 +53,5 @@ const ToolTip = forwardRef((props, ref) => {
53
53
  when: hovered
54
54
  }, children: _jsx(Text, { className: `--text rel`, children: title }) })] });
55
55
  });
56
+ ToolTip.displayName = `ToolTip`;
56
57
  export default ToolTip;
@@ -1,6 +1,5 @@
1
1
  import { TreeViewHandler } from "./types";
2
- import { BoxProps } from "../Box";
3
- declare const TreeView: import("react").ForwardRefExoticComponent<Omit<BoxProps, "tag"> & {
2
+ declare const TreeView: import("react").ForwardRefExoticComponent<Omit<import("..").BoxProps, "tag"> & {
4
3
  tag?: string;
5
4
  roots: string[];
6
5
  nodes: import("./types").TreeNode[];
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx as _jsx } from "react/jsx-runtime";
2
3
  import { forwardRef, useEffect, useImperativeHandle, useState } from "react";
3
4
  import Box from "../Box";
@@ -19,6 +20,7 @@ const TreeView = forwardRef((props, ref) => {
19
20
  }, [_selected]);
20
21
  return _jsx(Box, { className: `--treeview flex cols`, children: nodes
21
22
  .filter(node => roots.includes(node.tag))
22
- .map(node => _jsx(TreeItem, { treeTag: treeViewTag ? `-${treeViewTag}` : ``, selected: selected, onSelect: e => handleSelect(e), icons: icons, meta: node, skeleton: rest.skeleton, nodes: nodes }, `--node-${node.tag}`)) });
23
+ .map(node => _jsx(TreeItem, { treeTag: treeViewTag ? `-${treeViewTag}` : ``, selected: selected, onSelect: e => handleSelect(e), icons: icons, meta: node, roots: roots, expanded: node.expanded || false, skeleton: rest.skeleton, nodes: nodes }, `--node-${node.tag}`)) });
23
24
  });
25
+ TreeView.displayName = `ZuzUI.TreeView`;
24
26
  export default TreeView;
@@ -1,9 +1,10 @@
1
1
  import { TreeItemHandler } from "./types";
2
- import { BoxProps } from "../Box";
3
- declare const TreeItem: import("react").ForwardRefExoticComponent<BoxProps & {
2
+ declare const TreeItem: import("react").ForwardRefExoticComponent<import("..").BoxProps & {
4
3
  treeTag: string;
5
4
  meta: import("./types").TreeNode;
6
5
  nodes: import("./types").TreeNode[];
6
+ expanded: boolean;
7
+ roots: string[];
7
8
  onSelect: (tag: string) => void;
8
9
  selected?: String;
9
10
  icons?: import("./types").TreeNodeIcons;
@@ -1,28 +1,33 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { forwardRef, useEffect, useState } from "react";
2
+ import { forwardRef, useEffect, useMemo, useState } from "react";
3
3
  import Box from "../Box";
4
4
  import Button from "../Button";
5
5
  import Icon from "../Icon";
6
6
  import Text from "../Text";
7
7
  import SVGIcons from "../svgicons";
8
8
  const TreeItem = forwardRef((props, ref) => {
9
- const { as, meta, nodes, icons, onSelect, treeTag, selected, ...rest } = props;
9
+ const { as, meta, nodes, icons, onSelect, treeTag, selected, roots, expanded, ...rest } = props;
10
10
  const { tag, label, icon, under, isHead } = meta;
11
- const [isOpen, setIsOpen] = useState(tag == `root`);
11
+ const isRoot = useMemo(() => roots.includes(tag), [roots]);
12
+ const [isOpen, setIsOpen] = useState(expanded);
12
13
  const toggle = () => {
13
14
  localStorage.setItem(`--tn${treeTag}-${tag}`, isOpen ? `0` : `1`);
14
15
  setIsOpen(!isOpen);
15
16
  };
16
17
  useEffect(() => {
17
- if (tag == `root` && !localStorage.getItem(`--tn${treeTag}-${tag}`)) {
18
+ if (expanded || (isRoot && !localStorage.getItem(`--tn${treeTag}-${tag}`))) {
18
19
  localStorage.setItem(`--tn${treeTag}-${tag}`, `1`);
19
20
  setIsOpen(true);
20
21
  }
21
22
  else
22
23
  setIsOpen(localStorage.getItem(`--tn${treeTag}-${tag}`) == `1`);
23
24
  }, []);
24
- const _nodes = nodes.filter(x => x.under == tag);
25
- return _jsxs(Box, { className: `--treenode --treenode-${tag} flex cols`, children: [_jsxs(Box, { className: `--node --node-${tag} flex aic${selected == tag ? ` --selected` : ``}`, children: [_jsx(Button, { skeleton: rest.skeleton, onClick: toggle, className: `--node-aro-btn`, disabled: _nodes.length == 0, children: icons ? _jsx(Icon, { skeleton: rest.skeleton, className: `--node-aro-icon`, name: _nodes.length == 0 ? icons?.arrowDisabled || icons?.arrowClose : isOpen ? icons?.arrowOpen : icons?.arrowClose })
26
- : _nodes.length == 0 ? SVGIcons.chevronBottom : isOpen ? SVGIcons.chevronBottom : SVGIcons.chevronRight }), _jsxs(Button, { className: `--node-meta flex aic`, onClick: (e) => onSelect(tag), children: [icons?.nodeOpen && icons?.nodeClose && _jsx(Icon, { skeleton: rest.skeleton, className: `--node-icon`, name: icon || (isOpen ? icons?.nodeOpen : icons?.nodeClose) }), _jsx(Text, { ...{ className: `--node-label` }, skeleton: rest.skeleton, children: label })] })] }), isOpen && _nodes.length > 0 && _jsx(Box, { className: `--sub-node tree-sub-node-${tag} flex cols`, children: _nodes.map(node => _jsx(TreeItem, { treeTag: treeTag, selected: selected, onSelect: onSelect, icons: icons, meta: node, nodes: nodes }, `--node-${node.tag}`)) })] });
25
+ const _nodes = useMemo(() => nodes.filter(x => x.under == tag), [nodes, tag]);
26
+ return _jsxs(Box, { className: `--treenode ${isRoot ? `--is-root` : ``} --treenode-${tag} flex cols`, children: [_jsxs(Box, { className: `--node --node-${tag} flex aic ${selected == tag ? ` --selected` : ``}`, children: [_jsx(Button, { skeleton: rest.skeleton, onClick: toggle, className: `--node-aro-btn`, disabled: _nodes.length == 0, children: icons?.arrowClose && icons?.arrowOpen ? _jsx(Icon, { skeleton: rest.skeleton, className: `--node-aro-icon`, name: _nodes.length == 0 ? icons?.arrowDisabled || icons?.arrowClose : isOpen ? icons?.arrowOpen : icons?.arrowClose })
27
+ : _nodes.length == 0 ? SVGIcons.chevronBottom : isOpen ? SVGIcons.chevronBottom : SVGIcons.chevronRight }), _jsxs(Button, { className: `--node-meta flex aic`, onClick: (e) => onSelect(tag), children: [((icons?.nodeOpen && icons?.nodeClose) || (isRoot && icons?.rootOpen && icons?.rootClose)) &&
28
+ _jsx(Icon, { skeleton: rest.skeleton, className: `--node-icon ${isRoot ? `--icon-root` : ``}`, name: icon || (isOpen ?
29
+ isRoot ? icons?.rootOpen || icons.nodeOpen : icons.nodeOpen
30
+ : isRoot ? icons?.rootClose || icons?.nodeClose : icons?.nodeClose) }), _jsx(Text, { ...{ className: `--node-label` }, skeleton: rest.skeleton, children: label })] })] }), isOpen && _nodes.length > 0 && _jsx(Box, { className: `--sub-node tree-sub-node-${tag} flex cols`, children: _nodes.map(node => _jsx(TreeItem, { treeTag: treeTag, selected: selected, onSelect: onSelect, icons: icons, roots: roots, expanded: node.expanded || false, meta: node, nodes: nodes }, `--node-${node.tag}`)) })] });
27
31
  });
32
+ TreeItem.displayName = `TreeItem`;
28
33
  export default TreeItem;
@@ -1,10 +1,12 @@
1
1
  import { ReactNode } from "react";
2
2
  import { BoxProps } from "../Box";
3
3
  export interface TreeNodeIcons {
4
+ rootOpen?: ReactNode;
5
+ rootClose?: ReactNode;
4
6
  nodeOpen?: ReactNode;
5
7
  nodeClose?: ReactNode;
6
- arrowOpen: ReactNode;
7
- arrowClose: ReactNode;
8
+ arrowOpen?: ReactNode;
9
+ arrowClose?: ReactNode;
8
10
  arrowDisabled?: ReactNode;
9
11
  }
10
12
  export type TreeViewProps = Omit<BoxProps, `tag`> & {
@@ -31,6 +33,8 @@ export type TreeItemProps = BoxProps & {
31
33
  treeTag: string;
32
34
  meta: TreeNode;
33
35
  nodes: TreeNode[];
36
+ expanded: boolean;
37
+ roots: string[];
34
38
  onSelect: (tag: string) => void;
35
39
  selected?: String;
36
40
  icons?: TreeNodeIcons;
@@ -0,0 +1,2 @@
1
+ declare const VideoPlayer: import("react").ForwardRefExoticComponent<import("react").RefAttributes<unknown>>;
2
+ export default VideoPlayer;
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import Box from "../Box";
4
+ const VideoPlayer = forwardRef((props, ref) => {
5
+ return _jsx(Box, {});
6
+ });
7
+ export default VideoPlayer;
@@ -9,7 +9,7 @@ export { default as AutoComplete } from './AutoComplete';
9
9
  export * from './AutoComplete/types';
10
10
  export { default as Avatar } from './Avatar';
11
11
  export * from './Avatar/types';
12
- export { type BoxProps, default as Box } from './Box';
12
+ export { default as Box, type BoxProps } from './Box';
13
13
  export { default as Button } from './Button';
14
14
  export * from './Button/types';
15
15
  export { default as CheckBox } from './CheckBox';
@@ -19,7 +19,9 @@ export { default as ContextMenu } from './ContextMenu';
19
19
  export * from './ContextMenu/types';
20
20
  export { default as CookiesConsent } from './CookiesConsent';
21
21
  export * from './CookiesConsent/types';
22
- export { type CoverProps, default as Cover } from './Cover';
22
+ export { default as Cover, type CoverProps } from './Cover';
23
+ export { default as Crumb } from './Crumb';
24
+ export * from './Crumb/types';
23
25
  export { default as Drawer } from './Drawer';
24
26
  export * from './Drawer/types';
25
27
  /**Editor */
@@ -29,43 +31,49 @@ export * from './Editor/types';
29
31
  export { default as withEditor } from './Editor/withEditor';
30
32
  export { default as Fab } from './Fab';
31
33
  export * from './Fab/types';
32
- export { type FilterProps, default as Filters } from './Filters';
33
- export { type FormProps, default as Form } from './Form';
34
- export { type IconProps, default as Icon } from './Icon';
35
- export { type ImageProps, default as Image } from './Image';
36
- export { type InputProps, default as Input } from './Input';
37
- export { type LabelProps, default as Label } from './Label';
34
+ export { default as Filters, type FilterProps } from './Filters';
35
+ export { default as Form } from './Form';
36
+ export * from './Form/types';
37
+ export { default as Icon, type IconProps } from './Icon';
38
+ export { default as Image, type ImageProps } from './Image';
39
+ export { default as Input, type InputProps } from './Input';
40
+ export { default as KeyboardKeys } from './KeyboardKeys';
41
+ export * from './KeyboardKeys/types';
42
+ export { default as Label, type LabelProps } from './Label';
38
43
  export { default as List } from './List';
39
44
  export * from './List/types';
40
45
  export { default as NetworkStatus } from './Network';
41
46
  export * from './Network/types';
42
- export { type OverlayProps, default as Overlay } from './Overlay';
43
- export { type PasswordProps, default as Password } from './Password';
44
- export { type PinInputProps, default as PinInput } from './PinInput';
47
+ export { default as Overlay, type OverlayProps } from './Overlay';
48
+ export { default as Password, type PasswordProps } from './Password';
49
+ export { default as PinInput, type PinInputProps } from './PinInput';
45
50
  export { default as Pagination } from './Pagination';
46
51
  export * from './Pagination/types';
47
52
  export { default as ProgressBar } from './ProgressBar';
48
53
  export * from './ProgressBar/types';
49
54
  export { default as Radio } from './Radio';
50
55
  export * from './Radio/types';
51
- export { type SearchProps, default as Search } from './Search';
56
+ export { default as ScrollView } from './ScrollView';
57
+ export * from './ScrollView/types';
58
+ export { default as Search } from './Search';
59
+ export * from './Search/types';
52
60
  export { default as SelectTabs } from './Segmented';
53
61
  export * from './Segmented/types';
54
62
  export { default as Select } from './Select';
55
63
  export * from './Select/types';
56
- export { type SheetProps, type SheetHandler, default as Sheet } from './Sheet';
64
+ export { default as Sheet, type SheetHandler, type SheetProps } from './Sheet';
57
65
  export { default as SideBar } from './Sidebar';
58
66
  export * from './Sidebar/types';
59
- export { type SliderProps, default as Slider } from './Slider';
60
- export { type SpanProps, default as Span } from './Span';
61
- export { type SpinnerProps, default as Spinner } from './Spinner';
67
+ export { default as Slider, type SliderProps } from './Slider';
68
+ export { default as Span, type SpanProps } from './Span';
69
+ export { default as Spinner, type SpinnerProps } from './Spinner';
62
70
  export { default as Switch } from './Switch';
63
71
  export { default as Table } from './Table';
64
72
  export * from './Table/types';
65
73
  export { default as TabView } from './TabView';
66
74
  export * from './TabView/types';
67
- export { type TextProps, default as Text } from './Text';
68
- export { type TextAreaProps, default as Textarea } from './TextArea';
75
+ export { default as Text, type TextProps } from './Text';
76
+ export { default as Textarea, type TextAreaProps } from './TextArea';
69
77
  export { default as TextWheel } from './TextWheel';
70
78
  export * from './TextWheel/types';
71
79
  export { default as ToolTip } from './Tooltip';