@ecohouse/ui 0.1.11 → 0.1.13
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/README.md +14 -14
- package/dist/index.cjs +66 -18
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +17 -5
- package/dist/index.d.ts +17 -5
- package/dist/index.js +67 -20
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/Button/Button.stories.tsx +11 -0
- package/src/components/Button/Button.tsx +7 -0
- package/src/components/DatePicker/DatePicker.stories.tsx +8 -0
- package/src/components/DatePicker/DatePicker.tsx +5 -2
- package/src/components/Input/Input.stories.tsx +6 -3
- package/src/components/Input/Input.tsx +17 -14
- package/src/components/Input/index.ts +1 -1
- package/src/components/Select/Select.stories.tsx +9 -2
- package/src/components/Select/Select.tsx +11 -11
- package/src/components/Select/index.ts +7 -1
- package/src/components/index.ts +8 -2
- package/src/icons/Icons.stories.tsx +39 -1
- package/src/icons/Menu/MenuIcon.tsx +30 -0
- package/src/icons/Menu/MenuIcon.web.tsx +58 -0
- package/src/icons/Menu/index.ts +2 -0
- package/src/icons/Menu/menuPath.ts +3 -0
- package/src/icons/index.ts +2 -0
- package/src/icons/registry.ts +3 -1
- package/src/index.ts +4 -0
- package/src/utils/renderStatefulIcon.tsx +25 -0
package/dist/index.d.cts
CHANGED
|
@@ -156,6 +156,11 @@ declare function LogOutIcon({ size, color, strokeWidth }: IconProps): react.JSX.
|
|
|
156
156
|
|
|
157
157
|
declare function MailIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
158
158
|
|
|
159
|
+
interface MenuIconProps extends IconProps {
|
|
160
|
+
open?: boolean;
|
|
161
|
+
}
|
|
162
|
+
declare function MenuIcon({ size, color, strokeWidth, open, }: MenuIconProps): react.JSX.Element;
|
|
163
|
+
|
|
159
164
|
declare function MinusIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
160
165
|
|
|
161
166
|
declare function NavigateIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
@@ -236,6 +241,7 @@ declare const icons: {
|
|
|
236
241
|
readonly linkedin: typeof LinkedInIcon;
|
|
237
242
|
readonly logOut: typeof LogOutIcon;
|
|
238
243
|
readonly mail: typeof MailIcon;
|
|
244
|
+
readonly menu: typeof MenuIcon;
|
|
239
245
|
readonly minus: typeof MinusIcon;
|
|
240
246
|
readonly navigate: typeof NavigateIcon;
|
|
241
247
|
readonly phone: typeof PhoneIcon;
|
|
@@ -253,7 +259,7 @@ declare const icons: {
|
|
|
253
259
|
type IconName = keyof typeof icons;
|
|
254
260
|
declare const iconNames: IconName[];
|
|
255
261
|
declare const iconGroups: {
|
|
256
|
-
readonly navigation: readonly ["arrowRight", "chevronDown", "chevronLeft", "home", "navigate"];
|
|
262
|
+
readonly navigation: readonly ["arrowRight", "chevronDown", "chevronLeft", "home", "menu", "navigate"];
|
|
257
263
|
readonly actions: readonly ["show", "bell", "camera", "key", "check", "checkBadge", "search", "calendar", "calendarOutline", "heart", "star", "starFilled", "minus", "plus"];
|
|
258
264
|
readonly objects: readonly ["bag", "building", "clock", "user", "usersAlt", "video"];
|
|
259
265
|
readonly communication: readonly ["mail", "phone"];
|
|
@@ -412,6 +418,8 @@ type DatePickerBaseProps = Omit<ViewProps, "style" | "children"> & {
|
|
|
412
418
|
formatValue?: (date: Date) => string;
|
|
413
419
|
/** First day of the week column (0 = Sunday, 1 = Monday). Defaults to Monday. */
|
|
414
420
|
weekStartsOn?: 0 | 1;
|
|
421
|
+
/** Styles the calendar popup independently from the trigger width. */
|
|
422
|
+
calendarStyle?: StyleProp<ViewStyle>;
|
|
415
423
|
style?: StyleProp<ViewStyle>;
|
|
416
424
|
className?: string;
|
|
417
425
|
};
|
|
@@ -430,7 +438,10 @@ type DatePickerRangeProps = DatePickerBaseProps & {
|
|
|
430
438
|
type DatePickerProps = DatePickerSingleProps | DatePickerRangeProps;
|
|
431
439
|
declare const DatePicker: react.ForwardRefExoticComponent<DatePickerProps & react.RefAttributes<View>>;
|
|
432
440
|
|
|
441
|
+
type StatefulIcon = ReactNode | IconComponent;
|
|
442
|
+
|
|
433
443
|
type InputSize = "lg" | "sm";
|
|
444
|
+
type InputIcon = StatefulIcon;
|
|
434
445
|
interface InputProps extends Omit<TextInputProps, "style" | "editable"> {
|
|
435
446
|
label?: string;
|
|
436
447
|
showLabel?: boolean;
|
|
@@ -441,9 +452,9 @@ interface InputProps extends Omit<TextInputProps, "style" | "editable"> {
|
|
|
441
452
|
error?: boolean;
|
|
442
453
|
/** External — non-interactive. */
|
|
443
454
|
disabled?: boolean;
|
|
444
|
-
leftIcon?:
|
|
455
|
+
leftIcon?: InputIcon;
|
|
445
456
|
showLeftIcon?: boolean;
|
|
446
|
-
rightIcon?:
|
|
457
|
+
rightIcon?: InputIcon;
|
|
447
458
|
showRightIcon?: boolean;
|
|
448
459
|
onRightIconPress?: () => void;
|
|
449
460
|
/** Accessible name for the right icon button, when `onRightIconPress` is set. */
|
|
@@ -460,6 +471,7 @@ type SelectOption = {
|
|
|
460
471
|
label: string;
|
|
461
472
|
value: string;
|
|
462
473
|
};
|
|
474
|
+
type SelectIcon = StatefulIcon;
|
|
463
475
|
type SelectBaseProps = Omit<ViewProps, "style" | "children"> & {
|
|
464
476
|
label?: string;
|
|
465
477
|
showLabel?: boolean;
|
|
@@ -472,7 +484,7 @@ type SelectBaseProps = Omit<ViewProps, "style" | "children"> & {
|
|
|
472
484
|
onOpenChange?: (open: boolean) => void;
|
|
473
485
|
disabled?: boolean;
|
|
474
486
|
error?: boolean;
|
|
475
|
-
leftIcon?:
|
|
487
|
+
leftIcon?: SelectIcon;
|
|
476
488
|
showLeftIcon?: boolean;
|
|
477
489
|
showSearch?: boolean;
|
|
478
490
|
searchPlaceholder?: string;
|
|
@@ -863,4 +875,4 @@ declare const textareaTypography: {
|
|
|
863
875
|
};
|
|
864
876
|
};
|
|
865
877
|
|
|
866
|
-
export { ArrowRightIcon, Avatar, type AvatarMenuItem, type AvatarProps, BRAND_LOGO_COLORS, BRAND_LOGO_DEFAULT_HEIGHT, BRAND_LOGO_DEFAULT_WIDTH, Badge, type BadgeProps, type BadgeVariant, BagIcon, BellIcon, BrandLogo, type BrandLogoProps, type BrandLogoVariant, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarIcon, CalendarOutlineIcon, CameraIcon, CheckBadgeIcon, CheckIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ChevronLeftIcon, ClockIcon, CommentCard, type CommentCardProps, Counter, type CounterProps, DatePicker, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, type DateRange, FacebookIcon, GlobeIcon, type GreyStep, HeartIcon, HelpCircleIcon, HomeIcon, Icon, type IconByNameProps, type IconComponent, type IconGroup, type IconName, type IconProps, Input, type InputProps, type InputSize, InstagramIcon, KeyIcon, type LanguageOption, LanguageSwitcher, type LanguageSwitcherProps, LayoutGridIcon, LinkedInIcon, LogOutIcon, MailIcon, MenuItem, type MenuItemProps, MinusIcon, NavigateIcon, PhoneIcon, PlusIcon, RatingInput, type RatingInputProps, SearchIcon, SegmentedToggle, type SegmentedToggleOption, type SegmentedToggleProps, Select, type SelectMultipleProps, type SelectOption, type SelectProps, type SelectSingleProps, SettingsIcon, ShowIcon, SidebarIcon, StarFilledIcon, StarIcon, type StarIconProps, StatCard, type StatCardProps, Textarea, type TextareaProps, Toggle, type ToggleProps, UserIcon, UsersAltIcon, VideoIcon, avatarTypography, badgeTypography, buttonTypography, colors, commentCardTypography, counterTypography, datePickerTypography, defaultLanguageOptions, fonts, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, languageSwitcherTypography, ratingTypography, segmentedToggleTypography, selectTypography, statCardTypography, textareaTypography };
|
|
878
|
+
export { ArrowRightIcon, Avatar, type AvatarMenuItem, type AvatarProps, BRAND_LOGO_COLORS, BRAND_LOGO_DEFAULT_HEIGHT, BRAND_LOGO_DEFAULT_WIDTH, Badge, type BadgeProps, type BadgeVariant, BagIcon, BellIcon, BrandLogo, type BrandLogoProps, type BrandLogoVariant, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarIcon, CalendarOutlineIcon, CameraIcon, CheckBadgeIcon, CheckIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ChevronLeftIcon, ClockIcon, CommentCard, type CommentCardProps, Counter, type CounterProps, DatePicker, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, type DateRange, FacebookIcon, GlobeIcon, type GreyStep, HeartIcon, HelpCircleIcon, HomeIcon, Icon, type IconByNameProps, type IconComponent, type IconGroup, type IconName, type IconProps, Input, type InputIcon, type InputProps, type InputSize, InstagramIcon, KeyIcon, type LanguageOption, LanguageSwitcher, type LanguageSwitcherProps, LayoutGridIcon, LinkedInIcon, LogOutIcon, MailIcon, MenuIcon, type MenuIconProps, MenuItem, type MenuItemProps, MinusIcon, NavigateIcon, PhoneIcon, PlusIcon, RatingInput, type RatingInputProps, SearchIcon, SegmentedToggle, type SegmentedToggleOption, type SegmentedToggleProps, Select, type SelectIcon, type SelectMultipleProps, type SelectOption, type SelectProps, type SelectSingleProps, SettingsIcon, ShowIcon, SidebarIcon, StarFilledIcon, StarIcon, type StarIconProps, StatCard, type StatCardProps, Textarea, type TextareaProps, Toggle, type ToggleProps, UserIcon, UsersAltIcon, VideoIcon, avatarTypography, badgeTypography, buttonTypography, colors, commentCardTypography, counterTypography, datePickerTypography, defaultLanguageOptions, fonts, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, languageSwitcherTypography, ratingTypography, segmentedToggleTypography, selectTypography, statCardTypography, textareaTypography };
|
package/dist/index.d.ts
CHANGED
|
@@ -156,6 +156,11 @@ declare function LogOutIcon({ size, color, strokeWidth }: IconProps): react.JSX.
|
|
|
156
156
|
|
|
157
157
|
declare function MailIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
158
158
|
|
|
159
|
+
interface MenuIconProps extends IconProps {
|
|
160
|
+
open?: boolean;
|
|
161
|
+
}
|
|
162
|
+
declare function MenuIcon({ size, color, strokeWidth, open, }: MenuIconProps): react.JSX.Element;
|
|
163
|
+
|
|
159
164
|
declare function MinusIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
160
165
|
|
|
161
166
|
declare function NavigateIcon({ size, color, strokeWidth }: IconProps): react.JSX.Element;
|
|
@@ -236,6 +241,7 @@ declare const icons: {
|
|
|
236
241
|
readonly linkedin: typeof LinkedInIcon;
|
|
237
242
|
readonly logOut: typeof LogOutIcon;
|
|
238
243
|
readonly mail: typeof MailIcon;
|
|
244
|
+
readonly menu: typeof MenuIcon;
|
|
239
245
|
readonly minus: typeof MinusIcon;
|
|
240
246
|
readonly navigate: typeof NavigateIcon;
|
|
241
247
|
readonly phone: typeof PhoneIcon;
|
|
@@ -253,7 +259,7 @@ declare const icons: {
|
|
|
253
259
|
type IconName = keyof typeof icons;
|
|
254
260
|
declare const iconNames: IconName[];
|
|
255
261
|
declare const iconGroups: {
|
|
256
|
-
readonly navigation: readonly ["arrowRight", "chevronDown", "chevronLeft", "home", "navigate"];
|
|
262
|
+
readonly navigation: readonly ["arrowRight", "chevronDown", "chevronLeft", "home", "menu", "navigate"];
|
|
257
263
|
readonly actions: readonly ["show", "bell", "camera", "key", "check", "checkBadge", "search", "calendar", "calendarOutline", "heart", "star", "starFilled", "minus", "plus"];
|
|
258
264
|
readonly objects: readonly ["bag", "building", "clock", "user", "usersAlt", "video"];
|
|
259
265
|
readonly communication: readonly ["mail", "phone"];
|
|
@@ -412,6 +418,8 @@ type DatePickerBaseProps = Omit<ViewProps, "style" | "children"> & {
|
|
|
412
418
|
formatValue?: (date: Date) => string;
|
|
413
419
|
/** First day of the week column (0 = Sunday, 1 = Monday). Defaults to Monday. */
|
|
414
420
|
weekStartsOn?: 0 | 1;
|
|
421
|
+
/** Styles the calendar popup independently from the trigger width. */
|
|
422
|
+
calendarStyle?: StyleProp<ViewStyle>;
|
|
415
423
|
style?: StyleProp<ViewStyle>;
|
|
416
424
|
className?: string;
|
|
417
425
|
};
|
|
@@ -430,7 +438,10 @@ type DatePickerRangeProps = DatePickerBaseProps & {
|
|
|
430
438
|
type DatePickerProps = DatePickerSingleProps | DatePickerRangeProps;
|
|
431
439
|
declare const DatePicker: react.ForwardRefExoticComponent<DatePickerProps & react.RefAttributes<View>>;
|
|
432
440
|
|
|
441
|
+
type StatefulIcon = ReactNode | IconComponent;
|
|
442
|
+
|
|
433
443
|
type InputSize = "lg" | "sm";
|
|
444
|
+
type InputIcon = StatefulIcon;
|
|
434
445
|
interface InputProps extends Omit<TextInputProps, "style" | "editable"> {
|
|
435
446
|
label?: string;
|
|
436
447
|
showLabel?: boolean;
|
|
@@ -441,9 +452,9 @@ interface InputProps extends Omit<TextInputProps, "style" | "editable"> {
|
|
|
441
452
|
error?: boolean;
|
|
442
453
|
/** External — non-interactive. */
|
|
443
454
|
disabled?: boolean;
|
|
444
|
-
leftIcon?:
|
|
455
|
+
leftIcon?: InputIcon;
|
|
445
456
|
showLeftIcon?: boolean;
|
|
446
|
-
rightIcon?:
|
|
457
|
+
rightIcon?: InputIcon;
|
|
447
458
|
showRightIcon?: boolean;
|
|
448
459
|
onRightIconPress?: () => void;
|
|
449
460
|
/** Accessible name for the right icon button, when `onRightIconPress` is set. */
|
|
@@ -460,6 +471,7 @@ type SelectOption = {
|
|
|
460
471
|
label: string;
|
|
461
472
|
value: string;
|
|
462
473
|
};
|
|
474
|
+
type SelectIcon = StatefulIcon;
|
|
463
475
|
type SelectBaseProps = Omit<ViewProps, "style" | "children"> & {
|
|
464
476
|
label?: string;
|
|
465
477
|
showLabel?: boolean;
|
|
@@ -472,7 +484,7 @@ type SelectBaseProps = Omit<ViewProps, "style" | "children"> & {
|
|
|
472
484
|
onOpenChange?: (open: boolean) => void;
|
|
473
485
|
disabled?: boolean;
|
|
474
486
|
error?: boolean;
|
|
475
|
-
leftIcon?:
|
|
487
|
+
leftIcon?: SelectIcon;
|
|
476
488
|
showLeftIcon?: boolean;
|
|
477
489
|
showSearch?: boolean;
|
|
478
490
|
searchPlaceholder?: string;
|
|
@@ -863,4 +875,4 @@ declare const textareaTypography: {
|
|
|
863
875
|
};
|
|
864
876
|
};
|
|
865
877
|
|
|
866
|
-
export { ArrowRightIcon, Avatar, type AvatarMenuItem, type AvatarProps, BRAND_LOGO_COLORS, BRAND_LOGO_DEFAULT_HEIGHT, BRAND_LOGO_DEFAULT_WIDTH, Badge, type BadgeProps, type BadgeVariant, BagIcon, BellIcon, BrandLogo, type BrandLogoProps, type BrandLogoVariant, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarIcon, CalendarOutlineIcon, CameraIcon, CheckBadgeIcon, CheckIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ChevronLeftIcon, ClockIcon, CommentCard, type CommentCardProps, Counter, type CounterProps, DatePicker, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, type DateRange, FacebookIcon, GlobeIcon, type GreyStep, HeartIcon, HelpCircleIcon, HomeIcon, Icon, type IconByNameProps, type IconComponent, type IconGroup, type IconName, type IconProps, Input, type InputProps, type InputSize, InstagramIcon, KeyIcon, type LanguageOption, LanguageSwitcher, type LanguageSwitcherProps, LayoutGridIcon, LinkedInIcon, LogOutIcon, MailIcon, MenuItem, type MenuItemProps, MinusIcon, NavigateIcon, PhoneIcon, PlusIcon, RatingInput, type RatingInputProps, SearchIcon, SegmentedToggle, type SegmentedToggleOption, type SegmentedToggleProps, Select, type SelectMultipleProps, type SelectOption, type SelectProps, type SelectSingleProps, SettingsIcon, ShowIcon, SidebarIcon, StarFilledIcon, StarIcon, type StarIconProps, StatCard, type StatCardProps, Textarea, type TextareaProps, Toggle, type ToggleProps, UserIcon, UsersAltIcon, VideoIcon, avatarTypography, badgeTypography, buttonTypography, colors, commentCardTypography, counterTypography, datePickerTypography, defaultLanguageOptions, fonts, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, languageSwitcherTypography, ratingTypography, segmentedToggleTypography, selectTypography, statCardTypography, textareaTypography };
|
|
878
|
+
export { ArrowRightIcon, Avatar, type AvatarMenuItem, type AvatarProps, BRAND_LOGO_COLORS, BRAND_LOGO_DEFAULT_HEIGHT, BRAND_LOGO_DEFAULT_WIDTH, Badge, type BadgeProps, type BadgeVariant, BagIcon, BellIcon, BrandLogo, type BrandLogoProps, type BrandLogoVariant, BuildingIcon, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarIcon, CalendarOutlineIcon, CameraIcon, CheckBadgeIcon, CheckIcon, Checkbox, type CheckboxProps, type CheckboxVariant, ChevronDownIcon, ChevronLeftIcon, ClockIcon, CommentCard, type CommentCardProps, Counter, type CounterProps, DatePicker, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, type DateRange, FacebookIcon, GlobeIcon, type GreyStep, HeartIcon, HelpCircleIcon, HomeIcon, Icon, type IconByNameProps, type IconComponent, type IconGroup, type IconName, type IconProps, Input, type InputIcon, type InputProps, type InputSize, InstagramIcon, KeyIcon, type LanguageOption, LanguageSwitcher, type LanguageSwitcherProps, LayoutGridIcon, LinkedInIcon, LogOutIcon, MailIcon, MenuIcon, type MenuIconProps, MenuItem, type MenuItemProps, MinusIcon, NavigateIcon, PhoneIcon, PlusIcon, RatingInput, type RatingInputProps, SearchIcon, SegmentedToggle, type SegmentedToggleOption, type SegmentedToggleProps, Select, type SelectIcon, type SelectMultipleProps, type SelectOption, type SelectProps, type SelectSingleProps, SettingsIcon, ShowIcon, SidebarIcon, StarFilledIcon, StarIcon, type StarIconProps, StatCard, type StatCardProps, Textarea, type TextareaProps, Toggle, type ToggleProps, UserIcon, UsersAltIcon, VideoIcon, avatarTypography, badgeTypography, buttonTypography, colors, commentCardTypography, counterTypography, datePickerTypography, defaultLanguageOptions, fonts, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, languageSwitcherTypography, ratingTypography, segmentedToggleTypography, selectTypography, statCardTypography, textareaTypography };
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { forwardRef, useRef, useMemo, useState, useCallback, useEffect, useLayoutEffect } from 'react';
|
|
1
|
+
import { forwardRef, useRef, useMemo, useState, useCallback, useEffect, useLayoutEffect, isValidElement, cloneElement } from 'react';
|
|
2
2
|
import { Pressable, View, Text, StyleSheet, Platform, Image, Animated, Easing, TouchableOpacity, TextInput, ScrollView } from 'react-native';
|
|
3
3
|
import Svg, { Path } from 'react-native-svg';
|
|
4
4
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -615,6 +615,28 @@ function MailIcon({ size = 20, color = colors.primary, strokeWidth = 2 }) {
|
|
|
615
615
|
) });
|
|
616
616
|
}
|
|
617
617
|
|
|
618
|
+
// src/icons/Menu/menuPath.ts
|
|
619
|
+
var MENU_PATH = "M8 12.6667H17.3333M1 6.83332H17.3333M8 0.999985H17.3333";
|
|
620
|
+
var MENU_CLOSE_PATH = "M15 1L1 15M1 1L15 15";
|
|
621
|
+
function MenuIcon({
|
|
622
|
+
size = 19,
|
|
623
|
+
color = colors.white,
|
|
624
|
+
strokeWidth = 2,
|
|
625
|
+
open = false
|
|
626
|
+
}) {
|
|
627
|
+
return /* @__PURE__ */ jsx(Svg, { width: size, height: size, viewBox: "0 0 19 19", fill: "none", children: /* @__PURE__ */ jsx(
|
|
628
|
+
Path,
|
|
629
|
+
{
|
|
630
|
+
d: open ? MENU_CLOSE_PATH : MENU_PATH,
|
|
631
|
+
stroke: color,
|
|
632
|
+
strokeWidth,
|
|
633
|
+
strokeLinecap: "round",
|
|
634
|
+
strokeLinejoin: "round",
|
|
635
|
+
transform: open ? "translate(1.5 1.5)" : "translate(0 2.5)"
|
|
636
|
+
}
|
|
637
|
+
) });
|
|
638
|
+
}
|
|
639
|
+
|
|
618
640
|
// src/icons/Minus/minusPath.ts
|
|
619
641
|
var MINUS_PATH = "M3.33337 8H12.6667";
|
|
620
642
|
function MinusIcon({ size = 16, color = colors.white, strokeWidth = 2 }) {
|
|
@@ -871,6 +893,7 @@ var icons = {
|
|
|
871
893
|
linkedin: LinkedInIcon,
|
|
872
894
|
logOut: LogOutIcon,
|
|
873
895
|
mail: MailIcon,
|
|
896
|
+
menu: MenuIcon,
|
|
874
897
|
minus: MinusIcon,
|
|
875
898
|
navigate: NavigateIcon,
|
|
876
899
|
phone: PhoneIcon,
|
|
@@ -887,7 +910,7 @@ var icons = {
|
|
|
887
910
|
};
|
|
888
911
|
var iconNames = Object.keys(icons);
|
|
889
912
|
var iconGroups = {
|
|
890
|
-
navigation: ["arrowRight", "chevronDown", "chevronLeft", "home", "navigate"],
|
|
913
|
+
navigation: ["arrowRight", "chevronDown", "chevronLeft", "home", "menu", "navigate"],
|
|
891
914
|
actions: [
|
|
892
915
|
"show",
|
|
893
916
|
"bell",
|
|
@@ -2036,6 +2059,7 @@ var Button = forwardRef(
|
|
|
2036
2059
|
paddingRight: hasIcon ? metrics.paddingRightWithIcon : metrics.paddingRight,
|
|
2037
2060
|
gap: hasIcon ? metrics.gap : 0
|
|
2038
2061
|
},
|
|
2062
|
+
hasIcon ? styles8.contentWithIcon : styles8.contentWithoutIcon,
|
|
2039
2063
|
disabled && styles8.disabled,
|
|
2040
2064
|
style
|
|
2041
2065
|
];
|
|
@@ -2091,6 +2115,12 @@ var styles8 = StyleSheet.create({
|
|
|
2091
2115
|
disabled: {
|
|
2092
2116
|
opacity: 0.6
|
|
2093
2117
|
},
|
|
2118
|
+
contentWithIcon: {
|
|
2119
|
+
justifyContent: "space-between"
|
|
2120
|
+
},
|
|
2121
|
+
contentWithoutIcon: {
|
|
2122
|
+
justifyContent: "center"
|
|
2123
|
+
},
|
|
2094
2124
|
label: {},
|
|
2095
2125
|
labelAndroid: {
|
|
2096
2126
|
includeFontPadding: false
|
|
@@ -2297,6 +2327,7 @@ var DatePicker = forwardRef(
|
|
|
2297
2327
|
weekdayLabels = DEFAULT_WEEKDAY_LABELS,
|
|
2298
2328
|
formatValue = formatDate,
|
|
2299
2329
|
weekStartsOn = 1,
|
|
2330
|
+
calendarStyle,
|
|
2300
2331
|
style,
|
|
2301
2332
|
className,
|
|
2302
2333
|
accessibilityLabel,
|
|
@@ -2451,7 +2482,7 @@ var DatePicker = forwardRef(
|
|
|
2451
2482
|
]
|
|
2452
2483
|
}
|
|
2453
2484
|
),
|
|
2454
|
-
isOpen ? /* @__PURE__ */ jsxs(View, { style: styles10.menu, children: [
|
|
2485
|
+
isOpen ? /* @__PURE__ */ jsxs(View, { style: [styles10.menu, calendarStyle], children: [
|
|
2455
2486
|
/* @__PURE__ */ jsxs(View, { style: styles10.calendarHeader, children: [
|
|
2456
2487
|
/* @__PURE__ */ jsx(
|
|
2457
2488
|
Pressable,
|
|
@@ -2631,7 +2662,7 @@ var styles10 = StyleSheet.create({
|
|
|
2631
2662
|
position: "absolute",
|
|
2632
2663
|
top: "100%",
|
|
2633
2664
|
left: 0,
|
|
2634
|
-
|
|
2665
|
+
width: DEFAULT_WIDTH,
|
|
2635
2666
|
marginTop: 8,
|
|
2636
2667
|
zIndex: 10,
|
|
2637
2668
|
borderRadius: MENU_RADIUS2,
|
|
@@ -2721,6 +2752,19 @@ var styles10 = StyleSheet.create({
|
|
|
2721
2752
|
backgroundColor: colors.primary
|
|
2722
2753
|
}
|
|
2723
2754
|
});
|
|
2755
|
+
function renderStatefulIcon(icon, FallbackIcon, props) {
|
|
2756
|
+
if (icon == null) {
|
|
2757
|
+
return /* @__PURE__ */ jsx(FallbackIcon, { ...props });
|
|
2758
|
+
}
|
|
2759
|
+
if (typeof icon === "function") {
|
|
2760
|
+
const Icon2 = icon;
|
|
2761
|
+
return /* @__PURE__ */ jsx(Icon2, { ...props });
|
|
2762
|
+
}
|
|
2763
|
+
if (isValidElement(icon)) {
|
|
2764
|
+
return cloneElement(icon, props);
|
|
2765
|
+
}
|
|
2766
|
+
return icon;
|
|
2767
|
+
}
|
|
2724
2768
|
var DEFAULT_WIDTH2 = 308;
|
|
2725
2769
|
var sizeConfig2 = {
|
|
2726
2770
|
lg: {
|
|
@@ -2800,11 +2844,11 @@ function chromeFor(state) {
|
|
|
2800
2844
|
}
|
|
2801
2845
|
}
|
|
2802
2846
|
var Input = forwardRef(function Input2({
|
|
2803
|
-
label
|
|
2847
|
+
label,
|
|
2804
2848
|
showLabel = true,
|
|
2805
|
-
hint
|
|
2849
|
+
hint,
|
|
2806
2850
|
showHint = true,
|
|
2807
|
-
placeholder
|
|
2851
|
+
placeholder,
|
|
2808
2852
|
size = "lg",
|
|
2809
2853
|
disabled = false,
|
|
2810
2854
|
error = false,
|
|
@@ -2841,8 +2885,14 @@ var Input = forwardRef(function Input2({
|
|
|
2841
2885
|
const resolvedAccessibilityLabel = accessibilityLabel ?? (showLabel ? void 0 : label);
|
|
2842
2886
|
const hasLeftIcon = showLeftIcon || leftIcon != null;
|
|
2843
2887
|
const hasRightIcon = showRightIcon || rightIcon != null;
|
|
2844
|
-
const leftIconNode = leftIcon
|
|
2845
|
-
|
|
2888
|
+
const leftIconNode = renderStatefulIcon(leftIcon, UserIcon, {
|
|
2889
|
+
size: metrics.iconSize,
|
|
2890
|
+
color: chrome.leftIconColor
|
|
2891
|
+
});
|
|
2892
|
+
const rightIconNode = renderStatefulIcon(rightIcon, ShowIcon, {
|
|
2893
|
+
size: metrics.iconSize,
|
|
2894
|
+
color: chrome.rightIconColor
|
|
2895
|
+
});
|
|
2846
2896
|
useApplyWebClassName(rootRef, className);
|
|
2847
2897
|
useApplyWebClassName(inputRef, inputClassName);
|
|
2848
2898
|
return /* @__PURE__ */ jsxs(View, { ref: rootRef, style: [styles11.root, disabled && styles11.disabled, style], children: [
|
|
@@ -3076,11 +3126,11 @@ function MultiValueChips({ options, disabled, onRemove }) {
|
|
|
3076
3126
|
var Select = forwardRef(
|
|
3077
3127
|
function Select2(props, forwardedRef) {
|
|
3078
3128
|
const {
|
|
3079
|
-
label
|
|
3129
|
+
label,
|
|
3080
3130
|
showLabel = true,
|
|
3081
3131
|
hint,
|
|
3082
|
-
showHint =
|
|
3083
|
-
placeholder
|
|
3132
|
+
showHint = true,
|
|
3133
|
+
placeholder,
|
|
3084
3134
|
options,
|
|
3085
3135
|
open: openProp,
|
|
3086
3136
|
defaultOpen = false,
|
|
@@ -3277,13 +3327,10 @@ var Select = forwardRef(
|
|
|
3277
3327
|
handleSelect,
|
|
3278
3328
|
setOpen
|
|
3279
3329
|
]);
|
|
3280
|
-
const leftIconNode = leftIcon
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
color: error ? colors.red : isOpen ? colors.primary : colors.grey100
|
|
3285
|
-
}
|
|
3286
|
-
);
|
|
3330
|
+
const leftIconNode = renderStatefulIcon(leftIcon, UserIcon, {
|
|
3331
|
+
size: ICON_SIZE7,
|
|
3332
|
+
color: error ? colors.red : isOpen ? colors.primary : colors.grey100
|
|
3333
|
+
});
|
|
3287
3334
|
const hasLeftIcon = showLeftIcon || leftIcon != null;
|
|
3288
3335
|
const triggerBorderColor = error ? colors.redMuted : isOpen ? colors.primaryMuted : colors.grey700;
|
|
3289
3336
|
const triggerTextColor = hasValue ? error ? colors.red : colors.white : error ? colors.red : colors.grey100;
|
|
@@ -4141,6 +4188,6 @@ var styles16 = StyleSheet.create({
|
|
|
4141
4188
|
}
|
|
4142
4189
|
});
|
|
4143
4190
|
|
|
4144
|
-
export { ArrowRightIcon, Avatar, BRAND_LOGO_COLORS, BRAND_LOGO_DEFAULT_HEIGHT, BRAND_LOGO_DEFAULT_WIDTH, Badge, BagIcon, BellIcon, BrandLogo, BuildingIcon, Button, CalendarIcon, CalendarOutlineIcon, CameraIcon, CheckBadgeIcon, CheckIcon, Checkbox, ChevronDownIcon, ChevronLeftIcon, ClockIcon, CommentCard, Counter, DatePicker, FacebookIcon, GlobeIcon, HeartIcon, HelpCircleIcon, HomeIcon, Icon, Input, InstagramIcon, KeyIcon, LanguageSwitcher, LayoutGridIcon, LinkedInIcon, LogOutIcon, MailIcon, MenuItem, MinusIcon, NavigateIcon, PhoneIcon, PlusIcon, RatingInput, SearchIcon, SegmentedToggle, Select, SettingsIcon, ShowIcon, SidebarIcon, StarFilledIcon, StarIcon, StatCard, Textarea, Toggle, UserIcon, UsersAltIcon, VideoIcon, avatarTypography, badgeTypography, buttonTypography, colors, commentCardTypography, counterTypography, datePickerTypography, defaultLanguageOptions, fonts, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, languageSwitcherTypography, ratingTypography, segmentedToggleTypography, selectTypography, statCardTypography, textareaTypography };
|
|
4191
|
+
export { ArrowRightIcon, Avatar, BRAND_LOGO_COLORS, BRAND_LOGO_DEFAULT_HEIGHT, BRAND_LOGO_DEFAULT_WIDTH, Badge, BagIcon, BellIcon, BrandLogo, BuildingIcon, Button, CalendarIcon, CalendarOutlineIcon, CameraIcon, CheckBadgeIcon, CheckIcon, Checkbox, ChevronDownIcon, ChevronLeftIcon, ClockIcon, CommentCard, Counter, DatePicker, FacebookIcon, GlobeIcon, HeartIcon, HelpCircleIcon, HomeIcon, Icon, Input, InstagramIcon, KeyIcon, LanguageSwitcher, LayoutGridIcon, LinkedInIcon, LogOutIcon, MailIcon, MenuIcon, MenuItem, MinusIcon, NavigateIcon, PhoneIcon, PlusIcon, RatingInput, SearchIcon, SegmentedToggle, Select, SettingsIcon, ShowIcon, SidebarIcon, StarFilledIcon, StarIcon, StatCard, Textarea, Toggle, UserIcon, UsersAltIcon, VideoIcon, avatarTypography, badgeTypography, buttonTypography, colors, commentCardTypography, counterTypography, datePickerTypography, defaultLanguageOptions, fonts, getIconsByGroup, grey, iconGroupNames, iconGroups, iconNames, icons, inputTypography, languageSwitcherTypography, ratingTypography, segmentedToggleTypography, selectTypography, statCardTypography, textareaTypography };
|
|
4145
4192
|
//# sourceMappingURL=index.js.map
|
|
4146
4193
|
//# sourceMappingURL=index.js.map
|