@onehat/ui 0.3.380 → 0.4.0

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 (440) hide show
  1. package/package.json +37 -9
  2. package/src/Components/Accordion/Accordion.js +22 -17
  3. package/src/Components/Blank.js +1 -3
  4. package/src/Components/Buttons/BackButton.js +21 -12
  5. package/src/Components/Buttons/Button.js +65 -13
  6. package/src/Components/Buttons/CartButtonWithBadge.js +14 -6
  7. package/src/Components/Buttons/IconButton.js +31 -74
  8. package/src/Components/Buttons/PlusMinusButton.js +34 -21
  9. package/src/Components/Buttons/ReloadButton.js +7 -8
  10. package/src/Components/Buttons/SquareButton.js +41 -55
  11. package/src/Components/Container/Container.js +55 -16
  12. package/src/Components/Container/ScreenContainer.js +26 -16
  13. package/src/Components/Container/Splitter.js +38 -25
  14. package/src/Components/Editor/Editor.js +3 -2
  15. package/src/Components/Editor/InlineEditor.js +38 -32
  16. package/src/Components/Filter/DateRange.js +37 -18
  17. package/src/Components/Filter/NumberRange.js +87 -83
  18. package/src/Components/Form/Field/CKEditor/CKEditor.js +4 -4
  19. package/src/Components/Form/Field/Checkbox/CheckboxGroup.js +9 -6
  20. package/src/Components/Form/Field/Color.js +95 -86
  21. package/src/Components/Form/Field/Combo/Combo.js +347 -284
  22. package/src/Components/Form/Field/Combo/PageSizeCombo.js +4 -7
  23. package/src/Components/Form/Field/Date.js +276 -312
  24. package/src/Components/Form/Field/DisplayField.js +11 -5
  25. package/src/Components/Form/Field/File.js +26 -32
  26. package/src/Components/Form/Field/FormikForm.js +1018 -0
  27. package/src/Components/Form/Field/Input.js +91 -41
  28. package/src/Components/Form/Field/Json.js +25 -21
  29. package/src/Components/Form/Field/Number.js +70 -51
  30. package/src/Components/Form/Field/RadioGroup/RadioGroup.js +4 -6
  31. package/src/Components/Form/Field/Select/PageSizeSelect.js +33 -0
  32. package/src/Components/Form/Field/Select/Select.js +109 -0
  33. package/src/Components/Form/Field/Slider.js +38 -30
  34. package/src/Components/Form/Field/Tag/Tag.js +88 -72
  35. package/src/Components/Form/Field/Tag/ValueBox.js +25 -20
  36. package/src/Components/Form/Field/Text.js +21 -12
  37. package/src/Components/Form/Field/TextArea.js +32 -15
  38. package/src/Components/Form/Field/Toggle.js +42 -24
  39. package/src/Components/Form/FieldSet.js +77 -54
  40. package/src/Components/Form/Form.js +491 -268
  41. package/src/Components/Form/Label.js +28 -17
  42. package/src/Components/Gluestack/accordion/index.tsx +394 -0
  43. package/src/Components/Gluestack/actionsheet/index.tsx +619 -0
  44. package/src/Components/Gluestack/alert/index.tsx +310 -0
  45. package/src/Components/Gluestack/alert-dialog/index.tsx +295 -0
  46. package/src/Components/Gluestack/avatar/index.tsx +190 -0
  47. package/src/Components/Gluestack/badge/index.tsx +272 -0
  48. package/src/Components/Gluestack/bottomsheet/index.tsx +294 -0
  49. package/src/Components/Gluestack/box/index.tsx +19 -0
  50. package/src/Components/Gluestack/box/index.web.tsx +18 -0
  51. package/src/Components/Gluestack/box/styles.tsx +10 -0
  52. package/src/Components/Gluestack/button/index.tsx +494 -0
  53. package/src/Components/Gluestack/card/index.tsx +23 -0
  54. package/src/Components/Gluestack/card/index.web.tsx +22 -0
  55. package/src/Components/Gluestack/card/styles.tsx +20 -0
  56. package/src/Components/Gluestack/center/index.tsx +22 -0
  57. package/src/Components/Gluestack/center/index.web.tsx +19 -0
  58. package/src/Components/Gluestack/center/styles.tsx +8 -0
  59. package/src/Components/Gluestack/checkbox/index.tsx +305 -0
  60. package/src/Components/Gluestack/divider/index.tsx +44 -0
  61. package/src/Components/Gluestack/drawer/index.tsx +354 -0
  62. package/src/Components/Gluestack/fab/index.tsx +286 -0
  63. package/src/Components/Gluestack/flat-list/index.tsx +2 -0
  64. package/src/Components/Gluestack/form-control/index.tsx +527 -0
  65. package/src/Components/Gluestack/gluestack-ui-provider/config.ts +332 -0
  66. package/src/Components/Gluestack/gluestack-ui-provider/index.tsx +47 -0
  67. package/src/Components/Gluestack/gluestack-ui-provider/index.web.tsx +94 -0
  68. package/src/Components/Gluestack/gluestack-ui-provider/script.ts +19 -0
  69. package/src/Components/Gluestack/grid/index.tsx +341 -0
  70. package/src/Components/Gluestack/grid/index.web.tsx +65 -0
  71. package/src/Components/Gluestack/grid/styles.tsx +15 -0
  72. package/src/Components/Gluestack/heading/index.tsx +212 -0
  73. package/src/Components/Gluestack/heading/index.web.tsx +203 -0
  74. package/src/Components/Gluestack/heading/styles.tsx +43 -0
  75. package/src/Components/Gluestack/hstack/index.tsx +23 -0
  76. package/src/Components/Gluestack/hstack/index.web.tsx +22 -0
  77. package/src/Components/Gluestack/hstack/styles.tsx +25 -0
  78. package/src/Components/Gluestack/image/index.tsx +52 -0
  79. package/src/Components/Gluestack/image-background/index.tsx +21 -0
  80. package/src/Components/Gluestack/index.js +116 -0
  81. package/src/Components/Gluestack/input/index.tsx +287 -0
  82. package/src/Components/Gluestack/input-accessory-view/index.tsx +2 -0
  83. package/src/Components/Gluestack/keyboard-avoiding-view/index.tsx +2 -0
  84. package/src/Components/Gluestack/link/index.tsx +107 -0
  85. package/src/Components/Gluestack/menu/index.tsx +210 -0
  86. package/src/Components/Gluestack/modal/index.tsx +279 -0
  87. package/src/Components/Gluestack/popover/index.tsx +352 -0
  88. package/src/Components/Gluestack/portal/index.tsx +13 -0
  89. package/src/Components/Gluestack/pressable/index.tsx +46 -0
  90. package/src/Components/Gluestack/progress/index.tsx +164 -0
  91. package/src/Components/Gluestack/radio/index.tsx +304 -0
  92. package/src/Components/Gluestack/refresh-control/index.tsx +2 -0
  93. package/src/Components/Gluestack/safe-area-view/index.tsx +2 -0
  94. package/src/Components/Gluestack/scroll-view/index.tsx +2 -0
  95. package/src/Components/Gluestack/section-list/index.tsx +2 -0
  96. package/src/Components/Gluestack/select/index.tsx +335 -0
  97. package/src/Components/Gluestack/select/select-actionsheet.tsx +584 -0
  98. package/src/Components/Gluestack/skeleton/index.tsx +138 -0
  99. package/src/Components/Gluestack/skeleton/index.web.tsx +103 -0
  100. package/src/Components/Gluestack/skeleton/styles.tsx +35 -0
  101. package/src/Components/Gluestack/slider/index.tsx +283 -0
  102. package/src/Components/Gluestack/spinner/index.tsx +34 -0
  103. package/src/Components/Gluestack/status-bar/index.tsx +2 -0
  104. package/src/Components/Gluestack/switch/index.tsx +55 -0
  105. package/src/Components/Gluestack/table/index.tsx +200 -0
  106. package/src/Components/Gluestack/table/index.web.tsx +142 -0
  107. package/src/Components/Gluestack/table/styles.tsx +44 -0
  108. package/src/Components/Gluestack/text/index.tsx +48 -0
  109. package/src/Components/Gluestack/text/index.web.tsx +45 -0
  110. package/src/Components/Gluestack/text/styles.tsx +47 -0
  111. package/src/Components/Gluestack/textarea/index.tsx +108 -0
  112. package/src/Components/Gluestack/toast/index.tsx +225 -0
  113. package/src/Components/Gluestack/tooltip/index.tsx +125 -0
  114. package/src/Components/Gluestack/utils/use-break-point-value.ts +101 -0
  115. package/src/Components/Gluestack/view/index.tsx +2 -0
  116. package/src/Components/Gluestack/virtualized-list/index.tsx +2 -0
  117. package/src/Components/Gluestack/vstack/index.tsx +24 -0
  118. package/src/Components/Gluestack/vstack/index.web.tsx +23 -0
  119. package/src/Components/Gluestack/vstack/styles.tsx +25 -0
  120. package/src/Components/Grid/Grid.js +192 -135
  121. package/src/Components/Grid/GridHeaderRow.js +51 -59
  122. package/src/Components/Grid/GridRow.js +152 -58
  123. package/src/Components/Grid/HeaderColumnSelectorHandle.js +16 -10
  124. package/src/Components/Grid/HeaderReorderHandle.js +17 -13
  125. package/src/Components/Grid/HeaderResizeHandle.js +17 -13
  126. package/src/Components/Grid/NoRecordsFound.js +15 -18
  127. package/src/Components/Grid/RowDragHandle.js +9 -13
  128. package/src/Components/Hoc/Secondary/withSecondaryEditor.js +14 -9
  129. package/src/Components/Hoc/Secondary/withSecondaryWindowedEditor.js +14 -11
  130. package/src/Components/Hoc/withAlert.js +150 -200
  131. package/src/Components/Hoc/withBlank.js +4 -6
  132. package/src/Components/Hoc/withCollapsible.js +4 -3
  133. package/src/Components/Hoc/withComponent.js +33 -6
  134. package/src/Components/Hoc/withContextMenu.js +133 -141
  135. package/src/Components/Hoc/withData.js +5 -4
  136. package/src/Components/Hoc/withDnd.js +11 -9
  137. package/src/Components/Hoc/withDraggable.js +10 -10
  138. package/src/Components/Hoc/withEditor.js +18 -13
  139. package/src/Components/Hoc/withEvents.js +4 -6
  140. package/src/Components/Hoc/withFilters.js +524 -498
  141. package/src/Components/Hoc/withInlineEditor.js +7 -5
  142. package/src/Components/Hoc/withModal.js +79 -137
  143. package/src/Components/Hoc/withMultiSelection.js +4 -2
  144. package/src/Components/Hoc/withPdfButtons.js +109 -111
  145. package/src/Components/Hoc/withPresetButtons.js +49 -53
  146. package/src/Components/Hoc/withSelection.js +6 -5
  147. package/src/Components/Hoc/withSideEditor.js +12 -6
  148. package/src/Components/Hoc/withTooltip.js +18 -12
  149. package/src/Components/Hoc/withValue.js +6 -5
  150. package/src/Components/Hoc/withWindowedEditor.js +13 -11
  151. package/src/Components/Icons/AddressBook.js +7 -10
  152. package/src/Components/Icons/Alt.js +8 -15
  153. package/src/Components/Icons/AngleLeft.js +7 -14
  154. package/src/Components/Icons/AngleRight.js +7 -14
  155. package/src/Components/Icons/AnglesLeft.js +7 -14
  156. package/src/Components/Icons/AnglesRight.js +7 -14
  157. package/src/Components/Icons/Asterisk.js +7 -10
  158. package/src/Components/Icons/Ban.js +9 -14
  159. package/src/Components/Icons/Bars.js +7 -10
  160. package/src/Components/Icons/BarsStaggered.js +7 -10
  161. package/src/Components/Icons/Bell.js +7 -19
  162. package/src/Components/Icons/BigCircle.js +7 -14
  163. package/src/Components/Icons/Book.js +7 -10
  164. package/src/Components/Icons/BookOpen.js +7 -10
  165. package/src/Components/Icons/Bookmark.js +8 -17
  166. package/src/Components/Icons/Bug.js +7 -10
  167. package/src/Components/Icons/Building.js +7 -10
  168. package/src/Components/Icons/Calendar.js +7 -14
  169. package/src/Components/Icons/Calendar2.js +7 -14
  170. package/src/Components/Icons/CalendarDays.js +7 -14
  171. package/src/Components/Icons/Camera.js +7 -14
  172. package/src/Components/Icons/CaretDown.js +7 -14
  173. package/src/Components/Icons/CaretUp.js +7 -14
  174. package/src/Components/Icons/CartPlus.js +7 -10
  175. package/src/Components/Icons/CartShopping.js +7 -10
  176. package/src/Components/Icons/CashRegister.js +7 -10
  177. package/src/Components/Icons/Certificate.js +7 -10
  178. package/src/Components/Icons/ChartLine.js +7 -10
  179. package/src/Components/Icons/ChartPie.js +7 -10
  180. package/src/Components/Icons/Check.js +7 -10
  181. package/src/Components/Icons/CheckDouble.js +7 -10
  182. package/src/Components/Icons/ChevronDown.js +7 -10
  183. package/src/Components/Icons/ChevronLeft.js +7 -10
  184. package/src/Components/Icons/ChevronRight.js +7 -10
  185. package/src/Components/Icons/ChevronUp.js +7 -10
  186. package/src/Components/Icons/Circle.js +7 -10
  187. package/src/Components/Icons/CircleArrowRight.js +7 -10
  188. package/src/Components/Icons/CircleExclamation.js +7 -14
  189. package/src/Components/Icons/CircleInfo.js +7 -10
  190. package/src/Components/Icons/CircleQuestion.js +7 -10
  191. package/src/Components/Icons/CircleXmark.js +7 -10
  192. package/src/Components/Icons/CircleXmarkRegular.js +7 -10
  193. package/src/Components/Icons/Clipboard.js +7 -14
  194. package/src/Components/Icons/ClipboardCheck.js +7 -17
  195. package/src/Components/Icons/ClipboardList.js +7 -16
  196. package/src/Components/Icons/Clock.js +7 -10
  197. package/src/Components/Icons/ClockRegular.js +7 -10
  198. package/src/Components/Icons/ClockRotateLeft.js +7 -10
  199. package/src/Components/Icons/Clone.js +7 -10
  200. package/src/Components/Icons/Collapse.js +7 -14
  201. package/src/Components/Icons/Comment.js +7 -10
  202. package/src/Components/Icons/CommentDots.js +7 -10
  203. package/src/Components/Icons/CommentRegular.js +7 -10
  204. package/src/Components/Icons/Comments.js +7 -10
  205. package/src/Components/Icons/CommentsRegular.js +7 -10
  206. package/src/Components/Icons/Copyright.js +7 -10
  207. package/src/Components/Icons/Dot.js +10 -15
  208. package/src/Components/Icons/Download.js +11 -0
  209. package/src/Components/Icons/Duplicate.js +7 -14
  210. package/src/Components/Icons/Edit.js +7 -14
  211. package/src/Components/Icons/EllipsisHorizontal.js +7 -16
  212. package/src/Components/Icons/EllipsisVertical.js +7 -14
  213. package/src/Components/Icons/Envelope.js +7 -10
  214. package/src/Components/Icons/EnvelopeRegular.js +7 -10
  215. package/src/Components/Icons/Excel.js +7 -10
  216. package/src/Components/Icons/Exclamation.js +7 -10
  217. package/src/Components/Icons/Expand.js +7 -10
  218. package/src/Components/Icons/Eye.js +7 -14
  219. package/src/Components/Icons/EyeSlash.js +7 -10
  220. package/src/Components/Icons/File.js +7 -14
  221. package/src/Components/Icons/FloppyDiskRegular.js +7 -10
  222. package/src/Components/Icons/Folder.js +7 -10
  223. package/src/Components/Icons/FolderClosed.js +7 -10
  224. package/src/Components/Icons/FolderOpen.js +7 -10
  225. package/src/Components/Icons/FolderTree.js +7 -10
  226. package/src/Components/Icons/FullWidth.js +10 -25
  227. package/src/Components/Icons/Gauge.js +7 -17
  228. package/src/Components/Icons/Gear.js +7 -14
  229. package/src/Components/Icons/Gears.js +7 -10
  230. package/src/Components/Icons/Gift.js +7 -10
  231. package/src/Components/Icons/Grip.js +7 -14
  232. package/src/Components/Icons/GripLines.js +7 -14
  233. package/src/Components/Icons/GripLinesVertical.js +7 -14
  234. package/src/Components/Icons/GripVertical.js +7 -14
  235. package/src/Components/Icons/Hammer.js +7 -10
  236. package/src/Components/Icons/Hand.js +7 -10
  237. package/src/Components/Icons/HighPriority.js +7 -17
  238. package/src/Components/Icons/House.js +7 -10
  239. package/src/Components/Icons/Images.js +7 -10
  240. package/src/Components/Icons/Info.js +7 -10
  241. package/src/Components/Icons/ItunesNote.js +7 -10
  242. package/src/Components/Icons/Js.js +7 -16
  243. package/src/Components/Icons/Leaf.js +7 -10
  244. package/src/Components/Icons/Link.js +7 -9
  245. package/src/Components/Icons/List.js +7 -10
  246. package/src/Components/Icons/ListCheck.js +7 -10
  247. package/src/Components/Icons/LocationDot.js +7 -10
  248. package/src/Components/Icons/Loop.js +7 -14
  249. package/src/Components/Icons/Loop1.js +8 -13
  250. package/src/Components/Icons/LoopAll.js +8 -13
  251. package/src/Components/Icons/LowPriority.js +7 -17
  252. package/src/Components/Icons/MagnifyingGlass.js +7 -10
  253. package/src/Components/Icons/Maximize.js +7 -10
  254. package/src/Components/Icons/MedPriority.js +7 -17
  255. package/src/Components/Icons/Microphone.js +7 -10
  256. package/src/Components/Icons/Minimize.js +7 -10
  257. package/src/Components/Icons/Minus.js +7 -14
  258. package/src/Components/Icons/MobileScreenButton.js +7 -10
  259. package/src/Components/Icons/MoneyBill.js +7 -10
  260. package/src/Components/Icons/MoneyBillWave.js +7 -10
  261. package/src/Components/Icons/Mouth.js +10 -21
  262. package/src/Components/Icons/Music.js +7 -10
  263. package/src/Components/Icons/Na.js +7 -14
  264. package/src/Components/Icons/NoLoop.js +11 -13
  265. package/src/Components/Icons/NoReorderRows.js +17 -22
  266. package/src/Components/Icons/ObjectGroupRegular.js +7 -10
  267. package/src/Components/Icons/Pause.js +7 -10
  268. package/src/Components/Icons/Pdf.js +7 -10
  269. package/src/Components/Icons/Pencil.js +7 -14
  270. package/src/Components/Icons/Phone.js +7 -10
  271. package/src/Components/Icons/Play.js +7 -10
  272. package/src/Components/Icons/Plus.js +7 -14
  273. package/src/Components/Icons/Presentation.js +7 -16
  274. package/src/Components/Icons/Print.js +7 -14
  275. package/src/Components/Icons/Question.js +7 -10
  276. package/src/Components/Icons/Rate-.25x.js +12 -17
  277. package/src/Components/Icons/Rate-.5x.js +11 -16
  278. package/src/Components/Icons/Rate-.75x.js +8 -13
  279. package/src/Components/Icons/Rate-1.25x.js +8 -13
  280. package/src/Components/Icons/Rate-1.5x.js +8 -13
  281. package/src/Components/Icons/Rate-1.75x.js +8 -13
  282. package/src/Components/Icons/Rate-1x.js +11 -16
  283. package/src/Components/Icons/Rate-2x.js +8 -13
  284. package/src/Components/Icons/RateIcon-.25x.js +8 -13
  285. package/src/Components/Icons/RateIcon-.5x.js +11 -16
  286. package/src/Components/Icons/RateIcon-.75x.js +8 -13
  287. package/src/Components/Icons/RateIcon-1.25x.js +8 -13
  288. package/src/Components/Icons/RateIcon-1.5x.js +8 -13
  289. package/src/Components/Icons/RateIcon-1.75x.js +8 -13
  290. package/src/Components/Icons/RateIcon-1x.js +8 -13
  291. package/src/Components/Icons/RateIcon-2x.js +8 -13
  292. package/src/Components/Icons/RectangleXmark.js +7 -10
  293. package/src/Components/Icons/RectangleXmarkRegular.js +7 -10
  294. package/src/Components/Icons/ReorderRows.js +8 -13
  295. package/src/Components/Icons/RightFromBracket.js +7 -10
  296. package/src/Components/Icons/RightLeft.js +7 -10
  297. package/src/Components/Icons/RightToBracket.js +7 -10
  298. package/src/Components/Icons/Rotate.js +7 -14
  299. package/src/Components/Icons/RotateLeft.js +7 -10
  300. package/src/Components/Icons/RotateRight.js +7 -14
  301. package/src/Components/Icons/ScrewdriverWrench.js +7 -10
  302. package/src/Components/Icons/Scroll.js +7 -10
  303. package/src/Components/Icons/Share.js +7 -10
  304. package/src/Components/Icons/Shop.js +7 -10
  305. package/src/Components/Icons/SideBySide.js +7 -20
  306. package/src/Components/Icons/SortDown.js +7 -10
  307. package/src/Components/Icons/SortDownAlt.js +7 -10
  308. package/src/Components/Icons/SortUp.js +7 -10
  309. package/src/Components/Icons/SortUpAlt.js +7 -14
  310. package/src/Components/Icons/Square.js +7 -10
  311. package/src/Components/Icons/SquareCheck.js +7 -10
  312. package/src/Components/Icons/SquareCheckRegular.js +7 -10
  313. package/src/Components/Icons/SquareMinus.js +7 -14
  314. package/src/Components/Icons/SquareRegular.js +7 -10
  315. package/src/Components/Icons/Store.js +7 -10
  316. package/src/Components/Icons/Table.js +7 -16
  317. package/src/Components/Icons/ThumbsDown.js +7 -10
  318. package/src/Components/Icons/ThumbsDownRegular.js +7 -10
  319. package/src/Components/Icons/ThumbsUp.js +7 -10
  320. package/src/Components/Icons/ThumbsUpRegular.js +7 -10
  321. package/src/Components/Icons/Trash.js +7 -14
  322. package/src/Components/Icons/TrashCan.js +7 -14
  323. package/src/Components/Icons/TriangleExclamation.js +7 -14
  324. package/src/Components/Icons/Truck.js +7 -10
  325. package/src/Components/Icons/TruckFast.js +7 -10
  326. package/src/Components/Icons/Upload.js +11 -0
  327. package/src/Components/Icons/UploadDownload.js +11 -11
  328. package/src/Components/Icons/User.js +7 -10
  329. package/src/Components/Icons/UserGroup.js +7 -10
  330. package/src/Components/Icons/UserPlus.js +7 -10
  331. package/src/Components/Icons/UserSecret.js +7 -10
  332. package/src/Components/Icons/Video.js +7 -16
  333. package/src/Components/Icons/X.js +7 -10
  334. package/src/Components/Icons/Xmark.js +7 -10
  335. package/src/Components/Layout/CenterBox.js +13 -9
  336. package/src/Components/Layout/Footer.js +20 -13
  337. package/src/Components/Messages/ConfirmationMessage.js +30 -13
  338. package/src/Components/Messages/ErrorMessage.js +29 -23
  339. package/src/Components/Messages/Loading.js +10 -8
  340. package/src/Components/Messages/OkMessage.js +30 -13
  341. package/src/Components/Messages/Unauthorized.js +5 -8
  342. package/src/Components/Messages/WaitMessage.js +37 -73
  343. package/src/Components/Panel/AccordionGridPanel.js +6 -6
  344. package/src/Components/Panel/FormPanel.js +7 -3
  345. package/src/Components/Panel/Header.js +132 -94
  346. package/src/Components/Panel/Mask.js +4 -4
  347. package/src/Components/Panel/Panel.js +55 -72
  348. package/src/Components/Panel/TabPanel.js +1 -1
  349. package/src/Components/Picker/Picker.js +10 -9
  350. package/src/Components/Report/Report.js +17 -14
  351. package/src/Components/Screens/Manager.js +22 -22
  352. package/src/Components/Tab/TabBar.js +293 -225
  353. package/src/Components/Toolbar/FilterToolbar.js +15 -11
  354. package/src/Components/Toolbar/Pagination.js +51 -46
  355. package/src/Components/Toolbar/PaginationToolbar.js +25 -19
  356. package/src/Components/Toolbar/Toolbar.js +26 -13
  357. package/src/Components/Tooltip/Tooltip.js +35 -0
  358. package/src/Components/Tree/Tree.js +144 -147
  359. package/src/Components/Tree/TreeNode.js +75 -36
  360. package/src/Components/Viewer/Viewer.js +203 -80
  361. package/src/Components/Window/Editor.js +0 -5
  362. package/src/Components/Window/UploadsDownloadsWindow.js +40 -22
  363. package/src/Components/index.js +11 -8
  364. package/src/Constants/Alert.js +0 -0
  365. package/src/Constants/AppStates.js +0 -0
  366. package/src/Constants/Colors.js +13 -0
  367. package/src/Constants/Commands.js +0 -0
  368. package/src/Constants/Date.js +0 -0
  369. package/src/Constants/Dates.js +16 -0
  370. package/src/Constants/Directions.js +0 -0
  371. package/src/Constants/Editor.js +0 -0
  372. package/src/Constants/EditorModes.js +2 -0
  373. package/src/Constants/File.js +0 -0
  374. package/src/Constants/Filters.js +0 -0
  375. package/src/Constants/Grid.js +0 -0
  376. package/src/Constants/Input.js +1 -0
  377. package/src/Constants/MimeTypes.js +0 -0
  378. package/src/Constants/Selection.js +0 -0
  379. package/src/Constants/Styles.js +119 -108
  380. package/src/Constants/Tasks.js +3 -0
  381. package/src/Constants/Tree.js +0 -0
  382. package/src/Constants/UiModes.js +4 -3
  383. package/src/Functions/BankersRound.js +0 -0
  384. package/src/Functions/Cypress/button_functions.js +0 -0
  385. package/src/Functions/Cypress/crud_functions.js +0 -0
  386. package/src/Functions/Cypress/dom_functions.js +0 -0
  387. package/src/Functions/Cypress/grid_functions.js +0 -0
  388. package/src/Functions/Cypress/navigation_functions.js +0 -0
  389. package/src/Functions/Cypress/tree_functions.js +0 -0
  390. package/src/Functions/Cypress/utilities.js +0 -0
  391. package/src/Functions/PlatformDetector.js +0 -0
  392. package/src/Functions/Timer.js +0 -0
  393. package/src/Functions/buildAdditionalButtons.js +5 -5
  394. package/src/Functions/chunkArray.js +0 -0
  395. package/src/Functions/colorConversions.js +74 -0
  396. package/src/Functions/delay.js +0 -0
  397. package/src/Functions/delayUntil.js +0 -0
  398. package/src/Functions/deleteSaved.js +0 -0
  399. package/src/Functions/deleteSecure.js +0 -0
  400. package/src/Functions/downloadInBackground.js +0 -0
  401. package/src/Functions/downloadWithFetch.js +0 -0
  402. package/src/Functions/emptyFn.js +0 -0
  403. package/src/Functions/getComponentFromType.js +0 -0
  404. package/src/Functions/getIconButtonFromConfig.js +5 -9
  405. package/src/Functions/getIsMobile.js +0 -0
  406. package/src/Functions/getNodeIcon.js +28 -0
  407. package/src/Functions/getPref.js +0 -0
  408. package/src/Functions/getSaved.js +0 -0
  409. package/src/Functions/getSecure.js +0 -0
  410. package/src/Functions/getTokenHeaders.js +0 -0
  411. package/src/Functions/gsToHex.js +205 -0
  412. package/src/Functions/ignoreWanings.js +46 -0
  413. package/src/Functions/inArray.js +0 -0
  414. package/src/Functions/isJson.js +0 -0
  415. package/src/Functions/isSerializable.js +0 -0
  416. package/src/Functions/isVideo.js +0 -0
  417. package/src/Functions/jsonValidator.js +0 -0
  418. package/src/Functions/nbToRgb.js +1 -1
  419. package/src/Functions/objectToClassName.js +72 -0
  420. package/src/Functions/parseNotification.js +0 -0
  421. package/src/Functions/processImage.js +0 -0
  422. package/src/Functions/registerReactNativeComponents.js +0 -0
  423. package/src/Functions/registerWebComponents.js +0 -0
  424. package/src/Functions/setCustomInflector.js +0 -0
  425. package/src/Functions/setPref.js +0 -0
  426. package/src/Functions/setProgress.js +0 -0
  427. package/src/Functions/setSaved.js +0 -0
  428. package/src/Functions/setSecure.js +0 -0
  429. package/src/Functions/setThemeOverrides.js +0 -0
  430. package/src/Functions/setUiSavesRepo.js +0 -0
  431. package/src/Functions/sleep.js +0 -0
  432. package/src/Functions/tailwindFunctions.js +384 -0
  433. package/src/Functions/testProps.js +0 -0
  434. package/src/Functions/trackEngagementHit.js +0 -0
  435. package/src/Functions/verifyCompleted.js +0 -0
  436. package/src/Functions/waitFor.js +2 -2
  437. package/src/PlatformImports/Web/Attachments.js +32 -38
  438. package/src/PlatformImports/Web/File.js +38 -31
  439. package/src/UiGlobals.js +8 -1
  440. package/src/Components/Grid/ColumnSelectorWindow.js +0 -125
