@expo/ui 55.0.0-preview.5 → 55.0.0-preview.6

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 (59) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/android/build.gradle +2 -2
  3. package/build/swift-ui/modifiers/createModifier.d.ts +4 -0
  4. package/build/swift-ui/modifiers/createModifier.d.ts.map +1 -1
  5. package/build/swift-ui/modifiers/index.d.ts +26 -3
  6. package/build/swift-ui/modifiers/index.d.ts.map +1 -1
  7. package/build/swift-ui/modifiers/presentationModifiers.d.ts +12 -5
  8. package/build/swift-ui/modifiers/presentationModifiers.d.ts.map +1 -1
  9. package/expo-module.config.json +1 -1
  10. package/ios/ColorPickerView.swift +10 -8
  11. package/ios/DatePickerView.swift +5 -3
  12. package/ios/DisclosureGroupView.swift +5 -3
  13. package/ios/ListView.swift +6 -3
  14. package/ios/Modifiers/ContentTransitionModifier.swift +35 -0
  15. package/ios/Modifiers/PresentationModifiers.swift +83 -1
  16. package/ios/Modifiers/ViewModifierRegistry.swift +29 -13
  17. package/ios/Picker/PickerView.swift +6 -3
  18. package/ios/Popover/PopoverView.swift +5 -3
  19. package/ios/SectionView.swift +17 -5
  20. package/ios/SliderView.swift +1 -6
  21. package/ios/Toggle/ToggleView.swift +1 -5
  22. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.0-preview.5/expo.modules.ui-55.0.0-preview.5.module → 55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.module} +7 -7
  23. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.module.md5 +1 -0
  24. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.module.sha1 +1 -0
  25. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.module.sha256 +1 -0
  26. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.module.sha512 +1 -0
  27. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.0-preview.5/expo.modules.ui-55.0.0-preview.5.pom → 55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.pom} +1 -1
  28. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.pom.md5 +1 -0
  29. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.pom.sha1 +1 -0
  30. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.pom.sha256 +1 -0
  31. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.pom.sha512 +1 -0
  32. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml +4 -4
  33. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.md5 +1 -1
  34. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha1 +1 -1
  35. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha256 +1 -1
  36. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha512 +1 -1
  37. package/package.json +2 -2
  38. package/src/swift-ui/Text/index.tsx +1 -1
  39. package/src/swift-ui/modifiers/createModifier.ts +11 -0
  40. package/src/swift-ui/modifiers/index.ts +37 -16
  41. package/src/swift-ui/modifiers/presentationModifiers.ts +31 -4
  42. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.5/expo.modules.ui-55.0.0-preview.5.module.md5 +0 -1
  43. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.5/expo.modules.ui-55.0.0-preview.5.module.sha1 +0 -1
  44. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.5/expo.modules.ui-55.0.0-preview.5.module.sha256 +0 -1
  45. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.5/expo.modules.ui-55.0.0-preview.5.module.sha512 +0 -1
  46. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.5/expo.modules.ui-55.0.0-preview.5.pom.md5 +0 -1
  47. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.5/expo.modules.ui-55.0.0-preview.5.pom.sha1 +0 -1
  48. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.5/expo.modules.ui-55.0.0-preview.5.pom.sha256 +0 -1
  49. package/local-maven-repo/expo/modules/ui/expo.modules.ui/55.0.0-preview.5/expo.modules.ui-55.0.0-preview.5.pom.sha512 +0 -1
  50. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.0-preview.5/expo.modules.ui-55.0.0-preview.5-sources.jar → 55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6-sources.jar} +0 -0
  51. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.0-preview.5/expo.modules.ui-55.0.0-preview.5-sources.jar.md5 → 55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6-sources.jar.md5} +0 -0
  52. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.0-preview.5/expo.modules.ui-55.0.0-preview.5-sources.jar.sha1 → 55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6-sources.jar.sha1} +0 -0
  53. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.0-preview.5/expo.modules.ui-55.0.0-preview.5-sources.jar.sha256 → 55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6-sources.jar.sha256} +0 -0
  54. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.0-preview.5/expo.modules.ui-55.0.0-preview.5-sources.jar.sha512 → 55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6-sources.jar.sha512} +0 -0
  55. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.0-preview.5/expo.modules.ui-55.0.0-preview.5.aar → 55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.aar} +0 -0
  56. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.0-preview.5/expo.modules.ui-55.0.0-preview.5.aar.md5 → 55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.aar.md5} +0 -0
  57. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.0-preview.5/expo.modules.ui-55.0.0-preview.5.aar.sha1 → 55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.aar.sha1} +0 -0
  58. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.0-preview.5/expo.modules.ui-55.0.0-preview.5.aar.sha256 → 55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.aar.sha256} +0 -0
  59. /package/local-maven-repo/expo/modules/ui/expo.modules.ui/{55.0.0-preview.5/expo.modules.ui-55.0.0-preview.5.aar.sha512 → 55.0.0-preview.6/expo.modules.ui-55.0.0-preview.6.aar.sha512} +0 -0
