@swan-io/lake 15.3.1 → 15.4.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.
Files changed (119) hide show
  1. package/package.json +5 -5
  2. package/src/components/Accordion.d.ts +1 -1
  3. package/src/components/AppOpeningAnimation.d.ts +1 -1
  4. package/src/components/AutoWidthImage.d.ts +1 -1
  5. package/src/components/AutocompleteSearchInput.d.ts +1 -1
  6. package/src/components/AutocompleteSearchInput.js +2 -2
  7. package/src/components/Avatar.js +3 -6
  8. package/src/components/BorderedIcon.d.ts +1 -1
  9. package/src/components/BottomPanel.d.ts +1 -1
  10. package/src/components/Box.d.ts +1 -1
  11. package/src/components/Breadcrumbs.d.ts +2 -2
  12. package/src/components/Breadcrumbs.js +3 -5
  13. package/src/components/BulletList.d.ts +10 -0
  14. package/src/components/BulletList.js +12 -0
  15. package/src/components/Cells.d.ts +6 -6
  16. package/src/components/Cells.js +1 -1
  17. package/src/components/ContextMenu.d.ts +2 -2
  18. package/src/components/ContextMenu.js +1 -1
  19. package/src/components/EmptyView.d.ts +1 -1
  20. package/src/components/EmptyView.js +1 -1
  21. package/src/components/Fill.d.ts +1 -1
  22. package/src/components/FlatList.d.ts +1 -1
  23. package/src/components/FlatList.js +3 -3
  24. package/src/components/FlowPresentation.d.ts +1 -1
  25. package/src/components/FocusTrap.d.ts +1 -1
  26. package/src/components/Form.d.ts +120 -123
  27. package/src/components/FullViewportLayer.d.ts +1 -1
  28. package/src/components/Grid.d.ts +1 -1
  29. package/src/components/Icon.js +1 -1
  30. package/src/components/InputError.d.ts +1 -1
  31. package/src/components/LakeAlert.d.ts +1 -1
  32. package/src/components/LakeAlert.js +2 -2
  33. package/src/components/LakeButton.d.ts +2 -2
  34. package/src/components/LakeButton.js +1 -1
  35. package/src/components/LakeCheckbox.d.ts +2 -2
  36. package/src/components/LakeCheckbox.js +2 -2
  37. package/src/components/LakeCombobox.d.ts +1 -1
  38. package/src/components/LakeCopyButton.d.ts +1 -1
  39. package/src/components/LakeDownloadButton.d.ts +1 -1
  40. package/src/components/LakeHeading.d.ts +1 -1
  41. package/src/components/LakeLabel.d.ts +1 -1
  42. package/src/components/LakeLabel.js +2 -2
  43. package/src/components/LakeRadio.d.ts +1 -1
  44. package/src/components/LakeScrollView.d.ts +1 -1
  45. package/src/components/LakeSelect.d.ts +1 -1
  46. package/src/components/LakeSelect.js +8 -10
  47. package/src/components/LakeSlider.d.ts +1 -1
  48. package/src/components/LakeStepper.d.ts +3 -3
  49. package/src/components/LakeStepper.js +3 -3
  50. package/src/components/LakeTagInput.d.ts +1 -1
  51. package/src/components/LakeText.d.ts +1 -1
  52. package/src/components/LakeTextInput.d.ts +1 -1
  53. package/src/components/LakeTextInput.js +1 -1
  54. package/src/components/LakeTooltip.d.ts +2 -2
  55. package/src/components/LakeTooltip.js +2 -2
  56. package/src/components/Link.d.ts +1 -1
  57. package/src/components/ListRightPanel.d.ts +2 -2
  58. package/src/components/LoadingView.d.ts +1 -1
  59. package/src/components/MultiSelect.d.ts +1 -1
  60. package/src/components/MultiSelect.js +2 -2
  61. package/src/components/PlainListView.d.ts +3 -9
  62. package/src/components/PlainListView.js +1 -1
  63. package/src/components/PopoverContent.d.ts +1 -1
  64. package/src/components/Pressable.js +3 -3
  65. package/src/components/ProgressTracker.d.ts +22 -0
  66. package/src/components/ProgressTracker.js +71 -0
  67. package/src/components/ProjectEnvTag.d.ts +1 -1
  68. package/src/components/QuickActions.d.ts +1 -1
  69. package/src/components/QuickActions.js +6 -9
  70. package/src/components/RadioGroup.d.ts +1 -1
  71. package/src/components/RadioGroup.js +1 -1
  72. package/src/components/ReadOnlyFieldList.d.ts +1 -1
  73. package/src/components/ReadOnlyFieldList.js +1 -1
  74. package/src/components/ResponsiveContainer.d.ts +1 -1
  75. package/src/components/RightPanel.d.ts +1 -1
  76. package/src/components/RightPanel.js +1 -1
  77. package/src/components/ScrollView.d.ts +1 -1
  78. package/src/components/SectionList.d.ts +1 -1
  79. package/src/components/SectionList.js +3 -3
  80. package/src/components/SegmentedControl.d.ts +1 -1
  81. package/src/components/SegmentedControl.js +1 -1
  82. package/src/components/Separator.d.ts +1 -1
  83. package/src/components/SidebarNavigationTracker.d.ts +2 -2
  84. package/src/components/SidebarNavigationTracker.js +2 -1
  85. package/src/components/SmsOpeningAnimation.d.ts +1 -1
  86. package/src/components/SortBottomPanel.d.ts +1 -1
  87. package/src/components/Space.d.ts +1 -1
  88. package/src/components/Stack.d.ts +1 -1
  89. package/src/components/StepDots.d.ts +1 -1
  90. package/src/components/Suspendable.d.ts +1 -1
  91. package/src/components/Suspendable.js +1 -1
  92. package/src/components/Svg.d.ts +10 -10
  93. package/src/components/Svg.js +1 -1
  94. package/src/components/SwanLogo.d.ts +1 -1
  95. package/src/components/Switch.d.ts +1 -1
  96. package/src/components/Switch.js +1 -1
  97. package/src/components/TabView.d.ts +1 -1
  98. package/src/components/TabView.js +4 -4
  99. package/src/components/Tag.d.ts +1 -1
  100. package/src/components/Tag.js +1 -1
  101. package/src/components/Tick.d.ts +1 -1
  102. package/src/components/Tile.d.ts +13 -6
  103. package/src/components/Tile.js +32 -6
  104. package/src/components/TilePlaceholder.d.ts +4 -2
  105. package/src/components/TilePlaceholder.js +3 -3
  106. package/src/components/TimePicker.d.ts +2 -2
  107. package/src/components/Toggle.d.ts +1 -1
  108. package/src/components/Toggle.js +1 -1
  109. package/src/components/TransitionGroupView.d.ts +1 -1
  110. package/src/components/TransitionGroupView.js +1 -1
  111. package/src/components/TransitionView.d.ts +1 -1
  112. package/src/components/VirtualizedList.d.ts +2 -2
  113. package/src/components/VirtualizedList.js +2 -2
  114. package/src/components/WithCurrentColor.d.ts +2 -2
  115. package/src/components/WithPartnerAccentColor.d.ts +1 -1
  116. package/src/hooks/useUpdateEffect.js +1 -2
  117. package/src/utils/highlights.js +2 -1
  118. package/src/utils/string.js +1 -1
  119. package/src/utils/svg.js +5 -5
