pytech-ui 1.0.30 → 1.0.31

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 (234) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +40 -40
  3. package/android/.gradle/buildOutputCleanup/cache.properties +2 -2
  4. package/android/.gradle/nb-cache/trust/8732A504261C070E1F639E78DF65F8E6DC6FFC865B3D7178A7609BB57105805F +1 -1
  5. package/android/build.gradle +47 -47
  6. package/android/src/main/AndroidManifest.xml +2 -2
  7. package/android/src/main/java/expo/modules/pytechui/Dialog.kt +39 -39
  8. package/android/src/main/java/expo/modules/pytechui/ForEach/ForEachRecords.kt +23 -23
  9. package/android/src/main/java/expo/modules/pytechui/ForEach/index.kt +82 -82
  10. package/android/src/main/java/expo/modules/pytechui/Gradient/GradientView.kt +124 -124
  11. package/android/src/main/java/expo/modules/pytechui/Icon/index.kt +36 -36
  12. package/android/src/main/java/expo/modules/pytechui/Icon/utils.kt +42 -42
  13. package/android/src/main/java/expo/modules/pytechui/ListItem/Data/ListItemDataRecords.kt +84 -84
  14. package/android/src/main/java/expo/modules/pytechui/ListItem/Data/ListItemFromData.kt +127 -127
  15. package/android/src/main/java/expo/modules/pytechui/ListItem/Slots/ListItemFromSlots.kt +60 -60
  16. package/android/src/main/java/expo/modules/pytechui/ListItem/Slots/types.kt +42 -42
  17. package/android/src/main/java/expo/modules/pytechui/ListItem/_shared/Decorator/Decorator.kt +79 -79
  18. package/android/src/main/java/expo/modules/pytechui/ListItem/_shared/Decorator/Divider.kt +36 -36
  19. package/android/src/main/java/expo/modules/pytechui/ListItem/_shared/Decorator/utilsDecorator.kt +19 -19
  20. package/android/src/main/java/expo/modules/pytechui/ListItem/_shared/Dynamic/Dynamic.kt +163 -163
  21. package/android/src/main/java/expo/modules/pytechui/ListItem/_shared/Dynamic/Row.kt +136 -136
  22. package/android/src/main/java/expo/modules/pytechui/PytechUiModifiers.kt +93 -93
  23. package/android/src/main/java/expo/modules/pytechui/PytechUiModule.kt +168 -168
  24. package/android/src/main/java/expo/modules/pytechui/SearchBar.kt +213 -213
  25. package/android/src/main/java/expo/modules/pytechui/Section/SectionHost.kt +81 -81
  26. package/android/src/main/java/expo/modules/pytechui/Section/SectionHostView.kt +65 -65
  27. package/android/src/main/java/expo/modules/pytechui/TextField.kt +251 -251
  28. package/android/src/main/java/expo/modules/pytechui/TypographySlot/TypographySlotBridge.kt +120 -120
  29. package/android/src/main/java/expo/modules/pytechui/TypographySlot/constants.kt +47 -47
  30. package/android/src/main/java/expo/modules/pytechui/extended-theme/ExtendedThemeView.kt +19 -19
  31. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Colors/ExtendedColorBridge.kt +76 -76
  32. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Constants/Constants.kt +10 -10
  33. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/AppBarLargeFlexibleTokens.kt +20 -20
  34. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/AppBarLargeTokens.kt +19 -19
  35. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/AppBarMediumFlexibleTokens.kt +20 -20
  36. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/AppBarMediumTokens.kt +19 -19
  37. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/AppBarSmallTokens.kt +19 -19
  38. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/AppBarTokens.kt +23 -23
  39. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/AssistChipTokens.kt +25 -25
  40. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/BadgeTokens.kt +20 -20
  41. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/BaselineButtonTokens.kt +26 -26
  42. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/BottomAppBarTokens.kt +19 -19
  43. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/ButtonGroupSmallTokens.kt +20 -20
  44. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/ButtonLargeTokens.kt +24 -24
  45. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/ButtonMediumTokens.kt +24 -24
  46. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/ButtonSmallTokens.kt +24 -24
  47. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/ButtonXLargeTokens.kt +24 -24
  48. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/ButtonXSmallTokens.kt +24 -24
  49. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/CheckboxTokens.kt +35 -35
  50. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/CircularProgressIndicatorTokens.kt +25 -25
  51. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/ConnectedButtonGroupSmallTokens.kt +21 -21
  52. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/DateInputModalTokens.kt +22 -22
  53. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/DatePickerModalTokens.kt +33 -33
  54. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/DialogTokens.kt +19 -19
  55. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/DividerTokens.kt +19 -19
  56. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/DockedToolbarTokens.kt +23 -23
  57. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/DragHandleTokens.kt +25 -25
  58. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/ElevatedButtonTokens.kt +19 -19
  59. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/ElevatedCardTokens.kt +20 -20
  60. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/ElevationTokens.kt +24 -24
  61. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/ExpressiveMotionTokens.kt +28 -28
  62. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/ExtendedFabLargeTokens.kt +23 -23
  63. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/ExtendedFabMediumTokens.kt +24 -24
  64. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/ExtendedFabPrimaryTokens.kt +20 -20
  65. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/ExtendedFabSmallTokens.kt +23 -23
  66. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/FabBaselineTokens.kt +21 -21
  67. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/FabLargeTokens.kt +21 -21
  68. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/FabMediumTokens.kt +22 -22
  69. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/FabMenuBaselineTokens.kt +28 -28
  70. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/FabSmallTokens.kt +21 -21
  71. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/FilledAutocompleteTokens.kt +31 -31
  72. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/FilledButtonTokens.kt +19 -19
  73. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/FilledCardTokens.kt +20 -20
  74. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/FilledIconButtonTokens.kt +18 -18
  75. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/FilledTextFieldTokens.kt +31 -31
  76. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/FilledTonalButtonTokens.kt +23 -23
  77. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/FilledTonalIconButtonTokens.kt +18 -18
  78. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/FilterChipTokens.kt +28 -28
  79. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/FloatingToolbarTokens.kt +23 -23
  80. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/IconButtonTokens.kt +17 -17
  81. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/InputChipTokens.kt +30 -30
  82. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/LargeIconButtonTokens.kt +27 -27
  83. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/LinearProgressIndicatorTokens.kt +28 -28
  84. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/ListTokens.kt +57 -57
  85. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/LoadingIndicatorTokens.kt +21 -21
  86. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/MediumIconButtonTokens.kt +27 -27
  87. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/MotionTokens.kt +44 -44
  88. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/NavigationBarHorizontalItemTokens.kt +22 -22
  89. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/NavigationBarTokens.kt +23 -23
  90. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/NavigationBarVerticalItemTokens.kt +22 -22
  91. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/NavigationDrawerTokens.kt +23 -23
  92. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/NavigationRailBaselineItemTokens.kt +25 -25
  93. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/NavigationRailCollapsedTokens.kt +23 -23
  94. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/NavigationRailExpandedTokens.kt +22 -22
  95. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/NavigationRailHorizontalItemTokens.kt +24 -24
  96. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/NavigationRailVerticalItemTokens.kt +24 -24
  97. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/OutlinedAutocompleteTokens.kt +30 -30
  98. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/OutlinedButtonTokens.kt +19 -19
  99. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/OutlinedCardTokens.kt +21 -21
  100. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/OutlinedIconButtonTokens.kt +18 -18
  101. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/OutlinedSegmentedButtonTokens.kt +24 -24
  102. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/OutlinedTextFieldTokens.kt +31 -31
  103. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/PrimaryNavigationTabTokens.kt +24 -24
  104. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/RadioButtonTokens.kt +22 -22
  105. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/ScrimTokens.kt +17 -17
  106. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/SearchBarTokens.kt +20 -20
  107. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/SearchViewTokens.kt +20 -20
  108. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/SecondaryNavigationTabTokens.kt +21 -21
  109. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/SegmentedMenuTokens.kt +42 -42
  110. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/ShapeTokens.kt +74 -74
  111. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/SheetBottomTokens.kt +20 -20
  112. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/SliderTokens.kt +39 -39
  113. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/SmallIconButtonTokens.kt +27 -27
  114. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/SnackbarTokens.kt +21 -21
  115. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/SplitButtonLargeTokens.kt +26 -26
  116. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/SplitButtonMediumTokens.kt +26 -26
  117. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/SplitButtonSmallTokens.kt +26 -26
  118. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/SplitButtonXLargeTokens.kt +26 -26
  119. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/SplitButtonXSmallTokens.kt +27 -27
  120. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/StandardMenuTokens.kt +25 -25
  121. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/StandardMotionTokens.kt +27 -27
  122. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/StateTokens.kt +20 -20
  123. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/SuggestionChipTokens.kt +25 -25
  124. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/SwitchTokens.kt +37 -37
  125. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/TextButtonTokens.kt +18 -18
  126. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/TimeInputTokens.kt +24 -24
  127. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/TimePickerTokens.kt +30 -30
  128. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/TonalButtonTokens.kt +19 -19
  129. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/TypeScaleTokens.kt +72 -72
  130. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/VibrantMenuTokens.kt +26 -26
  131. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/XLargeIconButtonTokens.kt +27 -27
  132. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/assets/XSmallIconButtonTokens.kt +27 -27
  133. package/android/src/main/java/expo/modules/pytechui/extended-theme/assets/Tokens/index.kt +216 -216
  134. package/android/src/main/java/expo/modules/pytechui/extended-theme/index.kt +38 -38
  135. package/android/src/main/java/expo/modules/pytechui/utils/children.kt +126 -126
  136. package/android/src/main/java/expo/modules/pytechui/utils/modifiers.kt +44 -44
  137. package/build/constants/utils.d.ts +1 -1
  138. package/build/contexts/alert/components/Alert/index.js +16 -16
  139. package/build/contexts/alert/components/Button/index.js +5 -5
  140. package/build/contexts/alert/components/Provider/index.ios.js +2 -2
  141. package/build/contexts/alert/components/Provider/index.js +3 -3
  142. package/build/contexts/alert/context/provider.d.ts +1 -1
  143. package/build/contexts/alert/context/provider.js +1 -1
  144. package/build/contexts/app/context.d.ts +1 -1
  145. package/build/contexts/app/context.js +15 -15
  146. package/build/contexts/app/index.d.ts +2 -2
  147. package/build/contexts/app/index.js +2 -2
  148. package/build/contexts/app/src/Head/index.d.ts +1 -1
  149. package/build/contexts/app/src/Head/index.web.js +12 -12
  150. package/build/contexts/app/src/Wrapper/index.d.ts +1 -1
  151. package/build/contexts/app/src/Wrapper/index.js +2 -2
  152. package/build/contexts/app/src/styles.css +16 -16
  153. package/build/contexts/app/types.d.ts +1 -1
  154. package/build/contexts/router/index.d.ts +1 -1
  155. package/build/contexts/router/index.js +3 -3
  156. package/build/jetpack-compose/components/Columns/CommonColumn/index.js +2 -2
  157. package/build/jetpack-compose/components/Columns/CommonColumn/types.d.ts +1 -1
  158. package/build/jetpack-compose/components/Columns/CommonColumn/utils.d.ts +1 -1
  159. package/build/jetpack-compose/components/Columns/CommonColumn/utils.js +1 -1
  160. package/build/jetpack-compose/components/DropdownMenu/index.d.ts +1 -1
  161. package/build/jetpack-compose/components/DropdownMenu/index.js +3 -3
  162. package/build/jetpack-compose/components/DropdownPicker/Picker.d.ts +3 -3
  163. package/build/jetpack-compose/components/DropdownPicker/Picker.js +24 -24
  164. package/build/jetpack-compose/components/DropdownPicker/PickerItem.js +5 -5
  165. package/build/jetpack-compose/components/DropdownPicker/context.d.ts +4 -10
  166. package/build/jetpack-compose/components/ForEach/src/ForEach.d.ts +1 -1
  167. package/build/jetpack-compose/components/ForEach/src/ForEach.js +5 -5
  168. package/build/jetpack-compose/components/ForEach/src/ListItem.d.ts +1 -1
  169. package/build/jetpack-compose/components/ForEach/src/types.d.ts +1 -1
  170. package/build/jetpack-compose/components/Gradient/Gradient.js +1 -1
  171. package/build/jetpack-compose/components/Gradient/types.d.ts +1 -1
  172. package/build/jetpack-compose/components/Icon/Icon/Icon.js +1 -1
  173. package/build/jetpack-compose/components/Icon/index.d.ts +1 -1
  174. package/build/jetpack-compose/components/IconSection/IconSection.js +19 -19
  175. package/build/jetpack-compose/components/IconSection/types.d.ts +1 -1
  176. package/build/jetpack-compose/components/IconSection/utils.js +1 -1
  177. package/build/jetpack-compose/components/List/CommonColumn.js +3 -3
  178. package/build/jetpack-compose/components/List/index.d.ts +1 -1
  179. package/build/jetpack-compose/components/List/index.js +11 -11
  180. package/build/jetpack-compose/components/ListItem/SlotListItem.d.ts +2 -2
  181. package/build/jetpack-compose/components/ListItem/SlotListItem.js +9 -9
  182. package/build/jetpack-compose/components/Menu/src/components/Divider.js +2 -2
  183. package/build/jetpack-compose/components/Menu/src/components/Icon.d.ts +1 -1
  184. package/build/jetpack-compose/components/Menu/src/components/Icon.js +1 -1
  185. package/build/jetpack-compose/components/Menu/src/components/Item.d.ts +2 -3
  186. package/build/jetpack-compose/components/Menu/src/components/Item.js +26 -26
  187. package/build/jetpack-compose/components/Menu/src/components/Label.d.ts +4 -1
  188. package/build/jetpack-compose/components/Menu/src/components/Label.js +3 -3
  189. package/build/jetpack-compose/components/Menu/src/components/Menu.d.ts +2 -2
  190. package/build/jetpack-compose/components/Menu/src/components/Menu.js +26 -26
  191. package/build/jetpack-compose/components/Menu/src/components/Trigger.js +7 -7
  192. package/build/jetpack-compose/components/Menu/src/context.d.ts +8 -6
  193. package/build/jetpack-compose/components/Menu/src/utils.js +3 -3
  194. package/build/jetpack-compose/components/PagePicker/Item.js +11 -11
  195. package/build/jetpack-compose/components/PagePicker/Picker.js +5 -5
  196. package/build/jetpack-compose/components/PagePicker/context/index.d.ts +1 -1
  197. package/build/jetpack-compose/components/PagePicker/context/index.js +8 -8
  198. package/build/jetpack-compose/components/PullToRefreshBox.js +1 -1
  199. package/build/jetpack-compose/components/SearchBar.d.ts +1 -1
  200. package/build/jetpack-compose/components/SearchBar.js +1 -1
  201. package/build/jetpack-compose/components/Section/components/Column.d.ts +1 -1
  202. package/build/jetpack-compose/components/Section/components/Column.js +3 -3
  203. package/build/jetpack-compose/components/Section/components/Section.js +18 -18
  204. package/build/jetpack-compose/components/Section/components/Slot.d.ts +1 -1
  205. package/build/jetpack-compose/components/Section/components/Slot.js +3 -3
  206. package/build/jetpack-compose/components/SectionHost/index.d.ts +1 -1
  207. package/build/jetpack-compose/components/SectionHost/index.js +3 -3
  208. package/build/jetpack-compose/components/TextField.d.ts +1 -1
  209. package/build/jetpack-compose/components/TextField.js +1 -1
  210. package/build/jetpack-compose/components/TextSlot.js +2 -3
  211. package/build/jetpack-compose/extended-theme/assets/Colors/index.js +2 -2
  212. package/build/jetpack-compose/modifiers/flexWeight.d.ts +1 -1
  213. package/build/jetpack-compose/modifiers/heightIn.d.ts +1 -1
  214. package/build/swift-ui/Image.js +2 -2
  215. package/build/swift-ui/ListItem.js +2 -2
  216. package/build/swift-ui/Slot.js +2 -2
  217. package/build/swift-ui/Text.js +2 -2
  218. package/build/universal/Column/index.android.js +2 -2
  219. package/build/universal/Column/index.ios.js +2 -2
  220. package/build/universal/Column/index.js +2 -2
  221. package/build/universal/Host/index.ios.js +2 -2
  222. package/build/universal/Row/index.android.js +2 -2
  223. package/build/universal/Row/index.ios.js +2 -2
  224. package/build/universal/Row/index.js +2 -2
  225. package/expo-module.config.json +11 -11
  226. package/ios/ChevronForwardView.swift +21 -21
  227. package/ios/GradientView.swift +40 -40
  228. package/ios/ImageView.swift +32 -32
  229. package/ios/ListItem.swift +161 -161
  230. package/ios/PytechUi.podspec +24 -24
  231. package/ios/PytechUiModule.swift +15 -15
  232. package/ios/SlotView.swift +107 -107
  233. package/ios/_shared/utils.swift +58 -58
  234. package/package.json +19 -15
