Skip to content

Commit 4f76b07

Browse files
Added Calendar,Spinner,Shimmer,ProgressIndicator
1 parent 86925a6 commit 4f76b07

File tree

124 files changed

+105162
-91
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

124 files changed

+105162
-91
lines changed

.github/workflows/create-release.yml

Lines changed: 101 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -3,111 +3,121 @@ name: Create Release
33
on:
44
workflow_dispatch:
55

6-
concurrency:
6+
concurrency:
77
group: ${{ github.workflow }}-${{ github.ref }}
88
cancel-in-progress: true
99

1010
jobs:
1111
build:
12-
1312
runs-on: windows-latest
1413
env:
15-
MajorVersion: 1
14+
MajorVersion: 0
1615
MinorVersion: 0
1716
BuildVersion: ${{ github.run_number }}
1817

1918
steps:
20-
- uses: actions/checkout@v2
21-
- uses: actions/setup-node@v1
22-
with:
23-
node-version: '12.x'
19+
- uses: actions/checkout@v2
20+
- uses: actions/setup-node@v1
21+
with:
22+
node-version: "12.x"
23+
24+
- run: npm ci
25+
working-directory: "./build-scripts"
2426

25-
- run: npm ci
26-
working-directory: "./build-scripts"
27-
28-
- name: Version Stamp Code Components
29-
uses: actions/github-script@v2
30-
with:
31-
script: |
32-
const version = require(`${process.env.GITHUB_WORKSPACE}/build-scripts/version-stamp.js`)
33-
version({
34-
majorVersion: ${{ env.MajorVersion }},
35-
minorVersion: ${{ env.MinorVersion }},
36-
buildVersion: ${{ env.BuildVersion }},
37-
manifestsPaths: [
38-
`${process.env.GITHUB_WORKSPACE}/AutoWidthLabel/AutoWidthLabel`,
39-
`${process.env.GITHUB_WORKSPACE}/Breadcrumb/Breadcrumb`,
40-
`${process.env.GITHUB_WORKSPACE}/CommandBar/CommandBar`,
41-
`${process.env.GITHUB_WORKSPACE}/ContextMenu/ContextMenu`,
42-
`${process.env.GITHUB_WORKSPACE}/DetailsList/DetailsList`,
43-
`${process.env.GITHUB_WORKSPACE}/Elevation/Elevation`,
44-
`${process.env.GITHUB_WORKSPACE}/Icon/Icon`,
45-
`${process.env.GITHUB_WORKSPACE}/KeyboardShortcuts/KeyboardShortcuts`,
46-
`${process.env.GITHUB_WORKSPACE}/Nav/Nav`,
47-
`${process.env.GITHUB_WORKSPACE}/Picker/Picker`,
48-
`${process.env.GITHUB_WORKSPACE}/Pivot/Pivot`,
49-
`${process.env.GITHUB_WORKSPACE}/ResizableTextarea/ResizableTextarea`,
50-
`${process.env.GITHUB_WORKSPACE}/TagList/TagList`,
51-
`${process.env.GITHUB_WORKSPACE}/ThemeGenerator/ThemeGenerator`
52-
],
53-
solutionPaths: `${process.env.GITHUB_WORKSPACE}/Solution/src/Other/Solution.xml`}
54-
)
27+
- name: Version Stamp Code Components
28+
uses: actions/github-script@v2
29+
with:
30+
script: |
31+
const version = require(`${process.env.GITHUB_WORKSPACE}/build-scripts/version-stamp.js`)
32+
version({
33+
majorVersion: ${{ env.MajorVersion }},
34+
minorVersion: ${{ env.MinorVersion }},
35+
buildVersion: ${{ env.BuildVersion }},
36+
manifestsPaths: [
37+
`${process.env.GITHUB_WORKSPACE}/AutoWidthLabel/AutoWidthLabel`,
38+
`${process.env.GITHUB_WORKSPACE}/Breadcrumb/Breadcrumb`,
39+
`${process.env.GITHUB_WORKSPACE}/Calendar/Calendar`,
40+
`${process.env.GITHUB_WORKSPACE}/CommandBar/CommandBar`,
41+
`${process.env.GITHUB_WORKSPACE}/ContextMenu/ContextMenu`,
42+
`${process.env.GITHUB_WORKSPACE}/DetailsList/DetailsList`,
43+
`${process.env.GITHUB_WORKSPACE}/Elevation/Elevation`,
44+
`${process.env.GITHUB_WORKSPACE}/Icon/Icon`,
45+
`${process.env.GITHUB_WORKSPACE}/KeyboardShortcuts/KeyboardShortcuts`,
46+
`${process.env.GITHUB_WORKSPACE}/Nav/Nav`,
47+
`${process.env.GITHUB_WORKSPACE}/Picker/Picker`,
48+
`${process.env.GITHUB_WORKSPACE}/Pivot/Pivot`,
49+
`${process.env.GITHUB_WORKSPACE}/ProgressIndicator/ProgressIndicator`,
50+
`${process.env.GITHUB_WORKSPACE}/ResizableTextarea/ResizableTextarea`,
51+
`${process.env.GITHUB_WORKSPACE}/Shimmer/Shimmer`,
52+
`${process.env.GITHUB_WORKSPACE}/Spinner/Spinner`,
53+
`${process.env.GITHUB_WORKSPACE}/TagList/TagList`,
54+
`${process.env.GITHUB_WORKSPACE}/ThemeGenerator/ThemeGenerator`
55+
],
56+
solutionPaths: `${process.env.GITHUB_WORKSPACE}/Solution/src/Other/Solution.xml`}
57+
)
5558
56-
- run: npm ci
57-
working-directory: "./AutoWidthLabel"
58-
- run: npm ci
59-
working-directory: "./Breadcrumb"
60-
- run: npm ci
61-
working-directory: "./CommandBar"
62-
- run: npm ci
63-
working-directory: "./ContextMenu"
64-
- run: npm ci
65-
working-directory: "./DetailsList"
66-
- run: npm ci
67-
working-directory: "./Elevation"
68-
- run: npm ci
69-
working-directory: "./Icon"
70-
- run: npm ci
71-
working-directory: "./KeyboardShortcuts"
72-
- run: npm ci
73-
working-directory: "./Nav"
74-
- run: npm ci
75-
working-directory: "./Picker"
76-
- run: npm ci
77-
working-directory: "./Pivot"
78-
- run: npm ci
79-
working-directory: "./ResizableTextarea"
80-
- run: npm ci
81-
working-directory: "./TagList"
82-
- run: npm ci
83-
working-directory: "./ThemeGenerator"
59+
- run: npm ci
60+
working-directory: "./AutoWidthLabel"
61+
- run: npm ci
62+
working-directory: "./Breadcrumb"
63+
- run: npm ci
64+
working-directory: "./Calendar"
65+
- run: npm ci
66+
working-directory: "./CommandBar"
67+
- run: npm ci
68+
working-directory: "./ContextMenu"
69+
- run: npm ci
70+
working-directory: "./DetailsList"
71+
- run: npm ci
72+
working-directory: "./Elevation"
73+
- run: npm ci
74+
working-directory: "./Icon"
75+
- run: npm ci
76+
working-directory: "./KeyboardShortcuts"
77+
- run: npm ci
78+
working-directory: "./Nav"
79+
- run: npm ci
80+
working-directory: "./Picker"
81+
- run: npm ci
82+
working-directory: "./Pivot"
83+
- run: npm ci
84+
working-directory: "./ProgressIndicator"
85+
- run: npm ci
86+
working-directory: "./ResizableTextarea"
87+
- run: npm ci
88+
working-directory: "./Shimmer"
89+
- run: npm ci
90+
working-directory: "./Spinner"
91+
- run: npm ci
92+
working-directory: "./TagList"
93+
- run: npm ci
94+
working-directory: "./ThemeGenerator"
8495