@@ -1,11 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { memo } from "react";
3
3
  import { StyleSheet } from "react-native";
4
- import { Path, Svg } from "./Svg";
5
4
  import customIcons from "../icons/custom-icons.json";
6
5
  import fluentIcons from "../icons/fluent-icons.json";
7
6
  // This files contains fluent icons which aren't available in 24x24 size
8
7
  import fluentResizedIcons from "../icons/fluent-resized-icons.json";
8
+ import { Path, Svg } from "./Svg";
9
9
  const paths = {
10
10
  ...fluentResizedIcons,
11
11
  ...fluentIcons,
@@ -3,5 +3,5 @@ type Props = {
3
3
  message?: string;
4
4
  style?: StyleProp<TextStyle>;
5
5
  };
6
- export declare const InputError: ({ message, style }: Props) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const InputError: ({ message, style }: Props) => import("react").JSX.Element;
7
7
  export {};
@@ -11,5 +11,5 @@ type Props = {
11
11
  style?: StyleProp<ViewStyle>;
12
12
  tag?: string;
13
13
  };
14
- export declare const LakeAlert: ({ anchored, variant, title, subtitle, children, style, callToAction, tag, }: Props) => import("react/jsx-runtime").JSX.Element;
14
+ export declare const LakeAlert: ({ anchored, variant, title, subtitle, children, style, callToAction, tag, }: Props) => import("react").JSX.Element;
15
15
  export {};
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { StyleSheet, View } from "react-native";
3
3
  import { match } from "ts-pattern";
4
4
  import { commonStyles } from "../constants/commonStyles";
@@ -90,5 +90,5 @@ export const LakeAlert = ({ anchored = false, variant, title, subtitle, children
90
90
  { backgroundColor: alertBackground[variant], borderColor: alertBorder[variant] },
91
91
  anchored ? styles.anchored : { borderLeftColor: alertLeftBorder[variant] },
92
92
  style,
93
- ], children: [_jsxs(Box, { direction: "row", alignItems: "center", children: [icon != null ? (_jsxs(_Fragment, { children: [_jsx(Icon, { name: icon, color: color, size: 20 }), _jsx(Space, { width: 20 })] })) : null, _jsxs(View, { style: commonStyles.fill, children: [_jsxs(Box, { direction: "row", justifyContent: "spaceBetween", children: [_jsx(LakeText, { color: color, variant: icon != null ? "regular" : "medium", children: title }), tag && _jsx(Tag, { color: translateColorTag(), children: tag })] }), isNotNullishOrEmpty(subtitle) && _jsx(LakeText, { color: color, children: subtitle })] }), isNotNullish(callToAction) && _jsx(View, { style: styles.callToAction, children: callToAction })] }), isNotNullish(children) && (_jsxs(View, { style: desktop && icon != null && styles.content, children: [_jsx(Space, { height: 12 }), isText(children) ? _jsx(LakeText, { children: children }) : children] }))] }));
93
+ ], children: [_jsxs(Box, { direction: "row", alignItems: "center", children: [icon != null ? (_jsxs(_Fragment, { children: [_jsx(Icon, { name: icon, color: color, size: 20 }), _jsx(Space, { width: 20 })] })) : null, _jsxs(View, { style: commonStyles.fill, children: [_jsxs(Box, { direction: "row", justifyContent: "spaceBetween", children: [_jsx(LakeText, { color: color, variant: icon != null ? "regular" : "medium", children: title }), tag && _jsx(Tag, { color: translateColorTag(), children: tag })] }), isNotNullishOrEmpty(subtitle) && _jsx(LakeText, { color: color, children: subtitle })] }), isNotNullish(callToAction) && _jsx(View, { style: styles.callToAction, children: callToAction })] }), isNotNullish(children) && (_jsxs(View, { style: desktop && icon != null && styles.content, children: [_jsx(Space, { height: 12 }), isText(children) ? _jsx(LakeText, { color: color, children: children }) : children] }))] }));
94
94
  };
@@ -31,11 +31,11 @@ export type ButtonProps = {
31
31
  ariaLabel?: string;
32
32
  children: ReactNode;
33
33
  });
34
- export declare const LakeButton: import("react").MemoExoticComponent<({ ref, ariaControls, ariaExpanded, ariaLabel, children, color, direction, disabled, icon, grow, iconPosition, loading, mode, onPress, size, iconSize, style, forceBackground, href, hrefAttrs, pill, disabledUntil, ...dataAttributes }: ButtonProps) => import("react/jsx-runtime").JSX.Element>;
34
+ export declare const LakeButton: import("react").MemoExoticComponent<({ ref, ariaControls, ariaExpanded, ariaLabel, children, color, direction, disabled, icon, grow, iconPosition, loading, mode, onPress, size, iconSize, style, forceBackground, href, hrefAttrs, pill, disabledUntil, ...dataAttributes }: ButtonProps) => import("react").JSX.Element>;
35
35
  type GroupProps = {
36
36
  children: ReactNode;
37
37
  justifyContent?: ViewStyle["justifyContent"];
38
38
  paddingBottom?: 0 | Spacings;
39
39
  };
