@neko-os/ui 0.2.3 → 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 (433) hide show
  1. package/dist/DynamicStyleTag.js +18 -2
  2. package/dist/DynamicStyleTag.native.js +3 -1
  3. package/dist/NekoUI.js +39 -1
  4. package/dist/abstractions/ActivityIndicator.js +19 -1
  5. package/dist/abstractions/ActivityIndicator.native.js +43 -1
  6. package/dist/abstractions/ActivityIndicator.web.js +43 -1
  7. package/dist/abstractions/AnimatedView.js +3 -1
  8. package/dist/abstractions/AnimatedView.native.js +5 -1
  9. package/dist/abstractions/AnimatedView.web.js +3 -1
  10. package/dist/abstractions/BlurView.js +43 -1
  11. package/dist/abstractions/BlurView.native.js +39 -1
  12. package/dist/abstractions/BlurView.web.js +39 -1
  13. package/dist/abstractions/DraggableSlideView.js +3 -1
  14. package/dist/abstractions/DraggableSlideView.native.js +62 -1
  15. package/dist/abstractions/FlatList.js +3 -1
  16. package/dist/abstractions/FlatList.native.js +37 -1
  17. package/dist/abstractions/FlatList.web.js +3 -1
  18. package/dist/abstractions/GradientView.js +5 -1
  19. package/dist/abstractions/GradientView.native.js +32 -1
  20. package/dist/abstractions/HiddenInput.js +3 -1
  21. package/dist/abstractions/HiddenInput.native.js +3 -1
  22. package/dist/abstractions/Icon.js +10 -1
  23. package/dist/abstractions/Icon.native.js +13 -1
  24. package/dist/abstractions/Icon.web.js +11 -1
  25. package/dist/abstractions/Image.js +12 -1
  26. package/dist/abstractions/Image.native.js +7 -1
  27. package/dist/abstractions/Image.web.js +7 -1
  28. package/dist/abstractions/ImageBackground.js +17 -1
  29. package/dist/abstractions/ImageBackground.native.js +27 -1
  30. package/dist/abstractions/ImageBackground.web.js +7 -1
  31. package/dist/abstractions/KeyboardAvoidingView.js +3 -1
  32. package/dist/abstractions/KeyboardAvoidingView.native.js +3 -1
  33. package/dist/abstractions/Platform.js +1 -1
  34. package/dist/abstractions/Platform.native.js +3 -1
  35. package/dist/abstractions/Platform.web.js +3 -1
  36. package/dist/abstractions/Pressable.js +4 -1
  37. package/dist/abstractions/Pressable.native.js +3 -1
  38. package/dist/abstractions/Pressable.web.js +3 -1
  39. package/dist/abstractions/SafeAreaView.js +3 -1
  40. package/dist/abstractions/SafeAreaView.native.js +3 -1
  41. package/dist/abstractions/ScrollView.js +3 -1
  42. package/dist/abstractions/ScrollView.native.js +5 -1
  43. package/dist/abstractions/ScrollView.web.js +3 -1
  44. package/dist/abstractions/StaticList.js +51 -1
  45. package/dist/abstractions/Switch.js +97 -1
  46. package/dist/abstractions/Switch.native.js +12 -1
  47. package/dist/abstractions/Table.js +29 -1
  48. package/dist/abstractions/Table.native.js +19 -1
  49. package/dist/abstractions/Text.js +14 -1
  50. package/dist/abstractions/Text.native.js +3 -1
  51. package/dist/abstractions/Text.web.js +18 -1
  52. package/dist/abstractions/TextInput.js +12 -1
  53. package/dist/abstractions/TextInput.native.js +5 -1
  54. package/dist/abstractions/TextInput.web.js +5 -1
  55. package/dist/abstractions/TouchableOpacity.js +4 -1
  56. package/dist/abstractions/TouchableOpacity.native.js +9 -1
  57. package/dist/abstractions/View.js +3 -1
  58. package/dist/abstractions/View.native.js +3 -1
  59. package/dist/abstractions/View.web.js +3 -1
  60. package/dist/abstractions/helpers/componentSize.js +13 -1
  61. package/dist/abstractions/helpers/componentSize.native.js +12 -1
  62. package/dist/abstractions/helpers/storage.js +32 -1
  63. package/dist/abstractions/helpers/storage.native.js +34 -1
  64. package/dist/abstractions/helpers/transformStyle.js +8 -1
  65. package/dist/abstractions/helpers/transformStyle.native.js +3 -1
  66. package/dist/abstractions/helpers/useSafeAreaInsets.js +3 -1
  67. package/dist/abstractions/helpers/useSafeAreaInsets.native.js +3 -1
  68. package/dist/abstractions/helpers/windowWidth.js +13 -1
  69. package/dist/abstractions/helpers/windowWidth.native.js +6 -1
  70. package/dist/abstractions/helpers/windowWidth.web.js +6 -1
  71. package/dist/components/actions/ActionsDrawer.js +81 -1
  72. package/dist/components/actions/Breadcrumb.js +47 -1
  73. package/dist/components/actions/Button.js +82 -1
  74. package/dist/components/actions/Dropdown.js +91 -1
  75. package/dist/components/actions/FloatingButton.js +87 -1
  76. package/dist/components/actions/FloatingMenu.js +39 -1
  77. package/dist/components/actions/Link.js +66 -1
  78. package/dist/components/actions/Pressable.js +38 -1
  79. package/dist/components/actions/index.js +9 -1
  80. package/dist/components/actions/menu/HorizontalMenu.js +98 -1
  81. package/dist/components/actions/menu/Menu.js +7 -1
  82. package/dist/components/actions/menu/SubmenuWrapper.js +16 -1
  83. package/dist/components/actions/menu/VerticalMenu.js +133 -1
  84. package/dist/components/animations/AnimatedTopBar.js +10 -1
  85. package/dist/components/animations/AnimatedTopBar.native.js +34 -1
  86. package/dist/components/animations/AnimatedTopBar.web.js +1 -1
  87. package/dist/components/animations/AnimatedView.js +45 -1
  88. package/dist/components/animations/DraggableSlideView.js +42 -1
  89. package/dist/components/animations/ParallaxHeader.js +9 -1
  90. package/dist/components/animations/ParallaxHeader.native.js +32 -1
  91. package/dist/components/animations/ParallaxHeader.web.js +32 -1
  92. package/dist/components/animations/ReanimatedScrollHandler.js +8 -1
  93. package/dist/components/animations/ReanimatedScrollHandler.native.js +24 -1
  94. package/dist/components/animations/ReanimatedScrollHandler.web.js +1 -1
  95. package/dist/components/animations/ReanimatedView.js +40 -1
  96. package/dist/components/animations/index.js +5 -1
  97. package/dist/components/calendar/CalendarNav.js +67 -1
  98. package/dist/components/calendar/WeekDaysBar.js +18 -1
  99. package/dist/components/calendar/_helpers/calendarDays.js +16 -1
  100. package/dist/components/calendar/_helpers/dateDisabled.js +24 -1
  101. package/dist/components/feedback/alerter.js +31 -1
  102. package/dist/components/feedback/confirmer.js +70 -1
  103. package/dist/components/feedback/index.js +3 -1
  104. package/dist/components/feedback/notifications/Notification.js +37 -1
  105. package/dist/components/feedback/notifications/NotificationsHandler.js +65 -1
  106. package/dist/components/filter/DateFilter.js +72 -0
  107. package/dist/components/filter/FilterGroup.js +17 -0
  108. package/dist/components/filter/FilterHandler.js +54 -0
  109. package/dist/components/filter/FilterItem.js +30 -0
  110. package/dist/components/filter/PopoverFilterItem.js +84 -0
  111. package/dist/components/filter/SearchInput.js +49 -0
  112. package/dist/components/filter/index.js +6 -0
  113. package/dist/components/form/Form.js +31 -1
  114. package/dist/components/form/FormGroup.js +21 -1
  115. package/dist/components/form/FormItem.js +118 -1
  116. package/dist/components/form/FormList.js +143 -1
  117. package/dist/components/form/FormWrapperComponent.js +52 -1
  118. package/dist/components/form/FormWrapperComponent.native.js +5 -1
  119. package/dist/components/form/SubmitButton.js +22 -1
  120. package/dist/components/form/index.js +9 -1
  121. package/dist/components/form/useNewForm.js +211 -1
  122. package/dist/components/form/useWatch.js +70 -1
  123. package/dist/components/form/validation/defaultMessages.js +20 -1
  124. package/dist/components/form/validation/index.js +5 -1
  125. package/dist/components/form/validation/normalizeRules.js +22 -1
  126. package/dist/components/form/validation/shouldValidateOn.js +21 -1
  127. package/dist/components/form/validation/validateRules.js +83 -1
  128. package/dist/components/form/validation/validators.js +82 -1
  129. package/dist/components/helpers/ConditionalLazyRender.js +6 -1
  130. package/dist/components/helpers/LazyAction.js +22 -1
  131. package/dist/components/helpers/LazyRender.js +55 -1
  132. package/dist/components/helpers/LazyRender.native.js +58 -1
  133. package/dist/components/helpers/Portal.js +21 -1
  134. package/dist/components/helpers/PortalHandler.js +32 -1
  135. package/dist/components/helpers/Responsive.js +18 -1
  136. package/dist/components/helpers/Separator.js +49 -1
  137. package/dist/components/helpers/VerticalView.js +34 -1
  138. package/dist/components/helpers/index.js +8 -1
  139. package/dist/components/index.js +20 -1
  140. package/dist/components/inputs/BooleanSelect.js +14 -0
  141. package/dist/components/inputs/Checkbox.js +56 -1
  142. package/dist/components/inputs/DateInput.js +123 -1
  143. package/dist/components/inputs/DateRangeInput.js +41 -0
  144. package/dist/components/inputs/Editable.js +129 -0
  145. package/dist/components/inputs/EnabledSelect.js +14 -0
  146. package/dist/components/inputs/InputWrapper.js +93 -1
  147. package/dist/components/inputs/LinkInput.js +17 -1
  148. package/dist/components/inputs/MaskInput.js +67 -1
  149. package/dist/components/inputs/NumberInput.js +111 -1
  150. package/dist/components/inputs/NumberRangeInput.js +41 -0
  151. package/dist/components/inputs/PasswordInput.js +24 -0
  152. package/dist/components/inputs/Picker.js +169 -1
  153. package/dist/components/inputs/Radio.js +55 -1
  154. package/dist/components/inputs/RateInput.js +62 -1
  155. package/dist/components/inputs/SegmentedPicker.js +62 -1
  156. package/dist/components/inputs/Select.js +219 -1
  157. package/dist/components/inputs/Switch.js +60 -1
  158. package/dist/components/inputs/TextArea.js +5 -0
  159. package/dist/components/inputs/TextInput.js +32 -1
  160. package/dist/components/inputs/UploadInput.js +140 -0
  161. package/dist/components/inputs/_DateInput.native.js +89 -1
  162. package/dist/components/inputs/datePicker/DatePicker.js +24 -1
  163. package/dist/components/inputs/datePicker/DayPicker.js +64 -1
  164. package/dist/components/inputs/datePicker/MonthPicker.js +62 -1
  165. package/dist/components/inputs/datePicker/QuarterPicker.js +65 -1
  166. package/dist/components/inputs/datePicker/WeekPicker.js +74 -1
  167. package/dist/components/inputs/datePicker/YearPicker.js +70 -1
  168. package/dist/components/inputs/index.js +23 -1
  169. package/dist/components/inputs/upload/Upload.js +99 -0
  170. package/dist/components/inputs/upload/Upload.native.js +154 -0
  171. package/dist/components/inputs/upload/useUploadState.js +143 -0
  172. package/dist/components/layout/Layout.js +40 -1
  173. package/dist/components/layout/LayoutContent.js +42 -1
  174. package/dist/components/layout/LayoutHeader.js +70 -1
  175. package/dist/components/layout/LayoutSider.js +64 -1
  176. package/dist/components/layout/index.js +4 -1
  177. package/dist/components/list/FlatList.js +91 -1
  178. package/dist/components/list/ScrollView.js +58 -1
  179. package/dist/components/list/index.js +2 -1
  180. package/dist/components/modals/bottomDrawer/index.js +3 -1
  181. package/dist/components/modals/bottomDrawer/index.native.js +5 -1
  182. package/dist/components/modals/bottomDrawer/index.web.js +5 -1
  183. package/dist/components/modals/bottomDrawer/native/BottomDrawer.js +239 -1
  184. package/dist/components/modals/bottomDrawer/native/DrawerContext.js +17 -1
  185. package/dist/components/modals/bottomDrawer/native/DrawerHandle.js +12 -1
  186. package/dist/components/modals/bottomDrawer/native/DrawerScrollView.js +5 -1
  187. package/dist/components/modals/bottomDrawer/native/createDrawerScrollComponent.js +139 -1
  188. package/dist/components/modals/bottomDrawer/native/utils.js +65 -1
  189. package/dist/components/modals/bottomDrawer/web/BottomDrawer.js +5 -1
  190. package/dist/components/modals/drawer/Drawer.js +5 -1
  191. package/dist/components/modals/drawer/Drawer.native.js +3 -1
  192. package/dist/components/modals/drawer/Drawer.web.js +3 -1
  193. package/dist/components/modals/drawer/index.js +1 -1
  194. package/dist/components/modals/index.js +4 -1
  195. package/dist/components/modals/modal/Modal.js +84 -1
  196. package/dist/components/modals/modal/Modal.native.js +83 -1
  197. package/dist/components/modals/modal/ModalBackdrop.js +58 -1
  198. package/dist/components/modals/modal/ModalContent.js +28 -1
  199. package/dist/components/modals/modal/ModalFooter.js +31 -1
  200. package/dist/components/modals/modal/ModalHeader.js +50 -1
  201. package/dist/components/modals/modal/handler/ModalsHandler.js +61 -1
  202. package/dist/components/modals/modal/index.js +6 -1
  203. package/dist/components/modals/router/ModalRoute.js +15 -1
  204. package/dist/components/modals/router/ModalsRouter.js +120 -1
  205. package/dist/components/modals/router/ModalsRouterContext.js +16 -1
  206. package/dist/components/modals/router/index.js +6 -1
  207. package/dist/components/modals/router/useAllModalsParams.js +6 -1
  208. package/dist/components/modals/router/useModalParams.js +6 -1
  209. package/dist/components/modals/router/useModalsNavigation.js +6 -1
  210. package/dist/components/modals/router/useUpdateModalContainer.js +6 -1
  211. package/dist/components/presentation/Avatar.js +79 -1
  212. package/dist/components/presentation/AvatarLabel.js +60 -1
  213. package/dist/components/presentation/AvatarsGroup.js +30 -0
  214. package/dist/components/presentation/Badge.js +91 -1
  215. package/dist/components/presentation/ContentLabel.js +43 -1
  216. package/dist/components/presentation/Icon.js +20 -1
  217. package/dist/components/presentation/IconLabel.js +40 -1
  218. package/dist/components/presentation/Image.js +33 -1
  219. package/dist/components/presentation/ImageBackground.js +38 -1
  220. package/dist/components/presentation/LabelValue.js +51 -1
  221. package/dist/components/presentation/Progress.js +20 -0
  222. package/dist/components/presentation/Rate.js +58 -1
  223. package/dist/components/presentation/RateTag.js +35 -1
  224. package/dist/components/presentation/Result.js +60 -1
  225. package/dist/components/presentation/ResultBar.js +56 -1
  226. package/dist/components/presentation/Tag.js +69 -1
  227. package/dist/components/presentation/Tooltip.js +44 -1
  228. package/dist/components/presentation/index.js +16 -1
  229. package/dist/components/sections/Section.js +50 -1
  230. package/dist/components/sections/SectionItem.js +24 -1
  231. package/dist/components/sections/SectionItemDropdown.js +68 -1
  232. package/dist/components/sections/SectionItemLink.js +35 -1
  233. package/dist/components/sections/index.js +4 -1
  234. package/dist/components/state/Loading.js +20 -1
  235. package/dist/components/state/LoadingView.js +37 -1
  236. package/dist/components/state/StatePresenter.js +41 -1
  237. package/dist/components/state/index.js +3 -1
  238. package/dist/components/steps/ActiveStepContent.js +16 -0
  239. package/dist/components/steps/StepsHandler.js +53 -0
  240. package/dist/components/steps/StepsMenu.js +14 -0
  241. package/dist/components/steps/StepsNavigation.js +37 -0
  242. package/dist/components/steps/index.js +4 -0
  243. package/dist/components/structure/Accordion.js +69 -1
  244. package/dist/components/structure/AccordionGroup.js +35 -1
  245. package/dist/components/structure/Affix.js +34 -0
  246. package/dist/components/structure/Affix.native.js +3 -0
  247. package/dist/components/structure/BlurView.js +59 -1
  248. package/dist/components/structure/Card.js +46 -1
  249. package/dist/components/structure/Col.js +22 -1
  250. package/dist/components/structure/GradientView.js +42 -1
  251. package/dist/components/structure/KeyboardAvoidingView.js +52 -1
  252. package/dist/components/structure/Row.js +50 -1
  253. package/dist/components/structure/SafeAreaView.js +42 -1
  254. package/dist/components/structure/Segment.js +51 -1
  255. package/dist/components/structure/TopBar.js +57 -1
  256. package/dist/components/structure/View.js +44 -1
  257. package/dist/components/structure/index.js +14 -1
  258. package/dist/components/structure/overlay/OverlayHandler.js +83 -1
  259. package/dist/components/structure/overlay/OverlayHandler.native.js +6 -1
  260. package/dist/components/structure/overlay/OverlayWrapper.js +52 -1
  261. package/dist/components/structure/overlay/calculatePosition.js +29 -1
  262. package/dist/components/structure/overlay/smartPlacement.js +32 -1
  263. package/dist/components/structure/popover/Popover.js +135 -1
  264. package/dist/components/structure/popover/Popover.native.js +105 -1
  265. package/dist/components/structure/popover/PopoverContent.js +18 -1
  266. package/dist/components/structure/popover/Popover_BU.js +157 -1
  267. package/dist/components/table/DataTable.js +62 -1
  268. package/dist/components/table/Pagination.js +128 -1
  269. package/dist/components/table/Table.js +66 -1
  270. package/dist/components/table/TableCol.js +67 -1
  271. package/dist/components/table/TableHeader.js +69 -1
  272. package/dist/components/table/TableHeaderRow.js +31 -1
  273. package/dist/components/table/TableRow.js +30 -1
  274. package/dist/components/table/index.js +7 -1
  275. package/dist/components/tabs/ActiveTabContent.js +38 -1
  276. package/dist/components/tabs/TabsHandler.js +16 -1
  277. package/dist/components/tabs/TabsMenu.js +15 -1
  278. package/dist/components/tabs/index.js +3 -1
  279. package/dist/components/text/DateText.js +24 -1
  280. package/dist/components/text/Text.js +32 -1
  281. package/dist/components/text/VerticalText.js +29 -1
  282. package/dist/components/text/index.js +3 -1
  283. package/dist/components/theme/ThemePicker.js +48 -1
  284. package/dist/components/theme/ThemePickerDrawer.js +12 -1
  285. package/dist/components/theme/ThemeStatusBar.js +3 -1
  286. package/dist/components/theme/ThemeStatusBar.native.js +9 -1
  287. package/dist/components/theme/ThemeThumb.js +98 -1
  288. package/dist/components/theme/index.js +3 -1
  289. package/dist/helpers/debounce.js +9 -1
  290. package/dist/helpers/index.js +5 -1
  291. package/dist/helpers/options.js +65 -1
  292. package/dist/helpers/random.js +5 -1
  293. package/dist/helpers/storage.js +76 -1
  294. package/dist/helpers/string.js +74 -1
  295. package/dist/i18n/I18n.js +96 -1
  296. package/dist/i18n/I18nProvider.js +40 -1
  297. package/dist/i18n/index.js +2 -1
  298. package/dist/index.js +8 -1
  299. package/dist/modifiers/_helpers.js +6 -1
  300. package/dist/modifiers/alignConverter.js +11 -1
  301. package/dist/modifiers/animation.js +18 -1
  302. package/dist/modifiers/animations/animatedEffects.js +64 -1
  303. package/dist/modifiers/animations/animatedEffects.native.js +55 -1
  304. package/dist/modifiers/animations/animatedEffects.web.js +55 -1
  305. package/dist/modifiers/animations/fadeEffect.js +46 -1
  306. package/dist/modifiers/animations/fadeEffect.native.js +33 -1
  307. package/dist/modifiers/animations/fadeEffect.web.js +3 -1
  308. package/dist/modifiers/animations/scaleEffect.js +46 -1
  309. package/dist/modifiers/animations/scaleEffect.native.js +33 -1
  310. package/dist/modifiers/animations/scrollEffect.web.js +3 -1
  311. package/dist/modifiers/animations/slideEffect.js +64 -1
  312. package/dist/modifiers/animations/slideEffect.native.js +53 -1
  313. package/dist/modifiers/animations/slideEffect.web.js +3 -1
  314. package/dist/modifiers/applyStyles.js +7 -1
  315. package/dist/modifiers/background.js +34 -1
  316. package/dist/modifiers/border.js +86 -1
  317. package/dist/modifiers/colorConverter.js +13 -1
  318. package/dist/modifiers/cursor.js +21 -1
  319. package/dist/modifiers/default.js +9 -1
  320. package/dist/modifiers/display.js +22 -1
  321. package/dist/modifiers/flex.js +20 -1
  322. package/dist/modifiers/flexWrapper.js +87 -1
  323. package/dist/modifiers/fullColor.js +32 -1
  324. package/dist/modifiers/grid.js +27 -1
  325. package/dist/modifiers/hover.js +28 -1
  326. package/dist/modifiers/logger.js +6 -1
  327. package/dist/modifiers/margin.js +25 -1
  328. package/dist/modifiers/overflow.js +28 -1
  329. package/dist/modifiers/padding.js +25 -1
  330. package/dist/modifiers/position.js +57 -1
  331. package/dist/modifiers/responsiveConverter.js +19 -1
  332. package/dist/modifiers/shadow.js +35 -1
  333. package/dist/modifiers/size.js +59 -1
  334. package/dist/modifiers/sizeConverter.js +12 -1
  335. package/dist/modifiers/state.js +33 -1
  336. package/dist/modifiers/text.js +62 -1
  337. package/dist/modifiers/textConverter.js +12 -1
  338. package/dist/modifiers/themeComponent.js +11 -1
  339. package/dist/responsive/ResponsiveHandler.js +28 -1
  340. package/dist/responsive/index.js +2 -1
  341. package/dist/responsive/responsiveHooks.js +67 -1
  342. package/dist/theme/ThemeHandler.js +81 -1
  343. package/dist/theme/default/base.js +95 -1
  344. package/dist/theme/default/blackTheme.js +47 -1
  345. package/dist/theme/default/cyberpunkTheme.js +36 -1
  346. package/dist/theme/default/darkTheme.js +35 -1
  347. package/dist/theme/default/hackerTheme.js +55 -1
  348. package/dist/theme/default/lightTheme.js +35 -1
  349. package/dist/theme/default/paperTheme.js +36 -1
  350. package/dist/theme/default/themes.js +15 -1
  351. package/dist/theme/format/colorsVariations.js +31 -1
  352. package/dist/theme/format/formatTheme.js +28 -1
  353. package/dist/theme/helpers/colorScale.js +12 -1
  354. package/dist/theme/helpers/contrastColor.js +18 -1
  355. package/dist/theme/helpers/dynamicColor.js +32 -1
  356. package/dist/theme/helpers/mergePreset.js +7 -1
  357. package/dist/theme/helpers/relatedScales.js +34 -1
  358. package/dist/theme/helpers/sizeScale.js +20 -1
  359. package/dist/theme/helpers/textScale.js +15 -1
  360. package/dist/theme/index.js +2 -1
  361. package/package.json +1 -3
  362. package/src/abstractions/Icon.js +1 -1
  363. package/src/abstractions/TextInput.js +10 -1
  364. package/src/abstractions/TouchableOpacity.native.js +8 -2
  365. package/src/components/actions/ActionsDrawer.js +1 -1
  366. package/src/components/actions/Button.js +3 -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/LinkInput.js +1 -1
  391. package/src/components/inputs/NumberInput.js +10 -5
  392. package/src/components/inputs/NumberRangeInput.js +41 -0
  393. package/src/components/inputs/PasswordInput.js +24 -0
  394. package/src/components/inputs/Picker.js +3 -3
  395. package/src/components/inputs/Select.js +61 -47
  396. package/src/components/inputs/TextArea.js +5 -0
  397. package/src/components/inputs/TextInput.js +14 -4
  398. package/src/components/inputs/UploadInput.js +140 -0
  399. package/src/components/inputs/index.js +9 -0
  400. package/src/components/inputs/upload/Upload.js +99 -0
  401. package/src/components/inputs/upload/Upload.native.js +154 -0
  402. package/src/components/inputs/upload/useUploadState.js +143 -0
  403. package/src/components/layout/LayoutHeader.js +1 -0
  404. package/src/components/presentation/AvatarLabel.js +1 -1
  405. package/src/components/presentation/AvatarsGroup.js +30 -0
  406. package/src/components/presentation/Badge.js +3 -2
  407. package/src/components/presentation/ContentLabel.js +1 -1
  408. package/src/components/presentation/IconLabel.js +1 -0
  409. package/src/components/presentation/Progress.js +20 -0
  410. package/src/components/presentation/index.js +2 -0
  411. package/src/components/sections/Section.js +1 -1
  412. package/src/components/sections/SectionItemLink.js +4 -2
  413. package/src/components/steps/ActiveStepContent.js +16 -0
  414. package/src/components/steps/StepsHandler.js +53 -0
  415. package/src/components/steps/StepsMenu.js +14 -0
  416. package/src/components/steps/StepsNavigation.js +37 -0
  417. package/src/components/steps/index.js +4 -0
  418. package/src/components/structure/Affix.js +34 -0
  419. package/src/components/structure/Affix.native.js +3 -0
  420. package/src/components/structure/Card.js +1 -0
  421. package/src/components/structure/TopBar.js +13 -1
  422. package/src/components/structure/index.js +1 -0
  423. package/src/components/structure/overlay/OverlayHandler.js +9 -1
  424. package/src/components/structure/popover/Popover.js +22 -5
  425. package/src/components/table/DataTable.js +7 -2
  426. package/src/components/table/Table.js +2 -1
  427. package/src/components/tabs/ActiveTabContent.js +4 -1
  428. package/src/components/text/DateText.js +15 -2
  429. package/src/modifiers/border.js +15 -9
  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
