@neko-os/ui 0.2.2 → 0.3.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 (435) hide show
  1. package/README.md +0 -76
  2. package/dist/DynamicStyleTag.js +18 -2
  3. package/dist/DynamicStyleTag.native.js +3 -1
  4. package/dist/NekoUI.js +39 -1
  5. package/dist/abstractions/ActivityIndicator.js +19 -1
  6. package/dist/abstractions/ActivityIndicator.native.js +43 -1
  7. package/dist/abstractions/ActivityIndicator.web.js +43 -1
  8. package/dist/abstractions/AnimatedView.js +3 -1
  9. package/dist/abstractions/AnimatedView.native.js +5 -1
  10. package/dist/abstractions/AnimatedView.web.js +3 -1
  11. package/dist/abstractions/BlurView.js +43 -1
  12. package/dist/abstractions/BlurView.native.js +39 -1
  13. package/dist/abstractions/BlurView.web.js +39 -1
  14. package/dist/abstractions/DraggableSlideView.js +3 -1
  15. package/dist/abstractions/DraggableSlideView.native.js +62 -1
  16. package/dist/abstractions/FlatList.js +3 -1
  17. package/dist/abstractions/FlatList.native.js +37 -1
  18. package/dist/abstractions/FlatList.web.js +3 -1
  19. package/dist/abstractions/GradientView.js +5 -1
  20. package/dist/abstractions/GradientView.native.js +32 -1
  21. package/dist/abstractions/HiddenInput.js +3 -1
  22. package/dist/abstractions/HiddenInput.native.js +3 -1
  23. package/dist/abstractions/Icon.js +10 -1
  24. package/dist/abstractions/Icon.native.js +13 -1
  25. package/dist/abstractions/Icon.web.js +11 -1
  26. package/dist/abstractions/Image.js +12 -1
  27. package/dist/abstractions/Image.native.js +7 -1
  28. package/dist/abstractions/Image.web.js +7 -1
  29. package/dist/abstractions/ImageBackground.js +17 -1
  30. package/dist/abstractions/ImageBackground.native.js +27 -1
  31. package/dist/abstractions/ImageBackground.web.js +7 -1
  32. package/dist/abstractions/KeyboardAvoidingView.js +3 -1
  33. package/dist/abstractions/KeyboardAvoidingView.native.js +3 -1
  34. package/dist/abstractions/Platform.js +1 -1
  35. package/dist/abstractions/Platform.native.js +3 -1
  36. package/dist/abstractions/Platform.web.js +3 -1
  37. package/dist/abstractions/Pressable.js +4 -1
  38. package/dist/abstractions/Pressable.native.js +3 -1
  39. package/dist/abstractions/Pressable.web.js +3 -1
  40. package/dist/abstractions/SafeAreaView.js +3 -1
  41. package/dist/abstractions/SafeAreaView.native.js +3 -1
  42. package/dist/abstractions/ScrollView.js +3 -1
  43. package/dist/abstractions/ScrollView.native.js +5 -1
  44. package/dist/abstractions/ScrollView.web.js +3 -1
  45. package/dist/abstractions/StaticList.js +51 -1
  46. package/dist/abstractions/Switch.js +97 -1
  47. package/dist/abstractions/Switch.native.js +12 -1
  48. package/dist/abstractions/Table.js +29 -1
  49. package/dist/abstractions/Table.native.js +19 -1
  50. package/dist/abstractions/Text.js +14 -1
  51. package/dist/abstractions/Text.native.js +3 -1
  52. package/dist/abstractions/Text.web.js +18 -1
  53. package/dist/abstractions/TextInput.js +12 -1
  54. package/dist/abstractions/TextInput.native.js +5 -1
  55. package/dist/abstractions/TextInput.web.js +5 -1
  56. package/dist/abstractions/TouchableOpacity.js +4 -1
  57. package/dist/abstractions/TouchableOpacity.native.js +3 -1
  58. package/dist/abstractions/View.js +3 -1
  59. package/dist/abstractions/View.native.js +3 -1
  60. package/dist/abstractions/View.web.js +3 -1
  61. package/dist/abstractions/helpers/componentSize.js +13 -1
  62. package/dist/abstractions/helpers/componentSize.native.js +12 -1
  63. package/dist/abstractions/helpers/storage.js +32 -1
  64. package/dist/abstractions/helpers/storage.native.js +34 -1
  65. package/dist/abstractions/helpers/transformStyle.js +8 -1
  66. package/dist/abstractions/helpers/transformStyle.native.js +3 -1
  67. package/dist/abstractions/helpers/useSafeAreaInsets.js +3 -1
  68. package/dist/abstractions/helpers/useSafeAreaInsets.native.js +3 -1
  69. package/dist/abstractions/helpers/windowWidth.js +13 -1
  70. package/dist/abstractions/helpers/windowWidth.native.js +6 -1
  71. package/dist/abstractions/helpers/windowWidth.web.js +6 -1
  72. package/dist/components/actions/ActionsDrawer.js +81 -1
  73. package/dist/components/actions/Breadcrumb.js +47 -1
  74. package/dist/components/actions/Button.js +82 -1
  75. package/dist/components/actions/Dropdown.js +91 -1
  76. package/dist/components/actions/FloatingButton.js +87 -1
  77. package/dist/components/actions/FloatingMenu.js +39 -1
  78. package/dist/components/actions/Link.js +66 -1
  79. package/dist/components/actions/Pressable.js +38 -1
  80. package/dist/components/actions/index.js +9 -1
  81. package/dist/components/actions/menu/HorizontalMenu.js +98 -1
  82. package/dist/components/actions/menu/Menu.js +7 -1
  83. package/dist/components/actions/menu/SubmenuWrapper.js +16 -1
  84. package/dist/components/actions/menu/VerticalMenu.js +133 -1
  85. package/dist/components/animations/AnimatedTopBar.js +10 -1
  86. package/dist/components/animations/AnimatedTopBar.native.js +34 -1
  87. package/dist/components/animations/AnimatedTopBar.web.js +1 -1
  88. package/dist/components/animations/AnimatedView.js +45 -1
  89. package/dist/components/animations/DraggableSlideView.js +42 -1
  90. package/dist/components/animations/ParallaxHeader.js +9 -1
  91. package/dist/components/animations/ParallaxHeader.native.js +32 -1
  92. package/dist/components/animations/ParallaxHeader.web.js +32 -1
  93. package/dist/components/animations/ReanimatedScrollHandler.js +8 -1
  94. package/dist/components/animations/ReanimatedScrollHandler.native.js +24 -1
  95. package/dist/components/animations/ReanimatedScrollHandler.web.js +1 -1
  96. package/dist/components/animations/ReanimatedView.js +40 -1
  97. package/dist/components/animations/index.js +5 -1
  98. package/dist/components/calendar/CalendarNav.js +67 -1
  99. package/dist/components/calendar/WeekDaysBar.js +18 -1
  100. package/dist/components/calendar/_helpers/calendarDays.js +16 -1
  101. package/dist/components/calendar/_helpers/dateDisabled.js +24 -1
  102. package/dist/components/feedback/alerter.js +31 -1
  103. package/dist/components/feedback/confirmer.js +70 -1
  104. package/dist/components/feedback/index.js +3 -1
  105. package/dist/components/feedback/notifications/Notification.js +37 -1
  106. package/dist/components/feedback/notifications/NotificationsHandler.js +65 -1
  107. package/dist/components/filter/DateFilter.js +72 -0
  108. package/dist/components/filter/FilterGroup.js +17 -0
  109. package/dist/components/filter/FilterHandler.js +54 -0
  110. package/dist/components/filter/FilterItem.js +30 -0
  111. package/dist/components/filter/PopoverFilterItem.js +84 -0
  112. package/dist/components/filter/SearchInput.js +49 -0
  113. package/dist/components/filter/index.js +6 -0
  114. package/dist/components/form/Form.js +31 -1
  115. package/dist/components/form/FormGroup.js +21 -1
  116. package/dist/components/form/FormItem.js +118 -1
  117. package/dist/components/form/FormList.js +143 -1
  118. package/dist/components/form/FormWrapperComponent.js +52 -1
  119. package/dist/components/form/FormWrapperComponent.native.js +5 -1
  120. package/dist/components/form/SubmitButton.js +22 -1
  121. package/dist/components/form/index.js +9 -1
  122. package/dist/components/form/useNewForm.js +211 -1
  123. package/dist/components/form/useWatch.js +70 -1
  124. package/dist/components/form/validation/defaultMessages.js +20 -1
  125. package/dist/components/form/validation/index.js +5 -1
  126. package/dist/components/form/validation/normalizeRules.js +22 -1
  127. package/dist/components/form/validation/shouldValidateOn.js +21 -1
  128. package/dist/components/form/validation/validateRules.js +83 -1
  129. package/dist/components/form/validation/validators.js +82 -1
  130. package/dist/components/helpers/ConditionalLazyRender.js +6 -1
  131. package/dist/components/helpers/LazyAction.js +22 -1
  132. package/dist/components/helpers/LazyRender.js +55 -1
  133. package/dist/components/helpers/LazyRender.native.js +58 -1
  134. package/dist/components/helpers/Portal.js +21 -1
  135. package/dist/components/helpers/PortalHandler.js +32 -1
  136. package/dist/components/helpers/Responsive.js +18 -1
  137. package/dist/components/helpers/Separator.js +49 -1
  138. package/dist/components/helpers/VerticalView.js +34 -1
  139. package/dist/components/helpers/index.js +8 -1
  140. package/dist/components/index.js +20 -1
  141. package/dist/components/inputs/BooleanSelect.js +14 -0
  142. package/dist/components/inputs/Checkbox.js +56 -1
  143. package/dist/components/inputs/DateInput.js +123 -1
  144. package/dist/components/inputs/DateRangeInput.js +41 -0
  145. package/dist/components/inputs/Editable.js +129 -0
  146. package/dist/components/inputs/EnabledSelect.js +14 -0
  147. package/dist/components/inputs/InputWrapper.js +93 -1
  148. package/dist/components/inputs/LinkInput.js +17 -1
  149. package/dist/components/inputs/MaskInput.js +67 -1
  150. package/dist/components/inputs/NumberInput.js +111 -1
  151. package/dist/components/inputs/NumberRangeInput.js +41 -0
  152. package/dist/components/inputs/PasswordInput.js +24 -0
  153. package/dist/components/inputs/Picker.js +169 -1
  154. package/dist/components/inputs/Radio.js +55 -1
  155. package/dist/components/inputs/RateInput.js +62 -1
  156. package/dist/components/inputs/SegmentedPicker.js +62 -1
  157. package/dist/components/inputs/Select.js +219 -1
  158. package/dist/components/inputs/Switch.js +60 -1
  159. package/dist/components/inputs/TextArea.js +5 -0
  160. package/dist/components/inputs/TextInput.js +32 -1
  161. package/dist/components/inputs/UploadInput.js +140 -0
  162. package/dist/components/inputs/_DateInput.native.js +89 -1
  163. package/dist/components/inputs/datePicker/DatePicker.js +24 -1
  164. package/dist/components/inputs/datePicker/DayPicker.js +64 -1
  165. package/dist/components/inputs/datePicker/MonthPicker.js +62 -1
  166. package/dist/components/inputs/datePicker/QuarterPicker.js +65 -1
  167. package/dist/components/inputs/datePicker/WeekPicker.js +74 -1
  168. package/dist/components/inputs/datePicker/YearPicker.js +70 -1
  169. package/dist/components/inputs/index.js +23 -1
  170. package/dist/components/inputs/upload/Upload.js +99 -0
  171. package/dist/components/inputs/upload/Upload.native.js +154 -0
  172. package/dist/components/inputs/upload/useUploadState.js +143 -0
  173. package/dist/components/layout/Layout.js +40 -1
  174. package/dist/components/layout/LayoutContent.js +42 -1
  175. package/dist/components/layout/LayoutHeader.js +70 -1
  176. package/dist/components/layout/LayoutSider.js +64 -1
  177. package/dist/components/layout/index.js +4 -1
  178. package/dist/components/list/FlatList.js +91 -1
  179. package/dist/components/list/ScrollView.js +58 -1
  180. package/dist/components/list/index.js +2 -1
  181. package/dist/components/modals/bottomDrawer/index.js +3 -1
  182. package/dist/components/modals/bottomDrawer/index.native.js +5 -1
  183. package/dist/components/modals/bottomDrawer/index.web.js +5 -1
  184. package/dist/components/modals/bottomDrawer/native/BottomDrawer.js +239 -1
  185. package/dist/components/modals/bottomDrawer/native/DrawerContext.js +17 -1
  186. package/dist/components/modals/bottomDrawer/native/DrawerHandle.js +12 -1
  187. package/dist/components/modals/bottomDrawer/native/DrawerScrollView.js +5 -1
  188. package/dist/components/modals/bottomDrawer/native/createDrawerScrollComponent.js +139 -1
  189. package/dist/components/modals/bottomDrawer/native/utils.js +65 -1
  190. package/dist/components/modals/bottomDrawer/web/BottomDrawer.js +5 -1
  191. package/dist/components/modals/drawer/Drawer.js +5 -1
  192. package/dist/components/modals/drawer/Drawer.native.js +3 -1
  193. package/dist/components/modals/drawer/Drawer.web.js +3 -1
  194. package/dist/components/modals/drawer/index.js +1 -1
  195. package/dist/components/modals/index.js +4 -1
  196. package/dist/components/modals/modal/Modal.js +84 -1
  197. package/dist/components/modals/modal/Modal.native.js +83 -1
  198. package/dist/components/modals/modal/ModalBackdrop.js +58 -1
  199. package/dist/components/modals/modal/ModalContent.js +28 -1
  200. package/dist/components/modals/modal/ModalFooter.js +31 -1
  201. package/dist/components/modals/modal/ModalHeader.js +50 -1
  202. package/dist/components/modals/modal/handler/ModalsHandler.js +61 -1
  203. package/dist/components/modals/modal/index.js +6 -1
  204. package/dist/components/modals/router/ModalRoute.js +15 -1
  205. package/dist/components/modals/router/ModalsRouter.js +120 -1
  206. package/dist/components/modals/router/ModalsRouterContext.js +16 -1
  207. package/dist/components/modals/router/index.js +6 -1
  208. package/dist/components/modals/router/useAllModalsParams.js +6 -1
  209. package/dist/components/modals/router/useModalParams.js +6 -1
  210. package/dist/components/modals/router/useModalsNavigation.js +6 -1
  211. package/dist/components/modals/router/useUpdateModalContainer.js +6 -1
  212. package/dist/components/presentation/Avatar.js +79 -1
  213. package/dist/components/presentation/AvatarLabel.js +60 -1
  214. package/dist/components/presentation/AvatarsGroup.js +30 -0
  215. package/dist/components/presentation/Badge.js +91 -1
  216. package/dist/components/presentation/ContentLabel.js +43 -1
  217. package/dist/components/presentation/Icon.js +20 -1
  218. package/dist/components/presentation/IconLabel.js +40 -1
  219. package/dist/components/presentation/Image.js +33 -1
  220. package/dist/components/presentation/ImageBackground.js +38 -1
  221. package/dist/components/presentation/LabelValue.js +51 -1
  222. package/dist/components/presentation/Progress.js +20 -0
  223. package/dist/components/presentation/Rate.js +58 -1
  224. package/dist/components/presentation/RateTag.js +35 -1
  225. package/dist/components/presentation/Result.js +60 -1
  226. package/dist/components/presentation/ResultBar.js +56 -1
  227. package/dist/components/presentation/Tag.js +69 -1
  228. package/dist/components/presentation/Tooltip.js +44 -1
  229. package/dist/components/presentation/index.js +16 -1
  230. package/dist/components/sections/Section.js +50 -1
  231. package/dist/components/sections/SectionItem.js +24 -1
  232. package/dist/components/sections/SectionItemDropdown.js +68 -1
  233. package/dist/components/sections/SectionItemLink.js +35 -1
  234. package/dist/components/sections/index.js +4 -1
  235. package/dist/components/state/Loading.js +20 -1
  236. package/dist/components/state/LoadingView.js +37 -1
  237. package/dist/components/state/StatePresenter.js +41 -1
  238. package/dist/components/state/index.js +3 -1
  239. package/dist/components/steps/ActiveStepContent.js +16 -0
  240. package/dist/components/steps/StepsHandler.js +53 -0
  241. package/dist/components/steps/StepsMenu.js +14 -0
  242. package/dist/components/steps/StepsNavigation.js +37 -0
  243. package/dist/components/steps/index.js +4 -0
  244. package/dist/components/structure/Accordion.js +69 -1
  245. package/dist/components/structure/AccordionGroup.js +35 -1
  246. package/dist/components/structure/Affix.js +34 -0
  247. package/dist/components/structure/Affix.native.js +3 -0
  248. package/dist/components/structure/BlurView.js +59 -1
  249. package/dist/components/structure/Card.js +46 -1
  250. package/dist/components/structure/Col.js +22 -1
  251. package/dist/components/structure/GradientView.js +42 -1
  252. package/dist/components/structure/KeyboardAvoidingView.js +52 -1
  253. package/dist/components/structure/Row.js +50 -1
  254. package/dist/components/structure/SafeAreaView.js +42 -1
  255. package/dist/components/structure/Segment.js +51 -1
  256. package/dist/components/structure/TopBar.js +57 -1
  257. package/dist/components/structure/View.js +44 -1
  258. package/dist/components/structure/index.js +14 -1
  259. package/dist/components/structure/overlay/OverlayHandler.js +83 -1
  260. package/dist/components/structure/overlay/OverlayHandler.native.js +6 -1
  261. package/dist/components/structure/overlay/OverlayWrapper.js +52 -1
  262. package/dist/components/structure/overlay/calculatePosition.js +29 -1
  263. package/dist/components/structure/overlay/smartPlacement.js +32 -1
  264. package/dist/components/structure/popover/Popover.js +135 -1
  265. package/dist/components/structure/popover/Popover.native.js +105 -1
  266. package/dist/components/structure/popover/PopoverContent.js +18 -1
  267. package/dist/components/structure/popover/Popover_BU.js +157 -1
  268. package/dist/components/table/DataTable.js +62 -1
  269. package/dist/components/table/Pagination.js +128 -1
  270. package/dist/components/table/Table.js +66 -1
  271. package/dist/components/table/TableCol.js +67 -1
  272. package/dist/components/table/TableHeader.js +69 -1
  273. package/dist/components/table/TableHeaderRow.js +31 -1
  274. package/dist/components/table/TableRow.js +30 -1
  275. package/dist/components/table/index.js +7 -1
  276. package/dist/components/tabs/ActiveTabContent.js +38 -1
  277. package/dist/components/tabs/TabsHandler.js +16 -1
  278. package/dist/components/tabs/TabsMenu.js +15 -1
  279. package/dist/components/tabs/index.js +3 -1
  280. package/dist/components/text/DateText.js +24 -1
  281. package/dist/components/text/Text.js +32 -1
  282. package/dist/components/text/VerticalText.js +29 -1
  283. package/dist/components/text/index.js +3 -1
  284. package/dist/components/theme/ThemePicker.js +48 -1
  285. package/dist/components/theme/ThemePickerDrawer.js +12 -1
  286. package/dist/components/theme/ThemeStatusBar.js +3 -1
  287. package/dist/components/theme/ThemeStatusBar.native.js +9 -1
  288. package/dist/components/theme/ThemeThumb.js +98 -1
  289. package/dist/components/theme/index.js +3 -1
  290. package/dist/helpers/debounce.js +9 -1
  291. package/dist/helpers/index.js +5 -1
  292. package/dist/helpers/options.js +65 -1
  293. package/dist/helpers/random.js +5 -1
  294. package/dist/helpers/storage.js +76 -1
  295. package/dist/helpers/string.js +74 -1
  296. package/dist/i18n/I18n.js +96 -1
  297. package/dist/i18n/I18nProvider.js +40 -1
  298. package/dist/i18n/index.js +2 -1
  299. package/dist/index.js +8 -1
  300. package/dist/modifiers/_helpers.js +6 -1
  301. package/dist/modifiers/alignConverter.js +11 -1
  302. package/dist/modifiers/animation.js +18 -1
  303. package/dist/modifiers/animations/animatedEffects.js +64 -1
  304. package/dist/modifiers/animations/animatedEffects.native.js +55 -1
  305. package/dist/modifiers/animations/animatedEffects.web.js +55 -1
  306. package/dist/modifiers/animations/fadeEffect.js +46 -1
  307. package/dist/modifiers/animations/fadeEffect.native.js +33 -1
  308. package/dist/modifiers/animations/fadeEffect.web.js +3 -1
  309. package/dist/modifiers/animations/scaleEffect.js +46 -1
  310. package/dist/modifiers/animations/scaleEffect.native.js +33 -1
  311. package/dist/modifiers/animations/scrollEffect.web.js +3 -1
  312. package/dist/modifiers/animations/slideEffect.js +64 -1
  313. package/dist/modifiers/animations/slideEffect.native.js +53 -1
  314. package/dist/modifiers/animations/slideEffect.web.js +3 -1
  315. package/dist/modifiers/applyStyles.js +7 -1
  316. package/dist/modifiers/background.js +34 -1
  317. package/dist/modifiers/border.js +86 -1
  318. package/dist/modifiers/colorConverter.js +13 -1
  319. package/dist/modifiers/cursor.js +21 -1
  320. package/dist/modifiers/default.js +9 -1
  321. package/dist/modifiers/display.js +22 -1
  322. package/dist/modifiers/flex.js +20 -1
  323. package/dist/modifiers/flexWrapper.js +87 -1
  324. package/dist/modifiers/fullColor.js +32 -1
  325. package/dist/modifiers/grid.js +27 -1
  326. package/dist/modifiers/hover.js +28 -1
  327. package/dist/modifiers/logger.js +6 -1
  328. package/dist/modifiers/margin.js +25 -1
  329. package/dist/modifiers/overflow.js +28 -1
  330. package/dist/modifiers/padding.js +25 -1
  331. package/dist/modifiers/position.js +57 -1
  332. package/dist/modifiers/responsiveConverter.js +19 -1
  333. package/dist/modifiers/shadow.js +35 -1
  334. package/dist/modifiers/size.js +59 -1
  335. package/dist/modifiers/sizeConverter.js +12 -1
  336. package/dist/modifiers/state.js +33 -1
  337. package/dist/modifiers/text.js +62 -1
  338. package/dist/modifiers/textConverter.js +12 -1
  339. package/dist/modifiers/themeComponent.js +11 -1
  340. package/dist/responsive/ResponsiveHandler.js +28 -1
  341. package/dist/responsive/index.js +2 -1
  342. package/dist/responsive/responsiveHooks.js +67 -1
  343. package/dist/theme/ThemeHandler.js +81 -1
  344. package/dist/theme/default/base.js +95 -1
  345. package/dist/theme/default/blackTheme.js +47 -1
  346. package/dist/theme/default/cyberpunkTheme.js +36 -1
  347. package/dist/theme/default/darkTheme.js +35 -1
  348. package/dist/theme/default/hackerTheme.js +55 -1
  349. package/dist/theme/default/lightTheme.js +35 -1
  350. package/dist/theme/default/paperTheme.js +36 -1
  351. package/dist/theme/default/themes.js +15 -1
  352. package/dist/theme/format/colorsVariations.js +31 -1
  353. package/dist/theme/format/formatTheme.js +28 -1
  354. package/dist/theme/helpers/colorScale.js +12 -1
  355. package/dist/theme/helpers/contrastColor.js +18 -1
  356. package/dist/theme/helpers/dynamicColor.js +32 -1
  357. package/dist/theme/helpers/mergePreset.js +7 -1
  358. package/dist/theme/helpers/relatedScales.js +34 -1
  359. package/dist/theme/helpers/sizeScale.js +20 -1
  360. package/dist/theme/helpers/textScale.js +15 -1
  361. package/dist/theme/index.js +2 -1
  362. package/package.json +1 -3
  363. package/src/abstractions/Icon.js +1 -1
  364. package/src/abstractions/TextInput.js +10 -1
  365. package/src/components/actions/ActionsDrawer.js +17 -4
  366. package/src/components/actions/Button.js +5 -1
  367. package/src/components/actions/FloatingMenu.js +1 -1
  368. package/src/components/actions/menu/HorizontalMenu.js +2 -1
  369. package/src/components/actions/menu/VerticalMenu.js +2 -1
  370. package/src/components/filter/DateFilter.js +72 -0
  371. package/src/components/filter/FilterGroup.js +17 -0
  372. package/src/components/filter/FilterHandler.js +54 -0
  373. package/src/components/filter/FilterItem.js +30 -0
  374. package/src/components/filter/PopoverFilterItem.js +84 -0
  375. package/src/components/filter/SearchInput.js +49 -0
  376. package/src/components/filter/index.js +6 -0
  377. package/src/components/form/Form.js +9 -3
  378. package/src/components/form/FormItem.js +26 -1
  379. package/src/components/form/FormWrapperComponent.js +12 -3
  380. package/src/components/form/useNewForm.js +55 -4
  381. package/src/components/helpers/Separator.js +15 -11
  382. package/src/components/helpers/index.js +1 -0
  383. package/src/components/index.js +2 -0
  384. package/src/components/inputs/BooleanSelect.js +14 -0
  385. package/src/components/inputs/DateInput.js +3 -1
  386. package/src/components/inputs/DateRangeInput.js +41 -0
  387. package/src/components/inputs/Editable.js +129 -0
  388. package/src/components/inputs/EnabledSelect.js +14 -0
  389. package/src/components/inputs/InputWrapper.js +7 -4
  390. package/src/components/inputs/NumberInput.js +10 -5
  391. package/src/components/inputs/NumberRangeInput.js +41 -0
  392. package/src/components/inputs/PasswordInput.js +24 -0
  393. package/src/components/inputs/Picker.js +2 -2
  394. package/src/components/inputs/Select.js +61 -47
  395. package/src/components/inputs/TextArea.js +5 -0
  396. package/src/components/inputs/TextInput.js +14 -4
  397. package/src/components/inputs/UploadInput.js +140 -0
  398. package/src/components/inputs/index.js +9 -0
  399. package/src/components/inputs/upload/Upload.js +99 -0
  400. package/src/components/inputs/upload/Upload.native.js +154 -0
  401. package/src/components/inputs/upload/useUploadState.js +143 -0
  402. package/src/components/layout/LayoutHeader.js +1 -0
  403. package/src/components/presentation/AvatarLabel.js +1 -1
  404. package/src/components/presentation/AvatarsGroup.js +30 -0
  405. package/src/components/presentation/Badge.js +3 -2
  406. package/src/components/presentation/ContentLabel.js +1 -1
  407. package/src/components/presentation/IconLabel.js +1 -0
  408. package/src/components/presentation/Progress.js +20 -0
  409. package/src/components/presentation/index.js +2 -0
  410. package/src/components/sections/Section.js +1 -1
  411. package/src/components/sections/SectionItemLink.js +4 -2
  412. package/src/components/steps/ActiveStepContent.js +16 -0
  413. package/src/components/steps/StepsHandler.js +53 -0
  414. package/src/components/steps/StepsMenu.js +14 -0
  415. package/src/components/steps/StepsNavigation.js +37 -0
  416. package/src/components/steps/index.js +4 -0
  417. package/src/components/structure/Affix.js +34 -0
  418. package/src/components/structure/Affix.native.js +3 -0
  419. package/src/components/structure/Card.js +1 -0
  420. package/src/components/structure/TopBar.js +14 -2
  421. package/src/components/structure/index.js +1 -0
  422. package/src/components/structure/overlay/OverlayHandler.js +9 -1
  423. package/src/components/structure/popover/Popover.js +22 -5
  424. package/src/components/table/DataTable.js +7 -2
  425. package/src/components/table/Table.js +2 -1
  426. package/src/components/tabs/ActiveTabContent.js +4 -1
  427. package/src/components/text/DateText.js +15 -2
  428. package/src/modifiers/border.js +15 -9
  429. package/src/modifiers/fullColor.js +2 -2
  430. package/src/modifiers/size.js +8 -5
  431. package/src/theme/default/base.js +2 -0
  432. package/src/theme/default/hackerTheme.js +1 -10
  433. package/src/theme/default/paperTheme.js +1 -14
  434. package/src/theme/format/colorsVariations.js +1 -1
  435. package/src/theme/helpers/colorScale.js +2 -1