40
- export declare const LakeButtonGroup: ({ children, justifyContent, paddingBottom, }: GroupProps) => import("react/jsx-runtime").JSX.Element;
40
+ export declare const LakeButtonGroup: ({ children, justifyContent, paddingBottom, }: GroupProps) => import("react").JSX.Element;
41
41
  export {};
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Option } from "@swan-io/boxed";
3
3
  import { Children, Fragment, memo, useEffect, useState } from "react";
4
4
  import { ActivityIndicator, StyleSheet, View, } from "react-native";
@@ -6,11 +6,11 @@ export type CheckboxProps = {
6
6
  disabled?: boolean;
7
7
  isError?: boolean;
8
8
  };
9
- export declare const LakeCheckbox: ({ value, color, disabled, isError, }: CheckboxProps) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const LakeCheckbox: ({ value, color, disabled, isError, }: CheckboxProps) => import("react").JSX.Element;
10
10
  export type LabelledCheckboxProps = CheckboxProps & {
11
11
  onValueChange: (value: boolean) => void;
12
12
  label: ReactNode;
13
13
  disabled?: boolean;
14
14
  isError?: boolean;
15
15
  };
16
- export declare const LakeLabelledCheckbox: ({ value, color, label, onValueChange, disabled, isError, }: LabelledCheckboxProps) => import("react/jsx-runtime").JSX.Element;
16
+ export declare const LakeLabelledCheckbox: ({ value, color, label, onValueChange, disabled, isError, }: LabelledCheckboxProps) => import("react").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useRef, useState } from "react";
3
3
  import { StyleSheet, View } from "react-native";
4
4
  import { colors, radii } from "../constants/design";
