funda-ui 4.5.682 → 4.5.711

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 (506) hide show
  1. package/.gitattributes +2 -0
  2. package/README.md +105 -4
  3. package/README_PUBLISH.md +126 -0
  4. package/lib/cjs/DragDropList/index.d.ts +1 -0
  5. package/lib/cjs/DragDropList/index.js +4 -6
  6. package/lib/cjs/MultipleSelect/index.d.ts +1 -0
  7. package/lib/cjs/MultipleSelect/index.js +23 -25
  8. package/lib/cjs/Textarea/index.d.ts +1 -0
  9. package/lib/cjs/Textarea/index.js +55 -13
  10. package/lib/cjs/Tree/index.d.ts +1 -0
  11. package/lib/cjs/Tree/index.js +29 -0
  12. package/lib/cjs/Utils/useAutosizeTextArea.d.ts +4 -1
  13. package/lib/cjs/Utils/useAutosizeTextArea.js +37 -2
  14. package/lib/cjs/Utils/useBoundedDrag.d.ts +0 -2
  15. package/lib/cjs/Utils/useBoundedDrag.js +0 -2
  16. package/lib/cjs/Utils/useIsMobile.d.ts +2 -0
  17. package/lib/cjs/Utils/useIsMobile.js +168 -0
  18. package/lib/cjs/index.js +0 -1
  19. package/lib/esm/DragDropList/index.tsx +1 -0
  20. package/lib/esm/MultipleSelect/index.tsx +1 -0
  21. package/lib/esm/Textarea/index.tsx +17 -12
  22. package/lib/esm/Tree/TreeList.tsx +32 -0
  23. package/lib/esm/Tree/index.tsx +3 -0
  24. package/lib/esm/Utils/hooks/useAutosizeTextArea.tsx +39 -4
  25. package/lib/esm/Utils/hooks/useBoundedDrag.tsx +0 -2
  26. package/lib/esm/Utils/hooks/useIsMobile.tsx +56 -0
  27. package/logo.png +0 -0
  28. package/package.json +556 -11
  29. package/preview.png +0 -0
  30. package/{DragDropList → publish/DragDropList}/index.d.ts +1 -0
  31. package/{DragDropList → publish/DragDropList}/index.js +4 -6
  32. package/publish/LICENSE +21 -0
  33. package/{MultipleSelect → publish/MultipleSelect}/index.d.ts +1 -0
  34. package/{MultipleSelect → publish/MultipleSelect}/index.js +23 -25
  35. package/publish/README.md +126 -0
  36. package/{Textarea → publish/Textarea}/index.d.ts +1 -0
  37. package/{Textarea → publish/Textarea}/index.js +55 -13
  38. package/{Tree → publish/Tree}/index.d.ts +1 -0
  39. package/{Tree → publish/Tree}/index.js +29 -0
  40. package/{Utils → publish/Utils}/useAutosizeTextArea.d.ts +4 -1
  41. package/{Utils → publish/Utils}/useAutosizeTextArea.js +37 -2
  42. package/{Utils → publish/Utils}/useBoundedDrag.d.ts +0 -2
  43. package/{Utils → publish/Utils}/useBoundedDrag.js +0 -2
  44. package/publish/Utils/useIsMobile.d.ts +2 -0
  45. package/publish/Utils/useIsMobile.js +168 -0
  46. package/{all.js → publish/all.js} +0 -1
  47. package/publish/lib/cjs/Accordion/index.d.ts +2 -0
  48. package/publish/lib/cjs/Accordion/index.js +1035 -0
  49. package/publish/lib/cjs/BackToTop/index.d.ts +17 -0
  50. package/publish/lib/cjs/BackToTop/index.js +904 -0
  51. package/publish/lib/cjs/CascadingSelect/index.d.ts +60 -0
  52. package/publish/lib/cjs/CascadingSelect/index.js +2943 -0
  53. package/publish/lib/cjs/CascadingSelectE2E/index.d.ts +71 -0
  54. package/publish/lib/cjs/CascadingSelectE2E/index.js +3540 -0
  55. package/publish/lib/cjs/Checkbox/index.d.ts +28 -0
  56. package/publish/lib/cjs/Checkbox/index.js +662 -0
  57. package/publish/lib/cjs/ColorPicker/index.d.ts +27 -0
  58. package/publish/lib/cjs/ColorPicker/index.js +662 -0
  59. package/publish/lib/cjs/Date/index.d.ts +70 -0
  60. package/publish/lib/cjs/Date/index.js +6200 -0
  61. package/publish/lib/cjs/DigitalClock/index.d.ts +7 -0
  62. package/publish/lib/cjs/DigitalClock/index.js +402 -0
  63. package/publish/lib/cjs/DragDropList/index.d.ts +44 -0
  64. package/publish/lib/cjs/DragDropList/index.js +1587 -0
  65. package/publish/lib/cjs/DropdownMenu/index.d.ts +38 -0
  66. package/publish/lib/cjs/DropdownMenu/index.js +1498 -0
  67. package/publish/lib/cjs/DynamicFields/index.d.ts +40 -0
  68. package/publish/lib/cjs/DynamicFields/index.js +810 -0
  69. package/publish/lib/cjs/EventCalendar/index.d.ts +61 -0
  70. package/publish/lib/cjs/EventCalendar/index.js +3740 -0
  71. package/publish/lib/cjs/EventCalendarTimeline/index.d.ts +100 -0
  72. package/publish/lib/cjs/EventCalendarTimeline/index.js +6084 -0
  73. package/publish/lib/cjs/File/index.d.ts +40 -0
  74. package/publish/lib/cjs/File/index.js +1751 -0
  75. package/publish/lib/cjs/HorizontalScrollContent/index.d.ts +14 -0
  76. package/publish/lib/cjs/HorizontalScrollContent/index.js +426 -0
  77. package/publish/lib/cjs/Input/index.d.ts +59 -0
  78. package/publish/lib/cjs/Input/index.js +1455 -0
  79. package/publish/lib/cjs/LiveSearch/index.d.ts +69 -0
  80. package/publish/lib/cjs/LiveSearch/index.js +3626 -0
  81. package/publish/lib/cjs/MasonryLayout/index.d.ts +14 -0
  82. package/publish/lib/cjs/MasonryLayout/index.js +689 -0
  83. package/publish/lib/cjs/ModalDialog/index.d.ts +79 -0
  84. package/publish/lib/cjs/ModalDialog/index.js +1695 -0
  85. package/publish/lib/cjs/ModeSwitch/index.d.ts +17 -0
  86. package/publish/lib/cjs/ModeSwitch/index.js +202 -0
  87. package/publish/lib/cjs/MultilevelDropdownMenu/index.d.ts +20 -0
  88. package/publish/lib/cjs/MultilevelDropdownMenu/index.js +930 -0
  89. package/publish/lib/cjs/MultipleCheckboxes/index.d.ts +41 -0
  90. package/publish/lib/cjs/MultipleCheckboxes/index.js +1717 -0
  91. package/publish/lib/cjs/MultipleSelect/index.d.ts +65 -0
  92. package/publish/lib/cjs/MultipleSelect/index.js +3704 -0
  93. package/publish/lib/cjs/NativeSelect/index.d.ts +37 -0
  94. package/publish/lib/cjs/NativeSelect/index.js +1631 -0
  95. package/publish/lib/cjs/NumberInput/index.d.ts +40 -0
  96. package/publish/lib/cjs/NumberInput/index.js +1188 -0
  97. package/publish/lib/cjs/Pagination/index.d.ts +51 -0
  98. package/publish/lib/cjs/Pagination/index.js +612 -0
  99. package/publish/lib/cjs/Radio/index.d.ts +45 -0
  100. package/publish/lib/cjs/Radio/index.js +1391 -0
  101. package/publish/lib/cjs/RangeSlider/index.d.ts +22 -0
  102. package/publish/lib/cjs/RangeSlider/index.js +2665 -0
  103. package/publish/lib/cjs/RootPortal/index.d.ts +8 -0
  104. package/publish/lib/cjs/RootPortal/index.js +141 -0
  105. package/publish/lib/cjs/ScrollReveal/index.d.ts +21 -0
  106. package/publish/lib/cjs/ScrollReveal/index.js +401 -0
  107. package/publish/lib/cjs/Scrollbar/index.d.ts +17 -0
  108. package/publish/lib/cjs/Scrollbar/index.js +1107 -0
  109. package/publish/lib/cjs/SearchBar/index.d.ts +41 -0
  110. package/publish/lib/cjs/SearchBar/index.js +701 -0
  111. package/publish/lib/cjs/Select/index.d.ts +99 -0
  112. package/publish/lib/cjs/Select/index.js +5697 -0
  113. package/publish/lib/cjs/ShowMoreLess/index.d.ts +36 -0
  114. package/publish/lib/cjs/ShowMoreLess/index.js +387 -0
  115. package/publish/lib/cjs/Switch/index.d.ts +25 -0
  116. package/publish/lib/cjs/Switch/index.js +628 -0
  117. package/publish/lib/cjs/Table/index.d.ts +12 -0
  118. package/publish/lib/cjs/Table/index.js +2062 -0
  119. package/publish/lib/cjs/Tabs/index.d.ts +3 -0
  120. package/publish/lib/cjs/Tabs/index.js +771 -0
  121. package/publish/lib/cjs/TagInput/index.d.ts +31 -0
  122. package/publish/lib/cjs/TagInput/index.js +1144 -0
  123. package/publish/lib/cjs/Textarea/index.d.ts +50 -0
  124. package/publish/lib/cjs/Textarea/index.js +1784 -0
  125. package/publish/lib/cjs/Toast/index.d.ts +34 -0
  126. package/publish/lib/cjs/Toast/index.js +861 -0
  127. package/publish/lib/cjs/Tooltip/index.d.ts +23 -0
  128. package/publish/lib/cjs/Tooltip/index.js +1674 -0
  129. package/publish/lib/cjs/Tree/index.d.ts +62 -0
  130. package/publish/lib/cjs/Tree/index.js +1960 -0
  131. package/publish/lib/cjs/Utils/anim.d.ts +11 -0
  132. package/publish/lib/cjs/Utils/anim.js +400 -0
  133. package/publish/lib/cjs/Utils/bodyScrollLock.d.ts +8 -0
  134. package/publish/lib/cjs/Utils/bodyScrollLock.js +311 -0
  135. package/publish/lib/cjs/Utils/buffer.d.ts +67 -0
  136. package/publish/lib/cjs/Utils/buffer.js +343 -0
  137. package/publish/lib/cjs/Utils/cls.d.ts +15 -0
  138. package/publish/lib/cjs/Utils/cls.js +124 -0
  139. package/publish/lib/cjs/Utils/convert.d.ts +25 -0
  140. package/publish/lib/cjs/Utils/convert.js +109 -0
  141. package/publish/lib/cjs/Utils/date.d.ts +217 -0
  142. package/publish/lib/cjs/Utils/date.js +567 -0
  143. package/publish/lib/cjs/Utils/dom.d.ts +13 -0
  144. package/publish/lib/cjs/Utils/dom.js +215 -0
  145. package/publish/lib/cjs/Utils/easing.d.ts +29 -0
  146. package/publish/lib/cjs/Utils/easing.js +221 -0
  147. package/publish/lib/cjs/Utils/extract.d.ts +28 -0
  148. package/publish/lib/cjs/Utils/extract.js +130 -0
  149. package/publish/lib/cjs/Utils/getElementProperty.d.ts +52 -0
  150. package/publish/lib/cjs/Utils/getElementProperty.js +189 -0
  151. package/publish/lib/cjs/Utils/guid.d.ts +7 -0
  152. package/publish/lib/cjs/Utils/guid.js +67 -0
  153. package/publish/lib/cjs/Utils/initDefaultOptions.d.ts +21 -0
  154. package/publish/lib/cjs/Utils/initDefaultOptions.js +131 -0
  155. package/publish/lib/cjs/Utils/inputsCalculation.d.ts +28 -0
  156. package/publish/lib/cjs/Utils/inputsCalculation.js +188 -0
  157. package/publish/lib/cjs/Utils/math.d.ts +77 -0
  158. package/publish/lib/cjs/Utils/math.js +305 -0
  159. package/publish/lib/cjs/Utils/object.d.ts +18 -0
  160. package/publish/lib/cjs/Utils/object.js +120 -0
  161. package/publish/lib/cjs/Utils/os.d.ts +2 -0
  162. package/publish/lib/cjs/Utils/os.js +104 -0
  163. package/publish/lib/cjs/Utils/performance.d.ts +3 -0
  164. package/publish/lib/cjs/Utils/performance.js +94 -0
  165. package/publish/lib/cjs/Utils/tree.d.ts +40 -0
  166. package/publish/lib/cjs/Utils/tree.js +195 -0
  167. package/publish/lib/cjs/Utils/useAutosizeTextArea.d.ts +10 -0
  168. package/publish/lib/cjs/Utils/useAutosizeTextArea.js +227 -0
  169. package/publish/lib/cjs/Utils/useBoundedDrag.d.ts +125 -0
  170. package/publish/lib/cjs/Utils/useBoundedDrag.js +380 -0
  171. package/publish/lib/cjs/Utils/useClickOutside.d.ts +33 -0
  172. package/publish/lib/cjs/Utils/useClickOutside.js +166 -0
  173. package/publish/lib/cjs/Utils/useComId.d.ts +6 -0
  174. package/publish/lib/cjs/Utils/useComId.js +114 -0
  175. package/publish/lib/cjs/Utils/useDebounce.d.ts +20 -0
  176. package/publish/lib/cjs/Utils/useDebounce.js +138 -0
  177. package/publish/lib/cjs/Utils/useDragDropPosition.d.ts +169 -0
  178. package/publish/lib/cjs/Utils/useDragDropPosition.js +456 -0
  179. package/publish/lib/cjs/Utils/useDraggable.d.ts +62 -0
  180. package/publish/lib/cjs/Utils/useDraggable.js +348 -0
  181. package/publish/lib/cjs/Utils/useInterval.d.ts +5 -0
  182. package/publish/lib/cjs/Utils/useInterval.js +168 -0
  183. package/publish/lib/cjs/Utils/useIsMobile.d.ts +2 -0
  184. package/publish/lib/cjs/Utils/useIsMobile.js +168 -0
  185. package/publish/lib/cjs/Utils/useKeyPress.d.ts +44 -0
  186. package/publish/lib/cjs/Utils/useKeyPress.js +200 -0
  187. package/publish/lib/cjs/Utils/useThrottle.d.ts +2 -0
  188. package/publish/lib/cjs/Utils/useThrottle.js +136 -0
  189. package/publish/lib/cjs/Utils/useWindowScroll.d.ts +12 -0
  190. package/publish/lib/cjs/Utils/useWindowScroll.js +217 -0
  191. package/publish/lib/cjs/Utils/viewport.d.ts +7 -0
  192. package/publish/lib/cjs/Utils/viewport.js +64 -0
  193. package/publish/lib/cjs/index.d.ts +45 -0
  194. package/publish/lib/cjs/index.js +46 -0
  195. package/publish/lib/css/BackToTop/index.css +34 -0
  196. package/publish/lib/css/CascadingSelect/index.css +216 -0
  197. package/publish/lib/css/CascadingSelectE2E/index.css +216 -0
  198. package/publish/lib/css/ColorPicker/index.css +58 -0
  199. package/publish/lib/css/Date/index.css +434 -0
  200. package/publish/lib/css/DragDropList/index.css +188 -0
  201. package/publish/lib/css/DropdownMenu/index.css +151 -0
  202. package/publish/lib/css/EventCalendar/index.css +300 -0
  203. package/publish/lib/css/EventCalendarTimeline/index.css +694 -0
  204. package/publish/lib/css/HorizontalScrollContent/index.css +70 -0
  205. package/publish/lib/css/LiveSearch/index.css +55 -0
  206. package/publish/lib/css/MultilevelDropdownMenu/index.css +38 -0
  207. package/publish/lib/css/MultipleSelect/index.css +313 -0
  208. package/publish/lib/css/RangeSlider/index.css +150 -0
  209. package/publish/lib/css/Scrollbar/index.css +176 -0
  210. package/publish/lib/css/Select/index.css +368 -0
  211. package/publish/lib/css/ShowMoreLess/index.css +23 -0
  212. package/publish/lib/css/Table/index.css +584 -0
  213. package/publish/lib/css/TagInput/index.css +91 -0
  214. package/publish/lib/css/Toast/index.css +201 -0
  215. package/publish/lib/css/Tooltip/index.css +197 -0
  216. package/publish/lib/css/Tree/index.css +232 -0
  217. package/publish/lib/esm/Accordion/Accordion.tsx +184 -0
  218. package/publish/lib/esm/Accordion/AccordionItem.tsx +143 -0
  219. package/publish/lib/esm/Accordion/index.tsx +2 -0
  220. package/publish/lib/esm/BackToTop/index.scss +47 -0
  221. package/publish/lib/esm/BackToTop/index.tsx +177 -0
  222. package/publish/lib/esm/CascadingSelect/Group.tsx +82 -0
  223. package/publish/lib/esm/CascadingSelect/index.scss +291 -0
  224. package/publish/lib/esm/CascadingSelect/index.tsx +1203 -0
  225. package/publish/lib/esm/CascadingSelectE2E/Group.tsx +83 -0
  226. package/publish/lib/esm/CascadingSelectE2E/index.scss +293 -0
  227. package/publish/lib/esm/CascadingSelectE2E/index.tsx +1471 -0
  228. package/publish/lib/esm/Checkbox/index.tsx +193 -0
  229. package/publish/lib/esm/ColorPicker/index.scss +91 -0
  230. package/publish/lib/esm/ColorPicker/index.tsx +204 -0
  231. package/publish/lib/esm/Date/Calendar.tsx +723 -0
  232. package/publish/lib/esm/Date/index.scss +567 -0
  233. package/publish/lib/esm/Date/index.tsx +1683 -0
  234. package/publish/lib/esm/Date/localization/en_US.js +13 -0
  235. package/publish/lib/esm/Date/localization/zh_CN.js +12 -0
  236. package/publish/lib/esm/DigitalClock/index.tsx +74 -0
  237. package/publish/lib/esm/DragDropList/index.scss +245 -0
  238. package/publish/lib/esm/DragDropList/index.tsx +494 -0
  239. package/publish/lib/esm/DropdownMenu/Option.tsx +55 -0
  240. package/publish/lib/esm/DropdownMenu/index.scss +205 -0
  241. package/publish/lib/esm/DropdownMenu/index.tsx +377 -0
  242. package/publish/lib/esm/DynamicFields/index.tsx +404 -0
  243. package/publish/lib/esm/EventCalendar/index.scss +407 -0
  244. package/publish/lib/esm/EventCalendar/index.tsx +1004 -0
  245. package/publish/lib/esm/EventCalendarTimeline/index.scss +926 -0
  246. package/publish/lib/esm/EventCalendarTimeline/index.tsx +2683 -0
  247. package/publish/lib/esm/File/index.tsx +477 -0
  248. package/publish/lib/esm/HorizontalScrollContent/index.scss +87 -0
  249. package/publish/lib/esm/HorizontalScrollContent/index.tsx +171 -0
  250. package/publish/lib/esm/Input/index.tsx +614 -0
  251. package/publish/lib/esm/LiveSearch/index.scss +82 -0
  252. package/publish/lib/esm/LiveSearch/index.tsx +960 -0
  253. package/publish/lib/esm/MasonryLayout/index.tsx +326 -0
  254. package/publish/lib/esm/ModalDialog/index.tsx +552 -0
  255. package/publish/lib/esm/ModeSwitch/index.tsx +82 -0
  256. package/publish/lib/esm/MultilevelDropdownMenu/ItemList.tsx +265 -0
  257. package/publish/lib/esm/MultilevelDropdownMenu/index.scss +79 -0
  258. package/publish/lib/esm/MultilevelDropdownMenu/index.tsx +77 -0
  259. package/publish/lib/esm/MultipleCheckboxes/index.tsx +669 -0
  260. package/publish/lib/esm/MultipleSelect/index.scss +398 -0
  261. package/publish/lib/esm/MultipleSelect/index.tsx +766 -0
  262. package/publish/lib/esm/MultipleSelect/utils/func.ts +61 -0
  263. package/publish/lib/esm/NativeSelect/index.tsx +396 -0
  264. package/publish/lib/esm/NativeSelect/utils/func.ts +49 -0
  265. package/publish/lib/esm/NumberInput/index.tsx +385 -0
  266. package/publish/lib/esm/Pagination/index.tsx +286 -0
  267. package/publish/lib/esm/Pagination/pagination-navigators.tsx +60 -0
  268. package/publish/lib/esm/Radio/index.tsx +670 -0
  269. package/publish/lib/esm/RangeSlider/index.scss +186 -0
  270. package/publish/lib/esm/RangeSlider/index.tsx +241 -0
  271. package/publish/lib/esm/RootPortal/index.tsx +53 -0
  272. package/publish/lib/esm/ScrollReveal/index.tsx +148 -0
  273. package/publish/lib/esm/Scrollbar/index.scss +221 -0
  274. package/publish/lib/esm/Scrollbar/index.tsx +561 -0
  275. package/publish/lib/esm/SearchBar/index.tsx +253 -0
  276. package/publish/lib/esm/Select/index.scss +553 -0
  277. package/publish/lib/esm/Select/index.tsx +2816 -0
  278. package/publish/lib/esm/Select/utils/func.ts +106 -0
  279. package/publish/lib/esm/ShowMoreLess/index.scss +27 -0
  280. package/publish/lib/esm/ShowMoreLess/index.tsx +145 -0
  281. package/publish/lib/esm/Switch/index.tsx +147 -0
  282. package/publish/lib/esm/Table/Table.tsx +257 -0
  283. package/publish/lib/esm/Table/TableBody.tsx +41 -0
  284. package/publish/lib/esm/Table/TableCaption.tsx +34 -0
  285. package/publish/lib/esm/Table/TableCell.tsx +123 -0
  286. package/publish/lib/esm/Table/TableColgroup.tsx +38 -0
  287. package/publish/lib/esm/Table/TableContext.tsx +26 -0
  288. package/publish/lib/esm/Table/TableFoot.tsx +28 -0
  289. package/publish/lib/esm/Table/TableHead.tsx +28 -0
  290. package/publish/lib/esm/Table/TableRow.tsx +76 -0
  291. package/publish/lib/esm/Table/index.scss +418 -0
  292. package/publish/lib/esm/Table/index.tsx +14 -0
  293. package/publish/lib/esm/Table/utils/DragHandleSprite.tsx +46 -0
  294. package/publish/lib/esm/Table/utils/SortSprite.tsx +57 -0
  295. package/publish/lib/esm/Table/utils/TableFilter.tsx +56 -0
  296. package/publish/lib/esm/Table/utils/ToggleSelection.tsx +225 -0
  297. package/publish/lib/esm/Table/utils/func.ts +171 -0
  298. package/publish/lib/esm/Table/utils/hooks/useTableDraggable.tsx +342 -0
  299. package/publish/lib/esm/Table/utils/hooks/useTableKeyPress.tsx +154 -0
  300. package/publish/lib/esm/Table/utils/hooks/useTableResponsive.tsx +92 -0
  301. package/publish/lib/esm/Table/utils/hooks/useTableSort.tsx +143 -0
  302. package/publish/lib/esm/Tabs/TabList.tsx +50 -0
  303. package/publish/lib/esm/Tabs/TabPanel.tsx +44 -0
  304. package/publish/lib/esm/Tabs/Tabs.tsx +282 -0
  305. package/publish/lib/esm/Tabs/index.tsx +3 -0
  306. package/publish/lib/esm/TagInput/index.scss +126 -0
  307. package/publish/lib/esm/TagInput/index.tsx +352 -0
  308. package/publish/lib/esm/Textarea/index.tsx +608 -0
  309. package/publish/lib/esm/Toast/Item.tsx +124 -0
  310. package/publish/lib/esm/Toast/index.scss +269 -0
  311. package/publish/lib/esm/Toast/index.tsx +374 -0
  312. package/publish/lib/esm/Tooltip/index.scss +269 -0
  313. package/publish/lib/esm/Tooltip/index.tsx +312 -0
  314. package/publish/lib/esm/Tree/TreeList.tsx +616 -0
  315. package/publish/lib/esm/Tree/index.scss +386 -0
  316. package/publish/lib/esm/Tree/index.tsx +396 -0
  317. package/publish/lib/esm/Tree/init-height.tsx +27 -0
  318. package/publish/lib/esm/Tree/utils/func.ts +15 -0
  319. package/publish/lib/esm/Utils/hooks/useAutosizeTextArea.tsx +125 -0
  320. package/publish/lib/esm/Utils/hooks/useBoundedDrag.tsx +301 -0
  321. package/publish/lib/esm/Utils/hooks/useClickOutside.tsx +69 -0
  322. package/publish/lib/esm/Utils/hooks/useComId.tsx +13 -0
  323. package/publish/lib/esm/Utils/hooks/useDebounce.tsx +40 -0
  324. package/publish/lib/esm/Utils/hooks/useDragDropPosition.tsx +420 -0
  325. package/publish/lib/esm/Utils/hooks/useDraggable.tsx +265 -0
  326. package/publish/lib/esm/Utils/hooks/useInterval.tsx +74 -0
  327. package/publish/lib/esm/Utils/hooks/useIsMobile.tsx +56 -0
  328. package/publish/lib/esm/Utils/hooks/useKeyPress.tsx +104 -0
  329. package/publish/lib/esm/Utils/hooks/useThrottle.tsx +39 -0
  330. package/publish/lib/esm/Utils/hooks/useWindowScroll.tsx +83 -0
  331. package/publish/lib/esm/Utils/libs/anim.ts +96 -0
  332. package/publish/lib/esm/Utils/libs/buffer.ts +262 -0
  333. package/publish/lib/esm/Utils/libs/cls.ts +64 -0
  334. package/publish/lib/esm/Utils/libs/convert.ts +59 -0
  335. package/publish/lib/esm/Utils/libs/date.ts +578 -0
  336. package/publish/lib/esm/Utils/libs/dom.ts +150 -0
  337. package/publish/lib/esm/Utils/libs/easing.ts +201 -0
  338. package/publish/lib/esm/Utils/libs/extract.ts +86 -0
  339. package/publish/lib/esm/Utils/libs/getElementProperty.ts +150 -0
  340. package/publish/lib/esm/Utils/libs/guid.ts +16 -0
  341. package/publish/lib/esm/Utils/libs/initDefaultOptions.ts +104 -0
  342. package/publish/lib/esm/Utils/libs/inputsCalculation.ts +160 -0
  343. package/publish/lib/esm/Utils/libs/math.ts +276 -0
  344. package/publish/lib/esm/Utils/libs/object.ts +68 -0
  345. package/publish/lib/esm/Utils/libs/os.ts +63 -0
  346. package/publish/lib/esm/Utils/libs/performance.ts +47 -0
  347. package/publish/lib/esm/Utils/libs/tree.ts +119 -0
  348. package/publish/lib/esm/Utils/libs/viewport.ts +20 -0
  349. package/publish/lib/esm/Utils/plugins/bodyScrollLock.ts +286 -0
  350. package/publish/lib/esm/index.js +43 -0
  351. package/publish/package.json +1 -0
  352. /package/{Accordion → publish/Accordion}/index.d.ts +0 -0
  353. /package/{Accordion → publish/Accordion}/index.js +0 -0
  354. /package/{BackToTop → publish/BackToTop}/index.css +0 -0
  355. /package/{BackToTop → publish/BackToTop}/index.d.ts +0 -0
  356. /package/{BackToTop → publish/BackToTop}/index.js +0 -0
  357. /package/{CascadingSelect → publish/CascadingSelect}/index.css +0 -0
  358. /package/{CascadingSelect → publish/CascadingSelect}/index.d.ts +0 -0
  359. /package/{CascadingSelect → publish/CascadingSelect}/index.js +0 -0
  360. /package/{CascadingSelectE2E → publish/CascadingSelectE2E}/index.css +0 -0
  361. /package/{CascadingSelectE2E → publish/CascadingSelectE2E}/index.d.ts +0 -0
  362. /package/{CascadingSelectE2E → publish/CascadingSelectE2E}/index.js +0 -0
  363. /package/{Checkbox → publish/Checkbox}/index.d.ts +0 -0
  364. /package/{Checkbox → publish/Checkbox}/index.js +0 -0
  365. /package/{ColorPicker → publish/ColorPicker}/index.css +0 -0
  366. /package/{ColorPicker → publish/ColorPicker}/index.d.ts +0 -0
  367. /package/{ColorPicker → publish/ColorPicker}/index.js +0 -0
  368. /package/{Date → publish/Date}/index.css +0 -0
  369. /package/{Date → publish/Date}/index.d.ts +0 -0
  370. /package/{Date → publish/Date}/index.js +0 -0
  371. /package/{DigitalClock → publish/DigitalClock}/index.d.ts +0 -0
  372. /package/{DigitalClock → publish/DigitalClock}/index.js +0 -0
  373. /package/{DragDropList → publish/DragDropList}/index.css +0 -0
  374. /package/{DropdownMenu → publish/DropdownMenu}/index.css +0 -0
  375. /package/{DropdownMenu → publish/DropdownMenu}/index.d.ts +0 -0
  376. /package/{DropdownMenu → publish/DropdownMenu}/index.js +0 -0
  377. /package/{DynamicFields → publish/DynamicFields}/index.d.ts +0 -0
  378. /package/{DynamicFields → publish/DynamicFields}/index.js +0 -0
  379. /package/{EventCalendar → publish/EventCalendar}/index.css +0 -0
  380. /package/{EventCalendar → publish/EventCalendar}/index.d.ts +0 -0
  381. /package/{EventCalendar → publish/EventCalendar}/index.js +0 -0
  382. /package/{EventCalendarTimeline → publish/EventCalendarTimeline}/index.css +0 -0
  383. /package/{EventCalendarTimeline → publish/EventCalendarTimeline}/index.d.ts +0 -0
  384. /package/{EventCalendarTimeline → publish/EventCalendarTimeline}/index.js +0 -0
  385. /package/{File → publish/File}/index.d.ts +0 -0
  386. /package/{File → publish/File}/index.js +0 -0
  387. /package/{HorizontalScrollContent → publish/HorizontalScrollContent}/index.css +0 -0
  388. /package/{HorizontalScrollContent → publish/HorizontalScrollContent}/index.d.ts +0 -0
  389. /package/{HorizontalScrollContent → publish/HorizontalScrollContent}/index.js +0 -0
  390. /package/{Input → publish/Input}/index.d.ts +0 -0
  391. /package/{Input → publish/Input}/index.js +0 -0
  392. /package/{LiveSearch → publish/LiveSearch}/index.css +0 -0
  393. /package/{LiveSearch → publish/LiveSearch}/index.d.ts +0 -0
  394. /package/{LiveSearch → publish/LiveSearch}/index.js +0 -0
  395. /package/{MasonryLayout → publish/MasonryLayout}/index.d.ts +0 -0
  396. /package/{MasonryLayout → publish/MasonryLayout}/index.js +0 -0
  397. /package/{ModalDialog → publish/ModalDialog}/index.d.ts +0 -0
  398. /package/{ModalDialog → publish/ModalDialog}/index.js +0 -0
  399. /package/{ModeSwitch → publish/ModeSwitch}/index.d.ts +0 -0
  400. /package/{ModeSwitch → publish/ModeSwitch}/index.js +0 -0
  401. /package/{MultilevelDropdownMenu → publish/MultilevelDropdownMenu}/index.css +0 -0
  402. /package/{MultilevelDropdownMenu → publish/MultilevelDropdownMenu}/index.d.ts +0 -0
  403. /package/{MultilevelDropdownMenu → publish/MultilevelDropdownMenu}/index.js +0 -0
  404. /package/{MultipleCheckboxes → publish/MultipleCheckboxes}/index.d.ts +0 -0
  405. /package/{MultipleCheckboxes → publish/MultipleCheckboxes}/index.js +0 -0
  406. /package/{MultipleSelect → publish/MultipleSelect}/index.css +0 -0
  407. /package/{NativeSelect → publish/NativeSelect}/index.d.ts +0 -0
  408. /package/{NativeSelect → publish/NativeSelect}/index.js +0 -0
  409. /package/{NumberInput → publish/NumberInput}/index.d.ts +0 -0
  410. /package/{NumberInput → publish/NumberInput}/index.js +0 -0
  411. /package/{Pagination → publish/Pagination}/index.d.ts +0 -0
  412. /package/{Pagination → publish/Pagination}/index.js +0 -0
  413. /package/{Radio → publish/Radio}/index.d.ts +0 -0
  414. /package/{Radio → publish/Radio}/index.js +0 -0
  415. /package/{RangeSlider → publish/RangeSlider}/index.css +0 -0
  416. /package/{RangeSlider → publish/RangeSlider}/index.d.ts +0 -0
  417. /package/{RangeSlider → publish/RangeSlider}/index.js +0 -0
  418. /package/{RootPortal → publish/RootPortal}/index.d.ts +0 -0
  419. /package/{RootPortal → publish/RootPortal}/index.js +0 -0
  420. /package/{ScrollReveal → publish/ScrollReveal}/index.d.ts +0 -0
  421. /package/{ScrollReveal → publish/ScrollReveal}/index.js +0 -0
  422. /package/{Scrollbar → publish/Scrollbar}/index.css +0 -0
  423. /package/{Scrollbar → publish/Scrollbar}/index.d.ts +0 -0
  424. /package/{Scrollbar → publish/Scrollbar}/index.js +0 -0
  425. /package/{SearchBar → publish/SearchBar}/index.d.ts +0 -0
  426. /package/{SearchBar → publish/SearchBar}/index.js +0 -0
  427. /package/{Select → publish/Select}/index.css +0 -0
  428. /package/{Select → publish/Select}/index.d.ts +0 -0
  429. /package/{Select → publish/Select}/index.js +0 -0
  430. /package/{ShowMoreLess → publish/ShowMoreLess}/index.css +0 -0
  431. /package/{ShowMoreLess → publish/ShowMoreLess}/index.d.ts +0 -0
  432. /package/{ShowMoreLess → publish/ShowMoreLess}/index.js +0 -0
  433. /package/{Switch → publish/Switch}/index.d.ts +0 -0
  434. /package/{Switch → publish/Switch}/index.js +0 -0
  435. /package/{Table → publish/Table}/index.css +0 -0
  436. /package/{Table → publish/Table}/index.d.ts +0 -0
  437. /package/{Table → publish/Table}/index.js +0 -0
  438. /package/{Tabs → publish/Tabs}/index.d.ts +0 -0
  439. /package/{Tabs → publish/Tabs}/index.js +0 -0
  440. /package/{TagInput → publish/TagInput}/index.css +0 -0
  441. /package/{TagInput → publish/TagInput}/index.d.ts +0 -0
  442. /package/{TagInput → publish/TagInput}/index.js +0 -0
  443. /package/{Toast → publish/Toast}/index.css +0 -0
  444. /package/{Toast → publish/Toast}/index.d.ts +0 -0
  445. /package/{Toast → publish/Toast}/index.js +0 -0
  446. /package/{Tooltip → publish/Tooltip}/index.css +0 -0
  447. /package/{Tooltip → publish/Tooltip}/index.d.ts +0 -0
  448. /package/{Tooltip → publish/Tooltip}/index.js +0 -0
  449. /package/{Tree → publish/Tree}/index.css +0 -0
  450. /package/{Utils → publish/Utils}/anim.d.ts +0 -0
  451. /package/{Utils → publish/Utils}/anim.js +0 -0
  452. /package/{Utils → publish/Utils}/bodyScrollLock.d.ts +0 -0
  453. /package/{Utils → publish/Utils}/bodyScrollLock.js +0 -0
  454. /package/{Utils → publish/Utils}/buffer.d.ts +0 -0
  455. /package/{Utils → publish/Utils}/buffer.js +0 -0
  456. /package/{Utils → publish/Utils}/cls.d.ts +0 -0
  457. /package/{Utils → publish/Utils}/cls.js +0 -0
  458. /package/{Utils → publish/Utils}/convert.d.ts +0 -0
  459. /package/{Utils → publish/Utils}/convert.js +0 -0
  460. /package/{Utils → publish/Utils}/date.d.ts +0 -0
  461. /package/{Utils → publish/Utils}/date.js +0 -0
  462. /package/{Utils → publish/Utils}/dom.d.ts +0 -0
  463. /package/{Utils → publish/Utils}/dom.js +0 -0
  464. /package/{Utils → publish/Utils}/easing.d.ts +0 -0
  465. /package/{Utils → publish/Utils}/easing.js +0 -0
  466. /package/{Utils → publish/Utils}/extract.d.ts +0 -0
  467. /package/{Utils → publish/Utils}/extract.js +0 -0
  468. /package/{Utils → publish/Utils}/getElementProperty.d.ts +0 -0
  469. /package/{Utils → publish/Utils}/getElementProperty.js +0 -0
  470. /package/{Utils → publish/Utils}/guid.d.ts +0 -0
  471. /package/{Utils → publish/Utils}/guid.js +0 -0
  472. /package/{Utils → publish/Utils}/initDefaultOptions.d.ts +0 -0
  473. /package/{Utils → publish/Utils}/initDefaultOptions.js +0 -0
  474. /package/{Utils → publish/Utils}/inputsCalculation.d.ts +0 -0
  475. /package/{Utils → publish/Utils}/inputsCalculation.js +0 -0
  476. /package/{Utils → publish/Utils}/math.d.ts +0 -0
  477. /package/{Utils → publish/Utils}/math.js +0 -0
  478. /package/{Utils → publish/Utils}/object.d.ts +0 -0
  479. /package/{Utils → publish/Utils}/object.js +0 -0
  480. /package/{Utils → publish/Utils}/os.d.ts +0 -0
  481. /package/{Utils → publish/Utils}/os.js +0 -0
  482. /package/{Utils → publish/Utils}/performance.d.ts +0 -0
  483. /package/{Utils → publish/Utils}/performance.js +0 -0
  484. /package/{Utils → publish/Utils}/tree.d.ts +0 -0
  485. /package/{Utils → publish/Utils}/tree.js +0 -0
  486. /package/{Utils → publish/Utils}/useClickOutside.d.ts +0 -0
  487. /package/{Utils → publish/Utils}/useClickOutside.js +0 -0
  488. /package/{Utils → publish/Utils}/useComId.d.ts +0 -0
  489. /package/{Utils → publish/Utils}/useComId.js +0 -0
  490. /package/{Utils → publish/Utils}/useDebounce.d.ts +0 -0
  491. /package/{Utils → publish/Utils}/useDebounce.js +0 -0
  492. /package/{Utils → publish/Utils}/useDragDropPosition.d.ts +0 -0
  493. /package/{Utils → publish/Utils}/useDragDropPosition.js +0 -0
  494. /package/{Utils → publish/Utils}/useDraggable.d.ts +0 -0
  495. /package/{Utils → publish/Utils}/useDraggable.js +0 -0
  496. /package/{Utils → publish/Utils}/useInterval.d.ts +0 -0
  497. /package/{Utils → publish/Utils}/useInterval.js +0 -0
  498. /package/{Utils → publish/Utils}/useKeyPress.d.ts +0 -0
  499. /package/{Utils → publish/Utils}/useKeyPress.js +0 -0
  500. /package/{Utils → publish/Utils}/useThrottle.d.ts +0 -0
  501. /package/{Utils → publish/Utils}/useThrottle.js +0 -0
  502. /package/{Utils → publish/Utils}/useWindowScroll.d.ts +0 -0
  503. /package/{Utils → publish/Utils}/useWindowScroll.js +0 -0
  504. /package/{Utils → publish/Utils}/viewport.d.ts +0 -0
  505. /package/{Utils → publish/Utils}/viewport.js +0 -0
  506. /package/{all.d.ts → publish/all.d.ts} +0 -0