@@ -1 +1,52 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/KeyboardAvoidingView.js";var _excluded=["children","keyboardVerticalOffset"];import{pipe}from'ramda';import{AbsKeyboardAvoidingView}from"../../abstractions/KeyboardAvoidingView";import{Platform}from"../../abstractions/Platform";import{useSafeAreaInsets}from"../../abstractions/helpers/useSafeAreaInsets";import{useAnimationModifier}from"../../modifiers/animation";import{useBackgroundModifier}from"../../modifiers/background";import{useBorderModifier}from"../../modifiers/border";import{useCursorModifier}from"../../modifiers/cursor";import{useDisplayModifier}from"../../modifiers/display";import{useFlexModifier}from"../../modifiers/flex";import{useFlexWrapperModifier}from"../../modifiers/flexWrapper";import{useMarginModifier}from"../../modifiers/margin";import{useOverflowModifier}from"../../modifiers/overflow";import{usePaddingModifier}from"../../modifiers/padding";import{usePositionModifier}from"../../modifiers/position";import{useShadowModifier}from"../../modifiers/shadow";import{useSizeModifier}from"../../modifiers/size";import{useStateModifier}from"../../modifiers/state";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx}from"react/jsx-runtime";export function KeyboardAvoidingView(_ref){var children=_ref.children,_ref$keyboardVertical=_ref.keyboardVerticalOffset,keyboardVerticalOffset=_ref$keyboardVertical===void 0?0:_ref$keyboardVertical,rootProps=_objectWithoutProperties(_ref,_excluded);var _useSafeAreaInsets=useSafeAreaInsets(),bottom=_useSafeAreaInsets.bottom;var _pipe=pipe(useThemeComponentModifier('KeyboardAvoidingView'),useFlexWrapperModifier,useDisplayModifier,useCursorModifier,useAnimationModifier,useStateModifier,useSizeModifier,usePositionModifier,useOverflowModifier,usePaddingModifier,useMarginModifier,useFlexModifier,useBackgroundModifier,useBorderModifier,useShadowModifier)([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_=_pipe2[0],props=_pipe2[1];return _jsx(AbsKeyboardAvoidingView,Object.assign({behavior:Platform.OS==='ios'?'padding':'height',keyboardVerticalOffset:keyboardVerticalOffset+bottom},props,{children:children}));}
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/KeyboardAvoidingView.js";var _excluded = ["children", "keyboardVerticalOffset"];function _slicedToArray(r, e) {return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r, a) {if (r) {if ("string" == typeof r) return _arrayLikeToArray(r, a);var t = {}.toString.call(r).slice(8, -1);return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;}}function _arrayLikeToArray(r, a) {(null == a || a > r.length) && (a = r.length);for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];return n;}function _iterableToArrayLimit(r, l) {var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];if (null != t) {var e,n,i,u,a = [],f = !0,o = !1;try {if (i = (t = t.call(r)).next, 0 === l) {if (Object(t) !== t) return;f = !1;} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);} catch (r) {o = !0, n = r;} finally {try {if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;} finally {if (o) throw n;}}return a;}}function _arrayWithHoles(r) {if (Array.isArray(r)) return r;}function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}import { pipe } from 'ramda';
2
+
3
+ import { AbsKeyboardAvoidingView } from "../../abstractions/KeyboardAvoidingView";
4
+ import { Platform } from "../../abstractions/Platform";
5
+ import { useSafeAreaInsets } from "../../abstractions/helpers/useSafeAreaInsets";
6
+ import { useAnimationModifier } from "../../modifiers/animation";
7
+ import { useBackgroundModifier } from "../../modifiers/background";
8
+ import { useBorderModifier } from "../../modifiers/border";
9
+ import { useCursorModifier } from "../../modifiers/cursor";
10
+ import { useDisplayModifier } from "../../modifiers/display";
11
+ import { useFlexModifier } from "../../modifiers/flex";
12
+ import { useFlexWrapperModifier } from "../../modifiers/flexWrapper";
13
+ import { useMarginModifier } from "../../modifiers/margin";
14
+ import { useOverflowModifier } from "../../modifiers/overflow";
15
+ import { usePaddingModifier } from "../../modifiers/padding";
16
+ import { usePositionModifier } from "../../modifiers/position";
17
+ import { useShadowModifier } from "../../modifiers/shadow";
18
+ import { useSizeModifier } from "../../modifiers/size";
19
+ import { useStateModifier } from "../../modifiers/state";
20
+ import { useThemeComponentModifier } from "../../modifiers/themeComponent";import { jsx as _jsx } from "react/jsx-runtime";
21
+
22
+ export function KeyboardAvoidingView(_ref) {var children = _ref.children,_ref$keyboardVertical = _ref.keyboardVerticalOffset,keyboardVerticalOffset = _ref$keyboardVertical === void 0 ? 0 : _ref$keyboardVertical,rootProps = _objectWithoutProperties(_ref, _excluded);
23
+ var _useSafeAreaInsets = useSafeAreaInsets(),bottom = _useSafeAreaInsets.bottom;
24
+
25
+ var _pipe = pipe(
26
+ useThemeComponentModifier('KeyboardAvoidingView'),
27
+ useFlexWrapperModifier,
28
+ useDisplayModifier,
29
+ useCursorModifier,
30
+ useAnimationModifier,
31
+ useStateModifier,
32
+ useSizeModifier,
33
+ usePositionModifier,
34
+ useOverflowModifier,
35
+ usePaddingModifier,
36
+ useMarginModifier,
37
+ useFlexModifier,
38
+ useBackgroundModifier,
39
+ useBorderModifier,
40
+ useShadowModifier
41
+ )([{}, rootProps]),_pipe2 = _slicedToArray(_pipe, 2),_ = _pipe2[0],props = _pipe2[1];
42
+
43
+ return (
44
+ _jsx(AbsKeyboardAvoidingView, Object.assign({
45
+ behavior: Platform.OS === 'ios' ? 'padding' : 'height',
46
+ keyboardVerticalOffset: keyboardVerticalOffset + bottom },
47
+ props, { children:
48
+
49
+ children })
50
+ ));
51
+
52
+ }
@@ -1 +1,50 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/Row.js";var _excluded=["children"],_excluded2=["colSpan"];import{pipe}from'ramda';import React from'react';import{AbsView}from"../../abstractions/View";import{useBackgroundModifier}from"../../modifiers/background";import{useBorderModifier}from"../../modifiers/border";import{useFlexModifier}from"../../modifiers/flex";import{useFlexWrapperModifier}from"../../modifiers/flexWrapper";import{useGridModifier}from"../../modifiers/grid";import{useMarginModifier}from"../../modifiers/margin";import{usePaddingModifier}from"../../modifiers/padding";import{usePositionModifier}from"../../modifiers/position";import{useResponsiveConverter}from"../../modifiers/responsiveConverter";import{useShadowModifier}from"../../modifiers/shadow";import{useSizeModifier}from"../../modifiers/size";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx}from"react/jsx-runtime";export function Row(_ref){var children=_ref.children,rootProps=_objectWithoutProperties(_ref,_excluded);var _pipe=pipe(useThemeComponentModifier('Row'),useResponsiveConverter([]),useGridModifier,useSizeModifier,usePositionModifier,useFlexWrapperModifier,useFlexModifier,useMarginModifier,usePaddingModifier,useBackgroundModifier,useBorderModifier,useShadowModifier)([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),childPaddingProps=_pipe2[0].childPaddingProps,_pipe2$=_pipe2[1],colSpan=_pipe2$.colSpan,props=_objectWithoutProperties(_pipe2$,_excluded2);var clonedChildren=React.useMemo(function(){return React.Children.map(children,function(child){return React.isValidElement(child)?React.cloneElement(child,Object.assign({parentSpan:colSpan},childPaddingProps)):child;});},[children,childPaddingProps]);return _jsx(AbsView,Object.assign({className:"neko-row"},props,{children:clonedChildren}));}export var Grid=Row;
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/Row.js";var _excluded = ["children"],_excluded2 = ["colSpan"];function _slicedToArray(r, e) {return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r, a) {if (r) {if ("string" == typeof r) return _arrayLikeToArray(r, a);var t = {}.toString.call(r).slice(8, -1);return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;}}function _arrayLikeToArray(r, a) {(null == a || a > r.length) && (a = r.length);for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];return n;}function _iterableToArrayLimit(r, l) {var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];if (null != t) {var e,n,i,u,a = [],f = !0,o = !1;try {if (i = (t = t.call(r)).next, 0 === l) {if (Object(t) !== t) return;f = !1;} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);} catch (r) {o = !0, n = r;} finally {try {if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;} finally {if (o) throw n;}}return a;}}function _arrayWithHoles(r) {if (Array.isArray(r)) return r;}function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}import { pipe } from 'ramda';
2
+ import React from 'react';
3
+
4
+ import { AbsView } from "../../abstractions/View";
5
+ import { useBackgroundModifier } from "../../modifiers/background";
6
+ import { useBorderModifier } from "../../modifiers/border";
7
+ import { useFlexModifier } from "../../modifiers/flex";
8
+ import { useFlexWrapperModifier } from "../../modifiers/flexWrapper";
9
+ import { useGridModifier } from "../../modifiers/grid";
10
+ import { useMarginModifier } from "../../modifiers/margin";
11
+ import { usePaddingModifier } from "../../modifiers/padding";
12
+ import { usePositionModifier } from "../../modifiers/position";
13
+ import { useResponsiveConverter } from "../../modifiers/responsiveConverter";
14
+ import { useShadowModifier } from "../../modifiers/shadow";
15
+ import { useSizeModifier } from "../../modifiers/size";
16
+ import { useThemeComponentModifier } from "../../modifiers/themeComponent";import { jsx as _jsx } from "react/jsx-runtime";
17
+
18
+ export function Row(_ref) {var children = _ref.children,rootProps = _objectWithoutProperties(_ref, _excluded);
19
+ var _pipe = pipe(
20
+ useThemeComponentModifier('Row'),
21
+ useResponsiveConverter([]),
22
+ useGridModifier,
23
+ useSizeModifier,
24
+ usePositionModifier,
25
+ useFlexWrapperModifier,
26
+ useFlexModifier,
27
+ useMarginModifier,
28
+ usePaddingModifier,
29
+ useBackgroundModifier,
30
+ useBorderModifier,
31
+ useShadowModifier
32
+ )([{}, rootProps]),_pipe2 = _slicedToArray(_pipe, 2),childPaddingProps = _pipe2[0].childPaddingProps,_pipe2$ = _pipe2[1],colSpan = _pipe2$.colSpan,props = _objectWithoutProperties(_pipe2$, _excluded2);
33
+
34
+
35
+ var clonedChildren = React.useMemo(
36
+ function () {return (
37
+ React.Children.map(children, function (child) {return (
38
+ React.isValidElement(child) ? React.cloneElement(child, Object.assign({ parentSpan: colSpan }, childPaddingProps)) : child);}
39
+ ));},
40
+ [children, childPaddingProps]
41
+ );
42
+
43
+ return (
44
+ _jsx(AbsView, Object.assign({ className: "neko-row" }, props, { children:
45
+ clonedChildren })
46
+ ));
47
+
48
+ }
49
+
50
+ export var Grid = Row;
@@ -1 +1,42 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/SafeAreaView.js";var _excluded=["children"];import{pipe}from'ramda';import{AbsSafeAreaView}from"../../abstractions/SafeAreaView";import{useAnimationModifier}from"../../modifiers/animation";import{useBackgroundModifier}from"../../modifiers/background";import{useBorderModifier}from"../../modifiers/border";import{useDisplayModifier}from"../../modifiers/display";import{useFlexModifier}from"../../modifiers/flex";import{useFlexWrapperModifier}from"../../modifiers/flexWrapper";import{useMarginModifier}from"../../modifiers/margin";import{useOverflowModifier}from"../../modifiers/overflow";import{usePaddingModifier}from"../../modifiers/padding";import{usePositionModifier}from"../../modifiers/position";import{useShadowModifier}from"../../modifiers/shadow";import{useSizeModifier}from"../../modifiers/size";import{useStateModifier}from"../../modifiers/state";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx}from"react/jsx-runtime";export function SafeAreaView(_ref){var children=_ref.children,rootProps=_objectWithoutProperties(_ref,_excluded);var _pipe=pipe(useThemeComponentModifier('SafeAreaView'),useFlexWrapperModifier,useDisplayModifier,useAnimationModifier,useStateModifier,useSizeModifier,usePositionModifier,useOverflowModifier,usePaddingModifier,useMarginModifier,useFlexModifier,useBackgroundModifier,useBorderModifier,useShadowModifier)([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_=_pipe2[0],props=_pipe2[1];return _jsx(AbsSafeAreaView,Object.assign({className:"neko-safe-area-view"},props,{children:children}));}
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/SafeAreaView.js";var _excluded = ["children"];function _slicedToArray(r, e) {return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r, a) {if (r) {if ("string" == typeof r) return _arrayLikeToArray(r, a);var t = {}.toString.call(r).slice(8, -1);return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;}}function _arrayLikeToArray(r, a) {(null == a || a > r.length) && (a = r.length);for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];return n;}function _iterableToArrayLimit(r, l) {var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];if (null != t) {var e,n,i,u,a = [],f = !0,o = !1;try {if (i = (t = t.call(r)).next, 0 === l) {if (Object(t) !== t) return;f = !1;} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);} catch (r) {o = !0, n = r;} finally {try {if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;} finally {if (o) throw n;}}return a;}}function _arrayWithHoles(r) {if (Array.isArray(r)) return r;}function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}import { pipe } from 'ramda';
2
+
3
+ import { AbsSafeAreaView } from "../../abstractions/SafeAreaView";
4
+ import { useAnimationModifier } from "../../modifiers/animation";
5
+ import { useBackgroundModifier } from "../../modifiers/background";
6
+ import { useBorderModifier } from "../../modifiers/border";
7
+ import { useDisplayModifier } from "../../modifiers/display";
8
+ import { useFlexModifier } from "../../modifiers/flex";
9
+ import { useFlexWrapperModifier } from "../../modifiers/flexWrapper";
10
+ import { useMarginModifier } from "../../modifiers/margin";
11
+ import { useOverflowModifier } from "../../modifiers/overflow";
12
+ import { usePaddingModifier } from "../../modifiers/padding";
13
+ import { usePositionModifier } from "../../modifiers/position";
14
+ import { useShadowModifier } from "../../modifiers/shadow";
15
+ import { useSizeModifier } from "../../modifiers/size";
16
+ import { useStateModifier } from "../../modifiers/state";
17
+ import { useThemeComponentModifier } from "../../modifiers/themeComponent";import { jsx as _jsx } from "react/jsx-runtime";
18
+
19
+ export function SafeAreaView(_ref) {var children = _ref.children,rootProps = _objectWithoutProperties(_ref, _excluded);
20
+ var _pipe = pipe(
21
+ useThemeComponentModifier('SafeAreaView'),
22
+ useFlexWrapperModifier,
23
+ useDisplayModifier,
24
+ useAnimationModifier,
25
+ useStateModifier,
26
+ useSizeModifier,
27
+ usePositionModifier,
28
+ useOverflowModifier,
29
+ usePaddingModifier,
30
+ useMarginModifier,
31
+ useFlexModifier,
32
+ useBackgroundModifier,
33
+ useBorderModifier,
34
+ useShadowModifier
35
+ )([{}, rootProps]),_pipe2 = _slicedToArray(_pipe, 2),_ = _pipe2[0],props = _pipe2[1];
36
+
37
+ return (
38
+ _jsx(AbsSafeAreaView, Object.assign({ className: "neko-safe-area-view" }, props, { children:
39
+ children })
40
+ ));
41
+
42
+ }
@@ -1 +1,51 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/Segment.js";var _excluded=["children"],_excluded2=["br"];import{pipe}from'ramda';import React from'react';import{View}from"./View";import{useDefaultModifier}from"../../modifiers/default";import{useSizeConverter}from"../../modifiers/sizeConverter";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx}from"react/jsx-runtime";var DEFAULT_PROPS=function DEFAULT_PROPS(_ref){var _ref2=_slicedToArray(_ref,1),sizeCode=_ref2[0].sizeCode;return{row:true,justify:'stretch',br:sizeCode};};export function Segment(_ref3){var children=_ref3.children,rootProps=_objectWithoutProperties(_ref3,_excluded);var _pipe=pipe(useSizeConverter('elementHeights','md'),useThemeComponentModifier('Segment'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),sizeCode=_pipe2[0].sizeCode,formattedProps=_pipe2[1];var br=formattedProps.br,props=_objectWithoutProperties(formattedProps,_excluded2);var size=children==null?void 0:children.length;return _jsx(View,Object.assign({className:"neko-segment"},props,{children:React.Children.map(children,function(child,index){if(!React.isValidElement(child))return child;var isFirst=index===0;var isLast=size-1===index;var childProps=child.props||{};var newProps={brL:br,brR:br,size:sizeCode};if(!isLast){newProps.brR=0;}if(!isFirst){newProps.brL=0;}return React.cloneElement(child,newProps);})}));}
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/Segment.js";var _excluded = ["children"],_excluded2 = ["br"];function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}function _slicedToArray(r, e) {return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r, a) {if (r) {if ("string" == typeof r) return _arrayLikeToArray(r, a);var t = {}.toString.call(r).slice(8, -1);return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;}}function _arrayLikeToArray(r, a) {(null == a || a > r.length) && (a = r.length);for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];return n;}function _iterableToArrayLimit(r, l) {var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];if (null != t) {var e,n,i,u,a = [],f = !0,o = !1;try {if (i = (t = t.call(r)).next, 0 === l) {if (Object(t) !== t) return;f = !1;} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);} catch (r) {o = !0, n = r;} finally {try {if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;} finally {if (o) throw n;}}return a;}}function _arrayWithHoles(r) {if (Array.isArray(r)) return r;}import { pipe } from 'ramda';
2
+ import React from 'react';
3
+
4
+ import { View } from "./View";
5
+ import { useDefaultModifier } from "../../modifiers/default";
6
+ import { useSizeConverter } from "../../modifiers/sizeConverter";
7
+ import { useThemeComponentModifier } from "../../modifiers/themeComponent";import { jsx as _jsx } from "react/jsx-runtime";
8
+
9
+ var DEFAULT_PROPS = function DEFAULT_PROPS(_ref) {var _ref2 = _slicedToArray(_ref, 1),sizeCode = _ref2[0].sizeCode;return {
10
+ row: true,
11
+ justify: 'stretch',
12
+ br: sizeCode
13
+
14
+ };};
15
+
16
+ export function Segment(_ref3) {var children = _ref3.children,rootProps = _objectWithoutProperties(_ref3, _excluded);
17
+ var _pipe = pipe(
18
+ useSizeConverter('elementHeights', 'md'),
19
+ useThemeComponentModifier('Segment'),
20
+ useDefaultModifier(DEFAULT_PROPS)
21
+ )([{}, rootProps]),_pipe2 = _slicedToArray(_pipe, 2),sizeCode = _pipe2[0].sizeCode,formattedProps = _pipe2[1];
22
+
23
+ var br = formattedProps.br,props = _objectWithoutProperties(formattedProps, _excluded2);
24
+ var size = children == null ? void 0 : children.length;
25
+
26
+ return (
27
+ _jsx(View, Object.assign({ className: "neko-segment" }, props, { children:
28
+ React.Children.map(children, function (child, index) {
29
+ if (!React.isValidElement(child)) return child;
30
+ var isFirst = index === 0;
31
+ var isLast = size - 1 === index;
32
+
33
+ var childProps = child.props || {};
34
+ var newProps = {
35
+ brL: br,
36
+ brR: br,
37
+ size: sizeCode
38
+ };
39
+
40
+ if (!isLast) {
41
+ newProps.brR = 0;
42
+ }
43
+ if (!isFirst) {
44
+ newProps.brL = 0;
45
+ }
46
+
47
+ return React.cloneElement(child, newProps);
48
+ }) })
49
+ ));
50
+
51
+ }
@@ -1 +1,57 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/TopBar.js";var _excluded=["right","left","WrapperView","children"];import{Text}from"../text";import{View}from"./View";import{useResponsiveConverter}from"../../modifiers/responsiveConverter";import{useSafeAreaInsets}from"../../abstractions/helpers/useSafeAreaInsets";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function TopBar(_ref){var right=_ref.right,left=_ref.left,WrapperView=_ref.WrapperView,children=_ref.children,rootProps=_objectWithoutProperties(_ref,_excluded);var _useSafeAreaInsets=useSafeAreaInsets(),safeTop=_useSafeAreaInsets.top;var _useResponsiveConvert=useResponsiveConverter([])([{},rootProps]),_useResponsiveConvert2=_slicedToArray(_useResponsiveConvert,2),_=_useResponsiveConvert2[0],props=_useResponsiveConvert2[1];var _props$useSafeArea=props.useSafeArea,useSafeArea=_props$useSafeArea===void 0?true:_props$useSafeArea,title=props.title,subtitle=props.subtitle;var hasContent=!!title||!!subtitle||!!children||!!right||!!left;WrapperView=WrapperView||View;return _jsx(WrapperView,Object.assign({paddingT:useSafeArea&&safeTop},props,{children:!!hasContent&&_jsxs(View,{minH:"md",centerV:true,row:true,paddingH:"md",paddingV:"sm",gap:"sm",fullW:true,children:[_jsx(View,{flex:1,toLeft:true,children:left}),_jsxs(View,{center:true,flex:3,children:[children||_jsx(Text,{center:true,h6:true,numberOfLines:1,children:title}),subtitle&&_jsx(Text,{center:true,xs:true,numberOfLines:1,children:subtitle})]}),_jsx(View,{flex:1,toRight:true,children:right})]})}));}
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/TopBar.js";var _excluded = ["right", "left", "WrapperView", "children"];function _slicedToArray(r, e) {return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r, a) {if (r) {if ("string" == typeof r) return _arrayLikeToArray(r, a);var t = {}.toString.call(r).slice(8, -1);return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;}}function _arrayLikeToArray(r, a) {(null == a || a > r.length) && (a = r.length);for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];return n;}function _iterableToArrayLimit(r, l) {var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];if (null != t) {var e,n,i,u,a = [],f = !0,o = !1;try {if (i = (t = t.call(r)).next, 0 === l) {if (Object(t) !== t) return;f = !1;} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);} catch (r) {o = !0, n = r;} finally {try {if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;} finally {if (o) throw n;}}return a;}}function _arrayWithHoles(r) {if (Array.isArray(r)) return r;}function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}import { pipe } from 'ramda';
2
+
3
+ import { Text } from "../text";
4
+ import { View } from "./View";
5
+ import { useDefaultModifier } from "../../modifiers/default";
6
+ import { useResponsiveConverter } from "../../modifiers/responsiveConverter";
7
+ import { useThemeComponentModifier } from "../../modifiers/themeComponent";
8
+ import { useSafeAreaInsets } from "../../abstractions/helpers/useSafeAreaInsets";import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+
10
+ var DEFAULT_PROPS = {
11
+ borderB: 'overlayDivider'
12
+ };
13
+
14
+ export function TopBar(_ref) {var right = _ref.right,left = _ref.left,WrapperView = _ref.WrapperView,children = _ref.children,rootProps = _objectWithoutProperties(_ref, _excluded);
15
+ var _useSafeAreaInsets = useSafeAreaInsets(),safeTop = _useSafeAreaInsets.top;
16
+
17
+ var _pipe = pipe(
18
+ useThemeComponentModifier('TopBar'),
19
+ useDefaultModifier(DEFAULT_PROPS),
20
+ useResponsiveConverter([])
21
+ )([{}, rootProps]),_pipe2 = _slicedToArray(_pipe, 2),_ = _pipe2[0],props = _pipe2[1];
22
+ var _props$useSafeArea = props.useSafeArea,useSafeArea = _props$useSafeArea === void 0 ? true : _props$useSafeArea,title = props.title,subtitle = props.subtitle;
23
+
24
+ var hasContent = !!title || !!subtitle || !!children || !!right || !!left;
25
+
26
+ WrapperView = WrapperView || View;
27
+
28
+ return (
29
+ _jsx(WrapperView, Object.assign({ paddingT: useSafeArea && safeTop }, props, { children:
30
+ !!hasContent &&
31
+ _jsxs(View, { minH: "xxl", centerV: true, row: true, paddingH: "md", paddingV: "sm", gap: "sm", fullW: true, children: [
32
+ _jsx(View, { flex: 1, toLeft: true, children:
33
+ left }
34
+ ),
35
+
36
+ _jsxs(View, { center: true, flex: 3, children: [
37
+ children ||
38
+ _jsx(Text, { center: true, h6: true, numberOfLines: 1, children:
39
+ title }
40
+ ),
41
+
42
+
43
+ subtitle &&
44
+ _jsx(Text, { center: true, xs: true, numberOfLines: 1, children:
45
+ subtitle }
46
+ )] }
47
+
48
+ ),
49
+
50
+ _jsx(View, { flex: 1, toRight: true, children:
51
+ right }
52
+ )] }
53
+ ) })
54
+
55
+ ));
56
+
57
+ }
@@ -1 +1,44 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/View.js";var _excluded=["children"];import{pipe}from'ramda';import{AbsView}from"../../abstractions/View";import{useAnimationModifier}from"../../modifiers/animation";import{useBackgroundModifier}from"../../modifiers/background";import{useBorderModifier}from"../../modifiers/border";import{useCursorModifier}from"../../modifiers/cursor";import{useDisplayModifier}from"../../modifiers/display";import{useFlexModifier}from"../../modifiers/flex";import{useFlexWrapperModifier}from"../../modifiers/flexWrapper";import{useMarginModifier}from"../../modifiers/margin";import{useOverflowModifier}from"../../modifiers/overflow";import{usePaddingModifier}from"../../modifiers/padding";import{usePositionModifier}from"../../modifiers/position";import{useShadowModifier}from"../../modifiers/shadow";import{useSizeModifier}from"../../modifiers/size";import{useStateModifier}from"../../modifiers/state";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx}from"react/jsx-runtime";export function View(_ref){var children=_ref.children,rootProps=_objectWithoutProperties(_ref,_excluded);var _pipe=pipe(useThemeComponentModifier('View'),useFlexWrapperModifier,useDisplayModifier,useCursorModifier,useAnimationModifier,useStateModifier,useSizeModifier,usePositionModifier,useOverflowModifier,usePaddingModifier,useMarginModifier,useFlexModifier,useBackgroundModifier,useBorderModifier,useShadowModifier)([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_=_pipe2[0],props=_pipe2[1];return _jsx(AbsView,Object.assign({className:"neko-view"},props,{children:children}));}
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/View.js";var _excluded = ["children"];function _slicedToArray(r, e) {return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r, a) {if (r) {if ("string" == typeof r) return _arrayLikeToArray(r, a);var t = {}.toString.call(r).slice(8, -1);return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;}}function _arrayLikeToArray(r, a) {(null == a || a > r.length) && (a = r.length);for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];return n;}function _iterableToArrayLimit(r, l) {var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];if (null != t) {var e,n,i,u,a = [],f = !0,o = !1;try {if (i = (t = t.call(r)).next, 0 === l) {if (Object(t) !== t) return;f = !1;} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);} catch (r) {o = !0, n = r;} finally {try {if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;} finally {if (o) throw n;}}return a;}}function _arrayWithHoles(r) {if (Array.isArray(r)) return r;}function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}import { pipe } from 'ramda';
2
+
3
+ import { AbsView } from "../../abstractions/View";
4
+ import { useAnimationModifier } from "../../modifiers/animation";
5
+ import { useBackgroundModifier } from "../../modifiers/background";
6
+ import { useBorderModifier } from "../../modifiers/border";
7
+ import { useCursorModifier } from "../../modifiers/cursor";
8
+ import { useDisplayModifier } from "../../modifiers/display";
9
+ import { useFlexModifier } from "../../modifiers/flex";
10
+ import { useFlexWrapperModifier } from "../../modifiers/flexWrapper";
11
+ import { useMarginModifier } from "../../modifiers/margin";
12
+ import { useOverflowModifier } from "../../modifiers/overflow";
13
+ import { usePaddingModifier } from "../../modifiers/padding";
14
+ import { usePositionModifier } from "../../modifiers/position";
15
+ import { useShadowModifier } from "../../modifiers/shadow";
16
+ import { useSizeModifier } from "../../modifiers/size";
17
+ import { useStateModifier } from "../../modifiers/state";
18
+ import { useThemeComponentModifier } from "../../modifiers/themeComponent";import { jsx as _jsx } from "react/jsx-runtime";
19
+
20
+ export function View(_ref) {var children = _ref.children,rootProps = _objectWithoutProperties(_ref, _excluded);
21
+ var _pipe = pipe(
22
+ useThemeComponentModifier('View'),
23
+ useFlexWrapperModifier,
24
+ useDisplayModifier,
25
+ useCursorModifier,
26
+ useAnimationModifier,
27
+ useStateModifier,
28
+ useSizeModifier,
29
+ usePositionModifier,
30
+ useOverflowModifier,
31
+ usePaddingModifier,
32
+ useMarginModifier,
33
+ useFlexModifier,
34
+ useBackgroundModifier,
35
+ useBorderModifier,
36
+ useShadowModifier
37
+ )([{}, rootProps]),_pipe2 = _slicedToArray(_pipe, 2),_ = _pipe2[0],props = _pipe2[1];
38
+
39
+ return (
40
+ _jsx(AbsView, Object.assign({ className: "neko-view" }, props, { children:
41
+ children })
42
+ ));
43
+
44
+ }
@@ -1 +1,14 @@
1
- export*from"./Accordion";export*from"./AccordionGroup";export*from"./View";export*from"./GradientView";export*from"./BlurView";export*from"./SafeAreaView";export*from"./Card";export*from"./Row";export*from"./Col";export*from"./popover/Popover";export*from"./Segment";export*from"./TopBar";export*from"./KeyboardAvoidingView";
1
+ export * from "./Accordion";
2
+ export * from "./Affix";
3
+ export * from "./AccordionGroup";
4
+ export * from "./View";
5
+ export * from "./GradientView";
6
+ export * from "./BlurView";
7
+ export * from "./SafeAreaView";
8
+ export * from "./Card";
9
+ export * from "./Row";
10
+ export * from "./Col";
11
+ export * from "./popover/Popover";
12
+ export * from "./Segment";
13
+ export * from "./TopBar";
14
+ export * from "./KeyboardAvoidingView";
@@ -1 +1,83 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _defineProperty from"@babel/runtime/helpers/defineProperty";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/overlay/OverlayHandler.js";import{toPairs,dissoc}from'ramda';import React from'react';import{OverlayWrapper}from"./OverlayWrapper";import{Text}from"../../text/Text";import{genRandonId}from"../../../helpers/random";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";var OverlayContext=React.createContext(null);export var useOverlay=function useOverlay(){return React.useContext(OverlayContext);};export var useRegisterOverlay=function useRegisterOverlay(){var opts=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var unmountOnClose=opts.unmountOnClose;var timeout=React.useRef(null);var _useOverlay=useOverlay(),overlays=_useOverlay.overlays,setOverlays=_useOverlay.setOverlays;var randomId=React.useMemo(function(){return genRandonId();},[]);var overlay=overlays[randomId]||{};var mergeOverlay=function mergeOverlay(value){return setOverlays(function(data){return Object.assign({},data,_defineProperty({},randomId,Object.assign({},overlay,value)));});};var closeOverlay=function closeOverlay(){return mergeOverlay({open:false});};var removeOverlay=function removeOverlay(){return setOverlays(function(data){return dissoc(randomId,data);});};var stopDelayedClosing=function stopDelayedClosing(){return!!(timeout!=null&&timeout.current)&&clearTimeout(timeout.current);};React.useEffect(function(){return function(){return removeOverlay();};},[]);var onOpen=function onOpen(_ref){var content=_ref.content,triggerRect=_ref.triggerRect,placement=_ref.placement,_ref$options=_ref.options,options=_ref$options===void 0?{}:_ref$options;stopDelayedClosing();mergeOverlay(Object.assign({open:true,content:content,triggerRect:triggerRect,placement:placement},options));};var onUpdate=function onUpdate(_ref2){var content=_ref2.content,_ref2$options=_ref2.options,options=_ref2$options===void 0?{}:_ref2$options;if(!overlay.open)return;mergeOverlay(Object.assign({content:content},options));};var onClose=function onClose(){stopDelayedClosing();timeout.current=setTimeout(function(){!!unmountOnClose?removeOverlay():closeOverlay();},250);};var onFastClose=function onFastClose(){stopDelayedClosing();!!unmountOnClose?removeOverlay():closeOverlay();};return{onOpen:onOpen,onClose:onClose,onUpdate:onUpdate,onFastClose:onFastClose,stopDelayedClosing:stopDelayedClosing};};export function OverlayHandler(_ref3){var _this=this;var children=_ref3.children;var _React$useState=React.useState({}),_React$useState2=_slicedToArray(_React$useState,2),overlays=_React$useState2[0],setOverlays=_React$useState2[1];return _jsxs(OverlayContext.Provider,{value:{overlays:overlays,setOverlays:setOverlays},children:[children,toPairs(overlays).map(function(_ref4){var _ref5=_slicedToArray(_ref4,2),key=_ref5[0],overlay=_ref5[1];var handleClickOutside=function handleClickOutside(){return setTimeout(function(){return setOverlays(function(data){return dissoc(key,data);});},100);};return _jsx(OverlayWrapper,{triggerRect:overlay.triggerRect,placement:overlay.placement,onClickOutside:overlay.dismissOnClickOutside?handleClickOutside:null,display:!overlay.open&&'none',children:overlay.content},key);})]});}
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/overlay/OverlayHandler.js";function _slicedToArray(r, e) {return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r, a) {if (r) {if ("string" == typeof r) return _arrayLikeToArray(r, a);var t = {}.toString.call(r).slice(8, -1);return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;}}function _arrayLikeToArray(r, a) {(null == a || a > r.length) && (a = r.length);for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];return n;}function _iterableToArrayLimit(r, l) {var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];if (null != t) {var e,n,i,u,a = [],f = !0,o = !1;try {if (i = (t = t.call(r)).next, 0 === l) {if (Object(t) !== t) return;f = !1;} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);} catch (r) {o = !0, n = r;} finally {try {if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;} finally {if (o) throw n;}}return a;}}function _arrayWithHoles(r) {if (Array.isArray(r)) return r;}function _defineProperty(e, r, t) {return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e;}function _toPropertyKey(t) {var i = _toPrimitive(t, "string");return "symbol" == typeof i ? i : i + "";}function _toPrimitive(t, r) {if ("object" != typeof t || !t) return t;var e = t[Symbol.toPrimitive];if (void 0 !== e) {var i = e.call(t, r || "default");if ("object" != typeof i) return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return ("string" === r ? String : Number)(t);}import { toPairs, dissoc } from 'ramda';
2
+ import React from 'react';
3
+
4
+ import { OverlayWrapper } from "./OverlayWrapper";
5
+ import { Text } from "../../text/Text";
6
+ import { genRandonId } from "../../../helpers/random";import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+
8
+ var OverlayContext = React.createContext(null);
9
+
10
+ export var useOverlay = function useOverlay() {return React.useContext(OverlayContext);};
11
+
12
+ export var useRegisterOverlay = function useRegisterOverlay() {var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
13
+ var unmountOnClose = opts.unmountOnClose,onOpenChange = opts.onOpenChange;
14
+ var timeout = React.useRef(null);
15
+ var wasOpen = React.useRef(false);
16
+ var _useOverlay = useOverlay(),overlays = _useOverlay.overlays,setOverlays = _useOverlay.setOverlays;
17
+ var randomId = React.useMemo(function () {return genRandonId();}, []);
18
+ var overlay = overlays[randomId] || {};
19
+ var mergeOverlay = function mergeOverlay(value) {return setOverlays(function (data) {return Object.assign({}, data, _defineProperty({}, randomId, Object.assign({}, overlay, value)));});};
20
+ var closeOverlay = function closeOverlay() {return mergeOverlay({ open: false });};
21
+ var removeOverlay = function removeOverlay() {return setOverlays(function (data) {return dissoc(randomId, data);});};
22
+ var stopDelayedClosing = function stopDelayedClosing() {return !!(timeout != null && timeout.current) && clearTimeout(timeout.current);};
23
+
24
+ var isOpen = !!overlay.open;
25
+ React.useEffect(function () {
26
+ if (wasOpen.current && !isOpen) onOpenChange == null ? void 0 : onOpenChange(false);
27
+ wasOpen.current = isOpen;
28
+ }, [isOpen]);
29
+
30
+ React.useEffect(function () {
31
+ return function () {return removeOverlay();};
32
+ }, []);
33
+
34
+ var onOpen = function onOpen(_ref) {var content = _ref.content,triggerRect = _ref.triggerRect,placement = _ref.placement,_ref$options = _ref.options,options = _ref$options === void 0 ? {} : _ref$options;
35
+ stopDelayedClosing();
36
+ onOpenChange == null ? void 0 : onOpenChange(true);
37
+ mergeOverlay(Object.assign({ open: true, content: content, triggerRect: triggerRect, placement: placement }, options));
38
+ };
39
+
40
+ var onUpdate = function onUpdate(_ref2) {var content = _ref2.content,_ref2$options = _ref2.options,options = _ref2$options === void 0 ? {} : _ref2$options;
41
+ if (!overlay.open) return;
42
+ mergeOverlay(Object.assign({ content: content }, options));
43
+ };
44
+
45
+ var onClose = function onClose() {
46
+ stopDelayedClosing();
47
+ timeout.current = setTimeout(function () {
48
+ !!unmountOnClose ? removeOverlay() : closeOverlay();
49
+ }, 250);
50
+ };
51
+
52
+ var onFastClose = function onFastClose() {
53
+ stopDelayedClosing();
54
+ !!unmountOnClose ? removeOverlay() : closeOverlay();
55
+ };
56
+
57
+ return { onOpen: onOpen, onClose: onClose, onUpdate: onUpdate, onFastClose: onFastClose, stopDelayedClosing: stopDelayedClosing };
58
+ };
59
+
60
+ export function OverlayHandler(_ref3) {var _this = this;var children = _ref3.children;
61
+ var _React$useState = React.useState({}),_React$useState2 = _slicedToArray(_React$useState, 2),overlays = _React$useState2[0],setOverlays = _React$useState2[1];
62
+
63
+ return (
64
+ _jsxs(OverlayContext.Provider, { value: { overlays: overlays, setOverlays: setOverlays }, children: [
65
+ children,
66
+
67
+ toPairs(overlays).map(function (_ref4) {var _ref5 = _slicedToArray(_ref4, 2),key = _ref5[0],overlay = _ref5[1];
68
+ var handleClickOutside = function handleClickOutside() {return setTimeout(function () {return setOverlays(function (data) {return dissoc(key, data);});}, 100);};
69
+ return (
70
+ _jsx(OverlayWrapper, {
71
+
72
+ triggerRect: overlay.triggerRect,
73
+ placement: overlay.placement,
74
+ onClickOutside: overlay.dismissOnClickOutside ? handleClickOutside : null,
75
+ display: !overlay.open && 'none', children:
76
+
77
+ overlay.content }, key
78
+ ));
79
+
80
+ })] }
81
+ ));
82
+
83
+ }
@@ -1 +1,6 @@
1
- export var useOverlay=function useOverlay(){return{};};export function OverlayHandler(_ref){var children=_ref.children;return children;}
1
+ export var useOverlay = function useOverlay() {return {};};
2
+
3
+
4
+ export function OverlayHandler(_ref) {var children = _ref.children;
5
+ return children;
6
+ }
@@ -1 +1,52 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/overlay/OverlayWrapper.js";var _excluded=["children","triggerRect","placement","onClickOutside"];import React from'react';import{View}from"../View";import{calculatePosition}from"./calculatePosition";import{smartPlacement}from"./smartPlacement";import{jsx as _jsx}from"react/jsx-runtime";export function OverlayWrapper(_ref){var children=_ref.children,triggerRect=_ref.triggerRect,placement=_ref.placement,onClickOutside=_ref.onClickOutside,props=_objectWithoutProperties(_ref,_excluded);var overlayRef=React.useRef(null);var _React$useState=React.useState({x:-9999,y:-9999}),_React$useState2=_slicedToArray(_React$useState,2),pos=_React$useState2[0],setPos=_React$useState2[1];React.useLayoutEffect(function(){if(overlayRef.current&&triggerRect){var rect=overlayRef.current.getBoundingClientRect();var popoverRect={width:rect.width,height:rect.height};var safePlacement=smartPlacement(triggerRect,popoverRect,placement);setPos(calculatePosition(triggerRect,popoverRect,safePlacement));}},[triggerRect,placement,children]);React.useEffect(function(){if(onClickOutside){var handleClickOutside=function handleClickOutside(event){if(overlayRef.current&&!overlayRef.current.contains(event.target)){onClickOutside();}};var timer=setTimeout(function(){document.addEventListener('mousedown',handleClickOutside,true);},10);return function(){clearTimeout(timer);document.removeEventListener('mousedown',handleClickOutside,true);};}},[onClickOutside]);return _jsx(View,Object.assign({ref:overlayRef,className:"neko-overlay-wrapper",absolute:true,top:pos.y,left:pos.x,zIndex:9999,ointerEvents:"none"},props,{children:children}));}
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/overlay/OverlayWrapper.js";var _excluded = ["children", "triggerRect", "placement", "onClickOutside"];function _slicedToArray(r, e) {return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r, a) {if (r) {if ("string" == typeof r) return _arrayLikeToArray(r, a);var t = {}.toString.call(r).slice(8, -1);return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;}}function _arrayLikeToArray(r, a) {(null == a || a > r.length) && (a = r.length);for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];return n;}function _iterableToArrayLimit(r, l) {var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];if (null != t) {var e,n,i,u,a = [],f = !0,o = !1;try {if (i = (t = t.call(r)).next, 0 === l) {if (Object(t) !== t) return;f = !1;} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);} catch (r) {o = !0, n = r;} finally {try {if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;} finally {if (o) throw n;}}return a;}}function _arrayWithHoles(r) {if (Array.isArray(r)) return r;}function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}import React from 'react';
2
+ import { View } from "../View";
3
+ import { calculatePosition } from "./calculatePosition";
4
+ import { smartPlacement } from "./smartPlacement";import { jsx as _jsx } from "react/jsx-runtime";
5
+
6
+ export function OverlayWrapper(_ref) {var children = _ref.children,triggerRect = _ref.triggerRect,placement = _ref.placement,onClickOutside = _ref.onClickOutside,props = _objectWithoutProperties(_ref, _excluded);
7
+ var overlayRef = React.useRef(null);
8
+ var _React$useState = React.useState({ x: -9999, y: -9999 }),_React$useState2 = _slicedToArray(_React$useState, 2),pos = _React$useState2[0],setPos = _React$useState2[1];
9
+
10
+ React.useLayoutEffect(function () {
11
+ if (overlayRef.current && triggerRect) {
12
+ var rect = overlayRef.current.getBoundingClientRect();
13
+ var popoverRect = { width: rect.width, height: rect.height };
14
+
15
+ var safePlacement = smartPlacement(triggerRect, popoverRect, placement);
16
+ setPos(calculatePosition(triggerRect, popoverRect, safePlacement));
17
+ }
18
+ }, [triggerRect, placement, children]);
19
+
20
+ React.useEffect(function () {
21
+ if (onClickOutside) {
22
+ var handleClickOutside = function handleClickOutside(event) {
23
+ if (overlayRef.current && !overlayRef.current.contains(event.target)) {
24
+ onClickOutside();
25
+ }
26
+ };
27
+ var timer = setTimeout(function () {
28
+ document.addEventListener('mousedown', handleClickOutside, true);
29
+ }, 10);
30
+
31
+ return function () {
32
+ clearTimeout(timer);
33
+ document.removeEventListener('mousedown', handleClickOutside, true);
34
+ };
35
+ }
36
+ }, [onClickOutside]);
37
+
38
+ return (
39
+ _jsx(View, Object.assign({
40
+ ref: overlayRef,
41
+ className: "neko-overlay-wrapper",
42
+ absolute: true,
43
+ top: pos.y,
44
+ left: pos.x,
45
+ zIndex: 9999,
46
+ ointerEvents: "none" },
47
+ props, { children:
48
+
49
+ children })
50
+ ));
51
+
52
+ }
@@ -1 +1,29 @@
1
- export function calculatePosition(triggerRect,popoverRect,placement){var gap=arguments.length>3&&arguments[3]!==undefined?arguments[3]:2;var left=triggerRect.left,right=triggerRect.right,top=triggerRect.top,bottom=triggerRect.bottom,width=triggerRect.width,height=triggerRect.height;var pw=(popoverRect==null?void 0:popoverRect.width)||0;var ph=(popoverRect==null?void 0:popoverRect.height)||0;var positions={top:{x:left+width/2-pw/2,y:top-ph-gap},topLeft:{x:left,y:top-ph-gap},topRight:{x:right-pw,y:top-ph-gap},bottom:{x:left+width/2-pw/2,y:bottom+gap},bottomLeft:{x:left,y:bottom+gap},bottomRight:{x:right-pw,y:bottom+gap},left:{x:left-pw-gap,y:top+height/2-ph/2},leftTop:{x:left-pw-gap,y:top},leftBottom:{x:left-pw-gap,y:bottom-ph},right:{x:right+gap,y:top+height/2-ph/2},rightTop:{x:right+gap,y:top},rightBottom:{x:right+gap,y:bottom-ph}};return positions[placement]||positions.bottom;}
1
+ export function calculatePosition(triggerRect, popoverRect, placement) {var gap = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 2;
2
+ var left = triggerRect.left,right = triggerRect.right,top = triggerRect.top,bottom = triggerRect.bottom,width = triggerRect.width,height = triggerRect.height;
3
+ var pw = (popoverRect == null ? void 0 : popoverRect.width) || 0;
4
+ var ph = (popoverRect == null ? void 0 : popoverRect.height) || 0;
5
+
6
+ var positions = {
7
+
8
+ top: { x: left + width / 2 - pw / 2, y: top - ph - gap },
9
+ topLeft: { x: left, y: top - ph - gap },
10
+ topRight: { x: right - pw, y: top - ph - gap },
11
+
12
+
13
+ bottom: { x: left + width / 2 - pw / 2, y: bottom + gap },
14
+ bottomLeft: { x: left, y: bottom + gap },
15
+ bottomRight: { x: right - pw, y: bottom + gap },
16
+
17
+
18
+ left: { x: left - pw - gap, y: top + height / 2 - ph / 2 },
19
+ leftTop: { x: left - pw - gap, y: top },
20
+ leftBottom: { x: left - pw - gap, y: bottom - ph },
21
+
22
+
23
+ right: { x: right + gap, y: top + height / 2 - ph / 2 },
24
+ rightTop: { x: right + gap, y: top },
25
+ rightBottom: { x: right + gap, y: bottom - ph }
26
+ };
27
+
28
+ return positions[placement] || positions.bottom;
29
+ }