85-
- uses: actions/setup-dotnet@v1
86-
with:
87-
dotnet-version: '5.x'
96+
- uses: actions/setup-dotnet@v1
97+
with:
98+
dotnet-version: "5.x"
8899

89-
- run: dotnet build -c release
90-
working-directory: "./Solution"
91-
92-
- name: Create Release
93-
id: create_release
94-
uses: actions/create-release@v1
95-
env:
96-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
97-
with:
98-
tag_name: v${{ env.MajorVersion }}.${{ env.MinorVersion }}.${{ env.BuildVersion }}
99-
release_name: v${{ env.MajorVersion }}.${{ env.MinorVersion }}.${{ env.BuildVersion }}
100-
draft: true
101-
prerelease: true
100+
- run: dotnet build -c release
101+
working-directory: "./Solution"
102102

103-
- name: Upload Release Asset
104-
id: upload-release-asset
105-
uses: actions/upload-release-asset@v1
106-
env:
107-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
108-
with:
109-
upload_url: ${{ steps.create_release.outputs.upload_url }}
110-
asset_path: Solution/bin/Release/Solution.zip
111-
asset_name: PowerCATCodeComponents_unmanaged_${{ env.MajorVersion }}_${{ env.MinorVersion }}_0_${{ env.BuildVersion }}.zip
112-
asset_content_type: application/zip
103+
- name: Create Release
104+
id: create_release
105+
uses: actions/create-release@v1
106+
env:
107+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
108+
with:
109+
tag_name: v${{ env.MajorVersion }}.${{ env.MinorVersion }}.${{ env.BuildVersion }}
110+
release_name: v${{ env.MajorVersion }}.${{ env.MinorVersion }}.${{ env.BuildVersion }}
111+
draft: true
112+
prerelease: true
113113