package/.gitattributes ADDED
@@ -0,0 +1,2 @@
1
+ # Auto detect text files and perform LF normalization
2
+ * text=auto
package/README.md CHANGED
@@ -1,10 +1,21 @@
1
1
  # Funda UI
2
2
 
3
+ <p align="center">
4
+ <img src="logo.png" alt="Funda UI" width="180" >
5
+ </p>
6
+
7
+
3
8
  React components using pure Bootstrap 5+ which has undergone complex business testing and is easy to integrate with any API. You can load Bootstrap css libraries separately in your project.
4
9
 
5
10
  All components have undergone complex business verification and provide multiple examples.
6
11
 
7
12
 
13
+ <p align="center">
14
+ <img src="preview.png" alt="Funda UI" >
15
+ </p>
16
+
17
+
18
+
8
19
  ---
9
20
 
10
21
  - [Documentation](https://uiux.cc/funda-ui-doc)
@@ -13,6 +24,7 @@ All components have undergone complex business verification and provide multiple
13
24
 
14
25
 
15
26
 
27
+
16
28
  ## Key Features
17
29
 
18
30
  1. Simplify the assignment method of diversified data.
@@ -22,7 +34,6 @@ All components have undergone complex business verification and provide multiple
22
34
  5. Do not embed css-in-js, directly use external CSS styles to completely change the component style.
23
35
 
24
36
 
25
-
26
37
  ## Components List
27
38
 
28
39
  Here is a table of the components and their status.
@@ -63,8 +74,6 @@ Here is a table of the components and their status.
63
74
 
64
75
 
65
76
 
66
-
67
-
68
77
  ## Usage
69
78
 
70
79
  **Step 1**. You need to install it:
@@ -73,17 +82,27 @@ Here is a table of the components and their status.
73
82
  $ npm i funda-ui
74
83
  ```
75
84
 
85
+ or
86
+
87
+ ```sh
88
+ $ pnpm add funda-ui
89
+ ```
90
+
76
91
  **Step 2**. Using Bootstrap CSS together (recommended)
77
92
 
93
+ [Download bootstrap](https://github.com/twbs/bootstrap)
94
+
78
95
  ```html
79
96
  <link href="./bootstrap.min.css" rel="stylesheet"/>
80
97
  ```
81
98
 
99
+ > You could remove Bootstrap's styles. All components support setting Bootstrap's default class names through `**ClassName` attributes.
82
100
 
83
- **Step 3**. import required components as required
101
+ **Step 3**. import required components as required
84
102
 
85
103
  > If the component does not have a CSS file, it can not be imported, or use own CSS.
86
104
 
105
+
87
106
  ```js
88
107
  import Input from 'funda-ui/Input';
89
108
  import Textarea from 'funda-ui/Textarea';
@@ -118,6 +137,88 @@ import 'funda-ui/CascadingSelect/index.css';
118
137
  ```
119
138
 
120
139
 
140
+ ## Getting Started
141
+
142
+ Make sure if Node 14+ is installed on your computer.
143
+
144
+ ### Step 1: Create a new Lerna workspace by running:
145
+
146
+ ```sh
147
+ $ cd /{your_directory}/funda-ui
148
+ $ npx lerna init
149
+ ```
150
+
151
+
152
+ ### Step 2: Install dependencies (Required)
153
+
154
+ It will automatically install the dependencies of all resources in `packages/` without duplication.
155
+
156
+ ```sh
157
+ $ npm install
158
+ ```
159
+
160
+
161
+ ### Step 3: To open the visualization, run:
162
+
163
+ ```sh
164
+ $ npx nx graph
165
+ ```
166
+
167
+ ### Step 4: To build all projects, run
168
+
169
+ ```sh
170
+ $ npx lerna run build
171
+ ```
172
+
173
+ or Build the package you want (recommend):
174
+
175
+ ```sh
176
+ $ npx lerna run build --scope=plugin-1 --scope=plugin-2
177
+ ```
178
+
179
+ Please do not install **lerna** globally to use `lerna run build`
180
+
181
+
182
+ ### Step 5: (optional) Use a custom script like:
183
+
184
+ ```sh
185
+ $ npx lerna exec npm run export --scope=plugin-2
186
+ ```
187
+
188
+
189
+ ## Publish the lib of components, it will hang on NPM:
190
+
191
+
192
+ ```sh
193
+ $ npm run build:lib
194
+ $ npm run build:publish
195
+ ```
196
+
197
+
198
+ > **(Optional) Update Utils**
199
+ >
200
+ > ```sh
201
+ > $ npx lerna run build --scope=funda-utils
202
+ > $ npm i
203
+ > $ npx lerna run build
204
+ > ```
205
+ >
206
+
207
+
208
+
209
+ > **(Optional) Manually generate `.d.ts` files, you can execute**
210
+ >
211
+ > ```sh
212
+ > $ npx -p typescript tsc lib/cjs/*.js --declaration --allowJs --emitDeclarationOnly
213
+ > ```
214
+ >
215
+
216
+
217
+ ## Contributing
218
+
219
+ - [Lerna](https://github.com/lerna/lerna)
220
+ - [Bootstrap](https://getbootstrap.com/)
221
+ - [React](https://react.dev/)
121
222
 
122
223
 
123
224
  ## Licensing
@@ -0,0 +1,126 @@
1
+ # Funda UI
2
+
3
+ React components using pure Bootstrap 5+ which has undergone complex business testing and is easy to integrate with any API. You can load Bootstrap css libraries separately in your project.
4
+
5
+ All components have undergone complex business verification and provide multiple examples.
6
+
7
+
8
+ ---
9
+
10
+ - [Documentation](https://uiux.cc/funda-ui-doc)
11
+
12
+ ---
13
+
14
+
15
+
16
+ ## Key Features
17
+
18
+ 1. Simplify the assignment method of diversified data.
19
+ 2. Components are compatible with `gRPC`, `REST APIs`, `GraphQL` self-packaging, uniformly use [Classes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes) and their methods to introduce interfaces
20
+ 3. Enhanced user interaction, flexible use in asynchronous and synchronous states
21
+ 4. Introduce appropriate component `.css` files as needed, only for some components with special needs. Most of them can directly use Bootstrap's official style sheet.
22
+ 5. Do not embed css-in-js, directly use external CSS styles to completely change the component style.
23
+
24
+
25
+
26
+ ## Components List
27
+
28
+ Here is a table of the components and their status.
29
+
30
+
31
+ | WEB ELEMENTS | FORMS | INTERACTION | NAVIGATION | LAYOUTS |
32
+ | --- | --- | --- | --- | --- |
33
+ | [Accordion ✅](packages/Accordion/README.md) | [Input ✅](packages/Input/README.md) | [Infinite Scroll ❏](packages/InfiniteScroll/README.md) |[Multilevel Dropdown Menu ✅](packages/MultilevelDropdownMenu/README.md) | [MasonryLayout ✅](packages/MasonryLayout/README.md) |
34
+ | [Accordion Slider ❏](packages/AccordionSlider/README.md) | [Number Input ✅](packages/NumberInput/README.md) | [Image Perspective Hover ❏](packages/ImagePerspectiveHover/README.md) | [Dropdown Menu ✅](packages/DropdownMenu/README.md) | [RootPortal ✅](packages/RootPortal/README.md) |
35
+ | [Back To Top ✅](packages/BackToTop/README.md) | [Merge Input ❏](packages/MergeInput/README.md) | [Mousewheel Interaction ❏](packages/MousewheelInteraction/README.md) | | |
36
+ | [Button ❏](packages/Button/README.md) | [Tag Input ✅](packages/TagInput/README.md) | [Parallax ❏](packages/Parallax/README.md) | | |
37
+ | [Card ❏](packages/Card/README.md) | [Textarea ✅](packages/Textarea/README.md) | [Scroll Reveal ✅](packages/ScrollReveal/README.md) | | |
38
+ | [Content Placeholder ❏](packages/ContentPlaceholder/README.md) | [NativeSelect ✅](packages/NativeSelect/README.md) | [Sticky Elements ❏](packages/StickyElements/README.md) | | |
39
+ | [Counter ❏](packages/Counter/README.md) | [Cascading Select ✅](packages/CascadingSelect/README.md) | [Mode Switch ✅](packages/ModeSwitch/README.md) | | |
40
+ | [Hybrid Content Slider ❏](packages/HybridContentSlider/README.md) | [Cascading Select End-to-end ✅🔥](packages/CascadingSelectE2E/README.md) | [Custom Scrollbar ✅](packages/Scrollbar/README.md) | | |
41
+ | [Image Shapes ❏](packages/ImageShapes/README.md) | [Radio ✅](packages/Radio/README.md) | [Horizontal Scroll Content ✅](packages/HorizontalScrollContent/README.md) | | |
42
+ | [Lightbox ❏](packages/Lightbox/README.md) | [Checkbox ✅](packages/Checkbox/README.md) | [DragDrop List ✅🔥](packages/DragDropList/README.md) | | |
43
+ | [List Bulleted ❏](packages/ListBulleted/README.md) | [Select ✅🔥](packages/Select/README.md) | | | |
44
+ | [Modal Dialog ✅🔥](packages/ModalDialog/README.md) | [Live Search ✅](packages/LiveSearch/README.md) | | | |
45
+ | [Pagination ✅](packages/Pagination/README.md) | [Number ❏](packages/Number/README.md) | | | |
46
+ | [Table ✅🔥](packages/Table/README.md) | [SearchBar ✅](packages/SearchBar/README.md) | | | |
47
+ | [Periodical Scroll ❏](packages/PeriodicalScroll/README.md) | [Switch ✅](packages/Switch/README.md) | | | |
48
+ | [Progress Bar ❏](packages/ProgressBar/README.md) | [Dynamic Fields ✅🔥](packages/DynamicFields/README.md) | | | |
49
+ | [Rating ❏](packages/Rating/README.md) | [File ✅](packages/File/README.md) | | | |
50
+ | [Seamless Scrolling Element ❏](packages/SeamlessScrollingElement/README.md) | [File Field ❏](packages/FileField/README.md) | | | |
51
+ | [Show More Less ✅](packages/ShowMoreLess/README.md) | [Range Slider ✅](packages/RangeSlider/README.md) | | | |
52
+ | [Slideshow ❏](packages/Slideshow/README.md) | [Color Picker ✅](packages/ColorPicker/README.md) | | | |
53
+ | [Tabs ✅](packages/Tabs/README.md) | [MultipleCheckboxes ✅](packages/MultipleCheckboxes/README.md) | | | |
54
+ | [Timeline ❏](packages/Timeline/README.md) | [MultipleSelect ✅🔥](packages/MultipleSelect/README.md) | | | |
55
+ | [Toast ✅](packages/Toast/README.md) | [Date ✅🔥](packages/Date/README.md) | | | |
56
+ | [Tooltip ✅](packages/Tooltip/README.md) | | | | |
57
+ | [Digital Clock ✅](packages/DigitalClock/README.md) | | | | |
58
+ | [Tree ✅🔥](packages/Tree/README.md) | | | | |
59
+ | [Event Calendar ✅🔥](packages/EventCalendar/README.md) | | | | |
60
+ | [Event Calendar Timeline ✅🔥](packages/EventCalendarTimeline/README.md) | | | | |
61
+
62
+
63
+
64
+
65
+
66
+
67
+
68
+ ## Usage
69
+
70
+ **Step 1**. You need to install it:
71
+
72
+ ```sh
73
+ $ npm i funda-ui
74
+ ```
75
+
76
+ **Step 2**. Using Bootstrap CSS together (recommended)
77
+
78
+ ```html
79
+ <link href="./bootstrap.min.css" rel="stylesheet"/>
80
+ ```
81
+
82
+
83
+ **Step 3**. import required components as required
84
+
85
+ > If the component does not have a CSS file, it can not be imported, or use own CSS.
86
+
87
+ ```js
88
+ import Input from 'funda-ui/Input';
89
+ import Textarea from 'funda-ui/Textarea';
90
+ import CascadingSelect from 'funda-ui/CascadingSelect';
91
+
92
+ // component styles
93
+ import 'funda-ui/CascadingSelect/index.css';
94
+ ```
95
+
96
+ or
97
+
98
+ ```js
99
+ import {
100
+ Input,
101
+ Textarea,
102
+ CascadingSelect
103
+ } from 'funda-ui';
104
+
105
+ // component styles
106
+ import 'funda-ui/CascadingSelect/index.css';
107
+ ```
108
+
109
+ or
110
+
111
+ ```js
112
+ const Input = require('funda-ui').Input;
113
+ const Textarea = require('funda-ui').Textarea;
114
+ const CascadingSelect = require('funda-ui').CascadingSelect;
115
+
116
+ // component styles
117
+ import 'funda-ui/CascadingSelect/index.css';
118
+ ```
119
+
120
+
121
+
122
+
123
+ ## Licensing
124
+
125
+ Licensed under the [MIT](https://opensource.org/licenses/MIT).
126
+
@@ -10,6 +10,7 @@ export interface ListItem {
10
10
  children?: ListItem[];
11
11
  disabled?: boolean;
12
12
  appendControl?: React.ReactNode;
13
+ [key: string]: any;
13
14
  }
14
15
  export interface DragDropListProps {
15
16
  wrapperClassName?: string;
@@ -880,8 +880,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
880
880
  ))}
881
881
  </ul>
882
882
  );
883
- };
884
-
885
883
 
886
884
  */
887
885
 
@@ -1274,11 +1272,11 @@ var DragDropList = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef
1274
1272
 
1275
1273
  // Handle object
1276
1274
  var clonedObj = {};
1277
- for (var key in obj) {
1278
- if (key === 'appendControl') {
1279
- clonedObj[key] = obj[key];
1275
+ for (var _key in obj) {
1276
+ if (_key === 'appendControl') {
1277
+ clonedObj[_key] = obj[_key];
1280
1278
  } else {
1281
- clonedObj[key] = deepCloneWithReactNode(obj[key]);
1279
+ clonedObj[_key] = deepCloneWithReactNode(obj[_key]);
1282
1280
  }
1283
1281
  }
1284
1282
  return clonedObj;
@@ -10,6 +10,7 @@ export interface OptionConfig {
10
10
  children?: OptionConfig[];
11
11
  disabled?: boolean;
12
12
  extendedContent?: React.ReactNode;
13
+ [key: string]: any;
13
14
  }
14
15
  export declare type MultipleSelectProps = {
15
16
  contentRef?: React.ForwardedRef<any>;
@@ -911,8 +911,6 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
911
911
  ))}
912
912
  </ul>
913
913
  );
