@planningcenter/chat-react-native 4.0.1-rc.0 → 4.0.1-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -34,8 +34,9 @@ interface FormSheetRootProps {
34
34
  style?: StyleProp<ViewStyle>;
35
35
  contentStyle?: StyleProp<ViewStyle>;
36
36
  showAndroidSheetGrabber?: boolean;
37
+ fitToContents?: boolean;
37
38
  }
38
- export declare function FormSheetRoot({ children, style, contentStyle, showAndroidSheetGrabber, }: FormSheetRootProps): import("react/jsx-runtime").JSX.Element;
39
+ export declare function FormSheetRoot({ children, style, contentStyle, showAndroidSheetGrabber, fitToContents, }: FormSheetRootProps): import("react/jsx-runtime").JSX.Element;
39
40
  export declare namespace FormSheetRoot {
40
41
  var displayName: string;
41
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"form_sheet.d.ts","sourceRoot":"","sources":["../../../src/components/primitive/form_sheet.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AAC7E,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAKL,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,EAAyB,UAAU,EAAoB,MAAM,YAAY,CAAA;AAMhF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,yBAAyB,GACnC,gDAAwD,4BAAiC,WACtF,4BAQF,CAAA;AAYJ,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAA;IAClC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAA;IACtC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAA;IACtC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAA;IAChD,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAA;IACpD,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,8BAA8B,CAAC,CAAA;IAC1D,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAA;CACnD,CAAA;wBAE2B,mBAAmB;AAA/C,wBAA+C;AAC/C,YAAY,EACV,oBAAoB,EACpB,2BAA2B,EAC3B,0BAA0B,EAC1B,oBAAoB,EACpB,8BAA8B,EAC9B,yBAAyB,EACzB,kBAAkB,GACnB,CAAA;AAMD,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,SAAS,CAAA;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IACnC,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAClC;AAED,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,uBAA8B,GAC/B,EAAE,kBAAkB,2CASpB;yBAde,aAAa;;;AAmC7B,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,SAAS,CAAA;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;CAC7B;AAkBD,UAAU,yBAAyB;IACjC,QAAQ,EAAE,SAAS,CAAA;CACpB;AAsBD,UAAU,2BAA2B;IACnC,QAAQ,EAAE,SAAS,CAAA;CACpB;AAiBD,UAAU,8BACR,SAAQ,IAAI,CAAC,eAAe,EAAE,uBAAuB,GAAG,aAAa,CAAC;IACtE,QAAQ,EAAE,MAAM,CAAA;CACjB;AAoBD,UAAU,0BACR,SAAQ,IAAI,CAAC,WAAW,EAAE,uBAAuB,GAAG,aAAa,CAAC;CAAG;AAmBvE,QAAA,MAAM,6BAA6B;;;CAGzB,CAAA;AAEV,KAAK,8BAA8B,GACjC,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,OAAO,6BAA6B,CAAC,CAAA;AAEpF,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,UAAU,CAAA;IACrB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,UAAU,CAAC,EAAE,8BAA8B,CAAA;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB"}
1
+ {"version":3,"file":"form_sheet.d.ts","sourceRoot":"","sources":["../../../src/components/primitive/form_sheet.tsx"],"names":[],"mappings":"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"}
@@ -54,68 +54,80 @@ export default FormSheet;
54
54
  // ====================================
55
55
 
56
56
  export function FormSheetRoot(t0) {
57
- const $ = _c(15);
57
+ const $ = _c(17);
58
58
  const {
59
59
  children,
60
60
  style,
61
61
  contentStyle,
62
- showAndroidSheetGrabber: t1
62
+ showAndroidSheetGrabber: t1,
63
+ fitToContents: t2
63
64
  } = t0;
64
65
  const showAndroidSheetGrabber = t1 === undefined ? true : t1;
65
- const styles = useStyles();
66
- let t2;
67
- if ($[0] !== style || $[1] !== styles.container) {
68
- t2 = [styles.container, style];
69
- $[0] = style;
70
- $[1] = styles.container;
71
- $[2] = t2;
72
- } else {
73
- t2 = $[2];
74
- }
66
+ const fitToContents = t2 === undefined ? false : t2;
75
67
  let t3;
76
- if ($[3] !== contentStyle || $[4] !== styles.content) {
77
- t3 = [styles.content, contentStyle];
78
- $[3] = contentStyle;
79
- $[4] = styles.content;
80
- $[5] = t3;
68
+ if ($[0] !== fitToContents) {
69
+ t3 = {
70
+ fitToContents
71
+ };
72
+ $[0] = fitToContents;
73
+ $[1] = t3;
81
74
  } else {
82
- t3 = $[5];
75
+ t3 = $[1];
83
76
  }
77
+ const styles = useStyles(t3);
84
78
  let t4;
85
- if ($[6] !== children || $[7] !== t3) {
86
- t4 = /*#__PURE__*/_jsx(View, {
87
- style: t3,
88
- children: children
89
- });
90
- $[6] = children;
91
- $[7] = t3;
92
- $[8] = t4;
79
+ if ($[2] !== style || $[3] !== styles.container) {
80
+ t4 = [styles.container, style];
81
+ $[2] = style;
82
+ $[3] = styles.container;
83
+ $[4] = t4;
93
84
  } else {
94
- t4 = $[8];
85
+ t4 = $[4];
95
86
  }
96
87
  let t5;
97
- if ($[9] !== showAndroidSheetGrabber) {
98
- t5 = showAndroidSheetGrabber && /*#__PURE__*/_jsx(AndroidSheetGrabber, {});
99
- $[9] = showAndroidSheetGrabber;
100
- $[10] = t5;
88
+ if ($[5] !== contentStyle || $[6] !== styles.content) {
89
+ t5 = [styles.content, contentStyle];
90
+ $[5] = contentStyle;
91
+ $[6] = styles.content;
92
+ $[7] = t5;
101
93
  } else {
102
- t5 = $[10];
94
+ t5 = $[7];
103
95
  }
104
96
  let t6;
105
- if ($[11] !== t2 || $[12] !== t4 || $[13] !== t5) {
106
- t6 = /*#__PURE__*/_jsxs(View, {
107
- style: t2,
97
+ if ($[8] !== children || $[9] !== t5) {
98
+ t6 = /*#__PURE__*/_jsx(View, {
99
+ style: t5,
100
+ children: children
101
+ });
102
+ $[8] = children;
103
+ $[9] = t5;
104
+ $[10] = t6;
105
+ } else {
106
+ t6 = $[10];
107
+ }
108
+ let t7;
109
+ if ($[11] !== showAndroidSheetGrabber) {
110
+ t7 = showAndroidSheetGrabber && /*#__PURE__*/_jsx(AndroidSheetGrabber, {});
111
+ $[11] = showAndroidSheetGrabber;
112
+ $[12] = t7;
113
+ } else {
114
+ t7 = $[12];
115
+ }
116
+ let t8;
117
+ if ($[13] !== t4 || $[14] !== t6 || $[15] !== t7) {
118
+ t8 = /*#__PURE__*/_jsxs(View, {
119
+ style: t4,
108
120
  collapsable: false,
109
- children: [t4, t5]
121
+ children: [t6, t7]
110
122
  });
111
- $[11] = t2;
112
- $[12] = t4;
113
- $[13] = t5;
123
+ $[13] = t4;
114
124
  $[14] = t6;
125
+ $[15] = t7;
126
+ $[16] = t8;
115
127
  } else {
116
- t6 = $[14];
128
+ t8 = $[16];
117
129
  }
118
- return t6;
130
+ return t8;
119
131
  }
120
132
  FormSheetRoot.displayName = 'FormSheet.Root';
121
133
 
@@ -421,7 +433,7 @@ FormSheetAction.displayName = 'FormSheet.Action';
421
433
  // ==================================
422
434
 
423
435
  const useStyles = t0 => {
424
- const $ = _c(16);
436
+ const $ = _c(17);
425
437
  let t1;
426
438
  if ($[0] !== t0) {
427
439
  t1 = t0 === undefined ? {} : t0;
@@ -432,10 +444,12 @@ const useStyles = t0 => {
432
444
  }
433
445
  const {
434
446
  appearance: t2,
435
- disabled: t3
447
+ disabled: t3,
448
+ fitToContents: t4
436
449
  } = t1;
437
450
  const appearance = t2 === undefined ? "neutral" : t2;
438
451
  const disabled = t3 === undefined ? false : t3;
452
+ const fitToContents = t4 === undefined ? false : t4;
439
453
  const {
440
454
  colors
441
455
  } = useTheme();
@@ -447,10 +461,10 @@ const useStyles = t0 => {
447
461
  top
448
462
  } = useSafeAreaInsets();
449
463
  const headerHeight = useHeaderHeight();
450
- let t4;
451
- if ($[2] !== appearance || $[3] !== bottom || $[4] !== colors.borderColorDefaultBase || $[5] !== colors.fillColorNeutral040 || $[6] !== colors.fillColorNeutral100Inverted || $[7] !== colors.fillColorStatusErrorMedium || $[8] !== colors.iconColorDefaultPrimary || $[9] !== colors.textColorDefaultDisabled || $[10] !== colors.textColorDefaultPrimary || $[11] !== disabled || $[12] !== headerHeight || $[13] !== height || $[14] !== top) {
464
+ let t5;
465
+ if ($[2] !== appearance || $[3] !== bottom || $[4] !== colors.borderColorDefaultBase || $[5] !== colors.fillColorNeutral040 || $[6] !== colors.fillColorNeutral100Inverted || $[7] !== colors.fillColorStatusErrorMedium || $[8] !== colors.iconColorDefaultPrimary || $[9] !== colors.textColorDefaultDisabled || $[10] !== colors.textColorDefaultPrimary || $[11] !== disabled || $[12] !== fitToContents || $[13] !== headerHeight || $[14] !== height || $[15] !== top) {
452
466
  const containerHeight = Platform.select({
453
- ios: height - top - headerHeight,
467
+ ios: fitToContents ? undefined : height - top - headerHeight,
454
468
  default: null
455
469
  });
456
470
  const appearanceColorsMap = {
@@ -463,7 +477,7 @@ const useStyles = t0 => {
463
477
  textColor: colors.fillColorStatusErrorMedium
464
478
  }
465
479
  };
466
- t4 = StyleSheet.create({
480
+ t5 = StyleSheet.create({
467
481
  container: {
468
482
  justifyContent: "flex-start",
469
483
  paddingBottom: bottom,
@@ -549,13 +563,14 @@ const useStyles = t0 => {
549
563
  $[9] = colors.textColorDefaultDisabled;
550
564
  $[10] = colors.textColorDefaultPrimary;
551
565
  $[11] = disabled;
552
- $[12] = headerHeight;
553
- $[13] = height;
554
- $[14] = top;
555
- $[15] = t4;
566
+ $[12] = fitToContents;
567
+ $[13] = headerHeight;
568
+ $[14] = height;
569
+ $[15] = top;
570
+ $[16] = t5;
556
571
  } else {
557
- t4 = $[15];
572
+ t5 = $[16];
558
573
  }
559
- return t4;
574
+ return t5;
560
575
  };
561
576
  //# sourceMappingURL=form_sheet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form_sheet.js","names":["PlatformPressable","useHeaderHeight","React","Platform","StyleSheet","View","useWindowDimensions","useSafeAreaInsets","useTheme","isLiquidGlassEnabled","MAX_FONT_SIZE_MULTIPLIER_LANDMARK","Button","Heading","Icon","Text","TextButton","jsx","_jsx","jsxs","_jsxs","getFormSheetScreenOptions","headerTitle","sheetAllowedDetents","rest","presentation","headerShown","sheetCornerRadius","undefined","sheetGrabberVisible","FormSheet","Root","FormSheetRoot","Action","FormSheetAction","Header","FormSheetHeader","HeaderTitle","FormSheetHeaderTitle","HeaderActions","FormSheetHeaderActions","HeaderTextButton","FormSheetHeaderTextButton","HeaderButton","FormSheetHeaderButton","t0","$","_c","children","style","contentStyle","showAndroidSheetGrabber","t1","styles","useStyles","t2","container","t3","content","t4","t5","AndroidSheetGrabber","t6","collapsable","displayName","androidSheetGrabber","select","android","ios","header","headerContent","variant","headerActions","props","accessibilityShowsLargeContentViewer","accessibilityLargeContentTitle","title","FORM_SHEET_ACTION_APPEARANCES","neutral","danger","iconName","onPress","accessibilityLabel","accessibilityHint","accessibilityRole","appearance","disabled","disabledReason","testID","actionIcon","size","accessibilityElementsHidden","t7","actionTitle","t8","actionDisabledReason","t9","actionTextBlock","t10","actionPressable","colors","height","bottom","top","headerHeight","borderColorDefaultBase","fillColorNeutral040","fillColorNeutral100Inverted","fillColorStatusErrorMedium","iconColorDefaultPrimary","textColorDefaultDisabled","textColorDefaultPrimary","containerHeight","default","appearanceColorsMap","iconColor","textColor","create","justifyContent","paddingBottom","width","backgroundColor","flexGrow","maxHeight","position","borderRadius","alignSelf","paddingHorizontal","paddingTop","gap","borderBottomWidth","borderBottomColor","flexDirection","alignItems","textAlign","flex","paddingVertical","color","fontSize"],"sources":["../../../src/components/primitive/form_sheet.tsx"],"sourcesContent":["import { PlatformPressable, useHeaderHeight } from '@react-navigation/elements'\nimport { NativeStackNavigationOptions } from '@react-navigation/native-stack'\nimport React, { ReactNode } from 'react'\nimport {\n Platform,\n StyleSheet,\n View,\n useWindowDimensions,\n type AccessibilityRole,\n type StyleProp,\n type ViewStyle,\n} from 'react-native'\nimport { useSafeAreaInsets } from 'react-native-safe-area-context'\nimport { useTheme } from '../../hooks'\nimport { isLiquidGlassEnabled, MAX_FONT_SIZE_MULTIPLIER_LANDMARK } from '../../utils'\nimport type { ButtonProps, TextButtonProps } from '../display'\nimport { Button, Heading, Icon, IconString, Text, TextButton } from '../display'\n\n// =================================\n// ====== Exports ==================\n// =================================\n\n/**\n * Screen options for the formsheet's NativeStackNavigation route\n *\n * Returns a factory rather than an object because callers assign it at module\n * scope, which runs before ChatProvider reports the host's liquid glass\n * capability. React Navigation calls the factory per render, so the sheet\n * corner radius is resolved once that capability is known.\n *\n * @param {string} options.headerTitle - Doesn't show in UI but good to have for semantic reasons.\n * @param {number[]} [options.sheetAllowedDetents] - Controls the height increments the sheet grows to. To prevent bugs in Android, do not specify more then two values and use [0.94] instead of [1] to go full screen.\n * @param {NativeStackNavigationOptions} [options.rest] - Adds or overrides any valid NativeStackNavigationOptions\n * @returns {() => NativeStackNavigationOptions} Factory producing merged NativeStackNavigationOptions\n */\nexport const getFormSheetScreenOptions =\n ({ headerTitle, sheetAllowedDetents = [0.25], ...rest }: NativeStackNavigationOptions = {}) =>\n (): NativeStackNavigationOptions => ({\n presentation: 'formSheet',\n headerShown: false,\n sheetAllowedDetents,\n sheetCornerRadius: isLiquidGlassEnabled() ? undefined : 16,\n sheetGrabberVisible: true,\n headerTitle,\n ...rest,\n })\n\nconst FormSheet = {\n Root: FormSheetRoot,\n Action: FormSheetAction,\n Header: FormSheetHeader,\n HeaderTitle: FormSheetHeaderTitle,\n HeaderActions: FormSheetHeaderActions,\n HeaderTextButton: FormSheetHeaderTextButton,\n HeaderButton: FormSheetHeaderButton,\n} as const\n\ntype FormSheetComponents = {\n Root: React.FC<FormSheetRootProps>\n Action: React.FC<FormSheetActionProps>\n Header: React.FC<FormSheetHeaderProps>\n HeaderTitle: React.FC<FormSheetHeaderTitleProps>\n HeaderActions: React.FC<FormSheetHeaderActionsProps>\n HeaderTextButton: React.FC<FormSheetHeaderTextButtonProps>\n HeaderButton: React.FC<FormSheetHeaderButtonProps>\n}\n\nexport default FormSheet as FormSheetComponents\nexport type {\n FormSheetActionProps,\n FormSheetHeaderActionsProps,\n FormSheetHeaderButtonProps,\n FormSheetHeaderProps,\n FormSheetHeaderTextButtonProps,\n FormSheetHeaderTitleProps,\n FormSheetRootProps,\n}\n\n// ====================================\n// ====== ActionsFormSheetRoot ========\n// ====================================\n\ninterface FormSheetRootProps {\n children: ReactNode\n style?: StyleProp<ViewStyle>\n contentStyle?: StyleProp<ViewStyle>\n showAndroidSheetGrabber?: boolean\n}\n\nexport function FormSheetRoot({\n children,\n style,\n contentStyle,\n showAndroidSheetGrabber = true,\n}: FormSheetRootProps) {\n const styles = useStyles()\n\n return (\n <View style={[styles.container, style]} collapsable={false}>\n <View style={[styles.content, contentStyle]}>{children}</View>\n {showAndroidSheetGrabber && <AndroidSheetGrabber />}\n </View>\n )\n}\n\nFormSheetRoot.displayName = 'FormSheet.Root'\n\n// ====================================\n// ====== AndroidSheetGrabber =========\n// ====================================\n\nfunction AndroidSheetGrabber() {\n const styles = useStyles()\n\n return Platform.select({\n android: <View style={styles.androidSheetGrabber} />,\n ios: null,\n })\n}\n\n// ====================================\n// ====== FormSheetHeader =============\n// ====================================\n\ninterface FormSheetHeaderProps {\n children: ReactNode\n style?: StyleProp<ViewStyle>\n}\n\nfunction FormSheetHeader({ children, style }: FormSheetHeaderProps) {\n const styles = useStyles()\n\n return (\n <View style={[styles.header, style]}>\n <View style={styles.headerContent}>{children}</View>\n </View>\n )\n}\n\nFormSheetHeader.displayName = 'FormSheet.Header'\n\n// ====================================\n// ====== FormSheetHeaderTitle ========\n// ====================================\n\ninterface FormSheetHeaderTitleProps {\n children: ReactNode\n}\n\nfunction FormSheetHeaderTitle({ children }: FormSheetHeaderTitleProps) {\n const styles = useStyles()\n\n return (\n <Heading\n variant=\"h3\"\n style={styles.headerTitle}\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n >\n {children}\n </Heading>\n )\n}\n\nFormSheetHeaderTitle.displayName = 'FormSheet.HeaderTitle'\n\n// ====================================\n// ====== FormSheetHeaderActions ======\n// ====================================\n\ninterface FormSheetHeaderActionsProps {\n children: ReactNode\n}\n\nfunction FormSheetHeaderActions({ children }: FormSheetHeaderActionsProps) {\n const styles = useStyles()\n\n return <View style={styles.headerActions}>{children}</View>\n}\n\nFormSheetHeaderActions.displayName = 'FormSheet.HeaderActions'\n\n// ===========================================\n// ====== FormSheetHeaderTextButton ==========\n// ===========================================\n\n// We are omitting `onLongPress` because we are instead supporting `accessibilityShowsLargeContentViewer`.\n// This is triggered by an `onLongPress` event when an iOS device is in Apple's accessible font scale range.\n// Triggering this prop will display an almost full screen iOS a11y button.\ninterface FormSheetHeaderTextButtonProps\n extends Omit<TextButtonProps, 'maxFontSizeMultiplier' | 'onLongPress'> {\n children: string\n}\n\nfunction FormSheetHeaderTextButton(props: FormSheetHeaderTextButtonProps) {\n return (\n <TextButton\n {...props}\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n accessibilityShowsLargeContentViewer\n accessibilityLargeContentTitle={props.children}\n />\n )\n}\n\nFormSheetHeaderTextButton.displayName = 'FormSheet.HeaderTextButton'\n\n// =========================================\n// ====== FormSheetHeaderButton ============\n// =========================================\n\n// Same `onLongPress`note as `FormSheetHeaderTextButtonProps`\ninterface FormSheetHeaderButtonProps\n extends Omit<ButtonProps, 'maxFontSizeMultiplier' | 'onLongPress'> {}\n\nfunction FormSheetHeaderButton(props: FormSheetHeaderButtonProps) {\n return (\n <Button\n {...props}\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n accessibilityShowsLargeContentViewer\n accessibilityLargeContentTitle={props.title}\n />\n )\n}\n\nFormSheetHeaderButton.displayName = 'FormSheet.HeaderButton'\n\n// ====================================\n// ====== ActionsFormSheetAction ======\n// ====================================\n\nconst FORM_SHEET_ACTION_APPEARANCES = {\n neutral: 'neutral',\n danger: 'danger',\n} as const\n\ntype FormSheetActionAppearanceUnion =\n (typeof FORM_SHEET_ACTION_APPEARANCES)[keyof typeof FORM_SHEET_ACTION_APPEARANCES]\n\ninterface FormSheetActionProps {\n title: string\n iconName?: IconString\n onPress: () => void\n accessibilityLabel?: string\n accessibilityHint?: string\n accessibilityRole?: AccessibilityRole\n appearance?: FormSheetActionAppearanceUnion\n disabled?: boolean\n disabledReason?: string\n testID?: string\n}\n\nfunction FormSheetAction({\n title,\n iconName,\n onPress,\n accessibilityLabel,\n accessibilityHint,\n accessibilityRole = 'button',\n appearance = 'neutral',\n disabled = false,\n disabledReason,\n testID,\n}: FormSheetActionProps) {\n const styles = useStyles({ appearance, disabled })\n\n return (\n <PlatformPressable\n testID={testID}\n onPress={onPress}\n accessibilityLabel={accessibilityLabel}\n accessibilityHint={\n accessibilityHint ?? (disabled && disabledReason ? disabledReason : undefined)\n }\n accessibilityRole={accessibilityRole}\n style={styles.actionPressable}\n disabled={disabled}\n >\n {iconName && (\n <Icon name={iconName} size={16} accessibilityElementsHidden style={styles.actionIcon} />\n )}\n <View style={styles.actionTextBlock}>\n <Text style={styles.actionTitle}>{title}</Text>\n {disabled && disabledReason && (\n <Text style={styles.actionDisabledReason}>{disabledReason}</Text>\n )}\n </View>\n </PlatformPressable>\n )\n}\n\nFormSheetAction.displayName = 'FormSheet.Action'\n\n// ==================================\n// ====== Styles ====================\n// ==================================\n\ninterface Styles {\n appearance?: FormSheetActionAppearanceUnion\n disabled?: boolean\n}\n\nconst useStyles = ({ appearance = 'neutral', disabled = false }: Styles = {}) => {\n const { colors } = useTheme()\n const { height } = useWindowDimensions()\n const { bottom, top } = useSafeAreaInsets()\n const headerHeight = useHeaderHeight()\n\n const containerHeight = Platform.select({\n ios: height - top - headerHeight,\n default: null,\n })\n\n const appearanceColorsMap = {\n neutral: {\n iconColor: colors.iconColorDefaultPrimary,\n textColor: colors.textColorDefaultPrimary,\n },\n danger: {\n iconColor: colors.fillColorStatusErrorMedium,\n textColor: colors.fillColorStatusErrorMedium,\n },\n }\n\n return StyleSheet.create({\n container: {\n justifyContent: 'flex-start',\n paddingBottom: bottom,\n width: '100%',\n backgroundColor: colors.fillColorNeutral100Inverted,\n height: containerHeight,\n ...Platform.select({\n ios: {\n flexGrow: 1, // Ensures the FormSheet children respond to the formsheet height changing on iOS\n },\n android: {\n maxHeight: '100%', // Ensures lists to scroll on Android\n },\n }),\n },\n androidSheetGrabber: {\n position: 'absolute',\n top: 5,\n width: 34,\n height: 5,\n backgroundColor: colors.fillColorNeutral040,\n borderRadius: 100,\n alignSelf: 'center',\n },\n content: {\n ...Platform.select({\n android: {\n maxHeight: '100%', // Ensures content above a list (e.g. FormSheet.Header) don't subtract from the FormSheet's height\n },\n }),\n },\n header: {\n paddingHorizontal: 16,\n paddingTop: 20,\n paddingBottom: 16,\n backgroundColor: colors.fillColorNeutral100Inverted,\n gap: 16,\n borderBottomWidth: 1,\n borderBottomColor: colors.borderColorDefaultBase,\n },\n headerContent: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n headerTitle: {\n textAlign: 'left',\n flex: 1,\n },\n headerActions: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 16,\n },\n actionPressable: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingVertical: 12,\n paddingHorizontal: 16,\n gap: 8,\n },\n actionIcon: {\n color: disabled ? colors.textColorDefaultDisabled : appearanceColorsMap[appearance].iconColor,\n },\n actionTextBlock: {\n flex: 1,\n },\n actionTitle: {\n color: disabled ? colors.textColorDefaultDisabled : appearanceColorsMap[appearance].textColor,\n },\n actionDisabledReason: {\n color: colors.textColorDefaultDisabled,\n fontSize: 12,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"form_sheet.js","names":["PlatformPressable","useHeaderHeight","React","Platform","StyleSheet","View","useWindowDimensions","useSafeAreaInsets","useTheme","isLiquidGlassEnabled","MAX_FONT_SIZE_MULTIPLIER_LANDMARK","Button","Heading","Icon","Text","TextButton","jsx","_jsx","jsxs","_jsxs","getFormSheetScreenOptions","headerTitle","sheetAllowedDetents","rest","presentation","headerShown","sheetCornerRadius","undefined","sheetGrabberVisible","FormSheet","Root","FormSheetRoot","Action","FormSheetAction","Header","FormSheetHeader","HeaderTitle","FormSheetHeaderTitle","HeaderActions","FormSheetHeaderActions","HeaderTextButton","FormSheetHeaderTextButton","HeaderButton","FormSheetHeaderButton","t0","$","_c","children","style","contentStyle","showAndroidSheetGrabber","t1","fitToContents","t2","t3","styles","useStyles","t4","container","t5","content","t6","t7","AndroidSheetGrabber","t8","collapsable","displayName","androidSheetGrabber","select","android","ios","header","headerContent","variant","headerActions","props","accessibilityShowsLargeContentViewer","accessibilityLargeContentTitle","title","FORM_SHEET_ACTION_APPEARANCES","neutral","danger","iconName","onPress","accessibilityLabel","accessibilityHint","accessibilityRole","appearance","disabled","disabledReason","testID","actionIcon","size","accessibilityElementsHidden","actionTitle","actionDisabledReason","t9","actionTextBlock","t10","actionPressable","colors","height","bottom","top","headerHeight","borderColorDefaultBase","fillColorNeutral040","fillColorNeutral100Inverted","fillColorStatusErrorMedium","iconColorDefaultPrimary","textColorDefaultDisabled","textColorDefaultPrimary","containerHeight","default","appearanceColorsMap","iconColor","textColor","create","justifyContent","paddingBottom","width","backgroundColor","flexGrow","maxHeight","position","borderRadius","alignSelf","paddingHorizontal","paddingTop","gap","borderBottomWidth","borderBottomColor","flexDirection","alignItems","textAlign","flex","paddingVertical","color","fontSize"],"sources":["../../../src/components/primitive/form_sheet.tsx"],"sourcesContent":["import { PlatformPressable, useHeaderHeight } from '@react-navigation/elements'\nimport { NativeStackNavigationOptions } from '@react-navigation/native-stack'\nimport React, { ReactNode } from 'react'\nimport {\n Platform,\n StyleSheet,\n View,\n useWindowDimensions,\n type AccessibilityRole,\n type StyleProp,\n type ViewStyle,\n} from 'react-native'\nimport { useSafeAreaInsets } from 'react-native-safe-area-context'\nimport { useTheme } from '../../hooks'\nimport { isLiquidGlassEnabled, MAX_FONT_SIZE_MULTIPLIER_LANDMARK } from '../../utils'\nimport type { ButtonProps, TextButtonProps } from '../display'\nimport { Button, Heading, Icon, IconString, Text, TextButton } from '../display'\n\n// =================================\n// ====== Exports ==================\n// =================================\n\n/**\n * Screen options for the formsheet's NativeStackNavigation route\n *\n * Returns a factory rather than an object because callers assign it at module\n * scope, which runs before ChatProvider reports the host's liquid glass\n * capability. React Navigation calls the factory per render, so the sheet\n * corner radius is resolved once that capability is known.\n *\n * @param {string} options.headerTitle - Doesn't show in UI but good to have for semantic reasons.\n * @param {number[]} [options.sheetAllowedDetents] - Controls the height increments the sheet grows to. To prevent bugs in Android, do not specify more then two values and use [0.94] instead of [1] to go full screen.\n * @param {NativeStackNavigationOptions} [options.rest] - Adds or overrides any valid NativeStackNavigationOptions\n * @returns {() => NativeStackNavigationOptions} Factory producing merged NativeStackNavigationOptions\n */\nexport const getFormSheetScreenOptions =\n ({ headerTitle, sheetAllowedDetents = [0.25], ...rest }: NativeStackNavigationOptions = {}) =>\n (): NativeStackNavigationOptions => ({\n presentation: 'formSheet',\n headerShown: false,\n sheetAllowedDetents,\n sheetCornerRadius: isLiquidGlassEnabled() ? undefined : 16,\n sheetGrabberVisible: true,\n headerTitle,\n ...rest,\n })\n\nconst FormSheet = {\n Root: FormSheetRoot,\n Action: FormSheetAction,\n Header: FormSheetHeader,\n HeaderTitle: FormSheetHeaderTitle,\n HeaderActions: FormSheetHeaderActions,\n HeaderTextButton: FormSheetHeaderTextButton,\n HeaderButton: FormSheetHeaderButton,\n} as const\n\ntype FormSheetComponents = {\n Root: React.FC<FormSheetRootProps>\n Action: React.FC<FormSheetActionProps>\n Header: React.FC<FormSheetHeaderProps>\n HeaderTitle: React.FC<FormSheetHeaderTitleProps>\n HeaderActions: React.FC<FormSheetHeaderActionsProps>\n HeaderTextButton: React.FC<FormSheetHeaderTextButtonProps>\n HeaderButton: React.FC<FormSheetHeaderButtonProps>\n}\n\nexport default FormSheet as FormSheetComponents\nexport type {\n FormSheetActionProps,\n FormSheetHeaderActionsProps,\n FormSheetHeaderButtonProps,\n FormSheetHeaderProps,\n FormSheetHeaderTextButtonProps,\n FormSheetHeaderTitleProps,\n FormSheetRootProps,\n}\n\n// ====================================\n// ====== ActionsFormSheetRoot ========\n// ====================================\n\ninterface FormSheetRootProps {\n children: ReactNode\n style?: StyleProp<ViewStyle>\n contentStyle?: StyleProp<ViewStyle>\n showAndroidSheetGrabber?: boolean\n fitToContents?: boolean\n}\n\nexport function FormSheetRoot({\n children,\n style,\n contentStyle,\n showAndroidSheetGrabber = true,\n fitToContents = false,\n}: FormSheetRootProps) {\n const styles = useStyles({ fitToContents })\n\n return (\n <View style={[styles.container, style]} collapsable={false}>\n <View style={[styles.content, contentStyle]}>{children}</View>\n {showAndroidSheetGrabber && <AndroidSheetGrabber />}\n </View>\n )\n}\n\nFormSheetRoot.displayName = 'FormSheet.Root'\n\n// ====================================\n// ====== AndroidSheetGrabber =========\n// ====================================\n\nfunction AndroidSheetGrabber() {\n const styles = useStyles()\n\n return Platform.select({\n android: <View style={styles.androidSheetGrabber} />,\n ios: null,\n })\n}\n\n// ====================================\n// ====== FormSheetHeader =============\n// ====================================\n\ninterface FormSheetHeaderProps {\n children: ReactNode\n style?: StyleProp<ViewStyle>\n}\n\nfunction FormSheetHeader({ children, style }: FormSheetHeaderProps) {\n const styles = useStyles()\n\n return (\n <View style={[styles.header, style]}>\n <View style={styles.headerContent}>{children}</View>\n </View>\n )\n}\n\nFormSheetHeader.displayName = 'FormSheet.Header'\n\n// ====================================\n// ====== FormSheetHeaderTitle ========\n// ====================================\n\ninterface FormSheetHeaderTitleProps {\n children: ReactNode\n}\n\nfunction FormSheetHeaderTitle({ children }: FormSheetHeaderTitleProps) {\n const styles = useStyles()\n\n return (\n <Heading\n variant=\"h3\"\n style={styles.headerTitle}\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n >\n {children}\n </Heading>\n )\n}\n\nFormSheetHeaderTitle.displayName = 'FormSheet.HeaderTitle'\n\n// ====================================\n// ====== FormSheetHeaderActions ======\n// ====================================\n\ninterface FormSheetHeaderActionsProps {\n children: ReactNode\n}\n\nfunction FormSheetHeaderActions({ children }: FormSheetHeaderActionsProps) {\n const styles = useStyles()\n\n return <View style={styles.headerActions}>{children}</View>\n}\n\nFormSheetHeaderActions.displayName = 'FormSheet.HeaderActions'\n\n// ===========================================\n// ====== FormSheetHeaderTextButton ==========\n// ===========================================\n\n// We are omitting `onLongPress` because we are instead supporting `accessibilityShowsLargeContentViewer`.\n// This is triggered by an `onLongPress` event when an iOS device is in Apple's accessible font scale range.\n// Triggering this prop will display an almost full screen iOS a11y button.\ninterface FormSheetHeaderTextButtonProps\n extends Omit<TextButtonProps, 'maxFontSizeMultiplier' | 'onLongPress'> {\n children: string\n}\n\nfunction FormSheetHeaderTextButton(props: FormSheetHeaderTextButtonProps) {\n return (\n <TextButton\n {...props}\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n accessibilityShowsLargeContentViewer\n accessibilityLargeContentTitle={props.children}\n />\n )\n}\n\nFormSheetHeaderTextButton.displayName = 'FormSheet.HeaderTextButton'\n\n// =========================================\n// ====== FormSheetHeaderButton ============\n// =========================================\n\n// Same `onLongPress`note as `FormSheetHeaderTextButtonProps`\ninterface FormSheetHeaderButtonProps\n extends Omit<ButtonProps, 'maxFontSizeMultiplier' | 'onLongPress'> {}\n\nfunction FormSheetHeaderButton(props: FormSheetHeaderButtonProps) {\n return (\n <Button\n {...props}\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n accessibilityShowsLargeContentViewer\n accessibilityLargeContentTitle={props.title}\n />\n )\n}\n\nFormSheetHeaderButton.displayName = 'FormSheet.HeaderButton'\n\n// ====================================\n// ====== ActionsFormSheetAction ======\n// ====================================\n\nconst FORM_SHEET_ACTION_APPEARANCES = {\n neutral: 'neutral',\n danger: 'danger',\n} as const\n\ntype FormSheetActionAppearanceUnion =\n (typeof FORM_SHEET_ACTION_APPEARANCES)[keyof typeof FORM_SHEET_ACTION_APPEARANCES]\n\ninterface FormSheetActionProps {\n title: string\n iconName?: IconString\n onPress: () => void\n accessibilityLabel?: string\n accessibilityHint?: string\n accessibilityRole?: AccessibilityRole\n appearance?: FormSheetActionAppearanceUnion\n disabled?: boolean\n disabledReason?: string\n testID?: string\n}\n\nfunction FormSheetAction({\n title,\n iconName,\n onPress,\n accessibilityLabel,\n accessibilityHint,\n accessibilityRole = 'button',\n appearance = 'neutral',\n disabled = false,\n disabledReason,\n testID,\n}: FormSheetActionProps) {\n const styles = useStyles({ appearance, disabled })\n\n return (\n <PlatformPressable\n testID={testID}\n onPress={onPress}\n accessibilityLabel={accessibilityLabel}\n accessibilityHint={\n accessibilityHint ?? (disabled && disabledReason ? disabledReason : undefined)\n }\n accessibilityRole={accessibilityRole}\n style={styles.actionPressable}\n disabled={disabled}\n >\n {iconName && (\n <Icon name={iconName} size={16} accessibilityElementsHidden style={styles.actionIcon} />\n )}\n <View style={styles.actionTextBlock}>\n <Text style={styles.actionTitle}>{title}</Text>\n {disabled && disabledReason && (\n <Text style={styles.actionDisabledReason}>{disabledReason}</Text>\n )}\n </View>\n </PlatformPressable>\n )\n}\n\nFormSheetAction.displayName = 'FormSheet.Action'\n\n// ==================================\n// ====== Styles ====================\n// ==================================\n\ninterface Styles {\n appearance?: FormSheetActionAppearanceUnion\n disabled?: boolean\n fitToContents?: boolean\n}\n\nconst useStyles = ({\n appearance = 'neutral',\n disabled = false,\n fitToContents = false,\n}: Styles = {}) => {\n const { colors } = useTheme()\n const { height } = useWindowDimensions()\n const { bottom, top } = useSafeAreaInsets()\n const headerHeight = useHeaderHeight()\n\n const containerHeight = Platform.select({\n ios: fitToContents ? undefined : height - top - headerHeight,\n default: null,\n })\n\n const appearanceColorsMap = {\n neutral: {\n iconColor: colors.iconColorDefaultPrimary,\n textColor: colors.textColorDefaultPrimary,\n },\n danger: {\n iconColor: colors.fillColorStatusErrorMedium,\n textColor: colors.fillColorStatusErrorMedium,\n },\n }\n\n return StyleSheet.create({\n container: {\n justifyContent: 'flex-start',\n paddingBottom: bottom,\n width: '100%',\n backgroundColor: colors.fillColorNeutral100Inverted,\n height: containerHeight,\n ...Platform.select({\n ios: {\n flexGrow: 1, // Ensures the FormSheet children respond to the formsheet height changing on iOS\n },\n android: {\n maxHeight: '100%', // Ensures lists to scroll on Android\n },\n }),\n },\n androidSheetGrabber: {\n position: 'absolute',\n top: 5,\n width: 34,\n height: 5,\n backgroundColor: colors.fillColorNeutral040,\n borderRadius: 100,\n alignSelf: 'center',\n },\n content: {\n ...Platform.select({\n android: {\n maxHeight: '100%', // Ensures content above a list (e.g. FormSheet.Header) don't subtract from the FormSheet's height\n },\n }),\n },\n header: {\n paddingHorizontal: 16,\n paddingTop: 20,\n paddingBottom: 16,\n backgroundColor: colors.fillColorNeutral100Inverted,\n gap: 16,\n borderBottomWidth: 1,\n borderBottomColor: colors.borderColorDefaultBase,\n },\n headerContent: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n headerTitle: {\n textAlign: 'left',\n flex: 1,\n },\n headerActions: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 16,\n },\n actionPressable: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingVertical: 12,\n paddingHorizontal: 16,\n gap: 8,\n },\n actionIcon: {\n color: disabled ? colors.textColorDefaultDisabled : appearanceColorsMap[appearance].iconColor,\n },\n actionTextBlock: {\n flex: 1,\n },\n actionTitle: {\n color: disabled ? colors.textColorDefaultDisabled : appearanceColorsMap[appearance].textColor,\n },\n actionDisabledReason: {\n color: colors.textColorDefaultDisabled,\n fontSize: 12,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"conversation_select_type_screen.d.ts","sourceRoot":"","sources":["../../src/screens/conversation_select_type_screen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,0BAA0B,CAAA;AAK3E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAA;AAC1F,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAG3D,eAAO,MAAM,mCAAmC,6EAE9C,CAAA;AAEF,MAAM,MAAM,iCAAiC,GAAG,iBAAiB,CAAC;IAChE,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,yBAAyB,CAAC,EAAE,yBAAyB,CAAA;CACtD,CAAC,CAAA;AAOF,wBAAgB,4BAA4B,CAAC,EAAE,KAAK,EAAE,EAAE,iCAAiC,2CAkGxF"}
1
+ {"version":3,"file":"conversation_select_type_screen.d.ts","sourceRoot":"","sources":["../../src/screens/conversation_select_type_screen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,0BAA0B,CAAA;AAK3E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAA;AAC1F,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAG3D,eAAO,MAAM,mCAAmC,6EAG9C,CAAA;AAEF,MAAM,MAAM,iCAAiC,GAAG,iBAAiB,CAAC;IAChE,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,yBAAyB,CAAC,EAAE,yBAAyB,CAAA;CACtD,CAAC,CAAA;AAOF,wBAAgB,4BAA4B,CAAC,EAAE,KAAK,EAAE,EAAE,iCAAiC,2CA2FxF"}
@@ -1,16 +1,17 @@
1
1
  import { c as _c } from "react/compiler-runtime";
2
2
  import { useNavigation } from '@react-navigation/native';
3
- import React, { useLayoutEffect } from 'react';
3
+ import React from 'react';
4
4
  import FormSheet, { getFormSheetScreenOptions } from '../components/primitive/form_sheet';
5
5
  import { useCurrentPerson } from '../hooks/use_current_person';
6
6
  import { useConversationTypeAccess } from '../hooks/use_new_conversation_entry';
7
7
  import { Haptic } from '../utils/native_adapters';
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  export const ConversationSelectTypeScreenOptions = getFormSheetScreenOptions({
10
- headerTitle: 'New conversation'
10
+ headerTitle: 'New conversation',
11
+ sheetAllowedDetents: 'fitToContents'
11
12
  });
12
13
  export function ConversationSelectTypeScreen(t0) {
13
- const $ = _c(41);
14
+ const $ = _c(37);
14
15
  const {
15
16
  route
16
17
  } = t0;
@@ -51,26 +52,8 @@ export function ConversationSelectTypeScreen(t0) {
51
52
  const filterParams = t2;
52
53
  const showDirectMessageOption = directMessagesEligible;
53
54
  let t3;
54
- let t4;
55
- if ($[5] !== navigation || $[6] !== showDirectMessageOption) {
55
+ if ($[5] !== filterParams || $[6] !== navigation || $[7] !== newConversationFromFilter) {
56
56
  t3 = () => {
57
- navigation.setOptions({
58
- sheetAllowedDetents: showDirectMessageOption ? [0.3] : [0.25]
59
- });
60
- };
61
- t4 = [navigation, showDirectMessageOption];
62
- $[5] = navigation;
63
- $[6] = showDirectMessageOption;
64
- $[7] = t3;
65
- $[8] = t4;
66
- } else {
67
- t3 = $[7];
68
- t4 = $[8];
69
- }
70
- useLayoutEffect(t3, t4);
71
- let t5;
72
- if ($[9] !== filterParams || $[10] !== navigation || $[11] !== newConversationFromFilter) {
73
- t5 = () => {
74
57
  if (!newConversationFromFilter) {
75
58
  return;
76
59
  }
@@ -98,17 +81,17 @@ export function ConversationSelectTypeScreen(t0) {
98
81
  }
99
82
  });
100
83
  };
101
- $[9] = filterParams;
102
- $[10] = navigation;
103
- $[11] = newConversationFromFilter;
104
- $[12] = t5;
84
+ $[5] = filterParams;
85
+ $[6] = navigation;
86
+ $[7] = newConversationFromFilter;
87
+ $[8] = t3;
105
88
  } else {
106
- t5 = $[12];
89
+ t3 = $[8];
107
90
  }
108
- const handleFilterPress = t5;
109
- let t6;
110
- if ($[13] !== filterParams || $[14] !== navigation) {
111
- t6 = screen => {
91
+ const handleFilterPress = t3;
92
+ let t4;
93
+ if ($[9] !== filterParams || $[10] !== navigation) {
94
+ t4 = screen => {
112
95
  Haptic.impactLight();
113
96
  navigation.goBack();
114
97
  requestAnimationFrame(() => navigation.navigate("New", {
@@ -116,95 +99,95 @@ export function ConversationSelectTypeScreen(t0) {
116
99
  params: filterParams
117
100
  }));
118
101
  };
119
- $[13] = filterParams;
120
- $[14] = navigation;
102
+ $[9] = filterParams;
103
+ $[10] = navigation;
104
+ $[11] = t4;
105
+ } else {
106
+ t4 = $[11];
107
+ }
108
+ const navigateToNewConversationType = t4;
109
+ let t5;
110
+ if ($[12] !== navigateToNewConversationType) {
111
+ t5 = () => navigateToNewConversationType("ConversationSelectGroupRecipients");
112
+ $[12] = navigateToNewConversationType;
113
+ $[13] = t5;
114
+ } else {
115
+ t5 = $[13];
116
+ }
117
+ const handleGroupPress = t5;
118
+ let t6;
119
+ if ($[14] !== navigateToNewConversationType) {
120
+ t6 = () => navigateToNewConversationType("ConversationSelectTeamsILeadRecipients");
121
+ $[14] = navigateToNewConversationType;
121
122
  $[15] = t6;
122
123
  } else {
123
124
  t6 = $[15];
124
125
  }
125
- const navigateToNewConversationType = t6;
126
+ const handleTeamPress = t6;
126
127
  let t7;
127
128
  if ($[16] !== navigateToNewConversationType) {
128
- t7 = () => navigateToNewConversationType("ConversationSelectGroupRecipients");
129
+ t7 = () => navigateToNewConversationType("ConversationSelectDirectMessageRecipients");
129
130
  $[16] = navigateToNewConversationType;
130
131
  $[17] = t7;
131
132
  } else {
132
133
  t7 = $[17];
133
134
  }
134
- const handleGroupPress = t7;
135
+ const handleDirectMessagePress = t7;
135
136
  let t8;
136
- if ($[18] !== navigateToNewConversationType) {
137
- t8 = () => navigateToNewConversationType("ConversationSelectTeamsILeadRecipients");
138
- $[18] = navigateToNewConversationType;
139
- $[19] = t8;
140
- } else {
141
- t8 = $[19];
142
- }
143
- const handleTeamPress = t8;
144
- let t9;
145
- if ($[20] !== navigateToNewConversationType) {
146
- t9 = () => navigateToNewConversationType("ConversationSelectDirectMessageRecipients");
147
- $[20] = navigateToNewConversationType;
148
- $[21] = t9;
149
- } else {
150
- t9 = $[21];
151
- }
152
- const handleDirectMessagePress = t9;
153
- let t10;
154
- if ($[22] === Symbol.for("react.memo_cache_sentinel")) {
155
- t10 = /*#__PURE__*/_jsx(FormSheet.Header, {
137
+ if ($[18] === Symbol.for("react.memo_cache_sentinel")) {
138
+ t8 = /*#__PURE__*/_jsx(FormSheet.Header, {
156
139
  children: /*#__PURE__*/_jsx(FormSheet.HeaderTitle, {
157
140
  children: "Start a conversation by"
158
141
  })
159
142
  });
160
- $[22] = t10;
143
+ $[18] = t8;
161
144
  } else {
162
- t10 = $[22];
145
+ t8 = $[18];
163
146
  }
164
- let t11;
165
- if ($[23] !== handleFilterPress || $[24] !== newConversationFromFilter) {
166
- t11 = newConversationFromFilter && /*#__PURE__*/_jsx(FormSheet.Action, {
147
+ let t9;
148
+ if ($[19] !== handleFilterPress || $[20] !== newConversationFromFilter) {
149
+ t9 = newConversationFromFilter && /*#__PURE__*/_jsx(FormSheet.Action, {
167
150
  title: `New conversation in ${newConversationFromFilter.name}`,
168
151
  onPress: handleFilterPress,
169
152
  accessibilityHint: "Creates a conversation pre-scoped to the current filter"
170
153
  });
171
- $[23] = handleFilterPress;
172
- $[24] = newConversationFromFilter;
173
- $[25] = t11;
154
+ $[19] = handleFilterPress;
155
+ $[20] = newConversationFromFilter;
156
+ $[21] = t9;
174
157
  } else {
175
- t11 = $[25];
158
+ t9 = $[21];
176
159
  }
177
- let t12;
178
- if ($[26] !== canCreateGroupsConversations || $[27] !== handleGroupPress) {
179
- t12 = canCreateGroupsConversations && /*#__PURE__*/_jsx(FormSheet.Action, {
160
+ let t10;
161
+ if ($[22] !== canCreateGroupsConversations || $[23] !== handleGroupPress) {
162
+ t10 = canCreateGroupsConversations && /*#__PURE__*/_jsx(FormSheet.Action, {
180
163
  testID: "conversation-select-type-group",
181
164
  title: "Group",
182
165
  onPress: handleGroupPress,
183
166
  accessibilityHint: "Opens group selection screen"
184
167
  });
185
- $[26] = canCreateGroupsConversations;
186
- $[27] = handleGroupPress;
187
- $[28] = t12;
168
+ $[22] = canCreateGroupsConversations;
169
+ $[23] = handleGroupPress;
170
+ $[24] = t10;
188
171
  } else {
189
- t12 = $[28];
172
+ t10 = $[24];
190
173
  }
191
- let t13;
192
- if ($[29] !== canCreateServicesConversations || $[30] !== handleTeamPress) {
193
- t13 = canCreateServicesConversations && /*#__PURE__*/_jsx(FormSheet.Action, {
174
+ let t11;
175
+ if ($[25] !== canCreateServicesConversations || $[26] !== handleTeamPress) {
176
+ t11 = canCreateServicesConversations && /*#__PURE__*/_jsx(FormSheet.Action, {
194
177
  testID: "conversation-select-type-team",
195
178
  title: "Team",
196
179
  onPress: handleTeamPress,
197
180
  accessibilityHint: "Opens team selection screen"
198
181
  });
199
- $[29] = canCreateServicesConversations;
200
- $[30] = handleTeamPress;
201
- $[31] = t13;
182
+ $[25] = canCreateServicesConversations;
183
+ $[26] = handleTeamPress;
184
+ $[27] = t11;
202
185
  } else {
203
- t13 = $[31];
186
+ t11 = $[27];
204
187
  }
205
- let t14;
206
- if ($[32] !== directMessagesDisabled || $[33] !== handleDirectMessagePress || $[34] !== showDirectMessageOption) {
207
- t14 = showDirectMessageOption && /*#__PURE__*/_jsx(FormSheet.Action, {
188
+ let t12;
189
+ if ($[28] !== directMessagesDisabled || $[29] !== handleDirectMessagePress || $[30] !== showDirectMessageOption) {
190
+ t12 = showDirectMessageOption && /*#__PURE__*/_jsx(FormSheet.Action, {
208
191
  testID: "conversation-select-type-direct-message",
209
192
  title: "Direct message",
210
193
  onPress: handleDirectMessagePress,
@@ -212,26 +195,27 @@ export function ConversationSelectTypeScreen(t0) {
212
195
  disabledReason: directMessagesDisabled ? "Disabled in chat settings" : undefined,
213
196
  accessibilityHint: "Opens direct message recipient selection screen"
214
197
  });
215
- $[32] = directMessagesDisabled;
216
- $[33] = handleDirectMessagePress;
217
- $[34] = showDirectMessageOption;
218
- $[35] = t14;
198
+ $[28] = directMessagesDisabled;
199
+ $[29] = handleDirectMessagePress;
200
+ $[30] = showDirectMessageOption;
201
+ $[31] = t12;
219
202
  } else {
220
- t14 = $[35];
203
+ t12 = $[31];
221
204
  }
222
- let t15;
223
- if ($[36] !== t11 || $[37] !== t12 || $[38] !== t13 || $[39] !== t14) {
224
- t15 = /*#__PURE__*/_jsxs(FormSheet.Root, {
225
- children: [t10, t11, t12, t13, t14]
205
+ let t13;
206
+ if ($[32] !== t10 || $[33] !== t11 || $[34] !== t12 || $[35] !== t9) {
207
+ t13 = /*#__PURE__*/_jsxs(FormSheet.Root, {
208
+ fitToContents: true,
209
+ children: [t8, t9, t10, t11, t12]
226
210
  });
227
- $[36] = t11;
228
- $[37] = t12;
229
- $[38] = t13;
230
- $[39] = t14;
231
- $[40] = t15;
211
+ $[32] = t10;
212
+ $[33] = t11;
213
+ $[34] = t12;
214
+ $[35] = t9;
215
+ $[36] = t13;
232
216
  } else {
233
- t15 = $[40];
217
+ t13 = $[36];
234
218
  }
235
- return t15;
219
+ return t13;
236
220
  }
237
221
  //# sourceMappingURL=conversation_select_type_screen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation_select_type_screen.js","names":["useNavigation","React","useLayoutEffect","FormSheet","getFormSheetScreenOptions","useCurrentPerson","useConversationTypeAccess","Haptic","jsx","_jsx","jsxs","_jsxs","ConversationSelectTypeScreenOptions","headerTitle","ConversationSelectTypeScreen","t0","$","_c","route","navigation","canCreateGroupsConversations","canCreateServicesConversations","directMessagesDisabled","directMessagesEligible","t1","params","newConversationFromFilter","chat_group_graph_id","group_source_app_name","t2","filterParams","showDirectMessageOption","t3","t4","setOptions","sheetAllowedDetents","t5","impactLight","goBack","requestAnimationFrame","sourceAppName","navigate","screen","source_app_name","group_id","groupId","team_ids","teamIds","handleFilterPress","t6","navigateToNewConversationType","t7","handleGroupPress","t8","handleTeamPress","t9","handleDirectMessagePress","t10","Symbol","for","Header","children","HeaderTitle","t11","Action","title","name","accessibilityHint","t12","testID","t13","t14","disabledReason","undefined","t15","Root"],"sources":["../../src/screens/conversation_select_type_screen.tsx"],"sourcesContent":["import { StaticScreenProps, useNavigation } from '@react-navigation/native'\nimport React, { useLayoutEffect } from 'react'\nimport FormSheet, { getFormSheetScreenOptions } from '../components/primitive/form_sheet'\nimport { useCurrentPerson } from '../hooks/use_current_person'\nimport { useConversationTypeAccess } from '../hooks/use_new_conversation_entry'\nimport type { NewConversationFromFilter } from '../hooks/use_new_conversation_from_filter'\nimport { AppName } from '../types/resources/app_name'\nimport { GraphId } from '../types/resources/group_resource'\nimport { Haptic } from '../utils/native_adapters'\n\nexport const ConversationSelectTypeScreenOptions = getFormSheetScreenOptions({\n headerTitle: 'New conversation',\n})\n\nexport type ConversationSelectTypeScreenProps = StaticScreenProps<{\n chat_group_graph_id?: GraphId\n group_source_app_name?: AppName\n newConversationFromFilter?: NewConversationFromFilter\n}>\n\ntype NewConversationTypeScreen =\n | 'ConversationSelectGroupRecipients'\n | 'ConversationSelectTeamsILeadRecipients'\n | 'ConversationSelectDirectMessageRecipients'\n\nexport function ConversationSelectTypeScreen({ route }: ConversationSelectTypeScreenProps) {\n const navigation = useNavigation()\n const { canCreateGroupsConversations, canCreateServicesConversations } =\n useConversationTypeAccess()\n const { directMessagesDisabled, directMessagesEligible } = useCurrentPerson()\n const { newConversationFromFilter, chat_group_graph_id, group_source_app_name } =\n route.params || {}\n\n const filterParams = { chat_group_graph_id, group_source_app_name }\n const showDirectMessageOption = directMessagesEligible\n\n // sheetAllowedDetents depends on DM eligibility, which isn't known until render, so it's set\n // here instead of in the static ConversationSelectTypeScreenOptions. useLayoutEffect applies\n // it before paint so the sheet never visibly resizes after opening.\n useLayoutEffect(() => {\n navigation.setOptions({ sheetAllowedDetents: showDirectMessageOption ? [0.3] : [0.25] })\n }, [navigation, showDirectMessageOption])\n\n const handleFilterPress = () => {\n if (!newConversationFromFilter) return\n\n Haptic.impactLight()\n navigation.goBack()\n requestAnimationFrame(() => {\n if (newConversationFromFilter.sourceAppName === 'groups') {\n navigation.navigate('New', {\n screen: 'ConversationNew',\n params: {\n ...filterParams,\n source_app_name: 'Groups' as AppName,\n group_id: newConversationFromFilter.groupId,\n },\n })\n } else {\n navigation.navigate('New', {\n screen: 'ConversationNew',\n params: {\n ...filterParams,\n source_app_name: 'Services' as AppName,\n team_ids: newConversationFromFilter.teamIds,\n },\n })\n }\n })\n }\n\n const navigateToNewConversationType = (screen: NewConversationTypeScreen) => {\n Haptic.impactLight()\n navigation.goBack()\n requestAnimationFrame(() => navigation.navigate('New', { screen, params: filterParams }))\n }\n\n const handleGroupPress = () => navigateToNewConversationType('ConversationSelectGroupRecipients')\n const handleTeamPress = () =>\n navigateToNewConversationType('ConversationSelectTeamsILeadRecipients')\n const handleDirectMessagePress = () =>\n navigateToNewConversationType('ConversationSelectDirectMessageRecipients')\n\n return (\n <FormSheet.Root>\n <FormSheet.Header>\n <FormSheet.HeaderTitle>Start a conversation by</FormSheet.HeaderTitle>\n </FormSheet.Header>\n {newConversationFromFilter && (\n <FormSheet.Action\n title={`New conversation in ${newConversationFromFilter.name}`}\n onPress={handleFilterPress}\n accessibilityHint=\"Creates a conversation pre-scoped to the current filter\"\n />\n )}\n {canCreateGroupsConversations && (\n <FormSheet.Action\n testID=\"conversation-select-type-group\"\n title=\"Group\"\n onPress={handleGroupPress}\n accessibilityHint=\"Opens group selection screen\"\n />\n )}\n {canCreateServicesConversations && (\n <FormSheet.Action\n testID=\"conversation-select-type-team\"\n title=\"Team\"\n onPress={handleTeamPress}\n accessibilityHint=\"Opens team selection screen\"\n />\n )}\n {showDirectMessageOption && (\n <FormSheet.Action\n testID=\"conversation-select-type-direct-message\"\n title=\"Direct message\"\n onPress={handleDirectMessagePress}\n disabled={directMessagesDisabled}\n disabledReason={directMessagesDisabled ? 'Disabled in chat settings' : undefined}\n accessibilityHint=\"Opens direct message recipient selection screen\"\n />\n )}\n </FormSheet.Root>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"conversation_select_type_screen.js","names":["useNavigation","React","FormSheet","getFormSheetScreenOptions","useCurrentPerson","useConversationTypeAccess","Haptic","jsx","_jsx","jsxs","_jsxs","ConversationSelectTypeScreenOptions","headerTitle","sheetAllowedDetents","ConversationSelectTypeScreen","t0","$","_c","route","navigation","canCreateGroupsConversations","canCreateServicesConversations","directMessagesDisabled","directMessagesEligible","t1","params","newConversationFromFilter","chat_group_graph_id","group_source_app_name","t2","filterParams","showDirectMessageOption","t3","impactLight","goBack","requestAnimationFrame","sourceAppName","navigate","screen","source_app_name","group_id","groupId","team_ids","teamIds","handleFilterPress","t4","navigateToNewConversationType","t5","handleGroupPress","t6","handleTeamPress","t7","handleDirectMessagePress","t8","Symbol","for","Header","children","HeaderTitle","t9","Action","title","name","accessibilityHint","t10","testID","t11","t12","disabledReason","undefined","t13","Root","fitToContents"],"sources":["../../src/screens/conversation_select_type_screen.tsx"],"sourcesContent":["import { StaticScreenProps, useNavigation } from '@react-navigation/native'\nimport React from 'react'\nimport FormSheet, { getFormSheetScreenOptions } from '../components/primitive/form_sheet'\nimport { useCurrentPerson } from '../hooks/use_current_person'\nimport { useConversationTypeAccess } from '../hooks/use_new_conversation_entry'\nimport type { NewConversationFromFilter } from '../hooks/use_new_conversation_from_filter'\nimport { AppName } from '../types/resources/app_name'\nimport { GraphId } from '../types/resources/group_resource'\nimport { Haptic } from '../utils/native_adapters'\n\nexport const ConversationSelectTypeScreenOptions = getFormSheetScreenOptions({\n headerTitle: 'New conversation',\n sheetAllowedDetents: 'fitToContents',\n})\n\nexport type ConversationSelectTypeScreenProps = StaticScreenProps<{\n chat_group_graph_id?: GraphId\n group_source_app_name?: AppName\n newConversationFromFilter?: NewConversationFromFilter\n}>\n\ntype NewConversationTypeScreen =\n | 'ConversationSelectGroupRecipients'\n | 'ConversationSelectTeamsILeadRecipients'\n | 'ConversationSelectDirectMessageRecipients'\n\nexport function ConversationSelectTypeScreen({ route }: ConversationSelectTypeScreenProps) {\n const navigation = useNavigation()\n const { canCreateGroupsConversations, canCreateServicesConversations } =\n useConversationTypeAccess()\n const { directMessagesDisabled, directMessagesEligible } = useCurrentPerson()\n const { newConversationFromFilter, chat_group_graph_id, group_source_app_name } =\n route.params || {}\n\n const filterParams = { chat_group_graph_id, group_source_app_name }\n const showDirectMessageOption = directMessagesEligible\n\n const handleFilterPress = () => {\n if (!newConversationFromFilter) return\n\n Haptic.impactLight()\n navigation.goBack()\n requestAnimationFrame(() => {\n if (newConversationFromFilter.sourceAppName === 'groups') {\n navigation.navigate('New', {\n screen: 'ConversationNew',\n params: {\n ...filterParams,\n source_app_name: 'Groups' as AppName,\n group_id: newConversationFromFilter.groupId,\n },\n })\n } else {\n navigation.navigate('New', {\n screen: 'ConversationNew',\n params: {\n ...filterParams,\n source_app_name: 'Services' as AppName,\n team_ids: newConversationFromFilter.teamIds,\n },\n })\n }\n })\n }\n\n const navigateToNewConversationType = (screen: NewConversationTypeScreen) => {\n Haptic.impactLight()\n navigation.goBack()\n requestAnimationFrame(() => navigation.navigate('New', { screen, params: filterParams }))\n }\n\n const handleGroupPress = () => navigateToNewConversationType('ConversationSelectGroupRecipients')\n const handleTeamPress = () =>\n navigateToNewConversationType('ConversationSelectTeamsILeadRecipients')\n const handleDirectMessagePress = () =>\n navigateToNewConversationType('ConversationSelectDirectMessageRecipients')\n\n return (\n <FormSheet.Root fitToContents>\n <FormSheet.Header>\n <FormSheet.HeaderTitle>Start a conversation by</FormSheet.HeaderTitle>\n </FormSheet.Header>\n {newConversationFromFilter && (\n <FormSheet.Action\n title={`New conversation in ${newConversationFromFilter.name}`}\n onPress={handleFilterPress}\n accessibilityHint=\"Creates a conversation pre-scoped to the current filter\"\n />\n )}\n {canCreateGroupsConversations && (\n <FormSheet.Action\n testID=\"conversation-select-type-group\"\n title=\"Group\"\n onPress={handleGroupPress}\n accessibilityHint=\"Opens group selection screen\"\n />\n )}\n {canCreateServicesConversations && (\n <FormSheet.Action\n testID=\"conversation-select-type-team\"\n title=\"Team\"\n onPress={handleTeamPress}\n accessibilityHint=\"Opens team selection screen\"\n />\n )}\n {showDirectMessageOption && (\n <FormSheet.Action\n testID=\"conversation-select-type-direct-message\"\n title=\"Direct message\"\n onPress={handleDirectMessagePress}\n disabled={directMessagesDisabled}\n disabledReason={directMessagesDisabled ? 'Disabled in chat settings' : undefined}\n accessibilityHint=\"Opens direct message recipient selection screen\"\n />\n )}\n </FormSheet.Root>\n )\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planningcenter/chat-react-native",
3
- "version": "4.0.1-rc.0",
3
+ "version": "4.0.1-rc.1",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -84,5 +84,5 @@
84
84
  "sf-symbols-typescript": "^2.2.0",
85
85
  "typescript": "~6.0.3"
86
86
  },
87
- "gitHead": "f3267650b8c09742984cfcc7869b176db2a51986"
87
+ "gitHead": "fa30b4ca64df403ad4e1f307404547528b3b8014"
88
88
  }
@@ -85,6 +85,7 @@ interface FormSheetRootProps {
85
85
  style?: StyleProp<ViewStyle>
86
86
  contentStyle?: StyleProp<ViewStyle>
87
87
  showAndroidSheetGrabber?: boolean
88
+ fitToContents?: boolean
88
89
  }
89
90
 
90
91
  export function FormSheetRoot({
@@ -92,8 +93,9 @@ export function FormSheetRoot({
92
93
  style,
93
94
  contentStyle,
94
95
  showAndroidSheetGrabber = true,
96
+ fitToContents = false,
95
97
  }: FormSheetRootProps) {
96
- const styles = useStyles()
98
+ const styles = useStyles({ fitToContents })
97
99
 
98
100
  return (
99
101
  <View style={[styles.container, style]} collapsable={false}>
@@ -298,16 +300,21 @@ FormSheetAction.displayName = 'FormSheet.Action'
298
300
  interface Styles {
299
301
  appearance?: FormSheetActionAppearanceUnion
300
302
  disabled?: boolean
303
+ fitToContents?: boolean
301
304
  }
302
305
 
303
- const useStyles = ({ appearance = 'neutral', disabled = false }: Styles = {}) => {
306
+ const useStyles = ({
307
+ appearance = 'neutral',
308
+ disabled = false,
309
+ fitToContents = false,
310
+ }: Styles = {}) => {
304
311
  const { colors } = useTheme()
305
312
  const { height } = useWindowDimensions()
306
313
  const { bottom, top } = useSafeAreaInsets()
307
314
  const headerHeight = useHeaderHeight()
308
315
 
309
316
  const containerHeight = Platform.select({
310
- ios: height - top - headerHeight,
317
+ ios: fitToContents ? undefined : height - top - headerHeight,
311
318
  default: null,
312
319
  })
313
320
 
@@ -1,5 +1,5 @@
1
1
  import { StaticScreenProps, useNavigation } from '@react-navigation/native'
2
- import React, { useLayoutEffect } from 'react'
2
+ import React from 'react'
3
3
  import FormSheet, { getFormSheetScreenOptions } from '../components/primitive/form_sheet'
4
4
  import { useCurrentPerson } from '../hooks/use_current_person'
5
5
  import { useConversationTypeAccess } from '../hooks/use_new_conversation_entry'
@@ -10,6 +10,7 @@ import { Haptic } from '../utils/native_adapters'
10
10
 
11
11
  export const ConversationSelectTypeScreenOptions = getFormSheetScreenOptions({
12
12
  headerTitle: 'New conversation',
13
+ sheetAllowedDetents: 'fitToContents',
13
14
  })
14
15
 
15
16
  export type ConversationSelectTypeScreenProps = StaticScreenProps<{
@@ -34,13 +35,6 @@ export function ConversationSelectTypeScreen({ route }: ConversationSelectTypeSc
34
35
  const filterParams = { chat_group_graph_id, group_source_app_name }
35
36
  const showDirectMessageOption = directMessagesEligible
36
37
 
37
- // sheetAllowedDetents depends on DM eligibility, which isn't known until render, so it's set
38
- // here instead of in the static ConversationSelectTypeScreenOptions. useLayoutEffect applies
39
- // it before paint so the sheet never visibly resizes after opening.
40
- useLayoutEffect(() => {
41
- navigation.setOptions({ sheetAllowedDetents: showDirectMessageOption ? [0.3] : [0.25] })
42
- }, [navigation, showDirectMessageOption])
43
-
44
38
  const handleFilterPress = () => {
45
39
  if (!newConversationFromFilter) return
46
40
 
@@ -82,7 +76,7 @@ export function ConversationSelectTypeScreen({ route }: ConversationSelectTypeSc
82
76
  navigateToNewConversationType('ConversationSelectDirectMessageRecipients')
83
77
 
84
78
  return (
85
- <FormSheet.Root>
79
+ <FormSheet.Root fitToContents>
86
80
  <FormSheet.Header>
87
81
  <FormSheet.HeaderTitle>Start a conversation by</FormSheet.HeaderTitle>
88
82
  </FormSheet.Header>