@neko-os/ui 0.0.13 → 0.2.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/NekoUI.js +1 -1
- package/dist/abstractions/FlatList.native.js +1 -1
- package/dist/abstractions/KeyboardAvoidingView.js +1 -0
- package/dist/abstractions/KeyboardAvoidingView.native.js +1 -0
- package/dist/abstractions/ScrollView.native.js +1 -1
- package/dist/components/actions/ActionsDrawer.js +1 -0
- package/dist/components/actions/Button.js +1 -1
- package/dist/components/actions/FloatingMenu.js +1 -0
- package/dist/components/actions/index.js +1 -1
- package/dist/components/animations/AnimatedTopBar.js +1 -0
- package/dist/components/animations/AnimatedTopBar.native.js +1 -0
- package/dist/components/animations/AnimatedTopBar.web.js +1 -0
- package/dist/components/animations/ParallaxHeader.js +1 -0
- package/dist/components/animations/ParallaxHeader.native.js +1 -0
- package/dist/components/animations/ParallaxHeader.web.js +1 -0
- package/dist/components/animations/ReanimatedScrollHandler.js +1 -0
- package/dist/components/animations/ReanimatedScrollHandler.native.js +1 -0
- package/dist/components/animations/ReanimatedScrollHandler.web.js +1 -0
- package/dist/components/animations/index.js +1 -1
- package/dist/components/feedback/alerter.js +1 -1
- package/dist/components/feedback/confirmer.js +1 -1
- package/dist/components/form/FormItem.js +1 -1
- package/dist/components/form/FormList.js +1 -1
- package/dist/components/form/SubmitButton.js +1 -1
- package/dist/components/form/index.js +1 -1
- package/dist/components/form/useNewForm.js +1 -1
- package/dist/components/form/validation/defaultMessages.js +1 -0
- package/dist/components/form/validation/index.js +1 -0
- package/dist/components/form/validation/normalizeRules.js +1 -0
- package/dist/components/form/validation/shouldValidateOn.js +1 -0
- package/dist/components/form/validation/validateRules.js +1 -0
- package/dist/components/form/validation/validators.js +1 -0
- package/dist/components/index.js +1 -1
- package/dist/components/inputs/InputWrapper.js +1 -1
- package/dist/components/inputs/NumberInput.js +1 -1
- package/dist/components/inputs/Picker.js +1 -1
- package/dist/components/inputs/Select.js +1 -1
- package/dist/components/modals/bottomDrawer/index.js +1 -0
- package/dist/components/modals/bottomDrawer/index.native.js +1 -0
- package/dist/components/modals/bottomDrawer/index.web.js +1 -0
- package/dist/components/modals/bottomDrawer/native/BottomDrawer.js +1 -0
- package/dist/components/modals/bottomDrawer/native/DrawerContext.js +1 -0
- package/dist/components/modals/bottomDrawer/native/DrawerHandle.js +1 -0
- package/dist/components/modals/bottomDrawer/native/DrawerScrollView.js +1 -0
- package/dist/components/modals/bottomDrawer/native/createDrawerScrollComponent.js +1 -0
- package/dist/components/modals/bottomDrawer/web/BottomDrawer.js +1 -0
- package/dist/components/modals/drawer/Drawer.js +1 -0
- package/dist/components/modals/index.js +1 -0
- package/dist/components/modals/modal/Modal.js +1 -0
- package/dist/components/modals/modal/Modal.native.js +1 -0
- package/dist/components/modals/modal/ModalBackdrop.js +1 -0
- package/dist/components/modals/modal/ModalContent.js +1 -0
- package/dist/components/modals/modal/ModalFooter.js +1 -0
- package/dist/components/modals/modal/ModalHeader.js +1 -0
- package/dist/components/modals/modal/handler/ModalsHandler.js +1 -0
- package/dist/components/modals/router/ModalRoute.js +1 -0
- package/dist/components/modals/router/ModalsRouter.js +1 -0
- package/dist/components/modals/router/ModalsRouterContext.js +1 -0
- package/dist/components/modals/router/index.js +1 -0
- package/dist/components/modals/router/useAllModalsParams.js +1 -0
- package/dist/components/modals/router/useModalParams.js +1 -0
- package/dist/components/modals/router/useModalsNavigation.js +1 -0
- package/dist/components/modals/router/useUpdateModalContainer.js +1 -0
- package/dist/components/presentation/Avatar.js +1 -1
- package/dist/components/presentation/AvatarLabel.js +1 -1
- package/dist/components/presentation/LabelValue.js +1 -1
- package/dist/components/presentation/Result.js +1 -1
- package/dist/components/presentation/Tooltip.js +1 -1
- package/dist/components/sections/Section.js +1 -0
- package/dist/components/sections/SectionItem.js +1 -0
- package/dist/components/sections/SectionItemDropdown.js +1 -0
- package/dist/components/sections/SectionItemLink.js +1 -0
- package/dist/components/sections/index.js +1 -0
- package/dist/components/state/StatePresenter.js +1 -0
- package/dist/components/state/index.js +1 -1
- package/dist/components/structure/BlurView.js +1 -1
- package/dist/components/structure/KeyboardAvoidingView.js +1 -0
- package/dist/components/structure/TopBar.js +1 -0
- package/dist/components/structure/index.js +1 -1
- package/dist/components/structure/popover/Popover.js +1 -1
- package/dist/components/structure/popover/Popover.native.js +1 -1
- package/dist/components/structure/popover/Popover_BU.js +1 -1
- package/dist/components/text/DateText.js +1 -0
- package/dist/components/text/index.js +1 -1
- package/dist/components/theme/ThemePicker.js +1 -1
- package/dist/components/theme/ThemePickerDrawer.js +1 -1
- package/dist/helpers/index.js +1 -1
- package/dist/helpers/storage.js +1 -1
- package/dist/responsive/responsiveHooks.js +1 -1
- package/dist/theme/ThemeHandler.js +1 -1
- package/dist/theme/default/base.js +1 -1
- package/dist/theme/default/blackTheme.js +1 -1
- package/dist/theme/default/cyberpunkTheme.js +1 -1
- package/dist/theme/default/darkTheme.js +1 -1
- package/dist/theme/default/hackerTheme.js +1 -1
- package/dist/theme/default/lightTheme.js +1 -1
- package/dist/theme/default/paperTheme.js +1 -1
- package/dist/theme/default/themes.js +1 -1
- package/package.json +1 -1
- package/src/NekoUI.js +1 -1
- package/src/abstractions/FlatList.native.js +2 -1
- package/src/abstractions/KeyboardAvoidingView.js +3 -0
- package/src/abstractions/KeyboardAvoidingView.native.js +3 -0
- package/src/abstractions/ScrollView.native.js +2 -2
- package/src/components/actions/ActionsDrawer.js +68 -0
- package/src/components/actions/Button.js +2 -1
- package/src/components/actions/FloatingMenu.js +39 -0
- package/src/components/actions/index.js +2 -0
- package/src/components/animations/AnimatedTopBar.js +10 -0
- package/src/components/animations/AnimatedTopBar.native.js +34 -0
- package/src/components/animations/AnimatedTopBar.web.js +1 -0
- package/src/components/animations/ParallaxHeader.js +9 -0
- package/src/components/animations/ParallaxHeader.native.js +32 -0
- package/src/components/animations/ParallaxHeader.web.js +32 -0
- package/src/components/animations/ReanimatedScrollHandler.js +8 -0
- package/src/components/animations/ReanimatedScrollHandler.native.js +24 -0
- package/src/components/animations/ReanimatedScrollHandler.web.js +1 -0
- package/src/components/animations/index.js +3 -0
- package/src/components/feedback/alerter.js +1 -1
- package/src/components/feedback/confirmer.js +1 -1
- package/src/components/form/FormItem.js +42 -5
- package/src/components/form/FormList.js +23 -4
- package/src/components/form/SubmitButton.js +4 -2
- package/src/components/form/index.js +1 -0
- package/src/components/form/useNewForm.js +108 -15
- package/src/components/form/validation/defaultMessages.js +20 -0
- package/src/components/form/validation/index.js +5 -0
- package/src/components/form/validation/normalizeRules.js +22 -0
- package/src/components/form/validation/shouldValidateOn.js +21 -0
- package/src/components/form/validation/validateRules.js +83 -0
- package/src/components/form/validation/validators.js +82 -0
- package/src/components/index.js +2 -0
- package/src/components/inputs/InputWrapper.js +1 -1
- package/src/components/inputs/NumberInput.js +6 -5
- package/src/components/inputs/Picker.js +3 -2
- package/src/components/inputs/Select.js +31 -15
- package/src/components/modals/bottomDrawer/index.js +3 -0
- package/src/components/{structure → modals}/bottomDrawer/index.native.js +2 -1
- package/src/components/{structure → modals}/bottomDrawer/index.web.js +2 -1
- package/src/components/{structure → modals}/bottomDrawer/native/BottomDrawer.js +15 -21
- package/src/components/{structure → modals}/bottomDrawer/native/DrawerHandle.js +1 -1
- package/src/components/modals/bottomDrawer/native/DrawerScrollView.js +5 -0
- package/src/components/modals/bottomDrawer/native/createDrawerScrollComponent.js +131 -0
- package/src/components/modals/index.js +4 -0
- package/src/components/{structure → modals}/modal/Modal.native.js +1 -1
- package/src/components/{structure → modals}/modal/ModalBackdrop.js +1 -1
- package/src/components/{structure → modals}/modal/ModalContent.js +1 -1
- package/src/components/{structure → modals}/modal/ModalFooter.js +1 -1
- package/src/components/{structure → modals}/modal/ModalHeader.js +1 -1
- package/src/components/modals/router/ModalRoute.js +15 -0
- package/src/components/modals/router/ModalsRouter.js +120 -0
- package/src/components/modals/router/ModalsRouterContext.js +16 -0
- package/src/components/modals/router/index.js +6 -0
- package/src/components/modals/router/useAllModalsParams.js +6 -0
- package/src/components/modals/router/useModalParams.js +6 -0
- package/src/components/modals/router/useModalsNavigation.js +6 -0
- package/src/components/modals/router/useUpdateModalContainer.js +6 -0
- package/src/components/presentation/Avatar.js +2 -2
- package/src/components/presentation/AvatarLabel.js +2 -0
- package/src/components/presentation/LabelValue.js +7 -5
- package/src/components/presentation/Result.js +2 -2
- package/src/components/presentation/Tooltip.js +1 -1
- package/src/components/sections/Section.js +50 -0
- package/src/components/sections/SectionItem.js +24 -0
- package/src/components/sections/SectionItemDropdown.js +68 -0
- package/src/components/sections/SectionItemLink.js +33 -0
- package/src/components/sections/index.js +4 -0
- package/src/components/state/StatePresenter.js +41 -0
- package/src/components/state/index.js +1 -0
- package/src/components/structure/BlurView.js +1 -0
- package/src/components/structure/KeyboardAvoidingView.js +52 -0
- package/src/components/structure/TopBar.js +45 -0
- package/src/components/structure/index.js +2 -3
- package/src/components/structure/popover/Popover.js +1 -1
- package/src/components/structure/popover/Popover.native.js +1 -1
- package/src/components/structure/popover/Popover_BU.js +1 -1
- package/src/components/text/DateText.js +11 -0
- package/src/components/text/index.js +1 -0
- package/src/components/theme/ThemePicker.js +1 -2
- package/src/components/theme/ThemePickerDrawer.js +3 -4
- package/src/helpers/index.js +1 -0
- package/src/helpers/storage.js +32 -9
- package/src/responsive/responsiveHooks.js +6 -0
- package/src/theme/ThemeHandler.js +6 -3
- package/src/theme/default/base.js +16 -4
- package/src/theme/default/blackTheme.js +33 -21
- package/src/theme/default/cyberpunkTheme.js +24 -22
- package/src/theme/default/darkTheme.js +1 -0
- package/src/theme/default/hackerTheme.js +40 -19
- package/src/theme/default/lightTheme.js +1 -0
- package/src/theme/default/paperTheme.js +14 -0
- package/src/theme/default/themes.js +0 -9
- package/dist/components/structure/bottomDrawer/index.js +0 -1
- package/dist/components/structure/bottomDrawer/index.native.js +0 -1
- package/dist/components/structure/bottomDrawer/index.web.js +0 -1
- package/dist/components/structure/bottomDrawer/native/BottomDrawer.js +0 -1
- package/dist/components/structure/bottomDrawer/native/DrawerContext.js +0 -1
- package/dist/components/structure/bottomDrawer/native/DrawerHandle.js +0 -1
- package/dist/components/structure/bottomDrawer/native/DrawerScrollView.js +0 -1
- package/dist/components/structure/bottomDrawer/web/BottomDrawer.js +0 -1
- package/dist/components/structure/drawer/Drawer.js +0 -1
- package/dist/components/structure/modal/Modal.js +0 -1
- package/dist/components/structure/modal/Modal.native.js +0 -1
- package/dist/components/structure/modal/ModalBackdrop.js +0 -1
- package/dist/components/structure/modal/ModalContent.js +0 -1
- package/dist/components/structure/modal/ModalFooter.js +0 -1
- package/dist/components/structure/modal/ModalHeader.js +0 -1
- package/dist/components/structure/modal/handler/ModalsHandler.js +0 -1
- package/dist/theme/default/deepWoodsTheme.js +0 -1
- package/dist/theme/default/forestTheme.js +0 -1
- package/dist/theme/default/midnightTheme.js +0 -1
- package/dist/theme/default/msdosTheme.js +0 -1
- package/dist/theme/default/oceanTheme.js +0 -1
- package/dist/theme/default/pastelTheme.js +0 -1
- package/dist/theme/default/sunsetTheme.js +0 -1
- package/src/components/structure/bottomDrawer/index.js +0 -1
- package/src/components/structure/bottomDrawer/native/DrawerScrollView.js +0 -83
- package/src/theme/default/deepWoodsTheme.js +0 -34
- package/src/theme/default/forestTheme.js +0 -34
- package/src/theme/default/midnightTheme.js +0 -34
- package/src/theme/default/msdosTheme.js +0 -55
- package/src/theme/default/oceanTheme.js +0 -34
- package/src/theme/default/pastelTheme.js +0 -34
- package/src/theme/default/sunsetTheme.js +0 -35
- /package/dist/components/{structure → modals}/bottomDrawer/native/utils.js +0 -0
- /package/dist/components/{structure → modals}/drawer/Drawer.native.js +0 -0
- /package/dist/components/{structure → modals}/drawer/Drawer.web.js +0 -0
- /package/dist/components/{structure → modals}/drawer/index.js +0 -0
- /package/dist/components/{structure → modals}/modal/index.js +0 -0
- /package/src/components/{structure → modals}/bottomDrawer/native/DrawerContext.js +0 -0
- /package/src/components/{structure → modals}/bottomDrawer/native/utils.js +0 -0
- /package/src/components/{structure → modals}/bottomDrawer/web/BottomDrawer.js +0 -0
- /package/src/components/{structure → modals}/drawer/Drawer.js +0 -0
- /package/src/components/{structure → modals}/drawer/Drawer.native.js +0 -0
- /package/src/components/{structure → modals}/drawer/Drawer.web.js +0 -0
- /package/src/components/{structure → modals}/drawer/index.js +0 -0
- /package/src/components/{structure → modals}/modal/Modal.js +0 -0
- /package/src/components/{structure → modals}/modal/handler/ModalsHandler.js +0 -0
- /package/src/components/{structure → modals}/modal/index.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
2
|
|
|
3
|
-
import { BottomDrawer } from '
|
|
3
|
+
import { BottomDrawer } from '../../modals/bottomDrawer'
|
|
4
4
|
import { PopoverContent } from './PopoverContent'
|
|
5
5
|
import { useRegisterOverlay } from '../overlay/OverlayHandler'
|
|
6
6
|
import { useResponsiveValue } from '../../../responsive'
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { is } from 'ramda'
|
|
2
|
+
import dayjs from 'dayjs'
|
|
3
|
+
|
|
4
|
+
import { Text } from '../text'
|
|
5
|
+
|
|
6
|
+
export function DateText({ format = 'DD MMM YYYY', value, children, ...props }) {
|
|
7
|
+
value = is(String, children) ? children : value
|
|
8
|
+
// TODO: Get format from i18n
|
|
9
|
+
|
|
10
|
+
return <Text {...props}>{dayjs(value).format(format)}</Text>
|
|
11
|
+
}
|
|
@@ -7,7 +7,7 @@ import { Picker } from '../inputs'
|
|
|
7
7
|
import { ThemeThumb } from './ThemeThumb'
|
|
8
8
|
|
|
9
9
|
export function ThemePicker({ onChange, onlyKeys, hideKeys }) {
|
|
10
|
-
const { activeThemeKey,
|
|
10
|
+
const { activeThemeKey, themes, onChangeTheme } = useThemeHandler()
|
|
11
11
|
|
|
12
12
|
let options = pipe(
|
|
13
13
|
mergeDeepRight(DEFAULT_THEMES),
|
|
@@ -27,7 +27,6 @@ export function ThemePicker({ onChange, onlyKeys, hideKeys }) {
|
|
|
27
27
|
gap="lg"
|
|
28
28
|
value={activeThemeKey}
|
|
29
29
|
onChange={(key) => {
|
|
30
|
-
setActiveThemeKey(key)
|
|
31
30
|
onChangeTheme?.(key)
|
|
32
31
|
onChange?.(key)
|
|
33
32
|
}}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { BottomDrawer } from '../
|
|
2
|
-
import { ScrollView } from '../list/ScrollView'
|
|
1
|
+
import { BottomDrawer, DrawerScrollView } from '../modals/bottomDrawer'
|
|
3
2
|
import { ThemePicker } from './ThemePicker'
|
|
4
3
|
|
|
5
4
|
export function ThemePickerDrawer({ open, onClose, onChange }) {
|
|
6
5
|
return (
|
|
7
6
|
<BottomDrawer open={open} onClose={onClose} maxWidth={550} snapPoints={['50%', '85%']}>
|
|
8
|
-
<
|
|
7
|
+
<DrawerScrollView padding="md">
|
|
9
8
|
<ThemePicker onChange={onChange} />
|
|
10
|
-
</
|
|
9
|
+
</DrawerScrollView>
|
|
11
10
|
</BottomDrawer>
|
|
12
11
|
)
|
|
13
12
|
}
|
package/src/helpers/index.js
CHANGED
package/src/helpers/storage.js
CHANGED
|
@@ -2,22 +2,42 @@ import React from 'react'
|
|
|
2
2
|
|
|
3
3
|
import { AbsStorage } from '../abstractions/helpers/storage'
|
|
4
4
|
|
|
5
|
+
// Pub/Sub listener registry for cross-component sync
|
|
6
|
+
const listeners = {}
|
|
7
|
+
|
|
8
|
+
function notify(key, value) {
|
|
9
|
+
if (listeners[key]) {
|
|
10
|
+
listeners[key].forEach((cb) => cb(value))
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function subscribe(key, cb) {
|
|
15
|
+
if (!listeners[key]) listeners[key] = []
|
|
16
|
+
listeners[key].push(cb)
|
|
17
|
+
return () => {
|
|
18
|
+
listeners[key] = listeners[key].filter((fn) => fn !== cb)
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
5
22
|
function set(key, value) {
|
|
6
|
-
|
|
23
|
+
AbsStorage.set(key, JSON.stringify(value))
|
|
24
|
+
notify(key, value)
|
|
7
25
|
}
|
|
8
26
|
|
|
9
27
|
function setAsync(key, value) {
|
|
10
|
-
return AbsStorage.setAsync(key, JSON.stringify(value))
|
|
28
|
+
return AbsStorage.setAsync(key, JSON.stringify(value)).then(() => {
|
|
29
|
+
notify(key, value)
|
|
30
|
+
})
|
|
11
31
|
}
|
|
12
32
|
|
|
13
|
-
function get(key) {
|
|
33
|
+
function get(key, defaultValue) {
|
|
14
34
|
const value = AbsStorage.get(key)
|
|
15
|
-
return formatStoragedValue(value)
|
|
35
|
+
return formatStoragedValue(value) ?? defaultValue
|
|
16
36
|
}
|
|
17
37
|
|
|
18
|
-
function getAsync(key) {
|
|
19
|
-
return AbsStorage.
|
|
20
|
-
return formatStoragedValue(value)
|
|
38
|
+
function getAsync(key, defaultValue) {
|
|
39
|
+
return AbsStorage.getAsync(key).then((value) => {
|
|
40
|
+
return formatStoragedValue(value) ?? defaultValue
|
|
21
41
|
})
|
|
22
42
|
}
|
|
23
43
|
|
|
@@ -34,11 +54,14 @@ function formatStoragedValue(value) {
|
|
|
34
54
|
}
|
|
35
55
|
|
|
36
56
|
function useState(key, defaultValue) {
|
|
37
|
-
const [value, setValue] = React.useState(get(key)
|
|
57
|
+
const [value, setValue] = React.useState(() => get(key) ?? defaultValue)
|
|
58
|
+
|
|
59
|
+
React.useEffect(() => {
|
|
60
|
+
return subscribe(key, setValue)
|
|
61
|
+
}, [key])
|
|
38
62
|
|
|
39
63
|
const handleChange = (newValue) => {
|
|
40
64
|
set(key, newValue)
|
|
41
|
-
setValue(newValue)
|
|
42
65
|
}
|
|
43
66
|
|
|
44
67
|
return [value, handleChange]
|
|
@@ -17,6 +17,12 @@ export function useGetResponsiveValue() {
|
|
|
17
17
|
const isWeb = value?.web !== undefined && Platform.OS === 'web'
|
|
18
18
|
if (isWeb) return value?.web
|
|
19
19
|
|
|
20
|
+
const isIOS = value?.ios !== undefined && Platform.OS === 'ios'
|
|
21
|
+
if (isIOS) return value?.ios
|
|
22
|
+
|
|
23
|
+
const isAndroid = value?.android !== undefined && Platform.OS === 'android'
|
|
24
|
+
if (isAndroid) return value?.android
|
|
25
|
+
|
|
20
26
|
const isObj = is(Object, value)
|
|
21
27
|
|
|
22
28
|
if (!isObj) return value
|
|
@@ -57,18 +57,21 @@ export function ThemeHandler({ breakpoints, themes, initTheme, onChangeTheme, ch
|
|
|
57
57
|
const [themePickerOpen, setThemePickerOpen] = React.useState(false)
|
|
58
58
|
const openThemePicker = () => setThemePickerOpen(true)
|
|
59
59
|
const [activeThemeKey, setActiveThemeKey] = React.useState(initTheme || 'light')
|
|
60
|
-
const
|
|
60
|
+
const handleChangeTheme = (key) => {
|
|
61
|
+
setActiveThemeKey(key)
|
|
62
|
+
onChangeTheme?.(key)
|
|
63
|
+
}
|
|
64
|
+
const toggleTheme = () => handleChangeTheme(activeThemeKey === 'light' ? 'dark' : 'light')
|
|
61
65
|
const theme = useFormattedTheme(themes, activeThemeKey)
|
|
62
66
|
|
|
63
67
|
const value = {
|
|
64
68
|
theme,
|
|
65
69
|
themes,
|
|
66
70
|
activeThemeKey,
|
|
67
|
-
setActiveThemeKey,
|
|
68
71
|
toggleTheme,
|
|
69
72
|
themePickerOpen,
|
|
70
73
|
setThemePickerOpen,
|
|
71
|
-
onChangeTheme,
|
|
74
|
+
onChangeTheme: handleChangeTheme,
|
|
72
75
|
openThemePicker,
|
|
73
76
|
toggleTheme,
|
|
74
77
|
breakpoints: breakpoints || DEFAULT_BREAKPOINTS,
|
|
@@ -36,13 +36,25 @@ export const BASE_THEME = {
|
|
|
36
36
|
},
|
|
37
37
|
|
|
38
38
|
// Buttons, inputs, etc.
|
|
39
|
+
// elementHeights: {
|
|
40
|
+
// xxxs: 10,
|
|
41
|
+
// xxs: 15,
|
|
42
|
+
// xs: 20,
|
|
43
|
+
// sm: 30,
|
|
44
|
+
// md: 35,
|
|
45
|
+
// lg: 40,
|
|
46
|
+
// xl: 50,
|
|
47
|
+
// xxl: 60,
|
|
48
|
+
// xxxl: 70,
|
|
49
|
+
// },
|
|
50
|
+
|
|
39
51
|
elementHeights: {
|
|
40
52
|
xxxs: 10,
|
|
41
53
|
xxs: 15,
|
|
42
|
-
xs:
|
|
43
|
-
sm:
|
|
44
|
-
md:
|
|
45
|
-
lg:
|
|
54
|
+
xs: 25,
|
|
55
|
+
sm: 35,
|
|
56
|
+
md: 40,
|
|
57
|
+
lg: 45,
|
|
46
58
|
xl: 50,
|
|
47
59
|
xxl: 60,
|
|
48
60
|
xxxl: 70,
|
|
@@ -7,29 +7,41 @@ export const DEFAULT_BLACK_THEME = mergeDeepRight(BASE_THEME, {
|
|
|
7
7
|
|
|
8
8
|
colors: {
|
|
9
9
|
primary: '#818DF9',
|
|
10
|
-
text: '#FFFFFF',
|
|
11
|
-
text2: '#E0E0E0',
|
|
12
|
-
text3: '#B0B0B0',
|
|
13
|
-
text4: '#8A8A8A',
|
|
14
10
|
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
text: '#F2F2F2',
|
|
12
|
+
text2: '#CFCFCF',
|
|
13
|
+
text3: '#A6A6A6',
|
|
14
|
+
text4: '#737373',
|
|
15
|
+
|
|
16
|
+
mainBG: '#0A0A0A',
|
|
17
|
+
overlayBG: '#141414',
|
|
17
18
|
backdrop: '#1f1f1f',
|
|
18
|
-
shadow: 'rgba(
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
19
|
+
shadow: 'rgba(0, 0, 0, 0.7)',
|
|
20
|
+
transparent: 'rgba(0, 0, 0, 0)',
|
|
21
|
+
divider: '#262626',
|
|
22
|
+
|
|
23
|
+
blue: '#3A7BFF',
|
|
24
|
+
yellow: '#FFC857',
|
|
25
|
+
green: '#2ECC71',
|
|
26
|
+
purple: '#9B5DE5',
|
|
27
|
+
orange: '#FF8C42',
|
|
28
|
+
cyan: '#00C2D1',
|
|
29
|
+
red: '#FF4D4F',
|
|
30
|
+
navy: '#1F2A44',
|
|
29
31
|
indigo: '#5C6BC0',
|
|
30
|
-
gray: '#
|
|
31
|
-
brown: '#
|
|
32
|
-
lylac: '#
|
|
33
|
-
pink: '#
|
|
32
|
+
gray: '#8E8E93',
|
|
33
|
+
brown: '#8B5E3C',
|
|
34
|
+
lylac: '#C77DFF',
|
|
35
|
+
pink: '#FF6FAE',
|
|
34
36
|
},
|
|
37
|
+
|
|
38
|
+
// components: {
|
|
39
|
+
// Card: {
|
|
40
|
+
// border: true,
|
|
41
|
+
// },
|
|
42
|
+
|
|
43
|
+
// Section: {
|
|
44
|
+
// border: true,
|
|
45
|
+
// },
|
|
46
|
+
// },
|
|
35
47
|
})
|
|
@@ -5,30 +5,32 @@ export const CYBERPUNK_DARK_THEME = mergeDeepRight(BASE_THEME, {
|
|
|
5
5
|
label: 'Cyberpunk',
|
|
6
6
|
|
|
7
7
|
colors: {
|
|
8
|
-
primary: '#
|
|
9
|
-
text: '#FFFFFF',
|
|
10
|
-
text2: '#B3B3B3',
|
|
11
|
-
text3: '#8C8C8C',
|
|
12
|
-
text4: '#666666',
|
|
8
|
+
primary: '#FF4FD8',
|
|
13
9
|
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
text: '#F5EFFF',
|
|
11
|
+
text2: '#D6C8FF',
|
|
12
|
+
text3: '#A78BFA',
|
|
13
|
+
text4: '#7C6BB3',
|
|
14
|
+
|
|
15
|
+
mainBG: '#0A0614',
|
|
16
|
+
overlayBG: '#140A26',
|
|
16
17
|
backdrop: '#0A0A0F',
|
|
17
|
-
shadow: 'rgba(
|
|
18
|
-
|
|
18
|
+
shadow: 'rgba(0, 0, 0, 0.7)',
|
|
19
|
+
transparent: 'rgba(0, 0, 0, 0)',
|
|
20
|
+
divider: '#24123A',
|
|
19
21
|
|
|
20
|
-
blue: '#
|
|
21
|
-
yellow: '#
|
|
22
|
-
green: '#
|
|
23
|
-
purple: '#
|
|
24
|
-
orange: '#
|
|
25
|
-
cyan: '#
|
|
26
|
-
red: '#
|
|
27
|
-
navy: '#
|
|
28
|
-
indigo: '#
|
|
29
|
-
gray: '#
|
|
30
|
-
brown: '#
|
|
31
|
-
lylac: '#
|
|
32
|
-
pink: '#
|
|
22
|
+
blue: '#00B3FF',
|
|
23
|
+
yellow: '#FFD166',
|
|
24
|
+
green: '#00F5A0',
|
|
25
|
+
purple: '#9D4EDD',
|
|
26
|
+
orange: '#FF7A18',
|
|
27
|
+
cyan: '#00E5FF',
|
|
28
|
+
red: '#FF3D6E',
|
|
29
|
+
navy: '#1B1B3A',
|
|
30
|
+
indigo: '#5A67FF',
|
|
31
|
+
gray: '#8E8EAA',
|
|
32
|
+
brown: '#8B5CF6',
|
|
33
|
+
lylac: '#C77DFF',
|
|
34
|
+
pink: '#FF4FD8',
|
|
33
35
|
},
|
|
34
36
|
})
|
|
@@ -7,37 +7,58 @@ export const DEFAULT_MATRIX_THEME = mergeDeepRight(BASE_THEME, {
|
|
|
7
7
|
|
|
8
8
|
colors: {
|
|
9
9
|
primary: '#00FF41',
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
|
|
11
|
+
// text: '#00FF41',
|
|
12
|
+
// text2: '#00CC33',
|
|
13
|
+
// text3: '#009926',
|
|
14
|
+
// text4: '#00661A',
|
|
15
|
+
|
|
16
|
+
text: '#D2FFE9',
|
|
17
|
+
text2: '#A6F5D0',
|
|
18
|
+
text3: '#6EE7B7',
|
|
19
|
+
text4: '#3FAF85',
|
|
14
20
|
|
|
15
21
|
mainBG: '#000000',
|
|
16
22
|
overlayBG: '#0A0A0A',
|
|
17
23
|
backdrop: '#000000',
|
|
18
24
|
shadow: 'rgba(0, 255, 65, 0.2)',
|
|
25
|
+
transparent: 'rgba(0, 0, 0, 0)',
|
|
19
26
|
divider: 'rgba(0,255,65, 0.3)',
|
|
20
27
|
|
|
21
|
-
blue: '#
|
|
22
|
-
yellow: '#
|
|
28
|
+
blue: '#00B3FF',
|
|
29
|
+
yellow: '#E6FF3F',
|
|
23
30
|
green: '#00FF41',
|
|
24
|
-
purple: '#
|
|
25
|
-
orange: '#
|
|
26
|
-
cyan: '#
|
|
27
|
-
red: '#
|
|
28
|
-
navy: '#
|
|
29
|
-
indigo: '#
|
|
30
|
-
gray: '#
|
|
31
|
-
brown: '#
|
|
32
|
-
lylac: '#
|
|
33
|
-
pink: '#
|
|
31
|
+
purple: '#9B5DE5',
|
|
32
|
+
orange: '#FF9F1C',
|
|
33
|
+
cyan: '#00FFE0',
|
|
34
|
+
red: '#FF3B3B',
|
|
35
|
+
navy: '#001F2F',
|
|
36
|
+
indigo: '#4B6BFF',
|
|
37
|
+
gray: '#2E2E2E',
|
|
38
|
+
brown: '#5C4033',
|
|
39
|
+
lylac: '#C084FC',
|
|
40
|
+
pink: '#FF4FD8',
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
radius: {
|
|
44
|
+
xxxs: 0,
|
|
45
|
+
xxs: 1,
|
|
46
|
+
xs: 2,
|
|
47
|
+
sm: 3,
|
|
48
|
+
md: 4,
|
|
49
|
+
lg: 5,
|
|
50
|
+
xl: 6,
|
|
51
|
+
xxl: 7,
|
|
52
|
+
xxxl: 8,
|
|
34
53
|
},
|
|
35
54
|
|
|
36
55
|
components: {
|
|
37
56
|
Card: {
|
|
38
|
-
border:
|
|
39
|
-
|
|
40
|
-
|
|
57
|
+
border: true,
|
|
58
|
+
},
|
|
59
|
+
|
|
60
|
+
Section: {
|
|
61
|
+
border: true,
|
|
41
62
|
},
|
|
42
63
|
},
|
|
43
64
|
})
|
|
@@ -32,4 +32,18 @@ export const DEFAULT_PAPER_THEME = mergeDeepRight(BASE_THEME, {
|
|
|
32
32
|
lylac: '#C7B7D4',
|
|
33
33
|
pink: '#E4A1B2',
|
|
34
34
|
},
|
|
35
|
+
|
|
36
|
+
components: {
|
|
37
|
+
Card: {
|
|
38
|
+
border: true,
|
|
39
|
+
},
|
|
40
|
+
|
|
41
|
+
Section: {
|
|
42
|
+
border: true,
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
TopBar: {
|
|
46
|
+
borderB: true,
|
|
47
|
+
},
|
|
48
|
+
},
|
|
35
49
|
})
|
|
@@ -3,22 +3,13 @@ import { DEFAULT_BLACK_THEME } from './blackTheme'
|
|
|
3
3
|
import { DEFAULT_DARK_THEME } from './darkTheme'
|
|
4
4
|
import { DEFAULT_LIGHT_THEME } from './lightTheme'
|
|
5
5
|
import { DEFAULT_MATRIX_THEME } from './hackerTheme'
|
|
6
|
-
import { DEFAULT_MSDOS_THEME } from './msdosTheme'
|
|
7
6
|
import { DEFAULT_PAPER_THEME } from './paperTheme'
|
|
8
|
-
import { MIDNIGHT_NEON_THEME } from './midnightTheme'
|
|
9
7
|
|
|
10
8
|
export const DEFAULT_THEMES = {
|
|
11
9
|
light: DEFAULT_LIGHT_THEME,
|
|
12
10
|
dark: DEFAULT_DARK_THEME,
|
|
13
11
|
paper: DEFAULT_PAPER_THEME,
|
|
14
12
|
black: DEFAULT_BLACK_THEME,
|
|
15
|
-
// pastel: PASTEL_DREAM_THEME,
|
|
16
|
-
midnight: MIDNIGHT_NEON_THEME,
|
|
17
|
-
// sunset: SUNSET_GLOW_THEME,
|
|
18
|
-
// ocean: OCEAN_BREEZE_THEME,
|
|
19
|
-
// forest: FOREST_MIST_THEME,
|
|
20
13
|
cyberpunk: CYBERPUNK_DARK_THEME,
|
|
21
|
-
// deepWoods: DEEP_WOODS_DARK_THEME,
|
|
22
14
|
hacker: DEFAULT_MATRIX_THEME,
|
|
23
|
-
msdos: DEFAULT_MSDOS_THEME,
|
|
24
15
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{BottomDrawer}from"./web/BottomDrawer";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{BottomDrawer}from"./native/BottomDrawer";export{DrawerScrollView}from"./native/DrawerScrollView";export{DrawerHandle}from"./native/DrawerHandle";export{DrawerProvider,useDrawerContext}from"./native/DrawerContext";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{BottomDrawer}from"./native/BottomDrawer";export{DrawerScrollView}from"./native/DrawerScrollView";export{DrawerHandle}from"./native/DrawerHandle";export{DrawerProvider,useDrawerContext}from"./native/DrawerContext";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/bottomDrawer/native/BottomDrawer.js";var _excluded=["children","render","setRender","open","onClose","snapPoints","useSafeArea","enableOverScroll","enableHandlePanningGesture","enableContentPanningGesture","animationConfig","hideHandle","contentProps"],_excluded2=["open"];import{GestureDetector,Gesture,GestureHandlerRootView}from'react-native-gesture-handler';import{Modal,Dimensions,StyleSheet,BackHandler,Platform}from"react-native-web";import{useSafeAreaInsets}from'react-native-safe-area-context';import Animated,{useSharedValue,useAnimatedStyle,withSpring,runOnJS,useAnimatedReaction}from'react-native-reanimated';import React from'react';import{DrawerHandle}from"./DrawerHandle";import{DrawerProvider}from"./DrawerContext";import{Pressable}from"../../../actions/Pressable";import{View}from"../../View";import{normalizeSnapPoints,findClosestSnapPoint}from"./utils";import{useColors}from"../../../../theme/ThemeHandler";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";function InnerContent(_ref){var children=_ref.children,render=_ref.render,setRender=_ref.setRender,open=_ref.open,onClose=_ref.onClose,_ref$snapPoints=_ref.snapPoints,snapPoints=_ref$snapPoints===void 0?['50%']:_ref$snapPoints,_ref$useSafeArea=_ref.useSafeArea,useSafeArea=_ref$useSafeArea===void 0?true:_ref$useSafeArea,_ref$enableOverScroll=_ref.enableOverScroll,enableOverScroll=_ref$enableOverScroll===void 0?true:_ref$enableOverScroll,_ref$enableHandlePann=_ref.enableHandlePanningGesture,enableHandlePanningGesture=_ref$enableHandlePann===void 0?true:_ref$enableHandlePann,_ref$enableContentPan=_ref.enableContentPanningGesture,enableContentPanningGesture=_ref$enableContentPan===void 0?true:_ref$enableContentPan,_ref$animationConfig=_ref.animationConfig,animationConfig=_ref$animationConfig===void 0?{damping:50,stiffness:500,mass:0.3,overshootClamping:true,restDisplacementThreshold:10,restSpeedThreshold:10}:_ref$animationConfig,hideHandle=_ref.hideHandle,contentProps=_ref.contentProps,props=_objectWithoutProperties(_ref,_excluded);var _Dimensions$get=Dimensions.get('window'),SCREEN_HEIGHT=_Dimensions$get.height;var insets=useSafeAreaInsets();var bottomInset=useSafeArea?insets.bottom:0;var colors=useColors();var translateY=useSharedValue(SCREEN_HEIGHT);var scrollOffset=useSharedValue(0);var scrollEnabled=useSharedValue(false);var isScrolling=useSharedValue(false);var snapIndex=useSharedValue(0);var velocityY=useSharedValue(0);var normalizedSnapPoints=React.useMemo(function(){return normalizeSnapPoints(snapPoints,SCREEN_HEIGHT,bottomInset);},[snapPoints,useSafeArea]);var maxSnapPoint=React.useMemo(function(){return Math.max.apply(Math,_toConsumableArray(normalizedSnapPoints));},[normalizedSnapPoints]);var minSnapPoint=React.useMemo(function(){return Math.min.apply(Math,_toConsumableArray(normalizedSnapPoints));},[normalizedSnapPoints]);React.useEffect(function(){if(open){var targetY=SCREEN_HEIGHT-normalizedSnapPoints[0];translateY.value=withSpring(targetY,animationConfig);snapIndex.value=0;}else{translateY.value=withSpring(SCREEN_HEIGHT,animationConfig,function(){scrollOffset.value=0;scrollEnabled.value=false;runOnJS(setRender)(false);});snapIndex.value=-1;}},[open]);React.useEffect(function(){if(!onClose||!open||Platform.OS!=='android')return;var backHandler=BackHandler.addEventListener('hardwareBackPress',function(){onClose();return true;});return function(){return backHandler.remove();};},[open,onClose]);useAnimatedReaction(function(){return translateY.value;},function(currentY){var atMaxSnapPoint=currentY<=SCREEN_HEIGHT-maxSnapPoint;scrollEnabled.value=atMaxSnapPoint;},[]);var handleClose=React.useCallback(function(){onClose==null?void 0:onClose();},[onClose]);if(!onClose)handleClose=false;var snapTo=React.useCallback(function(index){'worklet';var snapPoint=normalizedSnapPoints[index];if(snapPoint!==undefined){translateY.value=withSpring(SCREEN_HEIGHT-snapPoint,animationConfig);snapIndex.value=index;}},[normalizedSnapPoints]);var gestureStartTranslateY=useSharedValue(0);var panGesture=React.useMemo(function(){return Gesture.Pan().enabled(enableHandlePanningGesture||enableContentPanningGesture).onStart(function(){gestureStartTranslateY.value=translateY.value;}).onUpdate(function(event){var newTranslateY=gestureStartTranslateY.value+event.translationY;var maxPosition=SCREEN_HEIGHT-maxSnapPoint;if(enableOverScroll&&newTranslateY>=maxPosition){translateY.value=newTranslateY;}else{translateY.value=Math.max(maxPosition,Math.min(SCREEN_HEIGHT,newTranslateY));}velocityY.value=event.velocityY;}).onEnd(function(){var currentPosition=SCREEN_HEIGHT-translateY.value;var shouldClose=!!handleClose&&(velocityY.value>2000&¤tPosition<minSnapPoint*0.75||currentPosition<minSnapPoint*0.25);if(shouldClose){runOnJS(handleClose)();}else{var closestSnapIndex=findClosestSnapPoint(currentPosition,normalizedSnapPoints,velocityY.value);var targetSnapPoint=normalizedSnapPoints[closestSnapIndex];translateY.value=withSpring(SCREEN_HEIGHT-targetSnapPoint,animationConfig);snapIndex.value=closestSnapIndex;}});},[enableHandlePanningGesture,enableContentPanningGesture,enableOverScroll,maxSnapPoint,minSnapPoint,normalizedSnapPoints,animationConfig,handleClose]);var animatedSheetStyle=useAnimatedStyle(function(){var currentHeight=SCREEN_HEIGHT-translateY.value;return{transform:[{translateY:translateY.value}],maxHeight:currentHeight};});var contextValue=React.useMemo(function(){return{translateY:translateY,scrollOffset:scrollOffset,scrollEnabled:scrollEnabled,isScrolling:isScrolling,snapIndex:snapIndex,maxSnapPoint:maxSnapPoint,snapTo:snapTo,animationConfig:animationConfig};},[maxSnapPoint]);return _jsxs(GestureHandlerRootView,{style:{flex:1},children:[_jsx(Pressable,{absoluteFill:true,bg:"backdrop_op70",onPress:function onPress(){if(!handleClose)return;runOnJS(handleClose)();}}),_jsx(DrawerProvider,{value:contextValue,children:_jsx(GestureDetector,{gesture:panGesture,children:_jsx(Animated.View,{style:[styles.container,{height:SCREEN_HEIGHT},animatedSheetStyle],pointerEvents:"box-none",children:_jsxs(View,Object.assign({flex:true,bg:"overlayBG",shadow:true,paddingB:useSafeArea&&bottomInset,borderRadiusT:"xxxl",marginL:"auto",marginR:"auto",fullW:true},props,{children:[_jsx(DrawerHandle,{hide:hideHandle}),_jsx(View,Object.assign({flex:true},contentProps,{children:children}))]}))})})})]});}var styles=StyleSheet.create({container:{position:'absolute',left:0,right:0,top:0}});export function BottomDrawer(_ref2){var open=_ref2.open,props=_objectWithoutProperties(_ref2,_excluded2);var _React$useState=React.useState(open),_React$useState2=_slicedToArray(_React$useState,2),render=_React$useState2[0],setRender=_React$useState2[1];React.useEffect(function(){if(open){setRender(true);}},[open]);return _jsx(Modal,{visible:render,transparent:true,statusBarTranslucent:true,navigationBarTranslucent:true,animationType:"none",children:_jsx(InnerContent,Object.assign({},props,{open:open,render:render,setRender:setRender}))});}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/bottomDrawer/native/DrawerContext.js";import React from'react';import{jsx as _jsx}from"react/jsx-runtime";var DrawerContext=React.createContext(null);export function DrawerProvider(_ref){var children=_ref.children,value=_ref.value;return _jsx(DrawerContext.Provider,{value:value,children:children});}export function useDrawerContext(){var context=React.useContext(DrawerContext);if(!context){throw new Error('useDrawerContext must be used within a DrawerProvider');}return context;}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/bottomDrawer/native/DrawerHandle.js";import{Divider}from"../../../helpers/Separator";import{View}from"../../View";import{jsx as _jsx}from"react/jsx-runtime";export function DrawerHandle(_ref){var hide=_ref.hide;if(!!hide)return false;return _jsx(View,{center:true,padding:"sm",children:_jsx(Divider,{maxWidth:35,line:4,color:"text4_op30",height:4})});}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["children","onScroll","scrollEventThrottle","showsVerticalScrollIndicator","bounces"];var _this=this,_jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/bottomDrawer/native/DrawerScrollView.js";import React from'react';import{ScrollView}from"react-native-web";import Animated,{useAnimatedScrollHandler,useAnimatedReaction,runOnJS}from'react-native-reanimated';import{useDrawerContext}from"./DrawerContext";import{jsx as _jsx}from"react/jsx-runtime";var AnimatedScrollView=Animated.createAnimatedComponent(ScrollView);export var DrawerScrollView=React.forwardRef(function(props,ref){var children=props.children,_onScroll=props.onScroll,_props$scrollEventThr=props.scrollEventThrottle,scrollEventThrottle=_props$scrollEventThr===void 0?16:_props$scrollEventThr,_props$showsVerticalS=props.showsVerticalScrollIndicator,showsVerticalScrollIndicator=_props$showsVerticalS===void 0?true:_props$showsVerticalS,_props$bounces=props.bounces,bounces=_props$bounces===void 0?true:_props$bounces,scrollViewProps=_objectWithoutProperties(props,_excluded);var _useDrawerContext=useDrawerContext(),scrollOffset=_useDrawerContext.scrollOffset,scrollEnabled=_useDrawerContext.scrollEnabled,isScrolling=_useDrawerContext.isScrolling;var scrollRef=React.useRef(null);var _React$useState=React.useState(true),_React$useState2=_slicedToArray(_React$useState,2),isScrollEnabled=_React$useState2[0],setIsScrollEnabled=_React$useState2[1];React.useImperativeHandle(ref,function(){return scrollRef.current;});useAnimatedReaction(function(){return scrollEnabled.value;},function(enabled){if(!enabled&&scrollOffset.value>0){runOnJS(function(){var _scrollRef$current;(_scrollRef$current=scrollRef.current)==null?void 0:_scrollRef$current.scrollTo({y:0,animated:false});})();scrollOffset.value=0;}runOnJS(setIsScrollEnabled)(enabled);},[]);var handleScrollBeginDrag=React.useCallback(function(){isScrolling.value=true;},[isScrolling]);var handleScrollEndDrag=React.useCallback(function(){isScrolling.value=false;},[isScrolling]);var animatedScrollHandler=useAnimatedScrollHandler({onScroll:function onScroll(event){scrollOffset.value=event.contentOffset.y;if(_onScroll){runOnJS(_onScroll)(event);}},onBeginDrag:function onBeginDrag(){runOnJS(handleScrollBeginDrag)();},onEndDrag:function onEndDrag(){runOnJS(handleScrollEndDrag)();}});return _jsx(AnimatedScrollView,Object.assign({ref:scrollRef,style:{flex:1},scrollEnabled:isScrollEnabled,onScroll:animatedScrollHandler,scrollEventThrottle:scrollEventThrottle,showsVerticalScrollIndicator:showsVerticalScrollIndicator,bounces:bounces},scrollViewProps,{children:children}));});DrawerScrollView.displayName='DrawerScrollView';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["snapPoints","contentProps"];var _this=this,_jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/bottomDrawer/web/BottomDrawer.js";import{Drawer}from"../../drawer";import{jsx as _jsx}from"react/jsx-runtime";export var BottomDrawer=function BottomDrawer(_ref){var snapPoints=_ref.snapPoints,contentProps=_ref.contentProps,props=_objectWithoutProperties(_ref,_excluded);return _jsx(Drawer,Object.assign({height:(snapPoints==null?void 0:snapPoints[0])||400,contentProps:Object.assign({padding:0},contentProps)},props));};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/drawer/Drawer.js";import{Modal}from"../modal/Modal";import{jsx as _jsx}from"react/jsx-runtime";export function Drawer(props){return _jsx(Modal,Object.assign({position:"bottom"},props));}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectDestructuringEmpty from"@babel/runtime/helpers/objectDestructuringEmpty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/modal/Modal.js";var _excluded=["open","onClose","title","width","children","header","footer","noLayout","disableOutsideClick"],_excluded2=["contentProps","headerProps","footerProps","position"];import{pipe}from'ramda';import{AnimatedView}from"../../animations/AnimatedView";import{ModalBackdrop}from"./ModalBackdrop";import{ModalContent}from"./ModalContent";import{ModalFooter}from"./ModalFooter";import{ModalHeader}from"./ModalHeader";import{Portal}from"../../helpers/Portal";import{useDefaultModifier}from"../../../modifiers/default";import{useThemeComponentModifier}from"../../../modifiers/themeComponent";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";var DEFAULT_PROPS=function DEFAULT_PROPS(_ref){var _ref2=_slicedToArray(_ref,2);_objectDestructuringEmpty(_ref2[0]);var position=_ref2[1].position;var radiusKey='br';var height=undefined;if(position==='bottom'){radiusKey='borderRadiusT';height='95%';}else if(position==='top'){radiusKey='borderRadiusB';height='95%';}else if(position==='right'){radiusKey='borderRadiusL';height='100%';}else if(position==='left'){radiusKey='borderRadiusR';height='100%';}return _defineProperty(_defineProperty(_defineProperty(_defineProperty({maxWidth:'100%',maxHeight:!position&&'95%',height:height,scale:!position,fade:!!position,slide:position&&{from:position}},radiusKey,'xl'),"bg",'overlayBG'),"overflow",'hidden'),"shadow",true);};export function Modal(_ref4){var open=_ref4.open,onClose=_ref4.onClose,title=_ref4.title,_ref4$width=_ref4.width,width=_ref4$width===void 0?500:_ref4$width,children=_ref4.children,header=_ref4.header,footer=_ref4.footer,noLayout=_ref4.noLayout,disableOutsideClick=_ref4.disableOutsideClick,rootProps=_objectWithoutProperties(_ref4,_excluded);var _pipe=pipe(useThemeComponentModifier('Modal'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2);_objectDestructuringEmpty(_pipe2[0]);var formattedProps=_pipe2[1];var contentProps=formattedProps.contentProps,headerProps=formattedProps.headerProps,footerProps=formattedProps.footerProps,position=formattedProps.position,props=_objectWithoutProperties(formattedProps,_excluded2);var content=children;if(!noLayout){content=_jsxs(_Fragment,{children:[_jsx(ModalHeader,Object.assign({title:title,onClose:onClose},headerProps,{children:header})),_jsx(ModalContent,Object.assign({},contentProps,{children:children})),_jsx(ModalFooter,Object.assign({},footerProps,{children:footer}))]});}return _jsx(Portal,{children:_jsx(ModalBackdrop,{open:open,onClose:!disableOutsideClick&&onClose,position:position,children:_jsx(AnimatedView,Object.assign({className:"neko-modal",open:open,width:width},props,{onPress:function onPress(e){return e.stopPropagation();},children:content}))})});}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import _objectDestructuringEmpty from"@babel/runtime/helpers/objectDestructuringEmpty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/modal/Modal.native.js";var _excluded=["open","onClose","title","width","children","header","footer","noLayout","disableOutsideClick"],_excluded2=["contentProps","headerProps","footerProps"];import{Modal as RNModal,ScrollView}from"react-native-web";import{pipe}from'ramda';import{ModalBackdrop}from"./ModalBackdrop";import{ModalContent}from"./ModalContent";import{ModalFooter}from"./ModalFooter";import{ModalHeader}from"./ModalHeader";import{Pressable}from"../../actions/Pressable";import{View}from"../View";import{useDefaultModifier}from"../../../modifiers/default";import{useThemeComponentModifier}from"../../../modifiers/themeComponent";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";var DEFAULT_PROPS={maxWidth:'90%',maxHeight:'90%',scale:true,br:'xl',bg:'overlayBG',overflow:'hidden',shadow:true};export function Modal(_ref){var open=_ref.open,onClose=_ref.onClose,title=_ref.title,_ref$width=_ref.width,width=_ref$width===void 0?500:_ref$width,children=_ref.children,header=_ref.header,footer=_ref.footer,noLayout=_ref.noLayout,disableOutsideClick=_ref.disableOutsideClick,rootProps=_objectWithoutProperties(_ref,_excluded);var _pipe=pipe(useThemeComponentModifier('Modal'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2);_objectDestructuringEmpty(_pipe2[0]);var formattedProps=_pipe2[1];var contentProps=formattedProps.contentProps,headerProps=formattedProps.headerProps,footerProps=formattedProps.footerProps,props=_objectWithoutProperties(formattedProps,_excluded2);var content=children;if(!noLayout){content=_jsxs(_Fragment,{children:[_jsx(ModalHeader,Object.assign({title:title,onClose:onClose},headerProps,{children:header})),_jsx(ScrollView,{children:_jsx(ModalContent,Object.assign({},contentProps,{children:children}))}),_jsx(ModalFooter,Object.assign({},footerProps,{children:footer}))]});}return _jsx(RNModal,{animationType:"fade",transparent:true,visible:open,onRequestClose:onClose,allowSwipeDismissal:true,navigationBarTranslucent:true,statusBarTranslucent:true,children:_jsxs(ModalBackdrop,{open:open,useSimpleView:true,children:[_jsx(Pressable,{onPress:!disableOutsideClick?onClose:undefined,absolute:true,top:0,left:0,right:0,bottom:0,pointerEvents:"box-only"}),_jsx(View,Object.assign({width:width},props,{zIndex:10,children:content}))]})});}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _objectDestructuringEmpty from"@babel/runtime/helpers/objectDestructuringEmpty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/modal/ModalBackdrop.js";var _excluded=["open","onClose","children","useSimpleView"];import{pipe}from'ramda';import React from'react';import{AnimatedView}from"../../animations/AnimatedView";import{SafeAreaView}from"../SafeAreaView";import{useDefaultModifier}from"../../../modifiers/default";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);_objectDestructuringEmpty(_ref2[0]);var position=_ref2[1].position;var justify='center';var align='center';if(position==='bottom'){justify='flex-end';}else if(position==='top'){justify='flex-top';}else if(position==='left'){align='flex-start';}else if(position==='right'){align='flex-end';}return{fixed:true,top:0,left:0,right:0,bottom:0,justify:justify,align:align,lazy:true,unmountOnClose:true,fade:true,zIndex:500,bg:'backdrop_op70'};};export function ModalBackdrop(_ref3){var open=_ref3.open,onClose=_ref3.onClose,children=_ref3.children,useSimpleView=_ref3.useSimpleView,rootProps=_objectWithoutProperties(_ref3,_excluded);var modalRef=React.useRef();var _pipe=pipe(useThemeComponentModifier('ModalBackdrop'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2);_objectDestructuringEmpty(_pipe2[0]);var props=_pipe2[1];if(useSimpleView){return _jsx(SafeAreaView,Object.assign({className:"neko-modal-backdrop"},props,{children:children}));}return _jsx(AnimatedView,Object.assign({open:open,className:"neko-modal-backdrop",onPress:onClose},props,{children:children}));}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import _objectDestructuringEmpty from"@babel/runtime/helpers/objectDestructuringEmpty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/christianstorch/Apps/nekoapps/libs/neko-ui/src/components/structure/modal/ModalContent.js";var _excluded=["children"];import{pipe}from'ramda';import{View}from"../View";import{useDefaultModifier}from"../../../modifiers/default";import{useThemeComponentModifier}from"../../../modifiers/themeComponent";import{jsx as _jsx}from"react/jsx-runtime";var DEFAULT_PROPS={fullW:true,flex:true,scrollY:true,padding:'md'};export function ModalContent(_ref){var children=_ref.children,rootProps=_objectWithoutProperties(_ref,_excluded);var _pipe=pipe(useThemeComponentModifier('ModalContent'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2);_objectDestructuringEmpty(_pipe2[0]);var props=_pipe2[1];if(!children)return false;return _jsx(View,Object.assign({className:"neko-modal-content"},props,{children:children}));}
|
|
@@ -1 +0,0 @@
|
|
|
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/structure/modal/ModalFooter.js";var _excluded=["children"];import{pipe}from'ramda';import{View}from"../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}from"react/jsx-runtime";var DEFAULT_PROPS=function DEFAULT_PROPS(_ref){var _ref2=_slicedToArray(_ref,2),sizeCode=_ref2[0].sizeCode,_=_ref2[1];return{borderT:true,paddingH:sizeCode,paddingV:moveScale(sizeCode,-2),minHeight:moveScale(sizeCode,1),centerV:true};};export function ModalFooter(_ref3){var children=_ref3.children,rootProps=_objectWithoutProperties(_ref3,_excluded);var _pipe=pipe(useSizeConverter('elementHeights','md'),useThemeComponentModifier('ModalFooter'),useDefaultModifier(DEFAULT_PROPS))([{},rootProps]),_pipe2=_slicedToArray(_pipe,2);_objectDestructuringEmpty(_pipe2[0]);var props=_pipe2[1];if(!children)return false;return _jsx(View,Object.assign({className:"neko-modal-footer"},props,{children:children}));}
|
|
@@ -1 +0,0 @@
|
|
|
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/structure/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"../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 +0,0 @@
|
|
|
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/structure/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 +0,0 @@
|
|
|
1
|
-
import{mergeDeepRight}from'ramda';import{BASE_THEME}from"./base";export var DEEP_WOODS_DARK_THEME=mergeDeepRight(BASE_THEME,{label:'Deep Woods',colors:{primary:'#4CAF50',text:'#C8E6C9',text2:'#C8E6C9',text3:'#A5D6A7',text4:'#81C784',mainBG:'#0D1B14',overlayBG:'#16281F',backdrop:'#0D1B14',shadow:'rgba(39, 45, 52, 0.6)',divider:'rgba(255,255,255, 0.2)',blue:'#64B5F6',yellow:'#FBC02D',green:'#81C784',purple:'#9575CD',orange:'#FFB74D',cyan:'#4DD0E1',red:'#E57373',navy:'#1B263B',indigo:'#5C6BC0',gray:'#9E9E9E',brown:'#8D6E63',lylac:'#B39DDB',pink:'#F48FB1'}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{mergeDeepRight}from'ramda';import{BASE_THEME}from"./base";export var FOREST_MIST_THEME=mergeDeepRight(BASE_THEME,{label:'Forest Mist',colors:{primary:'#4CAF50',text:'#0B2414',text2:'#14532D',text3:'#1B5E20',text4:'#388E3C',mainBG:'#E9F5EC',overlayBG:'#FFFFFF',backdrop:'#E9F5EC',shadow:'rgba(39, 45, 52, 0.15)',divider:'rgba(0,0,0, 0.1)',blue:'#2563EB',yellow:'#F59E0B',green:'#15803D',purple:'#7C3AED',orange:'#EA580C',cyan:'#0891B2',red:'#B91C1C',navy:'#1E3A8A',indigo:'#4338CA',gray:'#94A3B8',brown:'#78350F',lylac:'#A78BFA',pink:'#F472B6'}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{mergeDeepRight}from'ramda';import{BASE_THEME}from"./base";export var MIDNIGHT_NEON_THEME=mergeDeepRight(BASE_THEME,{label:'Midnight',colors:{primary:'#FF00FF',text:'#F0F0F0',text2:'#D4D4D4',text3:'#A3A3A3',text4:'#7A7A7A',mainBG:'#0D0D0D',overlayBG:'#1A1A1A',backdrop:'#0D0D0D',shadow:'rgba(39, 45, 52, 0.6)',divider:'rgba(255,255,255, 0.2)',blue:'#3B82F6',yellow:'#FACC15',green:'#22C55E',purple:'#A855F7',orange:'#FB923C',cyan:'#06B6D4',red:'#F87171',navy:'#1E3A8A',indigo:'#6366F1',gray:'#9CA3AF',brown:'#92400E',lylac:'#C084FC',pink:'#F472B6'}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{mergeDeepRight}from'ramda';import{BASE_THEME}from"./base";export var DEFAULT_MSDOS_THEME=mergeDeepRight(BASE_THEME,{label:'MSDOS',colors:{primary:'#FFFF00',text:'#FFFFFF',text2:'#E0E0E0',text3:'#B0B0B0',text4:'#8A8A8A',mainBG:'#0000AA',overlayBG:'#000088',backdrop:'#0000AA',shadow:'rgba(0, 0, 0, 0.6)',divider:'rgba(255,255,255,0.3)',blue:'#0000FF',yellow:'#FFFF00',green:'#00FF00',purple:'#AA00FF',orange:'#FF7700',cyan:'#00FFFF',red:'#FF0000',navy:'#000080',indigo:'#4B0082',gray:'#B0B0B0',brown:'#8B4513',lylac:'#9370DB',pink:'#FF69B4'},radius:{xxxs:1,xxs:2,xs:3,sm:4,md:6,lg:8,xl:10,xxl:12,xxxl:14},components:{Card:{border:1,br:5,borderColor:'divider'}}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{mergeDeepRight}from'ramda';import{BASE_THEME}from"./base";export var OCEAN_BREEZE_THEME=mergeDeepRight(BASE_THEME,{label:'Ocean Breeze',colors:{primary:'#2B90D9',text:'#065277',text2:'#065A82',text3:'#0B84B4',text4:'#3ABEFF',mainBG:'#E6F7FF',overlayBG:'#FFFFFF',backdrop:'#04364A',shadow:'rgba(39, 45, 52, 0.15)',divider:'rgba(0,0,0, 0.1)',blue:'#1D4ED8',yellow:'#FACC15',green:'#10B981',purple:'#8B5CF6',orange:'#FB923C',cyan:'#06B6D4',red:'#EF4444',navy:'#1E3A8A',indigo:'#6366F1',gray:'#9CA3AF',brown:'#A16207',lylac:'#C4B5FD',pink:'#F472B6'}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{mergeDeepRight}from'ramda';import{BASE_THEME}from"./base";export var PASTEL_DREAM_THEME=mergeDeepRight(BASE_THEME,{label:'Pastel Dream',colors:{primary:'#FFB6C1',text:'#4B4453',text2:'#6D6875',text3:'#A093A6',text4:'#C9BBCF',mainBG:'#FFF7FA',overlayBG:'#FFFFFF',backdrop:'#4B4453',shadow:'rgba(39, 45, 52, 0.15)',divider:'#f0f0f0',blue:'#A5B4FC',yellow:'#FDE68A',green:'#BBF7D0',purple:'#E9D5FF',orange:'#FED7AA',cyan:'#BAE6FD',red:'#FCA5A5',navy:'#A5B4FC',indigo:'#C7D2FE',gray:'#E5E7EB',brown:'#E0B084',lylac:'#E9D5FF',pink:'#FBCFE8'}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{mergeDeepRight}from'ramda';import{BASE_THEME}from"./base";export var SUNSET_GLOW_THEME=mergeDeepRight(BASE_THEME,{label:'Sunset',colors:{primary:'#FF6B6B',text:'#4B372E',text2:'#5C4033',text3:'#8C5A43',text4:'#B97A57',mainBG:'#FFF5E6',overlayBG:'#FFFAF1',backdrop:'#331E0A',shadow:'rgba(39, 45, 52, 0.15)',divider:'#f0f0f0',blue:'#3B82F6',yellow:'#FBBF24',green:'#22C55E',purple:'#A855F7',orange:'#FB923C',cyan:'#06B6D4',red:'#DC2626',navy:'#1E3A8A',indigo:'#4F46E5',gray:'#9CA3AF',brown:'#92400E',lylac:'#C084FC',pink:'#F472B6'}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { BottomDrawer } from './web/BottomDrawer'
|