@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,169 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/Picker.js";var _excluded=["option","onChange","value","renderOption","useRawOption","multiple","labelKey","valueKey"],_excluded2=["renderItem","options"],_excluded3=["renderItem","options","valueKey"],_excluded4=["value","initialValue","onChange","disabled","options","renderOption","colProps","useRawOption","useFlatList","multiple","valueKey","labelKey","Wrapper"];import{is}from'ramda';import React from'react';import{Col}from"../structure/Col";import{DrawerFlatList}from"../modals/bottomDrawer";import{LoadingView}from"../state/LoadingView";import{Row}from"../structure/Row";import{View}from"../structure";import{normalizeString}from"../../helpers/string";import{useOptions}from"../../helpers/options";import{jsx as _jsx}from"react/jsx-runtime";export function getOption(options,value){var config=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};if(!(options!=null&&options.length))return value;var option=options.find(function(option){return compareOptionsValues(option,value,config);});return option||value;}export function getOptionLabel(options,value){var config=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};if(!(options!=null&&options.length))return'';var labelKey=config.labelKey;var selectedOption=getOption(options,value,config);var label=(selectedOption==null?void 0:selectedOption[labelKey])||value;if(!is(String,label))return'';return label;}export function searchOptions(options,search){var config=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var labelKey=config.labelKey;if(!(options!=null&&options.length))return options;if(!search)return options;return options.filter(function(item){var _normalizeString;return(_normalizeString=normalizeString(item==null?void 0:item[labelKey]))==null?void 0:_normalizeString.includes(normalizeString(search));});}function isSelected(value,option){var config=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};return!!config.multiple?value==null?void 0:value.some==null?void 0:value.some(function(item){return compareOptionsValues(item,option,config);}):compareOptionsValues(value,option,config);}function compareOptionsValues(optionA,optionB){var config=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var valueKey=config.valueKey||'value';var valueA=(optionA==null?void 0:optionA[valueKey])||optionA;var valueB=(optionB==null?void 0:optionB[valueKey])||optionB;if(!valueA||!valueB)return false;return valueA===valueB;}function formatSingleChangeValue(option,value,_ref){var useRawOption=_ref.useRawOption,selected=_ref.selected,valueKey=_ref.valueKey;var selectedOption=option;var selectedValue=option[valueKey];if(!!useRawOption)selectedValue=option;if(selected){selectedOption=null;selectedValue=null;}return selectedValue;}function formatMultipleChangeValue(option,value,_ref2){var useRawOption=_ref2.useRawOption,selected=_ref2.selected,multiple=_ref2.multiple,valueKey=_ref2.valueKey;var selectedOption=option;var selectedValue=option[valueKey];value=_toConsumableArray(value||[]);if(!!useRawOption)selectedValue=option;if(selected){value=value.filter(function(item){return!isSelected(item,selectedOption,{multiple:multiple,valueKey:valueKey});});}else{value.push(selectedValue);}return value;}function PickerItem(_ref3){var option=_ref3.option,onChange=_ref3.onChange,value=_ref3.value,renderOption=_ref3.renderOption,useRawOption=_ref3.useRawOption,multiple=_ref3.multiple,labelKey=_ref3.labelKey,valueKey=_ref3.valueKey,props=_objectWithoutProperties(_ref3,_excluded);var selected=isSelected(value,option,{multiple:multiple,valueKey:valueKey});var handleChange=function handleChange(){var formatChangeValueFunc=multiple?formatMultipleChangeValue:formatSingleChangeValue;var formattedValue=formatChangeValueFunc(option,value,{selected:selected,useRawOption:useRawOption,valueKey:valueKey});onChange(formattedValue,option);};return _jsx(Col,Object.assign({},props,{children:renderOption({option:option,selected:selected,onChange:handleChange,valueKey:valueKey,labelKey:labelKey})}));}function DefaultPickerWrapper(_ref4){var renderItem=_ref4.renderItem,options=_ref4.options,props=_objectWithoutProperties(_ref4,_excluded2);return _jsx(Row,Object.assign({className:"neko-picker",gap:"md"},props,{children:options==null?void 0:options.map==null?void 0:options.map(function(option){return renderItem(option);})}));}function FlatListPickerWrapper(_ref5){var _renderItem=_ref5.renderItem,options=_ref5.options,valueKey=_ref5.valueKey,props=_objectWithoutProperties(_ref5,_excluded3);return _jsx(DrawerFlatList,Object.assign({keyExtractor:function keyExtractor(i){return i[valueKey];},data:options,divider:true,fullH:true,renderItem:function renderItem(_ref6){var option=_ref6.item;return _renderItem(option);}},props));}export function Picker(_ref7){var _this=this;var value=_ref7.value,initialValue=_ref7.initialValue,onChange=_ref7.onChange,disabled=_ref7.disabled,options=_ref7.options,renderOption=_ref7.renderOption,colProps=_ref7.colProps,useRawOption=_ref7.useRawOption,useFlatList=_ref7.useFlatList,multiple=_ref7.multiple,valueKey=_ref7.valueKey,labelKey=_ref7.labelKey,Wrapper=_ref7.Wrapper,rootProps=_objectWithoutProperties(_ref7,_excluded4);var _React$useState=React.useState(initialValue),_React$useState2=_slicedToArray(_React$useState,2),localValue=_React$useState2[0],setLocalValue=_React$useState2[1];value=value===undefined?localValue:value;onChange=onChange||setLocalValue;var _useOptions=useOptions(options,{}),finalOptions=_useOptions.options,isFirstLoad=_useOptions.isFirstLoad;var handleChange=function handleChange(v,option){if(!!disabled)return;setLocalValue(v);onChange==null?void 0:onChange(v,option);};valueKey=valueKey||'value';labelKey=labelKey||'label';if(!renderOption){console.error('Picker requires a renderOption prop');return false;}Wrapper=Wrapper||(useFlatList?FlatListPickerWrapper:DefaultPickerWrapper);return _jsx(LoadingView,{active:isFirstLoad,replaceChildren:true,children:_jsx(Wrapper,Object.assign({},rootProps,{valueKey:valueKey,options:finalOptions,renderItem:function renderItem(option){return _jsx(PickerItem,Object.assign({option:option,onChange:handleChange,value:value,renderOption:renderOption,useRawOption:useRawOption,multiple:multiple,valueKey:valueKey,labelKey:labelKey},colProps),option.value);}}))});}
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/Picker.js";var _excluded = ["option", "onChange", "value", "renderOption", "useRawOption", "multiple", "labelKey", "valueKey"],_excluded2 = ["renderItem", "options"],_excluded3 = ["renderItem", "options", "valueKey"],_excluded4 = ["value", "initialValue", "onChange", "disabled", "options", "renderOption", "colProps", "useRawOption", "useFlatList", "multiple", "valueKey", "labelKey", "Wrapper"];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 _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;}function _toConsumableArray(r) {return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();}function _nonIterableSpread() {throw new TypeError("Invalid attempt to spread 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 _iterableToArray(r) {if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);}function _arrayWithoutHoles(r) {if (Array.isArray(r)) return _arrayLikeToArray(r);}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;}import { is } from 'ramda';
2
+ import React from 'react';
3
+
4
+ import { Col } from "../structure/Col";
5
+ import { DrawerFlatList } from "../modals/bottomDrawer";
6
+ import { LoadingView } from "../state/LoadingView";
7
+ import { Row } from "../structure/Row";
8
+ import { View } from "../structure";
9
+ import { normalizeString } from "../../helpers/string";
10
+ import { useOptions } from "../../helpers/options";import { jsx as _jsx } from "react/jsx-runtime";
11
+
12
+ export function getOption(options, value) {var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
13
+ if (!Array.isArray(options) || !options.length) return value;
14
+ var option = options.find(function (option) {return compareOptionsValues(option, value, config);});
15
+ return option || value;
16
+ }
17
+
18
+ export function getOptionLabel(options, value) {var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
19
+ if (!Array.isArray(options) || !options.length) return '';
20
+ var labelKey = config.labelKey;
21
+ var selectedOption = getOption(options, value, config);
22
+ var label = (selectedOption == null ? void 0 : selectedOption[labelKey]) || value;
23
+ if (!is(String, label)) return '';
24
+ return label;
25
+ }
26
+
27
+ export function searchOptions(options, search) {var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
28
+ var labelKey = config.labelKey;
29
+ if (!(options != null && options.length)) return options;
30
+ if (!search) return options;
31
+ return options.filter(function (item) {var _normalizeString;return (_normalizeString = normalizeString(item == null ? void 0 : item[labelKey])) == null ? void 0 : _normalizeString.includes(normalizeString(search));});
32
+ }
33
+
34
+ function isSelected(value, option) {var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
35
+ return !!config.multiple ?
36
+ value == null ? void 0 : value.some == null ? void 0 : value.some(function (item) {return compareOptionsValues(item, option, config);}) :
37
+ compareOptionsValues(value, option, config);
38
+ }
39
+
40
+ function compareOptionsValues(optionA, optionB) {var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
41
+ var valueKey = config.valueKey || 'value';
42
+ var valueA = (optionA == null ? void 0 : optionA[valueKey]) || optionA;
43
+ var valueB = (optionB == null ? void 0 : optionB[valueKey]) || optionB;
44
+
45
+ if (!valueA || !valueB) return false;
46
+
47
+ return valueA === valueB;
48
+ }
49
+
50
+ function formatSingleChangeValue(option, value, _ref) {var useRawOption = _ref.useRawOption,selected = _ref.selected,valueKey = _ref.valueKey;
51
+ var selectedOption = option;
52
+ var selectedValue = option[valueKey];
53
+ if (!!useRawOption) selectedValue = option;
54
+ if (selected) {
55
+ selectedOption = null;
56
+ selectedValue = null;
57
+ }
58
+
59
+ return selectedValue;
60
+ }
61
+
62
+ function formatMultipleChangeValue(option, value, _ref2) {var useRawOption = _ref2.useRawOption,selected = _ref2.selected,multiple = _ref2.multiple,valueKey = _ref2.valueKey;
63
+ var selectedOption = option;
64
+ var selectedValue = option[valueKey];
65
+ value = _toConsumableArray(value || []);
66
+ if (!!useRawOption) selectedValue = option;
67
+ if (selected) {
68
+ value = value.filter(function (item) {return !isSelected(item, selectedOption, { multiple: multiple, valueKey: valueKey });});
69
+ } else {
70
+ value.push(selectedValue);
71
+ }
72
+
73
+ return value;
74
+ }
75
+
76
+ function PickerItem(_ref3) {var option = _ref3.option,onChange = _ref3.onChange,value = _ref3.value,renderOption = _ref3.renderOption,useRawOption = _ref3.useRawOption,multiple = _ref3.multiple,labelKey = _ref3.labelKey,valueKey = _ref3.valueKey,props = _objectWithoutProperties(_ref3, _excluded);
77
+ var selected = isSelected(value, option, { multiple: multiple, valueKey: valueKey });
78
+
79
+ var handleChange = function handleChange() {
80
+ var formatChangeValueFunc = multiple ? formatMultipleChangeValue : formatSingleChangeValue;
81
+ var formattedValue = formatChangeValueFunc(option, value, { selected: selected, useRawOption: useRawOption, valueKey: valueKey });
82
+ onChange(formattedValue, option);
83
+ };
84
+
85
+ return _jsx(Col, Object.assign({}, props, { children: renderOption({ option: option, selected: selected, onChange: handleChange, valueKey: valueKey, labelKey: labelKey }) }));
86
+ }
87
+
88
+ function DefaultPickerWrapper(_ref4) {var renderItem = _ref4.renderItem,options = _ref4.options,props = _objectWithoutProperties(_ref4, _excluded2);
89
+ return (
90
+ _jsx(Row, Object.assign({ className: "neko-picker", gap: "md" }, props, { children:
91
+ options == null ? void 0 : options.map == null ? void 0 : options.map(function (option) {return renderItem(option);}) })
92
+ ));
93
+
94
+ }
95
+
96
+ function FlatListPickerWrapper(_ref5) {var _renderItem = _ref5.renderItem,options = _ref5.options,valueKey = _ref5.valueKey,props = _objectWithoutProperties(_ref5, _excluded3);
97
+ return (
98
+ _jsx(DrawerFlatList, Object.assign({
99
+ keyExtractor: function keyExtractor(i) {return i[valueKey];},
100
+ data: options,
101
+ divider: true,
102
+ fullH: true,
103
+ renderItem: function renderItem(_ref6) {var option = _ref6.item;return _renderItem(option);} },
104
+ props)
105
+ ));
106
+
107
+ }
108
+
109
+ export function Picker(_ref7)
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+ {var _this = this;var value = _ref7.value,initialValue = _ref7.initialValue,onChange = _ref7.onChange,disabled = _ref7.disabled,options = _ref7.options,renderOption = _ref7.renderOption,colProps = _ref7.colProps,useRawOption = _ref7.useRawOption,useFlatList = _ref7.useFlatList,multiple = _ref7.multiple,valueKey = _ref7.valueKey,labelKey = _ref7.labelKey,Wrapper = _ref7.Wrapper,rootProps = _objectWithoutProperties(_ref7, _excluded4);
125
+ var _React$useState = React.useState(initialValue),_React$useState2 = _slicedToArray(_React$useState, 2),localValue = _React$useState2[0],setLocalValue = _React$useState2[1];
126
+ value = value === undefined ? localValue : value;
127
+ onChange = onChange || setLocalValue;
128
+ var _useOptions = useOptions(options, {}),finalOptions = _useOptions.options,isFirstLoad = _useOptions.isFirstLoad;
129
+
130
+ var handleChange = function handleChange(v, option) {
131
+ if (!!disabled) return;
132
+ setLocalValue(v);
133
+ onChange == null ? void 0 : onChange(v, option);
134
+ };
135
+
136
+ valueKey = valueKey || 'value';
137
+ labelKey = labelKey || 'label';
138
+
139
+ if (!renderOption) {
140
+ console.error('Picker requires a renderOption prop');
141
+ return false;
142
+ }
143
+
144
+ Wrapper = Wrapper || (useFlatList ? FlatListPickerWrapper : DefaultPickerWrapper);
145
+
146
+ return (
147
+ _jsx(LoadingView, { active: isFirstLoad, replaceChildren: true, children:
148
+ _jsx(Wrapper, Object.assign({},
149
+ rootProps, {
150
+ valueKey: valueKey,
151
+ options: finalOptions,
152
+ renderItem: function renderItem(option) {return (
153
+ _jsx(PickerItem, Object.assign({
154
+
155
+ option: option,
156
+ onChange: handleChange,
157
+ value: value,
158
+ renderOption: renderOption,
159
+ useRawOption: useRawOption,
160
+ multiple: multiple,
161
+ valueKey: valueKey,
162
+ labelKey: labelKey },
163
+ colProps), option.value
164
+ ));} })
165
+
166
+ ) }
167
+ ));
168
+
169
+ }
@@ -1 +1,55 @@
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/inputs/Radio.js";var _excluded=["value","onChange","disabled","initialValue"],_excluded2=["radioProps"],_excluded3=["option","selected","onChange","labelKey"];import{pipe}from'ramda';import React from'react';import{AbsHiddenInput}from"../../abstractions/HiddenInput";import{ContentLabel}from"../presentation/ContentLabel";import{Link}from"../actions/Link";import{Picker}from"./Picker";import{View}from"../structure/View";import{useColorConverter}from"../../modifiers/colorConverter";import{useSizeConverter}from"../../modifiers/sizeConverter";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function Radio(_ref){var value=_ref.value,onChange=_ref.onChange,disabled=_ref.disabled,initialValue=_ref.initialValue,rootProps=_objectWithoutProperties(_ref,_excluded);var _pipe=pipe(useColorConverter('primary'),useSizeConverter('elementHeights','md'),useThemeComponentModifier('Radio'))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_pipe2$=_pipe2[0],size=_pipe2$.size,sizeCode=_pipe2$.sizeCode,color=_pipe2$.color,props=_pipe2[1];var _React$useState=React.useState(initialValue),_React$useState2=_slicedToArray(_React$useState,2),localValue=_React$useState2[0],setLocalValue=_React$useState2[1];value=value===undefined?localValue:value;var toggle=function toggle(){if(!!disabled)return;setLocalValue(!value);onChange==null?void 0:onChange(!value);};return _jsxs(Link,{onPress:toggle,className:"neko-radio",disabled:disabled,children:[_jsx(AbsHiddenInput,{checked:value,onChange:toggle,type:"radio",disabled:disabled}),_jsx(ContentLabel,Object.assign({size:sizeCode,gap:8,content:_jsx(View,{height:size*0.65,ratio:1,border:2,padding:2,borderColor:color,br:size,center:true,children:!!value&&_jsx(View,{bg:color,br:size,flex:true,fullW:true,fullH:true})})},props))]});}export function RadioGroup(_ref2){var _this=this;var radioProps=_ref2.radioProps,props=_objectWithoutProperties(_ref2,_excluded2);return _jsx(Picker,Object.assign({},props,{renderOption:function renderOption(_ref3){var option=_ref3.option,selected=_ref3.selected,onChange=_ref3.onChange,labelKey=_ref3.labelKey,props=_objectWithoutProperties(_ref3,_excluded3);return _jsx(Radio,Object.assign({label:option[labelKey],value:selected,onChange:onChange},props,radioProps));}}));}
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/Radio.js";var _excluded = ["value", "onChange", "disabled", "initialValue"],_excluded2 = ["radioProps"],_excluded3 = ["option", "selected", "onChange", "labelKey"];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 { AbsHiddenInput } from "../../abstractions/HiddenInput";
5
+ import { ContentLabel } from "../presentation/ContentLabel";
6
+ import { Link } from "../actions/Link";
7
+ import { Picker } from "./Picker";
8
+ import { View } from "../structure/View";
9
+ import { useColorConverter } from "../../modifiers/colorConverter";
10
+ import { useSizeConverter } from "../../modifiers/sizeConverter";
11
+ import { useThemeComponentModifier } from "../../modifiers/themeComponent";import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
+
13
+ export function Radio(_ref) {var value = _ref.value,onChange = _ref.onChange,disabled = _ref.disabled,initialValue = _ref.initialValue,rootProps = _objectWithoutProperties(_ref, _excluded);
14
+ var _pipe = pipe(
15
+ useColorConverter('primary'),
16
+ useSizeConverter('elementHeights', 'md'),
17
+ useThemeComponentModifier('Radio')
18
+ )([{}, rootProps]),_pipe2 = _slicedToArray(_pipe, 2),_pipe2$ = _pipe2[0],size = _pipe2$.size,sizeCode = _pipe2$.sizeCode,color = _pipe2$.color,props = _pipe2[1];
19
+
20
+ var _React$useState = React.useState(initialValue),_React$useState2 = _slicedToArray(_React$useState, 2),localValue = _React$useState2[0],setLocalValue = _React$useState2[1];
21
+ value = value === undefined ? localValue : value;
22
+
23
+ var toggle = function toggle() {
24
+ if (!!disabled) return;
25
+ setLocalValue(!value);
26
+ onChange == null ? void 0 : onChange(!value);
27
+ };
28
+
29
+ return (
30
+ _jsxs(Link, { onPress: toggle, className: "neko-radio", disabled: disabled, children: [
31
+ _jsx(AbsHiddenInput, { checked: value, onChange: toggle, type: "radio", disabled: disabled }),
32
+ _jsx(ContentLabel, Object.assign({
33
+ size: sizeCode,
34
+ gap: 8,
35
+ content:
36
+ _jsx(View, { height: size * 0.65, ratio: 1, border: 2, padding: 2, borderColor: color, br: size, center: true, children:
37
+ !!value && _jsx(View, { bg: color, br: size, flex: true, fullW: true, fullH: true }) }
38
+ ) },
39
+
40
+ props)
41
+ )] }
42
+ ));
43
+
44
+ }
45
+
46
+ export function RadioGroup(_ref2) {var _this = this;var radioProps = _ref2.radioProps,props = _objectWithoutProperties(_ref2, _excluded2);
47
+ return (
48
+ _jsx(Picker, Object.assign({},
49
+ props, {
50
+ renderOption: function renderOption(_ref3) {var option = _ref3.option,selected = _ref3.selected,onChange = _ref3.onChange,labelKey = _ref3.labelKey,props = _objectWithoutProperties(_ref3, _excluded3);return (
51
+ _jsx(Radio, Object.assign({ label: option[labelKey], value: selected, onChange: onChange }, props, radioProps)));} })
52
+
53
+ ));
54
+
55
+ }
@@ -1 +1,62 @@
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/inputs/RateInput.js";var _excluded=["value","onChange","disabled","loading"],_excluded2=["icon","max","inactiveColor"];import{pipe,range,is}from'ramda';import React from'react';import{Icon}from"../presentation";import{Link}from"../actions/Link";import{LoadingView}from"../state";import{View}from"../structure/View";import{moveScale}from"../../theme/helpers/sizeScale";import{useColorConverter}from"../../modifiers/colorConverter";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={color:'primary',inactiveColor:'text4_op50',max:5,icon:'star-fill'};export function RateInput(_ref){var _this=this;var value=_ref.value,onChange=_ref.onChange,disabled=_ref.disabled,loading=_ref.loading,rootProps=_objectWithoutProperties(_ref,_excluded);var _pipe=pipe(useColorConverter('primary'),useSizeConverter('icons','md'),useThemeComponentModifier('RateInput'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_pipe2$=_pipe2[0],size=_pipe2$.size,sizeCode=_pipe2$.sizeCode,color=_pipe2$.color,formattedProps=_pipe2[1];var _React$useState=React.useState(value),_React$useState2=_slicedToArray(_React$useState,2),localValue=_React$useState2[0],setLocalValue=_React$useState2[1];React.useEffect(function(){return setLocalValue(value);},[value]);var icon=formattedProps.icon,max=formattedProps.max,inactiveColor=formattedProps.inactiveColor,props=_objectWithoutProperties(formattedProps,_excluded2);var handleChange=function handleChange(v){if(!!disabled)return;var newValue=v===localValue?null:v;setLocalValue(newValue);onChange==null?void 0:onChange(newValue);};return _jsx(LoadingView,{active:loading,width:"fit-content",children:_jsx(View,Object.assign({className:"neko-rate-input",row:true,gap:"xs",centerV:true,minHeight:sizeCode},props,{children:range(1,max+1).map(function(i){var active=localValue>=i;var finalIcon=icon;if(is(Function,icon))finalIcon=icon==null?void 0:icon({value:localValue,optionValue:i,active:active});var finalColor=color;if(is(Function,color))finalColor=color==null?void 0:color({value:localValue,optionValue:i,active:active});return _jsx(Link,{onPress:function onPress(){return handleChange(i);},disabled:disabled,center:true,children:_jsx(Icon,{name:finalIcon,size:moveScale(sizeCode,1),color:active?finalColor:inactiveColor})},i);})}))});}
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/RateInput.js";var _excluded = ["value", "onChange", "disabled", "loading"],_excluded2 = ["icon", "max", "inactiveColor"];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, range, is } from 'ramda';
2
+ import React from 'react';
3
+
4
+ import { Icon } from "../presentation";
5
+ import { Link } from "../actions/Link";
6
+ import { LoadingView } from "../state";
7
+ import { View } from "../structure/View";
8
+ import { moveScale } from "../../theme/helpers/sizeScale";
9
+ import { useColorConverter } from "../../modifiers/colorConverter";
10
+ import { useDefaultModifier } from "../../modifiers/default";
11
+ import { useSizeConverter } from "../../modifiers/sizeConverter";
12
+ import { useThemeComponentModifier } from "../../modifiers/themeComponent";import { jsx as _jsx } from "react/jsx-runtime";
13
+
14
+ var DEFAULT_PROPS = {
15
+ color: 'primary',
16
+ inactiveColor: 'text4_op50',
17
+ max: 5,
18
+ icon: 'star-fill'
19
+ };
20
+
21
+ export function RateInput(_ref) {var _this = this;var value = _ref.value,onChange = _ref.onChange,disabled = _ref.disabled,loading = _ref.loading,rootProps = _objectWithoutProperties(_ref, _excluded);
22
+ var _pipe = pipe(
23
+ useColorConverter('primary'),
24
+ useSizeConverter('icons', 'md'),
25
+ useThemeComponentModifier('RateInput'),
26
+ useDefaultModifier(DEFAULT_PROPS)
27
+ )([{}, rootProps]),_pipe2 = _slicedToArray(_pipe, 2),_pipe2$ = _pipe2[0],size = _pipe2$.size,sizeCode = _pipe2$.sizeCode,color = _pipe2$.color,formattedProps = _pipe2[1];
28
+
29
+ var _React$useState = React.useState(value),_React$useState2 = _slicedToArray(_React$useState, 2),localValue = _React$useState2[0],setLocalValue = _React$useState2[1];
30
+ React.useEffect(function () {return setLocalValue(value);}, [value]);
31
+
32
+ var icon = formattedProps.icon,max = formattedProps.max,inactiveColor = formattedProps.inactiveColor,props = _objectWithoutProperties(formattedProps, _excluded2);
33
+
34
+ var handleChange = function handleChange(v) {
35
+ if (!!disabled) return;
36
+ var newValue = v === localValue ? null : v;
37
+ setLocalValue(newValue);
38
+ onChange == null ? void 0 : onChange(newValue);
39
+ };
40
+
41
+ return (
42
+ _jsx(LoadingView, { active: loading, width: "fit-content", children:
43
+ _jsx(View, Object.assign({ className: "neko-rate-input", row: true, gap: "xs", centerV: true, minHeight: sizeCode }, props, { children:
44
+ range(1, max + 1).map(function (i) {
45
+ var active = localValue >= i;
46
+
47
+ var finalIcon = icon;
48
+ if (is(Function, icon)) finalIcon = icon == null ? void 0 : icon({ value: localValue, optionValue: i, active: active });
49
+
50
+ var finalColor = color;
51
+ if (is(Function, color)) finalColor = color == null ? void 0 : color({ value: localValue, optionValue: i, active: active });
52
+
53
+ return (
54
+ _jsx(Link, { onPress: function onPress() {return handleChange(i);}, disabled: disabled, center: true, children:
55
+ _jsx(Icon, { name: finalIcon, size: moveScale(sizeCode, 1), color: active ? finalColor : inactiveColor }) }, i
56
+ ));
57
+
58
+ }) })
59
+ ) }
60
+ ));
61
+
62
+ }
@@ -1 +1,62 @@
1
- import _objectDestructuringEmpty from"@babel/runtime/helpers/objectDestructuringEmpty";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/inputs/SegmentedPicker.js";var _excluded=["renderItem","options"],_excluded2=["buttonProps","color"],_excluded3=["option","selected","onChange","labelKey"];import{pipe}from'ramda';import{Button}from"../actions";import{Picker}from"./Picker";import{View}from"../structure";import{moveScale}from"../../theme/helpers/sizeScale";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{gap:1,br:sizeCode,minHeight:sizeCode,bg:'overlayBG',padding:2,wrap:false,row:true,border:true,buttonProps:{fullH:true,size:sizeCode}};};function PickerWrapper(_ref3){var renderItem=_ref3.renderItem,options=_ref3.options,props=_objectWithoutProperties(_ref3,_excluded);return _jsx(View,{row:true,children:_jsx(View,Object.assign({},props,{children:options==null?void 0:options.map==null?void 0:options.map(function(option){return renderItem(option);})}))});}export function SegmentedPicker(_ref4){var _this=this;var rootProps=Object.assign({},(_objectDestructuringEmpty(_ref4),_ref4));var _pipe=pipe(useSizeConverter('elementHeights','md'),useThemeComponentModifier('SegmentPicker'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),sizeCode=_pipe2[0].sizeCode,formattedProps=_pipe2[1];var buttonProps=formattedProps.buttonProps,color=formattedProps.color,props=_objectWithoutProperties(formattedProps,_excluded2);return _jsx(Picker,Object.assign({className:"neko-segmented-picker",Wrapper:PickerWrapper},props,{renderOption:function renderOption(_ref5){var option=_ref5.option,selected=_ref5.selected,onChange=_ref5.onChange,labelKey=_ref5.labelKey,props=_objectWithoutProperties(_ref5,_excluded3);return _jsx(Button,Object.assign({label:option[labelKey],onPress:onChange,color:selected?color||'primary':(rootProps==null?void 0:rootProps.bg)||'overlayBG',round:rootProps==null?void 0:rootProps.round,textProps:{strong:selected},opacity:!selected&&0.8},option,buttonProps));}}));}
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/inputs/SegmentedPicker.js";var _excluded = ["renderItem", "options"],_excluded2 = ["buttonProps", "color"],_excluded3 = ["option", "selected", "onChange", "labelKey"];function _objectDestructuringEmpty(t) {if (null == t) throw new TypeError("Cannot destructure " + t);}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 { Button } from "../actions";
4
+ import { Picker } from "./Picker";
5
+ import { View } from "../structure";
6
+ import { moveScale } from "../../theme/helpers/sizeScale";
7
+ import { useDefaultModifier } from "../../modifiers/default";
8
+ import { useSizeConverter } from "../../modifiers/sizeConverter";
9
+ import { useThemeComponentModifier } from "../../modifiers/themeComponent";import { jsx as _jsx } from "react/jsx-runtime";
10
+
11
+ var DEFAULT_PROPS = function DEFAULT_PROPS(_ref) {var _ref2 = _slicedToArray(_ref, 1),sizeCode = _ref2[0].sizeCode;return {
12
+ gap: 1,
13
+ br: sizeCode,
14
+ minHeight: sizeCode,
15
+ bg: 'overlayBG',
16
+ padding: 2,
17
+ wrap: false,
18
+ row: true,
19
+ border: true,
20
+ buttonProps: {
21
+ fullH: true,
22
+ size: sizeCode
23
+ }
24
+ };};
25
+
26
+ function PickerWrapper(_ref3) {var renderItem = _ref3.renderItem,options = _ref3.options,props = _objectWithoutProperties(_ref3, _excluded);
27
+ return (
28
+ _jsx(View, { row: true, children:
29
+ _jsx(View, Object.assign({}, props, { children: options == null ? void 0 : options.map == null ? void 0 : options.map(function (option) {return renderItem(option);}) })) }
30
+ ));
31
+
32
+ }
33
+
34
+ export function SegmentedPicker(_ref4) {var _this = this;var rootProps = Object.assign({}, (_objectDestructuringEmpty(_ref4), _ref4));
35
+ var _pipe = pipe(
36
+ useSizeConverter('elementHeights', 'md'),
37
+ useThemeComponentModifier('SegmentPicker'),
38
+ useDefaultModifier(DEFAULT_PROPS)
39
+ )([{}, rootProps]),_pipe2 = _slicedToArray(_pipe, 2),sizeCode = _pipe2[0].sizeCode,formattedProps = _pipe2[1];
40
+
41
+ var buttonProps = formattedProps.buttonProps,color = formattedProps.color,props = _objectWithoutProperties(formattedProps, _excluded2);
42
+
43
+ return (
44
+ _jsx(Picker, Object.assign({
45
+ className: "neko-segmented-picker",
46
+ Wrapper: PickerWrapper },
47
+ props, {
48
+ renderOption: function renderOption(_ref5) {var option = _ref5.option,selected = _ref5.selected,onChange = _ref5.onChange,labelKey = _ref5.labelKey,props = _objectWithoutProperties(_ref5, _excluded3);return (
49
+ _jsx(Button, Object.assign({
50
+ label: option[labelKey],
51
+ onPress: onChange,
52
+ color: selected ? color || 'primary' : (rootProps == null ? void 0 : rootProps.bg) || 'overlayBG',
53
+ round: rootProps == null ? void 0 : rootProps.round,
54
+ textProps: { strong: selected },
55
+ opacity: !selected && 0.8 },
56
+ option,
57
+ buttonProps)
58
+ ));} })
59
+
60
+ ));
61
+
62
+ }