funda-ui 4.5.711 → 4.5.713

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 (483) hide show
  1. package/README.md +4 -105
  2. package/package.json +11 -556
  3. package/.gitattributes +0 -2
  4. package/README_PUBLISH.md +0 -126
  5. package/logo.png +0 -0
  6. package/preview.png +0 -0
  7. package/publish/LICENSE +0 -21
  8. package/publish/README.md +0 -126
  9. package/publish/lib/cjs/Accordion/index.d.ts +0 -2
  10. package/publish/lib/cjs/Accordion/index.js +0 -1035
  11. package/publish/lib/cjs/BackToTop/index.d.ts +0 -17
  12. package/publish/lib/cjs/BackToTop/index.js +0 -904
  13. package/publish/lib/cjs/CascadingSelect/index.d.ts +0 -60
  14. package/publish/lib/cjs/CascadingSelect/index.js +0 -2943
  15. package/publish/lib/cjs/CascadingSelectE2E/index.d.ts +0 -71
  16. package/publish/lib/cjs/CascadingSelectE2E/index.js +0 -3540
  17. package/publish/lib/cjs/Checkbox/index.d.ts +0 -28
  18. package/publish/lib/cjs/Checkbox/index.js +0 -662
  19. package/publish/lib/cjs/ColorPicker/index.d.ts +0 -27
  20. package/publish/lib/cjs/ColorPicker/index.js +0 -662
  21. package/publish/lib/cjs/Date/index.d.ts +0 -70
  22. package/publish/lib/cjs/Date/index.js +0 -6200
  23. package/publish/lib/cjs/DigitalClock/index.d.ts +0 -7
  24. package/publish/lib/cjs/DigitalClock/index.js +0 -402
  25. package/publish/lib/cjs/DragDropList/index.d.ts +0 -44
  26. package/publish/lib/cjs/DragDropList/index.js +0 -1587
  27. package/publish/lib/cjs/DropdownMenu/index.d.ts +0 -38
  28. package/publish/lib/cjs/DropdownMenu/index.js +0 -1498
  29. package/publish/lib/cjs/DynamicFields/index.d.ts +0 -40
  30. package/publish/lib/cjs/DynamicFields/index.js +0 -810
  31. package/publish/lib/cjs/EventCalendar/index.d.ts +0 -61
  32. package/publish/lib/cjs/EventCalendar/index.js +0 -3740
  33. package/publish/lib/cjs/EventCalendarTimeline/index.d.ts +0 -100
  34. package/publish/lib/cjs/EventCalendarTimeline/index.js +0 -6084
  35. package/publish/lib/cjs/File/index.d.ts +0 -40
  36. package/publish/lib/cjs/File/index.js +0 -1751
  37. package/publish/lib/cjs/HorizontalScrollContent/index.d.ts +0 -14
  38. package/publish/lib/cjs/HorizontalScrollContent/index.js +0 -426
  39. package/publish/lib/cjs/Input/index.d.ts +0 -59
  40. package/publish/lib/cjs/Input/index.js +0 -1455
  41. package/publish/lib/cjs/LiveSearch/index.d.ts +0 -69
  42. package/publish/lib/cjs/LiveSearch/index.js +0 -3626
  43. package/publish/lib/cjs/MasonryLayout/index.d.ts +0 -14
  44. package/publish/lib/cjs/MasonryLayout/index.js +0 -689
  45. package/publish/lib/cjs/ModalDialog/index.d.ts +0 -79
  46. package/publish/lib/cjs/ModalDialog/index.js +0 -1695
  47. package/publish/lib/cjs/ModeSwitch/index.d.ts +0 -17
  48. package/publish/lib/cjs/ModeSwitch/index.js +0 -202
  49. package/publish/lib/cjs/MultilevelDropdownMenu/index.d.ts +0 -20
  50. package/publish/lib/cjs/MultilevelDropdownMenu/index.js +0 -930
  51. package/publish/lib/cjs/MultipleCheckboxes/index.d.ts +0 -41
  52. package/publish/lib/cjs/MultipleCheckboxes/index.js +0 -1717
  53. package/publish/lib/cjs/MultipleSelect/index.d.ts +0 -65
  54. package/publish/lib/cjs/MultipleSelect/index.js +0 -3704
  55. package/publish/lib/cjs/NativeSelect/index.d.ts +0 -37
  56. package/publish/lib/cjs/NativeSelect/index.js +0 -1631
  57. package/publish/lib/cjs/NumberInput/index.d.ts +0 -40
  58. package/publish/lib/cjs/NumberInput/index.js +0 -1188
  59. package/publish/lib/cjs/Pagination/index.d.ts +0 -51
  60. package/publish/lib/cjs/Pagination/index.js +0 -612
  61. package/publish/lib/cjs/Radio/index.d.ts +0 -45
  62. package/publish/lib/cjs/Radio/index.js +0 -1391
  63. package/publish/lib/cjs/RangeSlider/index.d.ts +0 -22
  64. package/publish/lib/cjs/RangeSlider/index.js +0 -2665
  65. package/publish/lib/cjs/RootPortal/index.d.ts +0 -8
  66. package/publish/lib/cjs/RootPortal/index.js +0 -141
  67. package/publish/lib/cjs/ScrollReveal/index.d.ts +0 -21
  68. package/publish/lib/cjs/ScrollReveal/index.js +0 -401
  69. package/publish/lib/cjs/Scrollbar/index.d.ts +0 -17
  70. package/publish/lib/cjs/Scrollbar/index.js +0 -1107
  71. package/publish/lib/cjs/SearchBar/index.d.ts +0 -41
  72. package/publish/lib/cjs/SearchBar/index.js +0 -701
  73. package/publish/lib/cjs/Select/index.d.ts +0 -99
  74. package/publish/lib/cjs/Select/index.js +0 -5697
  75. package/publish/lib/cjs/ShowMoreLess/index.d.ts +0 -36
  76. package/publish/lib/cjs/ShowMoreLess/index.js +0 -387
  77. package/publish/lib/cjs/Switch/index.d.ts +0 -25
  78. package/publish/lib/cjs/Switch/index.js +0 -628
  79. package/publish/lib/cjs/Table/index.d.ts +0 -12
  80. package/publish/lib/cjs/Table/index.js +0 -2062
  81. package/publish/lib/cjs/Tabs/index.d.ts +0 -3
  82. package/publish/lib/cjs/Tabs/index.js +0 -771
  83. package/publish/lib/cjs/TagInput/index.d.ts +0 -31
  84. package/publish/lib/cjs/TagInput/index.js +0 -1144
  85. package/publish/lib/cjs/Textarea/index.d.ts +0 -50
  86. package/publish/lib/cjs/Textarea/index.js +0 -1784
  87. package/publish/lib/cjs/Toast/index.d.ts +0 -34
  88. package/publish/lib/cjs/Toast/index.js +0 -861
  89. package/publish/lib/cjs/Tooltip/index.d.ts +0 -23
  90. package/publish/lib/cjs/Tooltip/index.js +0 -1674
  91. package/publish/lib/cjs/Tree/index.d.ts +0 -62
  92. package/publish/lib/cjs/Tree/index.js +0 -1960
  93. package/publish/lib/cjs/Utils/anim.d.ts +0 -11
  94. package/publish/lib/cjs/Utils/anim.js +0 -400
  95. package/publish/lib/cjs/Utils/bodyScrollLock.d.ts +0 -8
  96. package/publish/lib/cjs/Utils/bodyScrollLock.js +0 -311
  97. package/publish/lib/cjs/Utils/buffer.d.ts +0 -67
  98. package/publish/lib/cjs/Utils/buffer.js +0 -343
  99. package/publish/lib/cjs/Utils/cls.d.ts +0 -15
  100. package/publish/lib/cjs/Utils/cls.js +0 -124
  101. package/publish/lib/cjs/Utils/convert.d.ts +0 -25
  102. package/publish/lib/cjs/Utils/convert.js +0 -109
  103. package/publish/lib/cjs/Utils/date.d.ts +0 -217
  104. package/publish/lib/cjs/Utils/date.js +0 -567
  105. package/publish/lib/cjs/Utils/dom.d.ts +0 -13
  106. package/publish/lib/cjs/Utils/dom.js +0 -215
  107. package/publish/lib/cjs/Utils/easing.d.ts +0 -29
  108. package/publish/lib/cjs/Utils/easing.js +0 -221
  109. package/publish/lib/cjs/Utils/extract.d.ts +0 -28
  110. package/publish/lib/cjs/Utils/extract.js +0 -130
  111. package/publish/lib/cjs/Utils/getElementProperty.d.ts +0 -52
  112. package/publish/lib/cjs/Utils/getElementProperty.js +0 -189
  113. package/publish/lib/cjs/Utils/guid.d.ts +0 -7
  114. package/publish/lib/cjs/Utils/guid.js +0 -67
  115. package/publish/lib/cjs/Utils/initDefaultOptions.d.ts +0 -21
  116. package/publish/lib/cjs/Utils/initDefaultOptions.js +0 -131
  117. package/publish/lib/cjs/Utils/inputsCalculation.d.ts +0 -28
  118. package/publish/lib/cjs/Utils/inputsCalculation.js +0 -188
  119. package/publish/lib/cjs/Utils/math.d.ts +0 -77
  120. package/publish/lib/cjs/Utils/math.js +0 -305
  121. package/publish/lib/cjs/Utils/object.d.ts +0 -18
  122. package/publish/lib/cjs/Utils/object.js +0 -120
  123. package/publish/lib/cjs/Utils/os.d.ts +0 -2
  124. package/publish/lib/cjs/Utils/os.js +0 -104
  125. package/publish/lib/cjs/Utils/performance.d.ts +0 -3
  126. package/publish/lib/cjs/Utils/performance.js +0 -94
  127. package/publish/lib/cjs/Utils/tree.d.ts +0 -40
  128. package/publish/lib/cjs/Utils/tree.js +0 -195
  129. package/publish/lib/cjs/Utils/useAutosizeTextArea.d.ts +0 -10
  130. package/publish/lib/cjs/Utils/useAutosizeTextArea.js +0 -227
  131. package/publish/lib/cjs/Utils/useBoundedDrag.d.ts +0 -125
  132. package/publish/lib/cjs/Utils/useBoundedDrag.js +0 -380
  133. package/publish/lib/cjs/Utils/useClickOutside.d.ts +0 -33
  134. package/publish/lib/cjs/Utils/useClickOutside.js +0 -166
  135. package/publish/lib/cjs/Utils/useComId.d.ts +0 -6
  136. package/publish/lib/cjs/Utils/useComId.js +0 -114
  137. package/publish/lib/cjs/Utils/useDebounce.d.ts +0 -20
  138. package/publish/lib/cjs/Utils/useDebounce.js +0 -138
  139. package/publish/lib/cjs/Utils/useDragDropPosition.d.ts +0 -169
  140. package/publish/lib/cjs/Utils/useDragDropPosition.js +0 -456
  141. package/publish/lib/cjs/Utils/useDraggable.d.ts +0 -62
  142. package/publish/lib/cjs/Utils/useDraggable.js +0 -348
  143. package/publish/lib/cjs/Utils/useInterval.d.ts +0 -5
  144. package/publish/lib/cjs/Utils/useInterval.js +0 -168
  145. package/publish/lib/cjs/Utils/useIsMobile.d.ts +0 -2
  146. package/publish/lib/cjs/Utils/useIsMobile.js +0 -168
  147. package/publish/lib/cjs/Utils/useKeyPress.d.ts +0 -44
  148. package/publish/lib/cjs/Utils/useKeyPress.js +0 -200
  149. package/publish/lib/cjs/Utils/useThrottle.d.ts +0 -2
  150. package/publish/lib/cjs/Utils/useThrottle.js +0 -136
  151. package/publish/lib/cjs/Utils/useWindowScroll.d.ts +0 -12
  152. package/publish/lib/cjs/Utils/useWindowScroll.js +0 -217
  153. package/publish/lib/cjs/Utils/viewport.d.ts +0 -7
  154. package/publish/lib/cjs/Utils/viewport.js +0 -64
  155. package/publish/lib/cjs/index.d.ts +0 -45
  156. package/publish/lib/cjs/index.js +0 -46
  157. package/publish/lib/css/BackToTop/index.css +0 -34
  158. package/publish/lib/css/CascadingSelect/index.css +0 -216
  159. package/publish/lib/css/CascadingSelectE2E/index.css +0 -216
  160. package/publish/lib/css/ColorPicker/index.css +0 -58
  161. package/publish/lib/css/Date/index.css +0 -434
  162. package/publish/lib/css/DragDropList/index.css +0 -188
  163. package/publish/lib/css/DropdownMenu/index.css +0 -151
  164. package/publish/lib/css/EventCalendar/index.css +0 -300
  165. package/publish/lib/css/EventCalendarTimeline/index.css +0 -694
  166. package/publish/lib/css/HorizontalScrollContent/index.css +0 -70
  167. package/publish/lib/css/LiveSearch/index.css +0 -55
  168. package/publish/lib/css/MultilevelDropdownMenu/index.css +0 -38
  169. package/publish/lib/css/MultipleSelect/index.css +0 -313
  170. package/publish/lib/css/RangeSlider/index.css +0 -150
  171. package/publish/lib/css/Scrollbar/index.css +0 -176
  172. package/publish/lib/css/Select/index.css +0 -368
  173. package/publish/lib/css/ShowMoreLess/index.css +0 -23
  174. package/publish/lib/css/Table/index.css +0 -584
  175. package/publish/lib/css/TagInput/index.css +0 -91
  176. package/publish/lib/css/Toast/index.css +0 -201
  177. package/publish/lib/css/Tooltip/index.css +0 -197
  178. package/publish/lib/css/Tree/index.css +0 -232
  179. package/publish/lib/esm/Accordion/Accordion.tsx +0 -184
  180. package/publish/lib/esm/Accordion/AccordionItem.tsx +0 -143
  181. package/publish/lib/esm/Accordion/index.tsx +0 -2
  182. package/publish/lib/esm/BackToTop/index.scss +0 -47
  183. package/publish/lib/esm/BackToTop/index.tsx +0 -177
  184. package/publish/lib/esm/CascadingSelect/Group.tsx +0 -82
  185. package/publish/lib/esm/CascadingSelect/index.scss +0 -291
  186. package/publish/lib/esm/CascadingSelect/index.tsx +0 -1203
  187. package/publish/lib/esm/CascadingSelectE2E/Group.tsx +0 -83
  188. package/publish/lib/esm/CascadingSelectE2E/index.scss +0 -293
  189. package/publish/lib/esm/CascadingSelectE2E/index.tsx +0 -1471
  190. package/publish/lib/esm/Checkbox/index.tsx +0 -193
  191. package/publish/lib/esm/ColorPicker/index.scss +0 -91
  192. package/publish/lib/esm/ColorPicker/index.tsx +0 -204
  193. package/publish/lib/esm/Date/Calendar.tsx +0 -723
  194. package/publish/lib/esm/Date/index.scss +0 -567
  195. package/publish/lib/esm/Date/index.tsx +0 -1683
  196. package/publish/lib/esm/Date/localization/en_US.js +0 -13
  197. package/publish/lib/esm/Date/localization/zh_CN.js +0 -12
  198. package/publish/lib/esm/DigitalClock/index.tsx +0 -74
  199. package/publish/lib/esm/DragDropList/index.scss +0 -245
  200. package/publish/lib/esm/DragDropList/index.tsx +0 -494
  201. package/publish/lib/esm/DropdownMenu/Option.tsx +0 -55
  202. package/publish/lib/esm/DropdownMenu/index.scss +0 -205
  203. package/publish/lib/esm/DropdownMenu/index.tsx +0 -377
  204. package/publish/lib/esm/DynamicFields/index.tsx +0 -404
  205. package/publish/lib/esm/EventCalendar/index.scss +0 -407
  206. package/publish/lib/esm/EventCalendar/index.tsx +0 -1004
  207. package/publish/lib/esm/EventCalendarTimeline/index.scss +0 -926
  208. package/publish/lib/esm/EventCalendarTimeline/index.tsx +0 -2683
  209. package/publish/lib/esm/File/index.tsx +0 -477
  210. package/publish/lib/esm/HorizontalScrollContent/index.scss +0 -87
  211. package/publish/lib/esm/HorizontalScrollContent/index.tsx +0 -171
  212. package/publish/lib/esm/Input/index.tsx +0 -614
  213. package/publish/lib/esm/LiveSearch/index.scss +0 -82
  214. package/publish/lib/esm/LiveSearch/index.tsx +0 -960
  215. package/publish/lib/esm/MasonryLayout/index.tsx +0 -326
  216. package/publish/lib/esm/ModalDialog/index.tsx +0 -552
  217. package/publish/lib/esm/ModeSwitch/index.tsx +0 -82
  218. package/publish/lib/esm/MultilevelDropdownMenu/ItemList.tsx +0 -265
  219. package/publish/lib/esm/MultilevelDropdownMenu/index.scss +0 -79
  220. package/publish/lib/esm/MultilevelDropdownMenu/index.tsx +0 -77
  221. package/publish/lib/esm/MultipleCheckboxes/index.tsx +0 -669
  222. package/publish/lib/esm/MultipleSelect/index.scss +0 -398
  223. package/publish/lib/esm/MultipleSelect/index.tsx +0 -766
  224. package/publish/lib/esm/MultipleSelect/utils/func.ts +0 -61
  225. package/publish/lib/esm/NativeSelect/index.tsx +0 -396
  226. package/publish/lib/esm/NativeSelect/utils/func.ts +0 -49
  227. package/publish/lib/esm/NumberInput/index.tsx +0 -385
  228. package/publish/lib/esm/Pagination/index.tsx +0 -286
  229. package/publish/lib/esm/Pagination/pagination-navigators.tsx +0 -60
  230. package/publish/lib/esm/Radio/index.tsx +0 -670
  231. package/publish/lib/esm/RangeSlider/index.scss +0 -186
  232. package/publish/lib/esm/RangeSlider/index.tsx +0 -241
  233. package/publish/lib/esm/RootPortal/index.tsx +0 -53
  234. package/publish/lib/esm/ScrollReveal/index.tsx +0 -148
  235. package/publish/lib/esm/Scrollbar/index.scss +0 -221
  236. package/publish/lib/esm/Scrollbar/index.tsx +0 -561
  237. package/publish/lib/esm/SearchBar/index.tsx +0 -253
  238. package/publish/lib/esm/Select/index.scss +0 -553
  239. package/publish/lib/esm/Select/index.tsx +0 -2816
  240. package/publish/lib/esm/Select/utils/func.ts +0 -106
  241. package/publish/lib/esm/ShowMoreLess/index.scss +0 -27
  242. package/publish/lib/esm/ShowMoreLess/index.tsx +0 -145
  243. package/publish/lib/esm/Switch/index.tsx +0 -147
  244. package/publish/lib/esm/Table/Table.tsx +0 -257
  245. package/publish/lib/esm/Table/TableBody.tsx +0 -41
  246. package/publish/lib/esm/Table/TableCaption.tsx +0 -34
  247. package/publish/lib/esm/Table/TableCell.tsx +0 -123
  248. package/publish/lib/esm/Table/TableColgroup.tsx +0 -38
  249. package/publish/lib/esm/Table/TableContext.tsx +0 -26
  250. package/publish/lib/esm/Table/TableFoot.tsx +0 -28
  251. package/publish/lib/esm/Table/TableHead.tsx +0 -28
  252. package/publish/lib/esm/Table/TableRow.tsx +0 -76
  253. package/publish/lib/esm/Table/index.scss +0 -418
  254. package/publish/lib/esm/Table/index.tsx +0 -14
  255. package/publish/lib/esm/Table/utils/DragHandleSprite.tsx +0 -46
  256. package/publish/lib/esm/Table/utils/SortSprite.tsx +0 -57
  257. package/publish/lib/esm/Table/utils/TableFilter.tsx +0 -56
  258. package/publish/lib/esm/Table/utils/ToggleSelection.tsx +0 -225
  259. package/publish/lib/esm/Table/utils/func.ts +0 -171
  260. package/publish/lib/esm/Table/utils/hooks/useTableDraggable.tsx +0 -342
  261. package/publish/lib/esm/Table/utils/hooks/useTableKeyPress.tsx +0 -154
  262. package/publish/lib/esm/Table/utils/hooks/useTableResponsive.tsx +0 -92
  263. package/publish/lib/esm/Table/utils/hooks/useTableSort.tsx +0 -143
  264. package/publish/lib/esm/Tabs/TabList.tsx +0 -50
  265. package/publish/lib/esm/Tabs/TabPanel.tsx +0 -44
  266. package/publish/lib/esm/Tabs/Tabs.tsx +0 -282
  267. package/publish/lib/esm/Tabs/index.tsx +0 -3
  268. package/publish/lib/esm/TagInput/index.scss +0 -126
  269. package/publish/lib/esm/TagInput/index.tsx +0 -352
  270. package/publish/lib/esm/Textarea/index.tsx +0 -608
  271. package/publish/lib/esm/Toast/Item.tsx +0 -124
  272. package/publish/lib/esm/Toast/index.scss +0 -269
  273. package/publish/lib/esm/Toast/index.tsx +0 -374
  274. package/publish/lib/esm/Tooltip/index.scss +0 -269
  275. package/publish/lib/esm/Tooltip/index.tsx +0 -312
  276. package/publish/lib/esm/Tree/TreeList.tsx +0 -616
  277. package/publish/lib/esm/Tree/index.scss +0 -386
  278. package/publish/lib/esm/Tree/index.tsx +0 -396
  279. package/publish/lib/esm/Tree/init-height.tsx +0 -27
  280. package/publish/lib/esm/Tree/utils/func.ts +0 -15
  281. package/publish/lib/esm/Utils/hooks/useAutosizeTextArea.tsx +0 -125
  282. package/publish/lib/esm/Utils/hooks/useBoundedDrag.tsx +0 -301
  283. package/publish/lib/esm/Utils/hooks/useClickOutside.tsx +0 -69
  284. package/publish/lib/esm/Utils/hooks/useComId.tsx +0 -13
  285. package/publish/lib/esm/Utils/hooks/useDebounce.tsx +0 -40
  286. package/publish/lib/esm/Utils/hooks/useDragDropPosition.tsx +0 -420
  287. package/publish/lib/esm/Utils/hooks/useDraggable.tsx +0 -265
  288. package/publish/lib/esm/Utils/hooks/useInterval.tsx +0 -74
  289. package/publish/lib/esm/Utils/hooks/useIsMobile.tsx +0 -56
  290. package/publish/lib/esm/Utils/hooks/useKeyPress.tsx +0 -104
  291. package/publish/lib/esm/Utils/hooks/useThrottle.tsx +0 -39
  292. package/publish/lib/esm/Utils/hooks/useWindowScroll.tsx +0 -83
  293. package/publish/lib/esm/Utils/libs/anim.ts +0 -96
  294. package/publish/lib/esm/Utils/libs/buffer.ts +0 -262
  295. package/publish/lib/esm/Utils/libs/cls.ts +0 -64
  296. package/publish/lib/esm/Utils/libs/convert.ts +0 -59
  297. package/publish/lib/esm/Utils/libs/date.ts +0 -578
  298. package/publish/lib/esm/Utils/libs/dom.ts +0 -150
  299. package/publish/lib/esm/Utils/libs/easing.ts +0 -201
  300. package/publish/lib/esm/Utils/libs/extract.ts +0 -86
  301. package/publish/lib/esm/Utils/libs/getElementProperty.ts +0 -150
  302. package/publish/lib/esm/Utils/libs/guid.ts +0 -16
  303. package/publish/lib/esm/Utils/libs/initDefaultOptions.ts +0 -104
  304. package/publish/lib/esm/Utils/libs/inputsCalculation.ts +0 -160
  305. package/publish/lib/esm/Utils/libs/math.ts +0 -276
  306. package/publish/lib/esm/Utils/libs/object.ts +0 -68
  307. package/publish/lib/esm/Utils/libs/os.ts +0 -63
  308. package/publish/lib/esm/Utils/libs/performance.ts +0 -47
  309. package/publish/lib/esm/Utils/libs/tree.ts +0 -119
  310. package/publish/lib/esm/Utils/libs/viewport.ts +0 -20
  311. package/publish/lib/esm/Utils/plugins/bodyScrollLock.ts +0 -286
  312. package/publish/lib/esm/index.js +0 -43
  313. package/publish/package.json +0 -1
  314. /package/{publish/Accordion → Accordion}/index.d.ts +0 -0
  315. /package/{publish/Accordion → Accordion}/index.js +0 -0
  316. /package/{publish/BackToTop → BackToTop}/index.css +0 -0
  317. /package/{publish/BackToTop → BackToTop}/index.d.ts +0 -0
  318. /package/{publish/BackToTop → BackToTop}/index.js +0 -0
  319. /package/{publish/CascadingSelect → CascadingSelect}/index.css +0 -0
  320. /package/{publish/CascadingSelect → CascadingSelect}/index.d.ts +0 -0
  321. /package/{publish/CascadingSelect → CascadingSelect}/index.js +0 -0
  322. /package/{publish/CascadingSelectE2E → CascadingSelectE2E}/index.css +0 -0
  323. /package/{publish/CascadingSelectE2E → CascadingSelectE2E}/index.d.ts +0 -0
  324. /package/{publish/CascadingSelectE2E → CascadingSelectE2E}/index.js +0 -0
  325. /package/{publish/Checkbox → Checkbox}/index.d.ts +0 -0
  326. /package/{publish/Checkbox → Checkbox}/index.js +0 -0
  327. /package/{publish/ColorPicker → ColorPicker}/index.css +0 -0
  328. /package/{publish/ColorPicker → ColorPicker}/index.d.ts +0 -0
  329. /package/{publish/ColorPicker → ColorPicker}/index.js +0 -0
  330. /package/{publish/Date → Date}/index.css +0 -0
  331. /package/{publish/Date → Date}/index.d.ts +0 -0
  332. /package/{publish/Date → Date}/index.js +0 -0
  333. /package/{publish/DigitalClock → DigitalClock}/index.d.ts +0 -0
  334. /package/{publish/DigitalClock → DigitalClock}/index.js +0 -0
  335. /package/{publish/DragDropList → DragDropList}/index.css +0 -0
  336. /package/{publish/DragDropList → DragDropList}/index.d.ts +0 -0
  337. /package/{publish/DragDropList → DragDropList}/index.js +0 -0
  338. /package/{publish/DropdownMenu → DropdownMenu}/index.css +0 -0
  339. /package/{publish/DropdownMenu → DropdownMenu}/index.d.ts +0 -0
  340. /package/{publish/DropdownMenu → DropdownMenu}/index.js +0 -0
  341. /package/{publish/DynamicFields → DynamicFields}/index.d.ts +0 -0
  342. /package/{publish/DynamicFields → DynamicFields}/index.js +0 -0
  343. /package/{publish/EventCalendar → EventCalendar}/index.css +0 -0
  344. /package/{publish/EventCalendar → EventCalendar}/index.d.ts +0 -0
  345. /package/{publish/EventCalendar → EventCalendar}/index.js +0 -0
  346. /package/{publish/EventCalendarTimeline → EventCalendarTimeline}/index.css +0 -0
  347. /package/{publish/EventCalendarTimeline → EventCalendarTimeline}/index.d.ts +0 -0
  348. /package/{publish/EventCalendarTimeline → EventCalendarTimeline}/index.js +0 -0
  349. /package/{publish/File → File}/index.d.ts +0 -0
  350. /package/{publish/File → File}/index.js +0 -0
  351. /package/{publish/HorizontalScrollContent → HorizontalScrollContent}/index.css +0 -0
  352. /package/{publish/HorizontalScrollContent → HorizontalScrollContent}/index.d.ts +0 -0
  353. /package/{publish/HorizontalScrollContent → HorizontalScrollContent}/index.js +0 -0
  354. /package/{publish/Input → Input}/index.d.ts +0 -0
  355. /package/{publish/Input → Input}/index.js +0 -0
  356. /package/{publish/LiveSearch → LiveSearch}/index.css +0 -0
  357. /package/{publish/LiveSearch → LiveSearch}/index.d.ts +0 -0
  358. /package/{publish/LiveSearch → LiveSearch}/index.js +0 -0
  359. /package/{publish/MasonryLayout → MasonryLayout}/index.d.ts +0 -0
  360. /package/{publish/MasonryLayout → MasonryLayout}/index.js +0 -0
  361. /package/{publish/ModalDialog → ModalDialog}/index.d.ts +0 -0
  362. /package/{publish/ModalDialog → ModalDialog}/index.js +0 -0
  363. /package/{publish/ModeSwitch → ModeSwitch}/index.d.ts +0 -0
  364. /package/{publish/ModeSwitch → ModeSwitch}/index.js +0 -0
  365. /package/{publish/MultilevelDropdownMenu → MultilevelDropdownMenu}/index.css +0 -0
  366. /package/{publish/MultilevelDropdownMenu → MultilevelDropdownMenu}/index.d.ts +0 -0
  367. /package/{publish/MultilevelDropdownMenu → MultilevelDropdownMenu}/index.js +0 -0
  368. /package/{publish/MultipleCheckboxes → MultipleCheckboxes}/index.d.ts +0 -0
  369. /package/{publish/MultipleCheckboxes → MultipleCheckboxes}/index.js +0 -0
  370. /package/{publish/MultipleSelect → MultipleSelect}/index.css +0 -0
  371. /package/{publish/MultipleSelect → MultipleSelect}/index.d.ts +0 -0
  372. /package/{publish/MultipleSelect → MultipleSelect}/index.js +0 -0
  373. /package/{publish/NativeSelect → NativeSelect}/index.d.ts +0 -0
  374. /package/{publish/NativeSelect → NativeSelect}/index.js +0 -0
  375. /package/{publish/NumberInput → NumberInput}/index.d.ts +0 -0
  376. /package/{publish/NumberInput → NumberInput}/index.js +0 -0
  377. /package/{publish/Pagination → Pagination}/index.d.ts +0 -0
  378. /package/{publish/Pagination → Pagination}/index.js +0 -0
  379. /package/{publish/Radio → Radio}/index.d.ts +0 -0
  380. /package/{publish/Radio → Radio}/index.js +0 -0
  381. /package/{publish/RangeSlider → RangeSlider}/index.css +0 -0
  382. /package/{publish/RangeSlider → RangeSlider}/index.d.ts +0 -0
  383. /package/{publish/RangeSlider → RangeSlider}/index.js +0 -0
  384. /package/{publish/RootPortal → RootPortal}/index.d.ts +0 -0
  385. /package/{publish/RootPortal → RootPortal}/index.js +0 -0
  386. /package/{publish/ScrollReveal → ScrollReveal}/index.d.ts +0 -0
  387. /package/{publish/ScrollReveal → ScrollReveal}/index.js +0 -0
  388. /package/{publish/Scrollbar → Scrollbar}/index.css +0 -0
  389. /package/{publish/Scrollbar → Scrollbar}/index.d.ts +0 -0
  390. /package/{publish/Scrollbar → Scrollbar}/index.js +0 -0
  391. /package/{publish/SearchBar → SearchBar}/index.d.ts +0 -0
  392. /package/{publish/SearchBar → SearchBar}/index.js +0 -0
  393. /package/{publish/Select → Select}/index.css +0 -0
  394. /package/{publish/Select → Select}/index.d.ts +0 -0
  395. /package/{publish/Select → Select}/index.js +0 -0
  396. /package/{publish/ShowMoreLess → ShowMoreLess}/index.css +0 -0
  397. /package/{publish/ShowMoreLess → ShowMoreLess}/index.d.ts +0 -0
  398. /package/{publish/ShowMoreLess → ShowMoreLess}/index.js +0 -0
  399. /package/{publish/Switch → Switch}/index.d.ts +0 -0
  400. /package/{publish/Switch → Switch}/index.js +0 -0
  401. /package/{publish/Table → Table}/index.css +0 -0
  402. /package/{publish/Table → Table}/index.d.ts +0 -0
  403. /package/{publish/Table → Table}/index.js +0 -0
  404. /package/{publish/Tabs → Tabs}/index.d.ts +0 -0
  405. /package/{publish/Tabs → Tabs}/index.js +0 -0
  406. /package/{publish/TagInput → TagInput}/index.css +0 -0
  407. /package/{publish/TagInput → TagInput}/index.d.ts +0 -0
  408. /package/{publish/TagInput → TagInput}/index.js +0 -0
  409. /package/{publish/Textarea → Textarea}/index.d.ts +0 -0
  410. /package/{publish/Textarea → Textarea}/index.js +0 -0
  411. /package/{publish/Toast → Toast}/index.css +0 -0
  412. /package/{publish/Toast → Toast}/index.d.ts +0 -0
  413. /package/{publish/Toast → Toast}/index.js +0 -0
  414. /package/{publish/Tooltip → Tooltip}/index.css +0 -0
  415. /package/{publish/Tooltip → Tooltip}/index.d.ts +0 -0
  416. /package/{publish/Tooltip → Tooltip}/index.js +0 -0
  417. /package/{publish/Tree → Tree}/index.css +0 -0
  418. /package/{publish/Tree → Tree}/index.d.ts +0 -0
  419. /package/{publish/Tree → Tree}/index.js +0 -0
  420. /package/{publish/Utils → Utils}/anim.d.ts +0 -0
  421. /package/{publish/Utils → Utils}/anim.js +0 -0
  422. /package/{publish/Utils → Utils}/bodyScrollLock.d.ts +0 -0
  423. /package/{publish/Utils → Utils}/bodyScrollLock.js +0 -0
  424. /package/{publish/Utils → Utils}/buffer.d.ts +0 -0
  425. /package/{publish/Utils → Utils}/buffer.js +0 -0
  426. /package/{publish/Utils → Utils}/cls.d.ts +0 -0
  427. /package/{publish/Utils → Utils}/cls.js +0 -0
  428. /package/{publish/Utils → Utils}/convert.d.ts +0 -0
  429. /package/{publish/Utils → Utils}/convert.js +0 -0
  430. /package/{publish/Utils → Utils}/date.d.ts +0 -0
  431. /package/{publish/Utils → Utils}/date.js +0 -0
  432. /package/{publish/Utils → Utils}/dom.d.ts +0 -0
  433. /package/{publish/Utils → Utils}/dom.js +0 -0
  434. /package/{publish/Utils → Utils}/easing.d.ts +0 -0
  435. /package/{publish/Utils → Utils}/easing.js +0 -0
  436. /package/{publish/Utils → Utils}/extract.d.ts +0 -0
  437. /package/{publish/Utils → Utils}/extract.js +0 -0
  438. /package/{publish/Utils → Utils}/getElementProperty.d.ts +0 -0
  439. /package/{publish/Utils → Utils}/getElementProperty.js +0 -0
  440. /package/{publish/Utils → Utils}/guid.d.ts +0 -0
  441. /package/{publish/Utils → Utils}/guid.js +0 -0
  442. /package/{publish/Utils → Utils}/initDefaultOptions.d.ts +0 -0
  443. /package/{publish/Utils → Utils}/initDefaultOptions.js +0 -0
  444. /package/{publish/Utils → Utils}/inputsCalculation.d.ts +0 -0
  445. /package/{publish/Utils → Utils}/inputsCalculation.js +0 -0
  446. /package/{publish/Utils → Utils}/math.d.ts +0 -0
  447. /package/{publish/Utils → Utils}/math.js +0 -0
  448. /package/{publish/Utils → Utils}/object.d.ts +0 -0
  449. /package/{publish/Utils → Utils}/object.js +0 -0
  450. /package/{publish/Utils → Utils}/os.d.ts +0 -0
  451. /package/{publish/Utils → Utils}/os.js +0 -0
  452. /package/{publish/Utils → Utils}/performance.d.ts +0 -0
  453. /package/{publish/Utils → Utils}/performance.js +0 -0
  454. /package/{publish/Utils → Utils}/tree.d.ts +0 -0
  455. /package/{publish/Utils → Utils}/tree.js +0 -0
  456. /package/{publish/Utils → Utils}/useAutosizeTextArea.d.ts +0 -0
  457. /package/{publish/Utils → Utils}/useAutosizeTextArea.js +0 -0
  458. /package/{publish/Utils → Utils}/useBoundedDrag.d.ts +0 -0
  459. /package/{publish/Utils → Utils}/useBoundedDrag.js +0 -0
  460. /package/{publish/Utils → Utils}/useClickOutside.d.ts +0 -0
  461. /package/{publish/Utils → Utils}/useClickOutside.js +0 -0
  462. /package/{publish/Utils → Utils}/useComId.d.ts +0 -0
  463. /package/{publish/Utils → Utils}/useComId.js +0 -0
  464. /package/{publish/Utils → Utils}/useDebounce.d.ts +0 -0
  465. /package/{publish/Utils → Utils}/useDebounce.js +0 -0
  466. /package/{publish/Utils → Utils}/useDragDropPosition.d.ts +0 -0
  467. /package/{publish/Utils → Utils}/useDragDropPosition.js +0 -0
  468. /package/{publish/Utils → Utils}/useDraggable.d.ts +0 -0
  469. /package/{publish/Utils → Utils}/useDraggable.js +0 -0
  470. /package/{publish/Utils → Utils}/useInterval.d.ts +0 -0
  471. /package/{publish/Utils → Utils}/useInterval.js +0 -0
  472. /package/{publish/Utils → Utils}/useIsMobile.d.ts +0 -0
  473. /package/{publish/Utils → Utils}/useIsMobile.js +0 -0
  474. /package/{publish/Utils → Utils}/useKeyPress.d.ts +0 -0
  475. /package/{publish/Utils → Utils}/useKeyPress.js +0 -0
  476. /package/{publish/Utils → Utils}/useThrottle.d.ts +0 -0
  477. /package/{publish/Utils → Utils}/useThrottle.js +0 -0
  478. /package/{publish/Utils → Utils}/useWindowScroll.d.ts +0 -0
  479. /package/{publish/Utils → Utils}/useWindowScroll.js +0 -0
  480. /package/{publish/Utils → Utils}/viewport.d.ts +0 -0
  481. /package/{publish/Utils → Utils}/viewport.js +0 -0
  482. /package/{publish/all.d.ts → all.d.ts} +0 -0
  483. /package/{publish/all.js → all.js} +0 -0