914
- };
915
-
916
914
 
917
915
  */
918
916
 
@@ -1110,7 +1108,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1110
1108
  /******/
1111
1109
  /******/ // The require function
1112
1110
  /******/
1113
- function __nested_webpack_require_54674__(moduleId) {
1111
+ function __nested_webpack_require_54634__(moduleId) {
1114
1112
  /******/ // Check if module is in cache
1115
1113
  /******/var cachedModule = __webpack_module_cache__[moduleId];
1116
1114
  /******/
@@ -1129,7 +1127,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1129
1127
  /******/
1130
1128
  /******/ // Execute the module function
1131
1129
  /******/
1132
- __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_54674__);
1130
+ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_54634__);
1133
1131
  /******/
1134
1132
  /******/ // Flag the module as loaded
1135
1133
  /******/
@@ -1146,14 +1144,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1146
1144
  /******/
1147
1145
  (function () {
1148
1146
  /******/ // getDefaultExport function for compatibility with non-harmony modules
1149
- /******/__nested_webpack_require_54674__.n = function (module) {
1147
+ /******/__nested_webpack_require_54634__.n = function (module) {
1150
1148
  /******/var getter = module && module.__esModule ? /******/function () {
1151
1149
  return module['default'];
1152
1150
  } : /******/function () {
1153
1151
  return module;
1154
1152
  };
1155
1153
  /******/
1156
- __nested_webpack_require_54674__.d(getter, {
1154
+ __nested_webpack_require_54634__.d(getter, {
1157
1155
  a: getter
1158
1156
  });
1159
1157
  /******/
@@ -1167,9 +1165,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1167
1165
  /******/
1168
1166
  (function () {
1169
1167
  /******/ // define getter functions for harmony exports
1170
- /******/__nested_webpack_require_54674__.d = function (exports, definition) {
1168
+ /******/__nested_webpack_require_54634__.d = function (exports, definition) {
1171
1169
  /******/for (var key in definition) {
1172
- /******/if (__nested_webpack_require_54674__.o(definition, key) && !__nested_webpack_require_54674__.o(exports, key)) {
1170
+ /******/if (__nested_webpack_require_54634__.o(definition, key) && !__nested_webpack_require_54634__.o(exports, key)) {
1173
1171
  /******/Object.defineProperty(exports, key, {
1174
1172
  enumerable: true,
1175
1173
  get: definition[key]
@@ -1186,7 +1184,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1186
1184
  /******/ /* webpack/runtime/hasOwnProperty shorthand */
1187
1185
  /******/
1188
1186
  (function () {
1189
- /******/__nested_webpack_require_54674__.o = function (obj, prop) {
1187
+ /******/__nested_webpack_require_54634__.o = function (obj, prop) {
1190
1188
  return Object.prototype.hasOwnProperty.call(obj, prop);
1191
1189
  };
1192
1190
  /******/
@@ -1196,7 +1194,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1196
1194
  /******/
1197
1195
  (function () {
1198
1196
  /******/ // define __esModule on exports
1199
- /******/__nested_webpack_require_54674__.r = function (exports) {
1197
+ /******/__nested_webpack_require_54634__.r = function (exports) {
1200
1198
  /******/if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {
1201
1199
  /******/Object.defineProperty(exports, Symbol.toStringTag, {
1202
1200
  value: 'Module'
@@ -1215,7 +1213,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1215
1213
  /******/ /* webpack/runtime/node module decorator */
1216
1214
  /******/
1217
1215
  (function () {
1218
- /******/__nested_webpack_require_54674__.nmd = function (module) {
1216
+ /******/__nested_webpack_require_54634__.nmd = function (module) {
1219
1217
  /******/module.paths = [];
1220
1218
  /******/
1221
1219
  if (!module.children) module.children = [];
@@ -1232,30 +1230,30 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1232
1230
  (function () {
1233
1231
  "use strict";
1234
1232
 
1235
- __nested_webpack_require_54674__.r(__webpack_exports__);
1233
+ __nested_webpack_require_54634__.r(__webpack_exports__);
1236
1234
  /* harmony export */
1237
- __nested_webpack_require_54674__.d(__webpack_exports__, {
1235
+ __nested_webpack_require_54634__.d(__webpack_exports__, {
1238
1236
  /* harmony export */"default": function _default() {
1239
1237
  return __WEBPACK_DEFAULT_EXPORT__;
1240
1238
  }
1241
1239
  /* harmony export */
1242
1240
  });
1243
1241
  /* harmony import */
1244
- var react__WEBPACK_IMPORTED_MODULE_0__ = __nested_webpack_require_54674__(787);
1242
+ var react__WEBPACK_IMPORTED_MODULE_0__ = __nested_webpack_require_54634__(787);
1245
1243
  /* harmony import */
1246
- var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__nested_webpack_require_54674__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1244
+ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__nested_webpack_require_54634__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1247
1245
  /* harmony import */
1248
- var funda_utils_dist_cjs_tree__WEBPACK_IMPORTED_MODULE_1__ = __nested_webpack_require_54674__(438);
1246
+ var funda_utils_dist_cjs_tree__WEBPACK_IMPORTED_MODULE_1__ = __nested_webpack_require_54634__(438);
1249
1247
  /* harmony import */
1250
- var funda_utils_dist_cjs_tree__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__nested_webpack_require_54674__.n(funda_utils_dist_cjs_tree__WEBPACK_IMPORTED_MODULE_1__);
1248
+ var funda_utils_dist_cjs_tree__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__nested_webpack_require_54634__.n(funda_utils_dist_cjs_tree__WEBPACK_IMPORTED_MODULE_1__);
1251
1249
  /* harmony import */
1252
- var funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_2__ = __nested_webpack_require_54674__(188);
1250
+ var funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_2__ = __nested_webpack_require_54634__(188);
1253
1251
  /* harmony import */
1254
- var funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__nested_webpack_require_54674__.n(funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_2__);
1252
+ var funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__nested_webpack_require_54634__.n(funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_2__);
1255
1253
  /* harmony import */
1256
- var funda_utils_dist_cjs_useBoundedDrag__WEBPACK_IMPORTED_MODULE_3__ = __nested_webpack_require_54674__(759);
1254
+ var funda_utils_dist_cjs_useBoundedDrag__WEBPACK_IMPORTED_MODULE_3__ = __nested_webpack_require_54634__(759);
1257
1255
  /* harmony import */
1258
- var funda_utils_dist_cjs_useBoundedDrag__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__nested_webpack_require_54674__.n(funda_utils_dist_cjs_useBoundedDrag__WEBPACK_IMPORTED_MODULE_3__);
1256
+ var funda_utils_dist_cjs_useBoundedDrag__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__nested_webpack_require_54634__.n(funda_utils_dist_cjs_useBoundedDrag__WEBPACK_IMPORTED_MODULE_3__);
1259
1257
  var _excluded = ["wrapperClassName", "prefix", "data", "draggable", "handleHide", "handleIcon", "handlePos", "dragMode", "editable", "itemStyle", "hierarchical", "indentation", "doubleIndent", "alternateCollapse", "arrow", "onUpdate"];
1260
1258
  function _extends() {
1261
1259
  _extends = Object.assign ? Object.assign.bind() : function (target) {
@@ -1502,11 +1500,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1502
1500
 
1503
1501
  // Handle object
1504
1502
  var clonedObj = {};
1505
- for (var key in obj) {
1506
- if (key === 'appendControl') {
1507
- clonedObj[key] = obj[key];
1503
+ for (var _key in obj) {
1504
+ if (_key === 'appendControl') {
1505
+ clonedObj[_key] = obj[_key];
1508
1506
  } else {
1509
- clonedObj[key] = deepCloneWithReactNode(obj[key]);
1507
+ clonedObj[_key] = deepCloneWithReactNode(obj[_key]);
1510
1508
  }
1511
1509
  }
1512
1510
  return clonedObj;
@@ -20,6 +20,7 @@ export declare type TextareaProps = {
20
20
  readOnly?: any;
21
21
  placeholder?: string;
22
22
  autoSize?: boolean;
23
+ autoSizeMaxHeight?: number;
23
24
  iconLeft?: React.ReactNode | string;
24
25
  iconRight?: React.ReactNode | string;
25
26
  aiPredict?: boolean;
@@ -664,7 +664,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
664
664
  const [value, setValue] = useState("");
665
665
  const el = useRef<HTMLTextAreaElement>(null);
666
666
 
667
- useAutosizeTextArea({
667
+ const { reset } = useAutosizeTextArea({
668
668
  el: el.current,
669
669
  value: value,
670
670
  cb: (res) => {
@@ -672,11 +672,25 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
672
672
  }
673
673
  });
674
674
 
675
+ useImperativeHandle(
676
+ contentRef,
677
+ () => ({
678
+ resetHeight: () => {
679
+ reset();
680
+ },
681
+ }),
682
+ [contentRef, reset]
683
+ );
684
+
675
685
  const handleChange = (evt: React.ChangeEvent<HTMLTextAreaElement>) => {
676
686
  const val = evt.target?.value;
677
687
  setValue(val);
678
688
  };
679
689
 
690
+ const handleReset = () => {
691
+ reset();
692
+ };
693
+
680
694
  return (
681
695
  <div className="App">
682
696
  <textarea
@@ -696,6 +710,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
696
710
  var useAutosizeTextArea = function useAutosizeTextArea(_ref) {
697
711
  var el = _ref.el,
698
712
  value = _ref.value,
713
+ _ref$maxHeight = _ref.maxHeight,
714
+ maxHeight = _ref$maxHeight === void 0 ? 0 : _ref$maxHeight,
699
715
  cb = _ref.cb;
700
716
  var _useState = (0, react__WEBPACK_IMPORTED_MODULE_0__.useState)(0),
701
717
  _useState2 = _slicedToArray(_useState, 2),
@@ -705,6 +721,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
705
721
  _useState4 = _slicedToArray(_useState3, 2),
706
722
  defaultRowHeightInit = _useState4[0],
707
723
  setDefaultRowHeightInit = _useState4[1];
724
+
725
+ // Reset function to restore default height
726
+ var reset = (0, react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {
727
+ if (el && defaultRowHeight > 0) {
728
+ el.style.height = defaultRowHeight + "px";
729
+
730
+ // Get current dimensions after reset
731
+ var style = el.currentStyle || window.getComputedStyle(el);
732
+ var _controlWidth = el.scrollWidth + parseInt(style.borderLeftWidth) + parseInt(style.borderRightWidth);
733
+ cb === null || cb === void 0 ? void 0 : cb([_controlWidth, defaultRowHeight]);
734
+ }
735
+ }, [el, defaultRowHeight, cb]);
708
736
  (0, react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
709
737
  if (el) {
710
738
  var style = el.currentStyle || window.getComputedStyle(el);
@@ -729,11 +757,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
729
757
 
730
758
  // !!! Compare initial height and changed height
731
759
  if (scrollHeight > defaultRowHeight && defaultRowHeight > 0) {
732
- el.style.height = scrollHeight + "px";
760
+ if (maxHeight != 0 && scrollHeight >= maxHeight) {
761
+ el.style.height = maxHeight + "px";
762
+ } else {
763
+ el.style.height = scrollHeight + "px";
764
+ }
733
765
  }
734
766
  cb === null || cb === void 0 ? void 0 : cb([_controlWidth, scrollHeight]);
735
767
  }
736
768
  }, [el, value]);
769
+ return {
770
+ reset: reset
771
+ };
737
772
  };
738
773
  /* harmony default export */
739
774
  var __WEBPACK_DEFAULT_EXPORT__ = useAutosizeTextArea;
@@ -1216,7 +1251,7 @@ __webpack_require__.r(__webpack_exports__);
1216
1251
  /* harmony import */ var funda_utils_dist_cjs_inputsCalculation__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(funda_utils_dist_cjs_inputsCalculation__WEBPACK_IMPORTED_MODULE_4__);
1217
1252
  /* harmony import */ var funda_utils_dist_cjs_useDebounce__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(702);
1218
1253
  /* harmony import */ var funda_utils_dist_cjs_useDebounce__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(funda_utils_dist_cjs_useDebounce__WEBPACK_IMPORTED_MODULE_5__);
1219
- var _excluded = ["contentRef", "wrapperClassName", "controlClassName", "controlExClassName", "controlGroupWrapperClassName", "controlGroupTextClassName", "cols", "rows", "disabled", "required", "placeholder", "autoSize", "iconLeft", "iconRight", "aiPredict", "aiPredictRemainingTextRGB", "aiPredictConfirmKey", "aiPredictFetchFuncAsync", "aiPredictFetchFuncMethod", "aiPredictFetchFuncMethodParams", "aiPredictFetchCallback", "readOnly", "defaultValue", "value", "requiredLabel", "label", "name", "id", "minLength", "maxLength", "style", "tabIndex", "onChangeCallback", "onInputCallback", "onKeyPressedCallback", "onChange", "onBlur", "onFocus", "onPressEnter", "onKeyDown", "onKeyUp", "onResize"];
1254
+ var _excluded = ["contentRef", "wrapperClassName", "controlClassName", "controlExClassName", "controlGroupWrapperClassName", "controlGroupTextClassName", "cols", "rows", "disabled", "required", "placeholder", "autoSize", "autoSizeMaxHeight", "iconLeft", "iconRight", "aiPredict", "aiPredictRemainingTextRGB", "aiPredictConfirmKey", "aiPredictFetchFuncAsync", "aiPredictFetchFuncMethod", "aiPredictFetchFuncMethodParams", "aiPredictFetchCallback", "readOnly", "defaultValue", "value", "requiredLabel", "label", "name", "id", "minLength", "maxLength", "style", "tabIndex", "onChangeCallback", "onInputCallback", "onKeyPressedCallback", "onChange", "onBlur", "onFocus", "onPressEnter", "onKeyDown", "onKeyUp", "onResize"];
1220
1255
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
1221
1256
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
1222
1257
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -1253,6 +1288,8 @@ var Textarea = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(fu
1253
1288
  required = props.required,
1254
1289
  placeholder = props.placeholder,
1255
1290
  autoSize = props.autoSize,
1291
+ _props$autoSizeMaxHei = props.autoSizeMaxHeight,
1292
+ autoSizeMaxHeight = _props$autoSizeMaxHei === void 0 ? 0 : _props$autoSizeMaxHei,
1256
1293
  iconLeft = props.iconLeft,
1257
1294
  iconRight = props.iconRight,
1258
1295
  _props$aiPredict = props.aiPredict,
@@ -1470,6 +1507,17 @@ var Textarea = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(fu
1470
1507
  //
1471
1508
  var remainingText = getRemainingText(currentSuggestion);
1472
1509
 
1510
+ // auto size
1511
+ var _useAutosizeTextArea = funda_utils_dist_cjs_useAutosizeTextArea__WEBPACK_IMPORTED_MODULE_2___default()({
1512
+ el: autoSize ? valRef.current : null,
1513
+ value: autoSize ? changedVal : '',
1514
+ maxHeight: autoSizeMaxHeight,
1515
+ cb: function cb(res) {
1516
+ onResize === null || onResize === void 0 ? void 0 : onResize(valRef.current, res);
1517
+ }
1518
+ }),
1519
+ reset = _useAutosizeTextArea.reset;
1520
+
1473
1521
  //================================================================
1474
1522
  // General
1475
1523
  //================================================================
@@ -1487,6 +1535,9 @@ var Textarea = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(fu
1487
1535
  setChangedVal("".concat(value));
1488
1536
  cb === null || cb === void 0 ? void 0 : cb();
1489
1537
  },
1538
+ resetHeight: function resetHeight() {
1539
+ reset();
1540
+ },
1490
1541
  aiPredictReset: function aiPredictReset() {
1491
1542
  setTimeout(function () {
1492
1543
  // Avoid conflicts with other asynchronous states, resulting in invalid clearing
@@ -1494,16 +1545,7 @@ var Textarea = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(fu
1494
1545
  }, 0);
1495
1546
  }
1496
1547
  };
1497
- }, [contentRef]);
1498
-
1499
- // auto size
1500
- funda_utils_dist_cjs_useAutosizeTextArea__WEBPACK_IMPORTED_MODULE_2___default()({
1501
- el: autoSize ? valRef.current : null,
1502
- value: autoSize ? changedVal : '',
1503
- cb: function cb(res) {
1504
- onResize === null || onResize === void 0 ? void 0 : onResize(valRef.current, res);
1505
- }
1506
- });
1548
+ }, [contentRef, reset]);
1507
1549
  var propExist = function propExist(p) {
1508
1550
  return typeof p !== 'undefined' && p !== null && p !== '';
1509
1551
  };