Граф коммитов

22 Коммитов

Автор SHA1 Сообщение Дата
Saad Najmi 10d9d09b2a
Use "FRN" prefix over "RCT" for macOS Callout native code (#1120)
* remap some colors

* use FRN for macOS

* Change files

* fix typo

* fix typo
2021-11-03 22:39:04 -05:00
Saad Najmi ae20d8c84b
Callout macOS (#1100)
* Copy Polyester Callout

* WIP Callout

* WIP

* More callout props work

* Update var name

* Fix stuff

* More small fixes

* We have a contextmenu rendering

* initial commit

* wip

* menu pops up at right place

* tryna get custom views

* onDismiss callback works

* onShow event

* Extract props from children

* wip on custom views

* update to latest

* Small fixes

* get focus ring

* wip

* Custom views work now

* update podfile

* wip

* custom view layout works

* remove unnecessary references

* remove more test code

* Clean up code

* Add a touch handler, yet hover effects still don't work

* reduce diffs

* Pull in changes from menu-macos branch

* tabs

* fix indents

* update podfile

* Fix typo

* fix indentation and typo

* Refactor updateCalloutFrameToTargetFrame

* refactor getting screenFrame

* wip

* remove anchorRect support for now

* Rewrote most of Callout

* anchor rects almost work. Boo flipped coordinates

* Delete iOS PLY code

* update inline documentation

* clean up for the day

* undo stuff

* Release window when closed

* directional hints wip

* Fixed bug with flipped Y coordinates in anchorRect, + directional hints work

* temporary workaround to get hover back

* Update comment

* More cleanup

* Fix alignment issues

* Change files

* Update snapshots

* Fix some nits

* Fix hover

* remove unnecessary breaks

* Fix some indentation

* fox more tabs, alphabetize list

* remove unnecessary import

* Don't need to remove observor

* Move styling off of apple theme into macos specific files

* undo change in win32 settings

* smaller diff

* remove unnecessary import

* update deps

* Add back dependency to Callout

* Fix test

* update podfile lock

* Get corner Radius on Callout working

* Fix review feedback

* IViewProps from adapters breaks web bundle for some reason
2021-11-03 17:23:01 -05:00
chiuam 9be422a16c
Checkbox macOS (#1099) 2021-10-29 13:02:59 -04:00
chiuam 3355039040
Delete NativeButton (#1036) 2021-09-28 16:31:28 -04:00
Saad Najmi d63d355100
(Apple) Pack only ship slices of libraries in our NuGet (#985)
* Only build and pack ship libraries

* test pipeline

* Remove yarn bundle from NuGet Publish as well

* Simplify pipelines a bit

* fix yml

* Comment out NuGet Publish from PR again

* Remove comment now that NuGet Publish is shorter
2021-09-08 13:29:56 -05:00
Saad Najmi 2b95227026
Update Apple Native Module naming convention (MSF -> FRN) (#899)
* MSF -> FRN, podspec and podfile updates

* enable nuget publish

* more podfile / podspec renames

* some things I forgot to rename

* Change files

* more renaming

* more fixes

* Update package.nuspec

* Comment out NuGet Publish
2021-08-17 13:42:21 -04:00
Saad Najmi 183bcbe111
Update Native Apple Code for better downstream integration (#710)
### Platforms Impacted
- [x] iOS
- [x] macOS
- [ ] win32 (Office)
- [ ] windows
- [ ] android

### Description of changes

This change refactors some of our native iOS and macOS code for better downstream integration into the office codebase.

Namely:
- Every native module's `<Component>-Bridging-Header.h` has been renamed to `<Component>ViewManager.h`. 
  - These files were never bridging headers, and cocoa pods / swift never interpreted them as such. There is potential to improve the RN docs on how to write a native swift module here as well.
- Adds the `BUILD_LIBRARY_FOR_DISTRIBUTION` flag to each native module's pod spec
  - This flag allows for ABI stability in our swift static libraries. Note that the main side effect of this flag is it produces a `.swiftinterface` file in the static libraries' swift module. I do not include the swift module in the NuGet to be included downstream in office. In my testing I found it was not needed to get iOS NativeButton to link, so I opted not to include the swif module. This may change in the future as I try to figure out why the macOS NativeButton static library won't link.
- Adds the `OTHER_SWIFT_FLAGS=-gline-tables-only` flag to each native module's pod spec
  - This is a potential security risk that is fixed, as per the comment here https://github.com/microsoft/fluentui-react-native/pull/710#discussion_r688016727 . 
- removes the `CLANG_DEBUG_INFORMATION_LEVEL=line-tables-only` build flag
  - This caused issues with the previous `BUILD_LIBRARY_FOR_DISTRIBUTION` flag and build failures. I'm not sure why. 
- Sets the Swift version to 5.0
  - I added this because I noticed that Azure pipelines would actually use the Swift 5.3.2 compiler, so I wanted to be explicit which version of swift we are compiling for.

Prior to this change, we could not link the NativeButton component downstream into office due to some linker issues. This change updates a few parts of our native iOS and macOS code such that we can now link the iOS NativeButton. The macOS NativeButton static library still does not properly link, I'll leave that as a followup.

### Verification

I had a local change downstream in office to consume an intermediate NuGet produced by this PR and test that linking worked. That's where I saw that iOS and not macOS works. Link for those who can see it: https://office.visualstudio.com/OE/_build/results?buildId=9621115&view=logs&j=4257c0a7-7659-5375-d6e0-cde9f28a3d36

### Pull request checklist

This PR has considered (when applicable):
- [x] Automated Tests
- [x] Documentation and examples
- [ ] Keyboard Accessibility
- [ ] Voiceover
- [ ] Internationalization and Right-to-left Layouts
2021-08-13 08:48:32 +00:00
chiuam 68dd61bd45
Add native support for radio button on macOS (#838)
### Platforms Impacted
- [ ] iOS
- [X] macOS
- [ ] win32 (Office)
- [ ] windows
- [ ] android

### Description of changes

This PR adds a native module for the radio button component. This achieves the native look and feel and functionality of FocusZone via the JS RadioGroup control. 

Open Issues:
1.  Tabbing into focus zone doesn't focus the currently selected button.
2.  When VO cursor is synchronized with keyboard focus, changing the VO cursor should only update keyboard focus without changing button states when entering FocusZone.

### Verification

https://user-images.githubusercontent.com/67026167/127902922-7bde9665-d217-427b-9d58-f79c5a652848.mov


https://user-images.githubusercontent.com/67026167/127902938-1063a983-a877-4156-b960-45ae2fe3f4f9.mov



### Pull request checklist

This PR has considered (when applicable):
- [ ] Automated Tests
- [ ] Documentation and examples
- [X] Keyboard Accessibility
- [X] Voiceover
- [ ] Internationalization and Right-to-left Layouts
2021-08-04 06:11:02 +00:00
Saad Najmi b3ba12a567
Menu Button on macOS (Initial check in) (#827)
### Platforms Impacted
- [ ] iOS
- [x] macOS
- [ ] win32 (Office)
- [ ] windows
- [ ] android

### Description of changes

This change introduces macOS support for the MenuButton component. As it is, it only supports a limited subset of the component's features, and lacks customization. I would like to add this initial version so that we can integrate it downstream and get feedback from clients. I tried to make no changes to the win32 implementation so as to not break compatibility.

I elected to implement this as a native module rather than composed of a `Button` and `ContextualMenu` component because I had a lot of trouble standing up the `ContextualMenu` component on macOS. `ContextualMenu` depends on `Callout`, which is only implemented for win32 and has a win32 specific API. On macOS, contextualMenus are generally not hosted in the equivalent of a `Callout` anyway; they are their own objects altogether. 

Future followups can/wil include:
- Extending the functionality of this component to support more of the props available on win32
- Standing up `ContextualMenu` for macOS (new API and all), and then rewriting this component to actually be composed of `Button` and `ContextualMenu`. 
- Porting this component to the new compose framework, along with ContextualMenu.

**Supported props:**
- menuItems,
  -  title, 
  - tooltip, 
  - submenus, 
  - disabled,
  - onItemClick (only 1 subMenu level deep)
- content, 
- Icon (png only)
- disabled, 
- onItemClick

**Unsupported but next planned to be added**
- Layout (Right now the widht/height are hard coded. I looked into it and I'll probably need to implement a shadow view to get the proper layout).

### Verification

https://user-images.githubusercontent.com/6722175/127942675-2b912247-4044-4219-a84d-28cdb3be5daa.mov

### Pull request checklist

This PR has considered (when applicable):
- [ ] Automated Tests
- [ ] Documentation and examples
- [ ] Keyboard Accessibility
- [ ] Voiceover
- [ ] Internationalization and Right-to-left Layouts
2021-08-04 00:43:59 +00:00
Chris Pearson dbda6b0c98
Extract macOS FocusZone implementation from devmain (#783) 2021-07-16 13:17:02 -07:00
Saad Najmi a1ebc6378c
Add a NuGet publish dry run job to PR pipeline (#736)
* Add a NuGet publihs dry run job to PR pipeline

* Make a commit that should break the PR Test

* Undo obvious error, keep rename of bundle->jsbundle
2021-06-24 17:26:10 -05:00
Chris Pearson badba8a548
Wrap FluentUI DateTimePicker (iOS) for React Native (#733)
Wrap FluentUI DateTimePicker (iOS) for React Native
2021-06-23 10:34:00 -07:00
Saad Najmi 0bd7e7c7b6
Remove apple theme module from the apple theme (#727)
* Remove apple theme module

* Get it working

* Update the all important nuspec

* wip

* Undo changes to icon

* revert iconTest changes

* revert one more icon change

* Podfile locks

* Remove one more icon change, add bug number.

* Change files

* Fix typo

* Use API properly

* update deps

* revert changes to button
2021-06-15 21:07:44 -07:00
Saad Najmi cd9e10ccb7 Remove Shimmer from NuGet 2021-05-11 14:06:55 -05:00
Saad Najmi 4f94067fd8
Fix more typos in the nuspec (#661)
* Fix typos, uncomment pipeline

* comment out pipeline again
2021-04-18 21:50:43 -05:00
Saad Najmi 3fb81b1e1f
Fix typo in nuspec (#659)
* Fix typo in nuspec

* Comment out NuGet Publish again
2021-04-09 18:49:47 -05:00
Saad Najmi 38e91ad9a5
Add apple theme static libraries to NuGet package (#655)
* Add apple theme static libraries to NuGet, add NuGet Publish PR job

* Fix path in nuspec

* Comment out NugetPublish PR Job
2021-04-03 17:42:14 -05:00
Adam Foxman 18ccc20374
Fix publish (#640)
* Fix bundle names in nuget specification file.

* Expand PR loop to include nuget pack. This will not be merged, but needs to be committed for now to make the PR loop run nuget to validate my fix.

* Revert PR changes
2021-03-11 01:25:37 -06:00
Saad Najmi a7f787b8a8
Initial commit (#581) 2021-01-14 18:48:48 -06:00
Saad Najmi 4b8fb620a3
Add beta macOS implementation to experimental-avatar to test arm64 pipeline (#577)
* Initial commit

* Add Nuget Pack Job to PR Pipeline

* Fix NuSpec

* Change files

* Clean up to make PR worthy

* fix ios bug, add xcconfig manually

* Add comment and issue to macOS avatar implementation
2021-01-12 15:10:25 -06:00
Saad Najmi 4ffe2ac68e
Package Apple Static Libraries + JS Bundle in Nuget Package (#529)
* Initial Commit

* Set up CI with Azure Pipelines

Comment out NPM package publish [skip ci]

* Update publish-nuget-job.yml

* Update publish-nuget-job.yml

* Try to use jobs

* Update azure-pipelines.publish.yml for Azure Pipelines

* Update azure-pipelines.publish.yml for Azure Pipelines

* Deleted broken templates

* Update azure-pipelines.publish.yml for Azure Pipelines

* No more matrixes

* Update azure-pipelines.publish.yml for Azure Pipelines

* more changes

* Update azure-pipelines.publish.yml for Azure Pipelines

* Update azure-pipelines.publish.yml for Azure Pipelines

* Update azure-pipelines.publish.yml for Azure Pipelines

* Update paths

* More updates

* Update

* Update azure-pipelines.publish.yml for Azure Pipelines

* Update azure-pipelines.publish.yml for Azure Pipelines

* Update azure-pipelines.publish.yml for Azure Pipelines

* revert using cocoapod task

* Forgot word

* Remove compiler optimizations

* simplify apple-xcode-build

* Use xcode 12

* typo

* Add bridging header to podspec

* nevermind

* Remove section from Podfile

* Try only one config

* Use xcodebuild instead of xcode task

* typo

* another typo

* remove extra args from xcconfig

* simulator passes, device doesnt. what about mac?

* Maybe 4 of 6 passing

* Try xcode task again

* typo

* Maybe all 6 with a signing id

* more explicit derived data path

* maybe no sign

* Clean up ordering / path

* Remove unnecessary stuff

* Dont use env variable in one template

* Switch to use the default version of xcode like we do in fluentui apple

* Bring over xcode select script

* Move pipeline specific scripts to .ado/scripts

* Update nuspec comments to specify bundles are release bundles
2020-10-27 14:42:45 -07:00
Saad Najmi 718fb46581
Fix nuget pipeline (#481)
* Explicitly specificy files to include in nuspec

* Update azure-pipelines.publish.yml for Azure Pipelines

* renamed nuspec in yml

* Fix some edits in package.nuspec

* Update azure-pipelines.publish.yml
2020-09-24 10:16:06 -07:00