package/CHANGELOG.md CHANGED
@@ -10,11 +10,26 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 55.0.0-preview.6 — 2026-02-16
14
+
15
+ ### 🎉 New features
16
+
17
+ - [iOS] - Support `Section` `footer` prop with `title` prop. ([#42966](https://github.com/expo/expo/pull/42966) by [@nishan](https://github.com/intergalacticspacehighway))
18
+ - [iOS] Added `contentTransition` modifier. ([#42980](https://github.com/expo/expo/pull/42980) by [@nishan](https://github.com/intergalacticspacehighway))
19
+ - [iOS] Added `selection` and `onSelectionChange` to `presentationDetents` modifier for programmatic control of bottom sheet detents. ([#42910](https://github.com/expo/expo/pull/42910) by [@nishan](https://github.com/intergalacticspacehighway))
20
+
21
+ ### 🐛 Bug fixes
22
+
23
+ - [iOS] Fix `clipShape` and `mask` modifiers silently falling through to `Rectangle()` for `capsule` and `ellipse` shapes. ([#43158](https://github.com/expo/expo/pull/43158) by [@ramonclaudio](https://github.com/ramonclaudio))
24
+ - [iOS] Fix rendering `0` in SwiftUI Text. ([#43036](https://github.com/expo/expo/pull/43036) by [@jakex7](https://github.com/jakex7))
25
+ - [iOS] Set initial state in `init` instead of `onAppear` in `DatePicker`, `Section`, `DisclosureGroup`, `Popover`, and `ColorPicker` components. ([#42933](https://github.com/expo/expo/pull/42933) by [@nishan](https://github.com/intergalacticspacehighway))
26
+
13
27
  ## 55.0.0-preview.5 — 2026-02-08
14
28
 
15
29
  ### 🐛 Bug fixes
16
30
 
17
31
  - [iOS] Fixed missing dependency on RCTFabric in ExpoUI podspec. ([#42901](https://github.com/expo/expo/pull/42901) by [@chrfalch](https://github.com/chrfalch))
32
+ - [iOS] Fix initial state not being set in `Picker`, `Slider`, `Toggle`, and `List` components. ([#42933](https://github.com/expo/expo/pull/42933) by [@nishan](https://github.com/intergalacticspacehighway))
18
33
 
19
34
  ## 55.0.0-preview.4 — 2026-02-03
20
35
 
@@ -12,13 +12,13 @@ apply plugin: 'expo-module-gradle-plugin'
12
12
  apply plugin: 'org.jetbrains.kotlin.plugin.compose'
13
13
 
14
14
  group = 'expo.modules.ui'
15
- version = '55.0.0-preview.5'
15
+ version = '55.0.0-preview.6'
16
16
 
17
17
  android {
18
18
  namespace "expo.modules.ui"
19
19
  defaultConfig {
20
20
  versionCode 1
21
- versionName "55.0.0-preview.5"
21
+ versionName "55.0.0-preview.6"
22
22
  }
23
23
  buildFeatures {
24
24
  compose true
@@ -25,4 +25,8 @@ export interface ModifierConfig {
25
25
  * ```
26
26
  */
27
27
  export declare function createModifier(type: string, params?: Record<string, any>): ModifierConfig;
28
+ /**
29
+ * Creates a modifier with an event listener.
30
+ */
31
+ export declare function createModifierWithEventListener(type: string, eventListener: (args: any) => void, params?: Record<string, any>): ModifierConfig;
28
32
  //# sourceMappingURL=createModifier.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createModifier.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/modifiers/createModifier.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,cAAc,CAE7F"}
1
+ {"version":3,"file":"createModifier.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/modifiers/createModifier.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,cAAc,CAE7F;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,EAClC,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAC/B,cAAc,CAEhB"}
@@ -147,7 +147,7 @@ export declare const opacity: (value: number) => ModifierConfig;
147
147
  * @param cornerRadius - Corner radius for rounded rectangle (default: 8)
148
148
  * @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/clipshape(_:style:)).
149
149
  */
150
- export declare const clipShape: (shape: "rectangle" | "circle" | "roundedRectangle", cornerRadius?: number) => ModifierConfig;
150
+ export declare const clipShape: (shape: "rectangle" | "circle" | "capsule" | "ellipse" | "roundedRectangle", cornerRadius?: number) => ModifierConfig;
151
151
  /**
152
152
  * Adds a border to a view.
153
153
  * @param params - The border parameters. Color and width.
@@ -484,7 +484,7 @@ export declare const layoutPriority: (priority: number) => ModifierConfig;
484
484
  * @param cornerRadius - Corner radius for rounded rectangle (default: `8`).
485
485
  * @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/mask(_:)).
486
486
  */
487
- export declare const mask: (shape: "rectangle" | "circle" | "roundedRectangle", cornerRadius?: number) => ModifierConfig;
487
+ export declare const mask: (shape: "rectangle" | "circle" | "capsule" | "ellipse" | "roundedRectangle", cornerRadius?: number) => ModifierConfig;
488
488
  /**
489
489
  * Overlays another view on top.
490
490
  * @param params - Overlay color and alignment.
@@ -766,6 +766,29 @@ export declare const gridCellAnchor: (anchor: {
766
766
  * ```
767
767
  */
768
768
  export declare const submitLabel: (submitLabel: "continue" | "done" | "go" | "join" | "next" | "return" | "route" | "search" | "send") => ModifierConfig;
769
+ /**
770
+ * Sets the content transition type for a view.
771
+ * Useful for animating changes in text content, especially numeric text.
772
+ * Use with the [`animation`](#animationanimationobject-animatedvalue) modifier to animate the transition when the content changes.
773
+ *
774
+ * @param transitionType - The type of content transition.
775
+ * @param params - Optional parameters.
776
+ * @param params.countsDown - Whether the numeric text counts down.
777
+ *
778
+ * @example
779
+ * ```tsx
780
+ * <Text modifiers={[contentTransition('numericText'), animation(Animation.default, count)]}>
781
+ * {count.toString()}
782
+ * </Text>
783
+ * ```
784
+ *
785
+ * @platform ios 16.0+
786
+ * @platform tvos 16.0+
787
+ * @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/contenttransition(_:)).
788
+ */
789
+ export declare const contentTransition: (transitionType: "numericText" | "identity" | "opacity" | "interpolate", params?: {
790
+ countsDown?: boolean;
791
+ }) => ModifierConfig;
769
792
  export type ListStyle = 'automatic' | 'plain' | 'inset' | 'insetGrouped' | 'grouped' | 'sidebar';
770
793
  /**
771
794
  * Sets the style for a List view.
@@ -778,7 +801,7 @@ export declare const listStyle: (style: ListStyle) => ModifierConfig;
778
801
  * This provides type safety for the modifiers array.
779
802
  * @hidden
780
803
  */
781
- export type BuiltInModifier = ReturnType<typeof listSectionSpacing> | ReturnType<typeof background> | ReturnType<typeof cornerRadius> | ReturnType<typeof shadow> | ReturnType<typeof frame> | ReturnType<typeof padding> | ReturnType<typeof fixedSize> | ReturnType<typeof ignoreSafeArea> | ReturnType<typeof onTapGesture> | ReturnType<typeof onLongPressGesture> | ReturnType<typeof onAppear> | ReturnType<typeof onDisappear> | ReturnType<typeof opacity> | ReturnType<typeof clipShape> | ReturnType<typeof border> | ReturnType<typeof scaleEffect> | ReturnType<typeof rotationEffect> | ReturnType<typeof offset> | ReturnType<typeof foregroundColor> | ReturnType<typeof foregroundStyle> | ReturnType<typeof bold> | ReturnType<typeof italic> | ReturnType<typeof tint> | ReturnType<typeof hidden> | ReturnType<typeof disabled> | ReturnType<typeof zIndex> | ReturnType<typeof blur> | ReturnType<typeof brightness> | ReturnType<typeof contrast> | ReturnType<typeof saturation> | ReturnType<typeof hueRotation> | ReturnType<typeof colorInvert> | ReturnType<typeof grayscale> | ReturnType<typeof buttonStyle> | ReturnType<typeof toggleStyle> | ReturnType<typeof controlSize> | ReturnType<typeof labelStyle> | ReturnType<typeof labelsHidden> | ReturnType<typeof textFieldStyle> | ReturnType<typeof menuActionDismissBehavior> | ReturnType<typeof accessibilityLabel> | ReturnType<typeof accessibilityHint> | ReturnType<typeof accessibilityValue> | ReturnType<typeof layoutPriority> | ReturnType<typeof mask> | ReturnType<typeof overlay> | ReturnType<typeof backgroundOverlay> | ReturnType<typeof aspectRatio> | ReturnType<typeof clipped> | ReturnType<typeof glassEffect> | ReturnType<typeof glassEffectId> | ReturnType<typeof animation> | ReturnType<typeof containerShape> | ReturnType<typeof contentShape> | ReturnType<typeof containerRelativeFrame> | ReturnType<typeof scrollContentBackground> | ReturnType<typeof scrollDisabled> | ReturnType<typeof moveDisabled> | ReturnType<typeof deleteDisabled> | ReturnType<typeof environment> | ReturnType<typeof listRowBackground> | ReturnType<typeof listRowSeparator> | ReturnType<typeof truncationMode> | ReturnType<typeof allowsTightening> | ReturnType<typeof kerning> | ReturnType<typeof textCase> | ReturnType<typeof underline> | ReturnType<typeof strikethrough> | ReturnType<typeof multilineTextAlignment> | ReturnType<typeof textSelection> | ReturnType<typeof lineSpacing> | ReturnType<typeof lineLimit> | ReturnType<typeof headerProminence> | ReturnType<typeof listRowInsets> | ReturnType<typeof badgeProminence> | ReturnType<typeof badge> | ReturnType<typeof listSectionMargins> | ReturnType<typeof font> | ReturnType<typeof gridCellUnsizedAxes> | ReturnType<typeof gridCellColumns> | ReturnType<typeof gridColumnAlignment> | ReturnType<typeof gridCellAnchor> | ReturnType<typeof submitLabel> | ReturnType<typeof datePickerStyle> | ReturnType<typeof progressViewStyle> | ReturnType<typeof gaugeStyle> | ReturnType<typeof listStyle>;
804
+ export type BuiltInModifier = ReturnType<typeof listSectionSpacing> | ReturnType<typeof background> | ReturnType<typeof cornerRadius> | ReturnType<typeof shadow> | ReturnType<typeof frame> | ReturnType<typeof padding> | ReturnType<typeof fixedSize> | ReturnType<typeof ignoreSafeArea> | ReturnType<typeof onTapGesture> | ReturnType<typeof onLongPressGesture> | ReturnType<typeof onAppear> | ReturnType<typeof onDisappear> | ReturnType<typeof opacity> | ReturnType<typeof clipShape> | ReturnType<typeof border> | ReturnType<typeof scaleEffect> | ReturnType<typeof rotationEffect> | ReturnType<typeof offset> | ReturnType<typeof foregroundColor> | ReturnType<typeof foregroundStyle> | ReturnType<typeof bold> | ReturnType<typeof italic> | ReturnType<typeof tint> | ReturnType<typeof hidden> | ReturnType<typeof disabled> | ReturnType<typeof zIndex> | ReturnType<typeof blur> | ReturnType<typeof brightness> | ReturnType<typeof contrast> | ReturnType<typeof saturation> | ReturnType<typeof hueRotation> | ReturnType<typeof colorInvert> | ReturnType<typeof grayscale> | ReturnType<typeof buttonStyle> | ReturnType<typeof toggleStyle> | ReturnType<typeof controlSize> | ReturnType<typeof labelStyle> | ReturnType<typeof labelsHidden> | ReturnType<typeof textFieldStyle> | ReturnType<typeof menuActionDismissBehavior> | ReturnType<typeof accessibilityLabel> | ReturnType<typeof accessibilityHint> | ReturnType<typeof accessibilityValue> | ReturnType<typeof layoutPriority> | ReturnType<typeof mask> | ReturnType<typeof overlay> | ReturnType<typeof backgroundOverlay> | ReturnType<typeof aspectRatio> | ReturnType<typeof clipped> | ReturnType<typeof glassEffect> | ReturnType<typeof glassEffectId> | ReturnType<typeof animation> | ReturnType<typeof containerShape> | ReturnType<typeof contentShape> | ReturnType<typeof containerRelativeFrame> | ReturnType<typeof scrollContentBackground> | ReturnType<typeof scrollDisabled> | ReturnType<typeof moveDisabled> | ReturnType<typeof deleteDisabled> | ReturnType<typeof environment> | ReturnType<typeof listRowBackground> | ReturnType<typeof listRowSeparator> | ReturnType<typeof truncationMode> | ReturnType<typeof allowsTightening> | ReturnType<typeof kerning> | ReturnType<typeof textCase> | ReturnType<typeof underline> | ReturnType<typeof strikethrough> | ReturnType<typeof multilineTextAlignment> | ReturnType<typeof textSelection> | ReturnType<typeof lineSpacing> | ReturnType<typeof lineLimit> | ReturnType<typeof headerProminence> | ReturnType<typeof listRowInsets> | ReturnType<typeof badgeProminence> | ReturnType<typeof badge> | ReturnType<typeof listSectionMargins> | ReturnType<typeof font> | ReturnType<typeof gridCellUnsizedAxes> | ReturnType<typeof gridCellColumns> | ReturnType<typeof gridColumnAlignment> | ReturnType<typeof gridCellAnchor> | ReturnType<typeof submitLabel> | ReturnType<typeof datePickerStyle> | ReturnType<typeof progressViewStyle> | ReturnType<typeof gaugeStyle> | ReturnType<typeof listStyle> | ReturnType<typeof contentTransition>;
782
805
  /**
783
806
  * Main ViewModifier type that supports both built-in and 3rd party modifiers.
784
807
  * 3rd party modifiers should return ModifierConfig objects with their own type strings.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/modifiers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAkB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAmBrC;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,SAAS,SAAS,GAAG,SAAS,GAAG,MAAM,mBASzE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,mBAA+C,CAAC;AAE3F;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,QAAQ;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,mBACtD,CAAC;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,IAAI,MAAM,EAAE,aAAa,MAAM,mBACP,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,KAAK,GAAI,QAAQ;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EACN,QAAQ,GACR,SAAS,GACT,UAAU,GACV,KAAK,GACL,QAAQ,GACR,YAAY,GACZ,aAAa,GACb,eAAe,GACf,gBAAgB,CAAC;CACtB,mBAAoC,CAAC;AAEtC;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ;IAC7C,IAAI,EAAE,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EACN,QAAQ,GACR,SAAS,GACT,UAAU,GACV,KAAK,GACL,QAAQ,GACR,YAAY,GACZ,aAAa,GACb,eAAe,GACf,gBAAgB,CAAC;CACtB,mBAAqD,CAAC;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,SAAS;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,mBAAsC,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,mBAC1C,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS;IACtC,OAAO,CAAC,EAAE,KAAK,GAAG,WAAW,GAAG,UAAU,CAAC;IAC3C,KAAK,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,CAAC;CACvF,mBAA6C,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,IAAI,mBACU,CAAC;AAE3D;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,IAAI,EAAE,kBAAkB,MAAM,mBAG5E,CAAC;AAEL;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,SAAS,MAAM,IAAI,mBACU,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,IAAI,mBACU,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,OAAO,CAAC,IAAI,CAAC,mBAOpD,CAAC;AAKL;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,mBAAyC,CAAC;AAE/E;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GACpB,OAAO,WAAW,GAAG,QAAQ,GAAG,kBAAkB,EAClD,eAAe,MAAM,mBACkC,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,QAAQ;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,mBAC7B,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,mBAA6C,CAAC;AAEvF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,mBAAgD,CAAC;AAE7F;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,QAAQ;IAAE,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,mBAAqC,CAAC;AAE/F;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,KAAK,mBAAiD,CAAC;AAE9F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiFG;AACH,eAAO,MAAM,eAAe,GAC1B,OACI,MAAM,GACN;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;CACxE,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACpC,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClC,mBAMN,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,IAAI,sBAAmC,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,MAAM,sBAAqC,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,IAAI,GAAI,OAAO,KAAK,mBAAsC,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,SAAQ,OAAc,mBAAyC,CAAC;AAEvF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,WAAU,OAAc,mBAA6C,CAAC;AAE/F;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,OAAO,MAAM,mBAAwC,CAAC;AAE7E;;;;GAIG;AACH,eAAO,MAAM,IAAI,GAAI,QAAQ,MAAM,mBAAuC,CAAC;AAE3E;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,mBAA6C,CAAC;AAEvF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,QAAQ,MAAM,mBAA2C,CAAC;AAEnF;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,mBAA6C,CAAC;AAEvF;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,mBAA6C,CAAC;AAEvF;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,WAAU,OAAc,mBACP,CAAC;AAE9C;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,mBAA4C,CAAC;AAErF;;;;GAIG;AACH,eAAO,MAAM,WAAW,GACtB,OACI,WAAW,GACX,UAAU,GACV,mBAAmB,GACnB,YAAY,GACZ,OAAO,GACP,gBAAgB,GAChB,OAAO,mBACgC,CAAC;AAE9C;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,WAAW,GAAG,QAAQ,GAAG,QAAQ,mBAC1B,CAAC;AAE3C;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,YAAY,mBAC9C,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,WAAW,mBAChD,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,YAAY,sBAA2C,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,WAAW,GAAG,OAAO,GAAG,eAAe,mBAChC,CAAC;AAE9C;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAClC,MAAM,WAAW,GAAG,OAAO,GAAG,eAAe,GAAG,aAAa,mBACP,CAAC;AAEzD;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,WAAU,OAAc,mBACP,CAAC;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,WAAU,OAAc,mBACP,CAAC;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,WAAU,OAAc,mBACP,CAAC;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,GAAI,UAAU,WAAW,GAAG,UAAU,GAAG,SAAS,mBAC7B,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,mBACC,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,mBAAkD,CAAC;AAEjG;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,mBACC,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,mBAAmD,CAAC;AAEnG;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GAAI,OAAO,WAAW,GAAG,QAAQ,GAAG,kBAAkB,EAAE,eAAe,MAAM,mBAC7C,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,QAAQ;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;CAClE,mBAAsC,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ;IACxC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;CAClE,mBAAgD,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;CAAE,mBAC5C,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,UAAS,OAAc,mBAA2C,CAAC;AAE3F;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS;IACnC,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;QAC1C,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,IAAI,CAAC,EAAE,KAAK,CAAC;KACd,CAAC;IACF,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,kBAAkB,CAAC;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,mBAA0C,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,IAAI,MAAM,EAAE,aAAa,MAAM,mBAIzD,CAAC;AAEL;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAI,SAAS,WAAW,GAAG,SAAS,GAAG,QAAQ,mBAC3B,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,KAAK,mBAAmD,CAAC;AAElG;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,YAAY,WAAW,GAAG,SAAS,GAAG,QAAQ,EAC9C,QAAQ,KAAK,GAAG,KAAK,GAAG,QAAQ,mBAC4B,CAAC;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,GAAG,QAAQ,GAAG,MAAM,mBACnB,CAAC;AAC7C;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,OAAO,mBAAkD,CAAC;AAClG;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,QAAQ,MAAM,mBAAyC,CAAC;AAChF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,WAAW,GAAG,WAAW,mBAA0C,CAAC;AAEpG,KAAK,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,YAAY,CAAC;AAEvE;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,mBACvD,CAAC;AACtC;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,mBACvD,CAAC;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GAAI,WAAW,QAAQ,GAAG,SAAS,GAAG,UAAU,mBAC1B,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,mBAA+C,CAAC;AAC5F;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,mBAA6C,CAAC;AACvF;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,mBAA2C,CAAC;AACpF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,YAAY,UAAU,GAAG,WAAW,mBACjB,CAAC;AACrD;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,mBAA4C,CAAC;AAC9C;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,WAAW,UAAU,GAAG,WAAW,GAAG,WAAW,mBAC/B,CAAC;AACnD;;;;GAIG;AACH,eAAO,MAAM,KAAK,GAAI,QAAQ,MAAM,mBAAuC,CAAC;AAC5E;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,SAAS;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,CAAC;CACvF,mBAAiD,CAAC;AAEnD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,IAAI,GAAI,QAAQ;IAC3B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,MAAM,CAAC,EACH,YAAY,GACZ,MAAM,GACN,OAAO,GACP,SAAS,GACT,QAAQ,GACR,UAAU,GACV,MAAM,GACN,OAAO,GACP,OAAO,CAAC;IACZ,mCAAmC;IACnC,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,YAAY,CAAC;CACzD,mBAAmC,CAAC;AACrC;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,YAAY,GAAG,UAAU,mBACnB,CAAC;AAClD;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,mBAAiD,CAAC;AAChG;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,YAAY,SAAS,GAAG,QAAQ,GAAG,UAAU,mBAC3B,CAAC;AACvD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,cAAc,GACzB,QACI;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EACF,MAAM,GACN,SAAS,GACT,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,KAAK,GACL,aAAa,GACb,eAAe,GACf,QAAQ,GACR,gBAAgB,CAAC;CACtB,GACD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,mBACb,CAAC;AAC9C;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW,GACtB,aAAa,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,mBACjD,CAAC;AAEpD,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,cAAc,GAAG,SAAS,GAAG,SAAS,CAAC;AACjG;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,SAAS,mBAA2C,CAAC;AAMtF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACvB,UAAU,CAAC,OAAO,kBAAkB,CAAC,GACrC,UAAU,CAAC,OAAO,UAAU,CAAC,GAC7B,UAAU,CAAC,OAAO,YAAY,CAAC,GAC/B,UAAU,CAAC,OAAO,MAAM,CAAC,GACzB,UAAU,CAAC,OAAO,KAAK,CAAC,GACxB,UAAU,CAAC,OAAO,OAAO,CAAC,GAC1B,UAAU,CAAC,OAAO,SAAS,CAAC,GAC5B,UAAU,CAAC,OAAO,cAAc,CAAC,GACjC,UAAU,CAAC,OAAO,YAAY,CAAC,GAC/B,UAAU,CAAC,OAAO,kBAAkB,CAAC,GACrC,UAAU,CAAC,OAAO,QAAQ,CAAC,GAC3B,UAAU,CAAC,OAAO,WAAW,CAAC,GAC9B,UAAU,CAAC,OAAO,OAAO,CAAC,GAC1B,UAAU,CAAC,OAAO,SAAS,CAAC,GAC5B,UAAU,CAAC,OAAO,MAAM,CAAC,GACzB,UAAU,CAAC,OAAO,WAAW,CAAC,GAC9B,UAAU,CAAC,OAAO,cAAc,CAAC,GACjC,UAAU,CAAC,OAAO,MAAM,CAAC,GACzB,UAAU,CAAC,OAAO,eAAe,CAAC,GAClC,UAAU,CAAC,OAAO,eAAe,CAAC,GAClC,UAAU,CAAC,OAAO,IAAI,CAAC,GACvB,UAAU,CAAC,OAAO,MAAM,CAAC,GACzB,UAAU,CAAC,OAAO,IAAI,CAAC,GACvB,UAAU,CAAC,OAAO,MAAM,CAAC,GACzB,UAAU,CAAC,OAAO,QAAQ,CAAC,GAC3B,UAAU,CAAC,OAAO,MAAM,CAAC,GACzB,UAAU,CAAC,OAAO,IAAI,CAAC,GACvB,UAAU,CAAC,OAAO,UAAU,CAAC,GAC7B,UAAU,CAAC,OAAO,QAAQ,CAAC,GAC3B,UAAU,CAAC,OAAO,UAAU,CAAC,GAC7B,UAAU,CAAC,OAAO,WAAW,CAAC,GAC9B,UAAU,CAAC,OAAO,WAAW,CAAC,GAC9B,UAAU,CAAC,OAAO,SAAS,CAAC,GAC5B,UAAU,CAAC,OAAO,WAAW,CAAC,GAC9B,UAAU,CAAC,OAAO,WAAW,CAAC,GAC9B,UAAU,CAAC,OAAO,WAAW,CAAC,GAC9B,UAAU,CAAC,OAAO,UAAU,CAAC,GAC7B,UAAU,CAAC,OAAO,YAAY,CAAC,GAC/B,UAAU,CAAC,OAAO,cAAc,CAAC,GACjC,UAAU,CAAC,OAAO,yBAAyB,CAAC,GAC5C,UAAU,CAAC,OAAO,kBAAkB,CAAC,GACrC,UAAU,CAAC,OAAO,iBAAiB,CAAC,GACpC,UAAU,CAAC,OAAO,kBAAkB,CAAC,GACrC,UAAU,CAAC,OAAO,cAAc,CAAC,GACjC,UAAU,CAAC,OAAO,IAAI,CAAC,GACvB,UAAU,CAAC,OAAO,OAAO,CAAC,GAC1B,UAAU,CAAC,OAAO,iBAAiB,CAAC,GACpC,UAAU,CAAC,OAAO,WAAW,CAAC,GAC9B,UAAU,CAAC,OAAO,OAAO,CAAC,GAC1B,UAAU,CAAC,OAAO,WAAW,CAAC,GAC9B,UAAU,CAAC,OAAO,aAAa,CAAC,GAChC,UAAU,CAAC,OAAO,SAAS,CAAC,GAC5B,UAAU,CAAC,OAAO,cAAc,CAAC,GACjC,UAAU,CAAC,OAAO,YAAY,CAAC,GAC/B,UAAU,CAAC,OAAO,sBAAsB,CAAC,GACzC,UAAU,CAAC,OAAO,uBAAuB,CAAC,GAC1C,UAAU,CAAC,OAAO,cAAc,CAAC,GACjC,UAAU,CAAC,OAAO,YAAY,CAAC,GAC/B,UAAU,CAAC,OAAO,cAAc,CAAC,GACjC,UAAU,CAAC,OAAO,WAAW,CAAC,GAC9B,UAAU,CAAC,OAAO,iBAAiB,CAAC,GACpC,UAAU,CAAC,OAAO,gBAAgB,CAAC,GACnC,UAAU,CAAC,OAAO,cAAc,CAAC,GACjC,UAAU,CAAC,OAAO,gBAAgB,CAAC,GACnC,UAAU,CAAC,OAAO,OAAO,CAAC,GAC1B,UAAU,CAAC,OAAO,QAAQ,CAAC,GAC3B,UAAU,CAAC,OAAO,SAAS,CAAC,GAC5B,UAAU,CAAC,OAAO,aAAa,CAAC,GAChC,UAAU,CAAC,OAAO,sBAAsB,CAAC,GACzC,UAAU,CAAC,OAAO,aAAa,CAAC,GAChC,UAAU,CAAC,OAAO,WAAW,CAAC,GAC9B,UAAU,CAAC,OAAO,SAAS,CAAC,GAC5B,UAAU,CAAC,OAAO,gBAAgB,CAAC,GACnC,UAAU,CAAC,OAAO,aAAa,CAAC,GAChC,UAAU,CAAC,OAAO,eAAe,CAAC,GAClC,UAAU,CAAC,OAAO,KAAK,CAAC,GACxB,UAAU,CAAC,OAAO,kBAAkB,CAAC,GACrC,UAAU,CAAC,OAAO,IAAI,CAAC,GACvB,UAAU,CAAC,OAAO,mBAAmB,CAAC,GACtC,UAAU,CAAC,OAAO,eAAe,CAAC,GAClC,UAAU,CAAC,OAAO,mBAAmB,CAAC,GACtC,UAAU,CAAC,OAAO,cAAc,CAAC,GACjC,UAAU,CAAC,OAAO,WAAW,CAAC,GAC9B,UAAU,CAAC,OAAO,eAAe,CAAC,GAClC,UAAU,CAAC,OAAO,iBAAiB,CAAC,GACpC,UAAU,CAAC,OAAO,UAAU,CAAC,GAC7B,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAEjC;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,cAAc,CAAC;AAM5D,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,GAAG,KAAG,KAAK,IAAI,cAEhD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,WAAW,OAAO,EAAE,KAAG,cAAc,EAEpE,CAAC;AAEF,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,mBAAmB,SAAS,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,kCAAkC,EAClC,sBAAsB,GACvB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/modifiers/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type ModifierConfig } from './createModifier';
1
2
  /**
2
3
  * Presentation detent type for controlling sheet heights.
3
4
  * - `'medium'`: System medium height (approximately half screen)
@@ -13,11 +14,17 @@ export type PresentationDetent = 'medium' | 'large' | {
13
14
  /**
14
15
  * Sets the available heights for a sheet presentation.
15
16
  * @param detents - Array of detents the sheet can snap to.
17
+ * @param options - Optional settings for tracking the selected detent.
18
+ * @param options.selection - The currently selected detent.
19
+ * @param options.onSelectionChange - Callback fired when the user changes the active detent by dragging.
16
20
  * @platform ios 16.0+
17
21
  * @platform tvos 16.0+
18
- * @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/presentationdetents(_:)).
22
+ * @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/presentationdetents(_:selection:)).
19
23
  */
20
- export declare const presentationDetents: (detents: PresentationDetent[]) => import("./createModifier").ModifierConfig;
24
+ export declare const presentationDetents: (detents: PresentationDetent[], options?: {
25
+ selection?: PresentationDetent;
26
+ onSelectionChange?: (detent: PresentationDetent) => void;
27
+ }) => ModifierConfig;
21
28
  /**
22
29
  * Controls the visibility of the drag indicator on a sheet.
23
30
  * @param visibility - The visibility of the drag indicator.
@@ -25,7 +32,7 @@ export declare const presentationDetents: (detents: PresentationDetent[]) => imp
25
32
  * @platform tvos 16.0+
26
33
  * @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/presentationdragindicator(_:)).
27
34
  */
28
- export declare const presentationDragIndicator: (visibility: "automatic" | "visible" | "hidden") => import("./createModifier").ModifierConfig;
35
+ export declare const presentationDragIndicator: (visibility: "automatic" | "visible" | "hidden") => ModifierConfig;
29
36
  /**
30
37
  * Presentation background interaction type.
31
38
  */
@@ -40,11 +47,11 @@ export type PresentationBackgroundInteractionType = 'automatic' | 'enabled' | 'd
40
47
  * @platform tvos 16.4+
41
48
  * @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/presentationbackgroundinteraction(_:)).
42
49
  */
43
- export declare const presentationBackgroundInteraction: (interaction: PresentationBackgroundInteractionType) => import("./createModifier").ModifierConfig;
50
+ export declare const presentationBackgroundInteraction: (interaction: PresentationBackgroundInteractionType) => ModifierConfig;
44
51
  /**
45
52
  * Disables interactive dismissal of a sheet.
46
53
  * @param isDisabled - Whether interactive dismiss is disabled (default: true).
47
54
  * @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/interactivedismissdisabled(_:)).
48
55
  */
49
- export declare const interactiveDismissDisabled: (isDisabled?: boolean) => import("./createModifier").ModifierConfig;
56
+ export declare const interactiveDismissDisabled: (isDisabled?: boolean) => ModifierConfig;
50
57
  //# sourceMappingURL=presentationModifiers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"presentationModifiers.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/modifiers/presentationModifiers.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,OAAO,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhG;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,SAAS,kBAAkB,EAAE,8CACb,CAAC;AAErD;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,GAAI,YAAY,WAAW,GAAG,SAAS,GAAG,QAAQ,8CAC3B,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,qCAAqC,GAC7C,WAAW,GACX,SAAS,GACT,UAAU,GACV;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAE7D;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,GAC5C,aAAa,qCAAqC,8CASnD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GAAI,aAAY,OAAc,8CACP,CAAC"}
1
+ {"version":3,"file":"presentationModifiers.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/modifiers/presentationModifiers.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAE1B;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,OAAO,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhG;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,kBAAkB,EAAE,EAC7B,UAAU;IACR,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAC1D,KACA,cAeF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,GAAI,YAAY,WAAW,GAAG,SAAS,GAAG,QAAQ,mBAC3B,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,qCAAqC,GAC7C,WAAW,GACX,SAAS,GACT,UAAU,GACV;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAE7D;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,GAC5C,aAAa,qCAAqC,mBASnD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GAAI,aAAY,OAAc,mBACP,CAAC"}
@@ -9,7 +9,7 @@
9
9
  "publication": {
10
10
  "groupId": "expo.modules.ui",
11
11
  "artifactId": "expo.modules.ui",
12
- "version": "55.0.0-preview.5",
12
+ "version": "55.0.0-preview.6",
13
13
  "repository": "local-maven-repo"
14
14
  }
15
15
  }
@@ -15,15 +15,17 @@ struct ColorPickerView: ExpoSwiftUI.View {
15
15
  @State private var previousHex: String = ""
16
16
  @State private var selection: Color = .clear
17
17
 
18
+ init(props: ColorPickerProps) {
19
+ self.props = props
20
+ _selection = State(initialValue: props.selection)
21
+ _previousHex = State(initialValue: Self.colorToHex(props.selection, supportsOpacity: props.supportsOpacity))
22
+ }
23
+
18
24
  var body: some View {
19
25
  #if !os(tvOS)
20
26
  ColorPicker(props.label ?? "", selection: $selection, supportsOpacity: props.supportsOpacity)
21
- .onAppear {
22
- selection = props.selection
23
- previousHex = colorToHex(props.selection)
24
- }
25
27
  .onChange(of: selection) { newValue in
26
- let newHex = colorToHex(newValue)
28
+ let newHex = Self.colorToHex(newValue, supportsOpacity: props.supportsOpacity)
27
29
  if newHex != previousHex {
28
30
  previousHex = newHex
29
31
  let payload = ["value": newHex]
@@ -35,7 +37,7 @@ struct ColorPickerView: ExpoSwiftUI.View {
35
37
  #endif
36
38
  }
37
39
 
38
- private func colorToHex(_ color: Color) -> String {
40
+ private static func colorToHex(_ color: Color, supportsOpacity: Bool) -> String {
39
41
  let newColor = UIColor(color)
40
42
  guard let components = newColor.cgColor.components else {
41
43
  return ""
@@ -48,7 +50,7 @@ struct ColorPickerView: ExpoSwiftUI.View {
48
50
  newColor.cgColor.alpha
49
51
  ].map { Int(max(0, min(255, $0 * 255))) }
50
52
 
51
- let format = props.supportsOpacity ? "#%02X%02X%02X%02X" : "#%02X%02X%02X"
52
- return String(format: format, rgba[0], rgba[1], rgba[2], props.supportsOpacity ? rgba[3] : 255)
53
+ let format = supportsOpacity ? "#%02X%02X%02X%02X" : "#%02X%02X%02X"
54
+ return String(format: format, rgba[0], rgba[1], rgba[2], supportsOpacity ? rgba[3] : 255)
53
55
  }
54
56
  }
@@ -5,14 +5,16 @@ internal struct DatePickerView: ExpoSwiftUI.View {
5
5
  @ObservedObject var props: DatePickerProps
6
6
  @State private var date = Date()
7
7
 
8
+ init(props: DatePickerProps) {
9
+ self.props = props
10
+ _date = State(initialValue: props.selection ?? Date())
11
+ }
12
+
8
13
  var body: some View {
9
14
  #if os(tvOS)
10
15
  Text("DatePicker is not supported on tvOS")
11
16
  #else
12
17
  createDatePicker()
13
- .onAppear {
14
- date = props.selection ?? Date()
15
- }
16
18
  .onChange(of: date) { newDate in
17
19
  props.onDateChange(["date": newDate.timeIntervalSince1970 * 1000])
18
20
  }
@@ -13,6 +13,11 @@ internal struct DisclosureGroupView: ExpoSwiftUI.View {
13
13
  @ObservedObject var props: DisclosureGroupViewProps
14
14
  @State private var isExpanded: Bool = false
15
15
 
16
+ init(props: DisclosureGroupViewProps) {
17
+ self.props = props
18
+ _isExpanded = State(initialValue: props.isExpanded)
19
+ }
20
+
16
21
  var body: some View {
17
22
  #if os(tvOS)
18
23
  Text("DisclosureGroupView is not supported on tvOS")
@@ -20,9 +25,6 @@ internal struct DisclosureGroupView: ExpoSwiftUI.View {
20
25
  DisclosureGroup(props.label, isExpanded: $isExpanded) {
21
26
  Children()
22
27
  }
23
- .onAppear {
24
- isExpanded = props.isExpanded
25
- }
26
28
  .onChange(of: isExpanded) { newValue in
27
29
  let payload = ["isExpanded": newValue]
28
30
  props.onIsExpandedChange(payload)
@@ -15,6 +15,9 @@ struct ListView: ExpoSwiftUI.View {
15
15
 
16
16
  init(props: ListProps) {
17
17
  self.props = props
18
+ let initialSelection = Self.getHashableSetFromEither(props.selection)
19
+ _selection = State(initialValue: initialSelection)
20
+ _prevSelection = State(initialValue: initialSelection)
18
21
  }
19
22
 
20
23
  var body: some View {
@@ -25,7 +28,7 @@ struct ListView: ExpoSwiftUI.View {
25
28
  handleSelectionChange(selection: newSelection)
26
29
  }
27
30
  .onReceive(props.selection.publisher) { newValue in
28
- let hashableSet = getHashableSetFromEither(newValue)
31
+ let hashableSet = Self.getHashableSetFromEither(newValue)
29
32
  if prevSelection == hashableSet { return }
30
33
  selection = hashableSet
31
34
  prevSelection = hashableSet
@@ -33,7 +36,7 @@ struct ListView: ExpoSwiftUI.View {
33
36
  }
34
37
 
35
38
  func handleSelectionChange(selection: Set<AnyHashable>) {
36
- let propsSelection = getHashableSetFromEither(props.selection)
39
+ let propsSelection = Self.getHashableSetFromEither(props.selection)
37
40
  if propsSelection == selection { return }
38
41
 
39
42
  let selectionArray: [Any] = selection.compactMap { value in
@@ -47,7 +50,7 @@ struct ListView: ExpoSwiftUI.View {
47
50
  props.onSelectionChange(["selection": selectionArray])
48
51
  }
49
52
 
50
- private func getHashableSetFromEither(_ array: [Either<String, Double>]?) -> Set<AnyHashable> {
53
+ private static func getHashableSetFromEither(_ array: [Either<String, Double>]?) -> Set<AnyHashable> {
51
54
  guard let array else { return Set() }
52
55
  var result = Set<AnyHashable>()
53
56
  for item in array {
@@ -0,0 +1,35 @@
1
+ // Copyright 2015-present 650 Industries. All rights reserved.
2
+
3
+ import ExpoModulesCore
4
+ import SwiftUI
5
+
6
+ internal enum ContentTransitionType: String, Enumerable {
7
+ case numericText
8
+ case identity
9
+ case opacity
10
+ case interpolate
11
+ }
12
+
13
+ internal struct ContentTransitionModifier: ViewModifier, Record {
14
+ @Field var transitionType: ContentTransitionType?
15
+ @Field var countsDown: Bool = false
16
+
17
+ func body(content: Content) -> some View {
18
+ if #available(iOS 16.0, tvOS 16.0, macOS 13.0, *) {
19
+ switch transitionType {
20
+ case .numericText:
21
+ content.contentTransition(.numericText(countsDown: countsDown))
22
+ case .identity:
23
+ content.contentTransition(.identity)
24
+ case .opacity:
25
+ content.contentTransition(.opacity)
26
+ case .interpolate:
27
+ content.contentTransition(.interpolate)
28
+ default:
29
+ content
30
+ }
31
+ } else {
32
+ content
33
+ }
34
+ }
35
+ }
@@ -40,6 +40,15 @@ private func parsePresentationDetent(_ detent: Either<PresentationDetentPreset,
40
40
 
41
41
  internal struct PresentationDetentsModifier: ViewModifier, Record {
42
42
  @Field var detents: [Either<PresentationDetentPreset, PresentationDetentItem>]?
43
+ @Field var selection: Either<PresentationDetentPreset, PresentationDetentItem>?
44
+ var eventDispatcher: EventDispatcher?
45
+
46
+ init() {}
47
+
48
+ init(from params: Dict, appContext: AppContext, eventDispatcher: EventDispatcher) throws {
49
+ try self = .init(from: params, appContext: appContext)
50
+ self.eventDispatcher = eventDispatcher
51
+ }
43
52
 
44
53
  @available(iOS 16.0, tvOS 16.0, *)
45
54
  private func parseDetents() -> Set<PresentationDetent> {
@@ -58,13 +67,86 @@ internal struct PresentationDetentsModifier: ViewModifier, Record {
58
67
 
59
68
  func body(content: Content) -> some View {
60
69
  if #available(iOS 16.0, tvOS 16.0, *) {
61
- content.presentationDetents(parseDetents())
70
+ if selection != nil || eventDispatcher != nil {
71
+ PresentationDetentsSelectionView(
72
+ detents: parseDetents(),
73
+ rawDetents: detents ?? [],
74
+ initialSelection: selection.flatMap { parsePresentationDetent($0) },
75
+ eventDispatcher: eventDispatcher
76
+ ) {
77
+ content
78
+ }
79
+ } else {
80
+ content.presentationDetents(parseDetents())
81
+ }
62
82
  } else {
63
83
  content
64
84
  }
65
85
  }
66
86
  }
67
87
 
88
+ @available(iOS 16.0, tvOS 16.0, *)
89
+ private func buildDetentSerializationMap(
90
+ from rawDetents: [Either<PresentationDetentPreset, PresentationDetentItem>]
91
+ ) -> [PresentationDetent: Any] {
92
+ var map: [PresentationDetent: Any] = [:]
93
+ for raw in rawDetents {
94
+ if let parsed = parsePresentationDetent(raw) {
95
+ if let preset: PresentationDetentPreset = raw.get() {
96
+ map[parsed] = preset.rawValue
97
+ } else if let item: PresentationDetentItem = raw.get() {
98
+ if let fraction = item.fraction {
99
+ map[parsed] = ["fraction": fraction]
100
+ } else if let height = item.height {
101
+ map[parsed] = ["height": height]
102
+ }
103
+ }
104
+ }
105
+ }
106
+ return map
107
+ }
108
+
109
+ @available(iOS 16.0, tvOS 16.0, *)
110
+ private struct PresentationDetentsSelectionView<WrappedContent: View>: View {
111
+ let detents: Set<PresentationDetent>
112
+ let detentSerializationMap: [PresentationDetent: Any]
113
+ let initialSelection: PresentationDetent?
114
+ let eventDispatcher: EventDispatcher?
115
+ let wrappedContent: WrappedContent
116
+
117
+ @State private var selectedDetent: PresentationDetent
118
+
119
+ init(
120
+ detents: Set<PresentationDetent>,
121
+ rawDetents: [Either<PresentationDetentPreset, PresentationDetentItem>],
122
+ initialSelection: PresentationDetent?,
123
+ eventDispatcher: EventDispatcher?,
124
+ @ViewBuilder content: () -> WrappedContent
125
+ ) {
126
+ self.detents = detents
127
+ self.detentSerializationMap = buildDetentSerializationMap(from: rawDetents)
128
+ self.initialSelection = initialSelection
129
+ self.eventDispatcher = eventDispatcher
130
+ self.wrappedContent = content()
131
+ self._selectedDetent = State(initialValue: initialSelection ?? detents.first ?? .large)
132
+ }
133
+
134
+ var body: some View {
135
+ wrappedContent
136
+ .presentationDetents(detents, selection: $selectedDetent)
137
+ .onChange(of: selectedDetent) { newDetent in
138
+ if let serialized = detentSerializationMap[newDetent] {
139
+ eventDispatcher?(["presentationDetents": ["detent": serialized]])
140
+ }
141
+ }
142
+ .onChange(of: initialSelection) { newSelection in
143
+ if let newSelection {
144
+ selectedDetent = newSelection
145
+ }
146
+ }
147
+ }
148
+ }
149
+
68
150
  // MARK: - Presentation Drag Indicator
69
151
 
70
152
  internal enum PresentationDragIndicatorVisibilityModifier: String, Enumerable {
@@ -373,18 +373,24 @@ internal struct BorderModifier: ViewModifier, Record {
373
373
  }
374
374
 
375
375
  internal struct ClipShapeModifier: ViewModifier, Record {
376
- @Field var shape: String = "rectangle"
376
+ @Field var shape: ShapeType = .rectangle
377
377
  @Field var cornerRadius: CGFloat = 8
378
+ @Field var roundedCornerStyle: RoundedCornerStyle?
379
+ @Field var cornerSize: CornerSize?
378
380
 
379
381
  @ViewBuilder
380
382
  func body(content: Content) -> some View {
381
383
  switch shape {
382
- case "circle":
384
+ case .capsule:
385
+ content.clipShape(makeCapsule(style: roundedCornerStyle))
386
+ case .circle:
383
387
  content.clipShape(Circle())
384
- case "roundedRectangle":
385
- content.clipShape(RoundedRectangle(cornerRadius: cornerRadius))
386
- default:
388
+ case .ellipse:
389
+ content.clipShape(Ellipse())
390
+ case .rectangle:
387
391
  content.clipShape(Rectangle())
392
+ case .roundedRectangle:
393
+ content.clipShape(makeRoundedRectangle(cornerRadius: cornerRadius, cornerSize: cornerSize, style: roundedCornerStyle))
388
394
  }
389
395
  }
390
396
  }
@@ -587,18 +593,24 @@ internal struct ClippedModifier: ViewModifier, Record {
587
593
  }
588
594
 
589
595
  internal struct MaskModifier: ViewModifier, Record {
590
- @Field var shape: String = "rectangle"
596
+ @Field var shape: ShapeType = .rectangle
591
597
  @Field var cornerRadius: CGFloat = 8
598
+ @Field var roundedCornerStyle: RoundedCornerStyle?
599
+ @Field var cornerSize: CornerSize?
592
600
 
593
601
  @ViewBuilder
594
602
  func body(content: Content) -> some View {
595
603
  switch shape {
596
- case "circle":
604
+ case .capsule:
605
+ content.mask(makeCapsule(style: roundedCornerStyle))
606
+ case .circle:
597
607
  content.mask(Circle())
598
- case "roundedRectangle":
599
- content.mask(RoundedRectangle(cornerRadius: cornerRadius))
600
- default:
608
+ case .ellipse:
609
+ content.mask(Ellipse())
610
+ case .rectangle:
601
611
  content.mask(Rectangle())
612
+ case .roundedRectangle:
613
+ content.mask(makeRoundedRectangle(cornerRadius: cornerRadius, cornerSize: cornerSize, style: roundedCornerStyle))
602
614
  }
603
615
  }
604
616
  }
@@ -707,7 +719,7 @@ internal struct AnimationConfig: Record {
707
719
 
708
720
  internal struct AnimationModifier: ViewModifier, Record {
709
721
  @Field var animation: AnimationConfig
710
- @Field var animatedValue: Either<Bool, Double>?
722
+ @Field var animatedValue: Either<Double, Bool>?
711
723
 
712
724
  func body(content: Content) -> some View {
713
725
  let animationValue = parseAnimation(animation)
@@ -1893,8 +1905,8 @@ extension ViewModifierRegistry {
1893
1905
  return try GaugeStyleModifier(from: params, appContext: appContext)
1894
1906
  }
1895
1907
 
1896
- register("presentationDetents") { params, appContext, _ in
1897
- return try PresentationDetentsModifier(from: params, appContext: appContext)
1908
+ register("presentationDetents") { params, appContext, eventDispatcher in
1909
+ return try PresentationDetentsModifier(from: params, appContext: appContext, eventDispatcher: eventDispatcher)
1898
1910
  }
1899
1911
 
1900
1912
  register("presentationDragIndicator") { params, appContext, _ in
@@ -1924,5 +1936,9 @@ extension ViewModifierRegistry {
1924
1936
  register("environment") { params, appContext, _ in
1925
1937
  return try EnvironmentModifier(from: params, appContext: appContext)
1926
1938
  }
1939
+
1940
+ register("contentTransition") { params, appContext, _ in
1941
+ return try ContentTransitionModifier(from: params, appContext: appContext)
1942
+ }
1927
1943
  }
1928
1944
  }
@@ -17,6 +17,9 @@ internal struct PickerView: ExpoSwiftUI.View {
17
17
 
18
18
  init(props: PickerProps) {
19
19
  self.props = props
20
+ let initialSelection = Self.getHashableFromEither(props.selection)
21
+ _selection = State(initialValue: initialSelection)
22
+ _prevSelection = State(initialValue: initialSelection)
20
23
  }
21
24
 
22
25
  @ViewBuilder
@@ -44,7 +47,7 @@ internal struct PickerView: ExpoSwiftUI.View {
44
47
  picker
45
48
  .onChange(of: selection) { newValue in
46
49
  guard let newValue else { return }
47
- let currentSelection = getHashableFromEither(props.selection)
50
+ let currentSelection = Self.getHashableFromEither(props.selection)
48
51
  if currentSelection == newValue {
49
52
  return
50
53
  }
@@ -59,14 +62,14 @@ internal struct PickerView: ExpoSwiftUI.View {
59
62
  props.onSelectionChange(payload)
60
63
  }
61
64
  .onReceive(props.selection.publisher) { newValue in
62
- let hashableValue = getHashableFromEither(newValue)
65
+ let hashableValue = Self.getHashableFromEither(newValue)
63
66
  if prevSelection == hashableValue { return }
64
67
  selection = hashableValue
65
68
  prevSelection = hashableValue
66
69
  }
67
70
  }
68
71
 
69
- private func getHashableFromEither(_ either: Either<String, Double>?) -> AnyHashable? {
72
+ private static func getHashableFromEither(_ either: Either<String, Double>?) -> AnyHashable? {
70
73
  guard let either else { return nil }
71
74
  if let stringValue: String = either.get() {
72
75
  return stringValue
@@ -7,6 +7,11 @@ internal struct PopoverView: ExpoSwiftUI.View {
7
7
  @ObservedObject var props: PopoverViewProps
8
8
  @State private var isPresented: Bool = false
9
9
 
10
+ init(props: PopoverViewProps) {
11
+ self.props = props
12
+ _isPresented = State(initialValue: props.isPresented)
13
+ }
14
+
10
15
  var body: some View {
11
16
  #if os(tvOS)
12
17
  triggerContent
@@ -35,9 +40,6 @@ internal struct PopoverView: ExpoSwiftUI.View {
35
40
  .onChange(of: props.isPresented) { newValue in
36
41
  isPresented = newValue
37
42
  }
38
- .onAppear {
39
- isPresented = props.isPresented
40
- }
41
43
  #endif
42
44
  }
43
45
 
@@ -13,12 +13,14 @@ internal struct SectionView: ExpoSwiftUI.View {
13
13
  @ObservedObject var props: SectionProps
14
14
  @State private var isExpanded: Bool = true
15
15
 
16
+ init(props: SectionProps) {
17
+ self.props = props
18
+ _isExpanded = State(initialValue: props.isExpanded ?? true)
19
+ }
20
+
16
21
  var body: some View {
17
22
  if #available(iOS 17.0, macOS 14.0, tvOS 17.0, *), let propIsExpanded = props.isExpanded {
18
23
  collapsibleSection
19
- .onAppear {
20
- isExpanded = propIsExpanded
21
- }
22
24
  .onChange(of: props.isExpanded) { newValue in
23
25
  if let newValue {
24
26
  isExpanded = newValue
@@ -37,8 +39,18 @@ internal struct SectionView: ExpoSwiftUI.View {
37
39
  @ViewBuilder
38
40
  private var regularSection: some View {
39
41
  if let title = props.title, !title.isEmpty {
40
- Section(title) {
41
- contentChildren
42
+ if let footerView {
43
+ Section {
44
+ contentChildren
45
+ } header: {
46
+ Text(title)
47
+ } footer: {
48
+ footerView
49
+ }
50
+ } else {
51
+ Section(title) {
52
+ contentChildren
53
+ }
42
54
  }
43
55
  } else if let headerView, let footerView {
44
56
  Section {
@@ -9,6 +9,7 @@ struct SliderView: ExpoSwiftUI.View {
9
9
 
10
10
  init(props: SliderProps) {
11
11
  self.props = props
12
+ _value = State(initialValue: props.value ?? 0.0)
12
13
  }
13
14
 
14
15
  var body: some View {
@@ -23,12 +24,6 @@ struct SliderView: ExpoSwiftUI.View {
23
24
  }
24
25
  .onReceive(props.value.publisher, perform: { newValue in
25
26
  var sliderValue = newValue
26
- if let min = props.min {
27
- sliderValue = max(sliderValue, min)
28
- }
29
- if let max = props.max {
30
- sliderValue = min(sliderValue, max)
31
- }
32
27
  value = sliderValue
33
28
  })
34
29
  #else
@@ -16,6 +16,7 @@ internal struct ToggleView: ExpoSwiftUI.View {
16
16
 
17
17
  init(props: ToggleProps) {
18
18
  self.props = props
19
+ _checked = State(initialValue: props.isOn ?? false)
19
20
  }
20
21
 
21
22
  var body: some View {
@@ -35,11 +36,6 @@ internal struct ToggleView: ExpoSwiftUI.View {
35
36
  }
36
37
  checked = newValue
37
38
  }
38
- .onAppear {
39
- if let isOn = props.isOn {
40
- checked = isOn
41
- }
42
- }
43
39
  }
44
40
 
45
41
  @ViewBuilder
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "expo.modules.ui",
5
5
  "module": "expo.modules.ui",
6
- "version": "55.0.0-preview.5",
6
+ "version": "55.0.0-preview.6",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -24,8 +24,8 @@
24
24
  },
25
25
  "files": [
26
26
  {
27
- "name": "expo.modules.ui-55.0.0-preview.5.aar",
28
- "url": "expo.modules.ui-55.0.0-preview.5.aar",
27
+ "name": "expo.modules.ui-55.0.0-preview.6.aar",
28
+ "url": "expo.modules.ui-55.0.0-preview.6.aar",
29
29
  "size": 395889,
30
30
  "sha512": "fe078e64c5039a9d29331bc198dd8f10145b1958e3f5440d567a15b783635e406079fcae27d6c67bab11f83698e3c9430c4c47a10c730564942e2a61452339a7",
31
31
  "sha256": "b15dbe8f294d488bd2f6ad82bbe0427e8223c45cbe0d422ea9be8362feac675a",
@@ -102,8 +102,8 @@
102
102
  ],
103
103
  "files": [
104
104
  {
105
- "name": "expo.modules.ui-55.0.0-preview.5.aar",
106
- "url": "expo.modules.ui-55.0.0-preview.5.aar",
105
+ "name": "expo.modules.ui-55.0.0-preview.6.aar",
106
+ "url": "expo.modules.ui-55.0.0-preview.6.aar",
107
107
  "size": 395889,
108
108
  "sha512": "fe078e64c5039a9d29331bc198dd8f10145b1958e3f5440d567a15b783635e406079fcae27d6c67bab11f83698e3c9430c4c47a10c730564942e2a61452339a7",
109
109
  "sha256": "b15dbe8f294d488bd2f6ad82bbe0427e8223c45cbe0d422ea9be8362feac675a",
@@ -122,8 +122,8 @@
122
122
  },
123
123
  "files": [
124
124
  {
125
- "name": "expo.modules.ui-55.0.0-preview.5-sources.jar",
126
- "url": "expo.modules.ui-55.0.0-preview.5-sources.jar",
125
+ "name": "expo.modules.ui-55.0.0-preview.6-sources.jar",
126
+ "url": "expo.modules.ui-55.0.0-preview.6-sources.jar",
127
127
  "size": 27614,
128
128
  "sha512": "a1afc79f1341ad5adec5f9067710344e31a688779a563121a745f3c244fed5a03fb2b7720fdac4a9e07e8795cccc7bb5fcecaf0edf6ee51424c884dcdb33c873",
129
129
  "sha256": "a8eb3912559f31957313543ed0b9a274cd1e952452c0fc28b04583007dfbf666",
@@ -0,0 +1 @@
1
+ 1917a0d40fe2ec4cebeb9fcbf39c790a19c1b9cd43f2025dd27cff4e65c532b8
@@ -0,0 +1 @@
1
+ b7d800bf9f96cb4450247de3c59396618050ccd120df46c47c1d1436a8fdbe0f53dce2e545fcd902fdecdfee390e1960809dce0da57e82221f5dee4871135fbe
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>expo.modules.ui</groupId>
11
11
  <artifactId>expo.modules.ui</artifactId>
12
- <version>55.0.0-preview.5</version>
12
+ <version>55.0.0-preview.6</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>expo.modules.ui</name>
15
15
  <url>https://github.com/expo/expo</url>
@@ -0,0 +1 @@
1
+ 5914619be476ca3b7b30bc66e191b90a725e9ebc87599fa4a23e170f08292922
@@ -0,0 +1 @@
1
+ fb885c697f4110a39916825e7bc38f0958b93b70cafbafc7cbeda77336fe76166527598e763df526aa7b20ff8e07998250f421c1b576857bdceb96cb651f9cd9
@@ -3,11 +3,11 @@
3
3
  <groupId>expo.modules.ui</groupId>
4
4
  <artifactId>expo.modules.ui</artifactId>
5
5
  <versioning>
6
- <latest>55.0.0-preview.5</latest>
7
- <release>55.0.0-preview.5</release>
6
+ <latest>55.0.0-preview.6</latest>
7
+ <release>55.0.0-preview.6</release>
8
8
  <versions>
9
- <version>55.0.0-preview.5</version>
9
+ <version>55.0.0-preview.6</version>
10
10
  </versions>
11
- <lastUpdated>20260208025502</lastUpdated>
11
+ <lastUpdated>20260216170142</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- d1ca99ed634f5f0ada0020f4d9a93adb
1
+ fb29da15a6b0af32c432e7688e7f6c7a
@@ -1 +1 @@
1
- 0a25bef614a6a3abb41f896314567ac60b7b8b69
1
+ 24f63827173ead87114fdcb3faecdd22c8155f23
@@ -1 +1 @@
1
- 7ee6767b1d50015b5c54ed89982e920992e5ac7a85a00c4025d8f3741e80b3db
1
+ 5c2f32f27d0891f18819068b66db579fc30aff97ae6e2ecbe34f4dbf44ae44a9
@@ -1 +1 @@
1
- fd359f8f42c23580e72cab145c6785e3a9fdabf4ab7b58627f3881c7682f29b33a1da7cfc650117e5fcf05bcf6d3e93be4aac295b51588ccb51a27e529880515
1
+ df0a925c4d2c01c42edede4434a6e436f93a6bdeab2b75eab6b890504b5d2d57d1ce508240b4283737d333cf1ea81308f2b8c331bc475560e852dd03563a7387
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/ui",
3
- "version": "55.0.0-preview.5",
3
+ "version": "55.0.0-preview.6",
4
4
  "description": "A collection of UI components",
5
5
  "sideEffects": false,
6
6
  "exports": {
@@ -58,5 +58,5 @@
58
58
  "react": "*",
59
59
  "react-native": "*"
60
60
  },
61
- "gitHead": "cd3638bb85f9560392acfd5160a266cf97880b3b"
61
+ "gitHead": "928cc951854450f3c72e00e8e420e567fabd1f8c"
62
62
  }
@@ -30,7 +30,7 @@ const TextNativeView: React.ComponentType<NativeTextProps> = requireNativeView(
30
30
  export function Text(props: TextProps) {
31
31
  const { children, modifiers, ...restProps } = props;
32
32
 
33
- if (!children) {
33
+ if (children === undefined || children === null) {
34
34
  return null;
35
35
  }
36
36
 
@@ -28,3 +28,14 @@ export interface ModifierConfig {
28
28
  export function createModifier(type: string, params: Record<string, any> = {}): ModifierConfig {
29
29
  return { $type: type, ...params };
30
30
  }
31
+
32
+ /**
33
+ * Creates a modifier with an event listener.
34
+ */
35
+ export function createModifierWithEventListener(
36
+ type: string,
37
+ eventListener: (args: any) => void,
38
+ params: Record<string, any> = {}
39
+ ): ModifierConfig {
40
+ return { $type: type, ...params, eventListener };
41
+ }
@@ -9,7 +9,7 @@ import { animation } from './animation/index';
9
9
  import { background } from './background';
10
10
  import { containerShape } from './containerShape';
11
11
  import { contentShape } from './contentShape';
12
- import { createModifier, ModifierConfig } from './createModifier';
12
+ import { createModifier, createModifierWithEventListener, ModifierConfig } from './createModifier';
13
13
  import { datePickerStyle } from './datePickerStyle';
14
14
  import { environment } from './environment';
15
15
  import { gaugeStyle } from './gaugeStyle';
@@ -18,17 +18,6 @@ import type { Color } from './types';
18
18
 
19
19
  const ExpoUI = requireNativeModule('ExpoUI');
20
20
 
21
- /**
22
- * Creates a modifier with an event listener.
23
- */
24
- function createModifierWithEventListener(
25
- type: string,
26
- eventListener: (args: any) => void,
27
- params: Record<string, any> = {}
28
- ): ModifierConfig {
29
- return { $type: type, ...params, eventListener };
30
- }
31
-
32
21
  // =============================================================================
33
22
  // Built-in Modifier Functions
34
23
  // =============================================================================
@@ -222,7 +211,7 @@ export const opacity = (value: number) => createModifier('opacity', { value });
222
211
  * @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/clipshape(_:style:)).
223
212
  */
224
213
  export const clipShape = (
225
- shape: 'rectangle' | 'circle' | 'roundedRectangle',
214
+ shape: 'rectangle' | 'circle' | 'capsule' | 'ellipse' | 'roundedRectangle',
226
215
  cornerRadius?: number
227
216
  ) => createModifier('clipShape', { shape, cornerRadius });
228
217
 
@@ -611,8 +600,10 @@ export const layoutPriority = (priority: number) => createModifier('layoutPriori
611
600
  * @param cornerRadius - Corner radius for rounded rectangle (default: `8`).
612
601
  * @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/mask(_:)).
613
602
  */
614
- export const mask = (shape: 'rectangle' | 'circle' | 'roundedRectangle', cornerRadius?: number) =>
615
- createModifier('mask', { shape, cornerRadius });
603
+ export const mask = (
604
+ shape: 'rectangle' | 'circle' | 'capsule' | 'ellipse' | 'roundedRectangle',
605
+ cornerRadius?: number
606
+ ) => createModifier('mask', { shape, cornerRadius });
616
607
 
617
608
  /**
618
609
  * Overlays another view on top.
@@ -935,6 +926,35 @@ export const submitLabel = (
935
926
  submitLabel: 'continue' | 'done' | 'go' | 'join' | 'next' | 'return' | 'route' | 'search' | 'send'
936
927
  ) => createModifier('submitLabel', { submitLabel });
937
928
 
929
+ /**
930
+ * Sets the content transition type for a view.
931
+ * Useful for animating changes in text content, especially numeric text.
932
+ * Use with the [`animation`](#animationanimationobject-animatedvalue) modifier to animate the transition when the content changes.
933
+ *
934
+ * @param transitionType - The type of content transition.
935
+ * @param params - Optional parameters.
936
+ * @param params.countsDown - Whether the numeric text counts down.
937
+ *
938
+ * @example
939
+ * ```tsx
940
+ * <Text modifiers={[contentTransition('numericText'), animation(Animation.default, count)]}>
941
+ * {count.toString()}
942
+ * </Text>
943
+ * ```
944
+ *
945
+ * @platform ios 16.0+
946
+ * @platform tvos 16.0+
947
+ * @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/contenttransition(_:)).
948
+ */
949
+ export const contentTransition = (
950
+ transitionType: 'numericText' | 'identity' | 'opacity' | 'interpolate',
951
+ params?: { countsDown?: boolean }
952
+ ) =>
953
+ createModifier('contentTransition', {
954
+ transitionType,
955
+ countsDown: params?.countsDown,
956
+ });
957
+
938
958
  export type ListStyle = 'automatic' | 'plain' | 'inset' | 'insetGrouped' | 'grouped' | 'sidebar';
939
959
  /**
940
960
  * Sets the style for a List view.
@@ -1039,7 +1059,8 @@ export type BuiltInModifier =
1039
1059
  | ReturnType<typeof datePickerStyle>
1040
1060
  | ReturnType<typeof progressViewStyle>
1041
1061
  | ReturnType<typeof gaugeStyle>
1042
- | ReturnType<typeof listStyle>;
1062
+ | ReturnType<typeof listStyle>
1063
+ | ReturnType<typeof contentTransition>;
1043
1064
 
1044
1065
  /**
1045
1066
  * Main ViewModifier type that supports both built-in and 3rd party modifiers.
@@ -1,4 +1,8 @@
1
- import { createModifier } from './createModifier';
1
+ import {
2
+ createModifier,
3
+ createModifierWithEventListener,
4
+ type ModifierConfig,
5
+ } from './createModifier';
2
6
 
3
7
  /**
4
8
  * Presentation detent type for controlling sheet heights.
@@ -12,12 +16,35 @@ export type PresentationDetent = 'medium' | 'large' | { fraction: number } | { h
12
16
  /**
13
17
  * Sets the available heights for a sheet presentation.
14
18
  * @param detents - Array of detents the sheet can snap to.
19
+ * @param options - Optional settings for tracking the selected detent.
20
+ * @param options.selection - The currently selected detent.
21
+ * @param options.onSelectionChange - Callback fired when the user changes the active detent by dragging.
15
22
  * @platform ios 16.0+
16
23
  * @platform tvos 16.0+
17
- * @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/presentationdetents(_:)).
24
+ * @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/presentationdetents(_:selection:)).
18
25
  */
19
- export const presentationDetents = (detents: PresentationDetent[]) =>
20
- createModifier('presentationDetents', { detents });
26
+ export const presentationDetents = (
27
+ detents: PresentationDetent[],
28
+ options?: {
29
+ selection?: PresentationDetent;
30
+ onSelectionChange?: (detent: PresentationDetent) => void;
31
+ }
32
+ ): ModifierConfig => {
33
+ const params = { detents, selection: options?.selection };
34
+
35
+ const { onSelectionChange } = options ?? {};
36
+ if (onSelectionChange) {
37
+ return createModifierWithEventListener(
38
+ 'presentationDetents',
39
+ (args: { detent: PresentationDetent }) => {
40
+ onSelectionChange(args.detent);
41
+ },
42
+ params
43
+ );
44
+ }
45
+
46
+ return createModifier('presentationDetents', params);
47
+ };
21
48
 
22
49
  /**
23
50
  * Controls the visibility of the drag indicator on a sheet.
@@ -1 +0,0 @@
1
- 8afd2cce059084acd9e77bb025c9fe3075376c5e395bfa6467b9dbdfbe40df0d
@@ -1 +0,0 @@
1
- e4ea14bc6120073e1b18bef56ef4af309219c4864d1a35c3c607bfa088bc49a7174a550205fcf9c5303341d7673065bba085837f4d1ed73e64df7b06f43f9449
@@ -1 +0,0 @@
1
- bd313e4040bdcfb160341a30cc6fd26d8b61e5a6e4cedddcaae640bf8ab01232
@@ -1 +0,0 @@
1
- 9b184b7bdb9aef655c05ed08ee7e9504045f3a7078fc07498a22b7bb3b8589476c8a79443af02034f4f10e477e83f6901eb9368aca63c034dccb975fee815db8