GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - microsoft/fluentui-react-native: A react-native component library that implements the Fluent Design System.

BranchesTags
Open more actions menu

Latest commit

 

History

5,015 Commits
5,015 Commits

Folders and files

NameName
Last commit message
Last commit date
.ado
.ado
 
 
.changeset
.changeset
 
 
.config/1espt
.config/1espt
 
 
.github
.github
 
 
.idea
.idea
 
 
.vscode
.vscode
 
 
.yarn
.yarn
 
 
apps
apps
 
 
assets
assets
 
 
docs
docs
 
 
packages
packages
 
 
references/agents
references/agents
 
 
scripts
scripts
 
 
.dockerignore
.dockerignore
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
.node-version
.node-version
 
 
.npmignore
.npmignore
 
 
.oxfmtrc.json
.oxfmtrc.json
 
 
.yarnrc.yml
.yarnrc.yml
 
 
AGENTS.md
AGENTS.md
 
 
CLAUDE.md
CLAUDE.md
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE
LICENSE
 
 
PRINCIPLES.MD
PRINCIPLES.MD
 
 
README.md
README.md
 
 
SECURITY.md
SECURITY.md
 
 
agency.toml
agency.toml
 
 
guardian_baselines.gdnbaselines
guardian_baselines.gdnbaselines
 
 
knip.config.ts
knip.config.ts
 
 
lage.config.mjs
lage.config.mjs
 
 
package.json
package.json
 
 
tsconfig.json
tsconfig.json
 
 
yarn.config.cjs
yarn.config.cjs
 
 
yarn.lock
yarn.lock
 
 

Repository files navigation

FluentUI React Native

npm version Build Status Build Status

FluentUI React Native is a javascript component library that provides developers with controls that are part of the Fluent Design System. These controls are built on React Native and fully customizable.

FluentUI React Native is still in the alpha stages of development for both the components and the repo. We encourage anyone who is interested in getting an early glimpse of our plans to download and use our components, but please note that you may hit bumps along the way. Please leave us feedback or file issues if you run into bumps, and we will continue to improve the quality of the repo.

Development status on each platform:

Windows macOS iOS Android
Alpha (in progress) Alpha (in progress) Alpha (in progress) Alpha (in progress)

Getting Started

If you have an existing React Native project, it's easy to begin using FluentUI React Native. If you need to setup a new React Native project, please see the React Native Windows Getting Started documentation.

Prerequisites

  • Standard React Native dependencies
  • Node.js
  • Setting up your React Native Development Environment

Create New React Native project (if needed)

  1. Follow the instructions on the React Native Windows Getting Started documentation to create a React Native project.

  2. Navigate to the root folder of your project, and use npm to install the package:

 npm i @fluentui/react-native
  1. After successful installation, you can test the package by importing components at the top of your app's entry file, e.g. App.js:
import { Checkbox } from '@fluentui/react-native';
  1. After importing the @fluentui/react-native package, you can use components such as Text and Checkbox in your React.JSX.
// In App.js in a new project
import React from 'react';
import { View, Text } from 'react-native';
import { CheckboxV1 as Checkbox } from '@fluentui/react-native';
function HelloWorldApp() {
  return (
    <View
      style={{
        flex: 1,
        justifyContent: 'center',
        alignItems: 'center',
      }}
    >
      <Text>Hello, world!</Text>
      <Checkbox label="Hello World Checkbox" />
    </View>
  );
}
export default HelloWorldApp;

If you run into an error that says pragma and pragmaFrag cannot be set when runtime is automatic, you can try switching to classic runtime.

Documentation

Components and Controls

Our component documentation can be found in SPEC.md files for each component. The current list can be found in our Wiki's sidebar. They will be uploaded to a website at a future time.

Expanding Component documentation

Our SPEC.md files should reflect the current state of controls that have established the v1 set of properties on any one platform.

Since the FluentUI React Native controls are cross-platform, but represented by a single page, it's important to distinguish platform differences and limitations. Examples include:

  • If the component is not available on all supported platforms.
  • If the component has properties not available on all supported platforms.
  • If the component has limited support for a given property on any supported platforms.
  • If the component has distinguishable behavior on a supported platform that must be minded while used.

Theming framework

Documentation for Theming can be found in our docs file, or for more in depth documentation, along side the implementation.

  • Theming Overview
  • StyleSheets
  • Customizing Theme Settings
  • Theme Reference
  • Tokens
  • Slots
  • Customize and Compose

Developing in the repo

Yarn + Lage

This repo is set up as a monorepo using Yarn workspaces. To install yarn, please follow instructions in the Yarn documentation.

For running tasks the repo has switched to using Lage for task running. The primary tasks that can be executed at the root are:

  • yarn build - does the typescript build for all packages in the repository
  • yarn test - will build, lint, and run any applicable tests on all packages in the repo
  • yarn lage bundle - will bundle all packages in the repo
  • yarn bundle:repo - convenience wrapper for yarn lage bundle
  • yarn lage buildci - will build, lint, run tests, and run the configured repo checks

Note that Lage uses caching to avoid redundant steps and has very minimal output. To avoid caching add --no-cache as a command line argument. Similarly adding --verbose will give more detailed output.

Setup your development environment

To start developing in the repository you can:

  1. git clone https://github.com/microsoft/fluentui-react-native.git
  2. cd fluentui-react-native
  3. yarn
  4. yarn build

After a successful yarn build, you can explore FluentUI Tester, our demo application to play with each of the controls. To run FluentUI Tester, please follow instructions in the FluentUI Tester readme.

Note: If your repo is located on either your Desktop or Documents folder, you may encounter the error: "Watchman error... Operation not permitted". Clone it in a different directory to avoid Watchman permission issues.

Formatting

This repo is set up to run oxfmt. To run oxfmt in fix mode on the repo, run yarn format:fix at the root of the Repo.

Contributing

Please visit our contribution guide for more information on contributing to this repo.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

About

A react-native component library that implements the Fluent Design System.

developer.microsoft.com/fluentui

Resources

Readme
MIT license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

1.4k stars

Watchers

40 watching

Forks

179 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.