@neko-os/ui 0.4.0 → 0.5.1
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/abstractions/KeyboardDismissView.js +3 -0
- package/dist/abstractions/KeyboardDismissView.native.js +9 -0
- package/dist/abstractions/index.js +1 -0
- package/dist/components/actions/ClearLink.js +6 -0
- package/dist/components/actions/FloatingMenu.js +1 -1
- package/dist/components/calendar/CalendarNav.js +6 -6
- package/dist/components/carousel/Carousel.js +48 -0
- package/dist/components/carousel/CarouselArrows.js +40 -0
- package/dist/components/carousel/CarouselArrows.native.js +40 -0
- package/dist/components/carousel/CarouselDots.js +32 -0
- package/dist/components/carousel/CarouselDots.native.js +36 -0
- package/dist/components/carousel/CarouselHandler.js +86 -0
- package/dist/components/carousel/CarouselSlider.js +124 -0
- package/dist/components/carousel/CarouselSlider.native.js +121 -0
- package/dist/components/carousel/InfiniteCarousel.js +50 -0
- package/dist/components/carousel/index.js +6 -0
- package/dist/components/form/Form.js +5 -3
- package/dist/components/index.js +3 -1
- package/dist/components/inputs/DateInput.js +7 -4
- package/dist/components/inputs/InputWrapper.js +1 -2
- package/dist/components/inputs/Select.js +56 -52
- package/dist/components/inputs/TextInput.js +7 -6
- package/dist/components/inputs/datePicker/DayPicker.js +71 -23
- package/dist/components/inputs/datePicker/MonthPicker.js +61 -32
- package/dist/components/inputs/datePicker/QuarterPicker.js +62 -33
- package/dist/components/inputs/datePicker/WeekPicker.js +65 -24
- package/dist/components/inputs/datePicker/YearPicker.js +69 -40
- package/dist/components/keyboard/KeyboardDismissButton.js +3 -0
- package/dist/components/keyboard/KeyboardDismissButton.native.js +38 -0
- package/dist/components/keyboard/index.js +1 -0
- package/dist/components/modals/bottomDrawer/native/BottomDrawer.js +28 -7
- package/dist/components/presentation/LabelValue.js +1 -1
- package/dist/components/presentation/Result.js +11 -3
- package/dist/components/structure/KeyboardAvoidingView.js +9 -2
- package/dist/components/theme/ThemePicker.js +7 -12
- package/dist/components/theme/ThemeThumb.js +1 -1
- package/dist/index.js +1 -0
- package/dist/theme/ThemeHandler.js +31 -3
- package/package.json +1 -1
- package/src/abstractions/KeyboardDismissView.js +3 -0
- package/src/abstractions/KeyboardDismissView.native.js +9 -0
- package/src/abstractions/index.js +1 -0
- package/src/components/actions/ClearLink.js +6 -0
- package/src/components/actions/FloatingMenu.js +1 -1
- package/src/components/calendar/CalendarNav.js +6 -6
- package/src/components/carousel/Carousel.js +48 -0
- package/src/components/carousel/CarouselArrows.js +40 -0
- package/src/components/carousel/CarouselArrows.native.js +40 -0
- package/src/components/carousel/CarouselDots.js +32 -0
- package/src/components/carousel/CarouselDots.native.js +36 -0
- package/src/components/carousel/CarouselHandler.js +86 -0
- package/src/components/carousel/CarouselSlider.js +124 -0
- package/src/components/carousel/CarouselSlider.native.js +121 -0
- package/src/components/carousel/InfiniteCarousel.js +50 -0
- package/src/components/carousel/index.js +6 -0
- package/src/components/form/Form.js +2 -0
- package/src/components/index.js +2 -0
- package/src/components/inputs/DateInput.js +4 -1
- package/src/components/inputs/InputWrapper.js +1 -2
- package/src/components/inputs/Select.js +19 -15
- package/src/components/inputs/TextInput.js +5 -4
- package/src/components/inputs/datePicker/DayPicker.js +69 -21
- package/src/components/inputs/datePicker/MonthPicker.js +60 -31
- package/src/components/inputs/datePicker/QuarterPicker.js +60 -31
- package/src/components/inputs/datePicker/WeekPicker.js +63 -22
- package/src/components/inputs/datePicker/YearPicker.js +68 -39
- package/src/components/keyboard/KeyboardDismissButton.js +3 -0
- package/src/components/keyboard/KeyboardDismissButton.native.js +38 -0
- package/src/components/keyboard/index.js +1 -0
- package/src/components/modals/bottomDrawer/native/BottomDrawer.js +27 -6
- package/src/components/presentation/LabelValue.js +1 -1
- package/src/components/presentation/Result.js +10 -2
- package/src/components/structure/KeyboardAvoidingView.js +9 -2
- package/src/components/theme/ThemePicker.js +8 -13
- package/src/components/theme/ThemeThumb.js +1 -1
- package/src/index.js +1 -0
- package/src/theme/ThemeHandler.js +31 -3
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { mergeDeepRight } from 'ramda'
|
|
1
|
+
import { keys, mergeDeepRight, omit, pick, pickBy } from 'ramda'
|
|
2
2
|
import React from 'react'
|
|
3
3
|
|
|
4
4
|
import { DEFAULT_LIGHT_THEME } from './default/lightTheme'
|
|
5
|
+
import { DEFAULT_THEMES } from './default/themes'
|
|
5
6
|
import { getThemeValue } from './helpers/relatedScales'
|
|
6
7
|
import { useFormattedTheme } from './format/formatTheme'
|
|
7
8
|
|
|
@@ -52,8 +53,33 @@ export function useMergeThemeComponent(name, props) {
|
|
|
52
53
|
const themeProps = useThemeComponent(name)
|
|
53
54
|
return mergeDeepRight(themeProps, props)
|
|
54
55
|
}
|
|
56
|
+
export function useAllThemes() {
|
|
57
|
+
const { disableDefaultThemes, enableOnlyThemes, rawThemesParam } = useThemeHandler()
|
|
58
|
+
const themes = rawThemesParam || {}
|
|
59
|
+
const themesParamKeys = keys(themes)
|
|
55
60
|
|
|
56
|
-
|
|
61
|
+
let allThemes = mergeDeepRight(DEFAULT_THEMES, themes)
|
|
62
|
+
if (disableDefaultThemes === true) {
|
|
63
|
+
allThemes = pickBy((_, key) => themesParamKeys.includes(key), allThemes)
|
|
64
|
+
} else if (disableDefaultThemes?.length) {
|
|
65
|
+
allThemes = omit(disableDefaultThemes, allThemes)
|
|
66
|
+
}
|
|
67
|
+
if (enableOnlyThemes?.length) {
|
|
68
|
+
allThemes = pick(enableOnlyThemes, allThemes)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return allThemes
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export function ThemeHandler({
|
|
75
|
+
breakpoints,
|
|
76
|
+
themes,
|
|
77
|
+
initTheme,
|
|
78
|
+
onChangeTheme,
|
|
79
|
+
children,
|
|
80
|
+
disableDefaultThemes,
|
|
81
|
+
enableOnlyThemes,
|
|
82
|
+
}) {
|
|
57
83
|
const [themePickerOpen, setThemePickerOpen] = React.useState(false)
|
|
58
84
|
const openThemePicker = () => setThemePickerOpen(true)
|
|
59
85
|
const [activeThemeKey, setActiveThemeKey] = React.useState(initTheme || 'light')
|
|
@@ -66,7 +92,9 @@ export function ThemeHandler({ breakpoints, themes, initTheme, onChangeTheme, ch
|
|
|
66
92
|
|
|
67
93
|
const value = {
|
|
68
94
|
theme,
|
|
69
|
-
themes,
|
|
95
|
+
rawThemesParam: themes,
|
|
96
|
+
disableDefaultThemes,
|
|
97
|
+
enableOnlyThemes,
|
|
70
98
|
activeThemeKey,
|
|
71
99
|
toggleTheme,
|
|
72
100
|
themePickerOpen,
|