@@ -1,15 +1,15 @@
1
- import ExpoModulesCore
2
- import ExpoUI
3
-
4
- public class PytechUiModule: Module {
5
- public func definition() -> ModuleDefinition {
6
- Name("PytechUi")
7
-
8
- View(SlotView.self)
9
-
10
- ExpoUIView(ChevronForwardView.self)
11
- ExpoUIView(GradientView.self)
12
- ExpoUIView(ImageView.self)
13
- ExpoUIView(ListItemView.self)
14
- }
15
- }
1
+ import ExpoModulesCore
2
+ import ExpoUI
3
+
4
+ public class PytechUiModule: Module {
5
+ public func definition() -> ModuleDefinition {
6
+ Name("PytechUi")
7
+
8
+ View(SlotView.self)
9
+
10
+ ExpoUIView(ChevronForwardView.self)
11
+ ExpoUIView(GradientView.self)
12
+ ExpoUIView(ImageView.self)
13
+ ExpoUIView(ListItemView.self)
14
+ }
15
+ }
@@ -1,107 +1,107 @@
1
- import SwiftUI
2
- import ExpoModulesCore
3
- import ExpoUI
4
-
5
-
6
-
7
- internal final class SlotViewProps: ExpoSwiftUI.ViewProps {
8
- @Field var name: String = ""
9
- @Field var extraProps: [String: Any]?
10
- }
11
-
12
- internal struct SlotView: ExpoSwiftUI.View {
13
- @ObservedObject var props: SlotViewProps
14
-
15
- init(props: SlotViewProps) {
16
- self.props = props
17
- }
18
-
19
- var body: some View {
20
- Children()
21
- }
22
-
23
- func extra<T>(_ key: String, as type: T.Type = T.self) -> T? {
24
- return props.extraProps?[key] as? T
25
- }
26
- }
27
-
28
- extension [any ExpoSwiftUI.AnyChild] {
29
- func slot(_ name: String) -> SlotView? {
30
- compactMap { $0.childView as? SlotView }
31
- .first { $0.props.name == name }
32
- }
33
-
34
- func withoutSlot(_ name: String) -> [any ExpoSwiftUI.AnyChild] {
35
- filter {
36
- guard let slot = $0.childView as? SlotView else { return true }
37
- return slot.props.name != name
38
- }
39
- }
40
-
41
- func withoutSlots() -> [any ExpoSwiftUI.AnyChild] {
42
- filter { !($0.childView is SlotView) }
43
- }
44
- }
45
-
46
-
47
- /**
48
- Le agrega una función para obtener el texto directo del slot.
49
- Esto es útil para los slots que contienen nuestro `<Text>` (slot "text" → TextView).
50
- Por ejemplo, si el slot contiene nuestro `<Text>` (slot "text" → TextView), devuelve el string.
51
- Si no, devuelve nil.
52
-
53
- Ejemplo:
54
- <Slot name="text">
55
- <Text>Hello</Text>
56
- </Slot>
57
- */
58
- extension SlotView {
59
- var isTextContent: Bool {
60
- props.children?.slot("text") != nil || textContent() != nil
61
- }
62
-
63
- @ViewBuilder
64
- func renderedContent(defaultFont: Font = .body, secondary: Bool = false) -> some View {
65
- if isTextContent {
66
- if let textSlot = props.children?.slot("text") {
67
- if secondary {
68
- textSlot
69
- .font(defaultFont)
70
- .foregroundStyle(.secondary)
71
- } else {
72
- textSlot
73
- }
74
- } else if secondary {
75
- self
76
- .font(defaultFont)
77
- .foregroundStyle(.secondary)
78
- } else {
79
- self
80
- }
81
- } else {
82
- self
83
- }
84
- }
85
-
86
- func textContent() -> String? {
87
- if let textSlot = props.children?.slot("text") {
88
- return textSlot.directTextContent()
89
- }
90
- return directTextContent()
91
- }
92
-
93
- fileprivate func directTextContent() -> String? {
94
- guard let children = props.children else { return nil }
95
-
96
- for child in children {
97
- if let textView = child.childView as? TextView {
98
- let text = textView.props.text
99
- if !text.isEmpty {
100
- return text
101
- }
102
- }
103
- }
104
-
105
- return nil
106
- }
107
- }
1
+ import SwiftUI
2
+ import ExpoModulesCore
3
+ import ExpoUI
4
+
5
+
6
+
7
+ internal final class SlotViewProps: ExpoSwiftUI.ViewProps {
8
+ @Field var name: String = ""
9
+ @Field var extraProps: [String: Any]?
10
+ }
11
+
12
+ internal struct SlotView: ExpoSwiftUI.View {
13
+ @ObservedObject var props: SlotViewProps
14
+
15
+ init(props: SlotViewProps) {
16
+ self.props = props
17
+ }
18
+
19
+ var body: some View {
20
+ Children()
21
+ }
22
+
23
+ func extra<T>(_ key: String, as type: T.Type = T.self) -> T? {
24
+ return props.extraProps?[key] as? T
25
+ }
26
+ }
27
+
28
+ extension [any ExpoSwiftUI.AnyChild] {
29
+ func slot(_ name: String) -> SlotView? {
30
+ compactMap { $0.childView as? SlotView }
31
+ .first { $0.props.name == name }
32
+ }
33
+
34
+ func withoutSlot(_ name: String) -> [any ExpoSwiftUI.AnyChild] {
35
+ filter {
36
+ guard let slot = $0.childView as? SlotView else { return true }
37
+ return slot.props.name != name
38
+ }
39
+ }
40
+
41
+ func withoutSlots() -> [any ExpoSwiftUI.AnyChild] {
42
+ filter { !($0.childView is SlotView) }
43
+ }
44
+ }
45
+
46
+
47
+ /**
48
+ Le agrega una función para obtener el texto directo del slot.
49
+ Esto es útil para los slots que contienen nuestro `<Text>` (slot "text" → TextView).
50
+ Por ejemplo, si el slot contiene nuestro `<Text>` (slot "text" → TextView), devuelve el string.
51
+ Si no, devuelve nil.
52
+
53
+ Ejemplo:
54
+ <Slot name="text">
55
+ <Text>Hello</Text>
56
+ </Slot>
57
+ */
58
+ extension SlotView {
59
+ var isTextContent: Bool {
60
+ props.children?.slot("text") != nil || textContent() != nil
61
+ }
62
+
63
+ @ViewBuilder
64
+ func renderedContent(defaultFont: Font = .body, secondary: Bool = false) -> some View {
65
+ if isTextContent {
66
+ if let textSlot = props.children?.slot("text") {
67
+ if secondary {
68
+ textSlot
69
+ .font(defaultFont)
70
+ .foregroundStyle(.secondary)
71
+ } else {
72
+ textSlot
73
+ }
74
+ } else if secondary {
75
+ self
76
+ .font(defaultFont)
77
+ .foregroundStyle(.secondary)
78
+ } else {
79
+ self
80
+ }
81
+ } else {
82
+ self
83
+ }
84
+ }
85
+
86
+ func textContent() -> String? {
87
+ if let textSlot = props.children?.slot("text") {
88
+ return textSlot.directTextContent()
89
+ }
90
+ return directTextContent()
91
+ }
92
+
93
+ fileprivate func directTextContent() -> String? {
94
+ guard let children = props.children else { return nil }
95
+
96
+ for child in children {
97
+ if let textView = child.childView as? TextView {
98
+ let text = textView.props.text
99
+ if !text.isEmpty {
100
+ return text
101
+ }
102
+ }
103
+ }
104
+
105
+ return nil
106
+ }
107
+ }
@@ -1,58 +1,58 @@
1
- import SwiftUI
2
- import ExpoModulesCore
3
- import ExpoUI
4
-
5
-
6
-
7
- // Coloca los insets a una view, segun lo que se le pase.
8
- protocol ListRowInsetsProviding {
9
- var vertical: Double? { get }
10
- var horizontal: Double? { get }
11
- var top: Double? { get }
12
- var bottom: Double? { get }
13
- var leading: Double? { get }
14
- var trailing: Double? { get }
15
- }
16
-
17
- @available(iOS 26.0, *)
18
- func applyEdgeInsets<V: View, I: ListRowInsetsProviding>(to content: V, insets: I) -> some View {
19
- let orderedInsets: [(Edge.Set, Double?)] = [
20
- (.vertical, insets.vertical),
21
- (.horizontal, insets.horizontal),
22
- (.top, insets.top),
23
- (.bottom, insets.bottom),
24
- (.leading, insets.leading),
25
- (.trailing, insets.trailing),
26
- ]
27
-
28
- return orderedInsets.reduce(AnyView(content)) { view, item in
29
- guard let value = item.1 else { return view }
30
- return AnyView(view.listRowInsets(item.0, CGFloat(value)))
31
- }
32
- }
33
-
34
-
35
- // Renderiza un componente o un texto (si existe el slot)
36
- @ViewBuilder
37
- func slotContent(
38
- in children: [any ExpoSwiftUI.AnyChild]?,
39
- named name: String,
40
- font: Font = .body,
41
- secondary: Bool = false
42
- ) -> some View {
43
- if let slot = children?.slot(name) {
44
- slot.renderedContent(defaultFont: font, secondary: secondary)
45
- }
46
- }
47
-
48
- @ViewBuilder
49
- func pressableRow<Content: View>(
50
- onPress: EventDispatcher,
51
- @ViewBuilder content: () -> Content
52
- ) -> some View {
53
- Button {
54
- onPress()
55
- } label: {
56
- content()
57
- }
58
- }
1
+ import SwiftUI
2
+ import ExpoModulesCore
3
+ import ExpoUI
4
+
5
+
6
+
7
+ // Coloca los insets a una view, segun lo que se le pase.
8
+ protocol ListRowInsetsProviding {
9
+ var vertical: Double? { get }
10
+ var horizontal: Double? { get }
11
+ var top: Double? { get }
12
+ var bottom: Double? { get }
13
+ var leading: Double? { get }
14
+ var trailing: Double? { get }
15
+ }
16
+
17
+ @available(iOS 26.0, *)
18
+ func applyEdgeInsets<V: View, I: ListRowInsetsProviding>(to content: V, insets: I) -> some View {
19
+ let orderedInsets: [(Edge.Set, Double?)] = [
20
+ (.vertical, insets.vertical),
21
+ (.horizontal, insets.horizontal),
22
+ (.top, insets.top),
23
+ (.bottom, insets.bottom),
24
+ (.leading, insets.leading),
25
+ (.trailing, insets.trailing),
26
+ ]
27
+
28
+ return orderedInsets.reduce(AnyView(content)) { view, item in
29
+ guard let value = item.1 else { return view }
30
+ return AnyView(view.listRowInsets(item.0, CGFloat(value)))
31
+ }
32
+ }
33
+
34
+
35
+ // Renderiza un componente o un texto (si existe el slot)
36
+ @ViewBuilder
37
+ func slotContent(
38
+ in children: [any ExpoSwiftUI.AnyChild]?,
39
+ named name: String,
40
+ font: Font = .body,
41
+ secondary: Bool = false
42
+ ) -> some View {
43
+ if let slot = children?.slot(name) {
44
+ slot.renderedContent(defaultFont: font, secondary: secondary)
45
+ }
46
+ }
47
+
48
+ @ViewBuilder
49
+ func pressableRow<Content: View>(
50
+ onPress: EventDispatcher,
51
+ @ViewBuilder content: () -> Content
52
+ ) -> some View {
53
+ Button {
54
+ onPress()
55
+ } label: {
56
+ content()
57
+ }
58
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pytech-ui",
3
- "version": "1.0.30",
3
+ "version": "1.0.31",
4
4
  "description": "Librería de componentes de UI para Pytech",
5
5
  "keywords": [
6
6
  "react-native",
@@ -63,23 +63,27 @@
63
63
  },
64
64
  "dependencies": {
65
65
  "color2k": "^2.0.4",
66
- "date-fns": "^4.1.0",
67
- "expo-constants": "~57.0.17",
68
- "expo-device": "~57.0.1",
69
- "expo-router": "~57.0.20",
70
- "sf-symbols-typescript": "^1.0.0"
66
+ "date-fns": "^4.4.0",
67
+ "expo": "~58.0.23",
68
+ "expo-constants": "~58.0.15",
69
+ "expo-device": "~58.0.5",
70
+ "expo-font": "~58.0.11",
71
+ "expo-linking": "~58.0.16",
72
+ "expo-router": "~58.0.30",
73
+ "react-native-safe-area-context": "~5.11.1",
74
+ "sf-symbols-typescript": "^2.2.0"
71
75
  },
72
76
  "devDependencies": {
73
- "@expo/ui": "~57.0.17",
74
- "@expo/vector-icons": "^15.0.2",
75
- "@types/react": "~19.2.2",
77
+ "@expo/ui": "~58.0.27",
78
+ "@expo/vector-icons": "^15.1.1",
79
+ "@types/react": "~19.3.0",
76
80
  "copyfiles": "^2.4.1",
77
- "expo": "~57.0.21",
78
- "react": "19.2.3",
79
- "react-dom": "19.2.3",
80
- "react-native": "0.86.3",
81
- "tsc-alias": "^1.9.4",
82
- "typescript": "^5.9.2"
81
+ "expo": "~58.0.23",
82
+ "react": "19.3.0",
83
+ "react-dom": "19.3.0",
84
+ "react-native": "0.88.1",
85
+ "tsc-alias": "^1.9.10",
86
+ "typescript": "~6.0.3"
83
87
  },
84
88
  "peerDependencies": {
85
89
  "@expo/ui": "*",