@neko-os/ui 0.2.3 → 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.
- package/dist/DynamicStyleTag.js +18 -2
- package/dist/DynamicStyleTag.native.js +3 -1
- package/dist/NekoUI.js +39 -1
- package/dist/abstractions/ActivityIndicator.js +19 -1
- package/dist/abstractions/ActivityIndicator.native.js +43 -1
- package/dist/abstractions/ActivityIndicator.web.js +43 -1
- package/dist/abstractions/AnimatedView.js +3 -1
- package/dist/abstractions/AnimatedView.native.js +5 -1
- package/dist/abstractions/AnimatedView.web.js +3 -1
- package/dist/abstractions/BlurView.js +43 -1
- package/dist/abstractions/BlurView.native.js +39 -1
- package/dist/abstractions/BlurView.web.js +39 -1
- package/dist/abstractions/DraggableSlideView.js +3 -1
- package/dist/abstractions/DraggableSlideView.native.js +62 -1
- package/dist/abstractions/FlatList.js +3 -1
- package/dist/abstractions/FlatList.native.js +37 -1
- package/dist/abstractions/FlatList.web.js +3 -1
- package/dist/abstractions/GradientView.js +5 -1
- package/dist/abstractions/GradientView.native.js +32 -1
- package/dist/abstractions/HiddenInput.js +3 -1
- package/dist/abstractions/HiddenInput.native.js +3 -1
- package/dist/abstractions/Icon.js +10 -1
- package/dist/abstractions/Icon.native.js +13 -1
- package/dist/abstractions/Icon.web.js +11 -1
- package/dist/abstractions/Image.js +12 -1
- package/dist/abstractions/Image.native.js +7 -1
- package/dist/abstractions/Image.web.js +7 -1
- package/dist/abstractions/ImageBackground.js +17 -1
- package/dist/abstractions/ImageBackground.native.js +27 -1
- package/dist/abstractions/ImageBackground.web.js +7 -1
- package/dist/abstractions/KeyboardAvoidingView.js +3 -1
- package/dist/abstractions/KeyboardAvoidingView.native.js +3 -1
- package/dist/abstractions/Platform.js +1 -1
- package/dist/abstractions/Platform.native.js +3 -1
- package/dist/abstractions/Platform.web.js +3 -1
- package/dist/abstractions/Pressable.js +4 -1
- package/dist/abstractions/Pressable.native.js +3 -1
- package/dist/abstractions/Pressable.web.js +3 -1
- package/dist/abstractions/SafeAreaView.js +3 -1
- package/dist/abstractions/SafeAreaView.native.js +3 -1
- package/dist/abstractions/ScrollView.js +3 -1
- package/dist/abstractions/ScrollView.native.js +5 -1
- package/dist/abstractions/ScrollView.web.js +3 -1
- package/dist/abstractions/StaticList.js +51 -1
- package/dist/abstractions/Switch.js +97 -1
- package/dist/abstractions/Switch.native.js +12 -1
- package/dist/abstractions/Table.js +29 -1
- package/dist/abstractions/Table.native.js +19 -1
- package/dist/abstractions/Text.js +14 -1
- package/dist/abstractions/Text.native.js +3 -1
- package/dist/abstractions/Text.web.js +18 -1
- package/dist/abstractions/TextInput.js +12 -1
- package/dist/abstractions/TextInput.native.js +5 -1
- package/dist/abstractions/TextInput.web.js +5 -1
- package/dist/abstractions/TouchableOpacity.js +4 -1
- package/dist/abstractions/TouchableOpacity.native.js +3 -1
- package/dist/abstractions/View.js +3 -1
- package/dist/abstractions/View.native.js +3 -1
- package/dist/abstractions/View.web.js +3 -1
- package/dist/abstractions/helpers/componentSize.js +13 -1
- package/dist/abstractions/helpers/componentSize.native.js +12 -1
- package/dist/abstractions/helpers/storage.js +32 -1
- package/dist/abstractions/helpers/storage.native.js +34 -1
- package/dist/abstractions/helpers/transformStyle.js +8 -1
- package/dist/abstractions/helpers/transformStyle.native.js +3 -1
- package/dist/abstractions/helpers/useSafeAreaInsets.js +3 -1
- package/dist/abstractions/helpers/useSafeAreaInsets.native.js +3 -1
- package/dist/abstractions/helpers/windowWidth.js +13 -1
- package/dist/abstractions/helpers/windowWidth.native.js +6 -1
- package/dist/abstractions/helpers/windowWidth.web.js +6 -1
- package/dist/components/actions/ActionsDrawer.js +81 -1
- package/dist/components/actions/Breadcrumb.js +47 -1
- package/dist/components/actions/Button.js +82 -1
- package/dist/components/actions/Dropdown.js +91 -1
- package/dist/components/actions/FloatingButton.js +87 -1
- package/dist/components/actions/FloatingMenu.js +39 -1
- package/dist/components/actions/Link.js +66 -1
- package/dist/components/actions/Pressable.js +38 -1
- package/dist/components/actions/index.js +9 -1
- package/dist/components/actions/menu/HorizontalMenu.js +98 -1
- package/dist/components/actions/menu/Menu.js +7 -1
- package/dist/components/actions/menu/SubmenuWrapper.js +16 -1
- package/dist/components/actions/menu/VerticalMenu.js +133 -1
- package/dist/components/animations/AnimatedTopBar.js +10 -1
- package/dist/components/animations/AnimatedTopBar.native.js +34 -1
- package/dist/components/animations/AnimatedTopBar.web.js +1 -1
- package/dist/components/animations/AnimatedView.js +45 -1
- package/dist/components/animations/DraggableSlideView.js +42 -1
- package/dist/components/animations/ParallaxHeader.js +9 -1
- package/dist/components/animations/ParallaxHeader.native.js +32 -1
- package/dist/components/animations/ParallaxHeader.web.js +32 -1
- package/dist/components/animations/ReanimatedScrollHandler.js +8 -1
- package/dist/components/animations/ReanimatedScrollHandler.native.js +24 -1
- package/dist/components/animations/ReanimatedScrollHandler.web.js +1 -1
- package/dist/components/animations/ReanimatedView.js +40 -1
- package/dist/components/animations/index.js +5 -1
- package/dist/components/calendar/CalendarNav.js +67 -1
- package/dist/components/calendar/WeekDaysBar.js +18 -1
- package/dist/components/calendar/_helpers/calendarDays.js +16 -1
- package/dist/components/calendar/_helpers/dateDisabled.js +24 -1
- package/dist/components/feedback/alerter.js +31 -1
- package/dist/components/feedback/confirmer.js +70 -1
- package/dist/components/feedback/index.js +3 -1
- package/dist/components/feedback/notifications/Notification.js +37 -1
- package/dist/components/feedback/notifications/NotificationsHandler.js +65 -1
- package/dist/components/filter/DateFilter.js +72 -0
- package/dist/components/filter/FilterGroup.js +17 -0
- package/dist/components/filter/FilterHandler.js +54 -0
- package/dist/components/filter/FilterItem.js +30 -0
- package/dist/components/filter/PopoverFilterItem.js +84 -0
- package/dist/components/filter/SearchInput.js +49 -0
- package/dist/components/filter/index.js +6 -0
- package/dist/components/form/Form.js +31 -1
- package/dist/components/form/FormGroup.js +21 -1
- package/dist/components/form/FormItem.js +118 -1
- package/dist/components/form/FormList.js +143 -1
- package/dist/components/form/FormWrapperComponent.js +52 -1
- package/dist/components/form/FormWrapperComponent.native.js +5 -1
- package/dist/components/form/SubmitButton.js +22 -1
- package/dist/components/form/index.js +9 -1
- package/dist/components/form/useNewForm.js +211 -1
- package/dist/components/form/useWatch.js +70 -1
- package/dist/components/form/validation/defaultMessages.js +20 -1
- package/dist/components/form/validation/index.js +5 -1
- package/dist/components/form/validation/normalizeRules.js +22 -1
- package/dist/components/form/validation/shouldValidateOn.js +21 -1
- package/dist/components/form/validation/validateRules.js +83 -1
- package/dist/components/form/validation/validators.js +82 -1
- package/dist/components/helpers/ConditionalLazyRender.js +6 -1
- package/dist/components/helpers/LazyAction.js +22 -1
- package/dist/components/helpers/LazyRender.js +55 -1
- package/dist/components/helpers/LazyRender.native.js +58 -1
- package/dist/components/helpers/Portal.js +21 -1
- package/dist/components/helpers/PortalHandler.js +32 -1
- package/dist/components/helpers/Responsive.js +18 -1
- package/dist/components/helpers/Separator.js +49 -1
- package/dist/components/helpers/VerticalView.js +34 -1
- package/dist/components/helpers/index.js +8 -1
- package/dist/components/index.js +20 -1
- package/dist/components/inputs/BooleanSelect.js +14 -0
- package/dist/components/inputs/Checkbox.js +56 -1
- package/dist/components/inputs/DateInput.js +123 -1
- package/dist/components/inputs/DateRangeInput.js +41 -0
- package/dist/components/inputs/Editable.js +129 -0
- package/dist/components/inputs/EnabledSelect.js +14 -0
- package/dist/components/inputs/InputWrapper.js +93 -1
- package/dist/components/inputs/LinkInput.js +17 -1
- package/dist/components/inputs/MaskInput.js +67 -1
- package/dist/components/inputs/NumberInput.js +111 -1
- package/dist/components/inputs/NumberRangeInput.js +41 -0
- package/dist/components/inputs/PasswordInput.js +24 -0
- package/dist/components/inputs/Picker.js +169 -1
- package/dist/components/inputs/Radio.js +55 -1
- package/dist/components/inputs/RateInput.js +62 -1
- package/dist/components/inputs/SegmentedPicker.js +62 -1
- package/dist/components/inputs/Select.js +219 -1
- package/dist/components/inputs/Switch.js +60 -1
- package/dist/components/inputs/TextArea.js +5 -0
- package/dist/components/inputs/TextInput.js +32 -1
- package/dist/components/inputs/UploadInput.js +140 -0
- package/dist/components/inputs/_DateInput.native.js +89 -1
- package/dist/components/inputs/datePicker/DatePicker.js +24 -1
- package/dist/components/inputs/datePicker/DayPicker.js +64 -1
- package/dist/components/inputs/datePicker/MonthPicker.js +62 -1
- package/dist/components/inputs/datePicker/QuarterPicker.js +65 -1
- package/dist/components/inputs/datePicker/WeekPicker.js +74 -1
- package/dist/components/inputs/datePicker/YearPicker.js +70 -1
- package/dist/components/inputs/index.js +23 -1
- package/dist/components/inputs/upload/Upload.js +99 -0
- package/dist/components/inputs/upload/Upload.native.js +154 -0
- package/dist/components/inputs/upload/useUploadState.js +143 -0
- package/dist/components/layout/Layout.js +40 -1
- package/dist/components/layout/LayoutContent.js +42 -1
- package/dist/components/layout/LayoutHeader.js +70 -1
- package/dist/components/layout/LayoutSider.js +64 -1
- package/dist/components/layout/index.js +4 -1
- package/dist/components/list/FlatList.js +91 -1
- package/dist/components/list/ScrollView.js +58 -1
- package/dist/components/list/index.js +2 -1
- package/dist/components/modals/bottomDrawer/index.js +3 -1
- package/dist/components/modals/bottomDrawer/index.native.js +5 -1
- package/dist/components/modals/bottomDrawer/index.web.js +5 -1
- package/dist/components/modals/bottomDrawer/native/BottomDrawer.js +239 -1
- package/dist/components/modals/bottomDrawer/native/DrawerContext.js +17 -1
- package/dist/components/modals/bottomDrawer/native/DrawerHandle.js +12 -1
- package/dist/components/modals/bottomDrawer/native/DrawerScrollView.js +5 -1
- package/dist/components/modals/bottomDrawer/native/createDrawerScrollComponent.js +139 -1
- package/dist/components/modals/bottomDrawer/native/utils.js +65 -1
- package/dist/components/modals/bottomDrawer/web/BottomDrawer.js +5 -1
- package/dist/components/modals/drawer/Drawer.js +5 -1
- package/dist/components/modals/drawer/Drawer.native.js +3 -1
- package/dist/components/modals/drawer/Drawer.web.js +3 -1
- package/dist/components/modals/drawer/index.js +1 -1
- package/dist/components/modals/index.js +4 -1
- package/dist/components/modals/modal/Modal.js +84 -1
- package/dist/components/modals/modal/Modal.native.js +83 -1
- package/dist/components/modals/modal/ModalBackdrop.js +58 -1
- package/dist/components/modals/modal/ModalContent.js +28 -1
- package/dist/components/modals/modal/ModalFooter.js +31 -1
- package/dist/components/modals/modal/ModalHeader.js +50 -1
- package/dist/components/modals/modal/handler/ModalsHandler.js +61 -1
- package/dist/components/modals/modal/index.js +6 -1
- package/dist/components/modals/router/ModalRoute.js +15 -1
- package/dist/components/modals/router/ModalsRouter.js +120 -1
- package/dist/components/modals/router/ModalsRouterContext.js +16 -1
- package/dist/components/modals/router/index.js +6 -1
- package/dist/components/modals/router/useAllModalsParams.js +6 -1
- package/dist/components/modals/router/useModalParams.js +6 -1
- package/dist/components/modals/router/useModalsNavigation.js +6 -1
- package/dist/components/modals/router/useUpdateModalContainer.js +6 -1
- package/dist/components/presentation/Avatar.js +79 -1
- package/dist/components/presentation/AvatarLabel.js +60 -1
- package/dist/components/presentation/AvatarsGroup.js +30 -0
- package/dist/components/presentation/Badge.js +91 -1
- package/dist/components/presentation/ContentLabel.js +43 -1
- package/dist/components/presentation/Icon.js +20 -1
- package/dist/components/presentation/IconLabel.js +40 -1
- package/dist/components/presentation/Image.js +33 -1
- package/dist/components/presentation/ImageBackground.js +38 -1
- package/dist/components/presentation/LabelValue.js +51 -1
- package/dist/components/presentation/Progress.js +20 -0
- package/dist/components/presentation/Rate.js +58 -1
- package/dist/components/presentation/RateTag.js +35 -1
- package/dist/components/presentation/Result.js +60 -1
- package/dist/components/presentation/ResultBar.js +56 -1
- package/dist/components/presentation/Tag.js +69 -1
- package/dist/components/presentation/Tooltip.js +44 -1
- package/dist/components/presentation/index.js +16 -1
- package/dist/components/sections/Section.js +50 -1
- package/dist/components/sections/SectionItem.js +24 -1
- package/dist/components/sections/SectionItemDropdown.js +68 -1
- package/dist/components/sections/SectionItemLink.js +35 -1
- package/dist/components/sections/index.js +4 -1
- package/dist/components/state/Loading.js +20 -1
- package/dist/components/state/LoadingView.js +37 -1
- package/dist/components/state/StatePresenter.js +41 -1
- package/dist/components/state/index.js +3 -1
- package/dist/components/steps/ActiveStepContent.js +16 -0
- package/dist/components/steps/StepsHandler.js +53 -0
- package/dist/components/steps/StepsMenu.js +14 -0
- package/dist/components/steps/StepsNavigation.js +37 -0
- package/dist/components/steps/index.js +4 -0
- package/dist/components/structure/Accordion.js +69 -1
- package/dist/components/structure/AccordionGroup.js +35 -1
- package/dist/components/structure/Affix.js +34 -0
- package/dist/components/structure/Affix.native.js +3 -0
- package/dist/components/structure/BlurView.js +59 -1
- package/dist/components/structure/Card.js +46 -1
- package/dist/components/structure/Col.js +22 -1
- package/dist/components/structure/GradientView.js +42 -1
- package/dist/components/structure/KeyboardAvoidingView.js +52 -1
- package/dist/components/structure/Row.js +50 -1
- package/dist/components/structure/SafeAreaView.js +42 -1
- package/dist/components/structure/Segment.js +51 -1
- package/dist/components/structure/TopBar.js +57 -1
- package/dist/components/structure/View.js +44 -1
- package/dist/components/structure/index.js +14 -1
- package/dist/components/structure/overlay/OverlayHandler.js +83 -1
- package/dist/components/structure/overlay/OverlayHandler.native.js +6 -1
- package/dist/components/structure/overlay/OverlayWrapper.js +52 -1
- package/dist/components/structure/overlay/calculatePosition.js +29 -1
- package/dist/components/structure/overlay/smartPlacement.js +32 -1
- package/dist/components/structure/popover/Popover.js +135 -1
- package/dist/components/structure/popover/Popover.native.js +105 -1
- package/dist/components/structure/popover/PopoverContent.js +18 -1
- package/dist/components/structure/popover/Popover_BU.js +157 -1
- package/dist/components/table/DataTable.js +62 -1
- package/dist/components/table/Pagination.js +128 -1
- package/dist/components/table/Table.js +66 -1
- package/dist/components/table/TableCol.js +67 -1
- package/dist/components/table/TableHeader.js +69 -1
- package/dist/components/table/TableHeaderRow.js +31 -1
- package/dist/components/table/TableRow.js +30 -1
- package/dist/components/table/index.js +7 -1
- package/dist/components/tabs/ActiveTabContent.js +38 -1
- package/dist/components/tabs/TabsHandler.js +16 -1
- package/dist/components/tabs/TabsMenu.js +15 -1
- package/dist/components/tabs/index.js +3 -1
- package/dist/components/text/DateText.js +24 -1
- package/dist/components/text/Text.js +32 -1
- package/dist/components/text/VerticalText.js +29 -1
- package/dist/components/text/index.js +3 -1
- package/dist/components/theme/ThemePicker.js +48 -1
- package/dist/components/theme/ThemePickerDrawer.js +12 -1
- package/dist/components/theme/ThemeStatusBar.js +3 -1
- package/dist/components/theme/ThemeStatusBar.native.js +9 -1
- package/dist/components/theme/ThemeThumb.js +98 -1
- package/dist/components/theme/index.js +3 -1
- package/dist/helpers/debounce.js +9 -1
- package/dist/helpers/index.js +5 -1
- package/dist/helpers/options.js +65 -1
- package/dist/helpers/random.js +5 -1
- package/dist/helpers/storage.js +76 -1
- package/dist/helpers/string.js +74 -1
- package/dist/i18n/I18n.js +96 -1
- package/dist/i18n/I18nProvider.js +40 -1
- package/dist/i18n/index.js +2 -1
- package/dist/index.js +8 -1
- package/dist/modifiers/_helpers.js +6 -1
- package/dist/modifiers/alignConverter.js +11 -1
- package/dist/modifiers/animation.js +18 -1
- package/dist/modifiers/animations/animatedEffects.js +64 -1
- package/dist/modifiers/animations/animatedEffects.native.js +55 -1
- package/dist/modifiers/animations/animatedEffects.web.js +55 -1
- package/dist/modifiers/animations/fadeEffect.js +46 -1
- package/dist/modifiers/animations/fadeEffect.native.js +33 -1
- package/dist/modifiers/animations/fadeEffect.web.js +3 -1
- package/dist/modifiers/animations/scaleEffect.js +46 -1
- package/dist/modifiers/animations/scaleEffect.native.js +33 -1
- package/dist/modifiers/animations/scrollEffect.web.js +3 -1
- package/dist/modifiers/animations/slideEffect.js +64 -1
- package/dist/modifiers/animations/slideEffect.native.js +53 -1
- package/dist/modifiers/animations/slideEffect.web.js +3 -1
- package/dist/modifiers/applyStyles.js +7 -1
- package/dist/modifiers/background.js +34 -1
- package/dist/modifiers/border.js +86 -1
- package/dist/modifiers/colorConverter.js +13 -1
- package/dist/modifiers/cursor.js +21 -1
- package/dist/modifiers/default.js +9 -1
- package/dist/modifiers/display.js +22 -1
- package/dist/modifiers/flex.js +20 -1
- package/dist/modifiers/flexWrapper.js +87 -1
- package/dist/modifiers/fullColor.js +32 -1
- package/dist/modifiers/grid.js +27 -1
- package/dist/modifiers/hover.js +28 -1
- package/dist/modifiers/logger.js +6 -1
- package/dist/modifiers/margin.js +25 -1
- package/dist/modifiers/overflow.js +28 -1
- package/dist/modifiers/padding.js +25 -1
- package/dist/modifiers/position.js +57 -1
- package/dist/modifiers/responsiveConverter.js +19 -1
- package/dist/modifiers/shadow.js +35 -1
- package/dist/modifiers/size.js +59 -1
- package/dist/modifiers/sizeConverter.js +12 -1
- package/dist/modifiers/state.js +33 -1
- package/dist/modifiers/text.js +62 -1
- package/dist/modifiers/textConverter.js +12 -1
- package/dist/modifiers/themeComponent.js +11 -1
- package/dist/responsive/ResponsiveHandler.js +28 -1
- package/dist/responsive/index.js +2 -1
- package/dist/responsive/responsiveHooks.js +67 -1
- package/dist/theme/ThemeHandler.js +81 -1
- package/dist/theme/default/base.js +95 -1
- package/dist/theme/default/blackTheme.js +47 -1
- package/dist/theme/default/cyberpunkTheme.js +36 -1
- package/dist/theme/default/darkTheme.js +35 -1
- package/dist/theme/default/hackerTheme.js +55 -1
- package/dist/theme/default/lightTheme.js +35 -1
- package/dist/theme/default/paperTheme.js +36 -1
- package/dist/theme/default/themes.js +15 -1
- package/dist/theme/format/colorsVariations.js +31 -1
- package/dist/theme/format/formatTheme.js +28 -1
- package/dist/theme/helpers/colorScale.js +12 -1
- package/dist/theme/helpers/contrastColor.js +18 -1
- package/dist/theme/helpers/dynamicColor.js +32 -1
- package/dist/theme/helpers/mergePreset.js +7 -1
- package/dist/theme/helpers/relatedScales.js +34 -1
- package/dist/theme/helpers/sizeScale.js +20 -1
- package/dist/theme/helpers/textScale.js +15 -1
- package/dist/theme/index.js +2 -1
- package/package.json +1 -3
- package/src/abstractions/Icon.js +1 -1
- package/src/abstractions/TextInput.js +10 -1
- package/src/components/actions/ActionsDrawer.js +1 -1
- package/src/components/actions/Button.js +3 -1
- package/src/components/actions/FloatingMenu.js +1 -1
- package/src/components/actions/menu/HorizontalMenu.js +2 -1
- package/src/components/actions/menu/VerticalMenu.js +2 -1
- package/src/components/filter/DateFilter.js +72 -0
- package/src/components/filter/FilterGroup.js +17 -0
- package/src/components/filter/FilterHandler.js +54 -0
- package/src/components/filter/FilterItem.js +30 -0
- package/src/components/filter/PopoverFilterItem.js +84 -0
- package/src/components/filter/SearchInput.js +49 -0
- package/src/components/filter/index.js +6 -0
- package/src/components/form/Form.js +9 -3
- package/src/components/form/FormItem.js +26 -1
- package/src/components/form/FormWrapperComponent.js +12 -3
- package/src/components/form/useNewForm.js +55 -4
- package/src/components/helpers/Separator.js +15 -11
- package/src/components/helpers/index.js +1 -0
- package/src/components/index.js +2 -0
- package/src/components/inputs/BooleanSelect.js +14 -0
- package/src/components/inputs/DateInput.js +3 -1
- package/src/components/inputs/DateRangeInput.js +41 -0
- package/src/components/inputs/Editable.js +129 -0
- package/src/components/inputs/EnabledSelect.js +14 -0
- package/src/components/inputs/InputWrapper.js +7 -4
- package/src/components/inputs/NumberInput.js +10 -5
- package/src/components/inputs/NumberRangeInput.js +41 -0
- package/src/components/inputs/PasswordInput.js +24 -0
- package/src/components/inputs/Picker.js +2 -2
- package/src/components/inputs/Select.js +61 -47
- package/src/components/inputs/TextArea.js +5 -0
- package/src/components/inputs/TextInput.js +14 -4
- package/src/components/inputs/UploadInput.js +140 -0
- package/src/components/inputs/index.js +9 -0
- package/src/components/inputs/upload/Upload.js +99 -0
- package/src/components/inputs/upload/Upload.native.js +154 -0
- package/src/components/inputs/upload/useUploadState.js +143 -0
- package/src/components/layout/LayoutHeader.js +1 -0
- package/src/components/presentation/AvatarLabel.js +1 -1
- package/src/components/presentation/AvatarsGroup.js +30 -0
- package/src/components/presentation/Badge.js +3 -2
- package/src/components/presentation/ContentLabel.js +1 -1
- package/src/components/presentation/IconLabel.js +1 -0
- package/src/components/presentation/Progress.js +20 -0
- package/src/components/presentation/index.js +2 -0
- package/src/components/sections/Section.js +1 -1
- package/src/components/sections/SectionItemLink.js +4 -2
- package/src/components/steps/ActiveStepContent.js +16 -0
- package/src/components/steps/StepsHandler.js +53 -0
- package/src/components/steps/StepsMenu.js +14 -0
- package/src/components/steps/StepsNavigation.js +37 -0
- package/src/components/steps/index.js +4 -0
- package/src/components/structure/Affix.js +34 -0
- package/src/components/structure/Affix.native.js +3 -0
- package/src/components/structure/Card.js +1 -0
- package/src/components/structure/TopBar.js +13 -1
- package/src/components/structure/index.js +1 -0
- package/src/components/structure/overlay/OverlayHandler.js +9 -1
- package/src/components/structure/popover/Popover.js +22 -5
- package/src/components/table/DataTable.js +7 -2
- package/src/components/table/Table.js +2 -1
- package/src/components/tabs/ActiveTabContent.js +4 -1
- package/src/components/text/DateText.js +15 -2
- package/src/modifiers/border.js +15 -9
- package/src/modifiers/size.js +8 -5
- package/src/theme/default/base.js +2 -0
- package/src/theme/default/hackerTheme.js +1 -10
- package/src/theme/default/paperTheme.js +1 -14
|
@@ -1 +1,169 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
+
}
|