pytech-ui 1.0.17 → 1.0.21
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.
- package/build/constants/gradient.d.ts +95 -0
- package/build/constants/gradient.js +96 -0
- package/build/contexts/app/src/Head/index.web.js +12 -12
- package/build/contexts/router/index.js +2 -2
- package/build/jetpack-compose/components/Color/auto-generated/Colors.d.ts +45 -0
- package/build/jetpack-compose/components/Color/auto-generated/Colors.js +6 -0
- package/build/jetpack-compose/components/Columns/CommonColumn/index.d.ts +5 -0
- package/build/jetpack-compose/components/Columns/CommonColumn/index.js +39 -0
- package/build/jetpack-compose/components/Columns/CommonColumn/types.d.ts +18 -0
- package/build/jetpack-compose/components/Columns/CommonColumn/types.js +2 -0
- package/build/jetpack-compose/components/Columns/CommonColumn/utils.d.ts +3 -0
- package/build/jetpack-compose/components/Columns/CommonColumn/utils.js +20 -0
- package/build/jetpack-compose/components/Columns/index.d.ts +4 -0
- package/build/jetpack-compose/components/Columns/index.js +11 -0
- package/build/jetpack-compose/components/Columns/types.d.ts +10 -0
- package/build/jetpack-compose/components/Columns/types.js +2 -0
- package/build/jetpack-compose/components/Dialog.d.ts +7 -0
- package/build/jetpack-compose/components/Dialog.js +9 -0
- package/build/jetpack-compose/components/DropdownMenu/index.d.ts +38 -0
- package/build/jetpack-compose/components/DropdownMenu/index.js +30 -0
- package/build/jetpack-compose/components/DropdownPicker/Picker.d.ts +16 -0
- package/build/jetpack-compose/components/DropdownPicker/Picker.js +77 -0
- package/build/jetpack-compose/components/DropdownPicker/PickerItem.d.ts +14 -0
- package/build/jetpack-compose/components/DropdownPicker/PickerItem.js +40 -0
- package/build/jetpack-compose/components/DropdownPicker/context.d.ts +21 -0
- package/build/jetpack-compose/components/DropdownPicker/context.js +32 -0
- package/build/jetpack-compose/components/DropdownPicker/index.d.ts +2 -0
- package/build/jetpack-compose/components/DropdownPicker/index.js +7 -0
- package/build/jetpack-compose/components/DropdownPicker/types.d.ts +36 -0
- package/build/jetpack-compose/components/DropdownPicker/types.js +2 -0
- package/build/jetpack-compose/components/ForEach/index.d.ts +4 -0
- package/build/jetpack-compose/components/ForEach/index.js +6 -0
- package/build/jetpack-compose/components/ForEach/src/ForEach.d.ts +16 -0
- package/build/jetpack-compose/components/ForEach/src/ForEach.js +55 -0
- package/build/jetpack-compose/components/ForEach/src/ListItem.d.ts +5 -0
- package/build/jetpack-compose/components/ForEach/src/ListItem.js +7 -0
- package/build/jetpack-compose/components/ForEach/src/types.d.ts +74 -0
- package/build/jetpack-compose/components/ForEach/src/types.js +2 -0
- package/build/jetpack-compose/components/ForEach/src/utils/keyExtractor.d.ts +1 -0
- package/build/jetpack-compose/components/ForEach/src/utils/keyExtractor.js +12 -0
- package/build/jetpack-compose/components/ForEach/src/utils/resolveListItemElement.d.ts +3 -0
- package/build/jetpack-compose/components/ForEach/src/utils/resolveListItemElement.js +43 -0
- package/build/jetpack-compose/components/Gradient/Gradient.d.ts +3 -0
- package/build/jetpack-compose/components/Gradient/Gradient.js +25 -0
- package/build/jetpack-compose/components/Gradient/index.d.ts +2 -0
- package/build/jetpack-compose/components/Gradient/index.js +6 -0
- package/build/jetpack-compose/components/Gradient/types.d.ts +51 -0
- package/build/jetpack-compose/components/Gradient/types.js +2 -0
- package/build/jetpack-compose/components/Host.d.ts +3 -0
- package/build/jetpack-compose/components/Host.js +12 -0
- package/build/jetpack-compose/components/Icon/Icon/Icon.d.ts +3 -0
- package/build/jetpack-compose/components/Icon/Icon/Icon.js +12 -0
- package/build/jetpack-compose/components/Icon/Icon/index.d.ts +2 -0
- package/build/jetpack-compose/components/Icon/Icon/index.js +8 -0
- package/build/jetpack-compose/components/Icon/Icon/types.d.ts +15 -0
- package/build/jetpack-compose/components/Icon/Icon/types.js +2 -0
- package/build/jetpack-compose/components/Icon/index.d.ts +13 -0
- package/build/jetpack-compose/components/Icon/index.js +10 -0
- package/build/jetpack-compose/components/IconSection/IconSection.d.ts +3 -0
- package/build/jetpack-compose/components/IconSection/IconSection.js +35 -0
- package/build/jetpack-compose/components/IconSection/index.d.ts +2 -0
- package/build/jetpack-compose/components/IconSection/index.js +8 -0
- package/build/jetpack-compose/components/IconSection/types.d.ts +25 -0
- package/build/jetpack-compose/components/IconSection/types.js +2 -0
- package/build/jetpack-compose/components/IconSection/utils.d.ts +6 -0
- package/build/jetpack-compose/components/IconSection/utils.js +21 -0
- package/build/jetpack-compose/components/List/CommonColumn.d.ts +3 -0
- package/build/jetpack-compose/components/List/CommonColumn.js +28 -0
- package/build/jetpack-compose/components/List/index.d.ts +7 -0
- package/build/jetpack-compose/components/List/index.js +41 -0
- package/build/jetpack-compose/components/List/types.d.ts +31 -0
- package/build/jetpack-compose/components/List/types.js +2 -0
- package/build/jetpack-compose/components/ListItem/SlotListItem.d.ts +40 -0
- package/build/jetpack-compose/components/ListItem/SlotListItem.js +65 -0
- package/build/jetpack-compose/components/ListItem/index.d.ts +2 -0
- package/build/jetpack-compose/components/ListItem/index.js +6 -0
- package/build/jetpack-compose/components/Menu/index.d.ts +3 -0
- package/build/jetpack-compose/components/Menu/index.js +9 -0
- package/build/jetpack-compose/components/Menu/src/components/Divider.d.ts +2 -0
- package/build/jetpack-compose/components/Menu/src/components/Divider.js +12 -0
- package/build/jetpack-compose/components/Menu/src/components/Icon.d.ts +7 -0
- package/build/jetpack-compose/components/Menu/src/components/Icon.js +6 -0
- package/build/jetpack-compose/components/Menu/src/components/Item.d.ts +22 -0
- package/build/jetpack-compose/components/Menu/src/components/Item.js +67 -0
- package/build/jetpack-compose/components/Menu/src/components/Label.d.ts +7 -0
- package/build/jetpack-compose/components/Menu/src/components/Label.js +8 -0
- package/build/jetpack-compose/components/Menu/src/components/Menu.d.ts +31 -0
- package/build/jetpack-compose/components/Menu/src/components/Menu.js +125 -0
- package/build/jetpack-compose/components/Menu/src/components/Trigger.d.ts +15 -0
- package/build/jetpack-compose/components/Menu/src/components/Trigger.js +26 -0
- package/build/jetpack-compose/components/Menu/src/context.d.ts +18 -0
- package/build/jetpack-compose/components/Menu/src/context.js +22 -0
- package/build/jetpack-compose/components/Menu/src/utils.d.ts +11 -0
- package/build/jetpack-compose/components/Menu/src/utils.js +73 -0
- package/build/jetpack-compose/components/PagePicker/Item.d.ts +13 -0
- package/build/jetpack-compose/components/PagePicker/Item.js +83 -0
- package/build/jetpack-compose/components/PagePicker/Picker.d.ts +4 -0
- package/build/jetpack-compose/components/PagePicker/Picker.js +16 -0
- package/build/jetpack-compose/components/PagePicker/context/index.d.ts +9 -0
- package/build/jetpack-compose/components/PagePicker/context/index.js +90 -0
- package/build/jetpack-compose/components/PagePicker/context/types.d.ts +17 -0
- package/build/jetpack-compose/components/PagePicker/context/types.js +2 -0
- package/build/jetpack-compose/components/PagePicker/index.d.ts +2 -0
- package/build/jetpack-compose/components/PagePicker/index.js +10 -0
- package/build/jetpack-compose/components/PagePicker/types.d.ts +26 -0
- package/build/jetpack-compose/components/PagePicker/types.js +2 -0
- package/build/jetpack-compose/components/PullToRefreshBox.d.ts +3 -0
- package/build/jetpack-compose/components/PullToRefreshBox.js +26 -0
- package/build/jetpack-compose/components/SearchBar.d.ts +19 -0
- package/build/jetpack-compose/components/SearchBar.js +12 -0
- package/build/jetpack-compose/components/Section/components/Column.d.ts +6 -0
- package/build/jetpack-compose/components/Section/components/Column.js +20 -0
- package/build/jetpack-compose/components/Section/components/Section.d.ts +7 -0
- package/build/jetpack-compose/components/Section/components/Section.js +67 -0
- package/build/jetpack-compose/components/Section/components/Slot.d.ts +7 -0
- package/build/jetpack-compose/components/Section/components/Slot.js +7 -0
- package/build/jetpack-compose/components/Section/index.d.ts +2 -0
- package/build/jetpack-compose/components/Section/index.js +9 -0
- package/build/jetpack-compose/components/Section/sectionChildren.d.ts +7 -0
- package/build/jetpack-compose/components/Section/sectionChildren.js +60 -0
- package/build/jetpack-compose/components/Section/types.d.ts +15 -0
- package/build/jetpack-compose/components/Section/types.js +2 -0
- package/build/jetpack-compose/components/SectionHost/index.d.ts +12 -0
- package/build/jetpack-compose/components/SectionHost/index.js +23 -0
- package/build/jetpack-compose/components/Surface.d.ts +8 -0
- package/build/jetpack-compose/components/Surface.js +11 -0
- package/build/jetpack-compose/components/TextField.d.ts +39 -0
- package/build/jetpack-compose/components/TextField.js +39 -0
- package/build/jetpack-compose/components/TextSlot.d.ts +13 -0
- package/build/jetpack-compose/components/TextSlot.js +59 -0
- package/build/jetpack-compose/extended-theme/assets/Colors/Colors.d.ts +47 -0
- package/build/jetpack-compose/extended-theme/assets/Colors/Colors.js +6 -0
- package/build/jetpack-compose/extended-theme/assets/Colors/index.d.ts +5 -0
- package/build/jetpack-compose/extended-theme/assets/Colors/index.js +26 -0
- package/build/jetpack-compose/extended-theme/assets/Constants/index.d.ts +8 -0
- package/build/jetpack-compose/extended-theme/assets/Constants/index.js +11 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/AppBarLargeFlexibleTokens.d.ts +8 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/AppBarLargeFlexibleTokens.js +13 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/AppBarLargeTokens.d.ts +7 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/AppBarLargeTokens.js +12 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/AppBarMediumFlexibleTokens.d.ts +8 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/AppBarMediumFlexibleTokens.js +13 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/AppBarMediumTokens.d.ts +7 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/AppBarMediumTokens.js +12 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/AppBarSmallTokens.d.ts +7 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/AppBarSmallTokens.js +12 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/AppBarTokens.d.ts +11 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/AppBarTokens.js +16 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/AssistChipTokens.d.ts +13 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/AssistChipTokens.js +18 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/BadgeTokens.d.ts +8 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/BadgeTokens.js +13 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/BaselineButtonTokens.d.ts +14 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/BaselineButtonTokens.js +19 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/BottomAppBarTokens.d.ts +7 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/BottomAppBarTokens.js +12 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ButtonGroupSmallTokens.d.ts +8 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ButtonGroupSmallTokens.js +13 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ButtonLargeTokens.d.ts +12 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ButtonLargeTokens.js +17 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ButtonMediumTokens.d.ts +12 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ButtonMediumTokens.js +17 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ButtonSmallTokens.d.ts +12 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ButtonSmallTokens.js +17 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ButtonXLargeTokens.d.ts +12 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ButtonXLargeTokens.js +17 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ButtonXSmallTokens.d.ts +12 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ButtonXSmallTokens.js +17 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/CheckboxTokens.d.ts +21 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/CheckboxTokens.js +27 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/CircularProgressIndicatorTokens.d.ts +13 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/CircularProgressIndicatorTokens.js +18 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ConnectedButtonGroupSmallTokens.d.ts +9 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ConnectedButtonGroupSmallTokens.js +14 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/DateInputModalTokens.d.ts +10 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/DateInputModalTokens.js +15 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/DatePickerModalTokens.d.ts +21 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/DatePickerModalTokens.js +26 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/DialogTokens.d.ts +7 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/DialogTokens.js +12 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/DividerTokens.d.ts +7 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/DividerTokens.js +12 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/DockedToolbarTokens.d.ts +11 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/DockedToolbarTokens.js +16 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/DragHandleTokens.d.ts +13 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/DragHandleTokens.js +18 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ElevatedButtonTokens.d.ts +9 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ElevatedButtonTokens.js +14 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ElevatedCardTokens.d.ts +8 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ElevatedCardTokens.js +13 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ElevationTokens.d.ts +12 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ElevationTokens.js +17 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ExpressiveMotionTokens.d.ts +18 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ExpressiveMotionTokens.js +23 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ExtendedFabLargeTokens.d.ts +11 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ExtendedFabLargeTokens.js +16 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ExtendedFabMediumTokens.d.ts +11 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ExtendedFabMediumTokens.js +17 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ExtendedFabPrimaryTokens.d.ts +8 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ExtendedFabPrimaryTokens.js +13 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ExtendedFabSmallTokens.d.ts +11 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ExtendedFabSmallTokens.js +16 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FabBaselineTokens.d.ts +9 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FabBaselineTokens.js +14 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FabLargeTokens.d.ts +9 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FabLargeTokens.js +14 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FabMediumTokens.d.ts +9 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FabMediumTokens.js +15 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FabMenuBaselineTokens.d.ts +16 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FabMenuBaselineTokens.js +21 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FabSmallTokens.d.ts +9 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FabSmallTokens.js +14 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FilledAutocompleteTokens.d.ts +19 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FilledAutocompleteTokens.js +24 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FilledButtonTokens.d.ts +9 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FilledButtonTokens.js +14 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FilledCardTokens.d.ts +8 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FilledCardTokens.js +13 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FilledIconButtonTokens.d.ts +8 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FilledIconButtonTokens.js +13 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FilledTextFieldTokens.d.ts +19 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FilledTextFieldTokens.js +24 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FilledTonalButtonTokens.d.ts +11 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FilledTonalButtonTokens.js +16 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FilledTonalIconButtonTokens.d.ts +8 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FilledTonalIconButtonTokens.js +13 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FilterChipTokens.d.ts +16 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FilterChipTokens.js +21 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FloatingToolbarTokens.d.ts +11 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/FloatingToolbarTokens.js +16 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/IconButtonTokens.d.ts +7 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/IconButtonTokens.js +12 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/InputChipTokens.d.ts +18 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/InputChipTokens.js +23 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/LargeIconButtonTokens.d.ts +15 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/LargeIconButtonTokens.js +20 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/LinearProgressIndicatorTokens.d.ts +16 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/LinearProgressIndicatorTokens.js +21 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ListTokens.d.ts +45 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ListTokens.js +50 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/LoadingIndicatorTokens.d.ts +9 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/LoadingIndicatorTokens.js +14 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/MediumIconButtonTokens.d.ts +15 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/MediumIconButtonTokens.js +20 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/MotionTokens.d.ts +22 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/MotionTokens.js +37 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/NavigationBarHorizontalItemTokens.d.ts +10 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/NavigationBarHorizontalItemTokens.js +15 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/NavigationBarTokens.d.ts +10 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/NavigationBarTokens.js +16 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/NavigationBarVerticalItemTokens.d.ts +10 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/NavigationBarVerticalItemTokens.js +15 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/NavigationDrawerTokens.d.ts +11 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/NavigationDrawerTokens.js +16 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/NavigationRailBaselineItemTokens.d.ts +13 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/NavigationRailBaselineItemTokens.js +18 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/NavigationRailCollapsedTokens.d.ts +10 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/NavigationRailCollapsedTokens.js +16 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/NavigationRailExpandedTokens.d.ts +9 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/NavigationRailExpandedTokens.js +15 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/NavigationRailHorizontalItemTokens.d.ts +11 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/NavigationRailHorizontalItemTokens.js +17 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/NavigationRailVerticalItemTokens.d.ts +11 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/NavigationRailVerticalItemTokens.js +17 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/OutlinedAutocompleteTokens.d.ts +18 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/OutlinedAutocompleteTokens.js +23 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/OutlinedButtonTokens.d.ts +9 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/OutlinedButtonTokens.js +14 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/OutlinedCardTokens.d.ts +9 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/OutlinedCardTokens.js +14 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/OutlinedIconButtonTokens.d.ts +8 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/OutlinedIconButtonTokens.js +13 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/OutlinedSegmentedButtonTokens.d.ts +12 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/OutlinedSegmentedButtonTokens.js +17 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/OutlinedTextFieldTokens.d.ts +19 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/OutlinedTextFieldTokens.js +24 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/PrimaryNavigationTabTokens.d.ts +10 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/PrimaryNavigationTabTokens.js +16 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/RadioButtonTokens.d.ts +10 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/RadioButtonTokens.js +15 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ScrimTokens.d.ts +7 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ScrimTokens.js +12 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SearchBarTokens.d.ts +8 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SearchBarTokens.js +13 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SearchViewTokens.d.ts +8 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SearchViewTokens.js +13 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SecondaryNavigationTabTokens.d.ts +9 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SecondaryNavigationTabTokens.js +14 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SegmentedMenuTokens.d.ts +30 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SegmentedMenuTokens.js +35 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ShapeTokens.d.ts +15 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/ShapeTokens.js +58 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SheetBottomTokens.d.ts +8 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SheetBottomTokens.js +13 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SliderTokens.d.ts +27 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SliderTokens.js +32 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SmallIconButtonTokens.d.ts +15 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SmallIconButtonTokens.js +20 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SnackbarTokens.d.ts +9 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SnackbarTokens.js +14 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SplitButtonLargeTokens.d.ts +14 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SplitButtonLargeTokens.js +19 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SplitButtonMediumTokens.d.ts +14 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SplitButtonMediumTokens.js +19 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SplitButtonSmallTokens.d.ts +14 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SplitButtonSmallTokens.js +19 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SplitButtonXLargeTokens.d.ts +14 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SplitButtonXLargeTokens.js +19 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SplitButtonXSmallTokens.d.ts +15 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SplitButtonXSmallTokens.js +20 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/StandardMenuTokens.d.ts +15 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/StandardMenuTokens.js +20 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/StandardMotionTokens.d.ts +18 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/StandardMotionTokens.js +23 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/StateTokens.d.ts +10 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/StateTokens.js +15 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SuggestionChipTokens.d.ts +13 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SuggestionChipTokens.js +18 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SwitchTokens.d.ts +25 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/SwitchTokens.js +30 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/TextButtonTokens.d.ts +9 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/TextButtonTokens.js +14 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/TimeInputTokens.d.ts +12 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/TimeInputTokens.js +17 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/TimePickerTokens.d.ts +18 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/TimePickerTokens.js +23 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/TonalButtonTokens.d.ts +9 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/TonalButtonTokens.js +14 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/TypeScaleTokens.d.ts +59 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/TypeScaleTokens.js +65 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/VibrantMenuTokens.d.ts +16 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/VibrantMenuTokens.js +21 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/XLargeIconButtonTokens.d.ts +15 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/XLargeIconButtonTokens.js +20 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/XSmallIconButtonTokens.d.ts +15 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/assets/XSmallIconButtonTokens.js +20 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/index.d.ts +903 -0
- package/build/jetpack-compose/extended-theme/assets/Tokens/index.js +209 -0
- package/build/jetpack-compose/extended-theme/index.d.ts +3 -0
- package/build/jetpack-compose/extended-theme/index.js +19 -0
- package/build/jetpack-compose/index.d.ts +19 -1
- package/build/jetpack-compose/index.js +33 -0
- package/build/jetpack-compose/modifiers/backgroundLinearGradient.d.ts +21 -0
- package/build/jetpack-compose/modifiers/backgroundLinearGradient.js +16 -0
- package/build/jetpack-compose/modifiers/flexWeight.d.ts +15 -0
- package/build/jetpack-compose/modifiers/flexWeight.js +12 -0
- package/build/jetpack-compose/modifiers/heightIn.d.ts +17 -0
- package/build/jetpack-compose/modifiers/heightIn.js +12 -0
- package/build/jetpack-compose/modifiers/index.d.ts +3 -0
- package/build/jetpack-compose/modifiers/index.js +19 -0
- package/build/jetpack-compose/utils/index.d.ts +1 -0
- package/build/jetpack-compose/utils/index.js +17 -0
- package/build/jetpack-compose/utils/utils.d.ts +10 -0
- package/build/jetpack-compose/utils/utils.js +9 -0
- package/build/swift-ui/Image.js +2 -2
- package/build/swift-ui/ListItem.js +2 -2
- package/build/swift-ui/Slot.js +2 -2
- package/ios/ChevronForwardView.swift +21 -21
- package/ios/ImageView.swift +32 -32
- package/ios/ListItem.swift +161 -161
- package/ios/PytechUi.podspec +24 -24
- package/ios/PytechUiModule.swift +15 -15
- package/ios/SlotView.swift +107 -107
- package/package.json +2 -1
package/ios/ListItem.swift
CHANGED
|
@@ -1,161 +1,161 @@
|
|
|
1
|
-
import SwiftUI
|
|
2
|
-
import ExpoModulesCore
|
|
3
|
-
import ExpoUI
|
|
4
|
-
|
|
5
|
-
struct ListItemInsetsRecord: Record {
|
|
6
|
-
@Field var horizontal: Double?
|
|
7
|
-
@Field var vertical: Double?
|
|
8
|
-
@Field var top: Double?
|
|
9
|
-
@Field var bottom: Double?
|
|
10
|
-
@Field var leading: Double?
|
|
11
|
-
@Field var trailing: Double?
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
extension ListItemInsetsRecord: ListRowInsetsProviding {}
|
|
15
|
-
|
|
16
|
-
enum ListItemButtonRole: String, Enumerable {
|
|
17
|
-
case cancel
|
|
18
|
-
case destructive
|
|
19
|
-
|
|
20
|
-
var swiftUIRole: SwiftUI.ButtonRole {
|
|
21
|
-
switch self {
|
|
22
|
-
case .cancel:
|
|
23
|
-
return .cancel
|
|
24
|
-
case .destructive:
|
|
25
|
-
return .destructive
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
public final class ListItemViewProps: UIBaseViewProps {
|
|
31
|
-
@Field var hasNavigationLink: Bool = false
|
|
32
|
-
@Field var insets: ListItemInsetsRecord?
|
|
33
|
-
@Field var hasOnPress: Bool = false
|
|
34
|
-
@Field var buttonRole: ListItemButtonRole?
|
|
35
|
-
var onListItemPress = EventDispatcher()
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
struct ListItemView: ExpoSwiftUI.View {
|
|
39
|
-
@ObservedObject var props: ListItemViewProps
|
|
40
|
-
|
|
41
|
-
// Si se le pasan insets, y tiene una versión mínima de iOS 26, se aplican al item
|
|
42
|
-
var body: some View {
|
|
43
|
-
if #available(iOS 26.0, *) {
|
|
44
|
-
applyInsets(to: pressableRowContent)
|
|
45
|
-
} else {
|
|
46
|
-
pressableRowContent
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// Si se le envia un onPress sin navigation link, se coloca un Button sobre toda la row.
|
|
51
|
-
@ViewBuilder
|
|
52
|
-
private var pressableRowContent: some View {
|
|
53
|
-
if props.hasOnPress && !props.hasNavigationLink {
|
|
54
|
-
listItemButton {
|
|
55
|
-
rowContent
|
|
56
|
-
}
|
|
57
|
-
} else {
|
|
58
|
-
rowContent
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
@ViewBuilder
|
|
63
|
-
private var rowContent: some View {
|
|
64
|
-
if props.children?.slot("trailingContent") != nil || props.hasNavigationLink {
|
|
65
|
-
HStack {
|
|
66
|
-
if props.hasOnPress && props.hasNavigationLink {
|
|
67
|
-
SwiftUI.Button(action: {
|
|
68
|
-
props.onListItemPress()
|
|
69
|
-
}){
|
|
70
|
-
mainLabel
|
|
71
|
-
}
|
|
72
|
-
.foregroundStyle(.primary)
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
Spacer()
|
|
76
|
-
|
|
77
|
-
slotContent(in: props.children, named: "trailingContent", secondary: true)
|
|
78
|
-
|
|
79
|
-
if props.hasNavigationLink {
|
|
80
|
-
ChevronForward()
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
} else {
|
|
84
|
-
mainLabel
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
// Es para aplicar los insets al item. Los ejes se aplican primero; top/bottom/leading/trailing los sobrescriben.
|
|
89
|
-
@available(iOS 26.0, *)
|
|
90
|
-
@ViewBuilder
|
|
91
|
-
private func applyInsets(to content: some View) -> some View {
|
|
92
|
-
if let insets = props.insets {
|
|
93
|
-
applyEdgeInsets(to: content, insets: insets)
|
|
94
|
-
} else {
|
|
95
|
-
content
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
// Button con role aplicado.
|
|
100
|
-
@ViewBuilder
|
|
101
|
-
private func listItemButton<Label: View>(@ViewBuilder label: () -> Label) -> some View {
|
|
102
|
-
if let buttonRole = props.buttonRole {
|
|
103
|
-
Button(role: buttonRole.swiftUIRole) {
|
|
104
|
-
props.onListItemPress()
|
|
105
|
-
} label: {
|
|
106
|
-
label()
|
|
107
|
-
}
|
|
108
|
-
} else {
|
|
109
|
-
Button {
|
|
110
|
-
props.onListItemPress()
|
|
111
|
-
} label: {
|
|
112
|
-
label()
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
// Renderiza el leading, headline y supporting content.
|
|
118
|
-
@ViewBuilder
|
|
119
|
-
private var mainLabel: some View {
|
|
120
|
-
let leading = props.children?.slot("leadingContent")
|
|
121
|
-
let hasImage = leading?.props.children?.slot("image") != nil
|
|
122
|
-
|
|
123
|
-
if let leading {
|
|
124
|
-
if hasImage {
|
|
125
|
-
Label {
|
|
126
|
-
titleContent // Label ya apila título + subtítulo
|
|
127
|
-
} icon: {
|
|
128
|
-
leading.foregroundStyle(.blue)
|
|
129
|
-
}
|
|
130
|
-
} else {
|
|
131
|
-
HStack {
|
|
132
|
-
leading
|
|
133
|
-
alignedTitleContent
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
} else {
|
|
137
|
-
alignedTitleContent
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
// Se fija si tiene que llevar un VStack o no.
|
|
142
|
-
@ViewBuilder
|
|
143
|
-
private var alignedTitleContent: some View {
|
|
144
|
-
let hasSupporting = props.children?.slot("supportingContent") != nil
|
|
145
|
-
|
|
146
|
-
if hasSupporting {
|
|
147
|
-
VStack(alignment: .leading) {
|
|
148
|
-
titleContent
|
|
149
|
-
}
|
|
150
|
-
} else {
|
|
151
|
-
slotContent(in: props.children, named: "headlineContent")
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
// Renderiza el headline y supporting content dentro de Label o VStack.
|
|
156
|
-
@ViewBuilder
|
|
157
|
-
private var titleContent: some View {
|
|
158
|
-
slotContent(in: props.children, named: "headlineContent")
|
|
159
|
-
slotContent(in: props.children, named: "supportingContent", font: .subheadline, secondary: true)
|
|
160
|
-
}
|
|
161
|
-
}
|
|
1
|
+
import SwiftUI
|
|
2
|
+
import ExpoModulesCore
|
|
3
|
+
import ExpoUI
|
|
4
|
+
|
|
5
|
+
struct ListItemInsetsRecord: Record {
|
|
6
|
+
@Field var horizontal: Double?
|
|
7
|
+
@Field var vertical: Double?
|
|
8
|
+
@Field var top: Double?
|
|
9
|
+
@Field var bottom: Double?
|
|
10
|
+
@Field var leading: Double?
|
|
11
|
+
@Field var trailing: Double?
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
extension ListItemInsetsRecord: ListRowInsetsProviding {}
|
|
15
|
+
|
|
16
|
+
enum ListItemButtonRole: String, Enumerable {
|
|
17
|
+
case cancel
|
|
18
|
+
case destructive
|
|
19
|
+
|
|
20
|
+
var swiftUIRole: SwiftUI.ButtonRole {
|
|
21
|
+
switch self {
|
|
22
|
+
case .cancel:
|
|
23
|
+
return .cancel
|
|
24
|
+
case .destructive:
|
|
25
|
+
return .destructive
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
public final class ListItemViewProps: UIBaseViewProps {
|
|
31
|
+
@Field var hasNavigationLink: Bool = false
|
|
32
|
+
@Field var insets: ListItemInsetsRecord?
|
|
33
|
+
@Field var hasOnPress: Bool = false
|
|
34
|
+
@Field var buttonRole: ListItemButtonRole?
|
|
35
|
+
var onListItemPress = EventDispatcher()
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
struct ListItemView: ExpoSwiftUI.View {
|
|
39
|
+
@ObservedObject var props: ListItemViewProps
|
|
40
|
+
|
|
41
|
+
// Si se le pasan insets, y tiene una versión mínima de iOS 26, se aplican al item
|
|
42
|
+
var body: some View {
|
|
43
|
+
if #available(iOS 26.0, *) {
|
|
44
|
+
applyInsets(to: pressableRowContent)
|
|
45
|
+
} else {
|
|
46
|
+
pressableRowContent
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Si se le envia un onPress sin navigation link, se coloca un Button sobre toda la row.
|
|
51
|
+
@ViewBuilder
|
|
52
|
+
private var pressableRowContent: some View {
|
|
53
|
+
if props.hasOnPress && !props.hasNavigationLink {
|
|
54
|
+
listItemButton {
|
|
55
|
+
rowContent
|
|
56
|
+
}
|
|
57
|
+
} else {
|
|
58
|
+
rowContent
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
@ViewBuilder
|
|
63
|
+
private var rowContent: some View {
|
|
64
|
+
if props.children?.slot("trailingContent") != nil || props.hasNavigationLink {
|
|
65
|
+
HStack {
|
|
66
|
+
if props.hasOnPress && props.hasNavigationLink {
|
|
67
|
+
SwiftUI.Button(action: {
|
|
68
|
+
props.onListItemPress()
|
|
69
|
+
}){
|
|
70
|
+
mainLabel
|
|
71
|
+
}
|
|
72
|
+
.foregroundStyle(.primary)
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
Spacer()
|
|
76
|
+
|
|
77
|
+
slotContent(in: props.children, named: "trailingContent", secondary: true)
|
|
78
|
+
|
|
79
|
+
if props.hasNavigationLink {
|
|
80
|
+
ChevronForward()
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
} else {
|
|
84
|
+
mainLabel
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// Es para aplicar los insets al item. Los ejes se aplican primero; top/bottom/leading/trailing los sobrescriben.
|
|
89
|
+
@available(iOS 26.0, *)
|
|
90
|
+
@ViewBuilder
|
|
91
|
+
private func applyInsets(to content: some View) -> some View {
|
|
92
|
+
if let insets = props.insets {
|
|
93
|
+
applyEdgeInsets(to: content, insets: insets)
|
|
94
|
+
} else {
|
|
95
|
+
content
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// Button con role aplicado.
|
|
100
|
+
@ViewBuilder
|
|
101
|
+
private func listItemButton<Label: View>(@ViewBuilder label: () -> Label) -> some View {
|
|
102
|
+
if let buttonRole = props.buttonRole {
|
|
103
|
+
Button(role: buttonRole.swiftUIRole) {
|
|
104
|
+
props.onListItemPress()
|
|
105
|
+
} label: {
|
|
106
|
+
label()
|
|
107
|
+
}
|
|
108
|
+
} else {
|
|
109
|
+
Button {
|
|
110
|
+
props.onListItemPress()
|
|
111
|
+
} label: {
|
|
112
|
+
label()
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// Renderiza el leading, headline y supporting content.
|
|
118
|
+
@ViewBuilder
|
|
119
|
+
private var mainLabel: some View {
|
|
120
|
+
let leading = props.children?.slot("leadingContent")
|
|
121
|
+
let hasImage = leading?.props.children?.slot("image") != nil
|
|
122
|
+
|
|
123
|
+
if let leading {
|
|
124
|
+
if hasImage {
|
|
125
|
+
Label {
|
|
126
|
+
titleContent // Label ya apila título + subtítulo
|
|
127
|
+
} icon: {
|
|
128
|
+
leading.foregroundStyle(.blue)
|
|
129
|
+
}
|
|
130
|
+
} else {
|
|
131
|
+
HStack {
|
|
132
|
+
leading
|
|
133
|
+
alignedTitleContent
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
} else {
|
|
137
|
+
alignedTitleContent
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// Se fija si tiene que llevar un VStack o no.
|
|
142
|
+
@ViewBuilder
|
|
143
|
+
private var alignedTitleContent: some View {
|
|
144
|
+
let hasSupporting = props.children?.slot("supportingContent") != nil
|
|
145
|
+
|
|
146
|
+
if hasSupporting {
|
|
147
|
+
VStack(alignment: .leading) {
|
|
148
|
+
titleContent
|
|
149
|
+
}
|
|
150
|
+
} else {
|
|
151
|
+
slotContent(in: props.children, named: "headlineContent")
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
// Renderiza el headline y supporting content dentro de Label o VStack.
|
|
156
|
+
@ViewBuilder
|
|
157
|
+
private var titleContent: some View {
|
|
158
|
+
slotContent(in: props.children, named: "headlineContent")
|
|
159
|
+
slotContent(in: props.children, named: "supportingContent", font: .subheadline, secondary: true)
|
|
160
|
+
}
|
|
161
|
+
}
|
package/ios/PytechUi.podspec
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
Pod::Spec.new do |s|
|
|
2
|
-
s.name = 'PytechUi'
|
|
3
|
-
s.version = '1.0.3'
|
|
4
|
-
s.summary = 'Native SwiftUI components for pytech-ui'
|
|
5
|
-
s.description = 'Native SwiftUI components for pytech-ui'
|
|
6
|
-
s.author = 'Matias Tobias Gutierrez'
|
|
7
|
-
s.homepage = 'https://github.com/MatiTobi/UI#readme'
|
|
8
|
-
s.license = { :type => 'MIT' }
|
|
9
|
-
s.platforms = {
|
|
10
|
-
:ios => '16.4',
|
|
11
|
-
:tvos => '16.4'
|
|
12
|
-
}
|
|
13
|
-
s.source = { git: 'https://github.com/MatiTobi/UI.git' }
|
|
14
|
-
s.static_framework = true
|
|
15
|
-
|
|
16
|
-
s.dependency 'ExpoModulesCore'
|
|
17
|
-
s.dependency 'ExpoUI'
|
|
18
|
-
|
|
19
|
-
s.pod_target_xcconfig = {
|
|
20
|
-
'DEFINES_MODULE' => 'YES',
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
s.source_files = '**/*.{h,m,mm,swift,hpp,cpp}'
|
|
24
|
-
end
|
|
1
|
+
Pod::Spec.new do |s|
|
|
2
|
+
s.name = 'PytechUi'
|
|
3
|
+
s.version = '1.0.3'
|
|
4
|
+
s.summary = 'Native SwiftUI components for pytech-ui'
|
|
5
|
+
s.description = 'Native SwiftUI components for pytech-ui'
|
|
6
|
+
s.author = 'Matias Tobias Gutierrez'
|
|
7
|
+
s.homepage = 'https://github.com/MatiTobi/UI#readme'
|
|
8
|
+
s.license = { :type => 'MIT' }
|
|
9
|
+
s.platforms = {
|
|
10
|
+
:ios => '16.4',
|
|
11
|
+
:tvos => '16.4'
|
|
12
|
+
}
|
|
13
|
+
s.source = { git: 'https://github.com/MatiTobi/UI.git' }
|
|
14
|
+
s.static_framework = true
|
|
15
|
+
|
|
16
|
+
s.dependency 'ExpoModulesCore'
|
|
17
|
+
s.dependency 'ExpoUI'
|
|
18
|
+
|
|
19
|
+
s.pod_target_xcconfig = {
|
|
20
|
+
'DEFINES_MODULE' => 'YES',
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
s.source_files = '**/*.{h,m,mm,swift,hpp,cpp}'
|
|
24
|
+
end
|
package/ios/PytechUiModule.swift
CHANGED
|
@@ -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
|
+
}
|
package/ios/SlotView.swift
CHANGED
|
@@ -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
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pytech-ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.21",
|
|
4
4
|
"description": "Librería de componentes de UI para Pytech",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
@@ -70,6 +70,7 @@
|
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
72
|
"@expo/ui": "~57.0.17",
|
|
73
|
+
"@expo/vector-icons": "^15.0.2",
|
|
73
74
|
"@types/react": "~19.2.2",
|
|
74
75
|
"copyfiles": "^2.4.1",
|
|
75
76
|
"expo": "~57.0.21",
|