@@ -1,14 +1,10 @@
1
1
  import { useState, useEffect, useRef, useMemo, } from 'react';
2
2
  import {
3
- Column,
4
- FlatList,
5
- Modal,
3
+ HStack,
6
4
  Pressable,
7
- Icon,
8
- Row,
9
5
  ScrollView,
10
- Text,
11
- } from 'native-base';
6
+ VStack,
7
+ } from '../Gluestack';
12
8
  import {
13
9
  SELECTION_MODE_SINGLE,
14
10
  SELECTION_MODE_MULTI,
@@ -24,7 +20,6 @@ import {
24
20
  EXPANDED,
25
21
  LEAF,
26
22
  } from '../../Constants/Tree.js';
27
- import * as colourMixer from '@k-renwick/colour-mixer'
28
23
  import UiGlobals from '../../UiGlobals.js';
29
24
  import useForceUpdate from '../../Hooks/useForceUpdate.js';
30
25
  import withContextMenu from '../Hoc/withContextMenu.js';
@@ -34,6 +29,7 @@ import withData from '../Hoc/withData.js';
34
29
  import withEvents from '../Hoc/withEvents.js';
35
30
  import withSideEditor from '../Hoc/withSideEditor.js';
36
31
  import withFilters from '../Hoc/withFilters.js';
32
+ import withModal from '../Hoc/withModal.js';
37
33
  import withMultiSelection from '../Hoc/withMultiSelection.js';
38
34
  import withPresetButtons from '../Hoc/withPresetButtons.js';
39
35
  import withPermissions from '../Hoc/withPermissions.js';
@@ -42,8 +38,8 @@ import withWindowedEditor from '../Hoc/withWindowedEditor.js';
42
38
  import getIconButtonFromConfig from '../../Functions/getIconButtonFromConfig.js';
43
39
  import inArray from '../../Functions/inArray.js';
44
40
  import testProps from '../../Functions/testProps.js';
45
- import nbToRgb from '../../Functions/nbToRgb.js';
46
- import ReloadTreeButton from '../Buttons/ReloadTreeButton.js';
41
+ import CenterBox from '../Layout/CenterBox.js';
42
+ import ReloadButton from '../Buttons/ReloadButton.js';
47
43
  import TreeNode, { DraggableTreeNode } from './TreeNode.js';
48
44
  import FormPanel from '../Panel/FormPanel.js';
49
45
  import Input from '../Form/Field/Input.js';
@@ -63,7 +59,12 @@ import Loading from '../Messages/Loading.js';
63
59
  import Unauthorized from '../Messages/Unauthorized.js';
64
60
  import _ from 'lodash';
65
61
 
66
- const DEPTH_INDENT_PX = 25;
62
+ const
63
+ DEPTH_INDENT_PX = 25,
64
+ SIMULATED_CLICK = 0,
65
+ SINGLE_CLICK = 1,
66
+ DOUBLE_CLICK = 2,
67
+ TRIPLE_CLICK = 3;
67
68
 
68
69
  function TreeComponent(props) {
69
70
  const {
@@ -121,6 +122,10 @@ function TreeComponent(props) {
121
122
  alert,
122
123
  confirm,
123
124
  showInfo,
125
+
126
+ // withModal
127
+ showModal,
128
+ hideModal,
124
129
 
125
130
  // withEditor
126
131
  onAdd,
@@ -166,7 +171,6 @@ function TreeComponent(props) {
166
171
  treeNodeData = useRef(),
167
172
  [isReady, setIsReady] = useState(false),
168
173
  [isLoading, setIsLoading] = useState(false),
169
- [isModalShown, setIsModalShown] = useState(false),
170
174
  [rowToDatumMap, setRowToDatumMap] = useState({}),
171
175
  [searchResults, setSearchResults] = useState([]),
172
176
  [searchFormData, setSearchFormData] = useState([]),
@@ -288,8 +292,6 @@ function TreeComponent(props) {
288
292
 
289
293
  // Update the datum with the new entity
290
294
  return onAfterEdit(entities);
291
-
292
-
293
295
  },
294
296
  onBeforeEditSave = (entities) => {
295
297
  onBeforeSave(entities);
@@ -417,8 +419,52 @@ function TreeComponent(props) {
417
419
  });
418
420
  setSearchFormData(searchFormData);
419
421
  setSearchResults(found);
420
- setIsModalShown(true);
422
+ showChooseTreeNode();
421
423
  },
424
+ showChooseTreeNode = () => {
425
+ showModal({
426
+ body: <VStack className="bg-white w-[300px]">
427
+ <FormPanel
428
+ _panel={{
429
+ title: 'Choose Tree Node',
430
+ }}
431
+ instructions="Multiple tree nodes matched your search. Please select which one to show."
432
+ _form={{
433
+ flex: 1,
434
+ items: [
435
+ {
436
+ type: 'Column',
437
+ flex: 1,
438
+ items: [
439
+ {
440
+ key: 'node_id',
441
+ name: 'node_id',
442
+ type: 'Combo',
443
+ label: 'Tree Node',
444
+ data: searchFormData,
445
+ }
446
+ ],
447
+ },
448
+ ],
449
+ onCancel: (e) => {
450
+ setHighlitedDatum(null);
451
+ hideModal();
452
+ },
453
+ onSave: (data, e) => {
454
+ const
455
+ treeNode = _.find(searchResults, (item) => {
456
+ return item.id === data.node_id;
457
+ }),
458
+ cPath = treeNode.cPath;
459
+ expandPath(cPath);
460
+ hideModal();
461
+ },
462
+ }}
463
+ />
464
+ </VStack>,
465
+ onCancel: hideModal,
466
+ });
467
+ };
422
468
 
423
469
  // utilities
424
470
  getNodeData = (id) => {
@@ -864,7 +910,7 @@ function TreeComponent(props) {
864
910
 
865
911
  items.unshift(<Input // Add text input to beginning of header items
866
912
  key="searchNodes"
867
- flex={1}
913
+ className="flex-1"
868
914
  placeholder="Find tree node"
869
915
  onChangeText={(val) => setTreeSearchValue(val)}
870
916
  onKeyPress={(e) => {
@@ -916,11 +962,11 @@ function TreeComponent(props) {
916
962
  return
917
963
  }
918
964
  switch (e.detail) {
919
- case 0: // simulated click
920
- case 1: // single click
965
+ case SIMULATED_CLICK:
966
+ case SINGLE_CLICK:
921
967
  onNodeClick(item, e); // sets selection
922
968
  break;
923
- case 2: // double click
969
+ case DOUBLE_CLICK:
924
970
  if (!isSelected) { // If a row was already selected when double-clicked, the first click will deselect it,
925
971
  onNodeClick(item, e); // so reselect it
926
972
  }
@@ -939,7 +985,7 @@ function TreeComponent(props) {
939
985
  onView();
940
986
  }
941
987
  break;
942
- case 3: // triple click
988
+ case TRIPLE_CLICK:
943
989
  break;
944
990
  default:
945
991
  }
@@ -960,38 +1006,21 @@ function TreeComponent(props) {
960
1006
  const selection = [item];
961
1007
  setSelection(selection);
962
1008
  if (onContextMenu) {
963
- onContextMenu(item, e, selection, setSelection);
1009
+ onContextMenu(item, e, selection);
964
1010
  }
965
1011
  }}
966
- flexDirection="row"
967
- ml={((areRootsVisible ? depth : depth -1) * DEPTH_INDENT_PX) + 'px'}
1012
+ className={`
1013
+ flex-row
1014
+ `}
1015
+ style={{
1016
+ paddingLeft: (areRootsVisible ? depth : depth -1) * DEPTH_INDENT_PX,
1017
+ }}
968
1018
  >
969
1019
  {({
970
- isHovered,
971
- isFocused,
972
- isPressed,
1020
+ hovered,
1021
+ focused,
1022
+ pressed,
973
1023
  }) => {
974
- let bg = nodeProps.bg || styles.TREE_NODE_BG,
975
- mixWith;
976
- if (!isDragMode) {
977
- if (isSelected) {
978
- if (showHovers && isHovered) {
979
- mixWith = styles.TREE_NODE_SELECTED_HOVER_BG;
980
- } else {
981
- mixWith = styles.TREE_NODE_SELECTED_BG;
982
- }
983
- } else if (showHovers && isHovered) {
984
- mixWith = styles.TREE_NODE_HOVER_BG;
985
- }
986
- if (mixWith) {
987
- const
988
- mixWithObj = nbToRgb(mixWith),
989
- ratio = mixWithObj.alpha ? 1 - mixWithObj.alpha : 0.5;
990
- bg = colourMixer.blend(bg, ratio, mixWithObj.color);
991
- }
992
- } else {
993
-
994
- }
995
1024
  let WhichTreeNode = TreeNode,
996
1025
  dragProps = {};
997
1026
  if (canNodesReorder && isDragMode && !datum.item.isRoot) { // Can't drag root nodes
@@ -1006,18 +1035,18 @@ function TreeComponent(props) {
1006
1035
  proxyParent: treeRef.current,
1007
1036
  proxyPositionRelativeToParent: true,
1008
1037
  };
1009
- nodeProps.width = '100%';
1038
+ nodeProps.className = 'w-full';
1010
1039
  }
1011
1040
 
1012
1041
  return <WhichTreeNode
1013
- nodeProps={nodeProps}
1014
- {...dragProps}
1015
- bg={bg}
1016
1042
  datum={datum}
1043
+ nodeProps={nodeProps}
1017
1044
  onToggle={onToggle}
1045
+ isSelected={isSelected}
1046
+ isHovered={hovered}
1018
1047
  isDragMode={isDragMode}
1019
1048
  isHighlighted={highlitedDatum === datum}
1020
- isSelected={isSelected}
1049
+ {...dragProps}
1021
1050
 
1022
1051
  // fields={fields}
1023
1052
  />;
@@ -1205,20 +1234,16 @@ function TreeComponent(props) {
1205
1234
  })();
1206
1235
  return () => {};
1207
1236
  }
1208
-
1209
- (async () => {
1210
- if (autoLoadRootNodes) {
1211
- await reloadTree();
1212
- }
1213
- setIsReady(true);
1214
- })();
1215
-
1216
1237
 
1217
1238
  // set up @onehat/data repository
1218
1239
  const
1219
1240
  setTrue = () => setIsLoading(true),
1220
1241
  setFalse = () => setIsLoading(false);
1221
1242
 
1243
+ if (Repository.isLoading) {
1244
+ setTrue();
1245
+ }
1246
+
1222
1247
  Repository.on('beforeLoad', setTrue);
1223
1248
  Repository.on('load', setFalse);
1224
1249
  Repository.on('loadRootNodes', setFalse);
@@ -1227,6 +1252,13 @@ function TreeComponent(props) {
1227
1252
  Repository.on('changeFilters', reloadTree);
1228
1253
  Repository.on('changeSorters', reloadTree);
1229
1254
 
1255
+ (async () => {
1256
+ if (autoLoadRootNodes) {
1257
+ await reloadTree();
1258
+ }
1259
+ setIsReady(true);
1260
+ })();
1261
+
1230
1262
  return () => {
1231
1263
  Repository.off('beforeLoad', setTrue);
1232
1264
  Repository.off('load', setFalse);
@@ -1252,7 +1284,9 @@ function TreeComponent(props) {
1252
1284
  }, [selectorId, selectorSelected]);
1253
1285
 
1254
1286
  if (canUser && !canUser('view')) {
1255
- return <Unauthorized />;
1287
+ return <CenterBox>
1288
+ <Unauthorized />
1289
+ </CenterBox>;
1256
1290
  }
1257
1291
 
1258
1292
  if (setWithEditListeners) {
@@ -1279,7 +1313,9 @@ function TreeComponent(props) {
1279
1313
  footerToolbarItemComponents = useMemo(() => getFooterToolbarItems(), [Repository?.hash, additionalToolbarButtons, isDragMode, getTreeNodeData()]);
1280
1314
 
1281
1315
  if (!isReady) {
1282
- return <Loading />;
1316
+ return <CenterBox>
1317
+ <Loading />
1318
+ </CenterBox>;
1283
1319
  }
1284
1320
 
1285
1321
  const treeNodes = renderTreeNodes(getTreeNodeData());
@@ -1295,103 +1331,64 @@ function TreeComponent(props) {
1295
1331
  />;
1296
1332
  } else if (footerToolbarItemComponents.length) {
1297
1333
  treeFooterComponent = <Toolbar>
1298
- <ReloadTreeButton Repository={Repository} self={self} />
1334
+ <ReloadButton isTree={true} Repository={Repository} self={self} />
1299
1335
  {footerToolbarItemComponents}
1300
1336
  </Toolbar>;
1301
1337
  }
1302
1338
  }
1303
1339
 
1304
- const borderProps = {};
1340
+ let className = `
1341
+ Tree-VStack
1342
+ flex-1
1343
+ w-full
1344
+ min-w-[300px]
1345
+ `;
1305
1346
  if (isDragMode) {
1306
- borderProps.borderWidth = isDragMode ? styles.REORDER_BORDER_WIDTH : 0;
1307
- borderProps.borderColor = isDragMode ? styles.REORDER_BORDER_COLOR : null;
1308
- borderProps.borderStyle = styles.REORDER_BORDER_STYLE;
1347
+ className += `
1348
+ ${styles.GRID_REORDER_BORDER_COLOR}
1349
+ ${styles.GRID_REORDER_BORDER_WIDTH}
1350
+ ${styles.GRID_REORDER_BORDER_STYLE}
1351
+ `;
1309
1352
  } else {
1310
- borderProps.borderTopWidth = isLoading ? 2 : 1;
1311
- borderProps.borderTopColor = isLoading ? '#f00' : 'trueGray.300';
1353
+ if (isLoading) {
1354
+ className += ' border-t-2 border-[#f00]';
1355
+ } else {
1356
+ className += ' border-t-1 border-grey-300';
1357
+ }
1358
+ }
1359
+ if (props.className) {
1360
+ className += ' ' + props.className;
1312
1361
  }
1313
1362
 
1314
- return <>
1315
- <Column
1316
- {...testProps(self)}
1317
- flex={1}
1318
- w="100%"
1319
- >
1320
- {topToolbar}
1321
-
1322
- {headerToolbarItemComponents?.length && <Row>{headerToolbarItemComponents}</Row>}
1323
-
1324
- <Column
1325
- ref={treeRef}
1326
- w="100%"
1327
- flex={1}
1328
- p={2}
1329
- bg="#fff"
1330
- {...borderProps}
1331
- onClick={() => {
1332
- if (!isDragMode) {
1333
- deselectAll();
1334
- }
1335
- }}
1336
- >
1337
- <ScrollView {...testProps('ScrollView')} flex={1} w="100%">
1338
- {!treeNodes?.length ?
1339
- <NoRecordsFound text={noneFoundText} onRefresh={reloadTree} /> :
1340
- treeNodes}
1341
- </ScrollView>
1342
- </Column>
1343
-
1344
- {treeFooterComponent}
1363
+ return <VStack
1364
+ {...testProps(self)}
1365
+ className={className}
1366
+ >
1367
+ {topToolbar}
1345
1368
 
1346
- </Column>
1369
+ {headerToolbarItemComponents?.length && <HStack>{headerToolbarItemComponents}</HStack>}
1347
1370
 
1348
- <Modal
1349
- isOpen={isModalShown}
1350
- onClose={() => setIsModalShown(false)}
1371
+ <VStack
1372
+ ref={treeRef}
1373
+ onClick={() => {
1374
+ if (!isDragMode) {
1375
+ deselectAll();
1376
+ }
1377
+ }}
1378
+ className="Tree-deselector w-full flex-1 p-1 bg-white"
1351
1379
  >
1352
- <Column bg="#fff" w={300}>
1353
- <FormPanel
1354
- _panel={{
1355
- title: 'Choose Tree Node',
1356
- }}
1357
- instructions="Multiple tree nodes matched your search. Please select which one to show."
1358
- _form={{
1359
- flex: 1,
1360
- items: [
1361
- {
1362
- type: 'Column',
1363
- flex: 1,
1364
- items: [
1365
- {
1366
- key: 'node_id',
1367
- name: 'node_id',
1368
- type: 'Combo',
1369
- label: 'Tree Node',
1370
- data: searchFormData,
1371
- }
1372
- ],
1373
- },
1374
- ],
1375
- onCancel: (e) => {
1376
- setHighlitedDatum(null);
1377
- setIsModalShown(false);
1378
- },
1379
- onSave: (data, e) => {
1380
- const
1381
- treeNode = _.find(searchResults, (item) => {
1382
- return item.id === data.node_id;
1383
- }),
1384
- cPath = treeNode.cPath;
1385
- expandPath(cPath);
1386
-
1387
- // Close the modal
1388
- setIsModalShown(false);
1389
- },
1390
- }}
1391
- />
1392
- </Column>
1393
- </Modal>
1394
- </>;
1380
+ <ScrollView {...testProps('ScrollView')} className="ScrollView flex-1 w-full">
1381
+ {!treeNodes?.length ?
1382
+ <CenterBox>
1383
+ <NoRecordsFound text={noneFoundText} onRefresh={reloadTree} />
1384
+ </CenterBox> :
1385
+ treeNodes}
1386
+ </ScrollView>
1387
+ </VStack>
1388
+
1389
+ {treeFooterComponent}
1390
+
1391
+ </VStack>;
1395
1392
 
1396
1393
  }
1397
1394
 
@@ -1,11 +1,12 @@
1
1
  import { useMemo, } from 'react';
2
2
  import {
3
3
  Box,
4
+ HStack,
4
5
  Icon,
5
- Row,
6
6
  Spinner,
7
- Text,
8
- } from 'native-base';
7
+ TextNative,
8
+ } from '../Gluestack';
9
+ import * as colourMixer from '@k-renwick/colour-mixer';
9
10
  import UiGlobals from '../../UiGlobals.js';
10
11
  import withDraggable from '../Hoc/withDraggable.js';
11
12
  import IconButton from '../Buttons/IconButton.js';
@@ -16,13 +17,14 @@ import _ from 'lodash';
16
17
 
17
18
  export default function TreeNode(props) {
18
19
  const {
19
- nodeProps = {},
20
- bg,
21
20
  datum,
21
+ nodeProps = {},
22
22
  onToggle,
23
+ isSelected,
24
+ isHovered,
23
25
  isDragMode,
24
26
  isHighlighted,
25
- isSelected,
27
+ bg,
26
28
  ...propsToPass
27
29
  } = props,
28
30
  styles = UiGlobals.styles,
@@ -38,60 +40,97 @@ export default function TreeNode(props) {
38
40
  iconLeaf = datum.iconLeaf,
39
41
  hash = item?.hash || item;
40
42
 
41
- const
42
- icon = hasChildren ? (isExpanded ? iconExpanded : iconCollapsed) : iconLeaf,
43
- adjustedBg = isHighlighted ? styles.TREE_NODE_HIGHLIGHTED_BG : bg;
44
-
45
43
  return useMemo(() => {
46
-
47
- return <Row
44
+ const icon = hasChildren ? (isExpanded ? iconExpanded : iconCollapsed) : iconLeaf;
45
+ let bg = props.bg || styles.TREE_NODE_BG,
46
+ mixWith;
47
+ if (isSelected) {
48
+ if (isHovered) {
49
+ mixWith = styles.TREE_NODE_SELECTED_BG_HOVER;
50
+ } else {
51
+ mixWith = styles.TREE_NODE_SELECTED_BG;
52
+ }
53
+ } else if (isHovered) {
54
+ mixWith = styles.TREE_NODE_BG_HOVER;
55
+ }
56
+ if (isHighlighted) {
57
+ mixWith = styles.TREE_NODE_HIGHLIGHTED_BG;
58
+ }
59
+ if (mixWith) {
60
+ // const
61
+ // mixWithObj = gsToHex(mixWith),
62
+ // ratio = mixWithObj.alpha ? 1 - mixWithObj.alpha : 0.5;
63
+ // bg = colourMixer.blend(bg, ratio, mixWithObj.color);
64
+ bg = colourMixer.blend(bg, 0.5, mixWith);
65
+ }
66
+
67
+ let className = `
68
+ treenode
69
+ items-center
70
+ flex
71
+ flex-1
72
+ grow-1
73
+ `;
74
+ if (props.className) {
75
+ className += ' ' + props.className;
76
+ }
77
+
78
+ return <HStack
48
79
  {...testProps('node' + (isSelected ? '-selected' : ''))}
49
- alignItems="center"
50
- flexGrow={1}
51
80
  {...nodeProps}
52
- bg={adjustedBg}
53
81
  key={hash}
82
+ className={className}
83
+ style={{
84
+ backgroundColor: bg,
85
+ }}
54
86
  >
55
- {isPhantom && <Box position="absolute" bg="#f00" h={2} w={2} t={0} l={0} />}
87
+ {isPhantom && <Box t={0} l={0} className="absolute bg-[#f00] h-[2px] w-[2px]" />}
56
88
 
57
89
  {isLoading ?
58
- <Spinner px={2} /> :
90
+ <Spinner className="px-2" /> :
59
91
  (hasChildren && !isDragMode ?
60
92
  <IconButton
93
+ {...testProps('expandBtn')}
61
94
  icon={icon}
62
95
  onPress={(e) => onToggle(datum, e)}
63
- {...testProps('expandBtn')}
64
- /> : <Icon as={icon} px={2} />)}
65
-
66
- <Text
67
- overflow="hidden"
68
- textOverflow="ellipsis"
69
- alignSelf="center"
70
- style={{ userSelect: 'none', }}
71
- fontSize={styles.TREE_NODE_FONTSIZE}
72
- px={styles.TREE_NODE_PX}
73
- py={styles.TREE_NODE_PY}
96
+ /> :
97
+ <Icon as={icon} className="ml-4 mr-1" />)}
98
+
99
+ <TextNative
74
100
  numberOfLines={1}
75
101
  ellipsizeMode="head"
76
- {...propsToPass}
77
- >{text}</Text>
102
+ // {...propsToPass}
103
+ className={`
104
+ treenode-text
105
+ self-center
106
+ overflow-hidden
107
+ flex
108
+ flex-1
109
+ text-ellipsis
110
+ ${styles.TREE_NODE_PY}
111
+ ${styles.TREE_NODE_PX}
112
+ ${styles.TREE_NODE_FONTSIZE}
113
+ `}
114
+ style={{ userSelect: 'none', }}
115
+ >{text}</TextNative>
78
116
 
79
- </Row>;
117
+ </HStack>;
80
118
  }, [
81
119
  nodeProps,
82
- adjustedBg,
120
+ bg,
83
121
  item,
84
- isPhantom,
85
122
  hash, // this is an easy way to determine if the data has changed and the item needs to be rerendered
123
+ isDragMode,
124
+ isHighlighted,
125
+ isSelected,
126
+ isPhantom,
86
127
  isExpanded,
128
+ isLoading,
87
129
  hasChildren,
88
130
  depth,
89
131
  text,
90
- icon,
91
132
  onToggle,
92
133
  isLoading,
93
- isDragMode,
94
- isHighlighted,
95
134
  ]);
96
135
  }
97
136