@@ -39,7 +39,7 @@ const styles = StyleSheet.create({
39
39
  export const LakeCheckbox = ({ value, color = "current", disabled = false, isError = false, }) => {
40
40
  const isFirstRender = useRef(true);
41
41
  const [shouldAnimate, setShouldAnimate] = useState(false);
42
- // biome-ignore lint/correctness/useExhaustiveDependencies(value):
42
+ // biome-ignore lint/correctness/useExhaustiveDependencies(value): rerun effect only when value changes
43
43
  useEffect(() => {
44
44
  if (!isFirstRender.current) {
45
45
  setShouldAnimate(true);
@@ -28,4 +28,4 @@ export type LakeComboboxProps<I> = {
28
28
  id?: string;
29
29
  readOnly?: boolean;
30
30
  };
31
- export declare const LakeCombobox: <I>({ ref, inputRef, value, items, itemHeight, nbItemsDisplayed, ListFooterComponent, onChange, onValueChange, onSelectItem, renderItem, keyExtractor, icon, placeholder, disabled, emptyResult, readOnly, id, error, hideErrors, }: LakeComboboxProps<I>) => import("react/jsx-runtime").JSX.Element;
31
+ export declare const LakeCombobox: <I>({ ref, inputRef, value, items, itemHeight, nbItemsDisplayed, ListFooterComponent, onChange, onValueChange, onSelectItem, renderItem, keyExtractor, icon, placeholder, disabled, emptyResult, readOnly, id, error, hideErrors, }: LakeComboboxProps<I>) => import("react").JSX.Element;
@@ -6,5 +6,5 @@ type Props = {
6
6
  valueToCopy: string;
7
7
  };
8
8
  export declare const copyButtondefaultSize = 21;
9
- export declare const LakeCopyButton: ({ color, copiedText, copyText, size, valueToCopy, }: Props) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const LakeCopyButton: ({ color, copiedText, copyText, size, valueToCopy, }: Props) => import("react").JSX.Element;
10
10
  export {};
@@ -2,5 +2,5 @@ type Props = {
2
2
  url: string;
3
3
  filename: string;
4
4
  };
5
- export declare const LakeDownloadButton: ({ url, filename }: Props) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const LakeDownloadButton: ({ url, filename }: Props) => import("react").JSX.Element;
6
6
  export {};
@@ -31,5 +31,5 @@ type Props = Except<TextProps, "role"> & {
31
31
  userSelect?: TextStyle["userSelect"];
32
32
  variant?: HeadingVariant;
33
33
  };
34
- export declare const LakeHeading: ({ ref, align, children, color, level, style, userSelect, variant, ...props }: Props) => import("react/jsx-runtime").JSX.Element;
34
+ export declare const LakeHeading: ({ ref, align, children, color, level, style, userSelect, variant, ...props }: Props) => import("react").JSX.Element;
35
35
  export {};
@@ -16,5 +16,5 @@ type Props = {
16
16
  style?: StyleProp<ViewStyle>;
17
17
  description?: string;
18
18
  };
19
- export declare const LakeLabel: ({ label, optionalLabel, description, extra, readOnly, color, readOnlyColor, type, help, render, actions, style, }: Props) => import("react/jsx-runtime").JSX.Element;
19
+ export declare const LakeLabel: ({ label, optionalLabel, description, extra, readOnly, color, readOnlyColor, type, help, render, actions, style, }: Props) => import("react").JSX.Element;
20
20
  export {};
@@ -1,6 +1,6 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback, useId, useRef } from "react";
3
- import { StyleSheet, View, unstable_createElement, } from "react-native";
3
+ import { StyleSheet, unstable_createElement, View, } from "react-native";
4
4
  import { match } from "ts-pattern";
5
5
  import { commonStyles } from "../constants/commonStyles";
6
6
  import { colors, fonts, spacings, texts } from "../constants/design";
@@ -5,5 +5,5 @@ type Props = {
5
5
  color?: ColorVariants;
6
6
  isError?: boolean;
7
7
  };
8
- export declare const LakeRadio: ({ value, disabled, color, isError, }: Props) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const LakeRadio: ({ value, disabled, color, isError, }: Props) => import("react").JSX.Element;
9
9
  export {};
@@ -6,5 +6,5 @@ type Props = {
6
6
  contentContainerStyle?: ViewProps["style"];
7
7
  horizontalSafeArea?: number;
8
8
  };
9
- export declare const LakeScrollView: ({ children, horizontalSafeArea, style, contentContainerStyle, }: Props) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const LakeScrollView: ({ children, horizontalSafeArea, style, contentContainerStyle, }: Props) => import("react").JSX.Element;
10
10
  export {};
@@ -40,4 +40,4 @@ export type SelectProps<V, T extends Item<V> = Item<V>> = {
40
40
  hasSearch?: boolean;
41
41
  searchPlaceholder?: string;
42
42
  };
43
- export declare const LakeSelect: <V, T extends Item<V> = Item<V>>({ ref, title, items, valueStyle, size, color, disabled, mode, placeholder, readOnly, id, matchReferenceMinWidth, matchReferenceWidth, value, error, hideErrors, help, icon, onValueChange, disabledItems, renderItem, PopoverFooter, style, hasSearch, searchPlaceholder, }: SelectProps<V, T>) => import("react/jsx-runtime").JSX.Element;
43
+ export declare const LakeSelect: <V, T extends Item<V> = Item<V>>({ ref, title, items, valueStyle, size, color, disabled, mode, placeholder, readOnly, id, matchReferenceMinWidth, matchReferenceWidth, value, error, hideErrors, help, icon, onValueChange, disabledItems, renderItem, PopoverFooter, style, hasSearch, searchPlaceholder, }: SelectProps<V, T>) => import("react").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect, useMemo, useRef, useState, } from "react";
3
3
  import { StyleSheet, Text, TextInput, View, } from "react-native";
4
4
  import { t } from "../../../shared-business/src/utils/i18n";
@@ -168,18 +168,19 @@ export const LakeSelect = ({ ref, title, items, valueStyle, size, color = "curre
168
168
  const isSmall = size === "small";
169
169
  const itemValue = items.find(i => i.value === value);
170
170
  const onKeyDown = useCallback((event) => {
171
- var _a, _b, _c;
171
+ var _a, _b;
172
+ var _c;
172
173
  // this made a search not visible for user as the native select component
173
174
  if (event.nativeEvent.key.length === 1) {
174
175
  event.nativeEvent.stopPropagation();
175
- const currentlyTyped = `${(_a = currentlyTypedRef.current) !== null && _a !== void 0 ? _a : ""}${event.nativeEvent.key.toLowerCase()}`;
176
+ const currentlyTyped = `${(_c = currentlyTypedRef.current) !== null && _c !== void 0 ? _c : ""}${event.nativeEvent.key.toLowerCase()}`;
176
177
  currentlyTypedRef.current = currentlyTyped;
177
178
  const selectedIndex = items.findIndex(item => item.name.toLowerCase().startsWith(currentlyTyped));
178
179
  const selected = items[selectedIndex];
179
180
  if (selected != null) {
180
181
  if (visible) {
181
- if (((_b = listRef.current) === null || _b === void 0 ? void 0 : _b.element) != null) {
182
- (_c = listItemRefs.current[selectedIndex]) === null || _c === void 0 ? void 0 : _c.focus();
182
+ if (((_a = listRef.current) === null || _a === void 0 ? void 0 : _a.element) != null) {
183
+ (_b = listItemRefs.current[selectedIndex]) === null || _b === void 0 ? void 0 : _b.focus();
183
184
  }
184
185
  }
185
186
  else {
@@ -200,11 +201,8 @@ export const LakeSelect = ({ ref, title, items, valueStyle, size, color = "curre
200
201
  return items;
201
202
  }
202
203
  const lowerFilter = filter.toLowerCase();
203
- return items.filter(item => {
204
- var _a;
205
- return item.name.toLowerCase().includes(lowerFilter) ||
206
- ((_a = item.searchTerms) === null || _a === void 0 ? void 0 : _a.some(term => term.toLowerCase() === lowerFilter));
207
- });
204
+ return items.filter(item => { var _a; return item.name.toLowerCase().includes(lowerFilter) ||
205
+ ((_a = item.searchTerms) === null || _a === void 0 ? void 0 : _a.some(term => term.toLowerCase() === lowerFilter)); });
208
206
  }, [items, filter]);
209
207
  useEffect(() => {
210
208
  if (!visible) {
@@ -9,5 +9,5 @@ type Props = {
9
9
  style?: ViewProps["style"];
10
10
  onChange: (value: number) => void;
11
11
  };
12
- export declare const LakeSlider: ({ id, min, max, value, step, disabled, style, onChange, }: Props) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const LakeSlider: ({ id, min, max, value, step, disabled, style, onChange, }: Props) => import("react").JSX.Element;
13
13
  export {};
@@ -15,8 +15,8 @@ type Props = {
15
15
  activeStepId: string;
16
16
  style?: StyleProp<ViewStyle>;
17
17
  };
18
- export declare const LakeStepper: ({ steps, activeStepId, style }: Props) => import("react/jsx-runtime").JSX.Element;
18
+ export declare const LakeStepper: ({ steps, activeStepId, style }: Props) => import("react").JSX.Element;
19
19
  /** @deprecated Use <MobileStepper> instead */
20
- export declare const MobileStepTitle: ({ steps, activeStepId }: Props) => import("react/jsx-runtime").JSX.Element | null;
21
- export declare const MobileStepper: ({ steps, activeStepId }: Props) => import("react/jsx-runtime").JSX.Element | null;
20
+ export declare const MobileStepTitle: ({ steps, activeStepId }: Props) => import("react").JSX.Element | null;
21
+ export declare const MobileStepper: ({ steps, activeStepId }: Props) => import("react").JSX.Element | null;
22
22
  export {};
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Option } from "@swan-io/boxed";
3
3
  import { Link } from "@swan-io/chicane";
4
4
  import { StyleSheet, View } from "react-native";
5
- import { P, match } from "ts-pattern";
5
+ import { match, P } from "ts-pattern";
6
6
  import { colors } from "../constants/design";
7
7
  import { Box } from "./Box";
8
8
  import { Grid } from "./Grid";
@@ -89,7 +89,7 @@ export const LakeStepper = ({ steps, activeStepId, style }) => {
89
89
  const stepNumber = index + 1;
90
90
  const currentId = match(step)
91
91
  .with({ id: P.string }, ({ id }) => id)
92
- .with({ children: P.array(P.any) }, ({ children }) => { var _a, _b; return (_b = (_a = children[0]) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : ""; })
92
+ .with({ children: P.array(P.any) }, ({ children }) => { var _a; var _b; return (_b = (_a = children[0]) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : ""; })
93
93
  .exhaustive();
94
94
  const isActive = match(step)
95
95
  .with({ id: activeStepId }, () => true)
@@ -105,7 +105,7 @@ export const LakeStepper = ({ steps, activeStepId, style }) => {
105
105
  .otherwise(() => false);
106
106
  const stepUrl = match(step)
107
107
  .with({ id: P.string }, ({ url }) => url)
108
- .with({ children: P.array(P.any) }, ({ children }) => { var _a, _b; return (_b = (_a = children[0]) === null || _a === void 0 ? void 0 : _a.url) !== null && _b !== void 0 ? _b : ""; })
108
+ .with({ children: P.array(P.any) }, ({ children }) => { var _a; var _b; return (_b = (_a = children[0]) === null || _a === void 0 ? void 0 : _a.url) !== null && _b !== void 0 ? _b : ""; })
109
109
  .exhaustive();
110
110
  const subSteps = match(step)
111
111
  .with({ id: P.string }, step => [step])
@@ -18,4 +18,4 @@ export type LakeTagInputProps = Merge<TextInputProps, {
18
18
  onValuesChanged: (values: string[]) => void;
19
19
  placeholder?: string;
20
20
  }>;
21
- export declare const LakeTagInput: ({ ref, validator, onFocus: originalOnFocus, onBlur: originalOnBlur, validateOnBlur, values, onValuesChanged, readOnly, disabled, valid, hideErrors, placeholder, help, error, }: LakeTagInputProps) => import("react/jsx-runtime").JSX.Element;
21
+ export declare const LakeTagInput: ({ ref, validator, onFocus: originalOnFocus, onBlur: originalOnBlur, validateOnBlur, values, onValuesChanged, readOnly, disabled, valid, hideErrors, placeholder, help, error, }: LakeTagInputProps) => import("react").JSX.Element;
@@ -33,5 +33,5 @@ type Props = TextProps & {
33
33
  variant?: TextVariant;
34
34
  tooltip?: Omit<ComponentProps<typeof LakeTooltip>, "children">;
35
35
  };
36
- export declare const LakeText: ({ ref, align, children, color, style, userSelect, variant, tooltip, ...props }: Props) => import("react/jsx-runtime").JSX.Element;
36
+ export declare const LakeText: ({ ref, align, children, color, style, userSelect, variant, tooltip, ...props }: Props) => import("react").JSX.Element;
37
37
  export {};
@@ -32,4 +32,4 @@ export type LakeTextInputProps = Except<TextInputProps, "editable" | "keyboardTy
32
32
  renderEnd?: () => ReactNode;
33
33
  containerRef?: Ref<View>;
34
34
  };
35
- export declare const LakeTextInput: ({ ref, ariaExpanded, ariaControls, error, disabled, validating, valid, readOnly, icon, children, unit, units, color, inputMode, hideErrors, onChange, onUnitChange, pattern, style: stylesFromProps, containerStyle: containerStylesFromProps, onFocus: originalOnFocus, onBlur: originalOnBlur, value, defaultValue, multiline, containerRef, maxCharCount, help, warning, info, renderEnd, ...props }: LakeTextInputProps) => import("react/jsx-runtime").JSX.Element;
35
+ export declare const LakeTextInput: ({ ref, ariaExpanded, ariaControls, error, disabled, validating, valid, readOnly, icon, children, unit, units, color, inputMode, hideErrors, onChange, onUnitChange, pattern, style: stylesFromProps, containerStyle: containerStylesFromProps, onFocus: originalOnFocus, onBlur: originalOnBlur, value, defaultValue, multiline, containerRef, maxCharCount, help, warning, info, renderEnd, ...props }: LakeTextInputProps) => import("react").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback, useRef, useState } from "react";
3
3
  import { ActivityIndicator, StyleSheet, TextInput, View, } from "react-native";
4
4
  import { commonStyles } from "../constants/commonStyles";
@@ -21,11 +21,11 @@ type Props = {
21
21
  containerStyle?: ViewProps["style"];
22
22
  disabled?: boolean;
23
23
  };
24
- export declare const LakeTooltip: ({ ref, content, children, ...rest }: Props) => string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
24
+ export declare const LakeTooltip: ({ ref, content, children, ...rest }: Props) => string | number | bigint | boolean | import("react").JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | Iterable<ReactNode> | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | import("react").ReactPortal | null | undefined> | null | undefined;
25
25
  export declare const InformationTooltip: ({ ref, text, icon, iconSize, }: {
26
26
  ref?: Ref<TooltipRef>;
27
27
  text: string;
28
28
  icon?: IconName;
29
29
  iconSize?: number;
30
- }) => import("react/jsx-runtime").JSX.Element;
30
+ }) => import("react").JSX.Element;
31
31
  export {};
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { memo, useEffect, useImperativeHandle, useRef, useState } from "react";
3
3
  import { StyleSheet, View } from "react-native";
4
4
  import { match } from "ts-pattern";
@@ -123,4 +123,4 @@ const Tooltip = memo(({ ref, children, content, describedBy, matchReferenceWidth
123
123
  .with("right", () => "end")
124
124
  .exhaustive(), style: [styles.arrowBar, styles.arrowBarBottom], children: _jsx(Svg, { width: 16, height: 8, viewBox: "0 0 16 8", children: _jsx(Polygon, { points: "8 8 16 0 0 0", fill: hideArrow ? "transparent" : colors.gray[900] }) }) })) : null] }) }) }))] }));
125
125
  });