@@ -1,385 +0,0 @@
1
- import React, { useState, useEffect, useRef, forwardRef, ChangeEvent, FocusEvent, useImperativeHandle } from 'react';
2
-
3
-
4
- import useComId from 'funda-utils/dist/cjs/useComId';
5
- import { clsWrite, combinedCls } from 'funda-utils/dist/cjs/cls';
6
- import {
7
- calcAdd,
8
- calcSub,
9
- isNumeric,
10
- truncateDecimals,
11
- exceedDecimalPlaces,
12
- formatNumber
13
- } from 'funda-utils/dist/cjs/math';
14
-
15
- export type NumberInputProps = {
16
- contentRef?: React.ForwardedRef<any>;
17
- wrapperClassName?: string;
18
- controlClassName?: string;
19
- controlGroupWrapperClassName?: string;
20
- controlGroupTextClassName?: string;
21
- arrowBtnClassName?: string[];
22
- arrowBtnContainerClassName?: string;
23
- increaseIcon?: React.ReactNode | string;
24
- decreaseIcon?: React.ReactNode | string;
25
- hideArrowButton?: boolean;
26
- defaultValue?: string;
27
- value?: string;
28
- requiredLabel?: React.ReactNode | string;
29
- label?: React.ReactNode | string;
30
- units?: React.ReactNode | string;
31
- name?: string;
32
- step?: any;
33
- min?: any;
34
- max?: any;
35
- decimalPlaces?: number;
36
- alt?: any;
37
- disabled?: any;
38
- required?: any;
39
- readOnly?: any;
40
- placeholder?: string;
41
- iconLeft?: React.ReactNode | string;
42
- iconRight?: React.ReactNode | string;
43
- /** -- */
44
- id?: string;
45
- style?: React.CSSProperties;
46
- tabIndex?: number;
47
- [key: `data-${string}`]: string | undefined;
48
- onChange?: (e: any, el: any, val: number) => void;
49
- onBlur?: (e: any, el: any) => void;
50
- onFocus?: (e: any, el: any) => void;
51
-
52
- };
53
-
54
-
55
- const NumberInput = forwardRef((props: NumberInputProps, externalRef: any) => {
56
- const {
57
- contentRef,
58
- wrapperClassName,
59
- controlClassName,
60
- controlGroupWrapperClassName,
61
- controlGroupTextClassName,
62
- arrowBtnClassName,
63
- arrowBtnContainerClassName,
64
- increaseIcon,
65
- decreaseIcon,
66
- hideArrowButton,
67
- requiredLabel,
68
- disabled,
69
- required,
70
- placeholder,
71
- readOnly,
72
- defaultValue,
73
- value,
74
- label,
75
- units,
76
- name,
77
- step = 1,
78
- min = Number.MIN_SAFE_INTEGER,
79
- max = Number.MAX_SAFE_INTEGER,
80
- decimalPlaces = 0,
81
- alt,
82
- id,
83
- iconLeft,
84
- iconRight,
85
- style,
86
- tabIndex,
87
- onChange,
88
- onBlur,
89
- onFocus,
90
- ...attributes
91
- } = props;
92
-
93
-
94
- const uniqueID = useComId();
95
- const idRes = id || uniqueID;
96
- const HIDE_ARROW = typeof hideArrowButton === 'undefined' ? false : hideArrowButton;
97
- const rootRef = useRef<any>(null);
98
- const valRef = useRef<any>(null);
99
- const [changedVal, setChangedVal] = useState<string>(value || '');
100
-
101
- // exposes the following methods
102
- useImperativeHandle(
103
- contentRef,
104
- () => ({
105
- control: () => {
106
- return valRef.current;
107
- },
108
- clear: (cb?: any) => {
109
- setChangedVal('');
110
- cb?.();
111
- },
112
- set: (value: string, cb?: any) => {
113
- setChangedVal(`${value}`);
114
- cb?.();
115
- },
116
- increment: (cb?: any) => {
117
- handleIncrement(null);
118
- cb?.();
119
- },
120
- decrement: (cb?: any) => {
121
- handleDecrement(null);
122
- cb?.();
123
- }
124
-
125
- }),
126
- [contentRef],
127
- );
128
-
129
- const propExist = (p: any) => {
130
- return typeof p !== 'undefined' && p !== null && p !== '';
131
- };
132
-
133
- // Formalized digits, supporting decimal places
134
- const formatValue = (inputValue: any) => {
135
- return formatNumber(inputValue, decimalPlaces, min, max);
136
- };
137
-
138
- const checkResValue = (inputValue: number | string) => {
139
- // Check whether the number of decimal places exceeds the specified value
140
- if (exceedDecimalPlaces(inputValue, decimalPlaces)) {
141
- inputValue = truncateDecimals(Number(inputValue), decimalPlaces);
142
- }
143
-
144
- // check min or max value
145
- if ( Number(inputValue) > max ) inputValue = max;
146
- if ( Number(inputValue) < min ) inputValue = min;
147
-
148
- return inputValue;
149
- };
150
-
151
- const handleIncrement = (e: React.MouseEvent<HTMLButtonElement> | null) => {
152
- if (e) e.preventDefault();
153
-
154
- setChangedVal((prevValue: string) => {
155
- const newValue = calcAdd(parseFloat(prevValue), step);
156
- onChange?.(e, valRef.current, Number(formatValue(newValue)));
157
- return formatValue(newValue);
158
- });
159
-
160
- };
161
-
162
- const handleDecrement = (e: React.MouseEvent<HTMLButtonElement> | null) => {
163
- if (e) e.preventDefault();
164
-
165
- setChangedVal((prevValue: string) => {
166
- const newValue = calcSub(parseFloat(prevValue), step);
167
- onChange?.(e, valRef.current, Number(formatValue(newValue)));
168
- return formatValue(newValue);
169
- });
170
-
171
- };
172
-
173
-
174
-
175
- function handleFocus(event: FocusEvent<HTMLInputElement>) {
176
- rootRef.current?.classList.add('focus');
177
-
178
- //
179
- onFocus?.(event, valRef.current);
180
- }
181
-
182
- function handleChange(event: ChangeEvent<HTMLInputElement>) {
183
- const val = event.target.value;
184
- let newVal: number | string = parseFloat(event.target.value);
185
-
186
- if (!isNumeric(newVal)) newVal = val;
187
-
188
- // Determine whether it is a null or negative symbol
189
- if (val === '-') {
190
- newVal = '-';
191
-
192
- // Determine whether to enter a decimal
193
- } else if (val.startsWith('-0') && decimalPlaces > 0) {
194
- newVal = val;
195
-
196
- //
197
- } else if (val.includes('.') && decimalPlaces > 0) {
198
- newVal = val;
199
-
200
- }else {
201
- newVal = formatValue(newVal);
202
- }
203
-
204
- // Check result
205
- newVal = checkResValue(newVal);
206
-
207
-
208
- //
209
- const resToInput = String(newVal) === 'NaN' ? '0' : String(newVal);
210
- setChangedVal(resToInput);
211
-
212
-
213
- //----
214
- //remove focus style
215
- if (val === '') {
216
- rootRef.current?.classList.remove('focus');
217
- }
218
-
219
- //
220
- onChange?.(event, valRef.current, Number(!isNumeric(newVal) ? '0' : resToInput));
221
-
222
-
223
- }
224
-
225
- function handleBlur(event: FocusEvent<HTMLInputElement>) {
226
- const el = event.target;
227
- const val = event.target.value;
228
-
229
-
230
- // Determine whether to enter a decimal
231
- if (val.includes('.') && decimalPlaces > 0) {
232
- setChangedVal(formatValue(val));
233
- }
234
-
235
- // Determine whether it is a null or negative symbol
236
- if (val === '' || val === '-') {
237
- setChangedVal('0');
238
- }
239
-
240
-
241
- //----
242
- //remove focus style
243
- if (val === '') {
244
- rootRef.current?.classList.remove('focus');
245
- }
246
-
247
- //
248
- onBlur?.(event, valRef.current);
249
-
250
- }
251
-
252
-
253
- useEffect(() => {
254
-
255
- // update default value
256
- //--------------
257
- if (typeof value !== 'undefined') {
258
- setChangedVal(`${formatValue(value)}`); // Avoid displaying the number 0
259
- }
260
-
261
-
262
- }, [value]);
263
-
264
-
265
- useEffect(() => {
266
-
267
- // update default value (It does not re-render the component because the incoming value changes.)
268
- //--------------
269
- if (typeof defaultValue !== 'undefined') { //REQUIRED
270
- setChangedVal(`${formatValue(defaultValue)}`); // Avoid displaying the number 0
271
- }
272
-
273
- }, []);
274
-
275
-
276
- return (
277
- <>
278
-
279
- <div className={clsWrite(wrapperClassName, 'mb-3 position-relative')} ref={rootRef}>
280
- {label ? <>{typeof label === 'string' ? <label htmlFor={idRes} className="form-label" dangerouslySetInnerHTML={{__html: `${label}`}}></label> : <label htmlFor={idRes} className="form-label">{label}</label>}</> : null}
281
-
282
- <div className="position-relative">
283
-
284
- {/* INPUT GROUP*/}
285
- <div className={combinedCls(
286
- clsWrite(controlGroupWrapperClassName, 'input-group position-relative z-1'),
287
- {
288
- 'has-left-content': propExist(iconLeft),
289
- 'has-right-content': propExist(iconRight) || propExist(units)
290
- }
291
- )}>
292
- {propExist(iconLeft) ? <><span className={clsWrite(controlGroupTextClassName, 'input-group-text')}>{iconLeft}</span></> : null}
293
-
294
- <input
295
- ref={(node) => {
296
- valRef.current = node;
297
- if (typeof externalRef === 'function') {
298
- externalRef(node);
299
- } else if (externalRef) {
300
- externalRef.current = node;
301
- }
302
- }}
303
-
304
- tabIndex={tabIndex || 0}
305
- type="text"
306
- inputMode={decimalPlaces > 0 ? 'decimal' : 'numeric' } // numeric | decimal
307
- className={combinedCls(
308
- clsWrite(controlClassName, 'form-control'),
309
- {
310
- 'rounded': !propExist(iconLeft) && !propExist(iconRight) && !propExist(units)
311
- }
312
- )}
313
- id={idRes}
314
- name={name}
315
- min={min || null}
316
- max={max || null}
317
- alt={alt || null}
318
- placeholder={placeholder || ''}
319
- value={changedVal}
320
- autoComplete={'off'}
321
- spellCheck={false}
322
- onFocus={handleFocus}
323
- onBlur={handleBlur}
324
- onChange={handleChange}
325
- disabled={disabled || null}
326
- required={required || null}
327
- readOnly={readOnly || null}
328
- style={style}
329
- {...attributes}
330
- />
331
- {propExist(units) ? <><span className={clsWrite(controlGroupTextClassName, 'input-group-text')}>{units}</span></> : null}
332
- {propExist(iconRight) ? <><span className={clsWrite(controlGroupTextClassName, 'input-group-text')}>{iconRight}</span></> : null}
333
-
334
- {required ? <>{requiredLabel || requiredLabel === '' ? requiredLabel : <span className="position-absolute end-0 top-0 my-2 mx-2 me-3 pe-3"><span className="text-danger">*</span></span>}</> : ''}
335
-
336
- </div>
337
-
338
- {/* /INPUT GROUP*/}
339
-
340
-
341
-
342
- {/* ARROW GROUP*/}
343
- {HIDE_ARROW ? null : <>
344
- <span className={clsWrite(arrowBtnContainerClassName, 'btn-group-vertical position-absolute top-0 end-0 h-100 z-3 border-start')} role="group">
345
- <button
346
- type="button"
347
- className={clsWrite(Array(arrowBtnClassName) && arrowBtnClassName ? arrowBtnClassName[0] : undefined, 'btn btn-sm border-0 border-bottom py-0 lh-1 flex-fill')}
348
- tabIndex={-1}
349
- onClick={handleIncrement}
350
- disabled={disabled || null}
351
- >
352
- <span>{increaseIcon || <svg width={13} fill="#000000" viewBox="0 0 24 24">
353
- <path d="M18.5,15.5l-6-7l-6,7H18.5z" />
354
- <rect fill="none" width="24" height="24" />
355
- <rect fill="none" width="24" height="24" />
356
- </svg>}</span>
357
- </button>
358
-
359
- <button
360
- type="button"
361
- className={clsWrite(Array(arrowBtnClassName) && arrowBtnClassName ? arrowBtnClassName[1] : undefined, 'btn btn-sm border-0 py-0 lh-1 flex-fill')}
362
- tabIndex={-1}
363
- onClick={handleDecrement}
364
- disabled={disabled || null}
365
- >
366
- <span>{decreaseIcon || <svg width={13} fill="#000000" viewBox="0 0 24 24">
367
- <path d="M6.5,8.5l6,7l6-7H6.5z"/>
368
- <rect fill="none" width="24" height="24" />
369
- <rect fill="none" width="24" height="24" />
370
- </svg>}</span>
371
- </button>
372
- </span>
373
- </>}
374
- {/* /ARROW GROUP*/}
375
- </div>
376
-
377
-
378
- </div>
379
-
380
-
381
- </>
382
- )
383
- });
384
-
385
- export default NumberInput;
@@ -1,286 +0,0 @@
1
- import React, { useRef, forwardRef, useImperativeHandle } from 'react';
2
- import { paginationNavigators } from './pagination-navigators';
3
-
4
- import { clsWrite, combinedCls } from 'funda-utils/dist/cjs/cls';
5
-
6
- export type PaginationProps = {
7
- /** The class name of the navigation wrapper */
8
- wrapperClassName?: string;
9
- /** The class name of the navigation */
10
- navClassName?: string;
11
- /** The class name of each item */
12
- navItemClassName?: string;
13
- /** An API URL Path. Use `{page}` characters to place a placeholder. such as `/mypage/{page}` */
14
- apiUrl: string;
15
- /** The range of pages displayed */
16
- pageRangeDisplayed: number;
17
- /** The currently selected page number. */
18
- activePage: number;
19
- /** The total number of pages. */
20
- totalPages: number;
21
- /** Label for the previous button. */
22
- previousLabel?: React.ReactNode;
23
- /** Label for the next button. */
24
- nextLabel?: React.ReactNode;
25
- /** Label for the first button. */
26
- firstLabel?: React.ReactNode;
27
- /** Label for the last button. */
28
- lastLabel?: React.ReactNode;
29
- /** Label for ellipsis */
30
- breakLabel?: React.ReactNode;
31
- /** Set the alignment of the control */
32
- align?: string | null;
33
- /** Only display the previous and next buttons. */
34
- onlyPrevNext?: boolean;
35
- /** The classname for the active page */
36
- activeClassName?: string;
37
- /** The classname on tag li of the previous button */
38
- previousClassName?: string;
39
- /** The classname on tag li of the next button */
40
- nextClassName?: string;
41
- /** The classname on tag li of the first button */
42
- firstClassName?: string;
43
- /** The classname on tag li of the last button */
44
- lastClassName?: string;
45
- /** The classname for disabled buttons */
46
- disabledClassName?: string;
47
- /** The activation button is symmetrical on the left and right sides. */
48
- symmetry?: boolean;
49
- /** -- */
50
- style?: React.CSSProperties;
51
- /** The method to call when a page is clicked. Exposes the current page number as an argument. */
52
- onChange?: (page: number, total: number) => void;
53
-
54
-
55
- };
56
-
57
-
58
- const Pagination = forwardRef((props: PaginationProps, externalRef: any) => {
59
- const {
60
- wrapperClassName,
61
- navClassName,
62
- navItemClassName,
63
- apiUrl,
64
- pageRangeDisplayed,
65
- activePage,
66
- totalPages,
67
- previousLabel,
68
- nextLabel,
69
- firstLabel,
70
- lastLabel,
71
- breakLabel,
72
- align,
73
- onlyPrevNext,
74
- activeClassName,
75
- previousClassName,
76
- nextClassName,
77
- firstClassName,
78
- lastClassName,
79
- disabledClassName,
80
- symmetry,
81
- style,
82
- onChange
83
- } = props;
84
-
85
-
86
- const rootRef = useRef<any>(null);
87
- const visibleNavigators = pageRangeDisplayed ? pageRangeDisplayed : 3;
88
-
89
-
90
-
91
-
92
- // exposes the following methods
93
- useImperativeHandle(
94
- externalRef,
95
- () => ({
96
- next: (cb: any) => {
97
- handleClick('next', (p: number) => {
98
- cb?.(p);
99
- });
100
- },
101
- prev: (cb: any) => {
102
- handleClick('prev', (p: number) => {
103
- cb?.(p);
104
- });
105
- },
106
- first: (cb: any) => {
107
- handleClick('first', (p: number) => {
108
- cb?.(p);
109
- });
110
- },
111
- last: (cb: any) => {
112
- handleClick('last', (p: number) => {
113
- cb?.(p);
114
- });
115
- }
116
- }),
117
- [externalRef, totalPages, activePage],
118
- );
119
-
120
-
121
-
122
- let alignClassName = '';
123
- switch (align) {
124
- case 'left':
125
- alignClassName = ' justify-content-start';
126
- break;
127
- case 'right':
128
- alignClassName = ' justify-content-end';
129
- break;
130
- case 'center':
131
- alignClassName = ' justify-content-center';
132
- break;
133
- }
134
-
135
- const _activeClassName = activeClassName || 'active',
136
- _previousClassName = previousClassName || 'prev',
137
- _nextClassName = nextClassName || 'next',
138
- _firstClassName = firstClassName || 'first',
139
- _lastClassName = lastClassName || 'last',
140
- _disabledClassName = disabledClassName || 'disabled',
141
- _itemClassName = navItemClassName || 'page-item',
142
- _onlyPrevNextButtons = typeof (onlyPrevNext) === 'undefined' ? false : onlyPrevNext,
143
- _symmetry = typeof (symmetry) === 'undefined' ? false : symmetry;
144
-
145
-
146
- //get navigation array
147
- //------------------------------------------
148
- const navArr = paginationNavigators(visibleNavigators, totalPages, activePage, true, _symmetry);
149
-
150
-
151
- // Use ellipsis to extend page numbers
152
- //------------------------------------------
153
- let _ellipsis = breakLabel ? breakLabel : '';
154
- let _ellipsisArr: any[any] = [];
155
- let _ellipsisEnabled = false;
156
-
157
- if (_ellipsis !== '') _ellipsisArr = [totalPages - 1, totalPages];
158
- if (activePage + 2 >= totalPages) {
159
- _ellipsisArr = [];
160
- _ellipsis = '';
161
- }
162
-
163
- const _ellipsisElements = _ellipsisArr.map((item: any, i: number) => {
164
- if (item > 0 && item <= totalPages && !_onlyPrevNextButtons) {
165
- //Delete values whose display range is more than the total
166
- if (navArr.indexOf(item) === -1) {
167
- _ellipsisEnabled = true;
168
-
169
- return (
170
- <li key={i} className={activePage === item ? `${_itemClassName} ${_activeClassName}` : `${_itemClassName}`}>
171
- <a className="page-link" data-page={item} href={apiUrl?.replace('{page}', item)} onClick={(e) => {
172
- e.preventDefault();
173
- onChange?.(Number(item), Number(totalPages));
174
- }}>{item}</a>
175
- </li>
176
- );
177
- }
178
- }
179
- });
180
-
181
-
182
-
183
-
184
- function handleClick(parameter: any, cb?: any) {
185
-
186
- switch (parameter) {
187
- case "prev":
188
- onChange?.(activePage - 1, Number(totalPages));
189
- cb?.(activePage - 1);
190
- break;
191
- case "next":
192
- onChange?.(activePage + 1, Number(totalPages));
193
- cb?.(activePage + 1);
194
- break;
195
- case "first":
196
- onChange?.(1, Number(totalPages));
197
- cb?.(1);
198
- break;
199
- case "last":
200
- onChange?.(totalPages, Number(totalPages));
201
- cb?.(totalPages);
202
- break;
203
- default:
204
- onChange?.(1, Number(totalPages));
205
- cb?.(1);
206
- break;
207
- }
208
- }
209
-
210
-
211
- return (
212
- <>
213
-
214
- <nav
215
- ref={rootRef}
216
- className={clsWrite(wrapperClassName, 'mb-3 position-relative')}
217
- style={style}
218
- >
219
- <ul className={combinedCls(
220
- alignClassName,
221
- clsWrite(navClassName, 'pagination')
222
- )}>
223
- {firstLabel ? (
224
- <li className={activePage > 1 ? `${_itemClassName} ${_firstClassName}` : `${_itemClassName} ${_firstClassName} ${_disabledClassName}`}>
225
- <a tabIndex={activePage > 1 ? 0 : -1} aria-disabled={activePage > 1 ? 'false' : 'true'} className="page-link" data-page={1} href={apiUrl?.replace('{page}', '1')} onClick={(e) => { e.preventDefault(); handleClick('first'); }}>
226
- {firstLabel || null}
227
- </a>
228
- </li>
229
- ) : ''}
230
-
231
- {previousLabel ? (
232
- <li className={activePage > 1 ? `${_itemClassName} ${_previousClassName}` : `${_itemClassName} ${_previousClassName} ${_disabledClassName}`}>
233
- <a tabIndex={activePage > 1 ? 0 : -1} aria-disabled={activePage > 1 ? 'false' : 'true'} className="page-link" data-page={activePage - 1} href={apiUrl?.replace('{page}', (activePage - 1) as any)} onClick={(e) => { e.preventDefault(); handleClick('prev'); }}>
234
- {previousLabel || null}
235
- </a>
236
- </li>
237
- ) : ''}
238
-
239
-
240
- {
241
- navArr.map((item: any, i: number) => {
242
- if (item > 0 && item <= totalPages && !_onlyPrevNextButtons) {
243
- return (
244
- <li key={i} className={activePage === item ? `${_itemClassName} ${_activeClassName}` : `${_itemClassName}`}>
245
- <a className="page-link" data-page={item} href={apiUrl?.replace('{page}', item)} onClick={(e) => {
246
- e.preventDefault();
247
- onChange?.(Number(item), Number(totalPages));
248
- }}>{item}</a>
249
- </li>
250
- );
251
- }
252
-
253
- })
254
- }
255
-
256
-
257
- {_ellipsis !== '' && _ellipsisEnabled ? <><li className={_itemClassName}><span className="page-link">{_ellipsis}</span></li></> : ''}
258
- {_ellipsisElements}
259
-
260
- {nextLabel ? (
261
- <li className={activePage < totalPages ? `${_itemClassName} ${_nextClassName}` : `${_itemClassName} ${_nextClassName} ${_disabledClassName}`}>
262
- <a tabIndex={activePage < totalPages ? 0 : -1} aria-disabled={activePage < totalPages ? 'false' : 'true'} className="page-link" data-page={activePage + 1} href={apiUrl?.replace('{page}', (activePage + 1) as any)} onClick={(e) => { e.preventDefault(); handleClick('next'); }}>
263
- {nextLabel || null}
264
- </a>
265
- </li>
266
- ) : ''}
267
-
268
-
269
- {lastLabel ? (
270
- <li className={activePage < totalPages ? `${_itemClassName} ${_lastClassName}` : `${_itemClassName} ${_lastClassName} ${_disabledClassName}`}>
271
- <a tabIndex={activePage < totalPages ? 0 : -1} aria-disabled={activePage < totalPages ? 'false' : 'true'} className="page-link" data-page={totalPages} href={apiUrl?.replace('{page}', totalPages as any)} onClick={(e) => { e.preventDefault(); handleClick('last'); }}>
272
- {lastLabel || null}
273
- </a>
274
- </li>
275
- ) : ''}
276
-
277
- </ul>
278
-
279
- </nav>
280
-
281
-
282
- </>
283
- )
284
- });
285
-
286
- export default Pagination;