@expo/ui 58.0.21 → 58.0.22

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 (113) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +86 -2
  3. package/android/build.gradle +2 -2
  4. package/android/src/main/java/expo/modules/ui/CompositionLocalProviderView.kt +26 -0
  5. package/android/src/main/java/expo/modules/ui/ExpoUIModule.kt +12 -0
  6. package/android/src/main/java/expo/modules/ui/HostView.kt +4 -1
  7. package/android/src/main/java/expo/modules/ui/MaskView.kt +3 -2
  8. package/android/src/main/java/expo/modules/ui/ModifierRegistry.kt +3 -1
  9. package/android/src/main/java/expo/modules/ui/RNHostView.kt +11 -7
  10. package/android/src/main/java/expo/modules/ui/SwitchView.kt +6 -1
  11. package/android/src/main/java/expo/modules/ui/TopAppBarView.kt +62 -0
  12. package/android/src/main/java/expo/modules/ui/colors/MaterialColors.kt +61 -0
  13. package/build/community/bottom-sheet/BottomSheet.ios.js +8 -3
  14. package/build/community/bottom-sheet/BottomSheet.ios.js.map +1 -1
  15. package/build/community/pager-view/PagerView.ios.js +25 -8
  16. package/build/community/pager-view/PagerView.ios.js.map +1 -1
  17. package/build/community/segmented-control/SegmentedControl.ios.js +11 -2
  18. package/build/community/segmented-control/SegmentedControl.ios.js.map +1 -1
  19. package/build/community/segmented-control/types.d.ts +5 -1
  20. package/build/community/segmented-control/types.js.map +1 -1
  21. package/build/jetpack-compose/CompositionLocalProvider/index.d.ts +28 -0
  22. package/build/jetpack-compose/CompositionLocalProvider/index.js +15 -0
  23. package/build/jetpack-compose/CompositionLocalProvider/index.js.map +1 -0
  24. package/build/jetpack-compose/Host/index.d.ts +8 -0
  25. package/build/jetpack-compose/Host/index.js +38 -5
  26. package/build/jetpack-compose/Host/index.js.map +1 -1
  27. package/build/jetpack-compose/Switch/index.d.ts +2 -0
  28. package/build/jetpack-compose/Switch/index.js +1 -0
  29. package/build/jetpack-compose/Switch/index.js.map +1 -1
  30. package/build/jetpack-compose/TopAppBar/index.d.ts +72 -0
  31. package/build/jetpack-compose/TopAppBar/index.js +45 -0
  32. package/build/jetpack-compose/TopAppBar/index.js.map +1 -0
  33. package/build/jetpack-compose/index.d.ts +2 -0
  34. package/build/jetpack-compose/index.js +2 -0
  35. package/build/jetpack-compose/index.js.map +1 -1
  36. package/build/jetpack-compose/modifiers/index.d.ts +5 -1
  37. package/build/jetpack-compose/modifiers/index.js +6 -2
  38. package/build/jetpack-compose/modifiers/index.js.map +1 -1
  39. package/build/swift-ui/BottomSheet/index.d.ts +6 -0
  40. package/build/swift-ui/BottomSheet/index.js +9 -3
  41. package/build/swift-ui/BottomSheet/index.js.map +1 -1
  42. package/build/universal/Checkbox/index.android.js +16 -4
  43. package/build/universal/Checkbox/index.android.js.map +1 -1
  44. package/build/universal/ScrollView/index.ios.js +12 -6
  45. package/build/universal/ScrollView/index.ios.js.map +1 -1
  46. package/build/universal/Switch/index.android.js +17 -4
  47. package/build/universal/Switch/index.android.js.map +1 -1
  48. package/build/universal/Switch/index.js +1 -0
  49. package/build/universal/Switch/index.js.map +1 -1
  50. package/build/universal/Text/index.js +2 -2
  51. package/build/universal/Text/index.js.map +1 -1
  52. package/build/universal/webUtils.js +4 -0
  53. package/build/universal/webUtils.js.map +1 -1
  54. package/ios/BottomSheetView.swift +11 -2
  55. package/ios/DatePickerView.swift +134 -9
  56. package/ios/Modifiers/SelectedSegmentTintColorModifier.swift +86 -0
  57. package/ios/Modifiers/ViewModifierRegistry.swift +4 -0
  58. package/ios/RNHostView.swift +34 -16
  59. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.21/expo.modules.ui-58.0.21-sources.jar → 58.0.22/expo.modules.ui-58.0.22-sources.jar} +0 -0
  60. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22-sources.jar.md5 +1 -0
  61. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22-sources.jar.sha1 +1 -0
  62. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22-sources.jar.sha256 +1 -0
  63. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22-sources.jar.sha512 +1 -0
  64. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.aar +0 -0
  65. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.aar.md5 +1 -0
  66. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.aar.sha1 +1 -0
  67. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.aar.sha256 +1 -0
  68. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.aar.sha512 +1 -0
  69. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.21/expo.modules.ui-58.0.21.module → 58.0.22/expo.modules.ui-58.0.22.module} +22 -22
  70. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.module.md5 +1 -0
  71. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.module.sha1 +1 -0
  72. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.module.sha256 +1 -0
  73. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.module.sha512 +1 -0
  74. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.21/expo.modules.ui-58.0.21.pom → 58.0.22/expo.modules.ui-58.0.22.pom} +1 -1
  75. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.pom.md5 +1 -0
  76. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.pom.sha1 +1 -0
  77. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.pom.sha256 +1 -0
  78. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.22/expo.modules.ui-58.0.22.pom.sha512 +1 -0
  79. package/package.json +2 -2
  80. package/src/community/bottom-sheet/BottomSheet.ios.tsx +7 -3
  81. package/src/community/pager-view/PagerView.ios.tsx +25 -8
  82. package/src/community/segmented-control/SegmentedControl.ios.tsx +13 -1
  83. package/src/community/segmented-control/types.tsx +5 -1
  84. package/src/jetpack-compose/CompositionLocalProvider/index.tsx +43 -0
  85. package/src/jetpack-compose/Host/index.tsx +50 -4
  86. package/src/jetpack-compose/Switch/index.tsx +4 -0
  87. package/src/jetpack-compose/TopAppBar/index.tsx +113 -0
  88. package/src/jetpack-compose/index.ts +2 -0
  89. package/src/jetpack-compose/modifiers/index.ts +11 -3
  90. package/src/swift-ui/BottomSheet/index.tsx +24 -3
  91. package/src/universal/Checkbox/index.android.tsx +24 -5
  92. package/src/universal/ScrollView/index.ios.tsx +14 -3
  93. package/src/universal/Switch/index.android.tsx +23 -4
  94. package/src/universal/Switch/index.tsx +1 -0
  95. package/src/universal/Text/index.tsx +2 -2
  96. package/src/universal/webUtils.ts +4 -0
  97. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.21/expo.modules.ui-58.0.21-sources.jar.md5 +0 -1
  98. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.21/expo.modules.ui-58.0.21-sources.jar.sha1 +0 -1
  99. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.21/expo.modules.ui-58.0.21-sources.jar.sha256 +0 -1
  100. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.21/expo.modules.ui-58.0.21-sources.jar.sha512 +0 -1
  101. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.21/expo.modules.ui-58.0.21.aar +0 -0
  102. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.21/expo.modules.ui-58.0.21.aar.md5 +0 -1
  103. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.21/expo.modules.ui-58.0.21.aar.sha1 +0 -1
  104. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.21/expo.modules.ui-58.0.21.aar.sha256 +0 -1
  105. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.21/expo.modules.ui-58.0.21.aar.sha512 +0 -1
  106. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.21/expo.modules.ui-58.0.21.module.md5 +0 -1
  107. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.21/expo.modules.ui-58.0.21.module.sha1 +0 -1
  108. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.21/expo.modules.ui-58.0.21.module.sha256 +0 -1
  109. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.21/expo.modules.ui-58.0.21.module.sha512 +0 -1
  110. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.21/expo.modules.ui-58.0.21.pom.md5 +0 -1
  111. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.21/expo.modules.ui-58.0.21.pom.sha1 +0 -1
  112. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.21/expo.modules.ui-58.0.21.pom.sha256 +0 -1
  113. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.21/expo.modules.ui-58.0.21.pom.sha512 +0 -1
@@ -2,19 +2,28 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Host } from '../../swift-ui/Host';
3
3
  import { Picker } from '../../swift-ui/Picker';
4
4
  import { Text } from '../../swift-ui/Text';