114+
- name: Upload Release Asset
115+
id: upload-release-asset
116+
uses: actions/upload-release-asset@v1
117+
env:
118+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
119+
with:
120+
upload_url: ${{ steps.create_release.outputs.upload_url }}
121+
asset_path: Solution/bin/Release/Solution.zip
122+
asset_name: PowerCATCodeComponents_unmanaged_${{ env.MajorVersion }}_${{ env.MinorVersion }}_0_${{ env.BuildVersion }}.zip
123+
asset_content_type: application/zip

.github/workflows/pr_validate_all.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ jobs:
1414
component-directory:
1515
- "./AutoWidthLabel"
1616
- "./Breadcrumb"
17+
- "./Calendar"
1718
- "./CommandBar"
1819
- "./ContextMenu"
1920
- "./DetailsList"
@@ -23,7 +24,10 @@ jobs:
2324
- "./Nav"
2425
- "./Picker"
2526
- "./Pivot"
27+
- "./ProgressIndicator"
2628
- "./ResizableTextarea"
29+
- "./Spinner"
30+
- "./Shimmer"
2731
- "./TagList"
2832

2933

Calendar/.eslintrc.json

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
{
2+
"env": {
3+
"browser": true,
4+
"es2021": true
5+
},
6+
"extends": [
7+
"eslint:recommended",
8+
"plugin:react/recommended",
9+
"plugin:@typescript-eslint/recommended",
10+
"plugin:prettier/recommended",
11+
"prettier",
12+
"plugin:sonarjs/recommended"
13+
],
14+
"parser": "@typescript-eslint/parser",
15+
"parserOptions": {
16+
"ecmaFeatures": {
17+
"jsx": true
18+
},
19+
"ecmaVersion": 12,
20+
"sourceType": "module"
21+
},
22+
"plugins": [
23+
"react",
24+
"react-hooks",
25+
"@typescript-eslint",
26+
"prettier",
27+
"sonarjs"
28+
],
29+
"settings": {
30+
"react": {
31+
"pragma": "React",
32+
"version": "detect"
33+
}
34+
},
35+
"ignorePatterns": ["**/generated/*.ts"],
36+
"rules": {
37+
"eqeqeq": [2, "smart"],
38+
"react-hooks/exhaustive-deps": "warn",
39+
"prettier/prettier": "error",
40+
"arrow-body-style": "off",
41+
"prefer-arrow-callback": "off",
42+
"linebreak-style": [
43+
"error",
44+
"windows"
45+
],
46+
"quotes": [
47+
"error",
48+
"single"
49+
],
50+
"semi": [
51+
"error",
52+
"always"
53+
]
54+
}
55+
}

