@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,50 @@
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/modals/modal/ModalHeader.js";var _excluded=["onClose","title","children"],_excluded2=["titleProps"];import{pipe}from'ramda';import{Icon}from"../../presentation/Icon";import{Link}from"../../actions/Link";import{Text}from"../../text/Text";import{View}from"../../structure/View";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,jsxs as _jsxs}from"react/jsx-runtime";var DEFAULT_PROPS=function DEFAULT_PROPS(_ref){var _ref2=_slicedToArray(_ref,2),sizeCode=_ref2[0].sizeCode,_=_ref2[1];return{centerV:true,paddingH:sizeCode,paddingV:moveScale(sizeCode,-2),minHeight:moveScale(sizeCode,1),gap:'md',borderB:true,justify:'space-between',titleProps:{strong:true}};};export function ModalHeader(_ref3){var onClose=_ref3.onClose,title=_ref3.title,children=_ref3.children,rootProps=_objectWithoutProperties(_ref3,_excluded);var _pipe=pipe(useSizeConverter('elementHeights','md'),useThemeComponentModifier('ModalHeader'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2);_objectDestructuringEmpty(_pipe2[0]);var formattedProps=_pipe2[1];var titleProps=formattedProps.titleProps,props=_objectWithoutProperties(formattedProps,_excluded2);if(!title&&!children)return false;return _jsxs(View,Object.assign({className:"neko-modal-header"},props,{row:true,children:[title&&_jsx(Text,Object.assign({},titleProps,{children:title})),children,!!onClose&&_jsx(Link,{onPress:onClose,padding:"sm",marginR:-10,children:_jsx(Icon,{name:"close-line"})})]}));}
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/modals/modal/ModalHeader.js";var _excluded = ["onClose", "title", "children"],_excluded2 = ["titleProps"];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 { Icon } from "../../presentation/Icon";
4
+ import { Link } from "../../actions/Link";
5
+ import { Text } from "../../text/Text";
6
+ import { View } from "../../structure/View";
7
+ import { moveScale } from "../../../theme/helpers/sizeScale";
8
+ import { useDefaultModifier } from "../../../modifiers/default";
9
+ import { useSizeConverter } from "../../../modifiers/sizeConverter";
10
+ import { useThemeComponentModifier } from "../../../modifiers/themeComponent";import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+
12
+ var DEFAULT_PROPS = function DEFAULT_PROPS(_ref) {var _ref2 = _slicedToArray(_ref, 2),sizeCode = _ref2[0].sizeCode,_ = _ref2[1];return {
13
+ centerV: true,
14
+ paddingH: sizeCode,
15
+ paddingV: moveScale(sizeCode, -2),
16
+ minHeight: moveScale(sizeCode, 1),
17
+ gap: 'md',
18
+ borderB: true,
19
+ justify: 'space-between',
20
+
21
+ titleProps: {
22
+ strong: true
23
+ }
24
+ };};
25
+
26
+ export function ModalHeader(_ref3) {var onClose = _ref3.onClose,title = _ref3.title,children = _ref3.children,rootProps = _objectWithoutProperties(_ref3, _excluded);
27
+ var _pipe = pipe(
28
+ useSizeConverter('elementHeights', 'md'),
29
+ useThemeComponentModifier('ModalHeader'),
30
+ useDefaultModifier(DEFAULT_PROPS)
31
+ )([{}, rootProps]),_pipe2 = _slicedToArray(_pipe, 2);_objectDestructuringEmpty(_pipe2[0]);var formattedProps = _pipe2[1];
32
+
33
+ var titleProps = formattedProps.titleProps,props = _objectWithoutProperties(formattedProps, _excluded2);
34
+
35
+ if (!title && !children) return false;
36
+
37
+ return (
38
+ _jsxs(View, Object.assign({ className: "neko-modal-header" }, props, { row: true, children: [
39
+ title && _jsx(Text, Object.assign({}, titleProps, { children: title })),
40
+
41
+ children,
42
+
43
+ !!onClose &&
44
+ _jsx(Link, { onPress: onClose, padding: "sm", marginR: -10, children:
45
+ _jsx(Icon, { name: "close-line" }) }
46
+ )] })
47
+
48
+ ));
49
+
50
+ }
@@ -1 +1,61 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var _excluded=["key","content"];var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/modals/modal/handler/ModalsHandler.js";import React from'react';import{Modal}from"../Modal";import{useResponsiveValue}from"../../../../responsive/responsiveHooks";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";var ModalsContext=React.createContext(null);export var useModals=function useModals(){return React.useContext(ModalsContext)||{};};var idCounter=0;export function useModalOpener(){var _useModals=useModals(),add=_useModals.add,remove=_useModals.remove,close=_useModals.close;var open=function open(init){var key=++idCounter;var onClose=function onClose(){return close(key);};var params={onClose:onClose,key:key};var data=init(params);add(key,Object.assign({onClose:onClose},data,{open:true}));return params;};return{open:open};}export function ModalsHandler(_ref){var _this=this;var children=_ref.children;var width=useResponsiveValue({sm:'100%',df:400});var _React$useState=React.useState([]),_React$useState2=_slicedToArray(_React$useState,2),modals=_React$useState2[0],setModals=_React$useState2[1];var add=React.useCallback(function(key,data){setModals(function(prev){return[].concat(_toConsumableArray(prev),[Object.assign({key:key},data)]);});},[]);var remove=React.useCallback(function(key){setModals(function(prev){return prev.filter(function(p){return p.key!==key;});});},[]);var close=React.useCallback(function(key){setModals(function(items){return items.map(function(i){return i.key===key?Object.assign({},i,{open:false}):i;});});setTimeout(function(){return remove(key);},600);},[]);var value=React.useMemo(function(){return{add:add,remove:remove,close:close};},[add,remove,close]);return _jsxs(ModalsContext.Provider,{value:value,children:[children,modals==null?void 0:modals.map==null?void 0:modals.map(function(_ref2){var key=_ref2.key,content=_ref2.content,item=_objectWithoutProperties(_ref2,_excluded);return _jsx(Modal,Object.assign({},item,{children:content}),key);})]});}
1
+ var _excluded = ["key", "content"];var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/modals/modal/handler/ModalsHandler.js";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 _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 _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
+ import { Modal } from "../Modal";
4
+ import { useResponsiveValue } from "../../../../responsive/responsiveHooks";import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+
6
+ var ModalsContext = React.createContext(null);
7
+
8
+ export var useModals = function useModals() {return React.useContext(ModalsContext) || {};};
9
+
10
+ var idCounter = 0;
11
+
12
+ export function useModalOpener() {
13
+ var _useModals = useModals(),add = _useModals.add,remove = _useModals.remove,close = _useModals.close;
14
+ var open = function open(init) {
15
+ var key = ++idCounter;
16
+
17
+ var onClose = function onClose() {return close(key);};
18
+ var params = { onClose: onClose, key: key };
19
+
20
+ var data = init(params);
21
+
22
+ add(key, Object.assign({ onClose: onClose }, data, { open: true }));
23
+ return params;
24
+ };
25
+
26
+ return {
27
+ open: open
28
+ };
29
+ }
30
+
31
+ export function ModalsHandler(_ref) {var _this = this;var children = _ref.children;
32
+ var width = useResponsiveValue({ sm: '100%', df: 400 });
33
+ var _React$useState = React.useState([]),_React$useState2 = _slicedToArray(_React$useState, 2),modals = _React$useState2[0],setModals = _React$useState2[1];
34
+
35
+ var add = React.useCallback(function (key, data) {
36
+ setModals(function (prev) {return [].concat(_toConsumableArray(prev), [Object.assign({ key: key }, data)]);});
37
+ }, []);
38
+
39
+ var remove = React.useCallback(function (key) {
40
+ setModals(function (prev) {return prev.filter(function (p) {return p.key !== key;});});
41
+ }, []);
42
+
43
+ var close = React.useCallback(function (key) {
44
+ setModals(function (items) {return items.map(function (i) {return i.key === key ? Object.assign({}, i, { open: false }) : i;});});
45
+ setTimeout(function () {return remove(key);}, 600);
46
+ }, []);
47
+
48
+ var value = React.useMemo(function () {return { add: add, remove: remove, close: close };}, [add, remove, close]);
49
+
50
+ return (
51
+ _jsxs(ModalsContext.Provider, { value: value, children: [
52
+ children,
53
+
54
+ modals == null ? void 0 : modals.map == null ? void 0 : modals.map(function (_ref2) {var key = _ref2.key,content = _ref2.content,item = _objectWithoutProperties(_ref2, _excluded);return (
55
+ _jsx(Modal, Object.assign({}, item, { children:
56
+ content }), key
57
+ ));}
58
+ )] }
59
+ ));
60
+
61
+ }
@@ -1 +1,6 @@
1
- export*from"./handler/ModalsHandler";export*from"./Modal";export*from"./ModalContent";export*from"./ModalHeader";export*from"./ModalFooter";export*from"./ModalBackdrop";
1
+ export * from "./handler/ModalsHandler";
2
+ export * from "./Modal";
3
+ export * from "./ModalContent";
4
+ export * from "./ModalHeader";
5
+ export * from "./ModalFooter";
6
+ export * from "./ModalBackdrop";
@@ -1 +1,15 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["name","component","type"];import{useEffect}from'react';import{useModalsRouterContext}from"./ModalsRouterContext";export function ModalRoute(_ref){var name=_ref.name,component=_ref.component,_ref$type=_ref.type,type=_ref$type===void 0?'modal':_ref$type,containerProps=_objectWithoutProperties(_ref,_excluded);var _useModalsRouterConte=useModalsRouterContext(),registerRoute=_useModalsRouterConte.registerRoute,unregisterRoute=_useModalsRouterConte.unregisterRoute;useEffect(function(){if(!name||!registerRoute)return;registerRoute(name,{component:component,type:type,containerProps:containerProps});return function(){return unregisterRoute==null?void 0:unregisterRoute(name);};},[name]);return null;}
1
+ var _excluded = ["name", "component", "type"];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 { useEffect } from 'react';
2
+
3
+ import { useModalsRouterContext } from "./ModalsRouterContext";
4
+
5
+ export function ModalRoute(_ref) {var name = _ref.name,component = _ref.component,_ref$type = _ref.type,type = _ref$type === void 0 ? 'modal' : _ref$type,containerProps = _objectWithoutProperties(_ref, _excluded);
6
+ var _useModalsRouterConte = useModalsRouterContext(),registerRoute = _useModalsRouterConte.registerRoute,unregisterRoute = _useModalsRouterConte.unregisterRoute;
7
+
8
+ useEffect(function () {
9
+ if (!name || !registerRoute) return;
10
+ registerRoute(name, { component: component, type: type, containerProps: containerProps });
11
+ return function () {return unregisterRoute == null ? void 0 : unregisterRoute(name);};
12
+ }, [name]);
13
+
14
+ return null;
15
+ }
@@ -1 +1,120 @@
1
- import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/modals/router/ModalsRouter.js";import React,{useCallback,useMemo,useRef,useState}from'react';import{BottomDrawer}from"../bottomDrawer";import{Drawer}from"../drawer";import{Modal}from"../modal/Modal";import{ModalRouteContext,ModalsRouterContext,ModalsStackContext}from"./ModalsRouterContext";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";var CONTAINERS={modal:Modal,drawer:Drawer,bottomDrawer:BottomDrawer};export function ModalsRouter(_ref){var _this=this;var children=_ref.children;var _useState=useState([]),_useState2=_slicedToArray(_useState,2),stack=_useState2[0],setStack=_useState2[1];var _useState3=useState([]),_useState4=_slicedToArray(_useState3,2),renderStack=_useState4[0],setRenderStack=_useState4[1];var _useState5=useState({}),_useState6=_slicedToArray(_useState5,2),containerOverrides=_useState6[0],setContainerOverrides=_useState6[1];var keyRef=useRef(0);var routesRef=useRef({});var registerRoute=useCallback(function(name,config){routesRef.current[name]=config;},[]);var unregisterRoute=useCallback(function(name){delete routesRef.current[name];},[]);var updateContainerProps=useCallback(function(key,props){setContainerOverrides(function(prev){return Object.assign({},prev,_defineProperty({},key,Object.assign({},prev[key],props)));});},[]);var push=useCallback(function(path,params){var key=++keyRef.current;var entry={key:key,path:path,params:params};setStack(function(prev){return[].concat(_toConsumableArray(prev),[entry]);});setRenderStack(function(prev){return[].concat(_toConsumableArray(prev),[Object.assign({},entry,{open:true})]);});},[]);var closeByKey=useCallback(function(key){setStack(function(prev){return prev.filter(function(e){return e.key!==key;});});setRenderStack(function(prev){return prev.map(function(e){return e.key===key?Object.assign({},e,{open:false}):e;});});setTimeout(function(){setRenderStack(function(prev){return prev.filter(function(e){return e.key!==key;});});},600);},[]);var goBack=useCallback(function(){setStack(function(prev){if(prev.length===0)return prev;var last=prev[prev.length-1];setRenderStack(function(rs){return rs.map(function(e){return e.key===last.key?Object.assign({},e,{open:false}):e;});});setTimeout(function(){setRenderStack(function(rs){return rs.filter(function(e){return e.key!==last.key;});});},600);return prev.slice(0,-1);});},[]);var closeAll=useCallback(function(){setStack([]);setRenderStack(function(prev){var closing=prev.map(function(e){return Object.assign({},e,{open:false});});setTimeout(function(){setRenderStack([]);},600);return closing;});},[]);var actionsValue=useMemo(function(){return{push:push,goBack:goBack,closeAll:closeAll,registerRoute:registerRoute,unregisterRoute:unregisterRoute};},[push,goBack,closeAll,registerRoute,unregisterRoute]);var stackValue=useMemo(function(){return{stack:stack};},[stack]);var nestedModals=renderStack.reduceRight(function(inner,entry){var route=routesRef.current[entry.path];if(!route)return inner;var Container=CONTAINERS[route.type]||Modal;var Component=route.component;var overrides=containerOverrides[entry.key];var updateContainer=function updateContainer(props){return updateContainerProps(entry.key,props);};return _jsx(Container,Object.assign({open:entry.open,onClose:function onClose(){return closeByKey(entry.key);}},route.containerProps,overrides,{children:_jsx(ModalsRouterContext.Provider,{value:actionsValue,children:_jsx(ModalsStackContext.Provider,{value:stackValue,children:_jsxs(ModalRouteContext.Provider,{value:{params:entry.params,path:entry.path,key:entry.key,updateContainer:updateContainer},children:[_jsx(Component,{}),inner]})})})}),entry.key);},null);return _jsx(ModalsRouterContext.Provider,{value:actionsValue,children:_jsxs(ModalsStackContext.Provider,{value:stackValue,children:[children,nestedModals]})});}
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/modals/router/ModalsRouter.js";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 _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 _defineProperty(e, r, t) {return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e;}function _toPropertyKey(t) {var i = _toPrimitive(t, "string");return "symbol" == typeof i ? i : i + "";}function _toPrimitive(t, r) {if ("object" != typeof t || !t) return t;var e = t[Symbol.toPrimitive];if (void 0 !== e) {var i = e.call(t, r || "default");if ("object" != typeof i) return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return ("string" === r ? String : Number)(t);}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, { useCallback, useMemo, useRef, useState } from 'react';
2
+
3
+ import { BottomDrawer } from "../bottomDrawer";
4
+ import { Drawer } from "../drawer";
5
+ import { Modal } from "../modal/Modal";
6
+ import { ModalRouteContext, ModalsRouterContext, ModalsStackContext } from "./ModalsRouterContext";import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+
8
+ var CONTAINERS = {
9
+ modal: Modal,
10
+ drawer: Drawer,
11
+ bottomDrawer: BottomDrawer
12
+ };
13
+
14
+ export function ModalsRouter(_ref) {var _this = this;var children = _ref.children;
15
+ var _useState = useState([]),_useState2 = _slicedToArray(_useState, 2),stack = _useState2[0],setStack = _useState2[1];
16
+ var _useState3 = useState([]),_useState4 = _slicedToArray(_useState3, 2),renderStack = _useState4[0],setRenderStack = _useState4[1];
17
+ var _useState5 = useState({}),_useState6 = _slicedToArray(_useState5, 2),containerOverrides = _useState6[0],setContainerOverrides = _useState6[1];
18
+ var keyRef = useRef(0);
19
+ var routesRef = useRef({});
20
+
21
+ var registerRoute = useCallback(function (name, config) {
22
+ routesRef.current[name] = config;
23
+ }, []);
24
+
25
+ var unregisterRoute = useCallback(function (name) {
26
+ delete routesRef.current[name];
27
+ }, []);
28
+
29
+ var updateContainerProps = useCallback(function (key, props) {
30
+ setContainerOverrides(function (prev) {return Object.assign({},
31
+ prev, _defineProperty({},
32
+ key, Object.assign({}, prev[key], props)));}
33
+ );
34
+ }, []);
35
+
36
+ var push = useCallback(function (path, params) {
37
+ var key = ++keyRef.current;
38
+ var entry = { key: key, path: path, params: params };
39
+ setStack(function (prev) {return [].concat(_toConsumableArray(prev), [entry]);});
40
+ setRenderStack(function (prev) {return [].concat(_toConsumableArray(prev), [Object.assign({}, entry, { open: true })]);});
41
+ }, []);
42
+
43
+ var closeByKey = useCallback(function (key) {
44
+ setStack(function (prev) {return prev.filter(function (e) {return e.key !== key;});});
45
+ setRenderStack(function (prev) {return prev.map(function (e) {return e.key === key ? Object.assign({}, e, { open: false }) : e;});});
46
+ setTimeout(function () {
47
+ setRenderStack(function (prev) {return prev.filter(function (e) {return e.key !== key;});});
48
+ }, 600);
49
+ }, []);
50
+
51
+ var goBack = useCallback(function () {
52
+ setStack(function (prev) {
53
+ if (prev.length === 0) return prev;
54
+ var last = prev[prev.length - 1];
55
+ setRenderStack(function (rs) {return rs.map(function (e) {return e.key === last.key ? Object.assign({}, e, { open: false }) : e;});});
56
+ setTimeout(function () {
57
+ setRenderStack(function (rs) {return rs.filter(function (e) {return e.key !== last.key;});});
58
+ }, 600);
59
+ return prev.slice(0, -1);
60
+ });
61
+ }, []);
62
+
63
+ var closeAll = useCallback(function () {
64
+ setStack([]);
65
+ setRenderStack(function (prev) {
66
+ var closing = prev.map(function (e) {return Object.assign({}, e, { open: false });});
67
+ setTimeout(function () {
68
+ setRenderStack([]);
69
+ }, 600);
70
+ return closing;
71
+ });
72
+ }, []);
73
+
74
+
75
+
76
+ var actionsValue = useMemo(
77
+ function () {return { push: push, goBack: goBack, closeAll: closeAll, registerRoute: registerRoute, unregisterRoute: unregisterRoute };},
78
+ [push, goBack, closeAll, registerRoute, unregisterRoute]
79
+ );
80
+
81
+
82
+ var stackValue = useMemo(function () {return { stack: stack };}, [stack]);
83
+
84
+
85
+
86
+
87
+
88
+ var nestedModals = renderStack.reduceRight(function (inner, entry) {
89
+ var route = routesRef.current[entry.path];
90
+ if (!route) return inner;
91
+
92
+ var Container = CONTAINERS[route.type] || Modal;
93
+ var Component = route.component;
94
+
95
+ var overrides = containerOverrides[entry.key];
96
+ var updateContainer = function updateContainer(props) {return updateContainerProps(entry.key, props);};
97
+
98
+ return (
99
+ _jsx(Container, Object.assign({ open: entry.open, onClose: function onClose() {return closeByKey(entry.key);} }, route.containerProps, overrides, { children:
100
+ _jsx(ModalsRouterContext.Provider, { value: actionsValue, children:
101
+ _jsx(ModalsStackContext.Provider, { value: stackValue, children:
102
+ _jsxs(ModalRouteContext.Provider, { value: { params: entry.params, path: entry.path, key: entry.key, updateContainer: updateContainer }, children: [
103
+ _jsx(Component, {}),
104
+ inner] }
105
+ ) }
106
+ ) }
107
+ ) }), entry.key
108
+ ));
109
+
110
+ }, null);
111
+
112
+ return (
113
+ _jsx(ModalsRouterContext.Provider, { value: actionsValue, children:
114
+ _jsxs(ModalsStackContext.Provider, { value: stackValue, children: [
115
+ children,
116
+ nestedModals] }
117
+ ) }
118
+ ));
119
+
120
+ }
@@ -1 +1,16 @@
1
- import React from'react';var ModalsRouterContext=React.createContext(null);export var useModalsRouterContext=function useModalsRouterContext(){return React.useContext(ModalsRouterContext)||{};};export{ModalsRouterContext};var ModalsStackContext=React.createContext(null);export var useModalsStackContext=function useModalsStackContext(){return React.useContext(ModalsStackContext)||{};};export{ModalsStackContext};var ModalRouteContext=React.createContext(null);export var useModalRouteContext=function useModalRouteContext(){return React.useContext(ModalRouteContext)||{};};export{ModalRouteContext};
1
+ import React from 'react';
2
+
3
+
4
+ var ModalsRouterContext = React.createContext(null);
5
+ export var useModalsRouterContext = function useModalsRouterContext() {return React.useContext(ModalsRouterContext) || {};};
6
+ export { ModalsRouterContext };
7
+
8
+
9
+ var ModalsStackContext = React.createContext(null);
10
+ export var useModalsStackContext = function useModalsStackContext() {return React.useContext(ModalsStackContext) || {};};
11
+ export { ModalsStackContext };
12
+
13
+
14
+ var ModalRouteContext = React.createContext(null);
15
+ export var useModalRouteContext = function useModalRouteContext() {return React.useContext(ModalRouteContext) || {};};
16
+ export { ModalRouteContext };
@@ -1 +1,6 @@
1
- export{ModalsRouter}from"./ModalsRouter";export{ModalRoute}from"./ModalRoute";export{useModalsNavigation}from"./useModalsNavigation";export{useModalParams}from"./useModalParams";export{useAllModalsParams}from"./useAllModalsParams";export{useUpdateModalContainer}from"./useUpdateModalContainer";
1
+ export { ModalsRouter } from "./ModalsRouter";
2
+ export { ModalRoute } from "./ModalRoute";
3
+ export { useModalsNavigation } from "./useModalsNavigation";
4
+ export { useModalParams } from "./useModalParams";
5
+ export { useAllModalsParams } from "./useAllModalsParams";
6
+ export { useUpdateModalContainer } from "./useUpdateModalContainer";
@@ -1 +1,6 @@
1
- import{useModalsStackContext}from"./ModalsRouterContext";export function useAllModalsParams(){var _useModalsStackContex=useModalsStackContext(),stack=_useModalsStackContex.stack;return(stack||[]).map(function(_ref){var path=_ref.path,params=_ref.params,key=_ref.key;return{path:path,params:params,key:key};});}
1
+ import { useModalsStackContext } from "./ModalsRouterContext";
2
+
3
+ export function useAllModalsParams() {
4
+ var _useModalsStackContex = useModalsStackContext(),stack = _useModalsStackContex.stack;
5
+ return (stack || []).map(function (_ref) {var path = _ref.path,params = _ref.params,key = _ref.key;return { path: path, params: params, key: key };});
6
+ }
@@ -1 +1,6 @@
1
- import{useModalRouteContext}from"./ModalsRouterContext";export function useModalParams(){var _useModalRouteContext=useModalRouteContext(),params=_useModalRouteContext.params;return params||{};}
1
+ import { useModalRouteContext } from "./ModalsRouterContext";
2
+
3
+ export function useModalParams() {
4
+ var _useModalRouteContext = useModalRouteContext(),params = _useModalRouteContext.params;
5
+ return params || {};
6
+ }
@@ -1 +1,6 @@
1
- import{useModalsRouterContext}from"./ModalsRouterContext";export function useModalsNavigation(){var _useModalsRouterConte=useModalsRouterContext(),push=_useModalsRouterConte.push,goBack=_useModalsRouterConte.goBack,closeAll=_useModalsRouterConte.closeAll;return{push:push,goBack:goBack,closeAll:closeAll};}
1
+ import { useModalsRouterContext } from "./ModalsRouterContext";
2
+
3
+ export function useModalsNavigation() {
4
+ var _useModalsRouterConte = useModalsRouterContext(),push = _useModalsRouterConte.push,goBack = _useModalsRouterConte.goBack,closeAll = _useModalsRouterConte.closeAll;
5
+ return { push: push, goBack: goBack, closeAll: closeAll };
6
+ }
@@ -1 +1,6 @@
1
- import{useModalRouteContext}from"./ModalsRouterContext";export function useUpdateModalContainer(){var _useModalRouteContext=useModalRouteContext(),updateContainer=_useModalRouteContext.updateContainer;return updateContainer;}
1
+ import { useModalRouteContext } from "./ModalsRouterContext";
2
+
3
+ export function useUpdateModalContainer() {
4
+ var _useModalRouteContext = useModalRouteContext(),updateContainer = _useModalRouteContext.updateContainer;
5
+ return updateContainer;
6
+ }
@@ -1 +1,79 @@
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/presentation/Avatar.js";var _excluded=["initials","name","icon","src","invert","textProps","iconProps","iconSize"];import{pipe}from'ramda';import{AbsView}from"../../abstractions/View";import{IconLabel}from"./IconLabel";import{Image}from"./Image";import{getDynamicColor}from"../../theme/helpers/dynamicColor";import{getInitials}from"../../helpers";import{moveScale}from"../../theme/helpers/sizeScale";import{useBackgroundModifier}from"../../modifiers/background";import{useBorderModifier}from"../../modifiers/border";import{useColorConverter}from"../../modifiers/colorConverter";import{useDefaultModifier}from"../../modifiers/default";import{useFlexWrapperModifier}from"../../modifiers/flexWrapper";import{useFullColorModifier}from"../../modifiers/fullColor";import{useMarginModifier}from"../../modifiers/margin";import{useOverflowModifier}from"../../modifiers/overflow";import{usePaddingModifier}from"../../modifiers/padding";import{usePositionModifier}from"../../modifiers/position";import{useShadowModifier}from"../../modifiers/shadow";import{useSizeConverter}from"../../modifiers/sizeConverter";import{useSizeModifier}from"../../modifiers/size";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx}from"react/jsx-runtime";var DEFAULT_PROPS=function DEFAULT_PROPS(_ref){var _ref2=_slicedToArray(_ref,2),sizeCode=_ref2[0].sizeCode,_ref2$=_ref2[1],round=_ref2$.round,square=_ref2$.square,src=_ref2$.src,dynamicColor=_ref2$.dynamicColor,color=_ref2$.color;return{padding:!!src?undefined:1,height:sizeCode,width:sizeCode,ratio:1,br:!!square?moveScale(sizeCode,-2)||sizeCode:undefined,round:!square,center:true,border:!!src?undefined:1,overflow:'hidden',color:dynamicColor!==undefined?getDynamicColor(dynamicColor):color};};export function Avatar(rootProps){var _pipe=pipe(useSizeConverter('elementHeights','md'),useThemeComponentModifier('Avatar'),useDefaultModifier(DEFAULT_PROPS),useColorConverter('text3'),useFullColorModifier,useSizeModifier,usePositionModifier,useFlexWrapperModifier,useBackgroundModifier,usePaddingModifier,useMarginModifier,useBorderModifier,useShadowModifier,useOverflowModifier)([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_pipe2$=_pipe2[0],fontColor=_pipe2$.fontColor,sizeCode=_pipe2$.sizeCode,formattedProps=_pipe2[1];var initials=formattedProps.initials,name=formattedProps.name,icon=formattedProps.icon,src=formattedProps.src,invert=formattedProps.invert,textProps=formattedProps.textProps,iconProps=formattedProps.iconProps,iconSize=formattedProps.iconSize,props=_objectWithoutProperties(formattedProps,_excluded);initials=initials||getInitials(name);var content=_jsx(IconLabel,{center:true,color:fontColor,size:sizeCode,label:!icon&&initials,icon:icon,invert:invert,textProps:Object.assign({strong:true},textProps),iconProps:Object.assign({size:iconSize},iconProps)});if(!!src)content=_jsx(Image,{br:0,src:src,width:sizeCode,height:sizeCode});return _jsx(AbsView,Object.assign({className:"neko-avatar"},props,{children:content}));}
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/presentation/Avatar.js";var _excluded = ["initials", "name", "icon", "src", "invert", "textProps", "iconProps", "iconSize"];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 { AbsView } from "../../abstractions/View";
4
+ import { IconLabel } from "./IconLabel";
5
+ import { Image } from "./Image";
6
+ import { getDynamicColor } from "../../theme/helpers/dynamicColor";
7
+ import { getInitials } from "../../helpers";
8
+ import { moveScale } from "../../theme/helpers/sizeScale";
9
+ import { useBackgroundModifier } from "../../modifiers/background";
10
+ import { useBorderModifier } from "../../modifiers/border";
11
+ import { useColorConverter } from "../../modifiers/colorConverter";
12
+ import { useDefaultModifier } from "../../modifiers/default";
13
+ import { useFlexWrapperModifier } from "../../modifiers/flexWrapper";
14
+ import { useFullColorModifier } from "../../modifiers/fullColor";
15
+ import { useMarginModifier } from "../../modifiers/margin";
16
+ import { useOverflowModifier } from "../../modifiers/overflow";
17
+ import { usePaddingModifier } from "../../modifiers/padding";
18
+ import { usePositionModifier } from "../../modifiers/position";
19
+ import { useShadowModifier } from "../../modifiers/shadow";
20
+ import { useSizeConverter } from "../../modifiers/sizeConverter";
21
+ import { useSizeModifier } from "../../modifiers/size";
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, 2),sizeCode = _ref2[0].sizeCode,_ref2$ = _ref2[1],round = _ref2$.round,square = _ref2$.square,src = _ref2$.src,dynamicColor = _ref2$.dynamicColor,color = _ref2$.color;
25
+ return {
26
+ padding: !!src ? undefined : 1,
27
+ height: sizeCode,
28
+ width: sizeCode,
29
+ ratio: 1,
30
+ br: !!square ? moveScale(sizeCode, -2) || sizeCode : undefined,
31
+ round: !square,
32
+ center: true,
33
+ border: !!src ? undefined : 1,
34
+ overflow: 'hidden',
35
+ color: dynamicColor !== undefined ? getDynamicColor(dynamicColor) : color
36
+ };
37
+ };
38
+
39
+ export function Avatar(rootProps) {
40
+ var _pipe = pipe(
41
+ useSizeConverter('elementHeights', 'md'),
42
+ useThemeComponentModifier('Avatar'),
43
+ useDefaultModifier(DEFAULT_PROPS),
44
+ useColorConverter('text3'),
45
+ useFullColorModifier,
46
+ useSizeModifier,
47
+ usePositionModifier,
48
+ useFlexWrapperModifier,
49
+ useBackgroundModifier,
50
+ usePaddingModifier,
51
+ useMarginModifier,
52
+ useBorderModifier,
53
+ useShadowModifier,
54
+ useOverflowModifier
55
+ )([{}, rootProps]),_pipe2 = _slicedToArray(_pipe, 2),_pipe2$ = _pipe2[0],fontColor = _pipe2$.fontColor,sizeCode = _pipe2$.sizeCode,formattedProps = _pipe2[1];
56
+
57
+ var initials = formattedProps.initials,name = formattedProps.name,icon = formattedProps.icon,src = formattedProps.src,invert = formattedProps.invert,textProps = formattedProps.textProps,iconProps = formattedProps.iconProps,iconSize = formattedProps.iconSize,props = _objectWithoutProperties(formattedProps, _excluded);
58
+ initials = initials || getInitials(name);
59
+
60
+ var content =
61
+ _jsx(IconLabel, {
62
+ center: true,
63
+ color: fontColor,
64
+ size: sizeCode,
65
+ label: !icon && initials,
66
+ icon: icon,
67
+ invert: invert,
68
+ textProps: Object.assign({ strong: true }, textProps),
69
+ iconProps: Object.assign({ size: iconSize }, iconProps) }
70
+ );
71
+
72
+ if (!!src) content = _jsx(Image, { br: 0, src: src, width: sizeCode, height: sizeCode });
73
+
74
+ return (
75
+ _jsx(AbsView, Object.assign({ className: "neko-avatar" }, props, { children:
76
+ content })
77
+ ));
78
+
79
+ }
@@ -1 +1,60 @@
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/presentation/AvatarLabel.js";var _excluded=["icon","label","name","initials","src","avatarColor","square","dynamicColor","avatarProps","moveAvatarSizeScale","avatarSize","iconSize"];import{pipe}from'ramda';import{Avatar}from"./Avatar";import{ContentLabel}from"./ContentLabel";import{moveScale}from"../../theme/helpers/sizeScale";import{useColorConverter}from"../../modifiers/colorConverter";import{useSizeConverter}from"../../modifiers/sizeConverter";import{useThemeComponentModifier}from"../../modifiers/themeComponent";import{jsx as _jsx}from"react/jsx-runtime";export function AvatarLabel(rootProps){var _pipe=pipe(useColorConverter(),useSizeConverter('elementHeights','md'),useThemeComponentModifier('AvatarLabel'))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2),_pipe2$=_pipe2[0],sizeCode=_pipe2$.sizeCode,color=_pipe2$.color,formattedProps=_pipe2[1];var icon=formattedProps.icon,label=formattedProps.label,name=formattedProps.name,initials=formattedProps.initials,src=formattedProps.src,avatarColor=formattedProps.avatarColor,square=formattedProps.square,dynamicColor=formattedProps.dynamicColor,avatarProps=formattedProps.avatarProps,moveAvatarSizeScale=formattedProps.moveAvatarSizeScale,avatarSize=formattedProps.avatarSize,iconSize=formattedProps.iconSize,props=_objectWithoutProperties(formattedProps,_excluded);var hasAvatar=!!name||!!initials||!!src;return _jsx(ContentLabel,Object.assign({className:"neko-avatar-label",label:label||name,color:color,size:sizeCode,content:_jsx(Avatar,Object.assign({name:name||label,initials:initials,icon:icon,src:src,size:avatarSize||moveScale(sizeCode,moveAvatarSizeScale||-1),color:avatarColor||color,dynamicColor:dynamicColor,square:square,marginH:2,iconSize:iconSize},avatarProps))},props));}export var AvatarText=AvatarLabel;
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/presentation/AvatarLabel.js";var _excluded = ["icon", "label", "name", "initials", "src", "avatarColor", "square", "dynamicColor", "avatarProps", "moveAvatarSizeScale", "avatarSize", "iconSize"];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 { Avatar } from "./Avatar";
4
+ import { ContentLabel } from "./ContentLabel";
5
+ import { moveScale } from "../../theme/helpers/sizeScale";
6
+ import { useColorConverter } from "../../modifiers/colorConverter";
7
+ import { useSizeConverter } from "../../modifiers/sizeConverter";
8
+ import { useThemeComponentModifier } from "../../modifiers/themeComponent";import { jsx as _jsx } from "react/jsx-runtime";
9
+
10
+ export function AvatarLabel(rootProps) {
11
+ var _pipe = pipe(
12
+ useColorConverter(),
13
+ useSizeConverter('elementHeights', 'md'),
14
+ useThemeComponentModifier('AvatarLabel')
15
+ )([{}, rootProps]),_pipe2 = _slicedToArray(_pipe, 2),_pipe2$ = _pipe2[0],sizeCode = _pipe2$.sizeCode,color = _pipe2$.color,formattedProps = _pipe2[1];
16
+
17
+ var
18
+ icon =
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+ formattedProps.icon,label = formattedProps.label,name = formattedProps.name,initials = formattedProps.initials,src = formattedProps.src,avatarColor = formattedProps.avatarColor,square = formattedProps.square,dynamicColor = formattedProps.dynamicColor,avatarProps = formattedProps.avatarProps,moveAvatarSizeScale = formattedProps.moveAvatarSizeScale,avatarSize = formattedProps.avatarSize,iconSize = formattedProps.iconSize,props = _objectWithoutProperties(formattedProps, _excluded);
32
+ var hasAvatar = !!name || !!initials || !!src;
33
+
34
+ return (
35
+ _jsx(ContentLabel, Object.assign({
36
+ className: "neko-avatar-label",
37
+ label: label || name,
38
+ color: color,
39
+ size: sizeCode,
40
+ content:
41
+ _jsx(Avatar, Object.assign({
42
+ name: name || label,
43
+ initials: initials,
44
+ icon: icon,
45
+ src: src,
46
+ size: avatarSize || moveScale(sizeCode, moveAvatarSizeScale || -1),
47
+ dynamicColor: dynamicColor },
48
+ !dynamicColor && { color: avatarColor || color }, {
49
+ square: square,
50
+ marginH: 2,
51
+ iconSize: iconSize },
52
+ avatarProps)
53
+ ) },
54
+
55
+ props)
56
+ ));
57
+
58
+ }
59
+
60
+ export var AvatarText = AvatarLabel;
@@ -0,0 +1,30 @@
1
+ var _jsxFileName = "/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/presentation/AvatarsGroup.js";var _excluded = ["maxCount", "size", "overlap", "children"];function _objectWithoutProperties(e, t) {if (null == e) return {};var o,r,i = _objectWithoutPropertiesLoose(e, t);if (Object.getOwnPropertySymbols) {var n = Object.getOwnPropertySymbols(e);for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);}return i;}function _objectWithoutPropertiesLoose(r, e) {if (null == r) return {};var t = {};for (var n in r) if ({}.hasOwnProperty.call(r, n)) {if (-1 !== e.indexOf(n)) continue;t[n] = r[n];}return t;}import React from 'react';
2
+
3
+ import { Avatar } from "./Avatar";
4
+ import { View } from "../structure/View";
5
+ import { useGetElementHeight } from "../../theme";import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
+
7
+ export function AvatarsGroup(_ref) {var _this = this;var maxCount = _ref.maxCount,_ref$size = _ref.size,size = _ref$size === void 0 ? 'md' : _ref$size,overlap = _ref.overlap,children = _ref.children,props = _objectWithoutProperties(_ref, _excluded);
8
+ var getSize = useGetElementHeight();
9
+ var sizeValue = getSize(size);
10
+ overlap = overlap || Math.round(sizeValue * 0.6);
11
+
12
+ var items = React.Children.toArray(children).filter(React.isValidElement);
13
+ var visibleItems = maxCount ? items.slice(0, maxCount) : items;
14
+ var overflowCount = maxCount ? items.length - maxCount : 0;
15
+
16
+ return (
17
+ _jsxs(View, { row: true, centerV: true, children: [
18
+ visibleItems.map(function (child, index) {return (
19
+ _jsx(View, { style: index > 0 ? { marginLeft: -overlap } : undefined, children:
20
+ React.cloneElement(child, Object.assign({ size: size, border: 1, borderColor: 'overlayBG' }, props)) }, child.key || index
21
+ ));}
22
+ ),
23
+ overflowCount > 0 &&
24
+ _jsx(View, { style: { marginLeft: -overlap }, children:
25
+ _jsx(Avatar, { name: `+${overflowCount}`, size: size, color: "text4", border: true, borderColor: "overlayBG" }) }
26
+ )] }
27
+
28
+ ));
29
+
30
+ }