5
- import { disabled as disabledModifier } from '../../swift-ui/modifiers';
5
+ import { accessibilityLabel as accessibilityLabelModifier, disabled as disabledModifier } from '../../swift-ui/modifiers';
6
+ import { createModifier } from '../../swift-ui/modifiers/createModifier';
6
7
  import { environment } from '../../swift-ui/modifiers/environment';
7
8
  import { pickerStyle } from '../../swift-ui/modifiers/pickerStyle';
8
9
  import { tag } from '../../swift-ui/modifiers/tag';
9
10
  import { buildChangeEvent } from './types';
10
11
  export function SegmentedControl(props) {
11
- const { values, selectedIndex, enabled = true, onChange, onValueChange, appearance, style, testID } = props;
12
+ const { values, selectedIndex, enabled = true, onChange, onValueChange, tintColor, appearance, style, testID, accessibilityLabel } = props;
12
13
  const modifiers = [
13
14
  pickerStyle('segmented')
14
15
  ];
15
16
  if (!enabled) {
16
17
  modifiers.push(disabledModifier());
17
18
  }
19
+ if (accessibilityLabel) {
20
+ modifiers.push(accessibilityLabelModifier(accessibilityLabel));
21
+ }
22
+ if (tintColor) {
23
+ modifiers.push(createModifier('selectedSegmentTintColor', {
24
+ color: tintColor
25
+ }));
26
+ }
18
27
  if (appearance) {
19
28
  modifiers.push(environment('colorScheme', appearance));
20
29
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["community/segmented-control/SegmentedControl.ios.tsx"],"sourcesContent":[null],"names":["Host","Picker","Text","disabled","disabledModifier","environment","pickerStyle","tag","buildChangeEvent","SegmentedControl","props","values","selectedIndex","enabled","onChange","onValueChange","appearance","style","testID","modifiers","push","handleSelectionChange","selection","val","matchContents","vertical","ignoreSafeArea","onSelectionChange","label","map","index"],"mappings":";AAAA,SAASA,IAAI,QAAQ,sBAAsB;AAC3C,SAASC,MAAM,QAAQ,wBAAwB;AAC/C,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,SAASC,YAAYC,gBAAgB,QAAQ,2BAA2B;AACxE,SAASC,WAAW,QAAQ,uCAAuC;AACnE,SAASC,WAAW,QAAQ,uCAAuC;AACnE,SAASC,GAAG,QAAQ,+BAA+B;AAEnD,SAASC,gBAAgB,QAAoC,UAAU;AAEvE,OAAO,SAASC,iBAAiBC,KAA4B;IAC3D,MAAM,EACJC,MAAM,EACNC,aAAa,EACbC,UAAU,IAAI,EACdC,QAAQ,EACRC,aAAa,EACbC,UAAU,EACVC,KAAK,EACLC,MAAM,EACP,GAAGR;IAEJ,MAAMS,YAA8B;QAACb,YAAY;KAAa;IAC9D,IAAI,CAACO,SAAS;QACZM,UAAUC,IAAI,CAAChB;IACjB;IACA,IAAIY,YAAY;QACdG,UAAUC,IAAI,CAACf,YAAY,eAAeW;IAC5C;IAEA,MAAMK,wBAAwB,CAACC;QAC7B,MAAMC,MAAMZ,QAAQ,CAACW,UAAU,IAAI;QACnCP,gBAAgBQ;QAChBT,WAAWN,iBAAiBc,WAAWC;IACzC;IAEA,qBACE,KAACvB;QAAKwB,eAAe;YAAEC,UAAU;QAAK;QAAGR,OAAOA;QAAOS,gBAAe;kBACpE,cAAA,KAACzB;YACCqB,WAAWV;YACXe,mBAAmBN;YACnBF,WAAWA;YACXS,OAAM;YACNV,QAAQA;sBACP,AAACP,CAAAA,UAAU,EAAE,AAAD,EAAGkB,GAAG,CAAC,CAACD,OAAOE,sBAC1B,KAAC5B;oBAAiBiB,WAAW;wBAACZ,IAAIuB;qBAAO;8BACtCF;mBADQE;;;AAOrB"}
1
+ {"version":3,"sources":["community/segmented-control/SegmentedControl.ios.tsx"],"sourcesContent":[null],"names":["Host","Picker","Text","accessibilityLabel","accessibilityLabelModifier","disabled","disabledModifier","createModifier","environment","pickerStyle","tag","buildChangeEvent","SegmentedControl","props","values","selectedIndex","enabled","onChange","onValueChange","tintColor","appearance","style","testID","modifiers","push","color","handleSelectionChange","selection","val","matchContents","vertical","ignoreSafeArea","onSelectionChange","label","map","index"],"mappings":";AAAA,SAASA,IAAI,QAAQ,sBAAsB;AAC3C,SAASC,MAAM,QAAQ,wBAAwB;AAC/C,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,SACEC,sBAAsBC,0BAA0B,EAChDC,YAAYC,gBAAgB,QACvB,2BAA2B;AAClC,SAASC,cAAc,QAAQ,0CAA0C;AACzE,SAASC,WAAW,QAAQ,uCAAuC;AACnE,SAASC,WAAW,QAAQ,uCAAuC;AACnE,SAASC,GAAG,QAAQ,+BAA+B;AAEnD,SAASC,gBAAgB,QAAoC,UAAU;AAEvE,OAAO,SAASC,iBAAiBC,KAA4B;IAC3D,MAAM,EACJC,MAAM,EACNC,aAAa,EACbC,UAAU,IAAI,EACdC,QAAQ,EACRC,aAAa,EACbC,SAAS,EACTC,UAAU,EACVC,KAAK,EACLC,MAAM,EACNnB,kBAAkB,EACnB,GAAGU;IAEJ,MAAMU,YAA8B;QAACd,YAAY;KAAa;IAC9D,IAAI,CAACO,SAAS;QACZO,UAAUC,IAAI,CAAClB;IACjB;IACA,IAAIH,oBAAoB;QACtBoB,UAAUC,IAAI,CAACpB,2BAA2BD;IAC5C;IACA,IAAIgB,WAAW;QACbI,UAAUC,IAAI,CAACjB,eAAe,4BAA4B;YAAEkB,OAAON;QAAU;IAC/E;IACA,IAAIC,YAAY;QACdG,UAAUC,IAAI,CAAChB,YAAY,eAAeY;IAC5C;IAEA,MAAMM,wBAAwB,CAACC;QAC7B,MAAMC,MAAMd,QAAQ,CAACa,UAAU,IAAI;QACnCT,gBAAgBU;QAChBX,WAAWN,iBAAiBgB,WAAWC;IACzC;IAEA,qBACE,KAAC5B;QAAK6B,eAAe;YAAEC,UAAU;QAAK;QAAGT,OAAOA;QAAOU,gBAAe;kBACpE,cAAA,KAAC9B;YACC0B,WAAWZ;YACXiB,mBAAmBN;YACnBH,WAAWA;YACXU,OAAM;YACNX,QAAQA;sBACP,AAACR,CAAAA,UAAU,EAAE,AAAD,EAAGoB,GAAG,CAAC,CAACD,OAAOE,sBAC1B,KAACjC;oBAAiBqB,WAAW;wBAACb,IAAIyB;qBAAO;8BACtCF;mBADQE;;;AAOrB"}
@@ -40,7 +40,6 @@ export interface SegmentedControlProps {
40
40
  onValueChange?: (value: string) => void;
41
41
  /**
42
42
  * Accent color of the control.
43
- * @platform android, web
44
43
  */
45
44
  tintColor?: string;
46
45
  /**
@@ -49,6 +48,11 @@ export interface SegmentedControlProps {
49
48
  appearance?: 'dark' | 'light';
50
49
  style?: StyleProp<ViewStyle>;
51
50
  testID?: string;
51
+ /**
52
+ * The name of the control that screen readers announce.
53
+ * @platform ios
54
+ */
55
+ accessibilityLabel?: string;
52
56
  }
53
57
  /**
54
58
  * Builds a synthetic `onChange` event matching the community library shape.
@@ -1 +1 @@
1
- {"version":3,"sources":["community/segmented-control/types.tsx"],"sourcesContent":[null],"names":["buildChangeEvent","index","value","nativeEvent","selectedSegmentIndex"],"mappings":"AAwDA;;CAEC,GACD,OAAO,SAASA,iBAAiBC,KAAa,EAAEC,KAAa;IAC3D,OAAO;QACLC,aAAa;YACXC,sBAAsBH;YACtBC;QACF;IACF;AACF"}
1
+ {"version":3,"sources":["community/segmented-control/types.tsx"],"sourcesContent":[null],"names":["buildChangeEvent","index","value","nativeEvent","selectedSegmentIndex"],"mappings":"AA4DA;;CAEC,GACD,OAAO,SAASA,iBAAiBC,KAAa,EAAEC,KAAa;IAC3D,OAAO;QACLC,aAAa;YACXC,sBAAsBH;YACtBC;QACF;IACF;AACF"}
@@ -0,0 +1,28 @@
1
+ import type { ReactNode } from 'react';
2
+ /**
3
+ * Composition local values that `CompositionLocalProvider` can provide.
4
+ */
5
+ export type CompositionLocalValues = {
6
+ /**
7
+ * The minimum size, in dp, that Material components such as `Button`, `IconButton`, `Checkbox`, and
8
+ * `Switch` reserve for their touch target. Maps to `LocalMinimumInteractiveComponentSize`.
9
+ * Set it to `0` to let these components be smaller than Material's default of 48dp.
10
+ */
11
+ minimumInteractiveComponentSize?: number;
12
+ };
13
+ export type CompositionLocalProviderProps = {
14
+ /**
15
+ * The values to provide to the children.
16
+ */
17
+ values: CompositionLocalValues;
18
+ /**
19
+ * The content that receives the values.
20
+ */
21
+ children?: ReactNode;
22
+ };
23
+ /**
24
+ * Provides composition local values to its children, like Jetpack Compose's `CompositionLocalProvider`.
25
+ * It adds no layout of its own, so children keep modifiers such as `weight` from the parent `Row`
26
+ * or `Column`.
27
+ */
28
+ export declare function CompositionLocalProvider({ values, children }: CompositionLocalProviderProps): import("react").JSX.Element;
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { requireNativeView } from 'expo';
3
+ const CompositionLocalProviderNativeView = requireNativeView('ExpoUI', 'CompositionLocalProviderView');
4
+ /**
5
+ * Provides composition local values to its children, like Jetpack Compose's `CompositionLocalProvider`.
6
+ * It adds no layout of its own, so children keep modifiers such as `weight` from the parent `Row`
7
+ * or `Column`.
8
+ */ export function CompositionLocalProvider({ values, children }) {
9
+ return /*#__PURE__*/ _jsx(CompositionLocalProviderNativeView, {
10
+ ...values,
11
+ children: children
12
+ });
13
+ }
14
+
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["jetpack-compose/CompositionLocalProvider/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","CompositionLocalProviderNativeView","CompositionLocalProvider","values","children"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AA8BzC,MAAMC,qCACJD,kBAAkB,UAAU;AAE9B;;;;CAIC,GACD,OAAO,SAASE,yBAAyB,EAAEC,MAAM,EAAEC,QAAQ,EAAiC;IAC1F,qBACE,KAACH;QAAoC,GAAGE,MAAM;kBAAGC;;AAErD"}
@@ -1,5 +1,6 @@
1
1
  import { type Ref } from 'react';
2
2
  import { type ColorSchemeName, type ColorValue, type StyleProp, type ViewStyle } from 'react-native';
3
+ import { type MaterialColors } from '../colors';
3
4
  import { type PrimitiveBaseProps } from '../layout';
4
5
  export interface HostProps extends PrimitiveBaseProps {
5
6
  /**
@@ -41,6 +42,13 @@ export interface HostProps extends PrimitiveBaseProps {
41
42
  * available to descendants via `useMaterialColors()`.
42
43
  */
43
44
  seedColor?: ColorValue;
45
+ /**
46
+ * Material 3 color roles that replace the matching roles of the palette from
47
+ * `colorScheme` and `seedColor`. Roles you omit keep their palette value.
48
+ * The overrides theme Compose children and are returned by `useMaterialColors()`
49
+ * in the same `#RRGGBBAA` form as the other roles.
50
+ */
51
+ colorOverrides?: Partial<MaterialColors>;
44
52
  /**
45
53
  * The layout direction for the content.
46
54
  * Defaults to the current locale direction from I18nManager.
@@ -1,23 +1,36 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { requireNativeView } from 'expo';
3
3
  import { useMemo } from 'react';
4
- import { I18nManager, useColorScheme as useRNColorScheme } from 'react-native';
4
+ import { I18nManager, processColor, useColorScheme as useRNColorScheme } from 'react-native';
5
5
  import { NativeTreeContext, useWarnIfNestedHost } from '../../NativeTreeContext';
6
6
  import { TextInputHostProvider, useTextInputHostRef } from '../../keyboard';
7
7
  import { useMergeRefs } from '../../utils/useMergeRefs';
8
8
  import { getMaterialColors, HostPaletteContext } from '../colors';
9
9
  const HostNativeView = requireNativeView('ExpoUI', 'HostView');
10
10
  export function Host(props) {
11
- const { matchContents, modifiers, onLayoutContent, layoutDirection, colorScheme, seedColor, ref, children, ...restProps } = props;
11
+ const { matchContents, modifiers, onLayoutContent, layoutDirection, colorScheme, seedColor, colorOverrides, ref, children, ...restProps } = props;
12
12
  const schemeString = colorScheme === 'light' || colorScheme === 'dark' ? colorScheme : undefined;
13
13
  const systemScheme = useRNColorScheme();
14
14
  const resolvedScheme = schemeString ?? (systemScheme === 'dark' ? 'dark' : 'light');
15
- const palette = useMemo(()=>getMaterialColors({
15
+ // Key on the normalized values, not the object, so an inline `colorOverrides` object keeps
16
+ // the palette from `useMaterialColors()` reference-stable across re-renders.
17
+ const overridesKey = colorOverrides ? JSON.stringify(normalizeColorOverrides(colorOverrides)) : null;
18
+ const normalizedOverrides = useMemo(()=>overridesKey ? JSON.parse(overridesKey) : undefined, [
19
+ overridesKey
20
+ ]);
21
+ const palette = useMemo(()=>{
22
+ const basePalette = getMaterialColors({
16
23
  scheme: resolvedScheme,
17
24
  seedColor
18
- }), [
25
+ });
26
+ return normalizedOverrides ? {
27
+ ...basePalette,
28
+ ...normalizedOverrides
29
+ } : basePalette;
30
+ }, [
19
31
  resolvedScheme,
20
- seedColor
32
+ seedColor,
33
+ normalizedOverrides
21
34
  ]);
22
35
  const hostRef = useTextInputHostRef();
23
36
  const mergedRef = useMergeRefs(ref, hostRef);
@@ -33,6 +46,7 @@ export function Host(props) {
33
46
  matchContentsHorizontal: typeof matchContents === 'object' ? matchContents.horizontal : matchContents,
34
47
  colorScheme: schemeString,
35
48
  seedColor: seedColor,
49
+ colorOverrides: normalizedOverrides,
36
50
  onLayoutContent: onLayoutContent,
37
51
  layoutDirection: layoutDirection ?? (I18nManager.getConstants().isRTL ? 'rightToLeft' : 'leftToRight'),
38
52
  ref: mergedRef,
@@ -44,5 +58,24 @@ export function Host(props) {
44
58
  })
45
59
  });
46
60
  }
61
+ function normalizeColorOverrides(overrides) {
62
+ const normalized = {};
63
+ for (const [role, color] of Object.entries(overrides)){
64
+ const hex = color != null ? toRgbaHex(color) : null;
65
+ if (hex) {
66
+ normalized[role] = hex;
67
+ }
68
+ }
69
+ return normalized;
70
+ }
71
+ // `processColor` returns `0xAARRGGBB`; the palette uses `#RRGGBBAA` like native `toTokenMap()`.
72
+ function toRgbaHex(color) {
73
+ const argb = processColor(color);
74
+ if (typeof argb !== 'number') {
75
+ return null;
76
+ }
77
+ const rgba = (argb << 8 | argb >>> 24) >>> 0;
78
+ return `#${rgba.toString(16).padStart(8, '0').toUpperCase()}`;
79
+ }
47
80
 
48
81
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["jetpack-compose/Host/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","useMemo","I18nManager","useColorScheme","useRNColorScheme","NativeTreeContext","useWarnIfNestedHost","TextInputHostProvider","useTextInputHostRef","useMergeRefs","getMaterialColors","HostPaletteContext","HostNativeView","Host","props","matchContents","modifiers","onLayoutContent","layoutDirection","colorScheme","seedColor","ref","children","restProps","schemeString","undefined","systemScheme","resolvedScheme","palette","scheme","hostRef","mergedRef","Provider","value","matchContentsVertical","vertical","matchContentsHorizontal","horizontal","getConstants","isRTL"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AACzC,SAASC,OAAO,QAAkB,QAAQ;AAC1C,SAKEC,WAAW,EACXC,kBAAkBC,gBAAgB,QAC7B,eAAe;AAEtB,SAASC,iBAAiB,EAAEC,mBAAmB,QAAQ,0BAA0B;AACjF,SAASC,qBAAqB,EAAEC,mBAAmB,QAAQ,iBAAiB;AAC5E,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SAASC,iBAAiB,EAAEC,kBAAkB,QAAQ,YAAY;AAoElE,MAAMC,iBAAuDZ,kBAC3D,UACA;AAGF,OAAO,SAASa,KAAKC,KAAgB;IACnC,MAAM,EACJC,aAAa,EACbC,SAAS,EACTC,eAAe,EACfC,eAAe,EACfC,WAAW,EACXC,SAAS,EACTC,GAAG,EACHC,QAAQ,EACR,GAAGC,WACJ,GAAGT;IACJ,MAAMU,eAAeL,gBAAgB,WAAWA,gBAAgB,SAASA,cAAcM;IAEvF,MAAMC,eAAetB;IACrB,MAAMuB,iBAAiBH,gBAAiBE,CAAAA,iBAAiB,SAAS,SAAS,OAAM;IACjF,MAAME,UAAU3B,QACd,IAAMS,kBAAkB;YAAEmB,QAAQF;YAAgBP;QAAU,IAC5D;QAACO;QAAgBP;KAAU;IAE7B,MAAMU,UAAUtB;IAChB,MAAMuB,YAAYtB,aAAaY,KAAKS;IACpCxB,oBAAoB;IAEpB,qBACE,KAACK,mBAAmBqB,QAAQ;QAACC,OAAOL;kBAClC,cAAA,KAACrB;YAAsBuB,SAASA;sBAC9B,cAAA,KAAClB;gBACE,GAAGW,SAAS;gBACbP,WAAWA;gBACXkB,uBACE,OAAOnB,kBAAkB,WAAWA,cAAcoB,QAAQ,GAAGpB;gBAE/DqB,yBACE,OAAOrB,kBAAkB,WAAWA,cAAcsB,UAAU,GAAGtB;gBAEjEI,aAAaK;gBACbJ,WAAWA;gBACXH,iBAAiBA;gBACjBC,iBACEA,mBAAoBhB,CAAAA,YAAYoC,YAAY,GAAGC,KAAK,GAAG,gBAAgB,aAAY;gBAErFlB,KAAKU;0BACL,cAAA,KAAC1B,kBAAkB2B,QAAQ;oBAACC,KAAK;8BAAEX;;;;;AAK7C"}
1
+ {"version":3,"sources":["jetpack-compose/Host/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","useMemo","I18nManager","processColor","useColorScheme","useRNColorScheme","NativeTreeContext","useWarnIfNestedHost","TextInputHostProvider","useTextInputHostRef","useMergeRefs","getMaterialColors","HostPaletteContext","HostNativeView","Host","props","matchContents","modifiers","onLayoutContent","layoutDirection","colorScheme","seedColor","colorOverrides","ref","children","restProps","schemeString","undefined","systemScheme","resolvedScheme","overridesKey","JSON","stringify","normalizeColorOverrides","normalizedOverrides","parse","palette","basePalette","scheme","hostRef","mergedRef","Provider","value","matchContentsVertical","vertical","matchContentsHorizontal","horizontal","getConstants","isRTL","overrides","normalized","role","color","Object","entries","hex","toRgbaHex","argb","rgba","toString","padStart","toUpperCase"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AACzC,SAASC,OAAO,QAAkB,QAAQ;AAC1C,SAKEC,WAAW,EACXC,YAAY,EACZC,kBAAkBC,gBAAgB,QAC7B,eAAe;AAEtB,SAASC,iBAAiB,EAAEC,mBAAmB,QAAQ,0BAA0B;AACjF,SAASC,qBAAqB,EAAEC,mBAAmB,QAAQ,iBAAiB;AAC5E,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SACEC,iBAAiB,EACjBC,kBAAkB,QAGb,YAAY;AA4EnB,MAAMC,iBAAuDb,kBAC3D,UACA;AAGF,OAAO,SAASc,KAAKC,KAAgB;IACnC,MAAM,EACJC,aAAa,EACbC,SAAS,EACTC,eAAe,EACfC,eAAe,EACfC,WAAW,EACXC,SAAS,EACTC,cAAc,EACdC,GAAG,EACHC,QAAQ,EACR,GAAGC,WACJ,GAAGV;IACJ,MAAMW,eAAeN,gBAAgB,WAAWA,gBAAgB,SAASA,cAAcO;IAEvF,MAAMC,eAAevB;IACrB,MAAMwB,iBAAiBH,gBAAiBE,CAAAA,iBAAiB,SAAS,SAAS,OAAM;IACjF,2FAA2F;IAC3F,6EAA6E;IAC7E,MAAME,eAAeR,iBACjBS,KAAKC,SAAS,CAACC,wBAAwBX,mBACvC;IACJ,MAAMY,sBAAsBjC,QAC1B,IAAO6B,eAAeC,KAAKI,KAAK,CAACL,gBAAgBH,WACjD;QAACG;KAAa;IAEhB,MAAMM,UAAUnC,QAAQ;QACtB,MAAMoC,cAAc1B,kBAAkB;YAAE2B,QAAQT;YAAgBR;QAAU;QAC1E,OAAOa,sBAAsB;YAAE,GAAGG,WAAW;YAAE,GAAGH,mBAAmB;QAAC,IAAIG;IAC5E,GAAG;QAACR;QAAgBR;QAAWa;KAAoB;IACnD,MAAMK,UAAU9B;IAChB,MAAM+B,YAAY9B,aAAaa,KAAKgB;IACpChC,oBAAoB;IAEpB,qBACE,KAACK,mBAAmB6B,QAAQ;QAACC,OAAON;kBAClC,cAAA,KAAC5B;YAAsB+B,SAASA;sBAC9B,cAAA,KAAC1B;gBACE,GAAGY,SAAS;gBACbR,WAAWA;gBACX0B,uBACE,OAAO3B,kBAAkB,WAAWA,cAAc4B,QAAQ,GAAG5B;gBAE/D6B,yBACE,OAAO7B,kBAAkB,WAAWA,cAAc8B,UAAU,GAAG9B;gBAEjEI,aAAaM;gBACbL,WAAWA;gBACXC,gBAAgBY;gBAChBhB,iBAAiBA;gBACjBC,iBACEA,mBAAoBjB,CAAAA,YAAY6C,YAAY,GAAGC,KAAK,GAAG,gBAAgB,aAAY;gBAErFzB,KAAKiB;0BACL,cAAA,KAAClC,kBAAkBmC,QAAQ;oBAACC,KAAK;8BAAElB;;;;;AAK7C;AAEA,SAASS,wBAAwBgB,SAAkC;IACjE,MAAMC,aAAsC,CAAC;IAC7C,KAAK,MAAM,CAACC,MAAMC,MAAM,IAAIC,OAAOC,OAAO,CAACL,WAAiD;QAC1F,MAAMM,MAAMH,SAAS,OAAOI,UAAUJ,SAAS;QAC/C,IAAIG,KAAK;YACPL,UAAU,CAACC,KAAK,GAAGI;QACrB;IACF;IACA,OAAOL;AACT;AAEA,gGAAgG;AAChG,SAASM,UAAUJ,KAAc;IAC/B,MAAMK,OAAOtD,aAAaiD;IAC1B,IAAI,OAAOK,SAAS,UAAU;QAC5B,OAAO;IACT;IACA,MAAMC,OAAO,AAAC,CAAA,AAACD,QAAQ,IAAMA,SAAS,EAAE,MAAO;IAC/C,OAAO,CAAC,CAAC,EAAEC,KAAKC,QAAQ,CAAC,IAAIC,QAAQ,CAAC,GAAG,KAAKC,WAAW,IAAI;AAC/D"}
@@ -33,6 +33,8 @@ export interface SwitchProps {
33
33
  enabled?: boolean;
34
34
  /**
35
35
  * Callback function that is called when the checked state changes.
36
+ * When omitted, the switch is not interactive on its own, so a parent with the
37
+ * `toggleable` modifier can handle input and accessibility for it.
36
38
  */
37
39
  onCheckedChange?: (value: boolean) => void;
38
40
  /**
@@ -19,6 +19,7 @@ function transformSwitchProps(props) {
19
19
  modifiers,
20
20
  ...modifiers ? createViewModifierEventListener(modifiers) : undefined,
21
21
  ...restProps,
22
+ nativeClickable: onCheckedChange != null,
22
23
  onCheckedChange: ({ nativeEvent: { value } })=>{
23
24
  onCheckedChange?.(value);
24
25
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["jetpack-compose/Switch/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","ExpoUIModule","createViewModifierEventListener","SwitchNativeView","SlotNativeView","SwitchThumbContent","props","slotName","children","transformSwitchProps","modifiers","onCheckedChange","restProps","undefined","nativeEvent","value","SwitchComponent","ThumbContent","DefaultIconSize","SwitchDefaultIconSize","Switch"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AAIzC,SAASC,YAAY,QAAQ,kBAAkB;AAC/C,SAASC,+BAA+B,QAAQ,qBAAqB;AAmErE,MAAMC,mBAA2DH,kBAC/D,UACA;AAGF,MAAMI,iBAA2DJ,kBAC/D,UACA;AAGF;;;CAGC,GACD,OAAO,SAASK,mBAAmBC,KAAwB;IACzD,qBAAO,KAACF;QAAeG,UAAS;kBAAgBD,MAAME,QAAQ;;AAChE;AAEA,SAASC,qBAAqBH,KAAkB;IAC9C,MAAM,EAAEI,SAAS,EAAEF,QAAQ,EAAEG,eAAe,EAAE,GAAGC,WAAW,GAAGN;IAC/D,OAAO;QACLI;QACA,GAAIA,YAAYR,gCAAgCQ,aAAaG,SAAS;QACtE,GAAGD,SAAS;QACZD,iBAAiB,CAAC,EAAEG,aAAa,EAAEC,KAAK,EAAE,EAAE;YAC1CJ,kBAAkBI;QACpB;IACF;AACF;AAEA;;CAEC,GACD,SAASC,gBAAgBV,KAAkB;IACzC,qBAAO,KAACH;QAAkB,GAAGM,qBAAqBH,MAAM;kBAAGA,MAAME,QAAQ;;AAC3E;AAEAQ,gBAAgBC,YAAY,GAAGZ;AAC/BW,gBAAgBE,eAAe,GAAGjB,aAAakB,qBAAqB;AAEpE,SAASH,mBAAmBI,MAAM,GAAG"}
1
+ {"version":3,"sources":["jetpack-compose/Switch/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","ExpoUIModule","createViewModifierEventListener","SwitchNativeView","SlotNativeView","SwitchThumbContent","props","slotName","children","transformSwitchProps","modifiers","onCheckedChange","restProps","undefined","nativeClickable","nativeEvent","value","SwitchComponent","ThumbContent","DefaultIconSize","SwitchDefaultIconSize","Switch"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AAIzC,SAASC,YAAY,QAAQ,kBAAkB;AAC/C,SAASC,+BAA+B,QAAQ,qBAAqB;AAsErE,MAAMC,mBAA2DH,kBAC/D,UACA;AAGF,MAAMI,iBAA2DJ,kBAC/D,UACA;AAGF;;;CAGC,GACD,OAAO,SAASK,mBAAmBC,KAAwB;IACzD,qBAAO,KAACF;QAAeG,UAAS;kBAAgBD,MAAME,QAAQ;;AAChE;AAEA,SAASC,qBAAqBH,KAAkB;IAC9C,MAAM,EAAEI,SAAS,EAAEF,QAAQ,EAAEG,eAAe,EAAE,GAAGC,WAAW,GAAGN;IAC/D,OAAO;QACLI;QACA,GAAIA,YAAYR,gCAAgCQ,aAAaG,SAAS;QACtE,GAAGD,SAAS;QACZE,iBAAiBH,mBAAmB;QACpCA,iBAAiB,CAAC,EAAEI,aAAa,EAAEC,KAAK,EAAE,EAAE;YAC1CL,kBAAkBK;QACpB;IACF;AACF;AAEA;;CAEC,GACD,SAASC,gBAAgBX,KAAkB;IACzC,qBAAO,KAACH;QAAkB,GAAGM,qBAAqBH,MAAM;kBAAGA,MAAME,QAAQ;;AAC3E;AAEAS,gBAAgBC,YAAY,GAAGb;AAC/BY,gBAAgBE,eAAe,GAAGlB,aAAamB,qBAAqB;AAEpE,SAASH,mBAAmBI,MAAM,GAAG"}
@@ -0,0 +1,72 @@
1
+ import type { ColorValue } from 'react-native';
2
+ import type { ExpoModifier } from '../../types';
3
+ import type { PaddingValuesRecord } from '../Carousel';
4
+ export type { PaddingValuesRecord };
5
+ /**
6
+ * Colors for the top app bar.
7
+ */
8
+ export type TopAppBarColors = {
9
+ /**
10
+ * Color of the container (background).
11
+ */
12
+ containerColor?: ColorValue;
13
+ /**
14
+ * Color of the navigation icon.
15
+ */
16
+ navigationIconContentColor?: ColorValue;
17
+ /**
18
+ * Color of the title.
19
+ */
20
+ titleContentColor?: ColorValue;
21
+ /**
22
+ * Color of the action icons.
23
+ */
24
+ actionIconContentColor?: ColorValue;
25
+ };
26
+ export interface TopAppBarProps {
27
+ /**
28
+ * Colors for the app bar. Unset colors use `TopAppBarDefaults.topAppBarColors()`.
29
+ */
30
+ colors?: TopAppBarColors;
31
+ /**
32
+ * Insets in dp that the app bar adds around its content. Missing sides are `0`.
33
+ * When omitted, the app bar uses `TopAppBarDefaults.windowInsets`, which assumes
34
+ * the bar is at the top edge of the window, even inside a nested `Host`.
35
+ * Pass `{}` when a parent handles the insets. This removes both the top status
36
+ * bar inset and the horizontal system bar and display cutout insets.
37
+ */
38
+ windowInsets?: PaddingValuesRecord;
39
+ /**
40
+ * Modifiers for the component.
41
+ */
42
+ modifiers?: ExpoModifier[];
43
+ /**
44
+ * `TopAppBar.Title`, `TopAppBar.NavigationIcon`, and `TopAppBar.Actions` slots.
45
+ */
46
+ children: React.ReactNode;
47
+ }
48
+ type SlotProps = {
49
+ children: React.ReactNode;
50
+ };
51
+ /**
52
+ * Title slot for `TopAppBar`.
53
+ */
54
+ declare function TopAppBarTitle(props: SlotProps): import("react").JSX.Element;
55
+ /**
56
+ * Navigation icon slot for `TopAppBar`. It appears at the start of the app bar.
57
+ */
58
+ declare function TopAppBarNavigationIcon(props: SlotProps): import("react").JSX.Element;
59
+ /**
60
+ * Actions slot for `TopAppBar`. Its children appear in a row at the end of the app bar.
61
+ */
62
+ declare function TopAppBarActions(props: SlotProps): import("react").JSX.Element;
63
+ /**
64
+ * A Material 3 small top app bar that shows a title, a navigation icon, and actions.
65
+ */
66
+ declare function TopAppBar(props: TopAppBarProps): import("react").JSX.Element;
67
+ declare namespace TopAppBar {
68
+ var Title: typeof TopAppBarTitle;
69
+ var NavigationIcon: typeof TopAppBarNavigationIcon;
70
+ var Actions: typeof TopAppBarActions;
71
+ }
72
+ export { TopAppBar };
@@ -0,0 +1,45 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { requireNativeView } from 'expo';
3
+ import { createViewModifierEventListener } from '../modifiers/utils';
4
+ const TopAppBarNativeView = requireNativeView('ExpoUI', 'TopAppBarView');
5
+ const SlotNativeView = requireNativeView('ExpoUI', 'SlotView');
6
+ /**
7
+ * Title slot for `TopAppBar`.
8
+ */ function TopAppBarTitle(props) {
9
+ return /*#__PURE__*/ _jsx(SlotNativeView, {
10
+ slotName: "title",
11
+ children: props.children
12
+ });
13
+ }
14
+ /**
15
+ * Navigation icon slot for `TopAppBar`. It appears at the start of the app bar.
16
+ */ function TopAppBarNavigationIcon(props) {
17
+ return /*#__PURE__*/ _jsx(SlotNativeView, {
18
+ slotName: "navigationIcon",
19
+ children: props.children
20
+ });
21
+ }
22
+ /**
23
+ * Actions slot for `TopAppBar`. Its children appear in a row at the end of the app bar.
24
+ */ function TopAppBarActions(props) {
25
+ return /*#__PURE__*/ _jsx(SlotNativeView, {
26
+ slotName: "actions",
27
+ children: props.children
28
+ });
29
+ }
30
+ /**
31
+ * A Material 3 small top app bar that shows a title, a navigation icon, and actions.
32
+ */ function TopAppBar(props) {
33
+ const { modifiers, ...restProps } = props;
34
+ return /*#__PURE__*/ _jsx(TopAppBarNativeView, {
35
+ modifiers: modifiers,
36
+ ...modifiers ? createViewModifierEventListener(modifiers) : undefined,
37
+ ...restProps
38
+ });
39
+ }
40
+ TopAppBar.Title = TopAppBarTitle;
41
+ TopAppBar.NavigationIcon = TopAppBarNavigationIcon;
42
+ TopAppBar.Actions = TopAppBarActions;
43
+ export { TopAppBar };
44
+
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["jetpack-compose/TopAppBar/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","createViewModifierEventListener","TopAppBarNativeView","SlotNativeView","TopAppBarTitle","props","slotName","children","TopAppBarNavigationIcon","TopAppBarActions","TopAppBar","modifiers","restProps","undefined","Title","NavigationIcon","Actions"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AAKzC,SAASC,+BAA+B,QAAQ,qBAAqB;AA0DrE,MAAMC,sBAA2DF,kBAC/D,UACA;AAGF,MAAMG,iBAA2DH,kBAC/D,UACA;AAGF;;CAEC,GACD,SAASI,eAAeC,KAAgB;IACtC,qBAAO,KAACF;QAAeG,UAAS;kBAASD,MAAME,QAAQ;;AACzD;AAEA;;CAEC,GACD,SAASC,wBAAwBH,KAAgB;IAC/C,qBAAO,KAACF;QAAeG,UAAS;kBAAkBD,MAAME,QAAQ;;AAClE;AAEA;;CAEC,GACD,SAASE,iBAAiBJ,KAAgB;IACxC,qBAAO,KAACF;QAAeG,UAAS;kBAAWD,MAAME,QAAQ;;AAC3D;AAEA;;CAEC,GACD,SAASG,UAAUL,KAAqB;IACtC,MAAM,EAAEM,SAAS,EAAE,GAAGC,WAAW,GAAGP;IACpC,qBACE,KAACH;QACCS,WAAWA;QACV,GAAIA,YAAYV,gCAAgCU,aAAaE,SAAS;QACtE,GAAGD,SAAS;;AAGnB;AAEAF,UAAUI,KAAK,GAAGV;AAClBM,UAAUK,cAAc,GAAGP;AAC3BE,UAAUM,OAAO,GAAGP;AAEpB,SAASC,SAAS,GAAG"}
@@ -37,6 +37,7 @@ export * from './SearchBar';
37
37
  export * from './Snackbar';
38
38
  export * from './DockedSearchBar';
39
39
  export * from './HorizontalFloatingToolbar';
40
+ export * from './TopAppBar';
40
41
  export * from './FloatingActionButton';
41
42
  export * from './PullToRefreshBox';
42
43
  export * from './RadioButton';
@@ -48,6 +49,7 @@ export * from './AnimatedVisibility';
48
49
  export * from './Box';
49
50
  export * from './Row';
50
51
  export * from './Column';
52
+ export * from './CompositionLocalProvider';
51
53
  export * from './FlowRow';
52
54
  export { useNativeState, useWorkletCallback, type WorkletCallback } from '../State';
53
55
  export type { ViewEvent } from '../types';
@@ -37,6 +37,7 @@ export * from './SearchBar';
37
37
  export * from './Snackbar';
38
38
  export * from './DockedSearchBar';
39
39
  export * from './HorizontalFloatingToolbar';
40
+ export * from './TopAppBar';
40
41
  export * from './FloatingActionButton';
41
42
  export * from './PullToRefreshBox';
42
43
  export * from './RadioButton';
@@ -48,6 +49,7 @@ export * from './AnimatedVisibility';
48
49
  export * from './Box';
49
50
  export * from './Row';
50
51
  export * from './Column';
52
+ export * from './CompositionLocalProvider';
51
53
  export * from './FlowRow';
52
54
  export { useNativeState, useWorkletCallback } from '../State';
53
55
 
@@ -1 +1 @@
1
- {"version":3,"sources":["jetpack-compose/index.ts"],"sourcesContent":[null],"names":["BasicAlertDialog","TextField","OutlinedTextField","BasicTextField","HorizontalPager","Text","useNativeState","useWorkletCallback"],"mappings":"AAAA,OAAO,wCAAwC;AAE/C,cAAc,gBAAgB;AAC9B,cAAc,UAAU;AACxB,cAAc,cAAc;AAC5B,SAASA,gBAAgB,QAAoC,qBAAqB;AAClF,cAAc,SAAS;AACvB,cAAc,aAAa;AAC3B,cAAc,SAAS;AACvB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,2BAA2B;AACzC,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,YAAY;AAC1B,cAAc,aAAa;AAC3B,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,oBAAoB;AAClC,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,eAAe;AAC7B,SACEC,SAAS,EACTC,iBAAiB,EACjBC,cAAc,QAcT,cAAc;AACrB,cAAc,iBAAiB;AAC/B,cAAc,UAAU;AACxB,cAAc,qBAAqB;AACnC,cAAc,kBAAkB;AAChC,cAAc,aAAa;AAC3B,SACEC,eAAe,QAGV,oBAAoB;AAC3B,cAAc,cAAc;AAC5B,cAAc,aAAa;AAC3B,cAAc,oBAAoB;AAClC,cAAc,8BAA8B;AAC5C,cAAc,yBAAyB;AACvC,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,YAAY;AAC1B,SAAyBC,IAAI,QAAQ,SAAS;AAC9C,cAAc,YAAY;AAC1B,cAAc,qBAAqB;AAEnC,cAAc,uBAAuB;AACrC,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,WAAW;AACzB,cAAc,YAAY;AAC1B,SAASC,cAAc,EAAEC,kBAAkB,QAA8B,WAAW"}
1
+ {"version":3,"sources":["jetpack-compose/index.ts"],"sourcesContent":[null],"names":["BasicAlertDialog","TextField","OutlinedTextField","BasicTextField","HorizontalPager","Text","useNativeState","useWorkletCallback"],"mappings":"AAAA,OAAO,wCAAwC;AAE/C,cAAc,gBAAgB;AAC9B,cAAc,UAAU;AACxB,cAAc,cAAc;AAC5B,SAASA,gBAAgB,QAAoC,qBAAqB;AAClF,cAAc,SAAS;AACvB,cAAc,aAAa;AAC3B,cAAc,SAAS;AACvB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,2BAA2B;AACzC,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,YAAY;AAC1B,cAAc,aAAa;AAC3B,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,oBAAoB;AAClC,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,eAAe;AAC7B,SACEC,SAAS,EACTC,iBAAiB,EACjBC,cAAc,QAcT,cAAc;AACrB,cAAc,iBAAiB;AAC/B,cAAc,UAAU;AACxB,cAAc,qBAAqB;AACnC,cAAc,kBAAkB;AAChC,cAAc,aAAa;AAC3B,SACEC,eAAe,QAGV,oBAAoB;AAC3B,cAAc,cAAc;AAC5B,cAAc,aAAa;AAC3B,cAAc,oBAAoB;AAClC,cAAc,8BAA8B;AAC5C,cAAc,cAAc;AAC5B,cAAc,yBAAyB;AACvC,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,YAAY;AAC1B,SAAyBC,IAAI,QAAQ,SAAS;AAC9C,cAAc,YAAY;AAC1B,cAAc,qBAAqB;AAEnC,cAAc,uBAAuB;AACrC,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,WAAW;AACzB,cAAc,6BAA6B;AAC3C,cAAc,YAAY;AAC1B,SAASC,cAAc,EAAEC,kBAAkB,QAA8B,WAAW"}
@@ -287,10 +287,14 @@ export declare const selectableGroup: () => import("./createModifier").ModifierC
287
287
  * @param value - The current toggle state.
288
288
  * @param handler - Function to call when toggled.
289
289
  * @param options - Optional configuration.
290
- * @param options.role - The semantic role for accessibility: `'checkbox'`, `'radioButton'`, `'switch'`, or `'tab'`.
290
+ * @param options.role - The semantic role for accessibility: `'checkbox'`, `'radioButton'`,
291
+ * `'switch'`, or `'tab'`.
292
+ * @param options.enabled - Whether the view responds to input and is reported as enabled to
293
+ * accessibility services. Defaults to `true`.
291
294
  */
292
295
  export declare const toggleable: (value: boolean, handler: () => void, options?: {
293
296
  role?: "checkbox" | "radioButton" | "switch" | "tab";
297
+ enabled?: boolean;
294
298
  }) => import("./createModifier").ModifierConfig;
295
299
  /**
296
300
  * Calls the handler when the composable's visibility changes (for example, enters or leaves the viewport in a lazy list).
@@ -287,10 +287,14 @@ export { animated, spring, tween, snap, keyframes } from './animation';
287
287
  * @param value - The current toggle state.
288
288
  * @param handler - Function to call when toggled.
289
289
  * @param options - Optional configuration.
290
- * @param options.role - The semantic role for accessibility: `'checkbox'`, `'radioButton'`, `'switch'`, or `'tab'`.
290
+ * @param options.role - The semantic role for accessibility: `'checkbox'`, `'radioButton'`,
291
+ * `'switch'`, or `'tab'`.
292
+ * @param options.enabled - Whether the view responds to input and is reported as enabled to
293
+ * accessibility services. Defaults to `true`.
291
294
  */ export const toggleable = (value, handler, options)=>createModifierWithEventListener('toggleable', handler, {
292
295
  value,
293
- role: options?.role
296
+ role: options?.role,
297
+ enabled: options?.enabled
294
298
  });
295
299
  // =============================================================================
296
300
  // Lifecycle Modifiers
@@ -1 +1 @@
1
- {"version":3,"sources":["jetpack-compose/modifiers/index.ts"],"sourcesContent":[null],"names":["createModifier","createModifierWithEventListener","animated","spring","tween","snap","keyframes","paddingAll","all","padding","start","top","end","bottom","size","width","height","fillMaxSize","fraction","fillMaxWidth","fillMaxHeight","IntrinsicSize","Min","Max","value","defaultMinSize","options","wrapContentWidth","alignment","wrapContentHeight","imePadding","offset","x","y","background","color","animationSpec","border","borderWidth","borderColor","shadow","elevation","dropShadow","shape","config","innerShadow","alpha","blur","radius","cornerRadius","rotate","degrees","graphicsLayer","params","zIndex","index","animateContentSize","dampingRatio","stiffness","weight","align","matchParentSize","menuAnchor","type","enabled","clickable","handler","indication","combinedClickable","handlers","event","onClick","onLongClick","selectable","selected","role","selectableGroup","toggleable","onVisibilityChanged","isVisible","minDurationMs","minFractionVisible","onSizeChanged","onGloballyPositioned","layout","testID","tag","semantics","material","name","Shapes","Rectangle","Circle","RoundedCorner","CutCorner","Material","Cookie4Sided","Cookie6Sided","Cookie7Sided","Cookie9Sided","Cookie12Sided","Clover4Leaf","Clover8Leaf","SoftBurst","Boom","Oval","Pill","Triangle","Diamond","Pentagon","Sunny","VerySunny","Fan","PixelCircle","PixelTriangle","Ghostish","Bun","Heart","Arch","Slanted","Puffy","PuffyDiamond","clip","maskClip","verticalScroll","horizontalScroll","createViewModifierEventListener"],"mappings":"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"}
1
+ {"version":3,"sources":["jetpack-compose/modifiers/index.ts"],"sourcesContent":[null],"names":["createModifier","createModifierWithEventListener","animated","spring","tween","snap","keyframes","paddingAll","all","padding","start","top","end","bottom","size","width","height","fillMaxSize","fraction","fillMaxWidth","fillMaxHeight","IntrinsicSize","Min","Max","value","defaultMinSize","options","wrapContentWidth","alignment","wrapContentHeight","imePadding","offset","x","y","background","color","animationSpec","border","borderWidth","borderColor","shadow","elevation","dropShadow","shape","config","innerShadow","alpha","blur","radius","cornerRadius","rotate","degrees","graphicsLayer","params","zIndex","index","animateContentSize","dampingRatio","stiffness","weight","align","matchParentSize","menuAnchor","type","enabled","clickable","handler","indication","combinedClickable","handlers","event","onClick","onLongClick","selectable","selected","role","selectableGroup","toggleable","onVisibilityChanged","isVisible","minDurationMs","minFractionVisible","onSizeChanged","onGloballyPositioned","layout","testID","tag","semantics","material","name","Shapes","Rectangle","Circle","RoundedCorner","CutCorner","Material","Cookie4Sided","Cookie6Sided","Cookie7Sided","Cookie9Sided","Cookie12Sided","Clover4Leaf","Clover8Leaf","SoftBurst","Boom","Oval","Pill","Triangle","Diamond","Pentagon","Sunny","VerySunny","Fan","PixelCircle","PixelTriangle","Ghostish","Bun","Heart","Arch","Slanted","Puffy","PuffyDiamond","clip","maskClip","verticalScroll","horizontalScroll","createViewModifierEventListener"],"mappings":"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"}
@@ -11,6 +11,12 @@ export interface BottomSheetProps extends CommonViewModifierProps {
11
11
  * kept mounted, so presenting the sheet doesn't shift surrounding layout. Optional.
12
12
  */
13
13
  anchor?: ReactNode;
14
+ /**
15
+ * A view that fills the whole sheet behind its content, for example a `Rectangle` filled with a
16
+ * material. Unlike the `presentationBackground` modifier, a material in a view stays translucent
17
+ * on iOS 26 and later.
18
+ */
19
+ presentationBackground?: ReactNode;
14
20
  /**
15
21
  * Whether the `BottomSheet` is presented.
16
22
  */
@@ -8,7 +8,7 @@ const BottomSheetNativeView = requireNativeView('ExpoUI', 'BottomSheetView');
8
8
  /**
9
9
  * `BottomSheet` presents content from the bottom of the screen.
10
10
  */ function BottomSheet(props) {
11
- const { modifiers, onIsPresentedChange, onDismiss, anchor, children, ...restProps } = props;
11
+ const { modifiers, onIsPresentedChange, onDismiss, anchor, presentationBackground, children, ...restProps } = props;
12
12
  const [isMounted, setIsMounted] = useState(props.isPresented);
13
13
  if (props.isPresented && !isMounted) {
14
14
  setIsMounted(true);
@@ -31,8 +31,14 @@ const BottomSheetNativeView = requireNativeView('ExpoUI', 'BottomSheetView');
31
31
  name: "anchor",
32
32
  children: anchor
33
33
  }) : null,
34
- isMounted ? /*#__PURE__*/ _jsx(PresentedContent, {
35
- children: children
34
+ isMounted ? /*#__PURE__*/ _jsxs(PresentedContent, {
35
+ children: [
36
+ presentationBackground != null ? /*#__PURE__*/ _jsx(Slot, {
37
+ name: "presentationBackground",
38
+ children: presentationBackground
39
+ }) : null,
40
+ children
41
+ ]
36
42
  }) : null
37
43
  ]
38
44
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["swift-ui/BottomSheet/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","useState","PresentedContent","Slot","createViewModifierEventListener","BottomSheetNativeView","BottomSheet","props","modifiers","onIsPresentedChange","onDismiss","anchor","children","restProps","isMounted","setIsMounted","isPresented","undefined","nativeEvent","name"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AACzC,SAASC,QAAQ,QAA4C,QAAQ;AAGrE,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,+BAA+B,QAAQ,qBAAqB;AA0CrE,MAAMC,wBAA+DL,kBACnE,UACA;AAGF;;CAEC,GACD,SAASM,YAAYC,KAAuB;IAC1C,MAAM,EAAEC,SAAS,EAAEC,mBAAmB,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAGC,WAAW,GAAGN;IACtF,MAAM,CAACO,WAAWC,aAAa,GAAGd,SAASM,MAAMS,WAAW;IAE5D,IAAIT,MAAMS,WAAW,IAAI,CAACF,WAAW;QACnCC,aAAa;IACf;IAEA,8FAA8F;IAC9F,iBAAiB;IACjB,qBACE,MAACV;QACCG,WAAWA;QACV,GAAIA,YAAYJ,gCAAgCI,aAAaS,SAAS;QACtE,GAAGJ,SAAS;QACbJ,qBAAqB,CAAC,EAAES,aAAa,EAAEF,WAAW,EAAE,EAAE;YACpDP,sBAAsBO;QACxB;QACAN,WAAW;YACTK,aAAa;YACbL;QACF;;YACCC,UAAU,qBAAO,KAACR;gBAAKgB,MAAK;0BAAUR;iBAAiB;YAGvDG,0BAAY,KAACZ;0BAAkBU;iBAA+B;;;AAGrE;AAEA,SAASN,WAAW,GAAG"}
1
+ {"version":3,"sources":["swift-ui/BottomSheet/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","useState","PresentedContent","Slot","createViewModifierEventListener","BottomSheetNativeView","BottomSheet","props","modifiers","onIsPresentedChange","onDismiss","anchor","presentationBackground","children","restProps","isMounted","setIsMounted","isPresented","undefined","nativeEvent","name"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AACzC,SAASC,QAAQ,QAA4C,QAAQ;AAGrE,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,+BAA+B,QAAQ,qBAAqB;AAgDrE,MAAMC,wBAA+DL,kBACnE,UACA;AAGF;;CAEC,GACD,SAASM,YAAYC,KAAuB;IAC1C,MAAM,EACJC,SAAS,EACTC,mBAAmB,EACnBC,SAAS,EACTC,MAAM,EACNC,sBAAsB,EACtBC,QAAQ,EACR,GAAGC,WACJ,GAAGP;IACJ,MAAM,CAACQ,WAAWC,aAAa,GAAGf,SAASM,MAAMU,WAAW;IAE5D,IAAIV,MAAMU,WAAW,IAAI,CAACF,WAAW;QACnCC,aAAa;IACf;IAEA,8FAA8F;IAC9F,iBAAiB;IACjB,qBACE,MAACX;QACCG,WAAWA;QACV,GAAIA,YAAYJ,gCAAgCI,aAAaU,SAAS;QACtE,GAAGJ,SAAS;QACbL,qBAAqB,CAAC,EAAEU,aAAa,EAAEF,WAAW,EAAE,EAAE;YACpDR,sBAAsBQ;QACxB;QACAP,WAAW;YACTM,aAAa;YACbN;QACF;;YACCC,UAAU,qBAAO,KAACR;gBAAKiB,MAAK;0BAAUT;iBAAiB;YAGvDI,0BACC,MAACb;;oBACEU,0BAA0B,qBACzB,KAACT;wBAAKiB,MAAK;kCAA0BR;yBACnC;oBACHC;;iBAED;;;AAGV;AAEA,SAASP,WAAW,GAAG"}
@@ -1,26 +1,38 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Checkbox as ComposeCheckbox, Row, Text } from '@expo/ui/jetpack-compose';
3
- import { clickable, testID as testIDModifier } from '@expo/ui/jetpack-compose/modifiers';
3
+ import { defaultMinSize, testID as testIDModifier, toggleable } from '@expo/ui/jetpack-compose/modifiers';
4
+ // Material's minimum touch target.
5
+ const MIN_INTERACTIVE_SIZE = 48;
4
6
  export function Checkbox({ value, onValueChange, label, disabled, testID, modifiers }) {
7
+ const isLabeled = label != null;
5
8
  const checkbox = /*#__PURE__*/ _jsx(ComposeCheckbox, {
6
9
  value: value,
7
- onCheckedChange: disabled ? undefined : onValueChange,
10
+ onCheckedChange: isLabeled ? undefined : onValueChange,
8
11
  enabled: !disabled,
9
12
  modifiers: [
10
13
  ...modifiers ?? [],
14
+ ...isLabeled ? [
15
+ defaultMinSize({
16
+ minWidth: MIN_INTERACTIVE_SIZE,
17
+ minHeight: MIN_INTERACTIVE_SIZE
18
+ })
19
+ ] : [],
11
20
  ...testID ? [
12
21
  testIDModifier(testID)
13
22
  ] : []
14
23
  ]
15
24
  });
16
- if (label == null) return checkbox;
25
+ if (!isLabeled) return checkbox;
17
26
  return /*#__PURE__*/ _jsxs(Row, {
18
27
  verticalAlignment: "center",
19
28
  horizontalArrangement: {
20
29
  spacedBy: 8
21
30
  },
22
31
  modifiers: [
23
- clickable(()=>!disabled && onValueChange(!value))
32
+ toggleable(value, ()=>!disabled && onValueChange(!value), {
33
+ role: 'checkbox',
34
+ enabled: !disabled
35
+ })
24
36
  ],
25
37
  children: [
26
38
  checkbox,
@@ -1 +1 @@
1
- {"version":3,"sources":["universal/Checkbox/index.android.tsx"],"sourcesContent":[null],"names":["Checkbox","ComposeCheckbox","Row","Text","clickable","testID","testIDModifier","value","onValueChange","label","disabled","modifiers","checkbox","onCheckedChange","undefined","enabled","verticalAlignment","horizontalArrangement","spacedBy"],"mappings":";AAAA,SAASA,YAAYC,eAAe,EAAEC,GAAG,EAAEC,IAAI,QAAQ,2BAA2B;AAClF,SAASC,SAAS,EAAEC,UAAUC,cAAc,QAAQ,qCAAqC;AAIzF,OAAO,SAASN,SAAS,EACvBO,KAAK,EACLC,aAAa,EACbC,KAAK,EACLC,QAAQ,EACRL,MAAM,EACNM,SAAS,EACK;IACd,MAAMC,yBACJ,KAACX;QACCM,OAAOA;QACPM,iBAAiBH,WAAWI,YAAYN;QACxCO,SAAS,CAACL;QACVC,WAAW;eAAKA,aAAa,EAAE;eAAON,SAAS;gBAACC,eAAeD;aAAQ,GAAG,EAAE;SAAE;;IAIlF,IAAII,SAAS,MAAM,OAAOG;IAE1B,qBACE,MAACV;QACCc,mBAAkB;QAClBC,uBAAuB;YAAEC,UAAU;QAAE;QACrCP,WAAW;YAACP,UAAU,IAAM,CAACM,YAAYF,cAAc,CAACD;SAAQ;;YAC/DK;0BACD,KAACT;0BAAMM;;;;AAGb;AAEA,cAAc,UAAU"}
1
+ {"version":3,"sources":["universal/Checkbox/index.android.tsx"],"sourcesContent":[null],"names":["Checkbox","ComposeCheckbox","Row","Text","defaultMinSize","testID","testIDModifier","toggleable","MIN_INTERACTIVE_SIZE","value","onValueChange","label","disabled","modifiers","isLabeled","checkbox","onCheckedChange","undefined","enabled","minWidth","minHeight","verticalAlignment","horizontalArrangement","spacedBy","role"],"mappings":";AAAA,SAASA,YAAYC,eAAe,EAAEC,GAAG,EAAEC,IAAI,QAAQ,2BAA2B;AAClF,SACEC,cAAc,EACdC,UAAUC,cAAc,EACxBC,UAAU,QACL,qCAAqC;AAI5C,mCAAmC;AACnC,MAAMC,uBAAuB;AAE7B,OAAO,SAASR,SAAS,EACvBS,KAAK,EACLC,aAAa,EACbC,KAAK,EACLC,QAAQ,EACRP,MAAM,EACNQ,SAAS,EACK;IACd,MAAMC,YAAYH,SAAS;IAC3B,MAAMI,yBACJ,KAACd;QACCQ,OAAOA;QACPO,iBAAiBF,YAAYG,YAAYP;QACzCQ,SAAS,CAACN;QACVC,WAAW;eACLA,aAAa,EAAE;eACfC,YACA;gBAACV,eAAe;oBAAEe,UAAUX;oBAAsBY,WAAWZ;gBAAqB;aAAG,GACrF,EAAE;eACFH,SAAS;gBAACC,eAAeD;aAAQ,GAAG,EAAE;SAC3C;;IAIL,IAAI,CAACS,WAAW,OAAOC;IAEvB,qBACE,MAACb;QACCmB,mBAAkB;QAClBC,uBAAuB;YAAEC,UAAU;QAAE;QACrCV,WAAW;YACTN,WAAWE,OAAO,IAAM,CAACG,YAAYF,cAAc,CAACD,QAAQ;gBAC1De,MAAM;gBACNN,SAAS,CAACN;YACZ;SACD;;YACAG;0BACD,KAACZ;0BAAMQ;;;;AAGb;AAEA,cAAc,UAAU"}