126
- export const InformationTooltip = ({ ref, text, icon = "info-regular", iconSize = 24, }) => (_jsx(LakeTooltip, { ref: ref, describedBy: "copy", placement: "right", togglableOnFocus: true, width: 300, content: text, children: _jsx(View, { style: styles.info, children: _jsx(Icon, { name: icon, size: iconSize, color: colors.gray[900] }) }) }));
126
+ export const InformationTooltip = ({ ref, text, icon = "info-regular", iconSize = 24, }) => (_jsx(LakeTooltip, { ref: ref, describedBy: "copy", placement: "center", togglableOnFocus: true, width: 300, content: text, children: _jsx(View, { style: styles.info, children: _jsx(Icon, { name: icon, size: iconSize, color: colors.gray[900] }) }) }));
@@ -18,4 +18,4 @@ export type LinkProps = Except<PressableTextProps, "hrefAttrs" | "style" | "onPr
18
18
  active: boolean;
19
19
  }) => TextProps["children"]);
20
20
  };
21
- export declare const Link: import("react").MemoExoticComponent<({ ref, role, children, disabled, onPress, replace, download, style, target, to, ariaCurrentValue, tabIndex, ...props }: LinkProps) => import("react/jsx-runtime").JSX.Element>;
21
+ export declare const Link: import("react").MemoExoticComponent<({ ref, role, children, disabled, onPress, replace, download, style, target, to, ariaCurrentValue, tabIndex, ...props }: LinkProps) => import("react").JSX.Element>;
@@ -5,7 +5,7 @@ export declare const ListRightPanelContent: ({ children, large, style, }: {
5
5
  children: React.ReactNode;
6
6
  large: boolean;
7
7
  style?: StyleProp<ViewStyle>;
8
- }) => import("react/jsx-runtime").JSX.Element;
8
+ }) => import("react").JSX.Element;
9
9
  type Props<T> = {
10
10
  ref?: Ref<FocusTrapRef>;
11
11
  items: T[];
@@ -18,5 +18,5 @@ type Props<T> = {
18
18
  previousLabel: string;
19
19
  nextLabel: string;
20
20
  };
21
- export declare const ListRightPanel: <T>({ ref, items, keyExtractor, activeId, onActiveIdChange, onClose, render, closeLabel, previousLabel, nextLabel, }: Props<T>) => import("react/jsx-runtime").JSX.Element;
21
+ export declare const ListRightPanel: <T>({ ref, items, keyExtractor, activeId, onActiveIdChange, onClose, render, closeLabel, previousLabel, nextLabel, }: Props<T>) => import("react").JSX.Element;
22
22
  export {};
@@ -6,5 +6,5 @@ type Props = {
6
6
  delay?: number;
7
7
  style?: StyleProp<ViewStyle>;
8
8
  };
9
- export declare const LoadingView: ({ ref, color, delay, style, }: Props) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const LoadingView: ({ ref, color, delay, style, }: Props) => import("react").JSX.Element;
10
10
  export {};
@@ -21,4 +21,4 @@ export type MultiSelectProps<Value> = {
21
21
  values: Value[];
22
22
  id?: string;
23
23
  };
24
- export declare const MultiSelect: <Value>({ color, disabled, emptyResultText, enableGroups, filterPlaceholder, items, onValueChange, placeholder, renderTagGroup, error, style, values, id, }: MultiSelectProps<Value>) => import("react/jsx-runtime").JSX.Element;
24
+ export declare const MultiSelect: <Value>({ color, disabled, emptyResultText, enableGroups, filterPlaceholder, items, onValueChange, placeholder, renderTagGroup, error, style, values, id, }: MultiSelectProps<Value>) => import("react").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Array, Dict, Option } from "@swan-io/boxed";
3
3
  import { useEffect, useMemo, useRef, useState } from "react";