Calendar/.gitignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
/node_modules
5+
6+
# generated directory
7+
**/generated
8+
9+
# output directory
10+
/out
11+
12+
# msbuild output directories
13+
/bin
14+
/obj

Calendar/.prettierrc.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"semi": true,
3+
"trailingComma": "all",
4+
"singleQuote": true,
5+
"printWidth": 120,
6+
"tabWidth": 4,
7+
"endOfLine":"auto"
8+
}

Calendar/Calendar.pcfproj

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<PropertyGroup>
4+
<PowerAppsTargetsPath>$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\PowerApps</PowerAppsTargetsPath>
5+
</PropertyGroup>
6+
7+
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" />
8+
<Import Project="$(PowerAppsTargetsPath)\Microsoft.PowerApps.VisualStudio.Pcf.props" Condition="Exists('$(PowerAppsTargetsPath)\Microsoft.PowerApps.VisualStudio.Pcf.props')" />
9+
10+
<PropertyGroup>
11+
<Name>Calendar</Name>
12+
<ProjectGuid>51daab70-e2e5-43d9-bcce-b1336d20a79d</ProjectGuid>
13+
<OutputPath>$(MSBuildThisFileDirectory)out\controls</OutputPath>
14+
<PcfBuildMode>production</PcfBuildMode>
15+
</PropertyGroup>
16+
17+
<PropertyGroup>
18+
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
19+
<!--Remove TargetFramework when this is available in 16.1-->
20+
<TargetFramework>net462</TargetFramework>
21+
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
22+
</PropertyGroup>
23+
24+
<ItemGroup>
25+
<PackageReference Include="Microsoft.PowerApps.MSBuild.Pcf" Version="1.*" />
26+
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" PrivateAssets="All" />
27+
</ItemGroup>
28+
29+
<ItemGroup>
30+
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\.gitignore" />
31+
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\bin\**" />
32+
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\obj\**" />
33+
<ExcludeDirectories Include="$(OutputPath)\**" />
34+
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\*.pcfproj" />
35+
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\*.pcfproj.user" />
36+
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\*.sln" />
37+
<ExcludeDirectories Include="$(MSBuildThisFileDirectory)\node_modules\**" />
38+
</ItemGroup>
39+
40+
<ItemGroup>
41+
<None Include="$(MSBuildThisFileDirectory)\**" Exclude="@(ExcludeDirectories)" />
42+
</ItemGroup>
43+
44+
<Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" />
45+
<Import Project="$(PowerAppsTargetsPath)\Microsoft.PowerApps.VisualStudio.Pcf.targets" Condition="Exists('$(PowerAppsTargetsPath)\Microsoft.PowerApps.VisualStudio.Pcf.targets')" />
46+
47+
</Project>

Calendar/Calendar/ContextExtended.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// This is undocumented - but needed since canvas apps sets non-zero tabindexes
2+
// so we must use the tabindex provided by the context for accessibility purposes
3+
export interface ContextEx {
4+
accessibility: {
5+
assignedTabIndex: number;
6+
assignedTooltip?: string;
7+
};
8+
}

0 commit comments

Comments
 (0)