funda-ui 4.5.712 → 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 +44 -41
  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,205 +0,0 @@
1
- /* ======================================================
2
- <!-- Dropdown Menu -->
3
- /* ====================================================== */
4
-
5
- /* Do not use <a> tag */
6
- .dd-menu-default {
7
-
8
- display: inline-block;
9
- cursor: pointer;
10
- position: relative;
11
-
12
-
13
- .dd-menu__icon,
14
- .dd-menu__trigger {
15
- display: inline-block;
16
- }
17
-
18
- strong {
19
- font-weight: normal;
20
- display: inline-block;
21
- margin-left: .3rem;
22
- }
23
-
24
-
25
- }
26
-
27
-
28
-
29
-
30
- @keyframes dd-menu-display {
31
- 0%{
32
- opacity: 0;
33
- transform: scale(0.98) translateY(-0.6em);
34
- }
35
-
36
- 100% {
37
- opacity: 1;
38
- transform: scale(1) translateY(0);
39
- }
40
- }
41
-
42
- @keyframes dd-menu-icon-display {
43
- 0%{
44
- opacity: 0;
45
- }
46
-
47
- 100% {
48
- opacity: 1;
49
- }
50
- }
51
-
52
-
53
-
54
- .dd-menu-list__wrapper {
55
-
56
- --dd-menu-ul-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
57
- --dd-menu-ul-bg: #fff;
58
-
59
- --dd-menu-ulbefore-box-shadow: 2px -2px 6px rgba(0, 0, 0, 0.05);
60
- --dd-menu-ulbefore-border-color: #fff;
61
-
62
- --dd-menu-li-bg: #fff;
63
- --dd-menu-li-hover-bg: #FAFAFA;
64
-
65
- --dd-menu-link-border-color: rgba(0, 0, 0, 0.05);
66
- --dd-menu-link-color: #333;
67
- --dd-menu-link-size: 0.75rem;
68
-
69
-
70
-
71
- display: none;
72
- margin-top: 8px;
73
- min-width: 50px;
74
- position: absolute;
75
- z-index: 1055; /* --bs-modal-zindex */
76
-
77
-
78
- ul, li {
79
- margin: 0;
80
- padding: 0;
81
- list-style: none;
82
- }
83
-
84
-
85
- .dd-menu-list__icon {
86
- display: block;
87
- position: absolute;
88
- opacity: 0;
89
- top: -3px;
90
- left: 10px;
91
- width: 0;
92
- height: 0;
93
- transition: .1s ease-in-out;
94
- box-shadow: var(--dd-menu-ulbefore-box-shadow);
95
- border-top: 4px solid var(--dd-menu-ulbefore-border-color);
96
- border-right: 4px solid var(--dd-menu-ulbefore-border-color);
97
- border-bottom: 4px solid transparent;
98
- border-left: 4px solid transparent;
99
- transform: rotate(-45deg);
100
-
101
- &.active {
102
- animation-name: dd-menu-icon-display;
103
- animation-duration: 0.4s;
104
- animation-timing-function: cubic-bezier(0.73, 0.005, 0.22, 1);
105
- animation-delay: 0.1s;
106
- animation-iteration-count: 1;
107
- animation-fill-mode: forwards;
108
- }
109
- }
110
-
111
-
112
-
113
-
114
- > ul {
115
- display: none;
116
- white-space: nowrap;
117
- border-radius: 4px;
118
- text-align: left;
119
- box-shadow: var(--dd-menu-ul-box-shadow);
120
- background: var(--dd-menu-ul-bg);
121
- transition: .1s ease-in-out;
122
-
123
- /* Prevent the hover threshold from failing */
124
- &::after {
125
- content: '';
126
- display: block;
127
- background-color: transparent;
128
- position: absolute;
129
- top: -10px;
130
- left: 0;
131
- width: 100%;
132
- height: 20px;
133
- }
134
-
135
- li {
136
- z-index: 1;
137
- position: relative;
138
- background: var(--dd-menu-li-bg);
139
- padding: 0 .75rem;
140
-
141
-
142
- &:hover {
143
- background: var(--dd-menu-li-hover-bg);
144
- }
145
-
146
- a {
147
- display: block;
148
- border-bottom: 1px solid var(--dd-menu-link-border-color);
149
- padding: .75rem 0;
150
- color: var(--dd-menu-link-color);
151
- font-size: var(--dd-menu-link-size);
152
- text-decoration: none;
153
-
154
- svg,
155
- i {
156
- display: none;
157
- }
158
-
159
-
160
- }
161
-
162
-
163
- &:first-child {
164
- border-radius: 4px 4px 0 0;
165
- }
166
- &:last-child {
167
- border-radius: 0 0 4px 4px;
168
-
169
- a {
170
- border-bottom: 0;
171
- }
172
- }
173
- }
174
-
175
- }
176
-
177
-
178
- &.pos-top {
179
-
180
- margin-top: auto;
181
- margin-bottom: 8px;
182
-
183
-
184
- .dd-menu-list__icon {
185
- top: auto;
186
- bottom: -3px;
187
- border-bottom: 4px solid var(--dd-menu-ulbefore-border-color);
188
- border-left: 4px solid var(--dd-menu-ulbefore-border-color);
189
- border-top: 4px solid transparent;
190
- border-right: 4px solid transparent;
191
- }
192
- }
193
-
194
-
195
- &.active {
196
- display: block !important;
197
-
198
- > ul {
199
- animation: dd-menu-display 0.4s cubic-bezier(0.73, 0.005, 0.22, 1);
200
- display: block !important;
201
- }
202
- }
203
-
204
-
205
- }
@@ -1,377 +0,0 @@
1
- import React, { useEffect, useState, useRef } from 'react';
2
-
3
- import RootPortal from 'funda-root-portal';
4
-
5
- import useComId from 'funda-utils/dist/cjs/useComId';
6
- import useClickOutside from 'funda-utils/dist/cjs/useClickOutside';
7
- import {
8
- getAbsolutePositionOfStage
9
- } from 'funda-utils/dist/cjs/getElementProperty';
10
- import { clsWrite, combinedCls } from 'funda-utils/dist/cjs/cls';
11
-
12
-
13
- import Option from './Option';
14
-
15
-
16
-
17
- export type OptionChangeFnType = (arg1: any, arg2: any) => void;
18
-
19
- export interface OptionConfig {
20
- [propName: string]: string | number;
21
- }
22
-
23
- export type DropdownMenuProps = {
24
- wrapperClassName?: string;
25
- listClassName?: string;
26
- hyperlinkClassName?: string;
27
- showClassName?: string;
28
- exceededSidePosOffset?: number;
29
- hoverOn?: boolean;
30
- hoverOff?: boolean;
31
- hoverDelay?: number;
32
- iconLeft?: React.ReactNode | string;
33
- iconRight?: React.ReactNode | string;
34
- /** Set a name for the form field for this component */
35
- name?: string;
36
- /** Whether to use button style, otherwise use "div" */
37
- triggerButton?: boolean;
38
- /** Specify a class for this Node. */
39
- triggerClassName?: string;
40
- /** Set a piece of text or HTML code for the trigger */
41
- triggerContent?: string;
42
- /** When enabled, the corresponding option content will be displayed after selecting an option */
43
- triggerSwitchActive?: boolean;
44
- /** Specify data of Dropdown Menu as a JSON string format. */
45
- options?: OptionConfig[];
46
- /** This function is called whenever the data is updated.
47
- * Exposes the JSON format data about the option as an argument.
48
- */
49
- /** -- */
50
- id?: string;
51
- tabIndex?: number;
52
- onChange?: OptionChangeFnType | null;
53
- };
54
-
55
- const DropdownMenu = (props: DropdownMenuProps) => {
56
-
57
- const {
58
- wrapperClassName,
59
- listClassName,
60
- hyperlinkClassName,
61
- showClassName,
62
- exceededSidePosOffset,
63
- hoverOn,
64
- hoverOff,
65
- hoverDelay,
66
- iconLeft,
67
- iconRight,
68
- name,
69
- triggerButton,
70
- triggerClassName,
71
- triggerContent,
72
- triggerSwitchActive,
73
- options,
74
- tabIndex,
75
- id,
76
- onChange
77
- } = props;
78
-
79
- const POS_OFFSET = 0;
80
- const EXCEEDED_SIDE_POS_OFFSET = Number(exceededSidePosOffset) || 15;
81
- const uniqueID = useComId();
82
- const idRes = id || uniqueID;
83
- const rootRef = useRef<any>(null);
84
- const modalRef = useRef<any>(null);
85
- const triggerRef = useRef<any>(null);
86
- const iconRef = useRef<any>(null);
87
- const listRef = useRef<any>(null);
88
- const [isOpen, setIsOpen] = useState<boolean>(false);
89
- const [selected, setSelected] = useState<any>(null);
90
- const _hoverDelay = !isNaN(hoverDelay as never) && typeof hoverDelay !== 'undefined' ? hoverDelay : 150;
91
-
92
-
93
- const defaultLabel = triggerContent === undefined ? '' : triggerContent;
94
- const selectedLabel = triggerSwitchActive ? (selected ? selected.label : defaultLabel) : defaultLabel;
95
- const selectOptionsListPresentation = options?.map((selectOption: any, index: number) => {
96
- return <Option
97
- key={index}
98
- option={selectOption}
99
- hyperlinkClassName={hyperlinkClassName ? hyperlinkClassName : 'dd-menu-default__item'}
100
- selectEv={(value: any, option: any) => handleSelect(value, option)}
101
- />;
102
- });
103
-
104
-
105
- // force display
106
- const [initPopRoot, setInitPopRoot] = useState<boolean>(false);
107
-
108
- // click outside
109
- useClickOutside({
110
- enabled: isOpen && rootRef.current && modalRef.current,
111
- isOutside: (event: any) => {
112
-
113
- // close dropdown when other dropdown is opened
114
- return (
115
- (rootRef.current !== event.target && !rootRef.current.contains(event.target as HTMLElement)) &&
116
- modalRef.current !== event.target && !modalRef.current.contains(event.target as HTMLElement)
117
- )
118
-
119
- },
120
- handle: (event: any) => {
121
- setIsOpen(false);
122
- popwinPosHide();
123
- }
124
- }, [isOpen, rootRef, modalRef]);
125
-
126
-
127
-
128
- function handleClick(event: React.MouseEvent) {
129
- if (hoverOn) return;
130
-
131
- setIsOpen(!isOpen);
132
- popwinPosInit();
133
-
134
-
135
- }
136
-
137
-
138
- function handleHoverOn(event: React.MouseEvent) {
139
- if (!hoverOn || typeof hoverOn === 'undefined') return;
140
-
141
- setTimeout(() => {
142
- setIsOpen(true);
143
- popwinPosInit();
144
- }, _hoverDelay);
145
-
146
- }
147
-
148
- function handleHoverOff(event: React.MouseEvent) {
149
- if (!hoverOff || typeof hoverOff === 'undefined') return;
150
- setTimeout(() => {
151
- setIsOpen(false);
152
- popwinPosHide();
153
- }, _hoverDelay);
154
-
155
- }
156
-
157
-
158
-
159
- function handleSelect(value: any, option: any) {
160
-
161
- setIsOpen(false);
162
- popwinPosHide();
163
- setSelected(option);
164
-
165
- // change display text of trigger
166
- setTimeout(() => {
167
- if (triggerRef.current !== null) {
168
- triggerRef.current.querySelector('.dd-menu__trigger').innerHTML = option.label;
169
- }
170
- }, 0);
171
-
172
- if (typeof (onChange) === 'function') {
173
- onChange(value, option);
174
- }
175
-
176
- }
177
-
178
-
179
-
180
-
181
- function popwinPosInit() {
182
- if (modalRef.current === null || triggerRef.current === null) return;
183
-
184
- setTimeout(() => {
185
-
186
-
187
- // update modal position
188
- const _modalRef: any = document.querySelector(`#dd-menu-list__wrapper-${idRes}`);
189
- const _triggerRef: any = triggerRef.current;
190
-
191
-
192
- // console.log(getAbsolutePositionOfStage(_triggerRef));
193
-
194
- const {x, y, width, height} = getAbsolutePositionOfStage(_triggerRef);
195
- const _triggerBox = _triggerRef.getBoundingClientRect();
196
- let targetPos = '';
197
-
198
-
199
- // STEP 1:
200
- //-----------
201
- // display wrapper
202
- _modalRef.classList.add('active');
203
-
204
-
205
-
206
-
207
- // STEP 2:
208
- //-----------
209
- // Detect position
210
- if (window.innerHeight - _triggerBox.top > 100) {
211
- targetPos = 'bottom';
212
- } else {
213
- targetPos = 'top';
214
- }
215
-
216
-
217
- // STEP 3:
218
- //-----------
219
- // Adjust position
220
- if (targetPos === 'top') {
221
- _modalRef.style.left = x + 'px';
222
- //_modalRef.style.top = y - POS_OFFSET - (listRef.current.clientHeight) - 2 + 'px';
223
- _modalRef.style.top = 'auto';
224
- _modalRef.style.bottom = (window.innerHeight - _triggerBox.top) + POS_OFFSET + 2 + 'px';
225
- _modalRef.style.setProperty('position', 'fixed', 'important');
226
- _modalRef.classList.add('pos-top');
227
- }
228
-
229
- if (targetPos === 'bottom') {
230
- _modalRef.style.left = x + 'px';
231
- _modalRef.style.bottom = 'auto';
232
- _modalRef.style.top = y + height + POS_OFFSET + 'px';
233
- _modalRef.style.setProperty('position', 'absolute', 'important');
234
- _modalRef.classList.remove('pos-top');
235
- }
236
-
237
-
238
- // STEP 4:
239
- //-----------
240
- // Determine whether it exceeds the far right or left side of the screen
241
- const _modalContent = modalRef.current;
242
- const _modalListContent = modalRef.current.querySelector('.dd-menu-list__inner');
243
- const _modalBox = _modalListContent.getBoundingClientRect();
244
- const _iconRef: any = iconRef.current;
245
-
246
-
247
- // 10 pixels is used to account for some bias in mobile devices
248
- if ((_modalBox.right + 10) > window.innerWidth) {
249
- const _modalOffsetPosition = _modalBox.right - window.innerWidth + EXCEEDED_SIDE_POS_OFFSET;
250
- _modalContent.style.marginLeft = `-${_modalOffsetPosition}px`;
251
- _iconRef.style.marginLeft = `${_modalOffsetPosition}px`;
252
- // console.log('_modalPosition: ', _modalOffsetPosition)
253
- }
254
-
255
-
256
- if ((_modalBox.left - 10) < 0) {
257
- const _modalOffsetPosition = Math.abs(_modalBox.left) + EXCEEDED_SIDE_POS_OFFSET;
258
- _modalContent.style.marginLeft = `${_modalOffsetPosition}px`;
259
- _iconRef.style.marginLeft = `-${_modalOffsetPosition}px`;
260
- // console.log('_modalPosition: ', _modalOffsetPosition)
261
- }
262
-
263
-
264
- }, 0);
265
-
266
-
267
- }
268
-
269
-
270
-
271
- function popwinPosHide() {
272
-
273
- const _modalRef: any = document.querySelector(`#dd-menu-list__wrapper-${idRes}`);
274
- if (_modalRef !== null) {
275
- // remove classnames and styles
276
- _modalRef.classList.remove('active');
277
-
278
- }
279
-
280
- }
281
-
282
- useEffect(() => {
283
- setInitPopRoot(true);
284
- }, []);
285
-
286
-
287
- return (
288
- <>
289
-
290
- <div
291
- ref={rootRef}
292
- className={combinedCls(
293
- 'dd-menu__wrapper',
294
- clsWrite(wrapperClassName, 'dd-menu-default'),
295
- isOpen ? 'active' : undefined
296
- )}
297
- onMouseLeave={handleHoverOff}
298
- >
299
-
300
-
301
- {triggerButton ? <button
302
- ref={triggerRef}
303
- tabIndex={tabIndex || -1}
304
- className={clsWrite(triggerClassName, 'd-block-inline w-auto')}
305
- type="button"
306
- data-overlay-id={`dd-menu-list__wrapper-${idRes}`}
307
- onMouseEnter={handleHoverOn}
308
- onClick={handleClick}
309
- >
310
- {iconLeft ? <><span className="dd-menu__icon">{iconLeft}</span></>: null}
311
- <span className="dd-menu__trigger" dangerouslySetInnerHTML={{ __html: selectedLabel }}></span>
312
- {iconRight ? <><span className="dd-menu__icon">{iconRight}</span></>: null}
313
-
314
- </button> : <div
315
- ref={triggerRef}
316
- className={clsWrite(triggerClassName, 'd-block-inline w-auto')}
317
- data-overlay-id={`dd-menu-list__wrapper-${idRes}`}
318
- onMouseEnter={handleHoverOn}
319
- onClick={handleClick}
320
- >
321
- {iconLeft ? <><span className="dd-menu__icon">{iconLeft}</span></>: null}
322
- <span className="dd-menu__trigger" dangerouslySetInnerHTML={{ __html: selectedLabel }}></span>
323
- {iconRight ? <><span className="dd-menu__icon">{iconRight}</span></>: null}
324
- </div>
325
- }
326
-
327
-
328
-
329
- {/* INPUT */}
330
- <input
331
- name={name || ''}
332
- type="hidden"
333
- tabIndex={-1}
334
- value={selected?.value}
335
- onChange={() => void(0)}
336
- /> {/* // do not use `defaultValue` */}
337
- {/* /INPUT */}
338
-
339
- {/* MENU LIST */}
340
- <RootPortal show={initPopRoot} containerClassName="DropdownMenu">
341
- <div
342
- ref={modalRef}
343
- className="dd-menu-list__wrapper"
344
- id={`dd-menu-list__wrapper-${idRes}`}
345
- style={{ display: 'none'}}
346
- >
347
- <span ref={iconRef} className={combinedCls(
348
- 'dd-menu-list__icon',
349
- isOpen ? 'active' : undefined
350
- )}></span>
351
-
352
- <ul
353
- ref={listRef}
354
- className={combinedCls(
355
- 'dd-menu-list__inner',
356
- clsWrite(listClassName, 'dd-menu-default__inner'),
357
- isOpen ? clsWrite(showClassName, 'show') : undefined
358
- )}
359
- >
360
- {selectOptionsListPresentation}
361
- </ul>
362
- </div>
363
- </RootPortal>
364
-
365
- {/* /MENU LIST */}
366
-
367
-
368
- </div>
369
-
370
- </>
371
- )
372
- }
373
-
374
-
375
-
376
-
377
- export default DropdownMenu;