4
4
  import { Pressable, StyleSheet, Text, TextInput, View, } from "react-native";
@@ -151,7 +151,7 @@ export const MultiSelect = ({ color = "gray", disabled = false, emptyResultText,
151
151
  setFilter("");
152
152
  }
153
153
  }, [visible]);
154
- // biome-ignore lint/correctness/useExhaustiveDependencies(values):
154
+ // biome-ignore lint/correctness/useExhaustiveDependencies(values): rerun effect only when values change
155
155
  useEffect(() => {
156
156
  var _a, _b;
157
157
  if (shouldScrollToBottomRef.current) {
@@ -1,6 +1,6 @@
1
1
  import { ReactElement, ReactNode } from "react";
2
2
  import { ViewStyle } from "react-native";
3
- import { ColumnCellConfig, ColumnTitleConfig, LinkConfig } from "./VirtualizedList";
3
+ import { ColumnCellConfig, ColumnTitleConfig, LinkConfig, VirtualizedListPlaceholder } from "./VirtualizedList";
4
4
  export type { LinkConfig } from "./VirtualizedList";
5
5
  export type ColumnConfig<T, ExtraInfo> = {
6
6
  id: string;
@@ -37,11 +37,5 @@ type Props<T, ExtraInfo> = {
37
37
  stickyOffset?: number;
38
38
  headerBackgroundColor?: string;
39
39
  };
40
- export declare const PlainListView: <T, ExtraInfo>({ data: originalData, keyExtractor, rowHeight, groupHeaderHeight, headerHeight, columns, smallColumns, extraInfo, onEndReached, onEndReachedThresholdPx, headerStyle, rowStyle, getRowLink, activeRowId, renderEmptyList, onActiveRowChange, groupBy, loading, breakpoint, withoutScroll, stickyOffset, headerBackgroundColor, }: Props<T, ExtraInfo>) => import("react/jsx-runtime").JSX.Element;
41
- export declare const PlainListViewPlaceholder: ({ count, rowHeight, groupHeaderHeight, headerHeight, marginHorizontal, }: {
42
- count: number;
43
- rowHeight: number;
44
- groupHeaderHeight?: number;
45
- headerHeight?: number;
46
- marginHorizontal?: string;
47
- }) => import("react/jsx-runtime").JSX.Element;
40
+ export declare const PlainListView: <T, ExtraInfo>({ data: originalData, keyExtractor, rowHeight, groupHeaderHeight, headerHeight, columns, smallColumns, extraInfo, onEndReached, onEndReachedThresholdPx, headerStyle, rowStyle, getRowLink, activeRowId, renderEmptyList, onActiveRowChange, groupBy, loading, breakpoint, withoutScroll, stickyOffset, headerBackgroundColor, }: Props<T, ExtraInfo>) => import("react").JSX.Element;
41
+ export declare const PlainListViewPlaceholder: typeof VirtualizedListPlaceholder;
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { cloneElement, Fragment, useCallback, useEffect, useId, useMemo, useRef, useState, } from "react";
3
3
  import { StyleSheet, View } from "react-native";
4
4
  import { commonStyles } from "../constants/commonStyles";
@@ -4,5 +4,5 @@ type Props = {
4
4
  children: ReactNode;
5
5
  style?: StyleProp<ViewStyle>;
6
6
  };
7
- export declare const PopoverContent: ({ style, children }: Props) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const PopoverContent: ({ style, children }: Props) => import("react").JSX.Element;
8
8
  export {};
@@ -17,7 +17,7 @@ const styles = StyleSheet.create({
17
17
  },
18
18
  });
19
19
  const getPressable = (
20
- // biome-ignore lint/suspicious/noExplicitAny:
20
+ // biome-ignore lint/suspicious/noExplicitAny: keep exception for generic component type
21
21
  Component, config = {}) => {
22
22
  const { applyPressStyle = true } = config;
23
23
  return (props) => {
@@ -66,14 +66,14 @@ Component, config = {}) => {
66
66
  onHoverEnd: onHoverOut,
67
67
  });
68
68
  const interactionState = { hovered, focused, pressed };
69
- // biome-ignore lint/correctness/useExhaustiveDependencies(hostRef):
69
+ // biome-ignore lint/correctness/useExhaustiveDependencies(hostRef): keep hostRef in dependency to avoid breaking change
70
70
  const blurHandler = useCallback((e) => {
71
71
  if (e.nativeEvent.target === hostRef.current) {
72
72
  setFocused(false);
73
73
  onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);
74
74
  }
75
75
  }, [hostRef, setFocused, onBlur]);
76
- // biome-ignore lint/correctness/useExhaustiveDependencies(hostRef):
76
+ // biome-ignore lint/correctness/useExhaustiveDependencies(hostRef): keep hostRef in dependency to avoid breaking change
77
77
  const focusHandler = useCallback((e) => {
78
78
  if (e.nativeEvent.target === hostRef.current) {
79
79
  setFocused(true);
@@ -0,0 +1,22 @@
1
+ import { ReactNode } from "react";
2
+ import { StyleProp, ViewStyle } from "react-native";
3
+ export type ProgressTrackerStepStatus = "done" | "active" | "future";
4
+ export type ProgressTrackerChecklistItem = {
5
+ label: string;
6
+ isDone: boolean;
7
+ help?: ReactNode;
8
+ };
9
+ export type ProgressTrackerStep = {
10
+ id: string;
11
+ label: string;
12
+ status: ProgressTrackerStepStatus;
13
+ badge?: ReactNode;
14
+ checklist?: ProgressTrackerChecklistItem[];
15
+ message?: ReactNode;
16
+ };
17
+ type Props = {
18
+ steps: ProgressTrackerStep[];
19
+ style?: StyleProp<ViewStyle>;
20
+ };
21
+ export declare const ProgressTracker: ({ steps, style }: Props) => import("react").JSX.Element;
22
+ export {};
@@ -0,0 +1,71 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Fragment } from "react";
3
+ import { StyleSheet, View } from "react-native";
4
+ import { match } from "ts-pattern";
5
+ import { backgroundColor, colors, spacings } from "../constants/design";
6
+ import { Box } from "./Box";
7
+ import { Icon } from "./Icon";
8
+ import { LakeText } from "./LakeText";
9
+ import { LakeTooltip } from "./LakeTooltip";
10
+ import { Space } from "./Space";
11
+ const CIRCLE_SIZE = 24;
12
+ const CHECKLIST_RING_SIZE = 14;
13
+ const styles = StyleSheet.create({
14
+ row: {
15
+ flexDirection: "row",
16
+ alignItems: "stretch",
17
+ },
18
+ rail: {
19
+ width: CIRCLE_SIZE,
20
+ alignItems: "center",
21
+ },
22
+ circle: {
23
+ width: CIRCLE_SIZE,
24
+ height: CIRCLE_SIZE,
25
+ borderRadius: CIRCLE_SIZE / 2,
26
+ alignItems: "center",
27
+ justifyContent: "center",
28
+ },
29
+ circleDone: {
30
+ backgroundColor: colors.positive[500],
31
+ },
32
+ circleActive: {
33
+ backgroundColor: backgroundColor.accented,
34
+ borderWidth: 2,
35
+ borderColor: colors.gray[900],
36
+ },
37
+ circleFuture: {
38
+ backgroundColor: colors.gray[100],
39
+ },
40
+ connector: {
41
+ flexGrow: 1,
42
+ width: 1,
43
+ backgroundColor: colors.gray[200],
44
+ },
45
+ content: {
46
+ flex: 1,
47
+ },
48
+ contentSpacing: {
49
+ paddingBottom: spacings[24],
50
+ },
51
+ labelRow: {
52
+ minHeight: CIRCLE_SIZE,
53
+ },
54
+ checklistRing: {
55
+ width: CHECKLIST_RING_SIZE,
56
+ height: CHECKLIST_RING_SIZE,
57
+ borderRadius: CHECKLIST_RING_SIZE / 2,
58
+ borderWidth: 1,
59
+ borderColor: colors.gray[300],
60
+ },
61
+ });
62
+ export const ProgressTracker = ({ steps, style }) => {
63
+ return (_jsx(View, { role: "list", style: style, children: steps.map((step, index) => {
64
+ const isLast = index === steps.length - 1;
65
+ return (_jsxs(View, { role: "listitem", "aria-current": step.status === "active" ? "step" : undefined, style: styles.row, children: [_jsxs(View, { style: styles.rail, children: [match(step.status)
66
+ .with("done", () => (_jsx(View, { style: [styles.circle, styles.circleDone], children: _jsx(Icon, { name: "checkmark-filled", size: 14, color: colors.positive.contrast }) })))
67
+ .with("active", () => (_jsx(View, { style: [styles.circle, styles.circleActive], children: _jsx(LakeText, { variant: "smallSemibold", color: colors.gray[900], children: index + 1 }) })))
68
+ .with("future", () => (_jsx(View, { style: [styles.circle, styles.circleFuture], children: _jsx(LakeText, { variant: "smallSemibold", color: colors.gray[500], children: index + 1 }) })))
69
+ .exhaustive(), !isLast && _jsx(View, { style: styles.connector })] }), _jsx(Space, { width: 12 }), _jsxs(View, { style: [styles.content, !isLast && styles.contentSpacing], children: [_jsxs(Box, { direction: "row", alignItems: "center", style: styles.labelRow, children: [_jsx(LakeText, { variant: "smallMedium", color: step.status === "future" ? colors.gray[500] : colors.gray[900], children: step.label }), step.badge != null && (_jsxs(_Fragment, { children: [_jsx(Space, { width: 8 }), step.badge] }))] }), step.checklist != null && step.checklist.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Space, { height: 12 }), step.checklist.map((item, itemIndex) => (_jsxs(Fragment, { children: [itemIndex > 0 && _jsx(Space, { height: 8 }), _jsxs(Box, { direction: "row", alignItems: "center", children: [item.isDone ? (_jsx(Icon, { name: "checkmark-filled", size: CHECKLIST_RING_SIZE, color: colors.positive[500] })) : (_jsx(View, { style: styles.checklistRing })), _jsx(Space, { width: 8 }), _jsx(LakeText, { variant: "smallRegular", color: colors.gray[700], children: item.label }), item.help != null && (_jsxs(_Fragment, { children: [_jsx(Space, { width: 4 }), _jsx(LakeTooltip, { content: item.help, placement: "center", togglableOnFocus: true, describedBy: "copy", width: 300, children: _jsx(Icon, { name: "info-regular", size: CHECKLIST_RING_SIZE, color: colors.gray[900] }) })] }))] })] }, itemIndex)))] })), step.message != null && (_jsxs(_Fragment, { children: [_jsx(Space, { height: 12 }), step.message] }))] })] }, step.id));
70
+ }) }));
71
+ };
@@ -2,5 +2,5 @@ type Props = {
2
2
  projectEnv: "Live" | "Sandbox";
3
3
  iconOnly?: boolean;
4
4
  };
