├── .browserslistrc ├── .circleci └── config.yml ├── .editorconfig ├── .eslintignore ├── .eslintrc.json ├── .github ├── CODEOWNERS ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE │ ├── Bug_report.md │ ├── Feature_request.md │ └── Support_question.md ├── PULL_REQUEST_TEMPLATE.md ├── add-a-feature.md ├── config.yml ├── document-a-feature.md ├── release-a-package.md ├── setup-local-development.md ├── stale.yml ├── test-a-feature.md └── workflows │ └── screener.yml ├── .gitignore ├── .gulp.js ├── .nowignore ├── .prettierignore ├── .prettierrc.json ├── CHANGELOG.md ├── LICENSE.md ├── MANIFESTO.md ├── README.md ├── api-extractor.common.json ├── azure-pipelines.yml ├── babel.config.js ├── build ├── .eslintrc.json ├── babel │ ├── index.js │ ├── register.js │ ├── transform-star-import-plugin.ts │ └── types.ts ├── config.ts ├── dangerjs │ ├── checkChangelog.ts │ ├── checkPerfRegressions.ts │ ├── detectChangedDependencies.ts │ ├── detectNonApprovedDependencies │ │ ├── approvedPackages.ts │ │ ├── index.ts │ │ └── utils │ │ │ ├── getFailedPackageVersionConstraints.ts │ │ │ ├── getRuntimeDependencies.ts │ │ │ ├── getVersionConstrains.ts │ │ │ ├── index.ts │ │ │ └── packageNameUtils.ts │ └── types.ts ├── eslint │ └── index.js ├── gulp │ ├── plugins │ │ ├── gulp-component-menu-behaviors.ts │ │ ├── gulp-component-menu.ts │ │ ├── gulp-doctoc.ts │ │ ├── gulp-example-menu.ts │ │ ├── gulp-example-source.ts │ │ ├── gulp-jest.ts │ │ ├── gulp-react-docgen.ts │ │ ├── gulp-webpack.ts │ │ └── util │ │ │ ├── docgen.ts │ │ │ ├── getComponentInfo.ts │ │ │ ├── getRelativePathToSourceFile.ts │ │ │ ├── getShorthandInfo.ts │ │ │ ├── index.ts │ │ │ ├── parseBuffer.ts │ │ │ ├── parseDefaultValue.ts │ │ │ ├── parseDocSection.ts │ │ │ ├── parseDocblock.ts │ │ │ ├── parseType.ts │ │ │ └── parseTypeAnnotation.ts │ ├── serve.ts │ ├── sh.ts │ └── tasks │ │ ├── bundle.ts │ │ ├── docs.ts │ │ ├── perf.ts │ │ ├── screener.ts │ │ ├── stats.ts │ │ ├── test-circulars │ │ ├── config.ts │ │ ├── index.ts │ │ └── utils.ts │ │ ├── test-dependencies │ │ ├── index.ts │ │ └── utils.ts │ │ ├── test-e2e.ts │ │ ├── test-projects.ts │ │ ├── test-projects │ │ ├── .eslintrc.json │ │ ├── cra │ │ │ └── App.tsx │ │ ├── nextjs │ │ │ └── index.js │ │ ├── rollup │ │ │ ├── app.js │ │ │ ├── index.html │ │ │ └── rollup.config.js │ │ └── typings │ │ │ ├── index.tsx │ │ │ └── tsconfig.json │ │ └── test-unit.ts ├── jest │ ├── index.js │ └── setupTests.js ├── package.json ├── puppeteer.config.ts ├── screener │ ├── screener.config.js │ ├── screener.states.ts │ └── screener.steps.ts ├── tsconfig.common.json ├── tsconfig.json ├── tslint │ └── tslint.json ├── webpack.config.e2e.ts ├── webpack.config.perf.ts ├── webpack.config.stats.ts ├── webpack.config.ts └── webpack.config.umd.ts ├── codecov.yml ├── dangerfile.ts ├── docs ├── .eslintignore ├── .eslintrc.json ├── package.json ├── src │ ├── 404.html │ ├── add-yours.png │ ├── amazon-logo.png │ ├── app.tsx │ ├── bundleStats.json │ ├── components │ │ ├── CategoryColorSchemes.tsx │ │ ├── ColorBox.tsx │ │ ├── ColorSchemes.tsx │ │ ├── ColorVariants.tsx │ │ ├── ComponentBestPractices.tsx │ │ ├── ComponentDoc │ │ │ ├── BehaviorCard.tsx │ │ │ ├── BehaviorDescription.tsx │ │ │ ├── ComponentBestPractices.tsx │ │ │ ├── ComponentControls │ │ │ │ ├── ComponentControls.tsx │ │ │ │ ├── ComponentControlsCodeSandbox │ │ │ │ │ ├── ComponentControlsCodeSandbox.tsx │ │ │ │ │ ├── createPackageJson.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── indexTemplates.ts │ │ │ │ ├── ComponentControlsCopyLink.tsx │ │ │ │ └── index.tsx │ │ │ ├── ComponentDoc.tsx │ │ │ ├── ComponentDocAccessibility.tsx │ │ │ ├── ComponentDocLinks.tsx │ │ │ ├── ComponentDocSee.tsx │ │ │ ├── ComponentExample │ │ │ │ ├── ComponentExample.tsx │ │ │ │ ├── ComponentExampleColorPicker.tsx │ │ │ │ ├── ComponentExampleTitle.tsx │ │ │ │ ├── ComponentExampleVariable.tsx │ │ │ │ ├── ComponentExampleVariables.tsx │ │ │ │ └── index.tsx │ │ │ ├── ComponentExamples.tsx │ │ │ ├── ComponentPerfExample │ │ │ │ ├── ComponentPerfChart.tsx │ │ │ │ ├── ComponentPerfExample.tsx │ │ │ │ └── index.ts │ │ │ ├── ComponentProp │ │ │ │ ├── ComponentPropExtra.tsx │ │ │ │ ├── ComponentPropFunctionSignature.tsx │ │ │ │ └── ComponentPropName.tsx │ │ │ ├── ComponentProps │ │ │ │ ├── ComponentPropCard.tsx │ │ │ │ ├── ComponentProps.tsx │ │ │ │ ├── ComponentPropsOutline.tsx │ │ │ │ └── index.tsx │ │ │ ├── ComponentPropsTable │ │ │ │ ├── ComponentPropsRow.tsx │ │ │ │ ├── ComponentPropsTable.tsx │ │ │ │ └── index.tsx │ │ │ ├── ComponentSidebar │ │ │ │ ├── ComponentSidebar.tsx │ │ │ │ ├── ComponentSidebarSection.tsx │ │ │ │ └── index.tsx │ │ │ ├── ComponentSourceManager │ │ │ │ ├── ComponentSourceManager.ts │ │ │ │ ├── componentAPIs.ts │ │ │ │ ├── getExampeModule.ts │ │ │ │ └── index.ts │ │ │ ├── ContributionPrompt.tsx │ │ │ ├── ExampleSection.tsx │ │ │ ├── InlineMarkdown.tsx │ │ │ ├── NonPublicSection.tsx │ │ │ ├── PerfChart │ │ │ │ ├── PerfChart.tsx │ │ │ │ ├── PerfChartTooltip.tsx │ │ │ │ ├── PerfDataContext.ts │ │ │ │ ├── PerfDataProvider.tsx │ │ │ │ ├── index.ts │ │ │ │ └── usePerfData.ts │ │ │ ├── Suggestions.tsx │ │ │ ├── index.tsx │ │ │ ├── useAccessibilityKnob.ts │ │ │ └── useComponentProps.ts │ │ ├── ComponentPlayground │ │ │ ├── ComponentPlayground.tsx │ │ │ ├── ComponentPlaygroundSnippet.tsx │ │ │ ├── ComponentPlaygroundTemplate.tsx │ │ │ ├── componentGenerators.ts │ │ │ ├── createHookGenerator.ts │ │ │ ├── propGenerators.tsx │ │ │ ├── typeGenerators.ts │ │ │ └── usePlaygroundComponent.tsx │ │ ├── DocPage │ │ │ ├── DocPage.tsx │ │ │ └── index.tsx │ │ ├── DocsBehaviorRoot.tsx │ │ ├── DocsLayout.tsx │ │ ├── DocsRoot.tsx │ │ ├── Editor │ │ │ ├── Editor.tsx │ │ │ └── index.tsx │ │ ├── ExampleSnippet │ │ │ ├── ExampleSnippet.tsx │ │ │ ├── index.ts │ │ │ └── renderElementToJSX.ts │ │ ├── ExternalExampleLayout.tsx │ │ ├── Fader.tsx │ │ ├── GuidesNavigationFooter.tsx │ │ ├── Logo │ │ │ └── Logo.tsx │ │ ├── MarkdownPage.tsx │ │ ├── Playground │ │ │ └── renderConfig.ts │ │ ├── Sidebar │ │ │ └── Sidebar.tsx │ │ └── VariableResolver │ │ │ ├── VariableResolver.tsx │ │ │ ├── useClassNamesListener.ts │ │ │ └── useEnhancedRenderer.ts │ ├── config.ts │ ├── context │ │ ├── ExampleContext.ts │ │ └── ThemeContext.tsx │ ├── examples │ │ └── components │ │ │ ├── Accordion │ │ │ ├── BestPractices │ │ │ │ └── AccordionBestPractices.tsx │ │ │ ├── Performance │ │ │ │ └── AccordionMinimal.perf.tsx │ │ │ ├── Rtl │ │ │ │ ├── AccordionExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── AccordionExample.shorthand.tsx │ │ │ │ ├── AccordionExclusiveExample.shorthand.tsx │ │ │ │ ├── AccordionExclusiveExpandedExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Usage │ │ │ │ ├── AccordionPanelCustomContentExample.shorthand.tsx │ │ │ │ ├── AccordionPanelCustomTitleExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Alert │ │ │ ├── BestPractices │ │ │ │ └── AlertBestPractices.tsx │ │ │ ├── Performance │ │ │ │ └── AlertMinimal.perf.tsx │ │ │ ├── Rtl │ │ │ │ ├── AlertExample.rtl.tsx │ │ │ │ ├── AlertExampleChildren.rtl.tsx │ │ │ │ ├── AlertExampleDismissAction.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── Slots │ │ │ │ ├── AlertExampleActions.shorthand.tsx │ │ │ │ ├── AlertExampleDismissAction.shorthand.tsx │ │ │ │ ├── AlertExampleHeader.shorthand.tsx │ │ │ │ ├── AlertExampleHeader.tsx │ │ │ │ ├── AlertExampleIcon.shorthand.tsx │ │ │ │ ├── AlertExampleIcon.tsx │ │ │ │ └── index.tsx │ │ │ ├── State │ │ │ │ ├── AlertExampleVisible.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── AlertExample.shorthand.tsx │ │ │ │ ├── AlertExample.tsx │ │ │ │ ├── AlertExampleDismissible.shorthand.steps.ts │ │ │ │ ├── AlertExampleDismissible.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Usage │ │ │ │ ├── AlertExampleDismissActions.shorthand.tsx │ │ │ │ ├── AlertExampleImportantMessage.shorthand.tsx │ │ │ │ ├── AlertExampleImportantMessage.tsx │ │ │ │ ├── AlertExampleWidth.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── AlertExampleAttached.shorthand.tsx │ │ │ │ ├── AlertExampleAttached.tsx │ │ │ │ ├── AlertExampleDanger.shorthand.steps.ts │ │ │ │ ├── AlertExampleDanger.shorthand.tsx │ │ │ │ ├── AlertExampleDanger.tsx │ │ │ │ ├── AlertExampleFitted.shorthand.tsx │ │ │ │ ├── AlertExampleInfo.shorthand.steps.ts │ │ │ │ ├── AlertExampleInfo.shorthand.tsx │ │ │ │ ├── AlertExampleInfo.tsx │ │ │ │ ├── AlertExampleOofs.shorthand.steps.ts │ │ │ │ ├── AlertExampleOofs.shorthand.tsx │ │ │ │ ├── AlertExampleOofs.tsx │ │ │ │ ├── AlertExampleSuccess.shorthand.tsx │ │ │ │ ├── AlertExampleSuccess.tsx │ │ │ │ ├── AlertExampleUrgent.shorthand.steps.ts │ │ │ │ ├── AlertExampleUrgent.shorthand.tsx │ │ │ │ ├── AlertExampleUrgent.tsx │ │ │ │ ├── AlertExampleWarning.shorthand.tsx │ │ │ │ ├── AlertExampleWarning.tsx │ │ │ │ └── index.tsx │ │ │ ├── commonScreenerSteps.ts │ │ │ └── index.tsx │ │ │ ├── Animation │ │ │ ├── Performance │ │ │ │ └── AnimationMinimal.perf.tsx │ │ │ ├── Types │ │ │ │ ├── AnimationExample.tsx │ │ │ │ ├── AnimationExampleDelay.tsx │ │ │ │ ├── AnimationExampleDirection.tsx │ │ │ │ ├── AnimationExampleDuration.tsx │ │ │ │ ├── AnimationExampleFillMode.tsx │ │ │ │ ├── AnimationExampleIterationCount.tsx │ │ │ │ ├── AnimationExampleKeyframeParams.tsx │ │ │ │ ├── AnimationExamplePlayState.tsx │ │ │ │ ├── AnimationExampleTimingFunction.tsx │ │ │ │ └── index.tsx │ │ │ ├── Usage │ │ │ │ ├── AnimationExampleVisible.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Attachment │ │ │ ├── Performance │ │ │ │ ├── AttachmentMinimal.perf.tsx │ │ │ │ ├── AttachmentSlots.perf.tsx │ │ │ │ └── index.tsx │ │ │ ├── Rtl │ │ │ │ ├── AttachmentExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── Slots │ │ │ │ ├── AttachmentActionExample.shorthand.steps.ts │ │ │ │ ├── AttachmentActionExample.shorthand.tsx │ │ │ │ ├── AttachmentDescriptionExample.shorthand.tsx │ │ │ │ ├── AttachmentHeaderExample.shorthand.tsx │ │ │ │ ├── AttachmentIconExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── AttachmentExample.shorthand.tsx │ │ │ │ ├── AttachmentProgressExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── AttachmentActionableExample.shorthand.steps.ts │ │ │ │ ├── AttachmentActionableExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── commonScreenerSteps.ts │ │ │ └── index.tsx │ │ │ ├── Avatar │ │ │ ├── Performance │ │ │ │ └── AvatarMinimal.perf.tsx │ │ │ ├── Rtl │ │ │ │ ├── AvatarExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── AvatarExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Usage │ │ │ │ ├── AvatarUsageExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── AvatarExampleExcludedInitials.shorthand.tsx │ │ │ │ ├── AvatarExampleGetInitials.shorthand.tsx │ │ │ │ ├── AvatarExampleImage.shorthand.tsx │ │ │ │ ├── AvatarExampleImageCustomization.shorthand.tsx │ │ │ │ ├── AvatarExampleLabel.shorthand.tsx │ │ │ │ ├── AvatarExampleName.shorthand.tsx │ │ │ │ ├── AvatarExampleSize.shorthand.tsx │ │ │ │ ├── AvatarExampleStatus.shorthand.tsx │ │ │ │ ├── AvatarExampleStatusCustomization.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Box │ │ │ ├── Performance │ │ │ │ └── BoxMinimal.perf.tsx │ │ │ ├── Types │ │ │ │ ├── BoxExample.shorthand.tsx │ │ │ │ ├── BoxExample.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Button │ │ │ ├── BestPractices │ │ │ │ └── ButtonBestPractices.tsx │ │ │ ├── Groups │ │ │ │ ├── ButtonGroupCircularExample.shorthand.steps.ts │ │ │ │ ├── ButtonGroupCircularExample.shorthand.tsx │ │ │ │ ├── ButtonGroupExample.shorthand.steps.ts │ │ │ │ ├── ButtonGroupExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Performance │ │ │ │ ├── ButtonMinimal.perf.tsx │ │ │ │ ├── ButtonSlots.perf.tsx │ │ │ │ └── index.tsx │ │ │ ├── Rtl │ │ │ │ ├── ButtonExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── States │ │ │ │ ├── ButtonExampleDisabled.shorthand.steps.ts │ │ │ │ ├── ButtonExampleDisabled.shorthand.tsx │ │ │ │ ├── ButtonExampleDisabled.tsx │ │ │ │ ├── ButtonExampleLoading.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── ButtonExample.shorthand.steps.ts │ │ │ │ ├── ButtonExample.shorthand.tsx │ │ │ │ ├── ButtonExample.tsx │ │ │ │ ├── ButtonExampleEmphasis.shorthand.tsx │ │ │ │ ├── ButtonExampleEmphasis.tsx │ │ │ │ ├── ButtonExampleIconOnly.shorthand.tsx │ │ │ │ ├── ButtonExampleIconOnly.tsx │ │ │ │ ├── ButtonExampleInverted.tsx │ │ │ │ ├── ButtonExampleText.shorthand.steps.ts │ │ │ │ ├── ButtonExampleText.shorthand.tsx │ │ │ │ ├── ButtonExampleText.tsx │ │ │ │ └── index.tsx │ │ │ ├── Usage │ │ │ │ ├── ButtonExampleContentAndIcon.shorthand.steps.ts │ │ │ │ ├── ButtonExampleContentAndIcon.shorthand.tsx │ │ │ │ ├── ButtonExampleContentAndIcon.tsx │ │ │ │ ├── ButtonExampleOverflow.shorthand.tsx │ │ │ │ ├── ButtonExampleOverflow.tsx │ │ │ │ ├── ButtonExampleWithTooltip.shorthand.steps.ts │ │ │ │ ├── ButtonExampleWithTooltip.shorthand.tsx │ │ │ │ ├── ButtonUsageExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── ButtonExampleCircular.shorthand.tsx │ │ │ │ ├── ButtonExampleCircular.tsx │ │ │ │ ├── ButtonExampleFluid.shorthand.tsx │ │ │ │ ├── ButtonExampleFluid.tsx │ │ │ │ ├── ButtonExampleSize.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── commonScreenerSteps.ts │ │ │ └── index.tsx │ │ │ ├── Carousel │ │ │ ├── BestPractices │ │ │ │ └── CarouselBestPractices.tsx │ │ │ ├── Performance │ │ │ │ └── CarouselMinimal.perf.tsx │ │ │ ├── Types │ │ │ │ ├── CarouselExample.tsx │ │ │ │ ├── CarouselPaginationExample.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── CarouselCircularExample.tsx │ │ │ │ ├── CarouselExampleWithFocusableElements.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Chat │ │ │ ├── Content │ │ │ │ ├── ChatExampleActions.shorthand.steps.ts │ │ │ │ ├── ChatExampleActions.shorthand.tsx │ │ │ │ ├── ChatExampleReactionGroup.shorthand.tsx │ │ │ │ ├── ChatExampleReactionGroupMeReacting.shorthand.steps.ts │ │ │ │ ├── ChatExampleReactionGroupMeReacting.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Performance │ │ │ │ ├── ChatDuplicateMessages.perf.tsx │ │ │ │ ├── ChatMinimal.perf.tsx │ │ │ │ ├── ChatWithPopover.perf.tsx │ │ │ │ └── index.tsx │ │ │ ├── Rtl │ │ │ │ ├── ChatExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── ChatExample.shorthand.steps.ts │ │ │ │ ├── ChatExample.shorthand.tsx │ │ │ │ ├── ChatExampleContentPosition.shorthand.tsx │ │ │ │ ├── ChatMessageExampleBadge.shorthand.steps.ts │ │ │ │ ├── ChatMessageExampleBadge.shorthand.tsx │ │ │ │ ├── ChatMessageExampleStyled.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Usage │ │ │ │ ├── ChatExampleInScrollable.shorthand.steps.ts │ │ │ │ ├── ChatExampleInScrollable.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Checkbox │ │ │ ├── Performance │ │ │ │ └── CheckboxMinimal.perf.tsx │ │ │ ├── Rtl │ │ │ │ ├── CheckboxExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── Slots │ │ │ │ ├── CheckboxExampleLabel.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── States │ │ │ │ ├── CheckboxExampleChecked.shorthand.tsx │ │ │ │ ├── CheckboxExampleDisabled.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── CheckboxExample.shorthand.steps.ts │ │ │ │ ├── CheckboxExample.shorthand.tsx │ │ │ │ ├── CheckboxExampleToggle.shorthand.steps.ts │ │ │ │ ├── CheckboxExampleToggle.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── commonScreenerSteps.ts │ │ │ └── index.tsx │ │ │ ├── Dialog │ │ │ ├── BestPractices │ │ │ │ └── DialogBestPractices.tsx │ │ │ ├── Content │ │ │ │ ├── DialogExampleContent.shorthand.steps.ts │ │ │ │ ├── DialogExampleContent.shorthand.tsx │ │ │ │ ├── DialogExampleFooter.shorthand.steps.ts │ │ │ │ ├── DialogExampleFooter.shorthand.tsx │ │ │ │ ├── DialogExampleFullWidth.shorthand.steps.ts │ │ │ │ ├── DialogExampleFullWidth.shorthand.tsx │ │ │ │ ├── DialogExampleHeaderAction.shorthand.steps.ts │ │ │ │ ├── DialogExampleHeaderAction.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Performance │ │ │ │ └── DialogMinimal.perf.tsx │ │ │ ├── Rtl │ │ │ │ ├── DialogExample.rtl.steps.ts │ │ │ │ ├── DialogExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── DialogExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Usage │ │ │ │ ├── DialogExampleCallbacks.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── DialogExampleBackdrop.shorthand.steps.ts │ │ │ │ ├── DialogExampleBackdrop.shorthand.tsx │ │ │ │ ├── DialogExampleScroll.shorthand.steps.ts │ │ │ │ ├── DialogExampleScroll.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── commonScreenerSteps.ts │ │ │ └── index.tsx │ │ │ ├── Divider │ │ │ ├── Performance │ │ │ │ ├── DividerMinimal.perf.tsx │ │ │ │ └── index.tsx │ │ │ ├── Rtl │ │ │ │ ├── DividerExample.rtl.steps.ts │ │ │ │ ├── DividerExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── DividerExample.shorthand.steps.ts │ │ │ │ ├── DividerExample.shorthand.tsx │ │ │ │ ├── DividerExampleContent.shorthand.steps.ts │ │ │ │ ├── DividerExampleContent.shorthand.tsx │ │ │ │ ├── DividerExampleContent.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── DividerExampleColor.shorthand.steps.ts │ │ │ │ ├── DividerExampleColor.shorthand.tsx │ │ │ │ ├── DividerExampleFitted.shorthand.steps.ts │ │ │ │ ├── DividerExampleFitted.shorthand.tsx │ │ │ │ ├── DividerExampleImportant.shorthand.steps.ts │ │ │ │ ├── DividerExampleImportant.shorthand.tsx │ │ │ │ ├── DividerExampleImportant.tsx │ │ │ │ ├── DividerExampleSize.shorthand.steps.ts │ │ │ │ ├── DividerExampleSize.shorthand.tsx │ │ │ │ ├── DividerExampleSize.tsx │ │ │ │ ├── DividerExampleVertical.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Dropdown │ │ │ ├── BestPractices │ │ │ │ └── DropdownBestPractices.tsx │ │ │ ├── Performance │ │ │ │ ├── DropdownManyItems.perf.tsx │ │ │ │ ├── DropdownMinimal.perf.tsx │ │ │ │ └── index.tsx │ │ │ ├── Rtl │ │ │ │ ├── DropdownExample.rtl.steps.ts │ │ │ │ ├── DropdownExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── State │ │ │ │ ├── DropdownExampleLoading.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── DropdownExample.shorthand.steps.ts │ │ │ │ ├── DropdownExample.shorthand.tsx │ │ │ │ ├── DropdownExampleClearable.shorthand.steps.ts │ │ │ │ ├── DropdownExampleClearable.shorthand.tsx │ │ │ │ ├── DropdownExampleInline.shorthand.tsx │ │ │ │ ├── DropdownExampleMultiple.shorthand.steps.ts │ │ │ │ ├── DropdownExampleMultiple.shorthand.tsx │ │ │ │ ├── DropdownExampleSearch.shorthand.tsx │ │ │ │ ├── DropdownExampleSearchMultiple.shorthand.steps.ts │ │ │ │ ├── DropdownExampleSearchMultiple.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Usage │ │ │ │ ├── DropdownExampleControlled.shorthand.tsx │ │ │ │ ├── DropdownExampleRender.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── DropdownExampleOffset.shorthand.tsx │ │ │ │ ├── DropdownExamplePosition.shorthand.tsx │ │ │ │ ├── DropdownExampleSearchMultipleFluid.shorthand.tsx │ │ │ │ ├── DropdownExampleSearchMultipleFrenchLanguage.shorthand.tsx │ │ │ │ ├── DropdownExampleSearchMultipleImageAndContent.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Embed │ │ │ ├── Performance │ │ │ │ └── EmbedMinimal.perf.tsx │ │ │ ├── Slots │ │ │ │ ├── EmbedExampleVideo.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Usage │ │ │ │ ├── EmbedExampleYouTube.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Flex │ │ │ ├── Performance │ │ │ │ └── FlexMinimal.perf.tsx │ │ │ ├── Recipes.mdx │ │ │ ├── Rtl │ │ │ │ ├── FlexExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── FlexExampleColumns.shorthand.tsx │ │ │ │ ├── FlexExampleInput.shorthand.tsx │ │ │ │ ├── FlexExampleItemsAlignment.shorthand.tsx │ │ │ │ ├── FlexExampleMediaCard.shorthand.tsx │ │ │ │ ├── FlexExampleMixedAlignment.shorthand.tsx │ │ │ │ ├── FlexExampleNavMenu.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Form │ │ │ ├── BestPractices │ │ │ │ └── FormBestPractices.tsx │ │ │ ├── Performance │ │ │ │ └── FormMinimal.perf.tsx │ │ │ ├── Rtl │ │ │ │ ├── FormExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── FormExample.shorthand.tsx │ │ │ │ ├── FormExample.tsx │ │ │ │ ├── FormExampleInline.shorthand.tsx │ │ │ │ ├── FormExampleInline.tsx │ │ │ │ └── index.tsx │ │ │ ├── Usage │ │ │ │ ├── FormExampleCheckbox.shorthand.tsx │ │ │ │ ├── FormExampleCheckbox.tsx │ │ │ │ ├── FormExampleDropdown.shorthand.tsx │ │ │ │ ├── FormExampleDropdown.tsx │ │ │ │ ├── FormExampleSlider.shorthand.tsx │ │ │ │ ├── FormExampleSlider.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Grid │ │ │ ├── BestPractices │ │ │ │ └── GridBestPractices.tsx │ │ │ ├── Performance │ │ │ │ └── GridMinimal.perf.tsx │ │ │ ├── Rtl │ │ │ │ ├── GridExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── GridExample.shorthand.tsx │ │ │ │ ├── GridExample.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── GridExampleColumns.shorthand.tsx │ │ │ │ ├── GridExampleColumns.tsx │ │ │ │ ├── GridExampleColumnsAndRows.shorthand.tsx │ │ │ │ ├── GridExampleColumnsAndRows.tsx │ │ │ │ ├── GridExampleKeyboardNavigable.shorthand.tsx │ │ │ │ ├── GridExampleKeyboardNavigable.tsx │ │ │ │ ├── GridExampleRows.shorthand.tsx │ │ │ │ ├── GridExampleRows.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Header │ │ │ ├── Performance │ │ │ │ ├── HeaderMinimal.perf.tsx │ │ │ │ ├── HeaderSlots.perf.tsx │ │ │ │ └── index.tsx │ │ │ ├── Rtl │ │ │ │ ├── HeaderExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── HeaderExample.shorthand.tsx │ │ │ │ ├── HeaderExample.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── HeaderExample.shorthand.tsx │ │ │ │ ├── HeaderExampleAlign.tsx │ │ │ │ ├── HeaderExampleColor.shorthand.tsx │ │ │ │ ├── HeaderExampleColor.tsx │ │ │ │ ├── HeaderExampleDescription.shorthand.tsx │ │ │ │ ├── HeaderExampleDescription.tsx │ │ │ │ ├── HeaderExampleDescriptionCustomization.shorthand.tsx │ │ │ │ ├── HeaderExampleDescriptionCustomization.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── HierarchicalTree │ │ │ ├── Performance │ │ │ │ └── HierarchicalTreeMinimal.perf.tsx │ │ │ ├── Types │ │ │ │ ├── HierarchicalTreeExample.shorthand.tsx │ │ │ │ ├── HierarchicalTreeExclusiveExample.shorthand.tsx │ │ │ │ ├── HierarchicalTreeTitleCustomizationExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Icon │ │ │ ├── BestPractices │ │ │ │ └── IconBestPractices.tsx │ │ │ ├── Performance │ │ │ │ ├── IconMinimal.perf.tsx │ │ │ │ └── index.tsx │ │ │ ├── Rtl │ │ │ │ ├── IconExample.rtl.tsx │ │ │ │ ├── IconExampleRotate.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── States │ │ │ │ ├── IconExampleDisabled.shorthand.steps.ts │ │ │ │ ├── IconExampleDisabled.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── IconExample.shorthand.steps.ts │ │ │ │ ├── IconExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Usage │ │ │ │ ├── IconSetExample.shorthand.steps.ts │ │ │ │ ├── IconSetExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── IconExampleBordered.shorthand.steps.ts │ │ │ │ ├── IconExampleBordered.shorthand.tsx │ │ │ │ ├── IconExampleCircular.shorthand.steps.ts │ │ │ │ ├── IconExampleCircular.shorthand.tsx │ │ │ │ ├── IconExampleColor.shorthand.steps.ts │ │ │ │ ├── IconExampleColor.shorthand.tsx │ │ │ │ ├── IconExampleRotate.shorthand.tsx │ │ │ │ ├── IconExampleSize.shorthand.steps.ts │ │ │ │ ├── IconExampleSize.shorthand.tsx │ │ │ │ ├── IconExampleSpace.shorthand.steps.ts │ │ │ │ ├── IconExampleSpace.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Image │ │ │ ├── Performance │ │ │ │ └── ImageMinimal.perf.tsx │ │ │ ├── Rtl │ │ │ │ ├── ImageExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── ImageExample.tsx │ │ │ │ ├── ImageExampleAvatar.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── ImageExampleCircular.tsx │ │ │ │ ├── ImageExampleFluid.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Input │ │ │ ├── BestPractices │ │ │ │ └── InputBestPractices.tsx │ │ │ ├── Performance │ │ │ │ └── InputMinimal.perf.tsx │ │ │ ├── Rtl │ │ │ │ ├── InputExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── InputExample.shorthand.steps.ts │ │ │ │ ├── InputExample.shorthand.tsx │ │ │ │ ├── InputInvertedExample.shorthand.steps.ts │ │ │ │ ├── InputInvertedExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── InputExampleClearable.shorthand.steps.ts │ │ │ │ ├── InputExampleClearable.shorthand.tsx │ │ │ │ ├── InputExampleFluid.shorthand.tsx │ │ │ │ ├── InputExampleIcon.shorthand.tsx │ │ │ │ ├── InputExampleIconClearable.shorthand.tsx │ │ │ │ ├── InputExampleIconPosition.shorthand.tsx │ │ │ │ ├── InputExampleInline.shorthand.tsx │ │ │ │ ├── InputExampleInlineIconClearable.shorthand.tsx │ │ │ │ ├── InputExampleInputSlot.shorthand.tsx │ │ │ │ ├── InputExampleTargeting.shorthand.tsx │ │ │ │ ├── InputExampleWrapperSlot.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── ItemLayout │ │ │ ├── Content │ │ │ │ ├── ItemLayoutExampleContent.shorthand.tsx │ │ │ │ ├── ItemLayoutExampleContentMedia.shorthand.tsx │ │ │ │ ├── ItemLayoutExampleEndMedia.shorthand.tsx │ │ │ │ ├── ItemLayoutExampleHeader.shorthand.tsx │ │ │ │ ├── ItemLayoutExampleHeaderContent.shorthand.tsx │ │ │ │ ├── ItemLayoutExampleHeaderMedia.shorthand.tsx │ │ │ │ ├── ItemLayoutExampleMedia.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Performance │ │ │ │ └── ItemLayoutMinimal.perf.tsx │ │ │ ├── Rtl │ │ │ │ ├── ItemLayoutExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── ItemLayoutExample.shorthand.tsx │ │ │ │ ├── ItemLayoutExampleSelection.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Label │ │ │ ├── Content │ │ │ │ ├── LabelExample.shorthand.tsx │ │ │ │ ├── LabelExample.tsx │ │ │ │ ├── LabelExampleContentCustomization.shorthand.tsx │ │ │ │ ├── LabelExampleIcon.shorthand.tsx │ │ │ │ ├── LabelExampleIconPosition.shorthand.tsx │ │ │ │ ├── LabelExampleImage.shorthand.tsx │ │ │ │ ├── LabelExampleImagePosition.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Performance │ │ │ │ └── LabelMinimal.perf.tsx │ │ │ ├── Rtl │ │ │ │ ├── LabelExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── LabelExampleCircular.shorthand.tsx │ │ │ │ ├── LabelExampleColor.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Layout │ │ │ ├── Performance │ │ │ │ └── LayoutMinimal.perf.tsx │ │ │ ├── Types │ │ │ │ ├── LayoutExample.shorthand.tsx │ │ │ │ ├── LayoutExampleVertical.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── LayoutExample.shorthand.tsx │ │ │ │ ├── LayoutExampleDisappearing.shorthand.tsx │ │ │ │ ├── LayoutExampleGap.shorthand.tsx │ │ │ │ ├── LayoutExampleReducing.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── List │ │ │ ├── Content │ │ │ │ ├── ListExampleContent.shorthand.tsx │ │ │ │ ├── ListExampleContent.tsx │ │ │ │ ├── ListExampleContentMedia.shorthand.tsx │ │ │ │ ├── ListExampleContentMedia.tsx │ │ │ │ ├── ListExampleEndMedia.shorthand.tsx │ │ │ │ ├── ListExampleEndMedia.tsx │ │ │ │ ├── ListExampleHeader.shorthand.tsx │ │ │ │ ├── ListExampleHeader.tsx │ │ │ │ ├── ListExampleHeaderContent.shorthand.tsx │ │ │ │ ├── ListExampleHeaderContent.tsx │ │ │ │ ├── ListExampleHeaderMedia.shorthand.tsx │ │ │ │ ├── ListExampleHeaderMedia.tsx │ │ │ │ ├── ListExampleMedia.shorthand.tsx │ │ │ │ ├── ListExampleMedia.tsx │ │ │ │ └── index.tsx │ │ │ ├── Performance │ │ │ │ ├── ListCommon.perf.tsx │ │ │ │ ├── ListMinimal.perf.tsx │ │ │ │ ├── ListNested.perf.tsx │ │ │ │ ├── ListWith60ListItems.perf.tsx │ │ │ │ └── index.tsx │ │ │ ├── Rtl │ │ │ │ ├── ListExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── ListExample.shorthand.tsx │ │ │ │ ├── ListExample.tsx │ │ │ │ ├── ListExampleNavigable.shorthand.steps.ts │ │ │ │ ├── ListExampleNavigable.shorthand.tsx │ │ │ │ ├── ListExampleNavigable.tsx │ │ │ │ ├── ListExampleSelectable.shorthand.steps.ts │ │ │ │ ├── ListExampleSelectable.shorthand.tsx │ │ │ │ ├── ListExampleSelectable.tsx │ │ │ │ ├── ListExampleSelectableControlled.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Usage │ │ │ │ ├── ListExampleMemo.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── ListExampleFixedTruncate.shorthand.tsx │ │ │ │ ├── ListExampleHorizontal.shorthand.tsx │ │ │ │ ├── ListExampleTruncate.shorthand.tsx │ │ │ │ ├── ListExampleTruncate.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Loader │ │ │ ├── BestPractices │ │ │ │ └── LoaderBestPractices.tsx │ │ │ ├── Performance │ │ │ │ ├── LoaderMinimal.perf.tsx │ │ │ │ └── index.tsx │ │ │ ├── Rtl │ │ │ │ ├── LoaderExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── LoaderExample.tsx │ │ │ │ ├── LoaderExampleLabel.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Usage │ │ │ │ ├── LoaderExampleDelay.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── LoaderExampleInline.tsx │ │ │ │ ├── LoaderExampleLabelPosition.shorthand.tsx │ │ │ │ ├── LoaderExampleSize.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Menu │ │ │ ├── BestPractices │ │ │ │ └── MenuBestPractices.tsx │ │ │ ├── Performance │ │ │ │ └── MenuMinimal.perf.tsx │ │ │ ├── Playground.tsx │ │ │ ├── Rtl │ │ │ │ ├── MenuExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── Slots │ │ │ │ ├── MenuExampleDivider.shorthand.tsx │ │ │ │ ├── MenuExampleDividerHorizontal.shorthand.tsx │ │ │ │ ├── MenuExampleIconOnly.shorthand.steps.ts │ │ │ │ ├── MenuExampleIconOnly.shorthand.tsx │ │ │ │ ├── MenuExampleSlot.shorthand.steps.ts │ │ │ │ ├── MenuExampleSlot.shorthand.tsx │ │ │ │ ├── MenuExampleWithIcons.shorthand.steps..ts │ │ │ │ ├── MenuExampleWithIcons.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── States │ │ │ │ ├── MenuItemExampleDisabled.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── MenuExample.shorthand.tsx │ │ │ │ ├── MenuExamplePointing.shorthand.steps.ts │ │ │ │ ├── MenuExamplePointing.shorthand.tsx │ │ │ │ ├── MenuExampleUnderlined.shorthand.steps.ts │ │ │ │ ├── MenuExampleUnderlined.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Usage │ │ │ │ ├── MenuExampleTabList.shorthand.tsx │ │ │ │ ├── MenuExampleToolbar.shorthand.steps.ts │ │ │ │ ├── MenuExampleToolbar.shorthand.tsx │ │ │ │ ├── MenuExampleWithSubmenu.shorthand.steps.ts │ │ │ │ ├── MenuExampleWithSubmenu.shorthand.tsx │ │ │ │ ├── MenuExampleWithSubmenuControlled.shorthand.tsx │ │ │ │ ├── MenuExampleWithTooltip.shorthand.steps.ts │ │ │ │ ├── MenuExampleWithTooltip.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── MenuExampleFluid.shorthand.tsx │ │ │ │ ├── MenuExampleVertical.shorthand.steps.ts │ │ │ │ ├── MenuExampleVertical.shorthand.tsx │ │ │ │ ├── MenuExampleVerticalPointing.shorthand.steps.ts │ │ │ │ ├── MenuExampleVerticalPointing.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── commonScreenerSteps.ts │ │ │ └── index.tsx │ │ │ ├── MenuButton │ │ │ ├── Performance │ │ │ │ └── MenuButtonMinimal.perf.tsx │ │ │ ├── Rtl │ │ │ │ ├── MenuButtonExample.rtl.steps.ts │ │ │ │ ├── MenuButtonExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── State │ │ │ │ ├── MenuButtonExampleOpen.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Usage │ │ │ │ ├── MenuButtonExampleContextMenu.shorthand.tsx │ │ │ │ ├── MenuButtonExampleOn.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Popup │ │ │ ├── BestPractices │ │ │ │ └── PopupBestPractices.tsx │ │ │ ├── Performance │ │ │ │ └── PopupMinimal.perf.tsx │ │ │ ├── Rtl │ │ │ │ ├── PopupExample.rtl.steps.ts │ │ │ │ ├── PopupExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── PopupControlledExample.shorthand.steps.ts │ │ │ │ ├── PopupControlledExample.shorthand.tsx │ │ │ │ ├── PopupControlledExample.tsx │ │ │ │ ├── PopupCustomTargetExample.shorthand.steps.ts │ │ │ │ ├── PopupCustomTargetExample.shorthand.tsx │ │ │ │ ├── PopupCustomTargetExample.tsx │ │ │ │ ├── PopupExample.shorthand.steps.ts │ │ │ │ ├── PopupExample.shorthand.tsx │ │ │ │ ├── PopupExample.tsx │ │ │ │ ├── PopupExampleInline.shorthand.tsx │ │ │ │ ├── PopupExampleInline.tsx │ │ │ │ ├── PopupExamplePointerMargin.shorthand.tsx │ │ │ │ ├── PopupExamplePointerOffset.steps.ts │ │ │ │ ├── PopupExamplePointerOffset.tsx │ │ │ │ ├── PopupExamplePointing.shorthand.tsx │ │ │ │ ├── PopupFocusTrapExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Usage │ │ │ │ ├── PopupExampleAsync.shorthand.tsx │ │ │ │ ├── PopupExampleCloseButton.shorthand.steps.ts │ │ │ │ ├── PopupExampleCloseButton.shorthand.tsx │ │ │ │ ├── PopupExampleCloseButton.tsx │ │ │ │ ├── PopupExampleContextOnElement.tsx │ │ │ │ ├── PopupExampleNested.shorthand.tsx │ │ │ │ ├── PopupExampleOn.shorthand.tsx │ │ │ │ ├── PopupExampleOnMultiple.shorthand.tsx │ │ │ │ ├── PopupExampleOnWithFocusTrap.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── PopupExampleOffset.shorthand.tsx │ │ │ │ ├── PopupExamplePosition.shorthand.tsx │ │ │ │ ├── PopupExamplePosition.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Portal │ │ │ ├── Performance │ │ │ │ └── PortalMinimal.perf.tsx │ │ │ ├── State │ │ │ │ ├── PortalExampleOpen.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── PortalExample.shorthand.tsx │ │ │ │ ├── PortalExample.tsx │ │ │ │ ├── PortalExampleFocusTrapped.shorthand.tsx │ │ │ │ ├── PortalExampleFocusTrapped.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Provider │ │ │ ├── Performance │ │ │ │ ├── ProviderMergeThemes.perf.tsx │ │ │ │ ├── ProviderMinimal.perf.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── ProviderDisableAnimationsExample.tsx │ │ │ │ ├── ProviderExample.shorthand.tsx │ │ │ │ ├── ProviderExampleRendererFelaPluginFallbackValue.shorthand.tsx │ │ │ │ ├── ProviderExampleScrollbar.tsx │ │ │ │ ├── ProviderExampleStyles.tsx │ │ │ │ ├── ProviderRtlExample.tsx │ │ │ │ └── index.tsx │ │ │ ├── Usage │ │ │ │ ├── ProviderExampleTarget.tsx │ │ │ │ ├── ProviderExampleTargetFrame.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── RadioGroup │ │ │ ├── Item │ │ │ │ ├── RadioGroupItemExample.shorthand.tsx │ │ │ │ ├── RadioGroupItemExampleChecked.shorthand.tsx │ │ │ │ ├── RadioGroupItemExampleDisabled.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Performance │ │ │ │ └── RadioGroupMinimal.perf.tsx │ │ │ ├── Rtl │ │ │ │ ├── RadioGroupExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── RadioGroupColorPickerExample.shorthand.tsx │ │ │ │ ├── RadioGroupExample.shorthand.steps.ts │ │ │ │ ├── RadioGroupExample.shorthand.tsx │ │ │ │ ├── RadioGroupVerticalExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Reaction │ │ │ ├── BestPractices │ │ │ │ └── ReactionBestPractices.tsx │ │ │ ├── Performance │ │ │ │ └── ReactionMinimal.perf.tsx │ │ │ ├── Rtl │ │ │ │ ├── ReactionExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── ReactionExample.shorthand.tsx │ │ │ │ ├── ReactionGroupExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Ref │ │ │ ├── Performance │ │ │ │ └── RefMinimal.perf.tsx │ │ │ ├── Types │ │ │ │ ├── RefExample.tsx │ │ │ │ ├── RefForwardingExample.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Segment │ │ │ ├── Performance │ │ │ │ └── SegmentMinimal.perf.tsx │ │ │ ├── Rtl │ │ │ │ ├── SegmentExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── States │ │ │ │ ├── SegmentExampleDisabled.shorthand.tsx │ │ │ │ ├── SegmentExampleDisabled.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── SegmentExample.shorthand.tsx │ │ │ │ ├── SegmentExample.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── SegmentExampleColor.shorthand.tsx │ │ │ │ ├── SegmentExampleColor.tsx │ │ │ │ ├── SegmentExampleInverted.shorthand.tsx │ │ │ │ ├── SegmentExampleInverted.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Slider │ │ │ ├── BestPractices │ │ │ │ └── SliderBestPractices.tsx │ │ │ ├── Performance │ │ │ │ └── SliderMinimal.perf.tsx │ │ │ ├── Rtl │ │ │ │ ├── SliderExample.rtl.steps.ts │ │ │ │ ├── SliderExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── States │ │ │ │ ├── SliderExampleDisabled.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── SliderExample.shorthand.steps.ts │ │ │ │ ├── SliderExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Usage │ │ │ │ ├── SliderExampleAction.shorthand.tsx │ │ │ │ ├── SliderExampleForm.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── SliderExampleFluid.shorthand.tsx │ │ │ │ ├── SliderExampleVertical.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── commonScreenerSteps.ts │ │ │ └── index.tsx │ │ │ ├── SplitButton │ │ │ ├── BestPractices │ │ │ │ └── SplitButtonBestPractices.tsx │ │ │ ├── Performance │ │ │ │ └── SplitButtonMinimal.perf.tsx │ │ │ ├── Slots │ │ │ │ ├── SplitButtonIconAndContentExample.shorthand.tsx │ │ │ │ ├── SplitButtonToggleButtonExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── States │ │ │ │ ├── SplitButtonExampleDisabled.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── SplitButtonExample.shorthand.tsx │ │ │ │ ├── SplitButtonExamplePrimary.shorthand.tsx │ │ │ │ ├── SplitButtonExampleSmall.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Usage │ │ │ │ ├── SplitButtonMainOptionChangeExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Status │ │ │ ├── BestPractices │ │ │ │ └── StatusBestPractices.tsx │ │ │ ├── Performance │ │ │ │ └── StatusMinimal.perf.tsx │ │ │ ├── Types │ │ │ │ ├── StatusExample.shorthand.tsx │ │ │ │ ├── StatusTypeExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── StatusColorExample.shorthand.tsx │ │ │ │ ├── StatusCustomExample.shorthand.tsx │ │ │ │ ├── StatusIconExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Table │ │ │ ├── BestPractices │ │ │ │ └── TableBestPractices.tsx │ │ │ ├── Performance │ │ │ │ └── TableMinimal.perf.tsx │ │ │ ├── Usage │ │ │ │ ├── TableExampleNavigable.shorthand.steps.ts │ │ │ │ ├── TableExampleNavigable.shorthand.tsx │ │ │ │ ├── TableExampleStatic.shorthand.tsx │ │ │ │ ├── TableExampleStatic.tsx │ │ │ │ ├── TableExampleStaticCompact.shorthand.tsx │ │ │ │ ├── TableExampleStaticHeadless.shorthand.tsx │ │ │ │ ├── TableExampleStaticRowless.shorthand.tsx │ │ │ │ ├── TableExampleStaticTruncate.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Text │ │ │ ├── BestPractices │ │ │ │ └── TextBestPractices.tsx │ │ │ ├── Performance │ │ │ │ └── TextMinimal.perf.tsx │ │ │ ├── Rtl │ │ │ │ ├── TextExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── States │ │ │ │ ├── TextExampleDisabled.shorthand.tsx │ │ │ │ ├── TextExampleDisabled.tsx │ │ │ │ ├── TextExampleError.shorthand.tsx │ │ │ │ ├── TextExampleError.tsx │ │ │ │ ├── TextExampleSuccess.shorthand.tsx │ │ │ │ ├── TextExampleSuccess.tsx │ │ │ │ ├── TextExampleTemporary.shorthand.tsx │ │ │ │ ├── TextExampleTemporary.tsx │ │ │ │ ├── TextExampleTruncated.shorthand.tsx │ │ │ │ ├── TextExampleTruncated.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── TextSizesExample.shorthand.tsx │ │ │ │ ├── TextSizesExample.tsx │ │ │ │ ├── TextWeightsExample.shorthand.tsx │ │ │ │ ├── TextWeightsExample.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── TextExampleAlign.shorthand.tsx │ │ │ │ ├── TextExampleAlign.tsx │ │ │ │ ├── TextExampleAtMention.shorthand.tsx │ │ │ │ ├── TextExampleAtMention.tsx │ │ │ │ ├── TextExampleColor.shorthand.tsx │ │ │ │ ├── TextExampleColor.tsx │ │ │ │ ├── TextExampleImportant.shorthand.tsx │ │ │ │ ├── TextExampleImportant.tsx │ │ │ │ ├── TextExampleTimestamp.shorthand.tsx │ │ │ │ ├── TextExampleTimestamp.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── TextArea │ │ │ ├── Performance │ │ │ │ └── TextAreaMinimal.perf.tsx │ │ │ ├── States │ │ │ │ ├── TextAreaDisabledExample.shorthand.tsx │ │ │ │ ├── TextAreaValueExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── TextAreaExample.shorthand.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── textAreaExample.shorthand.steps.ts │ │ │ ├── Usage │ │ │ │ ├── TextAreaExampleHeight.shorthand.tsx │ │ │ │ ├── TextAreaExampleMaxLength.shorthand.tsx │ │ │ │ ├── TextAreaExampleResize.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── TextAreaExampleFluid.shorthand.tsx │ │ │ │ ├── TextAreaExampleInverted.shorthand.steps.ts │ │ │ │ ├── TextAreaExampleInverted.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Toolbar │ │ │ ├── BestPractices │ │ │ │ └── ToolbarBestPractices.tsx │ │ │ ├── Content │ │ │ │ ├── ToolbarExampleCustomContent.shorthand.tsx │ │ │ │ ├── ToolbarExampleMenu.shorthand.steps.ts │ │ │ │ ├── ToolbarExampleMenu.shorthand.tsx │ │ │ │ ├── ToolbarExampleMenuItemToggle.shorthand.tsx │ │ │ │ ├── ToolbarExampleMenuRadioGroup.shorthand.tsx │ │ │ │ ├── ToolbarExampleMenuWithSubmenu.shorthand.steps.ts │ │ │ │ ├── ToolbarExampleMenuWithSubmenu.shorthand.tsx │ │ │ │ ├── ToolbarExampleOverflow.shorthand.tsx │ │ │ │ ├── ToolbarExamplePopup.shorthand.steps.ts │ │ │ │ ├── ToolbarExamplePopup.shorthand.tsx │ │ │ │ ├── ToolbarExampleRadioGroup.shorthand.steps.tsx │ │ │ │ ├── ToolbarExampleRadioGroup.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Performance │ │ │ │ ├── CustomToolbar.perf.tsx │ │ │ │ ├── ToolbarMinimal.perf.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── ToolbarExampleEditor.shorthand.steps.ts │ │ │ │ ├── ToolbarExampleEditor.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Usage │ │ │ │ ├── ToolbarExampleActionPopupInMenu.shorthand.steps.ts │ │ │ │ ├── ToolbarExampleActionPopupInMenu.shorthand.tsx │ │ │ │ ├── ToolbarExamplePopupInMenu.shorthand.steps.ts │ │ │ │ ├── ToolbarExamplePopupInMenu.shorthand.tsx │ │ │ │ ├── ToolbarExampleWithTooltip.shorthand.steps.ts │ │ │ │ ├── ToolbarExampleWithTooltip.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Tooltip │ │ │ ├── BestPractices │ │ │ │ └── TooltipBestPractices.tsx │ │ │ ├── Performance │ │ │ │ └── TooltipMinimal.perf.tsx │ │ │ ├── Rtl │ │ │ │ ├── TooltipExample.rtl.steps.ts │ │ │ │ ├── TooltipExample.rtl.tsx │ │ │ │ └── index.tsx │ │ │ ├── States │ │ │ │ ├── TooltipOpenControlledExample.shorthand.tsx │ │ │ │ ├── TooltipOpenControlledExample.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── TooltipExample.shorthand.steps.ts │ │ │ │ ├── TooltipExample.shorthand.tsx │ │ │ │ ├── TooltipExample.tsx │ │ │ │ ├── TooltipExamplePointing.shorthand.steps.ts │ │ │ │ ├── TooltipExamplePointing.shorthand.tsx │ │ │ │ ├── TooltipExamplePointing.tsx │ │ │ │ └── index.tsx │ │ │ ├── Usage │ │ │ │ ├── TooltipExampleDisabledTrigger.shorthand.tsx │ │ │ │ ├── TooltipExampleTarget.shorthand.steps.ts │ │ │ │ ├── TooltipExampleTarget.shorthand.tsx │ │ │ │ ├── TooltipExampleTarget.tsx │ │ │ │ └── index.tsx │ │ │ ├── Variations │ │ │ │ ├── TooltipExamplePosition.shorthand.tsx │ │ │ │ ├── TooltipExamplePosition.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ ├── Tree │ │ │ ├── BestPractices │ │ │ │ └── TreeBestPractices.tsx │ │ │ ├── Performance │ │ │ │ ├── TreeMinimal.perf.tsx │ │ │ │ ├── TreeWith60ListItems.perf.tsx │ │ │ │ └── index.tsx │ │ │ ├── Types │ │ │ │ ├── TreeExample.shorthand.steps.ts │ │ │ │ ├── TreeExample.shorthand.tsx │ │ │ │ ├── TreeExclusiveExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ ├── Usage │ │ │ │ ├── TreeAsListExample.shorthand.tsx │ │ │ │ ├── TreeInitiallyOpenExample.shorthand.tsx │ │ │ │ ├── TreeTitleCustomizationExample.shorthand.tsx │ │ │ │ └── index.tsx │ │ │ └── index.tsx │ │ │ └── Video │ │ │ ├── Performance │ │ │ └── VideoMinimal.perf.tsx │ │ │ ├── Types │ │ │ ├── VideoExample.shorthand.tsx │ │ │ └── index.tsx │ │ │ └── index.tsx │ ├── global.d.ts │ ├── index.ejs │ ├── index.tsx │ ├── microsoft-logo.png │ ├── netflix-logo.png │ ├── pages │ │ ├── ComponentArchitecture.mdx │ │ ├── Composition.mdx │ │ ├── Layout.mdx │ │ ├── ShorthandProps.mdx │ │ └── ThemingSpecification.mdx │ ├── prototypes │ │ ├── AsyncShorthand │ │ │ ├── AsyncShorthand.tsx │ │ │ └── index.ts │ │ ├── CopyToClipboard │ │ │ ├── CopyToClipboard.tsx │ │ │ ├── NotificationProvider.tsx │ │ │ ├── index.tsx │ │ │ └── themeOverrides.ts │ │ ├── EditorToolbar │ │ │ ├── EditorToolbar.tsx │ │ │ ├── EditorToolbarTable.tsx │ │ │ ├── PortalWindow.tsx │ │ │ ├── editorToolbarReducer.ts │ │ │ └── index.tsx │ │ ├── IconViewer │ │ │ └── index.tsx │ │ ├── NestedPopupsAndDialogs │ │ │ └── index.tsx │ │ ├── ParticipantsList │ │ │ └── index.tsx │ │ ├── Prototypes.tsx │ │ ├── SearchPage │ │ │ ├── SearchPage.tsx │ │ │ └── index.ts │ │ ├── VirtualizedTable │ │ │ ├── VirtualizedTable.tsx │ │ │ ├── VirtualizedTables.tsx │ │ │ ├── index.tsx │ │ │ └── itemsGenerator.ts │ │ ├── VirtualizedTree │ │ │ ├── VirtualizedTree.tsx │ │ │ ├── index.tsx │ │ │ └── itemsGenerator.ts │ │ ├── alerts │ │ │ ├── AnimatedBannerAlert.tsx │ │ │ ├── BannerAlerts.tsx │ │ │ └── index.tsx │ │ ├── chatMessages │ │ │ ├── ChatMessageWithPopover │ │ │ │ ├── ChatWithPopover.tsx │ │ │ │ ├── Popover.tsx │ │ │ │ ├── ReactionPopup.tsx │ │ │ │ └── index.tsx │ │ │ ├── ControlMessages │ │ │ │ ├── ControlMessage.tsx │ │ │ │ ├── GroupControlMessages.tsx │ │ │ │ ├── controlMessagesGroupBehavior.ts │ │ │ │ ├── index.tsx │ │ │ │ └── mockData.tsx │ │ │ ├── ImportantAndMentionMessages │ │ │ │ └── index.tsx │ │ │ ├── ThreadedMessages │ │ │ │ ├── ScreenReaderHeaderText.tsx │ │ │ │ ├── ThreadReplies.tsx │ │ │ │ ├── ThreadReplyEditor.tsx │ │ │ │ ├── ThreadedMessage.tsx │ │ │ │ ├── classNames.ts │ │ │ │ ├── index.tsx │ │ │ │ ├── mockData.tsx │ │ │ │ ├── repliesButtonBehavior.ts │ │ │ │ ├── theme.tsx │ │ │ │ ├── threadChatBehavior.ts │ │ │ │ └── threadedMessageBehavior.ts │ │ │ └── index.tsx │ │ ├── chatPane │ │ │ ├── chatPaneContent.tsx │ │ │ ├── chatPaneHeader.tsx │ │ │ ├── chatPaneLayout.tsx │ │ │ ├── chatProtoStyle.ts │ │ │ ├── composeMessage.tsx │ │ │ ├── index.tsx │ │ │ └── services │ │ │ │ ├── dataMock.ts │ │ │ │ ├── dateUtils.ts │ │ │ │ ├── index.ts │ │ │ │ ├── messageFactoryMock.tsx │ │ │ │ └── types.ts │ │ ├── customScrollbar │ │ │ └── index.tsx │ │ ├── customToolbar │ │ │ ├── CustomToolbar.tsx │ │ │ ├── darkThemeOverrides.ts │ │ │ ├── highContrastThemeOverrides.ts │ │ │ └── index.tsx │ │ ├── dropdowns │ │ │ ├── AsyncDropdownSearch.tsx │ │ │ └── index.tsx │ │ ├── employeeCard │ │ │ ├── AvatarEmployeeCard.tsx │ │ │ ├── CustomText.tsx │ │ │ ├── EmployeeCard.tsx │ │ │ └── index.tsx │ │ ├── hexagonalAvatar │ │ │ ├── CustomAvatar.tsx │ │ │ └── index.tsx │ │ ├── meetingOptions │ │ │ ├── components │ │ │ │ ├── MSTeamsFooter.tsx │ │ │ │ ├── MSTeamsHeader.tsx │ │ │ │ ├── MSTeamsLink.tsx │ │ │ │ ├── MSTeamsLogo.tsx │ │ │ │ ├── MSTeamsMeetingOptions.tsx │ │ │ │ └── TransparentDivider.tsx │ │ │ ├── index.tsx │ │ │ └── styles.ts │ │ ├── mentions │ │ │ ├── MentionsDropdown.tsx │ │ │ ├── MentionsEditor.tsx │ │ │ ├── PortalAtCursorPosition.ts │ │ │ ├── dataMocks.ts │ │ │ ├── index.tsx │ │ │ └── utils.ts │ │ ├── popups │ │ │ ├── GridImagePicker │ │ │ │ ├── GridImagePicker.tsx │ │ │ │ └── GridImagePickerItem.tsx │ │ │ ├── dataMocks.ts │ │ │ ├── emojiPicker.tsx │ │ │ ├── index.tsx │ │ │ └── stickerPicker.tsx │ │ └── table │ │ │ ├── AdvancedTable.tsx │ │ │ ├── InteractiveTable.tsx │ │ │ └── index.tsx │ ├── public │ │ └── images │ │ │ ├── 4by3.jpg │ │ │ ├── avatar │ │ │ ├── large │ │ │ │ ├── ade.jpg │ │ │ │ ├── chris.jpg │ │ │ │ ├── christian.jpg │ │ │ │ ├── daniel.jpg │ │ │ │ ├── elliot.jpg │ │ │ │ ├── elyse.png │ │ │ │ ├── helen.jpg │ │ │ │ ├── jenny.jpg │ │ │ │ ├── jerry.png │ │ │ │ ├── joe.jpg │ │ │ │ ├── justen.jpg │ │ │ │ ├── kristy.png │ │ │ │ ├── laura.jpg │ │ │ │ ├── matt.jpg │ │ │ │ ├── matthew.png │ │ │ │ ├── molly.png │ │ │ │ ├── nan.jpg │ │ │ │ ├── nom.jpg │ │ │ │ ├── patrick.png │ │ │ │ ├── rachel.png │ │ │ │ ├── steve.jpg │ │ │ │ ├── stevie.jpg │ │ │ │ ├── tom.jpg │ │ │ │ ├── veronika.jpg │ │ │ │ └── zoe.jpg │ │ │ └── small │ │ │ │ ├── ade.jpg │ │ │ │ ├── chris.jpg │ │ │ │ ├── christian.jpg │ │ │ │ ├── daniel.jpg │ │ │ │ ├── elliot.jpg │ │ │ │ ├── helen.jpg │ │ │ │ ├── jenny.jpg │ │ │ │ ├── joe.jpg │ │ │ │ ├── justen.jpg │ │ │ │ ├── laura.jpg │ │ │ │ ├── lena.png │ │ │ │ ├── lindsay.png │ │ │ │ ├── mark.png │ │ │ │ ├── matt.jpg │ │ │ │ ├── matthew.png │ │ │ │ ├── molly.png │ │ │ │ ├── nan.jpg │ │ │ │ ├── nom.jpg │ │ │ │ ├── rachel.png │ │ │ │ ├── steve.jpg │ │ │ │ ├── stevie.jpg │ │ │ │ ├── tom.jpg │ │ │ │ ├── veronika.jpg │ │ │ │ └── zoe.jpg │ │ │ ├── flex-column.svg │ │ │ ├── flex.svg │ │ │ ├── fluent-ui-logo-black.png │ │ │ ├── fluent-ui-logo-dev.png │ │ │ ├── fluent-ui-logo-inverted.png │ │ │ ├── fluent-ui-logo-white.png │ │ │ ├── fluent-ui-logo.png │ │ │ ├── grid-page.svg │ │ │ ├── grid.svg │ │ │ ├── icons │ │ │ ├── plugin.png │ │ │ └── school.png │ │ │ ├── image-16by9.png │ │ │ ├── leaves │ │ │ ├── 1.png │ │ │ ├── 3.png │ │ │ ├── 4.png │ │ │ └── 5.png │ │ │ ├── movies │ │ │ └── totoro-horizontal.jpg │ │ │ ├── tears-of-steel.jpg │ │ │ ├── vimeo-example.jpg │ │ │ └── wireframe │ │ │ ├── centered-paragraph.png │ │ │ ├── image-square.png │ │ │ ├── image-text.png │ │ │ ├── image.png │ │ │ ├── media-paragraph-alt.png │ │ │ ├── media-paragraph.png │ │ │ ├── paragraph.png │ │ │ ├── short-paragraph.png │ │ │ ├── square-image.png │ │ │ ├── text-image.png │ │ │ └── white-image.png │ ├── routes.tsx │ ├── types.ts │ ├── utils │ │ ├── componentInfoContext.ts │ │ ├── exampleContexts.ts │ │ ├── exampleKebabNameToSourceFilename.ts │ │ ├── examplePathToHash.ts │ │ ├── getComponentGroup.ts │ │ ├── getComponentPathname.ts │ │ ├── getFormattedHash.ts │ │ ├── getInfoForSeeTags.ts │ │ ├── helpers.tsx │ │ ├── index.tsx │ │ ├── parseExamplePath.ts │ │ └── scrollToAnchor.ts │ └── views │ │ ├── Accessibility.tsx │ │ ├── AccessibilityBehaviors.tsx │ │ ├── AutoFocusZoneDoc.tsx │ │ ├── CategoryColorPalette.tsx │ │ ├── CategoryColorSchemes.tsx │ │ ├── ColorPalette.tsx │ │ ├── ColorSchemes.tsx │ │ ├── Colors.tsx │ │ ├── FAQ.tsx │ │ ├── FocusTrapZoneDoc.tsx │ │ ├── FocusZoneDoc.tsx │ │ ├── IntegrateCustomComponents.tsx │ │ ├── Introduction.tsx │ │ ├── Layout.tsx │ │ ├── PageNotFound.tsx │ │ ├── Performance.tsx │ │ ├── QuickStart.tsx │ │ ├── Theming.tsx │ │ └── ThemingExamples.tsx ├── tsconfig.json └── tslint.json ├── e2e ├── .eslintignore ├── .eslintrc.json ├── README.md ├── e2eApi.ts ├── global.d.ts ├── jest.config.js ├── package.json ├── server │ ├── E2EExample.tsx │ ├── app.tsx │ ├── index.html │ └── routes.ts ├── setup.test.ts ├── tests │ ├── dialogInDialog-example.tsx │ ├── dialogInDialog-test.ts │ ├── dialogInPopup-example.tsx │ ├── dialogInPopup-test.ts │ ├── dropdown-example.tsx │ ├── dropdown-test.ts │ ├── dropdownMoveFocusOnTab-example.tsx │ ├── dropdownMoveFocusOnTab-test.ts │ ├── hierarchicalTree-example.tsx │ ├── hierarchicalTree-test.ts │ ├── popupClickHandling-example.tsx │ ├── popupClickHandling-test.ts │ ├── popupEscHandling-example.tsx │ ├── popupEscHandling-test.ts │ ├── popupInMenu-example.tsx │ ├── popupInMenu-test.ts │ ├── popupInPopup-example.tsx │ ├── popupInPopup-test.ts │ ├── popupInSubmenuInToolbarMenu-example.tsx │ ├── popupInSubmenuInToolbarMenu-test.ts │ ├── popupInToolbarMenu-example.tsx │ ├── popupInToolbarMenu-test.ts │ ├── popupWithoutTrigger-example.tsx │ ├── popupWithoutTrigger-test.ts │ ├── submenuInToolbarMenu-example.tsx │ ├── submenuInToolbarMenu-test.ts │ ├── toolbarMenu-example.tsx │ ├── toolbarMenu-test.ts │ ├── toolbarMenuOverflow-example.tsx │ ├── toolbarMenuOverflow-test.ts │ ├── toolbarMenuOverflowWrapped-example.tsx │ └── toolbarMenuOverflowWrapped-test.ts ├── tsconfig.json └── tslint.json ├── gulpfile.ts ├── jest.config.js ├── lerna.json ├── now.json ├── package.json ├── packages ├── ability-attributes │ ├── .gitignore │ ├── .gulp.js │ ├── babel.config.js │ ├── gulpfile.ts │ ├── package.json │ ├── schema.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── accessibility │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .gulp.js │ ├── babel.config.js │ ├── gulpfile.ts │ ├── jest.config.js │ ├── package.json │ ├── src │ │ ├── attributes.ts │ │ ├── behaviors │ │ │ ├── Accordion │ │ │ │ ├── accordionBehavior.ts │ │ │ │ ├── accordionContentBehavior.ts │ │ │ │ └── accordionTitleBehavior.ts │ │ │ ├── Alert │ │ │ │ ├── alertBaseBehavior.ts │ │ │ │ ├── alertBehavior.ts │ │ │ │ └── alertWarningBehavior.ts │ │ │ ├── Attachment │ │ │ │ └── attachmentBehavior.ts │ │ │ ├── Button │ │ │ │ ├── buttonBehavior.ts │ │ │ │ └── toggleButtonBehavior.ts │ │ │ ├── Carousel │ │ │ │ ├── carouselBehavior.ts │ │ │ │ └── carouselItemBehavior.ts │ │ │ ├── Chat │ │ │ │ ├── chatBehavior.ts │ │ │ │ └── chatMessageBehavior.ts │ │ │ ├── Checkbox │ │ │ │ └── checkboxBehavior.ts │ │ │ ├── Dialog │ │ │ │ └── dialogBehavior.ts │ │ │ ├── Embed │ │ │ │ └── embedBehavior.ts │ │ │ ├── Grid │ │ │ │ ├── gridBehavior.ts │ │ │ │ └── gridHorizontalBehavior.ts │ │ │ ├── HierarchicalTree │ │ │ │ ├── hierarchicalSubtreeBehavior.ts │ │ │ │ ├── hierarchicalTreeBehavior.ts │ │ │ │ ├── hierarchicalTreeItemBehavior.ts │ │ │ │ └── hierarchicalTreeTitleBehavior.ts │ │ │ ├── Icon │ │ │ │ └── iconBehavior.ts │ │ │ ├── Image │ │ │ │ └── imageBehavior.ts │ │ │ ├── Input │ │ │ │ └── inputBehavior.ts │ │ │ ├── List │ │ │ │ ├── basicListBehavior.ts │ │ │ │ ├── basicListItemBehavior.ts │ │ │ │ ├── listBehavior.ts │ │ │ │ ├── listItemBehavior.ts │ │ │ │ ├── navigableListBehavior.ts │ │ │ │ ├── navigableListItemBehavior.ts │ │ │ │ ├── selectableListBehavior.ts │ │ │ │ └── selectableListItemBehavior.ts │ │ │ ├── Loader │ │ │ │ └── loaderBehavior.ts │ │ │ ├── Menu │ │ │ │ ├── menuBehavior.ts │ │ │ │ ├── menuDividerBehavior.ts │ │ │ │ ├── menuItemBehavior.ts │ │ │ │ └── submenuBehavior.ts │ │ │ ├── MenuButton │ │ │ │ └── menuButtonBehavior.ts │ │ │ ├── Popup │ │ │ │ └── popupBehavior.ts │ │ │ ├── Radio │ │ │ │ ├── radioGroupBehavior.ts │ │ │ │ └── radioGroupItemBehavior.ts │ │ │ ├── Slider │ │ │ │ └── sliderBehavior.ts │ │ │ ├── SplitButton │ │ │ │ └── splitButtonBehavior.ts │ │ │ ├── Status │ │ │ │ └── statusBehavior.ts │ │ │ ├── Tab │ │ │ │ ├── tabBehavior.ts │ │ │ │ └── tabListBehavior.ts │ │ │ ├── Table │ │ │ │ ├── gridCellBehavior.ts │ │ │ │ ├── gridCellMultipleFocusableBehavior.ts │ │ │ │ ├── gridCellWithFocusableElementBehavior.ts │ │ │ │ ├── gridHeaderCellBehavior.ts │ │ │ │ ├── gridHeaderRowBehavior.ts │ │ │ │ ├── gridNestedBehavior.ts │ │ │ │ ├── gridRowBehavior.ts │ │ │ │ ├── gridRowNestedBehavior.ts │ │ │ │ ├── tableBehavior.ts │ │ │ │ ├── tableCellBehavior.ts │ │ │ │ ├── tableHeaderCellBehavior.ts │ │ │ │ └── tableRowBehavior.ts │ │ │ ├── TextArea │ │ │ │ └── textAreaBehavior.ts │ │ │ ├── Toolbar │ │ │ │ ├── menuAsToolbarBehavior.ts │ │ │ │ ├── menuItemAsToolbarButtonBehavior.ts │ │ │ │ ├── toolbarBehavior.ts │ │ │ │ ├── toolbarItemBehavior.ts │ │ │ │ ├── toolbarMenuBehavior.ts │ │ │ │ ├── toolbarMenuItemBehavior.ts │ │ │ │ ├── toolbarMenuItemCheckboxBehavior.ts │ │ │ │ ├── toolbarMenuItemRadioBehavior.ts │ │ │ │ ├── toolbarMenuRadioGroupBehavior.ts │ │ │ │ ├── toolbarRadioGroupBehavior.ts │ │ │ │ └── toolbarRadioGroupItemBehavior.ts │ │ │ ├── Tooltip │ │ │ │ ├── tooltipAsDescriptionBehavior.ts │ │ │ │ └── tooltipAsLabelBehavior.ts │ │ │ ├── Tree │ │ │ │ ├── treeAsListBehavior.ts │ │ │ │ ├── treeBehavior.ts │ │ │ │ ├── treeItemAsListItemBehavior.ts │ │ │ │ ├── treeItemBehavior.ts │ │ │ │ ├── treeTitleAsListItemTitleBehavior.ts │ │ │ │ └── treeTitleBehavior.ts │ │ │ └── index.ts │ │ ├── focusZone │ │ │ └── types.ts │ │ ├── index.ts │ │ └── types.ts │ ├── test │ │ └── behaviors │ │ │ ├── accordionTitleBehavior-test.tsx │ │ │ ├── alertBehavior-test.tsx │ │ │ ├── behavior-test.tsx │ │ │ ├── dialogBehavior-test.tsx │ │ │ ├── gridRowBehavior-test.tsx │ │ │ ├── hierarchicalTreeItemBehavior-test.tsx │ │ │ ├── hierarchicalTreeTitleBehavior-test.tsx │ │ │ ├── listBehavior-test.tsx │ │ │ ├── listItemBehavior-test.tsx │ │ │ ├── loaderBehavior-test.tsx │ │ │ ├── menuButtonBehavior-test.tsx │ │ │ ├── popupBehavior-test.tsx │ │ │ ├── sliderBehavior-test.ts │ │ │ ├── splitButtonBehavior-test.tsx │ │ │ ├── tableRowBehavior-test.tsx │ │ │ ├── testDefinitions.ts │ │ │ ├── testHelper.tsx │ │ │ ├── treeItemAsListItemBehavior-test.tsx │ │ │ ├── treeItemBehavior-test.tsx │ │ │ ├── treeTitleAsListItemTitleBehavior-test.tsx │ │ │ └── treeTitleBehavior-test.tsx │ ├── tsconfig.json │ └── tslint.json ├── code-sandbox │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .gulp.js │ ├── babel.config.js │ ├── gulpfile.ts │ ├── package.json │ ├── src │ │ ├── KnobsSnippet.tsx │ │ ├── SandboxApp.tsx │ │ ├── createCallbackLogFormatter.ts │ │ ├── index.ts │ │ └── knobComponents.tsx │ ├── tsconfig.json │ └── tslint.json ├── digest │ ├── README.md │ ├── assets │ │ └── index.html │ ├── just.config.ts │ ├── package.json │ ├── src │ │ ├── bundle │ │ │ ├── index.digest.tsx │ │ │ └── stories.tsx │ │ ├── config.tsx │ │ ├── digest.tsx │ │ └── webpack.config.ts │ └── tsconfig.json ├── docs-components │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .gulp.js │ ├── babel.config.js │ ├── gulpfile.ts │ ├── package.json │ ├── src │ │ ├── CodeSnippet │ │ │ ├── CodeSnippet.tsx │ │ │ ├── CodeSnippetLabel.tsx │ │ │ ├── formatCode.ts │ │ │ └── types.ts │ │ ├── CopyToClipboard.tsx │ │ ├── index.ts │ │ └── knobs │ │ │ ├── KnobContexts.ts │ │ │ ├── KnobInspector.tsx │ │ │ ├── KnobProvider.tsx │ │ │ ├── LogInspector.tsx │ │ │ ├── defaultComponents.tsx │ │ │ ├── types.ts │ │ │ ├── useBooleanKnob.ts │ │ │ ├── useKnob.ts │ │ │ ├── useKnobValues.ts │ │ │ ├── useLogKnob.ts │ │ │ ├── useNumberKnob.ts │ │ │ ├── useRangeKnob.ts │ │ │ ├── useSelectKnob.ts │ │ │ ├── useStringKnob.ts │ │ │ └── utils │ │ │ └── parseRangeValue.ts │ ├── tsconfig.json │ └── tslint.json ├── eslint-plugin │ ├── index.js │ ├── package.json │ ├── rules │ │ └── no-visibility-modifiers │ │ │ └── index.js │ └── utils │ │ └── isTypeScriptFile.js ├── local-sandbox │ ├── .browserslistrc │ ├── README.md │ ├── babel.config.js │ ├── package.json │ ├── public │ │ └── index.html │ ├── server.js │ ├── src │ │ └── index.tsx │ ├── tsconfig.json │ └── webpack.config.ts ├── perf-test │ ├── .digest │ │ └── config.tsx │ ├── just.config.ts │ ├── package.json │ ├── stories │ │ ├── Avatar.perf.tsx │ │ ├── Button.perf.tsx │ │ ├── Checkbox.perf.tsx │ │ ├── Dialog.perf.tsx │ │ ├── Dropdown.perf.tsx │ │ ├── Icon.perf.tsx │ │ ├── Image.perf.tsx │ │ ├── Slider.perf.tsx │ │ ├── Text.perf.tsx │ │ └── Tooltip.perf.tsx │ ├── tasks │ │ └── perf-test.ts │ └── tsconfig.json ├── playground │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .storybook │ │ ├── addons.js │ │ ├── config.js │ │ └── webpack.config.js │ ├── CHANGELOG.json │ ├── CHANGELOG.md │ ├── README.md │ ├── api-extractor.json │ ├── api │ │ └── react.api.md │ ├── jest.config.js │ ├── jest.puppeteer.js │ ├── just.config.ts │ ├── package.json │ ├── src │ │ ├── components │ │ │ ├── Button │ │ │ │ ├── Button.base.tsx │ │ │ │ ├── Button.stories.tsx │ │ │ │ ├── Button.test.tsx │ │ │ │ ├── Button.types.ts │ │ │ │ ├── index.ts │ │ │ │ └── useButton.ts │ │ │ ├── Checkbox │ │ │ │ ├── Checkbox.base.tsx │ │ │ │ ├── Checkbox.stories.tsx │ │ │ │ ├── Checkbox.types.ts │ │ │ │ ├── README.md │ │ │ │ ├── index.ts │ │ │ │ └── useCheckbox.ts │ │ │ ├── Icon │ │ │ │ └── README.md │ │ │ ├── Link │ │ │ │ ├── Link.base.tsx │ │ │ │ ├── Link.stories.tsx │ │ │ │ ├── Link.styles.ts │ │ │ │ ├── Link.test.tsx │ │ │ │ ├── Link.tokens.ts │ │ │ │ ├── Link.ts │ │ │ │ ├── Link.types.ts │ │ │ │ ├── README.md │ │ │ │ ├── index.ts │ │ │ │ └── useLink.ts │ │ │ └── Slider │ │ │ │ ├── README.md │ │ │ │ ├── Slider.base.tsx │ │ │ │ ├── Slider.e2e.tsx │ │ │ │ ├── Slider.stories.tsx │ │ │ │ ├── Slider.styles.tsx │ │ │ │ ├── Slider.test.tsx │ │ │ │ ├── Slider.tokens.tsx │ │ │ │ ├── Slider.tsx │ │ │ │ ├── Slider.types.ts │ │ │ │ ├── index.ts │ │ │ │ ├── themes │ │ │ │ └── fluent │ │ │ │ │ └── Slider.theme.ts │ │ │ │ └── useSlider.ts │ │ ├── hooks │ │ │ ├── merge.ts │ │ │ ├── useControlledState.ts │ │ │ └── useWindowEvent.ts │ │ ├── index.ts │ │ └── themes │ │ │ └── fluent │ │ │ ├── dark │ │ │ └── index.ts │ │ │ └── light │ │ │ └── index.ts │ └── tsconfig.json ├── react-bindings │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .gulp.js │ ├── README.md │ ├── api-extractor.json │ ├── babel.config.js │ ├── gulpfile.ts │ ├── jest.config.js │ ├── package.json │ ├── src │ │ ├── FocusZone │ │ │ ├── AutoFocusZone.tsx │ │ │ ├── AutoFocusZone.types.tsx │ │ │ ├── CHANGELOG.md │ │ │ ├── FocusTrapZone.tsx │ │ │ ├── FocusTrapZone.types.tsx │ │ │ ├── FocusZone.tsx │ │ │ ├── FocusZone.types.ts │ │ │ └── focusUtilities.ts │ │ ├── accessibility │ │ │ ├── getAccessibility.ts │ │ │ ├── getKeyDownHandlers.ts │ │ │ ├── shouldHandleOnKeys.ts │ │ │ └── types.ts │ │ ├── hooks │ │ │ ├── useAccessibility.ts │ │ │ ├── useAutoControlled.ts │ │ │ ├── useDispatchEffect.ts │ │ │ ├── useIsomorphicLayoutEffect.ts │ │ │ ├── useStateManager.ts │ │ │ └── useStyles.ts │ │ ├── index.ts │ │ ├── styles │ │ │ ├── calculateAnimationTimeout.ts │ │ │ ├── convertCssTimeToNumber.ts │ │ │ ├── createAnimationStyles.tsx │ │ │ ├── getStyles.ts │ │ │ ├── resolveStyles.ts │ │ │ ├── resolveVariables.ts │ │ │ └── types.ts │ │ ├── telemetry │ │ │ ├── types.ts │ │ │ └── useTelemetry.ts │ │ └── utils │ │ │ ├── getElementType.ts │ │ │ └── getUnhandledProps.ts │ ├── test │ │ ├── FocusZone │ │ │ ├── AutoFocusZone-test.tsx │ │ │ ├── FocusTrapZone-test.tsx │ │ │ └── FocusZone-test.tsx │ │ ├── accesibility │ │ │ ├── getKeyDownHandlers-test.ts │ │ │ └── shouldHandleOnKeys-test.ts │ │ ├── hooks │ │ │ ├── useAccessibility-test.tsx │ │ │ ├── useAutoControlled-test.tsx │ │ │ ├── useDispatchEffect-test.tsx │ │ │ ├── useStateManager-test.tsx │ │ │ └── useStyles-test.tsx │ │ ├── styles │ │ │ ├── convertCssTimeToNumber-test.ts │ │ │ ├── createAnimationStyles-test.ts │ │ │ ├── resolveStyles-test.ts │ │ │ └── resolveVariables-test.ts │ │ └── utils │ │ │ ├── getElementType-test.ts │ │ │ └── getUnhandledProps-test.ts │ ├── tsconfig.json │ └── tslint.json ├── react-component-event-listener │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .gulp.js │ ├── babel.config.js │ ├── gulpfile.ts │ ├── jest.config.js │ ├── package.json │ ├── src │ │ ├── EventListener.ts │ │ ├── index.ts │ │ ├── types.ts │ │ └── useEventListener.ts │ ├── test │ │ └── EventListener-test.tsx │ ├── tsconfig.json │ └── tslint.json ├── react-component-nesting-registry │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .gulp.js │ ├── babel.config.js │ ├── gulpfile.ts │ ├── jest.config.js │ ├── package.json │ ├── src │ │ ├── NestingAuto.tsx │ │ ├── NestingChild.tsx │ │ ├── NestingContext.ts │ │ ├── NestingRoot.tsx │ │ ├── hooks │ │ │ ├── types.ts │ │ │ ├── useNestingAuto.ts │ │ │ ├── useNestingChild.ts │ │ │ └── useNestingRoot.ts │ │ ├── index.ts │ │ ├── types.ts │ │ └── utils │ │ │ └── RefStack.ts │ ├── test │ │ └── NestingAuto-test.tsx │ ├── tsconfig.json │ └── tslint.json ├── react-component-ref │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .gulp.js │ ├── babel.config.js │ ├── gulpfile.ts │ ├── jest.config.js │ ├── package.json │ ├── src │ │ ├── Ref.tsx │ │ ├── RefFindNode.tsx │ │ ├── RefForward.tsx │ │ ├── handleRef.ts │ │ ├── index.ts │ │ ├── isRefObject.ts │ │ └── types.ts │ ├── test │ │ ├── Ref-test.tsx │ │ ├── RefFindNode-test.tsx │ │ ├── RefForward-test.tsx │ │ ├── fixtures.tsx │ │ ├── handleRef-test.ts │ │ └── isRefObject-test.ts │ ├── tsconfig.json │ └── tslint.json ├── react-context-selector │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .gulp.js │ ├── README.md │ ├── babel.config.js │ ├── gulpfile.ts │ ├── jest.config.js │ ├── package.json │ ├── src │ │ ├── createContext.ts │ │ ├── index.ts │ │ ├── types.ts │ │ ├── useContextSelector.ts │ │ ├── useContextSelectors.ts │ │ └── utils.ts │ ├── test │ │ ├── createContext-test.tsx │ │ ├── useContextSelector-test.tsx │ │ └── useContextSelectors-test.tsx │ ├── tsconfig.json │ └── tslint.json ├── react-proptypes │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .gulp.js │ ├── babel.config.js │ ├── gulpfile.ts │ ├── jest.config.js │ ├── package.json │ ├── src │ │ ├── index.ts │ │ └── leven.ts │ ├── test │ │ └── customPropTypes-test.ts │ ├── tsconfig.json │ └── tslint.json ├── react-theming │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .gitignore │ ├── CHANGELOG.json │ ├── CHANGELOG.md │ ├── README.md │ ├── api-extractor.json │ ├── jest.config.js │ ├── just.config.ts │ ├── package.json │ ├── readme.org │ ├── src │ │ ├── components │ │ │ ├── Box │ │ │ │ ├── Box.styles.tsx │ │ │ │ ├── Box.tsx │ │ │ │ ├── Box.types.ts │ │ │ │ └── Primitive.base.tsx │ │ │ └── ThemeProvider │ │ │ │ └── ThemeProvider.tsx │ │ ├── compose.test.tsx │ │ ├── compose.ts │ │ ├── index.ts │ │ ├── resolveTokens.test.ts │ │ ├── resolveTokens.ts │ │ ├── slots.types.ts │ │ ├── theme.types.ts │ │ ├── themeContext.ts │ │ └── utilities │ │ │ ├── color.contrast.ts │ │ │ ├── color.hsl.ts │ │ │ ├── color.test.ts │ │ │ ├── color.ts │ │ │ ├── color.types.ts │ │ │ ├── color.values.ts │ │ │ ├── createTheme.ts │ │ │ └── mergeSlotProps.ts │ ├── tsconfig.json │ └── tslint.json ├── react │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .gulp.js │ ├── api-extractor.json │ ├── babel.config.js │ ├── gulpfile.ts │ ├── jest.config.js │ ├── package.json │ ├── src │ │ ├── components │ │ │ ├── Accordion │ │ │ │ ├── Accordion.tsx │ │ │ │ ├── AccordionContent.tsx │ │ │ │ └── AccordionTitle.tsx │ │ │ ├── Alert │ │ │ │ └── Alert.tsx │ │ │ ├── Animation │ │ │ │ └── Animation.tsx │ │ │ ├── Attachment │ │ │ │ └── Attachment.tsx │ │ │ ├── Avatar │ │ │ │ └── Avatar.tsx │ │ │ ├── Box │ │ │ │ └── Box.tsx │ │ │ ├── Button │ │ │ │ ├── Button.tsx │ │ │ │ └── ButtonGroup.tsx │ │ │ ├── Carousel │ │ │ │ ├── Carousel.tsx │ │ │ │ ├── CarouselItem.tsx │ │ │ │ ├── CarouselNavigation.tsx │ │ │ │ └── CarouselNavigationItem.tsx │ │ │ ├── Chat │ │ │ │ ├── Chat.tsx │ │ │ │ ├── ChatItem.tsx │ │ │ │ ├── ChatMessage.tsx │ │ │ │ └── chatItemContext.ts │ │ │ ├── Checkbox │ │ │ │ └── Checkbox.tsx │ │ │ ├── Debug │ │ │ │ ├── Debug.tsx │ │ │ │ ├── DebugComponentViewer.tsx │ │ │ │ ├── DebugLine.tsx │ │ │ │ ├── DebugPanel.tsx │ │ │ │ ├── DebugPanelData.tsx │ │ │ │ ├── DebugPanelItem.tsx │ │ │ │ ├── DebugRect.tsx │ │ │ │ ├── FiberNavigator.ts │ │ │ │ ├── ScrollToBottom.tsx │ │ │ │ └── utils.ts │ │ │ ├── Design │ │ │ │ └── Design.tsx │ │ │ ├── Dialog │ │ │ │ ├── Dialog.tsx │ │ │ │ └── DialogFooter.tsx │ │ │ ├── Divider │ │ │ │ └── Divider.tsx │ │ │ ├── Dropdown │ │ │ │ ├── Dropdown.tsx │ │ │ │ ├── DropdownItem.tsx │ │ │ │ ├── DropdownSearchInput.tsx │ │ │ │ └── DropdownSelectedItem.tsx │ │ │ ├── Embed │ │ │ │ └── Embed.tsx │ │ │ ├── Flex │ │ │ │ ├── Flex.tsx │ │ │ │ └── FlexItem.tsx │ │ │ ├── Form │ │ │ │ ├── Form.tsx │ │ │ │ └── FormField.tsx │ │ │ ├── Grid │ │ │ │ └── Grid.tsx │ │ │ ├── Header │ │ │ │ ├── Header.tsx │ │ │ │ └── HeaderDescription.tsx │ │ │ ├── HierarchicalTree │ │ │ │ ├── HierarchicalTree.tsx │ │ │ │ ├── HierarchicalTreeItem.tsx │ │ │ │ └── HierarchicalTreeTitle.tsx │ │ │ ├── Icon │ │ │ │ └── Icon.tsx │ │ │ ├── Image │ │ │ │ └── Image.tsx │ │ │ ├── Input │ │ │ │ └── Input.tsx │ │ │ ├── ItemLayout │ │ │ │ └── ItemLayout.tsx │ │ │ ├── Label │ │ │ │ └── Label.tsx │ │ │ ├── Layout │ │ │ │ └── Layout.tsx │ │ │ ├── List │ │ │ │ ├── List.tsx │ │ │ │ ├── ListItem.tsx │ │ │ │ └── listContext.ts │ │ │ ├── Loader │ │ │ │ └── Loader.tsx │ │ │ ├── Menu │ │ │ │ ├── Menu.tsx │ │ │ │ ├── MenuDivider.tsx │ │ │ │ └── MenuItem.tsx │ │ │ ├── MenuButton │ │ │ │ ├── MenuButton.tsx │ │ │ │ └── focusUtils.ts │ │ │ ├── Popup │ │ │ │ ├── Popup.tsx │ │ │ │ ├── PopupContent.tsx │ │ │ │ └── createReferenceFromContextClick.ts │ │ │ ├── Portal │ │ │ │ ├── Portal.tsx │ │ │ │ └── PortalInner.tsx │ │ │ ├── Provider │ │ │ │ ├── Provider.tsx │ │ │ │ ├── ProviderConsumer.tsx │ │ │ │ └── usePortalBox.ts │ │ │ ├── RadioGroup │ │ │ │ ├── RadioGroup.tsx │ │ │ │ └── RadioGroupItem.tsx │ │ │ ├── Reaction │ │ │ │ ├── Reaction.tsx │ │ │ │ └── ReactionGroup.tsx │ │ │ ├── Segment │ │ │ │ └── Segment.tsx │ │ │ ├── Slider │ │ │ │ └── Slider.tsx │ │ │ ├── SplitButton │ │ │ │ └── SplitButton.tsx │ │ │ ├── Status │ │ │ │ └── Status.tsx │ │ │ ├── Table │ │ │ │ ├── Table.tsx │ │ │ │ ├── TableCell.tsx │ │ │ │ └── TableRow.tsx │ │ │ ├── Text │ │ │ │ └── Text.tsx │ │ │ ├── TextArea │ │ │ │ └── TextArea.tsx │ │ │ ├── Toolbar │ │ │ │ ├── Toolbar.tsx │ │ │ │ ├── ToolbarCustomItem.tsx │ │ │ │ ├── ToolbarDivider.tsx │ │ │ │ ├── ToolbarItem.tsx │ │ │ │ ├── ToolbarMenu.tsx │ │ │ │ ├── ToolbarMenuDivider.tsx │ │ │ │ ├── ToolbarMenuItem.tsx │ │ │ │ ├── ToolbarMenuRadioGroup.tsx │ │ │ │ └── ToolbarRadioGroup.tsx │ │ │ ├── Tooltip │ │ │ │ ├── Tooltip.tsx │ │ │ │ └── TooltipContent.tsx │ │ │ ├── Tree │ │ │ │ ├── Tree.tsx │ │ │ │ ├── TreeItem.tsx │ │ │ │ ├── TreeTitle.tsx │ │ │ │ └── utils │ │ │ │ │ └── index.ts │ │ │ └── Video │ │ │ │ └── Video.tsx │ │ ├── index.ts │ │ ├── styles │ │ │ ├── debugStyles.ts │ │ │ └── translateAlignProp.ts │ │ ├── themes │ │ │ ├── colorUtils.ts │ │ │ ├── font-awesome │ │ │ │ ├── components │ │ │ │ │ └── Icon │ │ │ │ │ │ └── iconNames.ts │ │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ ├── teams-dark │ │ │ │ ├── colors.ts │ │ │ │ ├── componentVariables.ts │ │ │ │ ├── components │ │ │ │ │ ├── Alert │ │ │ │ │ │ └── alertVariables.ts │ │ │ │ │ ├── Attachment │ │ │ │ │ │ └── attachmentVariables.ts │ │ │ │ │ ├── Chat │ │ │ │ │ │ ├── chatMessageVariables.ts │ │ │ │ │ │ └── chatVariables.ts │ │ │ │ │ ├── Dialog │ │ │ │ │ │ └── dialogVariables.ts │ │ │ │ │ ├── Divider │ │ │ │ │ │ └── dividerVariables.ts │ │ │ │ │ ├── Dropdown │ │ │ │ │ │ └── dropdownVariables.ts │ │ │ │ │ ├── Header │ │ │ │ │ │ ├── headerDescriptionVariables.ts │ │ │ │ │ │ └── headerVariables.ts │ │ │ │ │ ├── HierarchicalTree │ │ │ │ │ │ └── hierarchicalTreeTitleVariables.ts │ │ │ │ │ ├── Icon │ │ │ │ │ │ └── iconVariables.ts │ │ │ │ │ ├── Label │ │ │ │ │ │ └── labelVariables.ts │ │ │ │ │ ├── List │ │ │ │ │ │ └── listItemVariables.ts │ │ │ │ │ ├── Menu │ │ │ │ │ │ └── menuVariables.ts │ │ │ │ │ ├── Provider │ │ │ │ │ │ └── providerVariables.ts │ │ │ │ │ ├── RadioGroup │ │ │ │ │ │ └── radioGroupItemVariables.ts │ │ │ │ │ ├── Reaction │ │ │ │ │ │ └── reactionVariables.ts │ │ │ │ │ ├── Segment │ │ │ │ │ │ └── segmentVariables.ts │ │ │ │ │ └── Text │ │ │ │ │ │ └── textVariables.ts │ │ │ │ ├── index.ts │ │ │ │ └── siteVariables.ts │ │ │ ├── teams-high-contrast │ │ │ │ ├── colors.ts │ │ │ │ ├── componentStyles.ts │ │ │ │ ├── componentVariables.ts │ │ │ │ ├── components │ │ │ │ │ ├── Alert │ │ │ │ │ │ ├── alertStyles.ts │ │ │ │ │ │ └── alertVariables.ts │ │ │ │ │ ├── Attachment │ │ │ │ │ │ ├── attachmentStyles.ts │ │ │ │ │ │ └── attachmentVariables.ts │ │ │ │ │ ├── Avatar │ │ │ │ │ │ └── avatarVariables.ts │ │ │ │ │ ├── Button │ │ │ │ │ │ ├── buttonStyles.ts │ │ │ │ │ │ └── buttonVariables.ts │ │ │ │ │ ├── Chat │ │ │ │ │ │ ├── chatMessageVariables.ts │ │ │ │ │ │ └── chatVariables.ts │ │ │ │ │ ├── Checkbox │ │ │ │ │ │ └── checkboxVariables.ts │ │ │ │ │ ├── Dialog │ │ │ │ │ │ ├── dialogStyles.ts │ │ │ │ │ │ └── dialogVariables.ts │ │ │ │ │ ├── Divider │ │ │ │ │ │ └── dividerVariables.ts │ │ │ │ │ ├── Dropdown │ │ │ │ │ │ ├── dropdownStyles.ts │ │ │ │ │ │ └── dropdownVariables.ts │ │ │ │ │ ├── Header │ │ │ │ │ │ └── headerVariables.ts │ │ │ │ │ ├── HierarchicalTree │ │ │ │ │ │ └── hierarchicalTreeTitleVariables.ts │ │ │ │ │ ├── Input │ │ │ │ │ │ └── inputVariables.ts │ │ │ │ │ ├── Label │ │ │ │ │ │ └── labelVariables.ts │ │ │ │ │ ├── List │ │ │ │ │ │ └── listItemVariables.ts │ │ │ │ │ ├── Menu │ │ │ │ │ │ ├── menuItemStyles.ts │ │ │ │ │ │ └── menuVariables.ts │ │ │ │ │ ├── Provider │ │ │ │ │ │ └── providerVariables.ts │ │ │ │ │ ├── RadioGroup │ │ │ │ │ │ └── radioGroupItemVariables.ts │ │ │ │ │ ├── Reaction │ │ │ │ │ │ └── reactionVariables.ts │ │ │ │ │ ├── Segment │ │ │ │ │ │ └── segmentVariables.ts │ │ │ │ │ ├── Status │ │ │ │ │ │ └── statusVariables.ts │ │ │ │ │ ├── Text │ │ │ │ │ │ └── textVariables.ts │ │ │ │ │ ├── TextArea │ │ │ │ │ │ └── textAreaVariables.ts │ │ │ │ │ ├── Toolbar │ │ │ │ │ │ └── toolbarVariables.ts │ │ │ │ │ └── Tooltip │ │ │ │ │ │ └── tooltipContentVariables.ts │ │ │ │ ├── index.ts │ │ │ │ └── siteVariables.ts │ │ │ ├── teams │ │ │ │ ├── animations │ │ │ │ │ ├── fade.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── scale.ts │ │ │ │ │ ├── slide.ts │ │ │ │ │ └── timingFunctions.ts │ │ │ │ ├── categoryColors.ts │ │ │ │ ├── colors.ts │ │ │ │ ├── componentStyles.ts │ │ │ │ ├── componentVariables.ts │ │ │ │ ├── components │ │ │ │ │ ├── Accordion │ │ │ │ │ │ ├── accordionContentStyles.ts │ │ │ │ │ │ ├── accordionStyles.ts │ │ │ │ │ │ └── accordionTitleStyles.ts │ │ │ │ │ ├── Alert │ │ │ │ │ │ ├── alertStyles.ts │ │ │ │ │ │ └── alertVariables.ts │ │ │ │ │ ├── Attachment │ │ │ │ │ │ ├── attachmentStyles.ts │ │ │ │ │ │ └── attachmentVariables.ts │ │ │ │ │ ├── Avatar │ │ │ │ │ │ ├── avatarStyles.ts │ │ │ │ │ │ └── avatarVariables.ts │ │ │ │ │ ├── Button │ │ │ │ │ │ ├── buttonGroupStyles.ts │ │ │ │ │ │ ├── buttonStyles.ts │ │ │ │ │ │ └── buttonVariables.ts │ │ │ │ │ ├── Carousel │ │ │ │ │ │ ├── carouselItemStyles.ts │ │ │ │ │ │ ├── carouselItemVariables.ts │ │ │ │ │ │ ├── carouselNavigationItemStyles.ts │ │ │ │ │ │ ├── carouselNavigationItemVariables.ts │ │ │ │ │ │ ├── carouselNavigationStyles.ts │ │ │ │ │ │ ├── carouselNavigationVariables.ts │ │ │ │ │ │ ├── carouselStyles.ts │ │ │ │ │ │ └── carouselVariables.ts │ │ │ │ │ ├── Chat │ │ │ │ │ │ ├── chatItemStyles.ts │ │ │ │ │ │ ├── chatItemVariables.ts │ │ │ │ │ │ ├── chatMessageStyles.ts │ │ │ │ │ │ ├── chatMessageVariables.ts │ │ │ │ │ │ ├── chatStyles.ts │ │ │ │ │ │ └── chatVariables.ts │ │ │ │ │ ├── Checkbox │ │ │ │ │ │ ├── checkboxStyles.ts │ │ │ │ │ │ └── checkboxVariables.ts │ │ │ │ │ ├── Dialog │ │ │ │ │ │ ├── dialogFooterStyles.ts │ │ │ │ │ │ ├── dialogStyles.ts │ │ │ │ │ │ └── dialogVariables.ts │ │ │ │ │ ├── Divider │ │ │ │ │ │ ├── dividerStyles.ts │ │ │ │ │ │ └── dividerVariables.ts │ │ │ │ │ ├── Dropdown │ │ │ │ │ │ ├── dropdownItemStyles.ts │ │ │ │ │ │ ├── dropdownItemVariables.ts │ │ │ │ │ │ ├── dropdownSearchInputStyles.ts │ │ │ │ │ │ ├── dropdownSearchInputVariables.ts │ │ │ │ │ │ ├── dropdownSelectedItemStyles.ts │ │ │ │ │ │ ├── dropdownSelectedItemVariables.ts │ │ │ │ │ │ ├── dropdownStyles.ts │ │ │ │ │ │ └── dropdownVariables.ts │ │ │ │ │ ├── Embed │ │ │ │ │ │ ├── embedStyles.ts │ │ │ │ │ │ └── embedVariables.ts │ │ │ │ │ ├── Flex │ │ │ │ │ │ ├── flexItemStyles.ts │ │ │ │ │ │ ├── flexItemVariables.ts │ │ │ │ │ │ ├── flexStyles.ts │ │ │ │ │ │ ├── flexVariables.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── Form │ │ │ │ │ │ ├── formFieldStyles.ts │ │ │ │ │ │ └── formStyles.ts │ │ │ │ │ ├── Grid │ │ │ │ │ │ ├── gridStyles.ts │ │ │ │ │ │ └── gridVariables.ts │ │ │ │ │ ├── Header │ │ │ │ │ │ ├── headerDescriptionStyles.ts │ │ │ │ │ │ ├── headerDescriptionVariables.ts │ │ │ │ │ │ ├── headerStyles.ts │ │ │ │ │ │ └── headerVariables.ts │ │ │ │ │ ├── HierarchicalTree │ │ │ │ │ │ ├── hierarchicalTreeItemStyles.ts │ │ │ │ │ │ ├── hierarchicalTreeStyles.ts │ │ │ │ │ │ ├── hierarchicalTreeTitleStyles.ts │ │ │ │ │ │ └── hierarchicalTreeTitleVariables.ts │ │ │ │ │ ├── Icon │ │ │ │ │ │ ├── iconStyles.ts │ │ │ │ │ │ ├── iconVariables.ts │ │ │ │ │ │ └── svg │ │ │ │ │ │ │ ├── ProcessedIcons │ │ │ │ │ │ │ ├── create-index.sh │ │ │ │ │ │ │ ├── icons-accept.tsx │ │ │ │ │ │ │ ├── icons-add-participant.tsx │ │ │ │ │ │ │ ├── icons-add.tsx │ │ │ │ │ │ │ ├── icons-analytics.tsx │ │ │ │ │ │ │ ├── icons-apps.tsx │ │ │ │ │ │ │ ├── icons-archive.tsx │ │ │ │ │ │ │ ├── icons-arrow-down.tsx │ │ │ │ │ │ │ ├── icons-arrow-left.tsx │ │ │ │ │ │ │ ├── icons-arrow-right.tsx │ │ │ │ │ │ │ ├── icons-arrow-up-small.tsx │ │ │ │ │ │ │ ├── icons-arrow-up.tsx │ │ │ │ │ │ │ ├── icons-assignments.tsx │ │ │ │ │ │ │ ├── icons-attachment.tsx │ │ │ │ │ │ │ ├── icons-audio.tsx │ │ │ │ │ │ │ ├── icons-backspace.tsx │ │ │ │ │ │ │ ├── icons-badge-add.tsx │ │ │ │ │ │ │ ├── icons-badge.tsx │ │ │ │ │ │ │ ├── icons-bell-mute.tsx │ │ │ │ │ │ │ ├── icons-bell.tsx │ │ │ │ │ │ │ ├── icons-block.tsx │ │ │ │ │ │ │ ├── icons-blur-background.tsx │ │ │ │ │ │ │ ├── icons-bold.tsx │ │ │ │ │ │ │ ├── icons-bookmark.tsx │ │ │ │ │ │ │ ├── icons-bot.tsx │ │ │ │ │ │ │ ├── icons-broadcast-view-fullscreen.tsx │ │ │ │ │ │ │ ├── icons-broadcast-view-left.tsx │ │ │ │ │ │ │ ├── icons-broadcast-view-right.tsx │ │ │ │ │ │ │ ├── icons-broadcast.tsx │ │ │ │ │ │ │ ├── icons-bullets.tsx │ │ │ │ │ │ │ ├── icons-calendar.tsx │ │ │ │ │ │ │ ├── icons-call-admit-all.tsx │ │ │ │ │ │ │ ├── icons-call-alert.tsx │ │ │ │ │ │ │ ├── icons-call-audio.tsx │ │ │ │ │ │ │ ├── icons-call-blocked.tsx │ │ │ │ │ │ │ ├── icons-call-control-present-new.tsx │ │ │ │ │ │ │ ├── icons-call-control-release.tsx │ │ │ │ │ │ │ ├── icons-call-control-request.tsx │ │ │ │ │ │ │ ├── icons-call-control-stop-presenting-new.tsx │ │ │ │ │ │ │ ├── icons-call-dialpad.tsx │ │ │ │ │ │ │ ├── icons-call-end.tsx │ │ │ │ │ │ │ ├── icons-call-hold.tsx │ │ │ │ │ │ │ ├── icons-call-incoming-video.tsx │ │ │ │ │ │ │ ├── icons-call-meetup-line.tsx │ │ │ │ │ │ │ ├── icons-call-microphone-off-filled.tsx │ │ │ │ │ │ │ ├── icons-call-microphone-unmuting.tsx │ │ │ │ │ │ │ ├── icons-call-missed-line.tsx │ │ │ │ │ │ │ ├── icons-call-missed.tsx │ │ │ │ │ │ │ ├── icons-call-participant-connected.tsx │ │ │ │ │ │ │ ├── icons-call-participant-connecting-line.tsx │ │ │ │ │ │ │ ├── icons-call-participant-connecting.tsx │ │ │ │ │ │ │ ├── icons-call-participant-ending.tsx │ │ │ │ │ │ │ ├── icons-call-participant-failed.tsx │ │ │ │ │ │ │ ├── icons-call-participant-incoming-line.tsx │ │ │ │ │ │ │ ├── icons-call-participant-incoming.tsx │ │ │ │ │ │ │ ├── icons-call-participant-onhold.tsx │ │ │ │ │ │ │ ├── icons-call-pstn-full.tsx │ │ │ │ │ │ │ ├── icons-call-pstn.tsx │ │ │ │ │ │ │ ├── icons-call-recording.tsx │ │ │ │ │ │ │ ├── icons-call-switch-camera.tsx │ │ │ │ │ │ │ ├── icons-call-transfer-notification.tsx │ │ │ │ │ │ │ ├── icons-call-transfer.tsx │ │ │ │ │ │ │ ├── icons-call-video-filled.tsx │ │ │ │ │ │ │ ├── icons-call-video-line-off.tsx │ │ │ │ │ │ │ ├── icons-call-video-line.tsx │ │ │ │ │ │ │ ├── icons-call-video.tsx │ │ │ │ │ │ │ ├── icons-call.tsx │ │ │ │ │ │ │ ├── icons-canvas-addpage.tsx │ │ │ │ │ │ │ ├── icons-changename.tsx │ │ │ │ │ │ │ ├── icons-channel-icon.tsx │ │ │ │ │ │ │ ├── icons-chat.tsx │ │ │ │ │ │ │ ├── icons-checkbox-selected.tsx │ │ │ │ │ │ │ ├── icons-checkbox-unselected.tsx │ │ │ │ │ │ │ ├── icons-chevron-down.tsx │ │ │ │ │ │ │ ├── icons-chevron-left.tsx │ │ │ │ │ │ │ ├── icons-chevron-right.tsx │ │ │ │ │ │ │ ├── icons-chevronmed-left.tsx │ │ │ │ │ │ │ ├── icons-chevronmed-right.tsx │ │ │ │ │ │ │ ├── icons-chrome-maximize.tsx │ │ │ │ │ │ │ ├── icons-chrome-minimize.tsx │ │ │ │ │ │ │ ├── icons-chrome-unmaximize.tsx │ │ │ │ │ │ │ ├── icons-close.tsx │ │ │ │ │ │ │ ├── icons-closed-caption.tsx │ │ │ │ │ │ │ ├── icons-code.tsx │ │ │ │ │ │ │ ├── icons-codesnippet.tsx │ │ │ │ │ │ │ ├── icons-collapse.tsx │ │ │ │ │ │ │ ├── icons-compose-ext-menu-item.tsx │ │ │ │ │ │ │ ├── icons-compose-extension-pin.tsx │ │ │ │ │ │ │ ├── icons-compose-extension-unpin.tsx │ │ │ │ │ │ │ ├── icons-compose.tsx │ │ │ │ │ │ │ ├── icons-connector-badge.tsx │ │ │ │ │ │ │ ├── icons-contact-list.tsx │ │ │ │ │ │ │ ├── icons-copy.tsx │ │ │ │ │ │ │ ├── icons-cortana.tsx │ │ │ │ │ │ │ ├── icons-desktop.tsx │ │ │ │ │ │ │ ├── icons-document.tsx │ │ │ │ │ │ │ ├── icons-download.tsx │ │ │ │ │ │ │ ├── icons-downloaded.tsx │ │ │ │ │ │ │ ├── icons-dropdown.tsx │ │ │ │ │ │ │ ├── icons-edit.tsx │ │ │ │ │ │ │ ├── icons-email.tsx │ │ │ │ │ │ │ ├── icons-emoji.tsx │ │ │ │ │ │ │ ├── icons-error.tsx │ │ │ │ │ │ │ ├── icons-expand.tsx │ │ │ │ │ │ │ ├── icons-eye-friendlier.tsx │ │ │ │ │ │ │ ├── icons-eye-slash.tsx │ │ │ │ │ │ │ ├── icons-eye.tsx │ │ │ │ │ │ │ ├── icons-faq.tsx │ │ │ │ │ │ │ ├── icons-feedback.tsx │ │ │ │ │ │ │ ├── icons-files-aftereffects.tsx │ │ │ │ │ │ │ ├── icons-files-document.tsx │ │ │ │ │ │ │ ├── icons-files-error-full.tsx │ │ │ │ │ │ │ ├── icons-files-flash.tsx │ │ │ │ │ │ │ ├── icons-files-illustrator.tsx │ │ │ │ │ │ │ ├── icons-files-indesign.tsx │ │ │ │ │ │ │ ├── icons-files-link.tsx │ │ │ │ │ │ │ ├── icons-files-missing.tsx │ │ │ │ │ │ │ ├── icons-files-photoshop.tsx │ │ │ │ │ │ │ ├── icons-files-sound.tsx │ │ │ │ │ │ │ ├── icons-files-upload-small.tsx │ │ │ │ │ │ │ ├── icons-files-upload.tsx │ │ │ │ │ │ │ ├── icons-files.tsx │ │ │ │ │ │ │ ├── icons-filter.tsx │ │ │ │ │ │ │ ├── icons-folder-download.tsx │ │ │ │ │ │ │ ├── icons-folder-new.tsx │ │ │ │ │ │ │ ├── icons-folder-upload.tsx │ │ │ │ │ │ │ ├── icons-folder.tsx │ │ │ │ │ │ │ ├── icons-follow-channel.tsx │ │ │ │ │ │ │ ├── icons-font-color.tsx │ │ │ │ │ │ │ ├── icons-font-size.tsx │ │ │ │ │ │ │ ├── icons-format.tsx │ │ │ │ │ │ │ ├── icons-fullscreen.tsx │ │ │ │ │ │ │ ├── icons-gallery.tsx │ │ │ │ │ │ │ ├── icons-gettingstarted.tsx │ │ │ │ │ │ │ ├── icons-gif.tsx │ │ │ │ │ │ │ ├── icons-giphy.tsx │ │ │ │ │ │ │ ├── icons-groups.tsx │ │ │ │ │ │ │ ├── icons-hand.tsx │ │ │ │ │ │ │ ├── icons-headset.tsx │ │ │ │ │ │ │ ├── icons-helparticle.tsx │ │ │ │ │ │ │ ├── icons-highlight.tsx │ │ │ │ │ │ │ ├── icons-hive.tsx │ │ │ │ │ │ │ ├── icons-home.tsx │ │ │ │ │ │ │ ├── icons-horizontal-rule.tsx │ │ │ │ │ │ │ ├── icons-image.tsx │ │ │ │ │ │ │ ├── icons-indent.tsx │ │ │ │ │ │ │ ├── icons-indicator.tsx │ │ │ │ │ │ │ ├── icons-inferred.tsx │ │ │ │ │ │ │ ├── icons-info.tsx │ │ │ │ │ │ │ ├── icons-input-invalid.tsx │ │ │ │ │ │ │ ├── icons-input-valid.tsx │ │ │ │ │ │ │ ├── icons-invite-accepted.tsx │ │ │ │ │ │ │ ├── icons-invite-cancelled.tsx │ │ │ │ │ │ │ ├── icons-invite-declined.tsx │ │ │ │ │ │ │ ├── icons-invite-not-responded.tsx │ │ │ │ │ │ │ ├── icons-invite-person.tsx │ │ │ │ │ │ │ ├── icons-invite-tentative.tsx │ │ │ │ │ │ │ ├── icons-italic.tsx │ │ │ │ │ │ │ ├── icons-keyboard.tsx │ │ │ │ │ │ │ ├── icons-kollective.tsx │ │ │ │ │ │ │ ├── icons-leave.tsx │ │ │ │ │ │ │ ├── icons-like.tsx │ │ │ │ │ │ │ ├── icons-liked.tsx │ │ │ │ │ │ │ ├── icons-link.tsx │ │ │ │ │ │ │ ├── icons-location-off.tsx │ │ │ │ │ │ │ ├── icons-location.tsx │ │ │ │ │ │ │ ├── icons-lock-14.tsx │ │ │ │ │ │ │ ├── icons-lock-18.tsx │ │ │ │ │ │ │ ├── icons-lock.tsx │ │ │ │ │ │ │ ├── icons-manage-teams.tsx │ │ │ │ │ │ │ ├── icons-mark-as-read.tsx │ │ │ │ │ │ │ ├── icons-mark-as-unread.tsx │ │ │ │ │ │ │ ├── icons-media-off.tsx │ │ │ │ │ │ │ ├── icons-meeting-new.tsx │ │ │ │ │ │ │ ├── icons-meeting-notes.tsx │ │ │ │ │ │ │ ├── icons-megaphone.tsx │ │ │ │ │ │ │ ├── icons-mention.tsx │ │ │ │ │ │ │ ├── icons-menu-light.tsx │ │ │ │ │ │ │ ├── icons-menu.tsx │ │ │ │ │ │ │ ├── icons-message-seen.tsx │ │ │ │ │ │ │ ├── icons-mic-off.tsx │ │ │ │ │ │ │ ├── icons-mic.tsx │ │ │ │ │ │ │ ├── icons-more.tsx │ │ │ │ │ │ │ ├── icons-mov.tsx │ │ │ │ │ │ │ ├── icons-move.tsx │ │ │ │ │ │ │ ├── icons-msft-canvas.tsx │ │ │ │ │ │ │ ├── icons-msft-delve.tsx │ │ │ │ │ │ │ ├── icons-msft-exchange.tsx │ │ │ │ │ │ │ ├── icons-msft-office.tsx │ │ │ │ │ │ │ ├── icons-msft-onedrive.tsx │ │ │ │ │ │ │ ├── icons-msft-onenote-online.tsx │ │ │ │ │ │ │ ├── icons-msft-onenote.tsx │ │ │ │ │ │ │ ├── icons-msft-outlook-colored.tsx │ │ │ │ │ │ │ ├── icons-msft-outlook.tsx │ │ │ │ │ │ │ ├── icons-msft-planner.tsx │ │ │ │ │ │ │ ├── icons-msft-powerbi.tsx │ │ │ │ │ │ │ ├── icons-msft-ppt-online.tsx │ │ │ │ │ │ │ ├── icons-msft-ppt.tsx │ │ │ │ │ │ │ ├── icons-msft-sharepoint.tsx │ │ │ │ │ │ │ ├── icons-msft-sp-doc-library.tsx │ │ │ │ │ │ │ ├── icons-msft-stream.tsx │ │ │ │ │ │ │ ├── icons-msft-teams.tsx │ │ │ │ │ │ │ ├── icons-msft-visio.tsx │ │ │ │ │ │ │ ├── icons-msft-word-online.tsx │ │ │ │ │ │ │ ├── icons-msft-word.tsx │ │ │ │ │ │ │ ├── icons-msft-xl-online.tsx │ │ │ │ │ │ │ ├── icons-msft-xl.tsx │ │ │ │ │ │ │ ├── icons-mutechat.tsx │ │ │ │ │ │ │ ├── icons-my-activity.tsx │ │ │ │ │ │ │ ├── icons-new-contactgroup.tsx │ │ │ │ │ │ │ ├── icons-newtab.tsx │ │ │ │ │ │ │ ├── icons-no-chat.tsx │ │ │ │ │ │ │ ├── icons-notes.tsx │ │ │ │ │ │ │ ├── icons-notification-off.tsx │ │ │ │ │ │ │ ├── icons-number-list.tsx │ │ │ │ │ │ │ ├── icons-onenote-section.tsx │ │ │ │ │ │ │ ├── icons-oof.tsx │ │ │ │ │ │ │ ├── icons-open-external-link-off.tsx │ │ │ │ │ │ │ ├── icons-open-inside-small.tsx │ │ │ │ │ │ │ ├── icons-open-inside.tsx │ │ │ │ │ │ │ ├── icons-open-new-window-filled.tsx │ │ │ │ │ │ │ ├── icons-open-new-window.tsx │ │ │ │ │ │ │ ├── icons-open-outside.tsx │ │ │ │ │ │ │ ├── icons-org-wide.tsx │ │ │ │ │ │ │ ├── icons-org.tsx │ │ │ │ │ │ │ ├── icons-outdent.tsx │ │ │ │ │ │ │ ├── icons-outline.tsx │ │ │ │ │ │ │ ├── icons-participant-remove.tsx │ │ │ │ │ │ │ ├── icons-paste.tsx │ │ │ │ │ │ │ ├── icons-patharrow.tsx │ │ │ │ │ │ │ ├── icons-pc-audio-stop.tsx │ │ │ │ │ │ │ ├── icons-pc-audio.tsx │ │ │ │ │ │ │ ├── icons-pdf.tsx │ │ │ │ │ │ │ ├── icons-person.tsx │ │ │ │ │ │ │ ├── icons-pin.tsx │ │ │ │ │ │ │ ├── icons-play-forward.tsx │ │ │ │ │ │ │ ├── icons-play-pause.tsx │ │ │ │ │ │ │ ├── icons-play.tsx │ │ │ │ │ │ │ ├── icons-plus-circled.tsx │ │ │ │ │ │ │ ├── icons-poll.tsx │ │ │ │ │ │ │ ├── icons-presence-available.tsx │ │ │ │ │ │ │ ├── icons-presence-stroke.tsx │ │ │ │ │ │ │ ├── icons-promoted.tsx │ │ │ │ │ │ │ ├── icons-qna.tsx │ │ │ │ │ │ │ ├── icons-quick-response.tsx │ │ │ │ │ │ │ ├── icons-quote.tsx │ │ │ │ │ │ │ ├── icons-read-aloud.tsx │ │ │ │ │ │ │ ├── icons-recent.tsx │ │ │ │ │ │ │ ├── icons-recents.tsx │ │ │ │ │ │ │ ├── icons-recurrence.tsx │ │ │ │ │ │ │ ├── icons-redbang.tsx │ │ │ │ │ │ │ ├── icons-redo.tsx │ │ │ │ │ │ │ ├── icons-refresh.tsx │ │ │ │ │ │ │ ├── icons-remove-format.tsx │ │ │ │ │ │ │ ├── icons-reply.tsx │ │ │ │ │ │ │ ├── icons-reset-zoom.tsx │ │ │ │ │ │ │ ├── icons-retry.tsx │ │ │ │ │ │ │ ├── icons-roster.tsx │ │ │ │ │ │ │ ├── icons-screen-zoom-in.tsx │ │ │ │ │ │ │ ├── icons-screen-zoom-out.tsx │ │ │ │ │ │ │ ├── icons-search.tsx │ │ │ │ │ │ │ ├── icons-send.tsx │ │ │ │ │ │ │ ├── icons-settings.tsx │ │ │ │ │ │ │ ├── icons-sfb-viewbox-32.tsx │ │ │ │ │ │ │ ├── icons-share-object.tsx │ │ │ │ │ │ │ ├── icons-share.tsx │ │ │ │ │ │ │ ├── icons-sketch.tsx │ │ │ │ │ │ │ ├── icons-snooze.tsx │ │ │ │ │ │ │ ├── icons-speaker-mute.tsx │ │ │ │ │ │ │ ├── icons-speaker-off.tsx │ │ │ │ │ │ │ ├── icons-speaker-slashed.tsx │ │ │ │ │ │ │ ├── icons-star.tsx │ │ │ │ │ │ │ ├── icons-starred.tsx │ │ │ │ │ │ │ ├── icons-status-yo.tsx │ │ │ │ │ │ │ ├── icons-sticker.tsx │ │ │ │ │ │ │ ├── icons-strike.tsx │ │ │ │ │ │ │ ├── icons-tab-badge.tsx │ │ │ │ │ │ │ ├── icons-table-add.tsx │ │ │ │ │ │ │ ├── icons-table-delete.tsx │ │ │ │ │ │ │ ├── icons-table.tsx │ │ │ │ │ │ │ ├── icons-team-create.tsx │ │ │ │ │ │ │ ├── icons-team-discover.tsx │ │ │ │ │ │ │ ├── icons-teams.tsx │ │ │ │ │ │ │ ├── icons-tentative.tsx │ │ │ │ │ │ │ ├── icons-time-zone-day.tsx │ │ │ │ │ │ │ ├── icons-time-zone-night.tsx │ │ │ │ │ │ │ ├── icons-to-do-list.tsx │ │ │ │ │ │ │ ├── icons-translation.tsx │ │ │ │ │ │ │ ├── icons-trash-can.tsx │ │ │ │ │ │ │ ├── icons-trending.tsx │ │ │ │ │ │ │ ├── icons-triangle-diagonal-right-small.tsx │ │ │ │ │ │ │ ├── icons-triangle-down-small.tsx │ │ │ │ │ │ │ ├── icons-triangle-right-small.tsx │ │ │ │ │ │ │ ├── icons-triangle-up-small.tsx │ │ │ │ │ │ │ ├── icons-txt.tsx │ │ │ │ │ │ │ ├── icons-underline.tsx │ │ │ │ │ │ │ ├── icons-undo.tsx │ │ │ │ │ │ │ ├── icons-unfollow-channel.tsx │ │ │ │ │ │ │ ├── icons-urgent.tsx │ │ │ │ │ │ │ ├── icons-video-off.tsx │ │ │ │ │ │ │ ├── icons-video.tsx │ │ │ │ │ │ │ ├── icons-voicemail.tsx │ │ │ │ │ │ │ ├── icons-waffle.tsx │ │ │ │ │ │ │ ├── icons-website.tsx │ │ │ │ │ │ │ ├── icons-whiteboard.tsx │ │ │ │ │ │ │ ├── icons-yammer.tsx │ │ │ │ │ │ │ ├── icons-youtube.tsx │ │ │ │ │ │ │ ├── icons-zip.tsx │ │ │ │ │ │ │ ├── icons-zoom-in.tsx │ │ │ │ │ │ │ ├── icons-zoom-out.tsx │ │ │ │ │ │ │ ├── index-new.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── process-icons.sh │ │ │ │ │ │ │ ├── icons │ │ │ │ │ │ │ ├── accept.tsx │ │ │ │ │ │ │ ├── add.tsx │ │ │ │ │ │ │ ├── addParticipant.tsx │ │ │ │ │ │ │ ├── arrowDown.tsx │ │ │ │ │ │ │ ├── arrowLeft.tsx │ │ │ │ │ │ │ ├── arrowRight.tsx │ │ │ │ │ │ │ ├── arrowUp.tsx │ │ │ │ │ │ │ ├── audioOff.tsx │ │ │ │ │ │ │ ├── ban.tsx │ │ │ │ │ │ │ ├── bell.tsx │ │ │ │ │ │ │ ├── bellMute.tsx │ │ │ │ │ │ │ ├── bold.tsx │ │ │ │ │ │ │ ├── bookmark.tsx │ │ │ │ │ │ │ ├── broadcast.tsx │ │ │ │ │ │ │ ├── bullets.tsx │ │ │ │ │ │ │ ├── calendar.tsx │ │ │ │ │ │ │ ├── call.tsx │ │ │ │ │ │ │ ├── callBlocked.tsx │ │ │ │ │ │ │ ├── callControlCloseTray.tsx │ │ │ │ │ │ │ ├── callControlPresentNew.tsx │ │ │ │ │ │ │ ├── callControlRelease.tsx │ │ │ │ │ │ │ ├── callControlRequest.tsx │ │ │ │ │ │ │ ├── callControlShare.tsx │ │ │ │ │ │ │ ├── callControlStopPresentingNew.tsx │ │ │ │ │ │ │ ├── callDialpad.tsx │ │ │ │ │ │ │ ├── callEnd.tsx │ │ │ │ │ │ │ ├── callMissedLine.tsx │ │ │ │ │ │ │ ├── callParking.tsx │ │ │ │ │ │ │ ├── callPstn.tsx │ │ │ │ │ │ │ ├── callRecording.tsx │ │ │ │ │ │ │ ├── callVideo.tsx │ │ │ │ │ │ │ ├── callVideoOff.tsx │ │ │ │ │ │ │ ├── canvasAddPage.tsx │ │ │ │ │ │ │ ├── chat.tsx │ │ │ │ │ │ │ ├── chevronDown.tsx │ │ │ │ │ │ │ ├── chevronDownMedium.tsx │ │ │ │ │ │ │ ├── chevronEnd.tsx │ │ │ │ │ │ │ ├── chevronRightMedium.tsx │ │ │ │ │ │ │ ├── chevronStart.tsx │ │ │ │ │ │ │ ├── clipboardCopiedTo.tsx │ │ │ │ │ │ │ ├── close.tsx │ │ │ │ │ │ │ ├── closedCaptions.tsx │ │ │ │ │ │ │ ├── codeSnippet.tsx │ │ │ │ │ │ │ ├── collapse.tsx │ │ │ │ │ │ │ ├── companion.tsx │ │ │ │ │ │ │ ├── download.tsx │ │ │ │ │ │ │ ├── edit.tsx │ │ │ │ │ │ │ ├── email.tsx │ │ │ │ │ │ │ ├── emoji.tsx │ │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ │ ├── exclamationCircle.tsx │ │ │ │ │ │ │ ├── exclamationTriangle.tsx │ │ │ │ │ │ │ ├── expand.tsx │ │ │ │ │ │ │ ├── eye.tsx │ │ │ │ │ │ │ ├── eyeFriendlier.tsx │ │ │ │ │ │ │ ├── eyeSlash.tsx │ │ │ │ │ │ │ ├── filesAftereffects.tsx │ │ │ │ │ │ │ ├── filesCode.tsx │ │ │ │ │ │ │ ├── filesEmpty.tsx │ │ │ │ │ │ │ ├── filesExcel.tsx │ │ │ │ │ │ │ ├── filesExcelBrand.tsx │ │ │ │ │ │ │ ├── filesFlash.tsx │ │ │ │ │ │ │ ├── filesGif.tsx │ │ │ │ │ │ │ ├── filesIllustrator.tsx │ │ │ │ │ │ │ ├── filesImage.tsx │ │ │ │ │ │ │ ├── filesIndesign.tsx │ │ │ │ │ │ │ ├── filesOneNote.tsx │ │ │ │ │ │ │ ├── filesOneNoteBrand.tsx │ │ │ │ │ │ │ ├── filesPdf.tsx │ │ │ │ │ │ │ ├── filesPhotoshop.tsx │ │ │ │ │ │ │ ├── filesPowerPoint.tsx │ │ │ │ │ │ │ ├── filesPowerPointBrand.tsx │ │ │ │ │ │ │ ├── filesSketch.tsx │ │ │ │ │ │ │ ├── filesSound.tsx │ │ │ │ │ │ │ ├── filesTxt.tsx │ │ │ │ │ │ │ ├── filesUpload.tsx │ │ │ │ │ │ │ ├── filesVideo.tsx │ │ │ │ │ │ │ ├── filesVisio.tsx │ │ │ │ │ │ │ ├── filesVisioBrand.tsx │ │ │ │ │ │ │ ├── filesWord.tsx │ │ │ │ │ │ │ ├── filesWordBrand.tsx │ │ │ │ │ │ │ ├── filesZip.tsx │ │ │ │ │ │ │ ├── flag.tsx │ │ │ │ │ │ │ ├── fontColor.tsx │ │ │ │ │ │ │ ├── fontSize.tsx │ │ │ │ │ │ │ ├── format.tsx │ │ │ │ │ │ │ ├── gallery.tsx │ │ │ │ │ │ │ ├── giphy.tsx │ │ │ │ │ │ │ ├── hand.tsx │ │ │ │ │ │ │ ├── highlight.tsx │ │ │ │ │ │ │ ├── horizontalRule.tsx │ │ │ │ │ │ │ ├── iconCircle.tsx │ │ │ │ │ │ │ ├── image-unavailable.tsx │ │ │ │ │ │ │ ├── indent.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── info.tsx │ │ │ │ │ │ │ ├── italic.tsx │ │ │ │ │ │ │ ├── leave.tsx │ │ │ │ │ │ │ ├── lightning.tsx │ │ │ │ │ │ │ ├── like.tsx │ │ │ │ │ │ │ ├── link.tsx │ │ │ │ │ │ │ ├── lock.tsx │ │ │ │ │ │ │ ├── markAsUnread.tsx │ │ │ │ │ │ │ ├── meetingNew.tsx │ │ │ │ │ │ │ ├── mention.tsx │ │ │ │ │ │ │ ├── menu.tsx │ │ │ │ │ │ │ ├── messageSeen.tsx │ │ │ │ │ │ │ ├── mic.tsx │ │ │ │ │ │ │ ├── micOff.tsx │ │ │ │ │ │ │ ├── microsoftStream.tsx │ │ │ │ │ │ │ ├── more.tsx │ │ │ │ │ │ │ ├── noPresenter.tsx │ │ │ │ │ │ │ ├── notes.tsx │ │ │ │ │ │ │ ├── notificationsMuted.tsx │ │ │ │ │ │ │ ├── numberList.tsx │ │ │ │ │ │ │ ├── oneDrive.tsx │ │ │ │ │ │ │ ├── openOutside.tsx │ │ │ │ │ │ │ ├── outdent.tsx │ │ │ │ │ │ │ ├── paperclip.tsx │ │ │ │ │ │ │ ├── participantRemove.tsx │ │ │ │ │ │ │ ├── pause.tsx │ │ │ │ │ │ │ ├── pauseThick.tsx │ │ │ │ │ │ │ ├── phoneArrow.tsx │ │ │ │ │ │ │ ├── phoneClock.tsx │ │ │ │ │ │ │ ├── play.tsx │ │ │ │ │ │ │ ├── plugs.tsx │ │ │ │ │ │ │ ├── poll.tsx │ │ │ │ │ │ │ ├── presenceAvailable.tsx │ │ │ │ │ │ │ ├── presenceStroke.tsx │ │ │ │ │ │ │ ├── presenter.tsx │ │ │ │ │ │ │ ├── qna.tsx │ │ │ │ │ │ │ ├── questionCircle.tsx │ │ │ │ │ │ │ ├── quote.tsx │ │ │ │ │ │ │ ├── read-aloud.tsx │ │ │ │ │ │ │ ├── redbang.tsx │ │ │ │ │ │ │ ├── redo.tsx │ │ │ │ │ │ │ ├── removeFormat.tsx │ │ │ │ │ │ │ ├── reply.tsx │ │ │ │ │ │ │ ├── retry.tsx │ │ │ │ │ │ │ ├── robot.tsx │ │ │ │ │ │ │ ├── screencast.tsx │ │ │ │ │ │ │ ├── search.tsx │ │ │ │ │ │ │ ├── send.tsx │ │ │ │ │ │ │ ├── settings.tsx │ │ │ │ │ │ │ ├── settingsAudio.tsx │ │ │ │ │ │ │ ├── shareAlt.tsx │ │ │ │ │ │ │ ├── shareTo.tsx │ │ │ │ │ │ │ ├── skypeLogo.tsx │ │ │ │ │ │ │ ├── snooze.tsx │ │ │ │ │ │ │ ├── speakerMute.tsx │ │ │ │ │ │ │ ├── star.tsx │ │ │ │ │ │ │ ├── sticker.tsx │ │ │ │ │ │ │ ├── strike.tsx │ │ │ │ │ │ │ ├── survey.tsx │ │ │ │ │ │ │ ├── survey20px.tsx │ │ │ │ │ │ │ ├── sync.tsx │ │ │ │ │ │ │ ├── table.tsx │ │ │ │ │ │ │ ├── tableAdd.tsx │ │ │ │ │ │ │ ├── tableDelete.tsx │ │ │ │ │ │ │ ├── tabs.tsx │ │ │ │ │ │ │ ├── tag.tsx │ │ │ │ │ │ │ ├── teamCreate.tsx │ │ │ │ │ │ │ ├── teams.tsx │ │ │ │ │ │ │ ├── thumbtack.tsx │ │ │ │ │ │ │ ├── thumbtackSlash.tsx │ │ │ │ │ │ │ ├── toDoList.tsx │ │ │ │ │ │ │ ├── translation.tsx │ │ │ │ │ │ │ ├── trashCan.tsx │ │ │ │ │ │ │ ├── triangleDown.tsx │ │ │ │ │ │ │ ├── triangleRight.tsx │ │ │ │ │ │ │ ├── triangleUp.tsx │ │ │ │ │ │ │ ├── underline.tsx │ │ │ │ │ │ │ ├── undo.tsx │ │ │ │ │ │ │ ├── urgent.tsx │ │ │ │ │ │ │ ├── userBlur.tsx │ │ │ │ │ │ │ ├── userFriends.tsx │ │ │ │ │ │ │ ├── userPhone.tsx │ │ │ │ │ │ │ ├── videoCameraEmphasis.tsx │ │ │ │ │ │ │ ├── volume.tsx │ │ │ │ │ │ │ ├── volumeDown.tsx │ │ │ │ │ │ │ ├── volumeUp.tsx │ │ │ │ │ │ │ ├── windowMaximize.tsx │ │ │ │ │ │ │ ├── windowMinimize.tsx │ │ │ │ │ │ │ ├── windowRestore.tsx │ │ │ │ │ │ │ └── yammer.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── processedIndex.ts │ │ │ │ │ │ │ ├── teamsIconClassNames.ts │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── Image │ │ │ │ │ │ ├── imageStyles.ts │ │ │ │ │ │ └── imageVariables.ts │ │ │ │ │ ├── Input │ │ │ │ │ │ ├── inputStyles.ts │ │ │ │ │ │ └── inputVariables.ts │ │ │ │ │ ├── ItemLayout │ │ │ │ │ │ ├── itemLayoutStyles.ts │ │ │ │ │ │ └── itemLayoutVariables.ts │ │ │ │ │ ├── Label │ │ │ │ │ │ ├── labelStyles.ts │ │ │ │ │ │ └── labelVariables.ts │ │ │ │ │ ├── Layout │ │ │ │ │ │ ├── layoutStyles.ts │ │ │ │ │ │ └── layoutVariables.ts │ │ │ │ │ ├── List │ │ │ │ │ │ ├── listItemStyles.ts │ │ │ │ │ │ ├── listItemVariables.ts │ │ │ │ │ │ └── listStyles.ts │ │ │ │ │ ├── Loader │ │ │ │ │ │ ├── loaderStyles.ts │ │ │ │ │ │ ├── loaderSvgDataUrl.ts │ │ │ │ │ │ └── loaderVariables.ts │ │ │ │ │ ├── Menu │ │ │ │ │ │ ├── menuDividerStyles.ts │ │ │ │ │ │ ├── menuDividerVariables.ts │ │ │ │ │ │ ├── menuItemStyles.ts │ │ │ │ │ │ ├── menuItemVariables.ts │ │ │ │ │ │ ├── menuStyles.ts │ │ │ │ │ │ └── menuVariables.ts │ │ │ │ │ ├── MenuButton │ │ │ │ │ │ └── menuButtonStyles.ts │ │ │ │ │ ├── Popup │ │ │ │ │ │ ├── popupContentStyles.ts │ │ │ │ │ │ └── popupContentVariables.ts │ │ │ │ │ ├── Provider │ │ │ │ │ │ ├── providerStyles.ts │ │ │ │ │ │ └── providerVariables.ts │ │ │ │ │ ├── RadioGroup │ │ │ │ │ │ ├── radioGroupItemStyles.ts │ │ │ │ │ │ └── radioGroupItemVariables.ts │ │ │ │ │ ├── Reaction │ │ │ │ │ │ ├── reactionGroupStyles.ts │ │ │ │ │ │ ├── reactionGroupVariables.ts │ │ │ │ │ │ ├── reactionStyles.ts │ │ │ │ │ │ └── reactionVariables.ts │ │ │ │ │ ├── Segment │ │ │ │ │ │ ├── segmentStyles.ts │ │ │ │ │ │ └── segmentVariables.ts │ │ │ │ │ ├── Slider │ │ │ │ │ │ ├── sliderStyles.ts │ │ │ │ │ │ └── sliderVariables.ts │ │ │ │ │ ├── SplitButton │ │ │ │ │ │ ├── splitButtonStyles.ts │ │ │ │ │ │ └── splitButtonVariables.ts │ │ │ │ │ ├── Status │ │ │ │ │ │ ├── statusStyles.ts │ │ │ │ │ │ └── statusVariables.ts │ │ │ │ │ ├── Table │ │ │ │ │ │ ├── tableCellStyles.ts │ │ │ │ │ │ ├── tableCellVariables.ts │ │ │ │ │ │ ├── tableRowStyles.ts │ │ │ │ │ │ ├── tableRowVariables.ts │ │ │ │ │ │ ├── tableStyles.ts │ │ │ │ │ │ └── tableVariables.ts │ │ │ │ │ ├── Text │ │ │ │ │ │ ├── textStyles.ts │ │ │ │ │ │ └── textVariables.ts │ │ │ │ │ ├── TextArea │ │ │ │ │ │ ├── textAreaStyles.ts │ │ │ │ │ │ └── textAreaVariables.ts │ │ │ │ │ ├── Toolbar │ │ │ │ │ │ ├── toolbarCustomItemStyles.ts │ │ │ │ │ │ ├── toolbarCustomItemVariables.ts │ │ │ │ │ │ ├── toolbarDividerStyles.ts │ │ │ │ │ │ ├── toolbarDividerVariables.ts │ │ │ │ │ │ ├── toolbarItemStyles.ts │ │ │ │ │ │ ├── toolbarItemVariables.ts │ │ │ │ │ │ ├── toolbarMenuDividerStyles.ts │ │ │ │ │ │ ├── toolbarMenuDividerVariables.ts │ │ │ │ │ │ ├── toolbarMenuItemStyles.ts │ │ │ │ │ │ ├── toolbarMenuItemVariables.ts │ │ │ │ │ │ ├── toolbarMenuRadioGroupStyles.ts │ │ │ │ │ │ ├── toolbarMenuRadioGroupVariables.ts │ │ │ │ │ │ ├── toolbarMenuStyles.ts │ │ │ │ │ │ ├── toolbarMenuVariables.ts │ │ │ │ │ │ ├── toolbarRadioGroupStyles.ts │ │ │ │ │ │ ├── toolbarStyles.ts │ │ │ │ │ │ └── toolbarVariables.ts │ │ │ │ │ ├── Tooltip │ │ │ │ │ │ ├── tooltipContentStyles.ts │ │ │ │ │ │ └── tooltipContentVariables.ts │ │ │ │ │ ├── Tree │ │ │ │ │ │ ├── treeItemStyles.ts │ │ │ │ │ │ ├── treeStyles.ts │ │ │ │ │ │ ├── treeTitleStyles.ts │ │ │ │ │ │ └── treeTitleVariables.ts │ │ │ │ │ └── Video │ │ │ │ │ │ ├── videoStyles.ts │ │ │ │ │ │ └── videoVariables.ts │ │ │ │ ├── fontFaces.ts │ │ │ │ ├── getBorderFocusStyles.ts │ │ │ │ ├── getIconFillOrOutlineStyles.ts │ │ │ │ ├── getPointerStyles.ts │ │ │ │ ├── index.tsx │ │ │ │ ├── pointerSvgUrl.ts │ │ │ │ ├── siteVariables.ts │ │ │ │ ├── staticStyles │ │ │ │ │ ├── globalStyles.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── normalizeCSS.ts │ │ │ │ ├── types.ts │ │ │ │ └── withProcessedIcons.ts │ │ │ └── types.ts │ │ ├── types.ts │ │ ├── umd.ts │ │ └── utils │ │ │ ├── AutoControlledComponent.tsx │ │ │ ├── UIComponent.tsx │ │ │ ├── accessibility │ │ │ ├── FocusHandling │ │ │ │ └── FocusContainer.ts │ │ │ └── Styles │ │ │ │ └── accessibilityStyles.ts │ │ │ ├── applyAccessibilityKeyHandlers.ts │ │ │ ├── childrenExist.ts │ │ │ ├── commonPropInterfaces.ts │ │ │ ├── commonPropTypes.ts │ │ │ ├── constants.ts │ │ │ ├── createComponent.tsx │ │ │ ├── createComponentInternal.ts │ │ │ ├── doesNodeContainClick.tsx │ │ │ ├── factories.ts │ │ │ ├── felaDisableAnimationsPlugin.ts │ │ │ ├── felaExpandCssShorthandsPlugin.ts │ │ │ ├── felaFocusVisibleEnhancer.ts │ │ │ ├── felaInvokeKeyframesPlugin.ts │ │ │ ├── felaRenderer.tsx │ │ │ ├── felaSanitizeCssPlugin.ts │ │ │ ├── fontSizeUtility.ts │ │ │ ├── getKindProp.ts │ │ │ ├── getOrGenerateIdFromShorthand.ts │ │ │ ├── htmlPropsUtils.tsx │ │ │ ├── index.ts │ │ │ ├── isBrowser.tsx │ │ │ ├── isRightClick.ts │ │ │ ├── mergeProviderContexts.ts │ │ │ ├── positioner │ │ │ ├── Popper.tsx │ │ │ ├── getScrollParent.ts │ │ │ ├── index.ts │ │ │ ├── initialStyles.ts │ │ │ ├── positioningHelper.ts │ │ │ ├── types.internal.ts │ │ │ └── types.ts │ │ │ ├── providerMissingHandler.ts │ │ │ ├── renderComponent.tsx │ │ │ ├── rtlTextContainer.tsx │ │ │ ├── stringLiteralsArray.ts │ │ │ └── whatInput.ts │ ├── test │ │ ├── __mocks__ │ │ │ ├── lodash.ts │ │ │ └── popper.js.ts │ │ ├── setup.ts │ │ ├── specs │ │ │ ├── commonTests │ │ │ │ ├── commonHelpers.ts │ │ │ │ ├── eventTarget.ts │ │ │ │ ├── handlesAccessibility.tsx │ │ │ │ ├── htmlIsAccessibilityCompliant.ts │ │ │ │ ├── implementsCollectionShorthandProp.tsx │ │ │ │ ├── implementsShorthandProp.tsx │ │ │ │ ├── implementsWrapperProp.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── isConformant.tsx │ │ │ │ ├── isExportedAtTopLevel.tsx │ │ │ │ └── stylesFunction-test.tsx │ │ │ ├── components │ │ │ │ ├── Accordion │ │ │ │ │ ├── Accordion-test.tsx │ │ │ │ │ ├── AccordionContent-test.tsx │ │ │ │ │ └── AccordionTitle-test.tsx │ │ │ │ ├── Alert │ │ │ │ │ └── Alert-test.tsx │ │ │ │ ├── Animation │ │ │ │ │ └── Animation-test.tsx │ │ │ │ ├── Attachment │ │ │ │ │ └── Attachment-test.tsx │ │ │ │ ├── Avatar │ │ │ │ │ └── Avatar-test.tsx │ │ │ │ ├── Button │ │ │ │ │ ├── Button-test.tsx │ │ │ │ │ └── ButtonGroup-test.tsx │ │ │ │ ├── Carousel │ │ │ │ │ ├── Carousel-test.tsx │ │ │ │ │ ├── CarouselItem-test.tsx │ │ │ │ │ ├── CarouselNavigation-test.tsx │ │ │ │ │ └── CarouselNavigationItem-test.tsx │ │ │ │ ├── Chat │ │ │ │ │ ├── Chat-test.ts │ │ │ │ │ ├── ChatItem-test.tsx │ │ │ │ │ └── ChatMessage-test.tsx │ │ │ │ ├── Checkbox │ │ │ │ │ └── Checkbox-test.tsx │ │ │ │ ├── Debug │ │ │ │ │ └── utils-test.ts │ │ │ │ ├── Dialog │ │ │ │ │ ├── Dialog-test.tsx │ │ │ │ │ └── DialogFooter-test.tsx │ │ │ │ ├── Divider │ │ │ │ │ └── Divider-test.tsx │ │ │ │ ├── Dropdown │ │ │ │ │ ├── Dropdown-test.tsx │ │ │ │ │ ├── DropdownItem-test.tsx │ │ │ │ │ ├── DropdownSelectedItem-test.tsx │ │ │ │ │ └── test-utils.tsx │ │ │ │ ├── Embed │ │ │ │ │ └── Embed-test.tsx │ │ │ │ ├── Form │ │ │ │ │ ├── Form-test.tsx │ │ │ │ │ └── FormField-test.tsx │ │ │ │ ├── Grid │ │ │ │ │ └── Grid-test.tsx │ │ │ │ ├── Header │ │ │ │ │ ├── Header-test.ts │ │ │ │ │ └── HeaderDescription-test.ts │ │ │ │ ├── HierarchicalTree │ │ │ │ │ └── HierarchicalTree-test.tsx │ │ │ │ ├── Icon │ │ │ │ │ └── Icon-test.tsx │ │ │ │ ├── Image │ │ │ │ │ └── Image-test.tsx │ │ │ │ ├── Input │ │ │ │ │ └── Input-test.tsx │ │ │ │ ├── ItemLayout │ │ │ │ │ └── ItemLayout-test.ts │ │ │ │ ├── Label │ │ │ │ │ └── Label-test.tsx │ │ │ │ ├── Layout │ │ │ │ │ └── Layout-test.ts │ │ │ │ ├── List │ │ │ │ │ ├── List-test.tsx │ │ │ │ │ └── ListItem-test.tsx │ │ │ │ ├── Loader │ │ │ │ │ └── Loader-test.tsx │ │ │ │ ├── Menu │ │ │ │ │ ├── Menu-test.tsx │ │ │ │ │ ├── MenuDivider-test.ts │ │ │ │ │ └── MenuItem-test.tsx │ │ │ │ ├── MenuButton │ │ │ │ │ └── MenuButton-test.tsx │ │ │ │ ├── Popup │ │ │ │ │ ├── Popup-test.tsx │ │ │ │ │ └── PopupContent-test.ts │ │ │ │ ├── Portal │ │ │ │ │ └── Portal-test.tsx │ │ │ │ ├── PortalInner │ │ │ │ │ └── PortalInner-test.tsx │ │ │ │ ├── Provider │ │ │ │ │ ├── Provider-test.tsx │ │ │ │ │ └── ProviderConsumer-test.tsx │ │ │ │ ├── RadioGroup │ │ │ │ │ ├── RadioGroup-test.tsx │ │ │ │ │ └── RadioGroupItem-test.ts │ │ │ │ ├── Reaction │ │ │ │ │ ├── Reaction-test.tsx │ │ │ │ │ └── ReactionGroup-test.tsx │ │ │ │ ├── Segment │ │ │ │ │ └── Segment-test.ts │ │ │ │ ├── Slider │ │ │ │ │ └── Slider-test.tsx │ │ │ │ ├── SplitButton │ │ │ │ │ └── SplitButton-test.tsx │ │ │ │ ├── Status │ │ │ │ │ └── Status-test.tsx │ │ │ │ ├── Table │ │ │ │ │ ├── Table-test.tsx │ │ │ │ │ ├── TableCell-test.tsx │ │ │ │ │ └── TableRow-test.tsx │ │ │ │ ├── Text │ │ │ │ │ └── Text-test.tsx │ │ │ │ ├── TextArea │ │ │ │ │ └── TextArea-test.tsx │ │ │ │ ├── Toolbar │ │ │ │ │ ├── Toolbar-test.tsx │ │ │ │ │ ├── ToolbarCustomItem-test.ts │ │ │ │ │ ├── ToolbarDivider-test.ts │ │ │ │ │ ├── ToolbarItem-test.tsx │ │ │ │ │ ├── ToolbarMenu-test.tsx │ │ │ │ │ ├── ToolbarMenuDivider-test.ts │ │ │ │ │ ├── ToolbarMenuItem-test.ts │ │ │ │ │ ├── ToolbarMenuRadioGroup-test.ts │ │ │ │ │ └── ToolbarRadioGroup-test.tsx │ │ │ │ ├── Tooltip │ │ │ │ │ ├── Tooltip-test.tsx │ │ │ │ │ └── TooltipContent-test.ts │ │ │ │ ├── Tree │ │ │ │ │ ├── Tree-test.tsx │ │ │ │ │ ├── TreeItem-test.tsx │ │ │ │ │ └── TreeTitle-test.tsx │ │ │ │ └── Video │ │ │ │ │ └── Video-test.tsx │ │ │ ├── themes │ │ │ │ ├── colorUtils-test.ts │ │ │ │ └── teams │ │ │ │ │ └── components │ │ │ │ │ └── Icon │ │ │ │ │ └── Icon-test.tsx │ │ │ └── utils │ │ │ │ ├── AutoControlledComponent-test.tsx │ │ │ │ ├── __snapshots__ │ │ │ │ ├── felaFocusVisibleEnhancer-test.ts.snap │ │ │ │ └── felaRenderer-test.tsx.snap │ │ │ │ ├── accessibility │ │ │ │ └── FocusContainer-test.ts │ │ │ │ ├── childrenExist-test.tsx │ │ │ │ ├── createComponent-test.tsx │ │ │ │ ├── doesNodeContainClick-test.ts │ │ │ │ ├── factories-test.tsx │ │ │ │ ├── felaDisableAnimationsPlugin-test.ts │ │ │ │ ├── felaExpandCssShorthandsPlugin-test.ts │ │ │ │ ├── felaFocusVisibleEnhancer-test.ts │ │ │ │ ├── felaInvokeKeyframesPlugin-test.ts │ │ │ │ ├── felaRenderer-test.tsx │ │ │ │ ├── felaSanitizeCssPlugin-test.ts │ │ │ │ ├── fontSizeUtility-test.ts │ │ │ │ ├── htmlInputPropsUtils-test.ts │ │ │ │ ├── isBrowser-test.ts │ │ │ │ ├── mergeProviderContexts │ │ │ │ ├── mergeBooleanValues-test.ts │ │ │ │ └── mergeProviderContexts-test.ts │ │ │ │ └── positioner │ │ │ │ ├── getScrollParent-test.ts │ │ │ │ └── positioningHelper-test.ts │ │ └── utils │ │ │ ├── assertNodeContains.ts │ │ │ ├── consoleUtil.ts │ │ │ ├── domEvent.ts │ │ │ ├── findIntrinsicElement.ts │ │ │ ├── getDisplayName.ts │ │ │ ├── index.ts │ │ │ ├── nextFrame.ts │ │ │ ├── syntheticEvent.ts │ │ │ └── withProvider.tsx │ ├── tsconfig.json │ └── tslint.json ├── state │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .gulp.js │ ├── README.md │ ├── babel.config.js │ ├── gulpfile.ts │ ├── package.json │ ├── src │ │ ├── createManager.ts │ │ ├── index.ts │ │ ├── managers │ │ │ ├── checkboxManager.ts │ │ │ ├── dialogManager.ts │ │ │ ├── dropdownManager.ts │ │ │ └── sliderManager.ts │ │ └── types.ts │ ├── tsconfig.json │ └── tslint.json └── styles │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .gulp.js │ ├── api-extractor.json │ ├── babel.config.js │ ├── gulpfile.ts │ ├── jest.config.js │ ├── package.json │ ├── src │ ├── callable.ts │ ├── createTheme.ts │ ├── debugEnabled.ts │ ├── deepmerge.ts │ ├── index.ts │ ├── mergeThemes.ts │ ├── objectKeysToValues.ts │ ├── toCompactArray.ts │ ├── types.ts │ └── withDebugId.ts │ ├── test │ ├── deepmerge-test.ts │ ├── mergeThemes │ │ ├── mergeComponentStyles-test.ts │ │ ├── mergeComponentVariables-test.ts │ │ ├── mergeFontFaces-test.ts │ │ ├── mergeSiteVariables-test.ts │ │ ├── mergeStaticStyles-test.ts │ │ ├── mergeThemeVariables-test.ts │ │ └── mergeThemes-test.ts │ └── objectKeysToValues-test.ts │ ├── tsconfig.json │ └── tslint.json ├── perf ├── .eslintignore ├── .eslintrc.json ├── doc │ ├── perf.md │ └── perf_chart.png ├── package.json ├── src │ ├── index.html │ └── index.tsx ├── tsconfig.json ├── tslint.json └── types.ts ├── scripts ├── bin │ └── scripts.js ├── config │ ├── api-extractor │ │ └── api-extractor.common.json │ ├── eslint │ │ └── eslint.config.js │ ├── jest │ │ ├── flamegrillReporter.js │ │ ├── jest-puppeteer.config.js │ │ ├── jest.common.js │ │ ├── jest.fluent-ui-react.js │ │ ├── jest.puppeteer.js │ │ ├── jestSetup.common.js │ │ └── jestSetup.fluent-ui-react.js │ ├── storybook │ │ └── webpack.config.js │ └── typescript │ │ ├── tsconfig.common.json │ │ └── tsconfig.stardust-ui.json ├── index.ts ├── just.config.ts ├── monorepo │ ├── findGitRoot.ts │ ├── getAllPackageDeps.ts │ └── getAllPackageInfo.ts ├── package.json ├── tasks │ ├── autoProjectRefsTask.ts │ ├── e2eTask.ts │ ├── httpServerTask.ts │ ├── preset.ts │ ├── publishPrepareTask.ts │ └── storybookTask.ts └── tsconfig.json ├── specs ├── Button.md ├── Checkbox.md ├── Icon.md ├── Link.md ├── Menu.md └── Slider.md ├── tsconfig.json ├── tslint.json ├── types ├── jest-dom.d.ts └── screener-runner │ └── index.d.ts └── yarn.lock /.browserslistrc: -------------------------------------------------------------------------------- 1 | ### Browsers that we support 2 | 3 | >0.2% 4 | not dead 5 | not ie < 11 6 | not op_mini all 7 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | dist/ 3 | lib/ 4 | node_modules/ 5 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["./build/eslint/index.js"], 3 | "root": true 4 | } 5 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # https://help.github.com/articles/about-codeowners/ 2 | 3 | # Default owners 4 | * @davezuko @kuzhelov @layershifter @levithomason @miroslavstastny @mnajdova @kenotron @jdhuntington @ecraig12345 @dzearing @jasongore 5 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/fluent-ui-react/3fa9cbca5cde7a5da98b3c71bfc4bed7a56c743d/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.gulp.js: -------------------------------------------------------------------------------- 1 | // https://github.com/gulpjs/gulp-cli#configuration 2 | module.exports = { 3 | flags: { 4 | require: '@fluentui/internal-tooling/babel/register', 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # editor configs 2 | .idea/ 3 | .vscode/ 4 | 5 | coverage/ 6 | dist/ 7 | lib/ 8 | stats/ 9 | 10 | package.json 11 | 12 | packages/ability-attributes/src/schema.ts 13 | 14 | CHANGELOG.md 15 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = api => ({ 2 | ...require('@fluentui/internal-tooling/babel')(api), 3 | babelrcRoots: ['./packages/*'], 4 | }) 5 | -------------------------------------------------------------------------------- /build/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["./eslint/index.js"], 3 | "rules": { 4 | "no-console": "off" 5 | }, 6 | "root": true 7 | } 8 | -------------------------------------------------------------------------------- /build/babel/register.js: -------------------------------------------------------------------------------- 1 | require('@babel/register')({ 2 | extensions: ['.js', '.ts', '.tsx'], 3 | ignore: [/node_modules/], 4 | rootMode: 'upward', 5 | }) 6 | -------------------------------------------------------------------------------- /build/dangerjs/detectNonApprovedDependencies/utils/packageNameUtils.ts: -------------------------------------------------------------------------------- 1 | export const getPackageName = (packageId: string): string => { 2 | return packageId.match(/^(.+)@[^@]+$/)[1] 3 | } 4 | 5 | export const getPackageVersion = (packageId: string): string => { 6 | return packageId.match(/@([^@]+)$/)[1] 7 | } 8 | -------------------------------------------------------------------------------- /build/dangerjs/types.ts: -------------------------------------------------------------------------------- 1 | import { DangerDSLType } from 'danger' 2 | 3 | export type DangerJS = { 4 | danger: DangerDSLType 5 | markdown: (markdown: string) => void 6 | warn: (message: string) => void 7 | fail: (message: string) => void 8 | } 9 | -------------------------------------------------------------------------------- /build/gulp/plugins/util/parseBuffer.ts: -------------------------------------------------------------------------------- 1 | import { parse } from '@babel/parser' 2 | 3 | const parseBuffer = buffer => 4 | parse(buffer.toString(), { 5 | plugins: ['classProperties', 'jsx'], 6 | sourceType: 'module', 7 | }) 8 | 9 | export default parseBuffer 10 | -------------------------------------------------------------------------------- /build/gulp/plugins/util/parseDocblock.ts: -------------------------------------------------------------------------------- 1 | import * as doctrine from 'doctrine' 2 | 3 | const parseDocblock = (docblock: string) => { 4 | const { description = '', tags = [], ...rest } = doctrine.parse(docblock || '', { unwrap: true }) 5 | 6 | return { 7 | ...rest, 8 | description, 9 | tags, 10 | } 11 | } 12 | 13 | export default parseDocblock 14 | -------------------------------------------------------------------------------- /build/gulp/tasks/test-projects/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "import/no-unresolved": "off" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /build/gulp/tasks/test-projects/typings/index.tsx: -------------------------------------------------------------------------------- 1 | import * as FluentUI from '@fluentui/react' 2 | import * as React from 'react' 3 | 4 | const App = () => ( 5 | 6 | 7 | 8 | ) 9 | 10 | export default App 11 | -------------------------------------------------------------------------------- /build/gulp/tasks/test-projects/typings/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "jsx": "react", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "target": "es5", 6 | "strict": true 7 | }, 8 | "include": ["src"] 9 | } 10 | -------------------------------------------------------------------------------- /build/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.common.json", 3 | "compilerOptions": { 4 | "allowSyntheticDefaultImports": true, 5 | "typeRoots": ["../types", "../node_modules/@types"], 6 | "types": ["node", "webpack-env", "screener-runner"] 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | ignore: 3 | - docs/* 4 | - packages/ability-attributes/src/* 5 | - packages/accessibility/src/behaviors/* 6 | - packages/react/src/themes/* 7 | - packages/react/src/styles/* 8 | - packages/react/test/* 9 | -------------------------------------------------------------------------------- /docs/.eslintignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | dist/ 3 | lib/ 4 | node_modules/ 5 | -------------------------------------------------------------------------------- /docs/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["../build/eslint/index.js"], 3 | "rules": { 4 | "no-alert": "off" 5 | }, 6 | "root": true 7 | } 8 | -------------------------------------------------------------------------------- /docs/src/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /docs/src/add-yours.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/fluent-ui-react/3fa9cbca5cde7a5da98b3c71bfc4bed7a56c743d/docs/src/add-yours.png -------------------------------------------------------------------------------- /docs/src/amazon-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/fluent-ui-react/3fa9cbca5cde7a5da98b3c71bfc4bed7a56c743d/docs/src/amazon-logo.png -------------------------------------------------------------------------------- /docs/src/components/ComponentDoc/ComponentControls/ComponentControlsCodeSandbox/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from './ComponentControlsCodeSandbox' 2 | -------------------------------------------------------------------------------- /docs/src/components/ComponentDoc/ComponentControls/index.tsx: -------------------------------------------------------------------------------- 1 | export { default } from './ComponentControls' 2 | -------------------------------------------------------------------------------- /docs/src/components/ComponentDoc/ComponentExample/index.tsx: -------------------------------------------------------------------------------- 1 | export * from './ComponentExample' 2 | export { default } from './ComponentExample' 3 | -------------------------------------------------------------------------------- /docs/src/components/ComponentDoc/ComponentPerfExample/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from './ComponentPerfExample' 2 | -------------------------------------------------------------------------------- /docs/src/components/ComponentDoc/ComponentProps/index.tsx: -------------------------------------------------------------------------------- 1 | export { default } from './ComponentProps' 2 | -------------------------------------------------------------------------------- /docs/src/components/ComponentDoc/ComponentPropsTable/index.tsx: -------------------------------------------------------------------------------- 1 | export { default } from './ComponentPropsTable' 2 | -------------------------------------------------------------------------------- /docs/src/components/ComponentDoc/ComponentSidebar/index.tsx: -------------------------------------------------------------------------------- 1 | export { default } from './ComponentSidebar' 2 | -------------------------------------------------------------------------------- /docs/src/components/ComponentDoc/ComponentSourceManager/index.ts: -------------------------------------------------------------------------------- 1 | export * from './componentAPIs' 2 | 3 | export { default } from './ComponentSourceManager' 4 | export * from './ComponentSourceManager' 5 | -------------------------------------------------------------------------------- /docs/src/components/ComponentDoc/InlineMarkdown.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import * as ReactMarkdown from 'react-markdown' 3 | 4 | const InlineMarkdown: React.FunctionComponent<{ value: string }> = ({ value }) => ( 5 | 6 | ) 7 | 8 | export default InlineMarkdown 9 | -------------------------------------------------------------------------------- /docs/src/components/ComponentDoc/NonPublicSection.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import ExampleSection, { ExampleSectionProps } from './ExampleSection' 3 | 4 | const NonPublicSection: React.FC = props => { 5 | return process.env.NODE_ENV === 'development' ? : null 6 | } 7 | 8 | export default NonPublicSection 9 | -------------------------------------------------------------------------------- /docs/src/components/ComponentDoc/PerfChart/index.ts: -------------------------------------------------------------------------------- 1 | export { default as PerfChart } from './PerfChart' 2 | export { default as PerfDataProvider } from './PerfDataProvider' 3 | export { default as usePerfData } from './usePerfData' 4 | -------------------------------------------------------------------------------- /docs/src/components/ComponentDoc/index.tsx: -------------------------------------------------------------------------------- 1 | export { default } from './ComponentDoc' 2 | -------------------------------------------------------------------------------- /docs/src/components/DocPage/index.tsx: -------------------------------------------------------------------------------- 1 | export { default } from './DocPage' 2 | -------------------------------------------------------------------------------- /docs/src/components/Editor/index.tsx: -------------------------------------------------------------------------------- 1 | export { default } from './Editor' 2 | export * from './Editor' 3 | -------------------------------------------------------------------------------- /docs/src/components/ExampleSnippet/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from './ExampleSnippet' 2 | -------------------------------------------------------------------------------- /docs/src/config.ts: -------------------------------------------------------------------------------- 1 | const config = { 2 | getStatsUri: 'https://fluent-ui-react-stats.azurewebsites.net/api/GetPerfStats', 3 | } 4 | 5 | export default config 6 | -------------------------------------------------------------------------------- /docs/src/examples/components/Accordion/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | 3 | import Rtl from './Rtl' 4 | import Types from './Types' 5 | import Usage from './Usage' 6 | 7 | const AccordionExamples = () => ( 8 | <> 9 | 10 | 11 | 12 | 13 | ) 14 | 15 | export default AccordionExamples 16 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Performance/AlertMinimal.perf.tsx: -------------------------------------------------------------------------------- 1 | import { Alert } from '@fluentui/react' 2 | import * as React from 'react' 3 | 4 | const AlertMinimalPerf = () => 5 | 6 | AlertMinimalPerf.iterations = 1000 7 | AlertMinimalPerf.filename = 'AlertMinimal.perf.tsx' 8 | 9 | export default AlertMinimalPerf 10 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Rtl/AlertExample.rtl.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Alert } from '@fluentui/react' 3 | 4 | const AlertExampleRtl = () => 5 | 6 | export default AlertExampleRtl 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Rtl/AlertExampleChildren.rtl.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Alert } from '@fluentui/react' 3 | 4 | const AlertExampleChildrenRtl = () => مرحبا العالم 5 | 6 | export default AlertExampleChildrenRtl 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Slots/AlertExampleDismissAction.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Alert } from '@fluentui/react' 3 | 4 | const AlertExampleDismissAction = () => ( 5 | 6 | ) 7 | 8 | export default AlertExampleDismissAction 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Slots/AlertExampleHeader.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Alert } from '@fluentui/react' 3 | 4 | const AlertExampleHeader = () => ( 5 | 6 | ) 7 | 8 | export default AlertExampleHeader 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Slots/AlertExampleHeader.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Alert } from '@fluentui/react' 3 | 4 | const AlertExampleHeader = () => ( 5 | 6 | ) 7 | 8 | export default AlertExampleHeader 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Slots/AlertExampleIcon.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Alert } from '@fluentui/react' 3 | 4 | const AlertExampleIcon = () => ( 5 | 6 | ) 7 | 8 | export default AlertExampleIcon 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Slots/AlertExampleIcon.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Alert } from '@fluentui/react' 3 | 4 | const AlertExampleIcon = () => ( 5 | 6 | ) 7 | 8 | export default AlertExampleIcon 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Types/AlertExample.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Alert } from '@fluentui/react' 3 | 4 | const AlertExample = () => 5 | 6 | export default AlertExample 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Types/AlertExample.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Alert } from '@fluentui/react' 3 | 4 | const AlertExample = () => This is a default alert 5 | 6 | export default AlertExample 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Types/AlertExampleDismissible.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | import { getScreenerSteps } from '../commonScreenerSteps' 2 | 3 | const config: ScreenerTestsConfig = { 4 | themes: ['teams', 'teamsDark', 'teamsHighContrast'], 5 | steps: getScreenerSteps(), 6 | } 7 | 8 | export default config 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Variations/AlertExampleDanger.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | const config: ScreenerTestsConfig = { themes: ['teams', 'teamsDark', 'teamsHighContrast'] } 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Variations/AlertExampleDanger.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Alert } from '@fluentui/react' 3 | 4 | const AlertExampleDanger = () => 5 | 6 | export default AlertExampleDanger 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Variations/AlertExampleDanger.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Alert } from '@fluentui/react' 3 | 4 | const AlertExampleDanger = () => This is a danger alert 5 | 6 | export default AlertExampleDanger 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Variations/AlertExampleFitted.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import { Alert } from '@fluentui/react' 2 | import * as React from 'react' 3 | 4 | const AlertExampleFitted = () => ( 5 | 6 | ) 7 | 8 | export default AlertExampleFitted 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Variations/AlertExampleInfo.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | const config: ScreenerTestsConfig = { themes: ['teams', 'teamsDark', 'teamsHighContrast'] } 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Variations/AlertExampleInfo.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Alert } from '@fluentui/react' 3 | 4 | const AlertExampleInfo = () => 5 | 6 | export default AlertExampleInfo 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Variations/AlertExampleInfo.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Alert } from '@fluentui/react' 3 | 4 | const AlertExampleInfo = () => This is an informational alert 5 | 6 | export default AlertExampleInfo 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Variations/AlertExampleOofs.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | import { getHoverScreenerSteps } from '../commonScreenerSteps' 2 | 3 | const config: ScreenerTestsConfig = { 4 | themes: ['teams', 'teamsDark', 'teamsHighContrast'], 5 | steps: getHoverScreenerSteps(), 6 | } 7 | 8 | export default config 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Variations/AlertExampleOofs.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Alert } from '@fluentui/react' 3 | 4 | const AlertExampleOof = () => ( 5 | 6 | ) 7 | 8 | export default AlertExampleOof 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Variations/AlertExampleOofs.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Alert } from '@fluentui/react' 3 | 4 | const AlertExampleOof = () => ( 5 | 6 | This is an oof alert 7 | 8 | ) 9 | 10 | export default AlertExampleOof 11 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Variations/AlertExampleSuccess.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Alert } from '@fluentui/react' 3 | 4 | const AlertExampleSuccess = () => 5 | 6 | export default AlertExampleSuccess 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Variations/AlertExampleSuccess.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Alert } from '@fluentui/react' 3 | 4 | const AlertExampleSuccess = () => This is a success alert 5 | 6 | export default AlertExampleSuccess 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Variations/AlertExampleUrgent.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | import { getFocusScreenerSteps } from '../commonScreenerSteps' 2 | 3 | const config: ScreenerTestsConfig = { 4 | themes: ['teams', 'teamsDark', 'teamsHighContrast'], 5 | steps: getFocusScreenerSteps(), 6 | } 7 | 8 | export default config 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Variations/AlertExampleUrgent.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Alert } from '@fluentui/react' 3 | 4 | const AlertExampleUrgent = () => ( 5 | 6 | ) 7 | 8 | export default AlertExampleUrgent 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Variations/AlertExampleUrgent.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Alert } from '@fluentui/react' 3 | 4 | const AlertExampleUrgent = () => ( 5 | 6 | This is an urgent alert 7 | 8 | ) 9 | 10 | export default AlertExampleUrgent 11 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Variations/AlertExampleWarning.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Alert } from '@fluentui/react' 3 | 4 | const AlertExampleWarning = () => 5 | 6 | export default AlertExampleWarning 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Alert/Variations/AlertExampleWarning.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Alert } from '@fluentui/react' 3 | 4 | const AlertExampleWarning = () => This is a warning alert 5 | 6 | export default AlertExampleWarning 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Animation/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import Types from './Types' 3 | import Usage from './Usage' 4 | 5 | const AnimationExamples = () => ( 6 |
7 | 8 | 9 |
10 | ) 11 | 12 | export default AnimationExamples 13 | -------------------------------------------------------------------------------- /docs/src/examples/components/Attachment/Rtl/AttachmentExample.rtl.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Attachment } from '@fluentui/react' 3 | 4 | const AttachmentExampleRtl = () => ( 5 | 6 | ) 7 | 8 | export default AttachmentExampleRtl 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Attachment/Slots/AttachmentActionExample.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | import getScreenerSteps from '../commonScreenerSteps' 2 | 3 | const config: ScreenerTestsConfig = { 4 | themes: ['teams', 'teamsDark', 'teamsHighContrast'], 5 | steps: getScreenerSteps(), 6 | } 7 | 8 | export default config 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Attachment/Slots/AttachmentDescriptionExample.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Attachment } from '@fluentui/react' 3 | 4 | const AttachmentDescriptionExampleShorthand = () => ( 5 | 6 | ) 7 | 8 | export default AttachmentDescriptionExampleShorthand 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Attachment/Slots/AttachmentHeaderExample.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Attachment } from '@fluentui/react' 3 | 4 | const AttachmentHeaderExampleShorthand = () => 5 | 6 | export default AttachmentHeaderExampleShorthand 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Attachment/Types/AttachmentExample.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Attachment } from '@fluentui/react' 3 | 4 | const AttachmentExampleShorthand = () => 5 | 6 | export default AttachmentExampleShorthand 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Attachment/Variations/AttachmentActionableExample.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | import getScreenerSteps from '../commonScreenerSteps' 2 | 3 | const config: ScreenerTestsConfig = { 4 | themes: ['teams', 'teamsDark', 'teamsHighContrast'], 5 | steps: getScreenerSteps(), 6 | } 7 | 8 | export default config 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Avatar/Performance/AvatarMinimal.perf.tsx: -------------------------------------------------------------------------------- 1 | import { Avatar } from '@fluentui/react' 2 | import * as React from 'react' 3 | 4 | const AvatarMinimalPerf = () => 5 | 6 | AvatarMinimalPerf.iterations = 1000 7 | AvatarMinimalPerf.filename = 'AvatarMinimal.perf.tsx' 8 | 9 | export default AvatarMinimalPerf 10 | -------------------------------------------------------------------------------- /docs/src/examples/components/Avatar/Rtl/AvatarExample.rtl.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Avatar } from '@fluentui/react' 3 | 4 | const AvatarExampleRtl = () => ( 5 | 12 | ) 13 | 14 | export default AvatarExampleRtl 15 | -------------------------------------------------------------------------------- /docs/src/examples/components/Avatar/Types/AvatarExample.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Avatar } from '@fluentui/react' 3 | 4 | const AvatarExampleShorthand = () => ( 5 |
6 | 7 |
8 | ) 9 | 10 | export default AvatarExampleShorthand 11 | -------------------------------------------------------------------------------- /docs/src/examples/components/Avatar/Variations/AvatarExampleLabel.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Avatar } from '@fluentui/react' 3 | 4 | const AvatarExampleLabelShorthand = () => ( 5 | 6 | ) 7 | 8 | export default AvatarExampleLabelShorthand 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Box/Performance/BoxMinimal.perf.tsx: -------------------------------------------------------------------------------- 1 | import { Box } from '@fluentui/react' 2 | import * as React from 'react' 3 | 4 | const BoxMinimalPerf = () => 5 | 6 | BoxMinimalPerf.iterations = 5000 7 | BoxMinimalPerf.filename = 'BoxMinimal.perf.tsx' 8 | 9 | export default BoxMinimalPerf 10 | -------------------------------------------------------------------------------- /docs/src/examples/components/Button/Groups/ButtonGroupCircularExample.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | import getScreenerSteps from '../commonScreenerSteps' 2 | 3 | const config: ScreenerTestsConfig = { 4 | themes: ['teams', 'teamsDark', 'teamsHighContrast'], 5 | steps: getScreenerSteps(), 6 | } 7 | 8 | export default config 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Button/Groups/ButtonGroupExample.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | import getScreenerSteps from '../commonScreenerSteps' 2 | 3 | const config: ScreenerTestsConfig = { 4 | themes: ['teams', 'teamsDark', 'teamsHighContrast'], 5 | steps: getScreenerSteps(), 6 | } 7 | 8 | export default config 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Button/Performance/ButtonMinimal.perf.tsx: -------------------------------------------------------------------------------- 1 | import { Button } from '@fluentui/react' 2 | import * as React from 'react' 3 | 4 | const ButtonMinimalPerf = () => 5 | 6 | export default ButtonExample 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Button/Types/ButtonExampleText.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | import getScreenerSteps from '../commonScreenerSteps' 2 | 3 | const config: ScreenerTestsConfig = { 4 | themes: ['teams', 'teamsDark', 'teamsHighContrast'], 5 | steps: getScreenerSteps(), 6 | } 7 | 8 | export default config 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Button/Usage/ButtonExampleContentAndIcon.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | import getScreenerSteps from '../commonScreenerSteps' 2 | 3 | const config: ScreenerTestsConfig = { 4 | themes: ['teams', 'teamsDark', 'teamsHighContrast'], 5 | steps: getScreenerSteps(), 6 | } 7 | 8 | export default config 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Button/Usage/ButtonExampleOverflow.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Button } from '@fluentui/react' 3 | 4 | const ButtonExampleOverflow = () => ( 5 | 6 | ) 7 | 8 | export default ButtonExampleOverflow 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Button/Usage/ButtonExampleWithTooltip.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | import { Button } from '@fluentui/react' 2 | 3 | const config: ScreenerTestsConfig = { 4 | themes: ['teams', 'teamsDark', 'teamsHighContrast'], 5 | steps: [builder => builder.hover(`.${Button.className}`).snapshot('Shows tooltip')], 6 | } 7 | 8 | export default config 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Button/Variations/ButtonExampleFluid.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Button } from '@fluentui/react' 3 | 4 | const ButtonExampleFluid = () => 5 | 6 | export default ButtonExampleFluid 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Carousel/Performance/CarouselMinimal.perf.tsx: -------------------------------------------------------------------------------- 1 | import { Carousel } from '@fluentui/react' 2 | import * as React from 'react' 3 | 4 | const CarouselMinimalPerf = () => 5 | 6 | CarouselMinimalPerf.iterations = 500 7 | CarouselMinimalPerf.filename = 'CarouselMinimal.perf.tsx' 8 | 9 | export default CarouselMinimalPerf 10 | -------------------------------------------------------------------------------- /docs/src/examples/components/Carousel/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | 3 | import Types from './Types' 4 | import Variations from './Variations' 5 | 6 | const CarouselExamples = () => ( 7 | <> 8 | 9 | 10 | 11 | ) 12 | 13 | export default CarouselExamples 14 | -------------------------------------------------------------------------------- /docs/src/examples/components/Chat/Performance/ChatMinimal.perf.tsx: -------------------------------------------------------------------------------- 1 | import { Chat } from '@fluentui/react' 2 | import * as React from 'react' 3 | 4 | const ChatMinimalPerf = () => 5 | 6 | ChatMinimalPerf.iterations = 5000 7 | ChatMinimalPerf.filename = 'ChatMinimal.perf.tsx' 8 | 9 | export default ChatMinimalPerf 10 | -------------------------------------------------------------------------------- /docs/src/examples/components/Chat/Types/ChatMessageExampleBadge.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | const config: ScreenerTestsConfig = { themes: ['teams', 'teamsDark', 'teamsHighContrast'] } 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /docs/src/examples/components/Checkbox/Performance/CheckboxMinimal.perf.tsx: -------------------------------------------------------------------------------- 1 | import { Checkbox } from '@fluentui/react' 2 | import * as React from 'react' 3 | 4 | const CheckboxMinimalPerf = () => 5 | 6 | CheckboxMinimalPerf.iterations = 5000 7 | CheckboxMinimalPerf.filename = 'CheckboxMinimal.perf.tsx' 8 | 9 | export default CheckboxMinimalPerf 10 | -------------------------------------------------------------------------------- /docs/src/examples/components/Checkbox/Types/CheckboxExample.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | import getScreenerSteps from '../commonScreenerSteps' 2 | 3 | export const config: ScreenerTestsConfig = { 4 | steps: getScreenerSteps(), 5 | } 6 | 7 | export default config 8 | -------------------------------------------------------------------------------- /docs/src/examples/components/Checkbox/Types/CheckboxExampleToggle.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | import getScreenerSteps from '../commonScreenerSteps' 2 | 3 | export const config: ScreenerTestsConfig = { 4 | steps: getScreenerSteps(), 5 | } 6 | 7 | export default config 8 | -------------------------------------------------------------------------------- /docs/src/examples/components/Dialog/Content/DialogExampleContent.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | import getScreenerSteps from '../commonScreenerSteps' 2 | 3 | const config: ScreenerTestsConfig = { 4 | themes: ['teams', 'teamsDark', 'teamsHighContrast'], 5 | steps: getScreenerSteps(), 6 | } 7 | 8 | export default config 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Dialog/Content/DialogExampleFooter.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | import getScreenerSteps from '../commonScreenerSteps' 2 | 3 | const config: ScreenerTestsConfig = { 4 | steps: getScreenerSteps(), 5 | } 6 | 7 | export default config 8 | -------------------------------------------------------------------------------- /docs/src/examples/components/Dialog/Content/DialogExampleFullWidth.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | import getScreenerSteps from '../commonScreenerSteps' 2 | 3 | const config: ScreenerTestsConfig = { 4 | themes: ['teams'], 5 | steps: getScreenerSteps(), 6 | } 7 | 8 | export default config 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Dialog/Content/DialogExampleHeaderAction.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | import getScreenerSteps from '../commonScreenerSteps' 2 | 3 | const config: ScreenerTestsConfig = { 4 | themes: ['teams', 'teamsDark', 'teamsHighContrast'], 5 | steps: getScreenerSteps(), 6 | } 7 | 8 | export default config 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Dialog/Performance/DialogMinimal.perf.tsx: -------------------------------------------------------------------------------- 1 | import { Dialog } from '@fluentui/react' 2 | import * as React from 'react' 3 | 4 | const DialogMinimalPerf = () => 5 | 6 | DialogMinimalPerf.iterations = 5000 7 | DialogMinimalPerf.filename = 'DialogMinimal.perf.tsx' 8 | 9 | export default DialogMinimalPerf 10 | -------------------------------------------------------------------------------- /docs/src/examples/components/Dialog/Rtl/DialogExample.rtl.steps.ts: -------------------------------------------------------------------------------- 1 | import getScreenerSteps from '../commonScreenerSteps' 2 | 3 | const config: ScreenerTestsConfig = { 4 | steps: getScreenerSteps(), 5 | } 6 | 7 | export default config 8 | -------------------------------------------------------------------------------- /docs/src/examples/components/Dialog/Variations/DialogExampleBackdrop.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | import getScreenerSteps from '../commonScreenerSteps' 2 | 3 | const config: ScreenerTestsConfig = { 4 | themes: ['teams', 'teamsDark', 'teamsHighContrast'], 5 | steps: getScreenerSteps(), 6 | } 7 | 8 | export default config 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Dialog/Variations/DialogExampleScroll.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | import getScreenerSteps from '../commonScreenerSteps' 2 | 3 | const config: ScreenerTestsConfig = { 4 | themes: ['teams', 'teamsDark', 'teamsHighContrast'], 5 | steps: getScreenerSteps(), 6 | } 7 | 8 | export default config 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Dialog/commonScreenerSteps.ts: -------------------------------------------------------------------------------- 1 | import { Button } from '@fluentui/react' 2 | 3 | const button = `.${Button.className}` 4 | 5 | const getScreenerSteps = (): ScreenerSteps => [ 6 | builder => builder.click(button).snapshot('Clicks the trigger button'), 7 | ] 8 | 9 | export default getScreenerSteps 10 | -------------------------------------------------------------------------------- /docs/src/examples/components/Divider/Performance/DividerMinimal.perf.tsx: -------------------------------------------------------------------------------- 1 | import { Divider } from '@fluentui/react' 2 | import * as React from 'react' 3 | 4 | const DividerMinimalPerf = () => 5 | 6 | DividerMinimalPerf.iterations = 5000 7 | DividerMinimalPerf.filename = 'DividerMinimal.perf.tsx' 8 | 9 | export default DividerMinimalPerf 10 | -------------------------------------------------------------------------------- /docs/src/examples/components/Divider/Rtl/DividerExample.rtl.steps.ts: -------------------------------------------------------------------------------- 1 | const config: ScreenerTestsConfig = { themes: ['teams', 'teamsDark', 'teamsHighContrast'] } 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /docs/src/examples/components/Divider/Rtl/DividerExample.rtl.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Divider } from '@fluentui/react' 3 | 4 | const DividerExampleRtl = () => 5 | 6 | export default DividerExampleRtl 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Divider/Types/DividerExample.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | const config: ScreenerTestsConfig = { themes: ['teams', 'teamsDark', 'teamsHighContrast'] } 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /docs/src/examples/components/Divider/Types/DividerExample.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Divider } from '@fluentui/react' 3 | 4 | const DividerExampleShorthand = () => 5 | 6 | export default DividerExampleShorthand 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Divider/Types/DividerExampleContent.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | const config: ScreenerTestsConfig = { themes: ['teams', 'teamsDark', 'teamsHighContrast'] } 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /docs/src/examples/components/Divider/Types/DividerExampleContent.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Divider } from '@fluentui/react' 3 | 4 | const DividerExampleContent = () => 5 | 6 | export default DividerExampleContent 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Divider/Types/DividerExampleContent.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Divider } from '@fluentui/react' 3 | 4 | const DividerExampleContent = () => Some text 5 | 6 | export default DividerExampleContent 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Divider/Variations/DividerExampleColor.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | const config: ScreenerTestsConfig = { themes: ['teams', 'teamsDark', 'teamsHighContrast'] } 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /docs/src/examples/components/Divider/Variations/DividerExampleFitted.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | const config: ScreenerTestsConfig = { themes: ['teams', 'teamsDark', 'teamsHighContrast'] } 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /docs/src/examples/components/Divider/Variations/DividerExampleImportant.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | const config: ScreenerTestsConfig = { themes: ['teams', 'teamsDark', 'teamsHighContrast'] } 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /docs/src/examples/components/Divider/Variations/DividerExampleImportant.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Divider } from '@fluentui/react' 3 | 4 | const DividerExampleImportantShorthand = () => 5 | 6 | export default DividerExampleImportantShorthand 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Divider/Variations/DividerExampleImportant.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Divider } from '@fluentui/react' 3 | 4 | const DividerExampleImportant = () => This is important 5 | 6 | export default DividerExampleImportant 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Divider/Variations/DividerExampleSize.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | const config: ScreenerTestsConfig = { themes: ['teams', 'teamsDark', 'teamsHighContrast'] } 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /docs/src/examples/components/Dropdown/Performance/DropdownMinimal.perf.tsx: -------------------------------------------------------------------------------- 1 | import { Dropdown } from '@fluentui/react' 2 | import * as React from 'react' 3 | 4 | const DropdownMinimalPerf = () => 5 | 6 | DropdownMinimalPerf.iterations = 1000 7 | DropdownMinimalPerf.filename = 'DropdownMinimal.perf.tsx' 8 | 9 | export default DropdownMinimalPerf 10 | -------------------------------------------------------------------------------- /docs/src/examples/components/Dropdown/Rtl/DropdownExample.rtl.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Dropdown } from '@fluentui/react' 3 | 4 | const inputItems = ['ا يجلبه إلينا الأس', 'الإنسان ', 'الحكيم عليه', 'أن يمسك'] 5 | 6 | const DropdownExampleRtl = () => 7 | 8 | export default DropdownExampleRtl 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Embed/Performance/EmbedMinimal.perf.tsx: -------------------------------------------------------------------------------- 1 | import { Embed } from '@fluentui/react' 2 | import * as React from 'react' 3 | 4 | const EmbedMinimalPerf = () => 5 | 6 | EmbedMinimalPerf.iterations = 5000 7 | EmbedMinimalPerf.filename = 'EmbedMinimal.perf.tsx' 8 | 9 | export default EmbedMinimalPerf 10 | -------------------------------------------------------------------------------- /docs/src/examples/components/Embed/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | 3 | import Slots from './Slots' 4 | import Usage from './Usage' 5 | 6 | const EmbedExamples = () => ( 7 | <> 8 | 9 | 10 | 11 | ) 12 | 13 | export default EmbedExamples 14 | -------------------------------------------------------------------------------- /docs/src/examples/components/Flex/Performance/FlexMinimal.perf.tsx: -------------------------------------------------------------------------------- 1 | import { Flex } from '@fluentui/react' 2 | import * as React from 'react' 3 | 4 | const FlexMinimalPerf = () => 5 | 6 | FlexMinimalPerf.iterations = 5000 7 | FlexMinimalPerf.filename = 'FlexMinimal.perf.tsx' 8 | 9 | export default FlexMinimalPerf 10 | -------------------------------------------------------------------------------- /docs/src/examples/components/Flex/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | 3 | import Recipes from './Recipes.mdx' 4 | import Rtl from './Rtl' 5 | import Types from './Types' 6 | 7 | const FlexExamples = () => ( 8 | <> 9 | 10 | 11 | 12 | 13 | ) 14 | 15 | export default FlexExamples 16 | -------------------------------------------------------------------------------- /docs/src/examples/components/Form/Performance/FormMinimal.perf.tsx: -------------------------------------------------------------------------------- 1 | import { Form } from '@fluentui/react' 2 | import * as React from 'react' 3 | 4 | const FormMinimalPerf = () =>
5 | 6 | FormMinimalPerf.iterations = 5000 7 | FormMinimalPerf.filename = 'FormMinimal.perf.tsx' 8 | 9 | export default FormMinimalPerf 10 | -------------------------------------------------------------------------------- /docs/src/examples/components/Form/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | 3 | import Rtl from './Rtl' 4 | import Types from './Types' 5 | import Usage from './Usage' 6 | 7 | const FormExamples = () => ( 8 |
9 | 10 | 11 | 12 |
13 | ) 14 | 15 | export default FormExamples 16 | -------------------------------------------------------------------------------- /docs/src/examples/components/Grid/Performance/GridMinimal.perf.tsx: -------------------------------------------------------------------------------- 1 | import { Grid } from '@fluentui/react' 2 | import * as React from 'react' 3 | 4 | const GridMinimalPerf = () => 5 | 6 | GridMinimalPerf.iterations = 5000 7 | GridMinimalPerf.filename = 'GridMinimal.perf.tsx' 8 | 9 | export default GridMinimalPerf 10 | -------------------------------------------------------------------------------- /docs/src/examples/components/Header/Performance/HeaderMinimal.perf.tsx: -------------------------------------------------------------------------------- 1 | import { Header } from '@fluentui/react' 2 | import * as React from 'react' 3 | 4 | const HeaderMinimalPerf = () =>
5 | 6 | HeaderMinimalPerf.iterations = 5000 7 | HeaderMinimalPerf.filename = 'HeaderMinimal.perf.tsx' 8 | 9 | export default HeaderMinimalPerf 10 | -------------------------------------------------------------------------------- /docs/src/examples/components/Header/Variations/HeaderExample.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Header } from '@fluentui/react' 3 | 4 | const HeaderExampleAlign = () =>
5 | 6 | export default HeaderExampleAlign 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Header/Variations/HeaderExampleAlign.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Header } from '@fluentui/react' 3 | 4 | const HeaderExampleAlign = () => ( 5 |
6 | Header aligned to end 7 |
8 | ) 9 | 10 | export default HeaderExampleAlign 11 | -------------------------------------------------------------------------------- /docs/src/examples/components/HierarchicalTree/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import Types from './Types' 3 | 4 | const HierarchicalTreeExamples = () => ( 5 |
6 | 7 |
8 | ) 9 | 10 | export default HierarchicalTreeExamples 11 | -------------------------------------------------------------------------------- /docs/src/examples/components/Icon/Performance/IconMinimal.perf.tsx: -------------------------------------------------------------------------------- 1 | import { Icon } from '@fluentui/react' 2 | import * as React from 'react' 3 | 4 | const IconMinimalPerf = () => 5 | 6 | IconMinimalPerf.iterations = 5000 7 | IconMinimalPerf.filename = 'IconMinimal.perf.tsx' 8 | 9 | export default IconMinimalPerf 10 | -------------------------------------------------------------------------------- /docs/src/examples/components/Icon/States/IconExampleDisabled.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | const config: ScreenerTestsConfig = { themes: ['teams', 'teamsDark', 'teamsHighContrast'] } 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /docs/src/examples/components/Icon/States/IconExampleDisabled.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Icon } from '@fluentui/react' 3 | 4 | const IconExampleDisabled = () => ( 5 |
6 | 7 |
8 | ) 9 | 10 | export default IconExampleDisabled 11 | -------------------------------------------------------------------------------- /docs/src/examples/components/Icon/Types/IconExample.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | const config: ScreenerTestsConfig = { themes: ['teams', 'teamsDark', 'teamsHighContrast'] } 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /docs/src/examples/components/Icon/Usage/IconSetExample.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | const config: ScreenerTestsConfig = { themes: ['teams', 'teamsDark', 'teamsHighContrast'] } 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /docs/src/examples/components/Icon/Variations/IconExampleBordered.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | const config: ScreenerTestsConfig = { themes: ['teams', 'teamsDark', 'teamsHighContrast'] } 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /docs/src/examples/components/Icon/Variations/IconExampleCircular.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | const config: ScreenerTestsConfig = { themes: ['teams', 'teamsDark', 'teamsHighContrast'] } 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /docs/src/examples/components/Icon/Variations/IconExampleColor.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | const config: ScreenerTestsConfig = { themes: ['teams', 'teamsDark', 'teamsHighContrast'] } 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /docs/src/examples/components/Icon/Variations/IconExampleSize.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | const config: ScreenerTestsConfig = { themes: ['teams', 'teamsDark', 'teamsHighContrast'] } 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /docs/src/examples/components/Icon/Variations/IconExampleSpace.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | const config: ScreenerTestsConfig = { themes: ['teams', 'teamsDark', 'teamsHighContrast'] } 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /docs/src/examples/components/Image/Performance/ImageMinimal.perf.tsx: -------------------------------------------------------------------------------- 1 | import { Image } from '@fluentui/react' 2 | import * as React from 'react' 3 | 4 | const ImageMinimalPerf = () => 5 | 6 | ImageMinimalPerf.iterations = 5000 7 | ImageMinimalPerf.filename = 'ImageMinimal.perf.tsx' 8 | 9 | export default ImageMinimalPerf 10 | -------------------------------------------------------------------------------- /docs/src/examples/components/Image/Rtl/ImageExample.rtl.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Image } from '@fluentui/react' 3 | 4 | const ImageExampleRtl = () => 5 | 6 | export default ImageExampleRtl 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Image/Types/ImageExample.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Image } from '@fluentui/react' 3 | 4 | const ImageExample = () => 5 | 6 | export default ImageExample 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Image/Variations/ImageExampleCircular.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Image } from '@fluentui/react' 3 | 4 | const ImageExampleCircular = () => 5 | 6 | export default ImageExampleCircular 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Image/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | 3 | import Rtl from './Rtl' 4 | import Types from './Types' 5 | import Variations from './Variations' 6 | 7 | const ImageExamples = () => ( 8 | <> 9 | 10 | 11 | 12 | 13 | ) 14 | 15 | export default ImageExamples 16 | -------------------------------------------------------------------------------- /docs/src/examples/components/Input/Performance/InputMinimal.perf.tsx: -------------------------------------------------------------------------------- 1 | import { Input } from '@fluentui/react' 2 | import * as React from 'react' 3 | 4 | const InputMinimalPerf = () => 5 | 6 | InputMinimalPerf.iterations = 1000 7 | InputMinimalPerf.filename = 'InputMinimal.perf.tsx' 8 | 9 | export default InputMinimalPerf 10 | -------------------------------------------------------------------------------- /docs/src/examples/components/Input/Rtl/InputExample.rtl.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Input } from '@fluentui/react' 3 | 4 | const InputExampleRtl = () => 5 | 6 | export default InputExampleRtl 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Input/Types/InputExample.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | import { Input } from '@fluentui/react' 2 | 3 | const config: ScreenerTestsConfig = { 4 | steps: [builder => builder.focus(`.${Input.className} input`).snapshot('Can be focused')], 5 | themes: ['teams', 'teamsDark', 'teamsHighContrast'], 6 | } 7 | 8 | export default config 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Input/Types/InputExample.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Input } from '@fluentui/react' 3 | 4 | const InputExample = () => 5 | 6 | export default InputExample 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Input/Types/InputInvertedExample.shorthand.steps.ts: -------------------------------------------------------------------------------- 1 | const config: ScreenerTestsConfig = { themes: ['teams', 'teamsDark', 'teamsHighContrast'] } 2 | 3 | export default config 4 | -------------------------------------------------------------------------------- /docs/src/examples/components/Input/Variations/InputExampleClearable.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Input } from '@fluentui/react' 3 | 4 | const InputExampleClearable = () => 5 | 6 | export default InputExampleClearable 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Input/Variations/InputExampleFluid.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Input } from '@fluentui/react' 3 | 4 | const InputExampleFluid = () => 5 | 6 | export default InputExampleFluid 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Input/Variations/InputExampleIcon.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Input } from '@fluentui/react' 3 | 4 | const InputExampleIcon = () => 5 | 6 | export default InputExampleIcon 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/Input/Variations/InputExampleIconClearable.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Input } from '@fluentui/react' 3 | 4 | const InputExampleIconClearableShorthand = () => ( 5 | 6 | ) 7 | 8 | export default InputExampleIconClearableShorthand 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Input/Variations/InputExampleIconPosition.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Input } from '@fluentui/react' 3 | 4 | const InputExampleIconPosition = () => ( 5 | 6 | ) 7 | 8 | export default InputExampleIconPosition 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Input/Variations/InputExampleInline.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Input } from '@fluentui/react' 3 | 4 | const InputExampleInline = () => ( 5 |
6 | Some text inline with the and more text. 7 |
8 | ) 9 | 10 | export default InputExampleInline 11 | -------------------------------------------------------------------------------- /docs/src/examples/components/Input/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | 3 | import Rtl from './Rtl' 4 | import Types from './Types' 5 | import Variations from './Variations' 6 | 7 | const InputExamples = () => ( 8 |
9 | 10 | 11 | 12 |
13 | ) 14 | 15 | export default InputExamples 16 | -------------------------------------------------------------------------------- /docs/src/examples/components/ItemLayout/Content/ItemLayoutExampleContent.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { ItemLayout } from '@fluentui/react' 3 | 4 | const ItemLayoutExampleContent = () => ( 5 | 6 | ) 7 | 8 | export default ItemLayoutExampleContent 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/ItemLayout/Content/ItemLayoutExampleHeader.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { ItemLayout } from '@fluentui/react' 3 | 4 | const ItemLayoutExampleHeader = () => 5 | 6 | export default ItemLayoutExampleHeader 7 | -------------------------------------------------------------------------------- /docs/src/examples/components/ItemLayout/Content/ItemLayoutExampleHeaderMedia.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { ItemLayout } from '@fluentui/react' 3 | 4 | const ItemLayoutExampleHeaderMediaShorthand = () => ( 5 | 6 | ) 7 | 8 | export default ItemLayoutExampleHeaderMediaShorthand 9 | -------------------------------------------------------------------------------- /docs/src/examples/components/Label/Content/LabelExample.shorthand.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react' 2 | import { Label } from '@fluentui/react' 3 | 4 | const LabelExampleShorthand = () =>