@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.
Files changed (77) hide show
  1. package/dist/abstractions/KeyboardDismissView.js +3 -0
  2. package/dist/abstractions/KeyboardDismissView.native.js +9 -0
  3. package/dist/abstractions/index.js +1 -0
  4. package/dist/components/actions/ClearLink.js +6 -0
  5. package/dist/components/actions/FloatingMenu.js +1 -1
  6. package/dist/components/calendar/CalendarNav.js +6 -6
  7. package/dist/components/carousel/Carousel.js +48 -0
  8. package/dist/components/carousel/CarouselArrows.js +40 -0
  9. package/dist/components/carousel/CarouselArrows.native.js +40 -0
  10. package/dist/components/carousel/CarouselDots.js +32 -0
  11. package/dist/components/carousel/CarouselDots.native.js +36 -0
  12. package/dist/components/carousel/CarouselHandler.js +86 -0
  13. package/dist/components/carousel/CarouselSlider.js +124 -0
  14. package/dist/components/carousel/CarouselSlider.native.js +121 -0
  15. package/dist/components/carousel/InfiniteCarousel.js +50 -0
  16. package/dist/components/carousel/index.js +6 -0
  17. package/dist/components/form/Form.js +5 -3
  18. package/dist/components/index.js +3 -1
  19. package/dist/components/inputs/DateInput.js +7 -4
  20. package/dist/components/inputs/InputWrapper.js +1 -2
  21. package/dist/components/inputs/Select.js +56 -52
  22. package/dist/components/inputs/TextInput.js +7 -6
  23. package/dist/components/inputs/datePicker/DayPicker.js +71 -23
  24. package/dist/components/inputs/datePicker/MonthPicker.js +61 -32
  25. package/dist/components/inputs/datePicker/QuarterPicker.js +62 -33
  26. package/dist/components/inputs/datePicker/WeekPicker.js +65 -24
  27. package/dist/components/inputs/datePicker/YearPicker.js +69 -40
  28. package/dist/components/keyboard/KeyboardDismissButton.js +3 -0
  29. package/dist/components/keyboard/KeyboardDismissButton.native.js +38 -0
  30. package/dist/components/keyboard/index.js +1 -0
  31. package/dist/components/modals/bottomDrawer/native/BottomDrawer.js +28 -7
  32. package/dist/components/presentation/LabelValue.js +1 -1
  33. package/dist/components/presentation/Result.js +11 -3
  34. package/dist/components/structure/KeyboardAvoidingView.js +9 -2
  35. package/dist/components/theme/ThemePicker.js +7 -12
  36. package/dist/components/theme/ThemeThumb.js +1 -1
  37. package/dist/index.js +1 -0
  38. package/dist/theme/ThemeHandler.js +31 -3
  39. package/package.json +1 -1
  40. package/src/abstractions/KeyboardDismissView.js +3 -0
  41. package/src/abstractions/KeyboardDismissView.native.js +9 -0
  42. package/src/abstractions/index.js +1 -0
  43. package/src/components/actions/ClearLink.js +6 -0
  44. package/src/components/actions/FloatingMenu.js +1 -1
  45. package/src/components/calendar/CalendarNav.js +6 -6
  46. package/src/components/carousel/Carousel.js +48 -0
  47. package/src/components/carousel/CarouselArrows.js +40 -0
  48. package/src/components/carousel/CarouselArrows.native.js +40 -0
  49. package/src/components/carousel/CarouselDots.js +32 -0
  50. package/src/components/carousel/CarouselDots.native.js +36 -0
  51. package/src/components/carousel/CarouselHandler.js +86 -0
  52. package/src/components/carousel/CarouselSlider.js +124 -0
  53. package/src/components/carousel/CarouselSlider.native.js +121 -0
  54. package/src/components/carousel/InfiniteCarousel.js +50 -0
  55. package/src/components/carousel/index.js +6 -0
  56. package/src/components/form/Form.js +2 -0
  57. package/src/components/index.js +2 -0
  58. package/src/components/inputs/DateInput.js +4 -1
  59. package/src/components/inputs/InputWrapper.js +1 -2
  60. package/src/components/inputs/Select.js +19 -15
  61. package/src/components/inputs/TextInput.js +5 -4
  62. package/src/components/inputs/datePicker/DayPicker.js +69 -21
  63. package/src/components/inputs/datePicker/MonthPicker.js +60 -31
  64. package/src/components/inputs/datePicker/QuarterPicker.js +60 -31
  65. package/src/components/inputs/datePicker/WeekPicker.js +63 -22
  66. package/src/components/inputs/datePicker/YearPicker.js +68 -39
  67. package/src/components/keyboard/KeyboardDismissButton.js +3 -0
  68. package/src/components/keyboard/KeyboardDismissButton.native.js +38 -0
  69. package/src/components/keyboard/index.js +1 -0
  70. package/src/components/modals/bottomDrawer/native/BottomDrawer.js +27 -6
  71. package/src/components/presentation/LabelValue.js +1 -1
  72. package/src/components/presentation/Result.js +10 -2
  73. package/src/components/structure/KeyboardAvoidingView.js +9 -2
  74. package/src/components/theme/ThemePicker.js +8 -13
  75. package/src/components/theme/ThemeThumb.js +1 -1
  76. package/src/index.js +1 -0
  77. 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
- export function ThemeHandler({ breakpoints, themes, initTheme, onChangeTheme, children }) {
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,