5
- export declare const ProjectEnvTag: (props: Props) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const ProjectEnvTag: (props: Props) => import("react").JSX.Element;
6
6
  export {};
@@ -13,5 +13,5 @@ export type QuickAction = {
13
13
  type Props = {
14
14
  actions: QuickAction[];
15
15
  };
16
- export declare const QuickActions: ({ actions }: Props) => import("react/jsx-runtime").JSX.Element;
16
+ export declare const QuickActions: ({ actions }: Props) => import("react").JSX.Element;
17
17
  export {};
@@ -39,13 +39,10 @@ const styles = StyleSheet.create({
39
39
  },
40
40
  });
41
41
  export const QuickActions = ({ actions }) => {
42
- return (_jsx(View, { style: styles.container, children: actions.map((action, index) => {
43
- var _a, _b;
44
- return (_jsx(LakeTooltip, { content: action.tooltipText, placement: "right", containerStyle: styles.actionContainer, disabled: action.tooltipDisabled === true || isNullishOrEmpty(action.tooltipText), children: _jsxs(Pressable, { onPress: action.onPress, style: [styles.action, action.disabled === true && styles.disabled], disabled: action.isLoading === true || action.disabled === true, children: [_jsx(View, { style: [
45
- styles.icon,
46
- action.backgroundColor != null
47
- ? { backgroundColor: action.backgroundColor, borderColor: action.backgroundColor }
48
- : null,
49
- ], children: action.isLoading === true ? (_jsx(ActivityIndicator, { color: (_a = action.color) !== null && _a !== void 0 ? _a : colors.gray[300], size: 16 })) : (_jsx(Icon, { name: action.icon, size: 16, color: (_b = action.color) !== null && _b !== void 0 ? _b : colors.gray[300] })) }), _jsx(Space, { height: 8 }), _jsx(LakeText, { variant: "smallRegular", align: "center", style: styles.label, children: action.label })] }, index) }, index));
50
- }) }));
42
+ return (_jsx(View, { style: styles.container, children: actions.map((action, index) => { var _a, _b; return (_jsx(LakeTooltip, { content: action.tooltipText, placement: "right", containerStyle: styles.actionContainer, disabled: action.tooltipDisabled === true || isNullishOrEmpty(action.tooltipText), children: _jsxs(Pressable, { onPress: action.onPress, style: [styles.action, action.disabled === true && styles.disabled], disabled: action.isLoading === true || action.disabled === true, children: [_jsx(View, { style: [
43
+ styles.icon,
44
+ action.backgroundColor != null
45
+ ? { backgroundColor: action.backgroundColor, borderColor: action.backgroundColor }
46
+ : null,
47
+ ], children: action.isLoading === true ? (_jsx(ActivityIndicator, { color: (_a = action.color) !== null && _a !== void 0 ? _a : colors.gray[300], size: 16 })) : (_jsx(Icon, { name: action.icon, size: 16, color: (_b = action.color) !== null && _b !== void 0 ? _b : colors.gray[300] })) }), _jsx(Space, { height: 8 }), _jsx(LakeText, { variant: "smallRegular", align: "center", style: styles.label, children: action.label })] }, index) }, index)); }) }));
51
48
  };
@@ -16,4 +16,4 @@ export type RadioGroupProps<V> = {
16
16
  hideErrors?: boolean;
17
17
  onValueChange: (value: V) => void;
18
18
  };
19
- export declare function RadioGroup<V>({ items, direction, color, disabled, hideErrors, error, help, value, onValueChange, }: RadioGroupProps<V>): import("react/jsx-runtime").JSX.Element;
19
+ export declare function RadioGroup<V>({ items, direction, color, disabled, hideErrors, error, help, value, onValueChange, }: RadioGroupProps<V>): import("react").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Fragment } from "react";
3
3
  import { StyleSheet } from "react-native";
4
4
  import { colors, spacings } from "../constants/design";