@@ -1 +1,32 @@
1
- function set(key,value){return localStorage.setItem(key,value);}function setAsync(key,value){return Promise.resulve(set(key,value));}function get(key){return localStorage.getItem(key);}function getAsync(key){return Promise.resulve(get(key));}function remove(key){return localStorage.removeItem(key);}function removeAsync(key){return Promise.resulve(remove(key));}export var AbsStorage={set:set,setAsync:setAsync,get:get,getAsync:getAsync,remove:remove,removeAsync:removeAsync};
1
+ function set(key, value) {
2
+ return localStorage.setItem(key, value);
3
+ }
4
+
5
+ function setAsync(key, value) {
6
+ return Promise.resulve(set(key, value));
7
+ }
8
+
9
+ function get(key) {
10
+ return localStorage.getItem(key);
11
+ }
12
+
13
+ function getAsync(key) {
14
+ return Promise.resulve(get(key));
15
+ }
16
+
17
+ function remove(key) {
18
+ return localStorage.removeItem(key);
19
+ }
20
+
21
+ function removeAsync(key) {
22
+ return Promise.resulve(remove(key));
23
+ }
24
+
25
+ export var AbsStorage = {
26
+ set: set,
27
+ setAsync: setAsync,
28
+ get: get,
29
+ getAsync: getAsync,
30
+ remove: remove,
31
+ removeAsync: removeAsync
32
+ };
@@ -1 +1,34 @@
1
- var set=function set(){return console.warn('expo-sqlite not installed. Neko Storage needs expo-sqlite to work properly');};var setAsync=function setAsync(){return Promise.resolve(set());};var get=function get(){return console.warn('expo-sqlite not installed. Neko Storage needs expo-sqlite to work properly');};var getAsync=function getAsync(){return Promise.resolve(get());};var remove=function remove(){return console.warn('expo-sqlite not installed. Neko Storage needs expo-sqlite to work properly');};var removeAsync=function removeAsync(){return Promise.resolve(remove());};try{var StorageModule=require('expo-sqlite/kv-store');if(StorageModule!=null&&StorageModule.default){var Storage=StorageModule.default;set=Storage.setItemSync.bind(Storage);setAsync=Storage.setItem.bind(Storage);get=Storage.getItemSync.bind(Storage);getAsync=Storage.getItem.bind(Storage);remove=Storage.removeItemSync.bind(Storage);removeAsync=Storage.removeItem.bind(Storage);}}catch(e){console.log('expo-sqlite not available:',e);}export var AbsStorage={set:set,setAsync:setAsync,get:get,getAsync:getAsync,remove:remove,removeAsync:removeAsync};
1
+ var set = function set() {return console.warn('expo-sqlite not installed. Neko Storage needs expo-sqlite to work properly');};
2
+ var setAsync = function setAsync() {return Promise.resolve(set());};
3
+
4
+ var get = function get() {return console.warn('expo-sqlite not installed. Neko Storage needs expo-sqlite to work properly');};
5
+ var getAsync = function getAsync() {return Promise.resolve(get());};
6
+
7
+ var remove = function remove() {return console.warn('expo-sqlite not installed. Neko Storage needs expo-sqlite to work properly');};
8
+ var removeAsync = function removeAsync() {return Promise.resolve(remove());};
9
+
10
+ try {
11
+ var StorageModule = require('expo-sqlite/kv-store');
12
+ if (StorageModule != null && StorageModule.default) {
13
+ var Storage = StorageModule.default;
14
+ set = Storage.setItemSync.bind(Storage);
15
+ setAsync = Storage.setItem.bind(Storage);
16
+
17
+ get = Storage.getItemSync.bind(Storage);
18
+ getAsync = Storage.getItem.bind(Storage);
19
+
20
+ remove = Storage.removeItemSync.bind(Storage);
21
+ removeAsync = Storage.removeItem.bind(Storage);
22
+ }
23
+ } catch (e) {
24
+ console.log('expo-sqlite not available:', e);
25
+ }
26
+
27
+ export var AbsStorage = {
28
+ set: set,
29
+ setAsync: setAsync,
30
+ get: get,
31
+ getAsync: getAsync,
32
+ remove: remove,
33
+ removeAsync: removeAsync
34
+ };
@@ -1 +1,8 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";export function formatTransform(transforms){return transforms.map(function(t){var _Object$entries$=_slicedToArray(Object.entries(t)[0],2),key=_Object$entries$[0],value=_Object$entries$[1];return`${key}(${value})`;}).join(' ');}
1
+ 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;}export function formatTransform(transforms) {
2
+ return transforms.
3
+ map(function (t) {
4
+ var _Object$entries$ = _slicedToArray(Object.entries(t)[0], 2),key = _Object$entries$[0],value = _Object$entries$[1];
5
+ return `${key}(${value})`;
6
+ }).
7
+ join(' ');
8
+ }
@@ -1 +1,3 @@
1
- export function formatTransform(transforms){return transforms;}
1
+ export function formatTransform(transforms) {
2
+ return transforms;
3
+ }
@@ -1 +1,3 @@
1
- export var useSafeAreaInsets=function useSafeAreaInsets(){return{top:0,bottom:0,left:0,right:0};};
1
+ export var useSafeAreaInsets = function useSafeAreaInsets() {
2
+ return { top: 0, bottom: 0, left: 0, right: 0 };
3
+ };
@@ -1 +1,3 @@
1
- import{useSafeAreaInsets as _useSafeAreaInsets}from'react-native-safe-area-context';export var useSafeAreaInsets=_useSafeAreaInsets;
1
+ import { useSafeAreaInsets as _useSafeAreaInsets } from 'react-native-safe-area-context';
2
+
3
+ export var useSafeAreaInsets = _useSafeAreaInsets;
@@ -1 +1,13 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import React from'react';export function useWindowWidth(){var _React$useState=React.useState(window.innerWidth),_React$useState2=_slicedToArray(_React$useState,2),width=_React$useState2[0],setWidth=_React$useState2[1];React.useEffect(function(){var handleResize=function handleResize(){return setWidth(window.innerWidth);};window.addEventListener('resize',handleResize);return function(){return window.removeEventListener('resize',handleResize);};},[]);return width;}
1
+ 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 React from 'react';
2
+
3
+ export function useWindowWidth() {
4
+ var _React$useState = React.useState(window.innerWidth),_React$useState2 = _slicedToArray(_React$useState, 2),width = _React$useState2[0],setWidth = _React$useState2[1];
5
+
6
+ React.useEffect(function () {
7
+ var handleResize = function handleResize() {return setWidth(window.innerWidth);};
8
+ window.addEventListener('resize', handleResize);
9
+ return function () {return window.removeEventListener('resize', handleResize);};
10
+ }, []);
11
+
12
+ return width;
13
+ }
@@ -1 +1,6 @@
1
- import{useWindowDimensions}from"react-native-web";export function useWindowWidth(){var _useWindowDimensions=useWindowDimensions(),width=_useWindowDimensions.width;return width;}
1
+ import { useWindowDimensions } from "react-native-web";
2
+
3
+ export function useWindowWidth() {
4
+ var _useWindowDimensions = useWindowDimensions(),width = _useWindowDimensions.width;
5
+ return width;
6
+ }
@@ -1 +1,6 @@
1
- import{useWindowDimensions}from"react-native-web";export function useWindowWidth(){var _useWindowDimensions=useWindowDimensions(),width=_useWindowDimensions.width;return width;}
1
+ import { useWindowDimensions } from "react-native-web";
2
+
3
+ export function useWindowWidth() {
4
+ var _useWindowDimensions = useWindowDimensions(),width = _useWindowDimensions.width;
5
+ return width;
6
+ }
@@ -1 +1,81 @@
1
- import _objectDestructuringEmpty from"@babel/runtime/helpers/objectDestructuringEmpty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["items","onChange","title","subtitle","onClose","snapPoints"],_excluded2=["topBarProps","menuProps"];var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/actions/ActionsDrawer.js";import{pipe}from'ramda';import React from'react';import{BottomDrawer,DrawerScrollView}from"../modals/bottomDrawer";import{Menu}from"./menu/Menu";import{Section}from"../sections";import{TopBar,View}from"../structure";import{useDefaultModifier}from"../../modifiers/default";import{useTheme}from"../../theme";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";var DEFAULT_PROPS={useSafeArea:false,bg:'mainBG',topBarProps:{useSafeArea:false},menuProps:{vertical:true,linkPaddingH:'md',linkMinHeight:'xl',withDivider:true}};function Content(_ref){var items=_ref.items,title=_ref.title,subtitle=_ref.subtitle,onClose=_ref.onClose,onChange=_ref.onChange,topBarProps=_ref.topBarProps,menuProps=_ref.menuProps;var handleChange=function handleChange(){for(var _len=arguments.length,params=new Array(_len),_key=0;_key<_len;_key++){params[_key]=arguments[_key];}onChange==null?void 0:onChange.apply(void 0,params);onClose();};return _jsxs(_Fragment,{children:[_jsx(TopBar,Object.assign({title:title,subtitle:subtitle},topBarProps)),_jsx(View,{flex:true,children:_jsxs(DrawerScrollView,{children:[!title&&_jsx(View,{paddingT:"md"}),_jsx(Section,{children:_jsx(Menu,Object.assign({items:items,onChange:handleChange},menuProps))}),_jsx(View,{height:100})]})})]});}export function ActionsDrawer(_ref2){var items=_ref2.items,onChange=_ref2.onChange,title=_ref2.title,subtitle=_ref2.subtitle,onClose=_ref2.onClose,snapPoints=_ref2.snapPoints,rootProps=_objectWithoutProperties(_ref2,_excluded);var _useTheme=useTheme(),elementHeights=_useTheme.elementHeights,spaces=_useTheme.spaces;var _pipe=pipe(useThemeComponentModifier('ActionsDrawer'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2);_objectDestructuringEmpty(_pipe2[0]);var formattedProps=_pipe2[1];var topBarProps=formattedProps.topBarProps,menuProps=formattedProps.menuProps,props=_objectWithoutProperties(formattedProps,_excluded2);snapPoints=React.useMemo(function(){var _snapPoints;if(!!((_snapPoints=snapPoints)!=null&&_snapPoints.length))return snapPoints;var safeSpace=(!!title?elementHeights.xxl:spaces.sm)+spaces.md+spaces.sm;var itemHeight=elementHeights[menuProps==null?void 0:menuProps.linkMinHeight];var itemsLength=Math.min(8,items.length);return[itemsLength*itemHeight+safeSpace];},[snapPoints,title,items]);return _jsx(BottomDrawer,Object.assign({onClose:onClose,snapPoints:snapPoints},props,{children:_jsx(Content,{onClose:onClose,topBarProps:topBarProps,menuProps:menuProps,title:title,subtitle:subtitle,onChange:onChange,items:items})}));}
1
+ var _excluded = ["items", "onChange", "title", "subtitle", "onClose", "snapPoints"],_excluded2 = ["topBarProps", "menuProps"];var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/actions/ActionsDrawer.js";function _objectDestructuringEmpty(t) {if (null == t) throw new TypeError("Cannot destructure " + 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;}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 { BottomDrawer, DrawerScrollView } from "../modals/bottomDrawer";
5
+ import { Menu } from "./menu/Menu";
6
+ import { Section } from "../sections";
7
+ import { TopBar, View } from "../structure";
8
+ import { useDefaultModifier } from "../../modifiers/default";
9
+ import { useTheme } from "../../theme";
10
+ import { useThemeComponentModifier } from "../../modifiers/themeComponent";import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
11
+
12
+ var DEFAULT_PROPS = {
13
+ useSafeArea: false,
14
+ bg: 'mainBG',
15
+ topBarProps: {
16
+ useSafeArea: false
17
+ },
18
+ menuProps: {
19
+ vertical: true,
20
+ linkPaddingH: 'md',
21
+ linkMinHeight: 'xl',
22
+ withDivider: true
23
+ }
24
+ };
25
+
26
+ function Content(_ref) {var items = _ref.items,title = _ref.title,subtitle = _ref.subtitle,onClose = _ref.onClose,onChange = _ref.onChange,topBarProps = _ref.topBarProps,menuProps = _ref.menuProps;
27
+ var handleChange = function handleChange() {for (var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++) {params[_key] = arguments[_key];}
28
+ onChange == null ? void 0 : onChange.apply(void 0, params);
29
+ onClose();
30
+ };
31
+
32
+ return (
33
+ _jsxs(_Fragment, { children: [
34
+ _jsx(TopBar, Object.assign({ title: title, subtitle: subtitle }, topBarProps)),
35
+
36
+ _jsx(View, { flex: true, children:
37
+ _jsxs(DrawerScrollView, { children: [
38
+ !title && _jsx(View, { paddingT: "md" }),
39
+ _jsx(Section, { marginH: "md", children:
40
+ _jsx(Menu, Object.assign({ items: items, onChange: handleChange }, menuProps)) }
41
+ ),
42
+ _jsx(View, { height: 100 })] }
43
+ ) }
44
+ )] }
45
+ ));
46
+
47
+ }
48
+
49
+ export function ActionsDrawer(_ref2) {var items = _ref2.items,onChange = _ref2.onChange,title = _ref2.title,subtitle = _ref2.subtitle,onClose = _ref2.onClose,snapPoints = _ref2.snapPoints,rootProps = _objectWithoutProperties(_ref2, _excluded);
50
+ var _useTheme = useTheme(),elementHeights = _useTheme.elementHeights,spaces = _useTheme.spaces;
51
+ var _pipe = pipe(
52
+ useThemeComponentModifier('ActionsDrawer'),
53
+ useDefaultModifier(DEFAULT_PROPS)
54
+ )([{}, rootProps]),_pipe2 = _slicedToArray(_pipe, 2);_objectDestructuringEmpty(_pipe2[0]);var formattedProps = _pipe2[1];
55
+
56
+ var topBarProps = formattedProps.topBarProps,menuProps = formattedProps.menuProps,props = _objectWithoutProperties(formattedProps, _excluded2);
57
+
58
+
59
+ snapPoints = React.useMemo(function () {var _snapPoints;
60
+ if (!!((_snapPoints = snapPoints) != null && _snapPoints.length)) return snapPoints;
61
+
62
+ var safeSpace = (!!title ? elementHeights.xxl : spaces.sm) + spaces.md + spaces.sm;
63
+ var itemHeight = elementHeights[menuProps == null ? void 0 : menuProps.linkMinHeight];
64
+ var itemsLength = Math.min(8, items.length);
65
+ return [itemsLength * itemHeight + safeSpace];
66
+ }, [snapPoints, title, items]);
67
+
68
+ return (
69
+ _jsx(BottomDrawer, Object.assign({ onClose: onClose, snapPoints: snapPoints }, props, { children:
70
+ _jsx(Content, {
71
+ onClose: onClose,
72
+ topBarProps: topBarProps,
73
+ menuProps: menuProps,
74
+ title: title,
75
+ subtitle: subtitle,
76
+ onChange: onChange,
77
+ items: items }
78
+ ) })
79
+ ));
80
+
81
+ }
@@ -1 +1,47 @@
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/actions/Breadcrumb.js";var _excluded=["items","onChange"];import{pipe,omit}from'ramda';import{IconLabel}from"../presentation/IconLabel";import{Link}from"./Link";import{Text}from"../text/Text";import{View}from"../structure/View";import{moveScale}from"../../theme/helpers/sizeScale";import{useSizeConverter}from"../../modifiers/sizeConverter";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function Breadcrumb(_ref){var _this=this;var items=_ref.items,onChange=_ref.onChange,rootProps=_objectWithoutProperties(_ref,_excluded);var _pipe=pipe(useSizeConverter('elementHeights','md'),useThemeComponentModifier('Breadcrumb'))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),sizeCode=_pipe2[0].sizeCode,props=_pipe2[1];var gap='sm';var handlePress=function handlePress(item,index){onChange==null?void 0:onChange(item,index);item.onPress==null?void 0:item.onPress(index);item.onClick==null?void 0:item.onClick(index);};return _jsx(View,Object.assign({className:"neko-breadcrumb",row:true,gap:gap,centerV:true},props,{children:items.map(function(item,index){var active=index===items.length-1;return _jsxs(View,{row:true,gap:gap,centerV:true,children:[_jsx(Link,{onPress:!active?function(){return handlePress(item,index);}:undefined,children:_jsx(IconLabel,Object.assign({color:active?'text':'text3',size:sizeCode,moveIconSizeScale:-2,strong:active},omit(['onPress','onClick'],item)))}),!active&&_jsx(Text,{text4:true,label:"/",size:moveScale(sizeCode,-1)})]},item.key||index);})}));}
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/actions/Breadcrumb.js";var _excluded = ["items", "onChange"];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, omit } from 'ramda';
2
+
3
+ import { IconLabel } from "../presentation/IconLabel";
4
+ import { Link } from "./Link";
5
+ import { Text } from "../text/Text";
6
+ import { View } from "../structure/View";
7
+ import { moveScale } from "../../theme/helpers/sizeScale";
8
+ import { useSizeConverter } from "../../modifiers/sizeConverter";
9
+ import { useThemeComponentModifier } from "../../modifiers/themeComponent";import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+
11
+ export function Breadcrumb(_ref) {var _this = this;var items = _ref.items,onChange = _ref.onChange,rootProps = _objectWithoutProperties(_ref, _excluded);
12
+ var _pipe = pipe(
13
+ useSizeConverter('elementHeights', 'md'),
14
+ useThemeComponentModifier('Breadcrumb')
15
+ )([{}, rootProps]),_pipe2 = _slicedToArray(_pipe, 2),sizeCode = _pipe2[0].sizeCode,props = _pipe2[1];
16
+
17
+ var gap = 'sm';
18
+
19
+ var handlePress = function handlePress(item, index) {
20
+ onChange == null ? void 0 : onChange(item, index);
21
+ item.onPress == null ? void 0 : item.onPress(index);
22
+ item.onClick == null ? void 0 : item.onClick(index);
23
+ };
24
+
25
+ return (
26
+ _jsx(View, Object.assign({ className: "neko-breadcrumb", row: true, gap: gap, centerV: true }, props, { children:
27
+ items.map(function (item, index) {
28
+ var active = index === items.length - 1;
29
+
30
+ return (
31
+ _jsxs(View, { row: true, gap: gap, centerV: true, children: [
32
+ _jsx(Link, { onPress: !active ? function () {return handlePress(item, index);} : undefined, children:
33
+ _jsx(IconLabel, Object.assign({
34
+ color: active ? 'text' : 'text3',
35
+ size: sizeCode,
36
+ moveIconSizeScale: -2,
37
+ strong: active },
38
+ omit(['onPress', 'onClick'], item))
39
+ ) }
40
+ ),
41
+ !active && _jsx(Text, { text4: true, label: "/", size: moveScale(sizeCode, -1) })] }, item.key || index
42
+ ));
43
+
44
+ }) })
45
+ ));
46
+
47
+ }
@@ -1 +1,82 @@
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/actions/Button.js";var _excluded=["children"],_excluded2=["label","icon","textProps","iconProps","gap","invert","size","iconLabelProps"];import{pipe}from'ramda';import{AbsTouchableOpacity}from"../../abstractions/TouchableOpacity";import{IconLabel}from"../presentation/IconLabel";import{useBackgroundModifier}from"../../modifiers/background";import{useBorderModifier}from"../../modifiers/border";import{useColorConverter}from"../../modifiers/colorConverter";import{useCursorModifier}from"../../modifiers/cursor";import{useDefaultModifier}from"../../modifiers/default";import{useDisplayModifier}from"../../modifiers/display";import{useFlexModifier}from"../../modifiers/flex";import{useFlexWrapperModifier}from"../../modifiers/flexWrapper";import{useFullColorModifier}from"../../modifiers/fullColor";import{useHoverConverter}from"../../modifiers/hover";import{useMarginModifier}from"../../modifiers/margin";import{usePaddingModifier}from"../../modifiers/padding";import{usePositionModifier}from"../../modifiers/position";import{useShadowModifier}from"../../modifiers/shadow";import{useSizeConverter}from"../../modifiers/sizeConverter";import{useSizeModifier}from"../../modifiers/size";import{useStateModifier}from"../../modifiers/state";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{paddingH:sizeCode,paddingV:2,height:sizeCode,br:sizeCode,border:1,center:true,pointer:true,hover:{opacity:0.7}};};export function Button(_ref3){var children=_ref3.children,rootProps=_objectWithoutProperties(_ref3,_excluded);var _pipe=pipe(useColorConverter('primary'),useSizeConverter('elementHeights','md'),useThemeComponentModifier('Button'),useDefaultModifier(DEFAULT_PROPS),useShadowModifier,useHoverConverter,useCursorModifier,useFullColorModifier,useDisplayModifier,useStateModifier,useSizeModifier,usePositionModifier,usePaddingModifier,useMarginModifier,useFlexModifier,useFlexWrapperModifier,useBackgroundModifier,useBorderModifier)([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_pipe2$=_pipe2[0],loading=_pipe2$.loading,fontColor=_pipe2$.fontColor,sizeCode=_pipe2$.sizeCode,formattedProps=_pipe2[1];var label=formattedProps.label,icon=formattedProps.icon,textProps=formattedProps.textProps,iconProps=formattedProps.iconProps,gap=formattedProps.gap,invert=formattedProps.invert,size=formattedProps.size,iconLabelProps=formattedProps.iconLabelProps,props=_objectWithoutProperties(formattedProps,_excluded2);return _jsx(AbsTouchableOpacity,Object.assign({className:"neko-button neko-wave-click-effect",type:"button"},props,{children:children||_jsx(IconLabel,Object.assign({center:true,color:fontColor,size:sizeCode,label:label,icon:icon,gap:gap,invert:invert,textProps:Object.assign({strong:true},textProps),iconProps:iconProps,loading:loading},iconLabelProps))}));}
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/actions/Button.js";var _excluded = ["children", "dashed"],_excluded2 = ["label", "icon", "textProps", "iconProps", "gap", "invert", "size", "iconLabelProps"];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
+
3
+ import { AbsTouchableOpacity } from "../../abstractions/TouchableOpacity";
4
+ import { IconLabel } from "../presentation/IconLabel";
5
+ import { useBackgroundModifier } from "../../modifiers/background";
6
+ import { useBorderModifier } from "../../modifiers/border";
7
+ import { useColorConverter } from "../../modifiers/colorConverter";
8
+ import { useCursorModifier } from "../../modifiers/cursor";
9
+ import { useDefaultModifier } from "../../modifiers/default";
10
+ import { useDisplayModifier } from "../../modifiers/display";
11
+ import { useFlexModifier } from "../../modifiers/flex";
12
+ import { useFlexWrapperModifier } from "../../modifiers/flexWrapper";
13
+ import { useFullColorModifier } from "../../modifiers/fullColor";
14
+ import { useHoverConverter } from "../../modifiers/hover";
15
+ import { useMarginModifier } from "../../modifiers/margin";
16
+ import { usePaddingModifier } from "../../modifiers/padding";
17
+ import { usePositionModifier } from "../../modifiers/position";
18
+ import { useShadowModifier } from "../../modifiers/shadow";
19
+ import { useSizeConverter } from "../../modifiers/sizeConverter";
20
+ import { useSizeModifier } from "../../modifiers/size";
21
+ import { useStateModifier } from "../../modifiers/state";
22
+ import { useThemeComponentModifier } from "../../modifiers/themeComponent";import { jsx as _jsx } from "react/jsx-runtime";
23
+
24
+ var DEFAULT_PROPS = function DEFAULT_PROPS(_ref) {var _ref2 = _slicedToArray(_ref, 1),sizeCode = _ref2[0].sizeCode;return {
25
+ paddingH: sizeCode,
26
+ paddingV: 2,
27
+ height: sizeCode,
28
+ br: sizeCode,
29
+ border: 1,
30
+ center: true,
31
+ pointer: true,
32
+ hover: {
33
+ opacity: 0.7
34
+ }
35
+ };};
36
+
37
+ export function Button(_ref3) {var children = _ref3.children,dashed = _ref3.dashed,rootProps = _objectWithoutProperties(_ref3, _excluded);
38
+ if (dashed) rootProps = Object.assign({ outline: true }, rootProps, { borderStyle: 'dashed' });
39
+
40
+ var _pipe = pipe(
41
+ useColorConverter('primary'),
42
+ useSizeConverter('elementHeights', 'md'),
43
+ useThemeComponentModifier('Button'),
44
+ useDefaultModifier(DEFAULT_PROPS),
45
+ useShadowModifier,
46
+ useHoverConverter,
47
+ useCursorModifier,
48
+ useFullColorModifier,
49
+ useDisplayModifier,
50
+ useStateModifier,
51
+ useSizeModifier,
52
+ usePositionModifier,
53
+ usePaddingModifier,
54
+ useMarginModifier,
55
+ useFlexModifier,
56
+ useFlexWrapperModifier,
57
+ useBackgroundModifier,
58
+ useBorderModifier
59
+ )([{}, rootProps]),_pipe2 = _slicedToArray(_pipe, 2),_pipe2$ = _pipe2[0],loading = _pipe2$.loading,fontColor = _pipe2$.fontColor,sizeCode = _pipe2$.sizeCode,formattedProps = _pipe2[1];
60
+
61
+ var label = formattedProps.label,icon = formattedProps.icon,textProps = formattedProps.textProps,iconProps = formattedProps.iconProps,gap = formattedProps.gap,invert = formattedProps.invert,size = formattedProps.size,iconLabelProps = formattedProps.iconLabelProps,props = _objectWithoutProperties(formattedProps, _excluded2);
62
+
63
+ return (
64
+ _jsx(AbsTouchableOpacity, Object.assign({ className: "neko-button neko-wave-click-effect", type: "button" }, props, { children:
65
+ children ||
66
+ _jsx(IconLabel, Object.assign({
67
+ center: true,
68
+ color: fontColor,
69
+ size: sizeCode,
70
+ label: label,
71
+ icon: icon,
72
+ gap: gap,
73
+ invert: invert,
74
+ textProps: Object.assign({ strong: true }, textProps),
75
+ iconProps: iconProps,
76
+ loading: loading },
77
+ iconLabelProps)
78
+ ) })
79
+
80
+ ));
81
+
82
+ }
@@ -1 +1,91 @@
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/actions/Dropdown.js";var _excluded=["items"],_excluded2=["onChange","label","trigger","icon","strong","color","popoverProps","iconLabelProps","children","placement","gap","useBottomDrawer"];import{pipe}from'ramda';import{DrawerScrollView}from"../modals";import{IconLabel}from"../presentation/IconLabel";import{Link}from"./Link";import{Menu}from"./menu/Menu";import{Popover}from"../structure/popover/Popover";import{View}from"../structure/View";import{useResponsiveValue}from"../../responsive";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx}from"react/jsx-runtime";export function Dropdown(_ref){var _this=this;var items=_ref.items,rootProps=_objectWithoutProperties(_ref,_excluded);var _pipe=pipe(useThemeComponentModifier('Dropdown'))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_=_pipe2[0],formattedProps=_pipe2[1];var onChange=formattedProps.onChange,label=formattedProps.label,_formattedProps$trigg=formattedProps.trigger,trigger=_formattedProps$trigg===void 0?'click':_formattedProps$trigg,icon=formattedProps.icon,strong=formattedProps.strong,color=formattedProps.color,popoverProps=formattedProps.popoverProps,iconLabelProps=formattedProps.iconLabelProps,children=formattedProps.children,placement=formattedProps.placement,gap=formattedProps.gap,useBottomDrawer=formattedProps.useBottomDrawer,props=_objectWithoutProperties(formattedProps,_excluded2);useBottomDrawer=useResponsiveValue(useBottomDrawer||{native:true,sm:true,md:true});return _jsx(View,Object.assign({className:"neko-dropdown"},props,{children:_jsx(Popover,Object.assign({useParentMinWidth:true,placement:placement||'bottomLeft',trigger:trigger,padding:0,contentProps:{padding:0},useBottomDrawer:useBottomDrawer},popoverProps,{renderContent:function renderContent(_ref2){var onClose=_ref2.onClose;var handleChange=function handleChange(){if(onChange)onChange.apply(void 0,arguments);onClose();};return _jsx(DrawerScrollView,{children:_jsx(Menu,{vertical:true,items:items,onChange:handleChange,linkPaddingH:useBottomDrawer?'md':'sm',linkMinHeight:useBottomDrawer?'xl':'md',withDivider:useBottomDrawer})});},children:children||_jsx(Link,{children:_jsx(IconLabel,Object.assign({label:label||'---',icon:icon||'arrow-down-s-fill',strong:strong,color:color,invert:true,gap:gap},iconLabelProps))})}))}));}
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/actions/Dropdown.js";var _excluded = ["items"],_excluded2 = ["onChange", "label", "trigger", "icon", "strong", "color", "popoverProps", "iconLabelProps", "children", "placement", "gap", "useBottomDrawer"];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 { DrawerScrollView } from "../modals";
4
+ import { IconLabel } from "../presentation/IconLabel";
5
+ import { Link } from "./Link";
6
+ import { Menu } from "./menu/Menu";
7
+ import { Popover } from "../structure/popover/Popover";
8
+ import { View } from "../structure/View";
9
+ import { useResponsiveValue } from "../../responsive";
10
+ import { useThemeComponentModifier } from "../../modifiers/themeComponent";import { jsx as _jsx } from "react/jsx-runtime";
11
+
12
+
13
+ export function Dropdown(_ref) {var _this = this;var items = _ref.items,rootProps = _objectWithoutProperties(_ref, _excluded);
14
+ var _pipe = pipe(
15
+ useThemeComponentModifier('Dropdown')
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+ )([{}, rootProps]),_pipe2 = _slicedToArray(_pipe, 2),_ = _pipe2[0],formattedProps = _pipe2[1];
26
+
27
+ var
28
+ onChange =
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+ formattedProps.onChange,label = formattedProps.label,_formattedProps$trigg = formattedProps.trigger,trigger = _formattedProps$trigg === void 0 ? 'click' : _formattedProps$trigg,icon = formattedProps.icon,strong = formattedProps.strong,color = formattedProps.color,popoverProps = formattedProps.popoverProps,iconLabelProps = formattedProps.iconLabelProps,children = formattedProps.children,placement = formattedProps.placement,gap = formattedProps.gap,useBottomDrawer = formattedProps.useBottomDrawer,props = _objectWithoutProperties(formattedProps, _excluded2);
42
+
43
+ useBottomDrawer = useResponsiveValue(useBottomDrawer || { native: true, sm: true, md: true });
44
+
45
+ return (
46
+ _jsx(View, Object.assign({ className: "neko-dropdown" }, props, { children:
47
+ _jsx(Popover, Object.assign({
48
+ useParentMinWidth: true,
49
+ placement: placement || 'bottomLeft',
50
+ trigger: trigger,
51
+ padding: 0,
52
+
53
+ contentProps: { padding: 0 },
54
+ useBottomDrawer: useBottomDrawer },
55
+ popoverProps, {
56
+ renderContent: function renderContent(_ref2) {var onClose = _ref2.onClose;
57
+ var handleChange = function handleChange() {
58
+ if (onChange) onChange.apply(void 0, arguments);
59
+ onClose();
60
+ };
61
+ return (
62
+ _jsx(DrawerScrollView, { children:
63
+ _jsx(Menu, {
64
+ vertical: true,
65
+ items: items,
66
+ onChange: handleChange,
67
+ linkPaddingH: useBottomDrawer ? 'md' : 'sm',
68
+ linkMinHeight: useBottomDrawer ? 'xl' : 'md',
69
+ withDivider: useBottomDrawer }
70
+ ) }
71
+ ));
72
+
73
+ }, children:
74
+
75
+ children ||
76
+ _jsx(Link, { children:
77
+ _jsx(IconLabel, Object.assign({
78
+ label: label || '---',
79
+ icon: icon || 'arrow-down-s-fill',
80
+ strong: strong,
81
+ color: color,
82
+ invert: true,
83
+ gap: gap },
84
+ iconLabelProps)
85
+ ) }
86
+ ) })
87
+
88
+ ) })
89
+ ));
90
+
91
+ }
@@ -1 +1,87 @@
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/actions/FloatingButton.js";var _excluded=["useSafeArea"],_excluded2=["icon","iconProps","size"];import{pipe}from'ramda';import{AbsTouchableOpacity}from"../../abstractions/TouchableOpacity";import{Icon}from"../presentation";import{Loading}from"../state";import{moveScale}from"../../theme/helpers/sizeScale";import{useBackgroundModifier}from"../../modifiers/background";import{useBorderModifier}from"../../modifiers/border";import{useColorConverter}from"../../modifiers/colorConverter";import{useCursorModifier}from"../../modifiers/cursor";import{useDefaultModifier}from"../../modifiers/default";import{useDisplayModifier}from"../../modifiers/display";import{useFlexModifier}from"../../modifiers/flex";import{useFlexWrapperModifier}from"../../modifiers/flexWrapper";import{useFullColorModifier}from"../../modifiers/fullColor";import{useHoverConverter}from"../../modifiers/hover";import{useMarginModifier}from"../../modifiers/margin";import{usePaddingModifier}from"../../modifiers/padding";import{usePositionModifier}from"../../modifiers/position";import{useSafeAreaInsets}from"../../abstractions/helpers/useSafeAreaInsets";import{useSizeConverter}from"../../modifiers/sizeConverter";import{useSizeModifier}from"../../modifiers/size";import{useStateModifier}from"../../modifiers/state";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx}from"react/jsx-runtime";var DEFAULT_PROPS=function DEFAULT_PROPS(_ref){var bottomInset=_ref.bottomInset;return function(_ref2){var _ref3=_slicedToArray(_ref2,2),sizeCode=_ref3[0].sizeCode,square=_ref3[1].square;sizeCode=moveScale(sizeCode,1);return{absolute:true,shadow:true,bottom:'md',marginB:bottomInset,right:'md',round:!square,ration:1,padding:'xxxs',height:sizeCode,width:sizeCode,br:sizeCode,border:1,center:true,pointer:true,hover:{opacity:0.7}};};};export function FloatingButton(_ref4){var _ref4$useSafeArea=_ref4.useSafeArea,useSafeArea=_ref4$useSafeArea===void 0?true:_ref4$useSafeArea,rootProps=_objectWithoutProperties(_ref4,_excluded);var insets=useSafeAreaInsets();var bottomInset=useSafeArea?insets.bottom:0;var _pipe=pipe(useColorConverter('primary'),useSizeConverter('elementHeights','md'),useThemeComponentModifier('FloatingButton'),useDefaultModifier(DEFAULT_PROPS({bottomInset:bottomInset})),useHoverConverter,useCursorModifier,useFullColorModifier,useDisplayModifier,useStateModifier,useSizeModifier,usePositionModifier,usePaddingModifier,useMarginModifier,useFlexModifier,useFlexWrapperModifier,useBackgroundModifier,useBorderModifier)([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_pipe2$=_pipe2[0],loading=_pipe2$.loading,fontColor=_pipe2$.fontColor,color=_pipe2$.color,sizeCode=_pipe2$.sizeCode,formattedProps=_pipe2[1];sizeCode=moveScale(sizeCode,1);var icon=formattedProps.icon,iconProps=formattedProps.iconProps,size=formattedProps.size,props=_objectWithoutProperties(formattedProps,_excluded2);var content=_jsx(Icon,Object.assign({flex:true,color:fontColor,size:sizeCode,name:icon,loading:loading},iconProps));if(loading)content=_jsx(Loading,{size:sizeCode,color:fontColor});return _jsx(AbsTouchableOpacity,Object.assign({className:"neko-floating-button neko-wave-click-effect",type:"button"},props,{children:content}));}
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/actions/FloatingButton.js";var _excluded = ["useSafeArea"],_excluded2 = ["icon", "iconProps", "size"];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
+
3
+ import { AbsTouchableOpacity } from "../../abstractions/TouchableOpacity";
4
+ import { Icon } from "../presentation";
5
+ import { Loading } from "../state";
6
+ import { moveScale } from "../../theme/helpers/sizeScale";
7
+ import { useBackgroundModifier } from "../../modifiers/background";
8
+ import { useBorderModifier } from "../../modifiers/border";
9
+ import { useColorConverter } from "../../modifiers/colorConverter";
10
+ import { useCursorModifier } from "../../modifiers/cursor";
11
+ import { useDefaultModifier } from "../../modifiers/default";
12
+ import { useDisplayModifier } from "../../modifiers/display";
13
+ import { useFlexModifier } from "../../modifiers/flex";
14
+ import { useFlexWrapperModifier } from "../../modifiers/flexWrapper";
15
+ import { useFullColorModifier } from "../../modifiers/fullColor";
16
+ import { useHoverConverter } from "../../modifiers/hover";
17
+ import { useMarginModifier } from "../../modifiers/margin";
18
+ import { usePaddingModifier } from "../../modifiers/padding";
19
+ import { usePositionModifier } from "../../modifiers/position";
20
+ import { useSafeAreaInsets } from "../../abstractions/helpers/useSafeAreaInsets";
21
+ import { useSizeConverter } from "../../modifiers/sizeConverter";
22
+ import { useSizeModifier } from "../../modifiers/size";
23
+ import { useStateModifier } from "../../modifiers/state";
24
+ import { useThemeComponentModifier } from "../../modifiers/themeComponent";import { jsx as _jsx } from "react/jsx-runtime";
25
+
26
+ var DEFAULT_PROPS =
27
+ function DEFAULT_PROPS(_ref) {var bottomInset = _ref.bottomInset;return (
28
+ function (_ref2) {var _ref3 = _slicedToArray(_ref2, 2),sizeCode = _ref3[0].sizeCode,square = _ref3[1].square;
29
+ sizeCode = moveScale(sizeCode, 1);
30
+
31
+ return {
32
+ absolute: true,
33
+ shadow: true,
34
+ bottom: 'md',
35
+ marginB: bottomInset,
36
+ right: 'md',
37
+ round: !square,
38
+ ration: 1,
39
+ padding: 'xxxs',
40
+ height: sizeCode,
41
+ width: sizeCode,
42
+ br: sizeCode,
43
+ border: 1,
44
+ center: true,
45
+ pointer: true,
46
+ hover: {
47
+ opacity: 0.7
48
+ }
49
+ };
50
+ });};
51
+
52
+ export function FloatingButton(_ref4) {var _ref4$useSafeArea = _ref4.useSafeArea,useSafeArea = _ref4$useSafeArea === void 0 ? true : _ref4$useSafeArea,rootProps = _objectWithoutProperties(_ref4, _excluded);
53
+ var insets = useSafeAreaInsets();
54
+ var bottomInset = useSafeArea ? insets.bottom : 0;
55
+
56
+ var _pipe = pipe(
57
+ useColorConverter('primary'),
58
+ useSizeConverter('elementHeights', 'md'),
59
+ useThemeComponentModifier('FloatingButton'),
60
+ useDefaultModifier(DEFAULT_PROPS({ bottomInset: bottomInset })),
61
+ useHoverConverter,
62
+ useCursorModifier,
63
+ useFullColorModifier,
64
+ useDisplayModifier,
65
+ useStateModifier,
66
+ useSizeModifier,
67
+ usePositionModifier,
68
+ usePaddingModifier,
69
+ useMarginModifier,
70
+ useFlexModifier,
71
+ useFlexWrapperModifier,
72
+ useBackgroundModifier,
73
+ useBorderModifier
74
+ )([{}, rootProps]),_pipe2 = _slicedToArray(_pipe, 2),_pipe2$ = _pipe2[0],loading = _pipe2$.loading,fontColor = _pipe2$.fontColor,color = _pipe2$.color,sizeCode = _pipe2$.sizeCode,formattedProps = _pipe2[1];
75
+ sizeCode = moveScale(sizeCode, 1);
76
+
77
+ var icon = formattedProps.icon,iconProps = formattedProps.iconProps,size = formattedProps.size,props = _objectWithoutProperties(formattedProps, _excluded2);
78
+
79
+ var content = _jsx(Icon, Object.assign({ flex: true, color: fontColor, size: sizeCode, name: icon, loading: loading }, iconProps));
80
+ if (loading) content = _jsx(Loading, { size: sizeCode, color: fontColor });
81
+
82
+ return (
83
+ _jsx(AbsTouchableOpacity, Object.assign({ className: "neko-floating-button neko-wave-click-effect", type: "button" }, props, { children:
84
+ content })
85
+ ));
86
+
87
+ }