@wireservers-ui/react-natives 1.0.0 → 1.0.1-rc1
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/LICENSE +21 -0
- package/README.md +214 -98
- package/bin/cli.js +356 -0
- package/package.json +27 -48
- package/src/accordion/accordion-content.tsx +30 -30
- package/src/accordion/accordion-icon.tsx +54 -54
- package/src/accordion/accordion-item.tsx +37 -37
- package/src/accordion/accordion-title-text.tsx +24 -24
- package/src/accordion/accordion-trigger.tsx +38 -38
- package/src/accordion/accordion.tsx +91 -91
- package/src/accordion/index.ts +24 -24
- package/src/accordion/styles.ts +74 -74
- package/src/accordion/types.ts +56 -56
- package/src/actionsheet/actionsheet-backdrop.tsx +23 -23
- package/src/actionsheet/actionsheet-content.tsx +19 -19
- package/src/actionsheet/actionsheet-drag-indicator-wrapper.tsx +19 -19
- package/src/actionsheet/actionsheet-drag-indicator.tsx +19 -19
- package/src/actionsheet/actionsheet-item-text.tsx +19 -19
- package/src/actionsheet/actionsheet-item.tsx +20 -20
- package/src/actionsheet/actionsheet-scroll-view.tsx +12 -12
- package/src/actionsheet/actionsheet.tsx +45 -45
- package/src/actionsheet/index.ts +20 -20
- package/src/actionsheet/styles.ts +25 -25
- package/src/actionsheet/types.ts +49 -49
- package/src/alert/alert-body.tsx +19 -19
- package/src/alert/alert-close-button.tsx +23 -23
- package/src/alert/alert-icon.tsx +40 -40
- package/src/alert/alert-text.tsx +22 -22
- package/src/alert/alert.tsx +33 -33
- package/src/alert/index.ts +15 -15
- package/src/alert/styles.ts +112 -112
- package/src/alert/types.ts +36 -36
- package/src/alert-dialog/alert-dialog.tsx +54 -54
- package/src/alert-dialog/index.ts +2 -2
- package/src/alert-dialog/styles.ts +40 -40
- package/src/alert-dialog/types.ts +40 -40
- package/src/aspect-ratio/aspect-ratio.tsx +20 -20
- package/src/aspect-ratio/index.ts +2 -2
- package/src/aspect-ratio/styles.ts +6 -6
- package/src/aspect-ratio/types.ts +7 -7
- package/src/avatar/avatar-badge.tsx +22 -22
- package/src/avatar/avatar-fallback-text.tsx +33 -33
- package/src/avatar/avatar-group.tsx +53 -53
- package/src/avatar/avatar-image.tsx +21 -21
- package/src/avatar/avatar.tsx +27 -27
- package/src/avatar/index.ts +14 -14
- package/src/avatar/styles.ts +94 -94
- package/src/avatar/types.ts +35 -35
- package/src/badge/badge-icon.tsx +20 -20
- package/src/badge/badge-text.tsx +24 -24
- package/src/badge/badge.tsx +39 -39
- package/src/badge/index.ts +11 -11
- package/src/badge/styles.ts +175 -175
- package/src/badge/types.ts +37 -37
- package/src/blockquote/blockquote.tsx +21 -21
- package/src/blockquote/index.ts +2 -2
- package/src/blockquote/styles.ts +11 -11
- package/src/blockquote/types.ts +6 -6
- package/src/box/box.tsx +19 -19
- package/src/box/index.ts +2 -2
- package/src/box/styles.ts +6 -6
- package/src/box/types.ts +6 -6
- package/src/breadcrumb/breadcrumb-item.tsx +20 -20
- package/src/breadcrumb/breadcrumb-link.tsx +20 -20
- package/src/breadcrumb/breadcrumb-text.tsx +19 -19
- package/src/breadcrumb/breadcrumb.tsx +43 -43
- package/src/breadcrumb/index.ts +12 -12
- package/src/breadcrumb/styles.ts +36 -36
- package/src/breadcrumb/types.ts +33 -33
- package/src/button/button-group.tsx +35 -35
- package/src/button/button-icon.tsx +37 -37
- package/src/button/button-spinner.tsx +12 -12
- package/src/button/button-text.tsx +27 -27
- package/src/button/button.tsx +42 -42
- package/src/button/index.ts +19 -19
- package/src/button/styles.ts +250 -250
- package/src/button/types.ts +67 -67
- package/src/calendar/calendar-day-cell.tsx +67 -67
- package/src/calendar/calendar-day-view.tsx +66 -66
- package/src/calendar/calendar-event.tsx +59 -59
- package/src/calendar/calendar-header.tsx +60 -60
- package/src/calendar/calendar-horizontal-view.tsx +372 -372
- package/src/calendar/calendar-legend.tsx +41 -41
- package/src/calendar/calendar-month-view.tsx +47 -47
- package/src/calendar/calendar-vertical-view.tsx +395 -395
- package/src/calendar/calendar-view-switcher.tsx +65 -65
- package/src/calendar/calendar-week-view.tsx +52 -52
- package/src/calendar/calendar.tsx +74 -74
- package/src/calendar/index.ts +27 -27
- package/src/calendar/styles.ts +367 -367
- package/src/calendar/types.ts +101 -101
- package/src/calendar/use-calendar.ts +170 -170
- package/src/calendar/utils.ts +278 -278
- package/src/card/card-body.tsx +22 -22
- package/src/card/card-footer.tsx +19 -19
- package/src/card/card-header.tsx +22 -22
- package/src/card/card.tsx +27 -27
- package/src/card/index.ts +13 -13
- package/src/card/styles.ts +54 -54
- package/src/card/types.ts +31 -31
- package/src/carousel/carousel.tsx +436 -436
- package/src/carousel/index.ts +2 -2
- package/src/carousel/styles.ts +21 -21
- package/src/carousel/types.ts +41 -41
- package/src/center/center.tsx +19 -19
- package/src/center/index.ts +2 -2
- package/src/center/styles.ts +6 -6
- package/src/center/types.ts +6 -6
- package/src/checkbox/checkbox-group.tsx +63 -63
- package/src/checkbox/checkbox-icon.tsx +35 -35
- package/src/checkbox/checkbox-indicator.tsx +30 -30
- package/src/checkbox/checkbox-label.tsx +24 -24
- package/src/checkbox/checkbox.tsx +86 -86
- package/src/checkbox/index.ts +14 -14
- package/src/checkbox/styles.ts +69 -69
- package/src/checkbox/types.ts +55 -55
- package/src/circular-progress/circular-progress.tsx +82 -82
- package/src/circular-progress/index.ts +2 -2
- package/src/circular-progress/styles.ts +31 -31
- package/src/circular-progress/types.ts +18 -18
- package/src/code/code.tsx +36 -36
- package/src/code/index.ts +2 -2
- package/src/code/styles.ts +25 -25
- package/src/code/types.ts +13 -13
- package/src/collapsible/collapsible.tsx +58 -58
- package/src/collapsible/index.ts +2 -2
- package/src/collapsible/styles.ts +5 -5
- package/src/collapsible/types.ts +21 -21
- package/src/color-picker/color-picker-box.tsx +115 -115
- package/src/color-picker/color-picker-slider.tsx +98 -98
- package/src/color-picker/color-picker.tsx +162 -162
- package/src/color-picker/color-utils.ts +215 -215
- package/src/color-picker/index.ts +34 -34
- package/src/color-picker/styles.ts +32 -32
- package/src/color-picker/types.ts +49 -49
- package/src/color-picker/use-pointer-drag.ts +80 -80
- package/src/container/container.tsx +19 -19
- package/src/container/index.ts +2 -2
- package/src/container/styles.ts +21 -21
- package/src/container/types.ts +10 -10
- package/src/date-picker/date-picker.tsx +136 -136
- package/src/date-picker/index.ts +15 -15
- package/src/date-picker/styles.ts +18 -18
- package/src/date-picker/types.ts +33 -33
- package/src/divider/divider.tsx +21 -21
- package/src/divider/index.ts +2 -2
- package/src/divider/styles.ts +14 -14
- package/src/divider/types.ts +7 -7
- package/src/drawer/drawer-backdrop.tsx +23 -23
- package/src/drawer/drawer-body.tsx +19 -19
- package/src/drawer/drawer-close-button.tsx +29 -29
- package/src/drawer/drawer-content.tsx +142 -142
- package/src/drawer/drawer-footer.tsx +19 -19
- package/src/drawer/drawer-header.tsx +19 -19
- package/src/drawer/drawer.tsx +54 -54
- package/src/drawer/index.ts +22 -22
- package/src/drawer/styles.ts +36 -36
- package/src/drawer/types.ts +62 -62
- package/src/empty/empty.tsx +53 -53
- package/src/empty/index.ts +2 -2
- package/src/empty/styles.ts +26 -26
- package/src/empty/types.ts +22 -22
- package/src/fab/fab-icon.tsx +20 -20
- package/src/fab/fab-label.tsx +22 -22
- package/src/fab/fab.tsx +45 -45
- package/src/fab/index.ts +11 -11
- package/src/fab/styles.ts +57 -57
- package/src/fab/types.ts +33 -33
- package/src/form-control/form-control-error-icon.tsx +25 -25
- package/src/form-control/form-control-error-message.tsx +40 -40
- package/src/form-control/form-control-helper-text.tsx +25 -25
- package/src/form-control/form-control-label-text.tsx +25 -25
- package/src/form-control/form-control-label.tsx +36 -36
- package/src/form-control/form-control.tsx +46 -46
- package/src/form-control/index.ts +20 -20
- package/src/form-control/styles.ts +105 -105
- package/src/form-control/types.ts +45 -45
- package/src/heading/heading.tsx +21 -21
- package/src/heading/index.ts +2 -2
- package/src/heading/styles.ts +24 -24
- package/src/heading/types.ts +19 -19
- package/src/icon/icon.tsx +21 -21
- package/src/icon/index.ts +2 -2
- package/src/icon/styles.ts +18 -18
- package/src/icon/types.ts +8 -8
- package/src/icon-button/icon-button.tsx +23 -23
- package/src/icon-button/index.ts +2 -2
- package/src/icon-button/styles.ts +78 -78
- package/src/icon-button/types.ts +15 -15
- package/src/image/image.tsx +20 -20
- package/src/image/index.ts +2 -2
- package/src/image/styles.ts +28 -28
- package/src/image/types.ts +11 -11
- package/src/index.ts +1039 -1039
- package/src/input/index.ts +13 -13
- package/src/input/input-field.tsx +35 -35
- package/src/input/input-icon.tsx +25 -25
- package/src/input/input-slot.tsx +24 -24
- package/src/input/input.tsx +73 -73
- package/src/input/styles.ts +90 -90
- package/src/input/types.ts +39 -39
- package/src/kbd/index.ts +2 -2
- package/src/kbd/kbd.tsx +21 -21
- package/src/kbd/styles.ts +11 -11
- package/src/kbd/types.ts +7 -7
- package/src/link/index.ts +4 -4
- package/src/link/link-text.tsx +19 -19
- package/src/link/link.tsx +31 -31
- package/src/link/styles.ts +19 -19
- package/src/link/types.ts +13 -13
- package/src/list/index.ts +2 -2
- package/src/list/list.tsx +55 -55
- package/src/list/styles.ts +8 -8
- package/src/list/types.ts +17 -17
- package/src/menu/index.ts +2 -2
- package/src/menu/menu.tsx +99 -99
- package/src/menu/styles.ts +14 -14
- package/src/menu/types.ts +30 -30
- package/src/modal/index.ts +18 -18
- package/src/modal/modal-backdrop.tsx +23 -23
- package/src/modal/modal-body.tsx +19 -19
- package/src/modal/modal-close-button.tsx +29 -29
- package/src/modal/modal-content.tsx +22 -22
- package/src/modal/modal-footer.tsx +19 -19
- package/src/modal/modal-header.tsx +19 -19
- package/src/modal/modal.tsx +50 -50
- package/src/modal/styles.ts +37 -37
- package/src/modal/types.ts +49 -49
- package/src/nativewind-env.d.ts +1 -1
- package/src/number-input/index.ts +18 -18
- package/src/number-input/number-input.tsx +161 -161
- package/src/number-input/styles.ts +35 -35
- package/src/number-input/types.ts +44 -44
- package/src/overlay/index.ts +2 -2
- package/src/overlay/overlay.tsx +21 -21
- package/src/overlay/styles.ts +6 -6
- package/src/overlay/types.ts +7 -7
- package/src/pagination/index.ts +2 -2
- package/src/pagination/pagination.tsx +58 -58
- package/src/pagination/styles.ts +27 -27
- package/src/pagination/types.ts +19 -19
- package/src/password-input/index.ts +14 -14
- package/src/password-input/password-input.tsx +79 -79
- package/src/password-input/styles.ts +25 -25
- package/src/password-input/types.ts +24 -24
- package/src/pin-input/index.ts +12 -12
- package/src/pin-input/pin-input.tsx +96 -96
- package/src/pin-input/styles.ts +16 -16
- package/src/pin-input/types.ts +26 -26
- package/src/popover/index.ts +2 -2
- package/src/popover/popover.tsx +98 -98
- package/src/popover/styles.ts +31 -31
- package/src/popover/types.ts +46 -46
- package/src/portal/index.ts +2 -2
- package/src/portal/portal.tsx +8 -8
- package/src/portal/styles.ts +2 -2
- package/src/portal/types.ts +3 -3
- package/src/pressable/index.ts +2 -2
- package/src/pressable/pressable.tsx +20 -20
- package/src/pressable/styles.ts +10 -10
- package/src/pressable/types.ts +6 -6
- package/src/progress/index.ts +9 -9
- package/src/progress/progress-filled-track.tsx +26 -26
- package/src/progress/progress.tsx +52 -52
- package/src/progress/styles.ts +34 -34
- package/src/progress/types.ts +28 -28
- package/src/radio/index.ts +14 -14
- package/src/radio/radio-group.tsx +61 -61
- package/src/radio/radio-icon.tsx +24 -24
- package/src/radio/radio-indicator.tsx +30 -30
- package/src/radio/radio-label.tsx +24 -24
- package/src/radio/radio.tsx +68 -68
- package/src/radio/styles.ts +69 -69
- package/src/radio/types.ts +51 -51
- package/src/rating/index.ts +7 -7
- package/src/rating/rating.tsx +93 -93
- package/src/rating/styles.ts +13 -13
- package/src/rating/types.ts +29 -29
- package/src/search-input/index.ts +16 -16
- package/src/search-input/search-input.tsx +119 -119
- package/src/search-input/styles.ts +28 -28
- package/src/search-input/types.ts +31 -31
- package/src/segmented-control/index.ts +2 -2
- package/src/segmented-control/segmented-control.tsx +34 -34
- package/src/segmented-control/styles.ts +22 -22
- package/src/segmented-control/types.ts +22 -22
- package/src/select/index.ts +28 -28
- package/src/select/select-backdrop.tsx +25 -25
- package/src/select/select-content.tsx +49 -49
- package/src/select/select-drag-indicator.tsx +19 -19
- package/src/select/select-icon.tsx +25 -25
- package/src/select/select-input.tsx +32 -32
- package/src/select/select-item-text.tsx +30 -30
- package/src/select/select-item.tsx +72 -72
- package/src/select/select-portal.tsx +22 -22
- package/src/select/select-scroll-view.tsx +22 -22
- package/src/select/select-trigger.tsx +64 -64
- package/src/select/select.tsx +101 -101
- package/src/select/styles.ts +114 -114
- package/src/select/types.ts +92 -92
- package/src/skeleton/index.ts +2 -2
- package/src/skeleton/skeleton.tsx +29 -29
- package/src/skeleton/styles.ts +14 -14
- package/src/skeleton/types.ts +12 -12
- package/src/slider/index.ts +12 -12
- package/src/slider/slider-filled-track.tsx +31 -31
- package/src/slider/slider-thumb.tsx +52 -52
- package/src/slider/slider-track.tsx +154 -154
- package/src/slider/slider.tsx +193 -193
- package/src/slider/styles.ts +71 -71
- package/src/slider/types.ts +47 -47
- package/src/snackbar/index.ts +2 -2
- package/src/snackbar/snackbar.tsx +39 -39
- package/src/snackbar/styles.ts +29 -29
- package/src/snackbar/types.ts +21 -21
- package/src/spinner/index.ts +2 -2
- package/src/spinner/spinner.tsx +29 -29
- package/src/spinner/styles.ts +15 -15
- package/src/spinner/types.ts +10 -10
- package/src/stack/index.ts +2 -2
- package/src/stack/stack.tsx +49 -49
- package/src/stack/styles.ts +25 -25
- package/src/stack/types.ts +15 -15
- package/src/stat/index.ts +2 -2
- package/src/stat/stat.tsx +48 -48
- package/src/stat/styles.ts +34 -34
- package/src/stat/types.ts +24 -24
- package/src/stepper/index.ts +2 -2
- package/src/stepper/stepper.tsx +95 -95
- package/src/stepper/styles.ts +49 -49
- package/src/stepper/types.ts +20 -20
- package/src/switch/index.ts +2 -2
- package/src/switch/styles.ts +24 -24
- package/src/switch/switch.tsx +67 -67
- package/src/switch/types.ts +23 -23
- package/src/table/index.ts +2 -2
- package/src/table/styles.ts +12 -12
- package/src/table/table.tsx +52 -52
- package/src/table/types.ts +10 -10
- package/src/tabs/index.ts +18 -18
- package/src/tabs/styles.ts +113 -113
- package/src/tabs/tab-list.tsx +29 -29
- package/src/tabs/tab-panel.tsx +29 -29
- package/src/tabs/tab-panels.tsx +21 -21
- package/src/tabs/tab-text.tsx +26 -26
- package/src/tabs/tab.tsx +56 -56
- package/src/tabs/tabs.tsx +71 -71
- package/src/tabs/types.ts +53 -53
- package/src/tag/index.ts +14 -14
- package/src/tag/styles.ts +115 -115
- package/src/tag/tag-close-button.tsx +26 -26
- package/src/tag/tag-icon.tsx +20 -20
- package/src/tag/tag-text.tsx +22 -22
- package/src/tag/tag.tsx +40 -40
- package/src/tag/types.ts +33 -33
- package/src/tags-input/index.ts +18 -18
- package/src/tags-input/styles.ts +29 -29
- package/src/tags-input/tags-input.tsx +149 -149
- package/src/tags-input/types.ts +37 -37
- package/src/text/index.ts +2 -2
- package/src/text/styles.ts +54 -54
- package/src/text/text.tsx +51 -51
- package/src/text/types.ts +36 -36
- package/src/textarea/index.ts +2 -2
- package/src/textarea/styles.ts +37 -37
- package/src/textarea/textarea.tsx +68 -68
- package/src/textarea/types.ts +14 -14
- package/src/timeline/index.ts +2 -2
- package/src/timeline/styles.ts +57 -57
- package/src/timeline/timeline.tsx +52 -52
- package/src/timeline/types.ts +30 -30
- package/src/toast/index.ts +17 -17
- package/src/toast/styles.ts +118 -118
- package/src/toast/toast-description.tsx +22 -22
- package/src/toast/toast-provider.tsx +136 -136
- package/src/toast/toast-title.tsx +22 -22
- package/src/toast/toast.tsx +43 -43
- package/src/toast/types.ts +50 -50
- package/src/toast/use-toast.ts +7 -7
- package/src/toggle/index.ts +2 -2
- package/src/toggle/styles.ts +30 -30
- package/src/toggle/toggle.tsx +25 -25
- package/src/toggle/types.ts +15 -15
- package/src/toggle-group/index.ts +2 -2
- package/src/toggle-group/styles.ts +35 -35
- package/src/toggle-group/toggle-group.tsx +60 -60
- package/src/toggle-group/types.ts +29 -29
- package/src/tooltip/index.ts +11 -11
- package/src/tooltip/styles.ts +9 -9
- package/src/tooltip/tooltip-content.tsx +19 -19
- package/src/tooltip/tooltip-text.tsx +19 -19
- package/src/tooltip/tooltip.tsx +116 -116
- package/src/tooltip/types.ts +35 -35
- package/src/utils/brand.ts +5 -5
- package/src/utils/create-context.ts +17 -17
- package/src/utils/index.ts +8 -8
- package/src/utils/types.ts +20 -20
- package/src/visually-hidden/index.ts +2 -2
- package/src/visually-hidden/styles.ts +6 -6
- package/src/visually-hidden/types.ts +6 -6
- package/src/visually-hidden/visually-hidden.tsx +22 -22
- package/tailwind-preset.js +203 -203
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { View } from 'react-native';
|
|
3
|
-
import type { DrawerHeaderProps } from './types';
|
|
4
|
-
import { drawerHeaderStyle } from './styles';
|
|
5
|
-
|
|
6
|
-
export const DrawerHeader = React.forwardRef<
|
|
7
|
-
React.ElementRef<typeof View>,
|
|
8
|
-
DrawerHeaderProps
|
|
9
|
-
>(({ className, ...props }, ref) => {
|
|
10
|
-
return (
|
|
11
|
-
<View
|
|
12
|
-
ref={ref}
|
|
13
|
-
className={drawerHeaderStyle({ class: className })}
|
|
14
|
-
{...props}
|
|
15
|
-
/>
|
|
16
|
-
);
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
DrawerHeader.displayName = 'DrawerHeader';
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { View } from 'react-native';
|
|
3
|
+
import type { DrawerHeaderProps } from './types';
|
|
4
|
+
import { drawerHeaderStyle } from './styles';
|
|
5
|
+
|
|
6
|
+
export const DrawerHeader = React.forwardRef<
|
|
7
|
+
React.ElementRef<typeof View>,
|
|
8
|
+
DrawerHeaderProps
|
|
9
|
+
>(({ className, ...props }, ref) => {
|
|
10
|
+
return (
|
|
11
|
+
<View
|
|
12
|
+
ref={ref}
|
|
13
|
+
className={drawerHeaderStyle({ class: className })}
|
|
14
|
+
{...props}
|
|
15
|
+
/>
|
|
16
|
+
);
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
DrawerHeader.displayName = 'DrawerHeader';
|
package/src/drawer/drawer.tsx
CHANGED
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Modal as RNModal, View } from 'react-native';
|
|
3
|
-
import { createComponentContext } from '../utils/create-context';
|
|
4
|
-
import type { DrawerProps, DrawerContextValue } from './types';
|
|
5
|
-
|
|
6
|
-
export const [DrawerProvider, useDrawerContext] =
|
|
7
|
-
createComponentContext<DrawerContextValue>('Drawer');
|
|
8
|
-
|
|
9
|
-
export const Drawer: React.FC<DrawerProps> = ({
|
|
10
|
-
isOpen,
|
|
11
|
-
onClose,
|
|
12
|
-
placement = 'left',
|
|
13
|
-
size = 'md',
|
|
14
|
-
animationType = 'slide',
|
|
15
|
-
slideFrom,
|
|
16
|
-
isModal = true,
|
|
17
|
-
children,
|
|
18
|
-
}) => {
|
|
19
|
-
const ctx: DrawerContextValue = { isOpen, onClose, placement, size, animationType, slideFrom };
|
|
20
|
-
|
|
21
|
-
// When a directional slide is requested, suppress RNModal's built-in animation.
|
|
22
|
-
const rnAnimationType = slideFrom ? 'none' : animationType;
|
|
23
|
-
|
|
24
|
-
if (isModal) {
|
|
25
|
-
return (
|
|
26
|
-
<DrawerProvider value={ctx}>
|
|
27
|
-
<RNModal
|
|
28
|
-
visible={isOpen}
|
|
29
|
-
transparent
|
|
30
|
-
animationType={rnAnimationType}
|
|
31
|
-
onRequestClose={onClose}
|
|
32
|
-
statusBarTranslucent
|
|
33
|
-
>
|
|
34
|
-
<View style={{ flex: 1 }} pointerEvents="box-none">{children}</View>
|
|
35
|
-
</RNModal>
|
|
36
|
-
</DrawerProvider>
|
|
37
|
-
);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
if (!isOpen) return null;
|
|
41
|
-
|
|
42
|
-
return (
|
|
43
|
-
<DrawerProvider value={ctx}>
|
|
44
|
-
<View
|
|
45
|
-
style={{ position: 'absolute', top: 0, left: 0, right: 0, bottom: 0, zIndex: 50 }}
|
|
46
|
-
pointerEvents="box-none"
|
|
47
|
-
>
|
|
48
|
-
{children}
|
|
49
|
-
</View>
|
|
50
|
-
</DrawerProvider>
|
|
51
|
-
);
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
Drawer.displayName = 'Drawer';
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Modal as RNModal, View } from 'react-native';
|
|
3
|
+
import { createComponentContext } from '../utils/create-context';
|
|
4
|
+
import type { DrawerProps, DrawerContextValue } from './types';
|
|
5
|
+
|
|
6
|
+
export const [DrawerProvider, useDrawerContext] =
|
|
7
|
+
createComponentContext<DrawerContextValue>('Drawer');
|
|
8
|
+
|
|
9
|
+
export const Drawer: React.FC<DrawerProps> = ({
|
|
10
|
+
isOpen,
|
|
11
|
+
onClose,
|
|
12
|
+
placement = 'left',
|
|
13
|
+
size = 'md',
|
|
14
|
+
animationType = 'slide',
|
|
15
|
+
slideFrom,
|
|
16
|
+
isModal = true,
|
|
17
|
+
children,
|
|
18
|
+
}) => {
|
|
19
|
+
const ctx: DrawerContextValue = { isOpen, onClose, placement, size, animationType, slideFrom };
|
|
20
|
+
|
|
21
|
+
// When a directional slide is requested, suppress RNModal's built-in animation.
|
|
22
|
+
const rnAnimationType = slideFrom ? 'none' : animationType;
|
|
23
|
+
|
|
24
|
+
if (isModal) {
|
|
25
|
+
return (
|
|
26
|
+
<DrawerProvider value={ctx}>
|
|
27
|
+
<RNModal
|
|
28
|
+
visible={isOpen}
|
|
29
|
+
transparent
|
|
30
|
+
animationType={rnAnimationType}
|
|
31
|
+
onRequestClose={onClose}
|
|
32
|
+
statusBarTranslucent
|
|
33
|
+
>
|
|
34
|
+
<View style={{ flex: 1 }} pointerEvents="box-none">{children}</View>
|
|
35
|
+
</RNModal>
|
|
36
|
+
</DrawerProvider>
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if (!isOpen) return null;
|
|
41
|
+
|
|
42
|
+
return (
|
|
43
|
+
<DrawerProvider value={ctx}>
|
|
44
|
+
<View
|
|
45
|
+
style={{ position: 'absolute', top: 0, left: 0, right: 0, bottom: 0, zIndex: 50 }}
|
|
46
|
+
pointerEvents="box-none"
|
|
47
|
+
>
|
|
48
|
+
{children}
|
|
49
|
+
</View>
|
|
50
|
+
</DrawerProvider>
|
|
51
|
+
);
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
Drawer.displayName = 'Drawer';
|
package/src/drawer/index.ts
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
export { Drawer } from './drawer';
|
|
2
|
-
export { DrawerBackdrop } from './drawer-backdrop';
|
|
3
|
-
export { DrawerContent } from './drawer-content';
|
|
4
|
-
export { DrawerHeader } from './drawer-header';
|
|
5
|
-
export { DrawerBody } from './drawer-body';
|
|
6
|
-
export { DrawerFooter } from './drawer-footer';
|
|
7
|
-
export { DrawerCloseButton } from './drawer-close-button';
|
|
8
|
-
|
|
9
|
-
export type {
|
|
10
|
-
DrawerProps,
|
|
11
|
-
DrawerBackdropProps,
|
|
12
|
-
DrawerContentProps,
|
|
13
|
-
DrawerHeaderProps,
|
|
14
|
-
DrawerBodyProps,
|
|
15
|
-
DrawerFooterProps,
|
|
16
|
-
DrawerCloseButtonProps,
|
|
17
|
-
DrawerPlacement,
|
|
18
|
-
DrawerSize,
|
|
19
|
-
DrawerAnimationType,
|
|
20
|
-
DrawerSlideFrom,
|
|
21
|
-
DrawerContextValue,
|
|
22
|
-
} from './types';
|
|
1
|
+
export { Drawer } from './drawer';
|
|
2
|
+
export { DrawerBackdrop } from './drawer-backdrop';
|
|
3
|
+
export { DrawerContent } from './drawer-content';
|
|
4
|
+
export { DrawerHeader } from './drawer-header';
|
|
5
|
+
export { DrawerBody } from './drawer-body';
|
|
6
|
+
export { DrawerFooter } from './drawer-footer';
|
|
7
|
+
export { DrawerCloseButton } from './drawer-close-button';
|
|
8
|
+
|
|
9
|
+
export type {
|
|
10
|
+
DrawerProps,
|
|
11
|
+
DrawerBackdropProps,
|
|
12
|
+
DrawerContentProps,
|
|
13
|
+
DrawerHeaderProps,
|
|
14
|
+
DrawerBodyProps,
|
|
15
|
+
DrawerFooterProps,
|
|
16
|
+
DrawerCloseButtonProps,
|
|
17
|
+
DrawerPlacement,
|
|
18
|
+
DrawerSize,
|
|
19
|
+
DrawerAnimationType,
|
|
20
|
+
DrawerSlideFrom,
|
|
21
|
+
DrawerContextValue,
|
|
22
|
+
} from './types';
|
package/src/drawer/styles.ts
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
import { tv } from 'tailwind-variants';
|
|
2
|
-
|
|
3
|
-
export const drawerBackdropStyle = tv({
|
|
4
|
-
base: 'absolute inset-0 bg-black/50',
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
export const drawerContentStyle = tv({
|
|
8
|
-
base: 'bg-background-0 absolute',
|
|
9
|
-
variants: {
|
|
10
|
-
placement: {
|
|
11
|
-
left: 'left-0 top-0 bottom-0',
|
|
12
|
-
right: 'right-0 top-0 bottom-0',
|
|
13
|
-
top: 'left-0 right-0 top-0',
|
|
14
|
-
bottom: 'left-0 right-0 bottom-0',
|
|
15
|
-
},
|
|
16
|
-
},
|
|
17
|
-
defaultVariants: {
|
|
18
|
-
placement: 'left',
|
|
19
|
-
},
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
export const drawerHeaderStyle = tv({
|
|
23
|
-
base: 'flex-row items-center justify-between px-5 pt-5 pb-2',
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
export const drawerBodyStyle = tv({
|
|
27
|
-
base: 'px-5 py-3 flex-1',
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
export const drawerFooterStyle = tv({
|
|
31
|
-
base: 'flex-row items-center justify-end gap-3 px-5 pb-5 pt-2',
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
export const drawerCloseButtonStyle = tv({
|
|
35
|
-
base: 'p-1 rounded-md active:bg-background-200',
|
|
36
|
-
});
|
|
1
|
+
import { tv } from 'tailwind-variants';
|
|
2
|
+
|
|
3
|
+
export const drawerBackdropStyle = tv({
|
|
4
|
+
base: 'absolute inset-0 bg-black/50',
|
|
5
|
+
});
|
|
6
|
+
|
|
7
|
+
export const drawerContentStyle = tv({
|
|
8
|
+
base: 'bg-background-0 absolute',
|
|
9
|
+
variants: {
|
|
10
|
+
placement: {
|
|
11
|
+
left: 'left-0 top-0 bottom-0',
|
|
12
|
+
right: 'right-0 top-0 bottom-0',
|
|
13
|
+
top: 'left-0 right-0 top-0',
|
|
14
|
+
bottom: 'left-0 right-0 bottom-0',
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
defaultVariants: {
|
|
18
|
+
placement: 'left',
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
export const drawerHeaderStyle = tv({
|
|
23
|
+
base: 'flex-row items-center justify-between px-5 pt-5 pb-2',
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
export const drawerBodyStyle = tv({
|
|
27
|
+
base: 'px-5 py-3 flex-1',
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
export const drawerFooterStyle = tv({
|
|
31
|
+
base: 'flex-row items-center justify-end gap-3 px-5 pb-5 pt-2',
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
export const drawerCloseButtonStyle = tv({
|
|
35
|
+
base: 'p-1 rounded-md active:bg-background-200',
|
|
36
|
+
});
|
package/src/drawer/types.ts
CHANGED
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
import type { View, Pressable } from 'react-native';
|
|
2
|
-
|
|
3
|
-
export type DrawerPlacement = 'left' | 'right' | 'top' | 'bottom';
|
|
4
|
-
|
|
5
|
-
export type DrawerSize = 'sm' | 'md' | 'lg' | 'full';
|
|
6
|
-
|
|
7
|
-
export type DrawerAnimationType = 'slide' | 'fade' | 'none';
|
|
8
|
-
|
|
9
|
-
/** Direction the drawer panel slides in from. When set, overrides animationType with a custom directional animation. */
|
|
10
|
-
export type DrawerSlideFrom = 'top' | 'left' | 'bottom' | 'right';
|
|
11
|
-
|
|
12
|
-
export interface DrawerContextValue {
|
|
13
|
-
isOpen: boolean;
|
|
14
|
-
onClose: () => void;
|
|
15
|
-
placement: DrawerPlacement;
|
|
16
|
-
size: DrawerSize;
|
|
17
|
-
animationType: DrawerAnimationType;
|
|
18
|
-
slideFrom?: DrawerSlideFrom;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export interface DrawerProps {
|
|
22
|
-
isOpen: boolean;
|
|
23
|
-
onClose: () => void;
|
|
24
|
-
placement?: DrawerPlacement;
|
|
25
|
-
size?: DrawerSize;
|
|
26
|
-
animationType?: DrawerAnimationType;
|
|
27
|
-
/** Slide the drawer panel in from this direction (custom animation; overrides animationType). */
|
|
28
|
-
slideFrom?: DrawerSlideFrom;
|
|
29
|
-
/** When false the drawer renders inline (no RNModal) so background content stays interactive. */
|
|
30
|
-
isModal?: boolean;
|
|
31
|
-
children: React.ReactNode;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export interface DrawerBackdropProps
|
|
35
|
-
extends React.ComponentPropsWithoutRef<typeof Pressable> {
|
|
36
|
-
className?: string;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export interface DrawerContentProps
|
|
40
|
-
extends React.ComponentPropsWithoutRef<typeof View> {
|
|
41
|
-
className?: string;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export interface DrawerHeaderProps
|
|
45
|
-
extends React.ComponentPropsWithoutRef<typeof View> {
|
|
46
|
-
className?: string;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export interface DrawerBodyProps
|
|
50
|
-
extends React.ComponentPropsWithoutRef<typeof View> {
|
|
51
|
-
className?: string;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export interface DrawerFooterProps
|
|
55
|
-
extends React.ComponentPropsWithoutRef<typeof View> {
|
|
56
|
-
className?: string;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export interface DrawerCloseButtonProps
|
|
60
|
-
extends React.ComponentPropsWithoutRef<typeof Pressable> {
|
|
61
|
-
className?: string;
|
|
62
|
-
}
|
|
1
|
+
import type { View, Pressable } from 'react-native';
|
|
2
|
+
|
|
3
|
+
export type DrawerPlacement = 'left' | 'right' | 'top' | 'bottom';
|
|
4
|
+
|
|
5
|
+
export type DrawerSize = 'sm' | 'md' | 'lg' | 'full';
|
|
6
|
+
|
|
7
|
+
export type DrawerAnimationType = 'slide' | 'fade' | 'none';
|
|
8
|
+
|
|
9
|
+
/** Direction the drawer panel slides in from. When set, overrides animationType with a custom directional animation. */
|
|
10
|
+
export type DrawerSlideFrom = 'top' | 'left' | 'bottom' | 'right';
|
|
11
|
+
|
|
12
|
+
export interface DrawerContextValue {
|
|
13
|
+
isOpen: boolean;
|
|
14
|
+
onClose: () => void;
|
|
15
|
+
placement: DrawerPlacement;
|
|
16
|
+
size: DrawerSize;
|
|
17
|
+
animationType: DrawerAnimationType;
|
|
18
|
+
slideFrom?: DrawerSlideFrom;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface DrawerProps {
|
|
22
|
+
isOpen: boolean;
|
|
23
|
+
onClose: () => void;
|
|
24
|
+
placement?: DrawerPlacement;
|
|
25
|
+
size?: DrawerSize;
|
|
26
|
+
animationType?: DrawerAnimationType;
|
|
27
|
+
/** Slide the drawer panel in from this direction (custom animation; overrides animationType). */
|
|
28
|
+
slideFrom?: DrawerSlideFrom;
|
|
29
|
+
/** When false the drawer renders inline (no RNModal) so background content stays interactive. */
|
|
30
|
+
isModal?: boolean;
|
|
31
|
+
children: React.ReactNode;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export interface DrawerBackdropProps
|
|
35
|
+
extends React.ComponentPropsWithoutRef<typeof Pressable> {
|
|
36
|
+
className?: string;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export interface DrawerContentProps
|
|
40
|
+
extends React.ComponentPropsWithoutRef<typeof View> {
|
|
41
|
+
className?: string;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export interface DrawerHeaderProps
|
|
45
|
+
extends React.ComponentPropsWithoutRef<typeof View> {
|
|
46
|
+
className?: string;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface DrawerBodyProps
|
|
50
|
+
extends React.ComponentPropsWithoutRef<typeof View> {
|
|
51
|
+
className?: string;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export interface DrawerFooterProps
|
|
55
|
+
extends React.ComponentPropsWithoutRef<typeof View> {
|
|
56
|
+
className?: string;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export interface DrawerCloseButtonProps
|
|
60
|
+
extends React.ComponentPropsWithoutRef<typeof Pressable> {
|
|
61
|
+
className?: string;
|
|
62
|
+
}
|
package/src/empty/empty.tsx
CHANGED
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { View, Text } from 'react-native';
|
|
3
|
-
import type { EmptyProps, EmptyIconProps, EmptyTitleProps, EmptyDescriptionProps, EmptyActionProps } from './types';
|
|
4
|
-
import { emptyStyle, emptyIconStyle, emptyTitleStyle, emptyDescriptionStyle, emptyActionStyle } from './styles';
|
|
5
|
-
|
|
6
|
-
export const Empty = React.forwardRef<
|
|
7
|
-
React.ElementRef<typeof View>,
|
|
8
|
-
EmptyProps
|
|
9
|
-
>(({ className, ...props }, ref) => {
|
|
10
|
-
return (
|
|
11
|
-
<View ref={ref} className={emptyStyle({ class: className })} {...props} />
|
|
12
|
-
);
|
|
13
|
-
});
|
|
14
|
-
Empty.displayName = 'Empty';
|
|
15
|
-
|
|
16
|
-
export const EmptyIcon = React.forwardRef<any, EmptyIconProps>(
|
|
17
|
-
({ as: AsComp, className, ...props }, ref) => {
|
|
18
|
-
return (
|
|
19
|
-
<AsComp ref={ref} className={emptyIconStyle({ class: className })} {...props} />
|
|
20
|
-
);
|
|
21
|
-
},
|
|
22
|
-
);
|
|
23
|
-
EmptyIcon.displayName = 'EmptyIcon';
|
|
24
|
-
|
|
25
|
-
export const EmptyTitle = React.forwardRef<
|
|
26
|
-
React.ElementRef<typeof Text>,
|
|
27
|
-
EmptyTitleProps
|
|
28
|
-
>(({ className, ...props }, ref) => {
|
|
29
|
-
return (
|
|
30
|
-
<Text ref={ref} className={emptyTitleStyle({ class: className })} {...props} />
|
|
31
|
-
);
|
|
32
|
-
});
|
|
33
|
-
EmptyTitle.displayName = 'EmptyTitle';
|
|
34
|
-
|
|
35
|
-
export const EmptyDescription = React.forwardRef<
|
|
36
|
-
React.ElementRef<typeof Text>,
|
|
37
|
-
EmptyDescriptionProps
|
|
38
|
-
>(({ className, ...props }, ref) => {
|
|
39
|
-
return (
|
|
40
|
-
<Text ref={ref} className={emptyDescriptionStyle({ class: className })} {...props} />
|
|
41
|
-
);
|
|
42
|
-
});
|
|
43
|
-
EmptyDescription.displayName = 'EmptyDescription';
|
|
44
|
-
|
|
45
|
-
export const EmptyAction = React.forwardRef<
|
|
46
|
-
React.ElementRef<typeof View>,
|
|
47
|
-
EmptyActionProps
|
|
48
|
-
>(({ className, ...props }, ref) => {
|
|
49
|
-
return (
|
|
50
|
-
<View ref={ref} className={emptyActionStyle({ class: className })} {...props} />
|
|
51
|
-
);
|
|
52
|
-
});
|
|
53
|
-
EmptyAction.displayName = 'EmptyAction';
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { View, Text } from 'react-native';
|
|
3
|
+
import type { EmptyProps, EmptyIconProps, EmptyTitleProps, EmptyDescriptionProps, EmptyActionProps } from './types';
|
|
4
|
+
import { emptyStyle, emptyIconStyle, emptyTitleStyle, emptyDescriptionStyle, emptyActionStyle } from './styles';
|
|
5
|
+
|
|
6
|
+
export const Empty = React.forwardRef<
|
|
7
|
+
React.ElementRef<typeof View>,
|
|
8
|
+
EmptyProps
|
|
9
|
+
>(({ className, ...props }, ref) => {
|
|
10
|
+
return (
|
|
11
|
+
<View ref={ref} className={emptyStyle({ class: className })} {...props} />
|
|
12
|
+
);
|
|
13
|
+
});
|
|
14
|
+
Empty.displayName = 'Empty';
|
|
15
|
+
|
|
16
|
+
export const EmptyIcon = React.forwardRef<any, EmptyIconProps>(
|
|
17
|
+
({ as: AsComp, className, ...props }, ref) => {
|
|
18
|
+
return (
|
|
19
|
+
<AsComp ref={ref} className={emptyIconStyle({ class: className })} {...props} />
|
|
20
|
+
);
|
|
21
|
+
},
|
|
22
|
+
);
|
|
23
|
+
EmptyIcon.displayName = 'EmptyIcon';
|
|
24
|
+
|
|
25
|
+
export const EmptyTitle = React.forwardRef<
|
|
26
|
+
React.ElementRef<typeof Text>,
|
|
27
|
+
EmptyTitleProps
|
|
28
|
+
>(({ className, ...props }, ref) => {
|
|
29
|
+
return (
|
|
30
|
+
<Text ref={ref} className={emptyTitleStyle({ class: className })} {...props} />
|
|
31
|
+
);
|
|
32
|
+
});
|
|
33
|
+
EmptyTitle.displayName = 'EmptyTitle';
|
|
34
|
+
|
|
35
|
+
export const EmptyDescription = React.forwardRef<
|
|
36
|
+
React.ElementRef<typeof Text>,
|
|
37
|
+
EmptyDescriptionProps
|
|
38
|
+
>(({ className, ...props }, ref) => {
|
|
39
|
+
return (
|
|
40
|
+
<Text ref={ref} className={emptyDescriptionStyle({ class: className })} {...props} />
|
|
41
|
+
);
|
|
42
|
+
});
|
|
43
|
+
EmptyDescription.displayName = 'EmptyDescription';
|
|
44
|
+
|
|
45
|
+
export const EmptyAction = React.forwardRef<
|
|
46
|
+
React.ElementRef<typeof View>,
|
|
47
|
+
EmptyActionProps
|
|
48
|
+
>(({ className, ...props }, ref) => {
|
|
49
|
+
return (
|
|
50
|
+
<View ref={ref} className={emptyActionStyle({ class: className })} {...props} />
|
|
51
|
+
);
|
|
52
|
+
});
|
|
53
|
+
EmptyAction.displayName = 'EmptyAction';
|
package/src/empty/index.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { Empty, EmptyIcon, EmptyTitle, EmptyDescription, EmptyAction } from './empty';
|
|
2
|
-
export type { EmptyProps, EmptyIconProps, EmptyTitleProps, EmptyDescriptionProps, EmptyActionProps } from './types';
|
|
1
|
+
export { Empty, EmptyIcon, EmptyTitle, EmptyDescription, EmptyAction } from './empty';
|
|
2
|
+
export type { EmptyProps, EmptyIconProps, EmptyTitleProps, EmptyDescriptionProps, EmptyActionProps } from './types';
|
package/src/empty/styles.ts
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { tv } from 'tailwind-variants';
|
|
2
|
-
|
|
3
|
-
export const emptyStyle = tv({
|
|
4
|
-
base: 'items-center justify-center py-12 px-6',
|
|
5
|
-
variants: {},
|
|
6
|
-
});
|
|
7
|
-
|
|
8
|
-
export const emptyIconStyle = tv({
|
|
9
|
-
base: 'h-12 w-12 text-typography-300 mb-4',
|
|
10
|
-
variants: {},
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
export const emptyTitleStyle = tv({
|
|
14
|
-
base: 'text-lg font-semibold text-typography-900 mb-1 text-center',
|
|
15
|
-
variants: {},
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
export const emptyDescriptionStyle = tv({
|
|
19
|
-
base: 'text-sm text-typography-500 text-center mb-4',
|
|
20
|
-
variants: {},
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
export const emptyActionStyle = tv({
|
|
24
|
-
base: 'mt-2',
|
|
25
|
-
variants: {},
|
|
26
|
-
});
|
|
1
|
+
import { tv } from 'tailwind-variants';
|
|
2
|
+
|
|
3
|
+
export const emptyStyle = tv({
|
|
4
|
+
base: 'items-center justify-center py-12 px-6',
|
|
5
|
+
variants: {},
|
|
6
|
+
});
|
|
7
|
+
|
|
8
|
+
export const emptyIconStyle = tv({
|
|
9
|
+
base: 'h-12 w-12 text-typography-300 mb-4',
|
|
10
|
+
variants: {},
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
export const emptyTitleStyle = tv({
|
|
14
|
+
base: 'text-lg font-semibold text-typography-900 mb-1 text-center',
|
|
15
|
+
variants: {},
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
export const emptyDescriptionStyle = tv({
|
|
19
|
+
base: 'text-sm text-typography-500 text-center mb-4',
|
|
20
|
+
variants: {},
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
export const emptyActionStyle = tv({
|
|
24
|
+
base: 'mt-2',
|
|
25
|
+
variants: {},
|
|
26
|
+
});
|
package/src/empty/types.ts
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import type { View, Text as RNText } from 'react-native';
|
|
2
|
-
|
|
3
|
-
export interface EmptyProps extends React.ComponentPropsWithoutRef<typeof View> {
|
|
4
|
-
className?: string;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
export interface EmptyIconProps {
|
|
8
|
-
as: React.ElementType;
|
|
9
|
-
className?: string;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export interface EmptyTitleProps extends React.ComponentPropsWithoutRef<typeof RNText> {
|
|
13
|
-
className?: string;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export interface EmptyDescriptionProps extends React.ComponentPropsWithoutRef<typeof RNText> {
|
|
17
|
-
className?: string;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export interface EmptyActionProps extends React.ComponentPropsWithoutRef<typeof View> {
|
|
21
|
-
className?: string;
|
|
22
|
-
}
|
|
1
|
+
import type { View, Text as RNText } from 'react-native';
|
|
2
|
+
|
|
3
|
+
export interface EmptyProps extends React.ComponentPropsWithoutRef<typeof View> {
|
|
4
|
+
className?: string;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export interface EmptyIconProps {
|
|
8
|
+
as: React.ElementType;
|
|
9
|
+
className?: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface EmptyTitleProps extends React.ComponentPropsWithoutRef<typeof RNText> {
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface EmptyDescriptionProps extends React.ComponentPropsWithoutRef<typeof RNText> {
|
|
17
|
+
className?: string;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface EmptyActionProps extends React.ComponentPropsWithoutRef<typeof View> {
|
|
21
|
+
className?: string;
|
|
22
|
+
}
|
package/src/fab/fab-icon.tsx
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { useFabContext } from './fab';
|
|
3
|
-
import type { FabIconProps } from './types';
|
|
4
|
-
import { fabIconStyle } from './styles';
|
|
5
|
-
|
|
6
|
-
export const FabIcon = React.forwardRef<any, FabIconProps>(
|
|
7
|
-
({ as: AsComp, className, ...props }, ref) => {
|
|
8
|
-
const { size } = useFabContext();
|
|
9
|
-
|
|
10
|
-
return (
|
|
11
|
-
<AsComp
|
|
12
|
-
ref={ref}
|
|
13
|
-
className={fabIconStyle({ size, class: className })}
|
|
14
|
-
{...props}
|
|
15
|
-
/>
|
|
16
|
-
);
|
|
17
|
-
},
|
|
18
|
-
);
|
|
19
|
-
|
|
20
|
-
FabIcon.displayName = 'FabIcon';
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useFabContext } from './fab';
|
|
3
|
+
import type { FabIconProps } from './types';
|
|
4
|
+
import { fabIconStyle } from './styles';
|
|
5
|
+
|
|
6
|
+
export const FabIcon = React.forwardRef<any, FabIconProps>(
|
|
7
|
+
({ as: AsComp, className, ...props }, ref) => {
|
|
8
|
+
const { size } = useFabContext();
|
|
9
|
+
|
|
10
|
+
return (
|
|
11
|
+
<AsComp
|
|
12
|
+
ref={ref}
|
|
13
|
+
className={fabIconStyle({ size, class: className })}
|
|
14
|
+
{...props}
|
|
15
|
+
/>
|
|
16
|
+
);
|
|
17
|
+
},
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
FabIcon.displayName = 'FabIcon';
|