├── README.md ├── Ch7 └── MyBlog │ ├── MyBlogWebAssembly │ ├── MyBlog.db │ ├── Client │ │ ├── wwwroot │ │ │ ├── favicon.ico │ │ │ └── css │ │ │ │ └── open-iconic │ │ │ │ └── font │ │ │ │ └── fonts │ │ │ │ ├── open-iconic.eot │ │ │ │ ├── open-iconic.otf │ │ │ │ ├── open-iconic.ttf │ │ │ │ └── open-iconic.woff │ │ └── Pages │ │ │ └── Index.razor │ ├── Shared │ │ └── MyBlogWebAssembly.Shared.csproj │ └── Server │ │ ├── appsettings.Development.json │ │ └── appsettings.json │ ├── MyBlog.db │ ├── MyBlogServerSide │ ├── MyBlog.db │ ├── wwwroot │ │ ├── favicon.ico │ │ └── css │ │ │ └── open-iconic │ │ │ └── font │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ ├── Pages │ │ ├── Alert │ │ │ ├── Alert1.razor │ │ │ └── Alert2.razor │ │ ├── Parameters.razor │ │ ├── Events │ │ │ └── Onclick.razor │ │ ├── ComponentWithCascadingParameter.razor │ │ ├── ComponentWithCascadingValue.razor │ │ ├── ParentCounter.razor │ │ └── SetFocus.razor │ ├── appsettings.json │ └── appsettings.Development.json │ └── MyBlog.Data │ └── Interfaces │ └── IMyBlogItem.cs ├── Ch8 └── MyBlog │ ├── MyBlogWebAssembly │ ├── MyBlog.db │ ├── Client │ │ ├── wwwroot │ │ │ ├── favicon.ico │ │ │ └── css │ │ │ │ └── open-iconic │ │ │ │ └── font │ │ │ │ └── fonts │ │ │ │ ├── open-iconic.eot │ │ │ │ ├── open-iconic.otf │ │ │ │ ├── open-iconic.ttf │ │ │ │ └── open-iconic.woff │ │ └── Pages │ │ │ └── Authentication.razor │ └── Shared │ │ └── MyBlogWebAssembly.Shared.csproj │ ├── MyBlog.db │ ├── MyBlogServerSide │ ├── MyBlog.db │ ├── wwwroot │ │ ├── favicon.ico │ │ └── css │ │ │ └── open-iconic │ │ │ └── font │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ ├── Pages │ │ ├── Alert │ │ │ ├── Alert1.razor │ │ │ └── Alert2.razor │ │ ├── Parameters.razor │ │ ├── Events │ │ │ └── Onclick.razor │ │ ├── ComponentWithCascadingParameter.razor │ │ ├── ComponentWithCascadingValue.razor │ │ ├── ParentCounter.razor │ │ └── SetFocus.razor │ └── appsettings.Development.json │ └── MyBlog.Data │ ├── Interfaces │ └── IMyBlogItem.cs │ └── Models │ └── AppUser.cs ├── Ch9 └── MyBlog │ ├── MyBlogWebAssembly │ ├── MyBlog.db │ ├── Client │ │ ├── wwwroot │ │ │ ├── favicon.ico │ │ │ └── css │ │ │ │ └── open-iconic │ │ │ │ └── font │ │ │ │ └── fonts │ │ │ │ ├── open-iconic.eot │ │ │ │ ├── open-iconic.otf │ │ │ │ ├── open-iconic.ttf │ │ │ │ └── open-iconic.woff │ │ ├── Test │ │ │ └── Test │ │ │ │ └── Interfaces │ │ │ │ └── IMyBlogItem.cs │ │ └── Pages │ │ │ └── Authentication.razor │ └── Shared │ │ └── MyBlogWebAssembly.Shared.csproj │ ├── MyBlog.db │ ├── MyBlog.Shared │ ├── Bootstrap │ │ └── scss │ │ │ ├── helpers │ │ │ ├── _clearfix.scss │ │ │ ├── _text-truncation.scss │ │ │ └── _visually-hidden.scss │ │ │ ├── mixins │ │ │ ├── _clearfix.scss │ │ │ ├── _lists.scss │ │ │ ├── _text-truncate.scss │ │ │ ├── _resize.scss │ │ │ └── _alert.scss │ │ │ ├── _helpers.scss │ │ │ └── forms │ │ │ └── _form-text.scss │ ├── wwwroot │ │ ├── background.png │ │ ├── bootstrap-icons-1.4.1 │ │ │ ├── fonts │ │ │ │ ├── bootstrap-icons.woff │ │ │ │ └── bootstrap-icons.woff2 │ │ │ ├── circle-fill.svg │ │ │ ├── dot.svg │ │ │ ├── pentagon-fill.svg │ │ │ ├── dash.svg │ │ │ ├── egg-fill.svg │ │ │ ├── circle-half.svg │ │ │ ├── circle.svg │ │ │ ├── record-fill.svg │ │ │ ├── record.svg │ │ │ ├── slash.svg │ │ │ ├── toggle-on.svg │ │ │ ├── pentagon-half.svg │ │ │ ├── person-fill.svg │ │ │ ├── square-fill.svg │ │ │ ├── mouse-fill.svg │ │ │ ├── pentagon.svg │ │ │ ├── record-circle-fill.svg │ │ │ ├── calendar3-fill.svg │ │ │ ├── cloudy-fill.svg │ │ │ ├── cone.svg │ │ │ ├── dash-circle-fill.svg │ │ │ ├── file-fill.svg │ │ │ ├── geo-alt-fill.svg │ │ │ ├── plus.svg │ │ │ ├── border-all.svg │ │ │ ├── heart-fill.svg │ │ │ ├── union.svg │ │ │ ├── stop-fill.svg │ │ │ ├── bookmark-fill.svg │ │ │ ├── pause.svg │ │ │ ├── phone-fill.svg │ │ │ ├── tablet-fill.svg │ │ │ ├── tv-fill.svg │ │ │ ├── paragraph.svg │ │ │ ├── dice-1-fill.svg │ │ │ ├── exclamation.svg │ │ │ ├── record-btn-fill.svg │ │ │ ├── record2.svg │ │ │ ├── slash-circle-fill.svg │ │ │ └── square-half.svg │ │ └── exampleJsInterop.js │ ├── Component1.razor │ ├── compilerconfig.json │ └── Component1.razor.css │ ├── MyBlogServerSide │ ├── MyBlog.db │ ├── wwwroot │ │ ├── favicon.ico │ │ └── css │ │ │ └── open-iconic │ │ │ └── font │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ ├── appsettings.json.bak │ └── appsettings.Development.json │ ├── MyBlog.Data │ └── Models │ │ └── AppUser.cs │ └── MyBlog.Data.Shared │ └── Interfaces │ └── IMyBlogItem.cs ├── Ch10 └── MyBlog │ ├── MyBlogWebAssembly │ ├── MyBlog.db │ ├── Client │ │ ├── wwwroot │ │ │ ├── favicon.ico │ │ │ └── css │ │ │ │ └── open-iconic │ │ │ │ └── font │ │ │ │ └── fonts │ │ │ │ ├── open-iconic.eot │ │ │ │ ├── open-iconic.otf │ │ │ │ ├── open-iconic.ttf │ │ │ │ └── open-iconic.woff │ │ ├── Test │ │ │ └── Test │ │ │ │ └── Interfaces │ │ │ │ └── IMyBlogItem.cs │ │ └── Pages │ │ │ └── Authentication.razor │ └── Shared │ │ └── MyBlogWebAssembly.Shared.csproj │ ├── MyBlog.db │ ├── MyBlog.Shared │ ├── Bootstrap │ │ └── scss │ │ │ ├── helpers │ │ │ ├── _clearfix.scss │ │ │ ├── _text-truncation.scss │ │ │ └── _visually-hidden.scss │ │ │ ├── mixins │ │ │ ├── _clearfix.scss │ │ │ ├── _lists.scss │ │ │ ├── _text-truncate.scss │ │ │ ├── _resize.scss │ │ │ └── _alert.scss │ │ │ ├── _helpers.scss │ │ │ └── forms │ │ │ └── _form-text.scss │ ├── Components │ │ ├── ItemList.razor.js │ │ ├── Interop.razor.js │ │ └── HighChart.razor.js │ ├── wwwroot │ │ ├── ItemList.razor.js │ │ ├── background.png │ │ ├── Interop.razor.js │ │ ├── bootstrap-icons-1.4.1 │ │ │ ├── fonts │ │ │ │ ├── bootstrap-icons.woff │ │ │ │ └── bootstrap-icons.woff2 │ │ │ ├── circle-fill.svg │ │ │ ├── dot.svg │ │ │ ├── pentagon-fill.svg │ │ │ ├── dash.svg │ │ │ ├── egg-fill.svg │ │ │ ├── circle-half.svg │ │ │ ├── record-fill.svg │ │ │ ├── record.svg │ │ │ ├── circle.svg │ │ │ ├── slash.svg │ │ │ ├── toggle-on.svg │ │ │ ├── square-fill.svg │ │ │ ├── pentagon-half.svg │ │ │ ├── person-fill.svg │ │ │ ├── mouse-fill.svg │ │ │ ├── pentagon.svg │ │ │ ├── record-circle-fill.svg │ │ │ ├── calendar3-fill.svg │ │ │ ├── cone.svg │ │ │ ├── file-fill.svg │ │ │ ├── geo-alt-fill.svg │ │ │ ├── plus.svg │ │ │ ├── border-all.svg │ │ │ ├── cloudy-fill.svg │ │ │ ├── dash-circle-fill.svg │ │ │ ├── heart-fill.svg │ │ │ ├── stop-fill.svg │ │ │ ├── union.svg │ │ │ ├── bookmark-fill.svg │ │ │ ├── phone-fill.svg │ │ │ ├── tv-fill.svg │ │ │ ├── paragraph.svg │ │ │ ├── pause.svg │ │ │ ├── tablet-fill.svg │ │ │ ├── exclamation.svg │ │ │ ├── record-btn-fill.svg │ │ │ ├── record2.svg │ │ │ ├── slash-circle-fill.svg │ │ │ ├── caret-down-fill.svg │ │ │ ├── caret-up-fill.svg │ │ │ ├── chat-left-fill.svg │ │ │ ├── check2.svg │ │ │ ├── clock-fill.svg │ │ │ ├── dice-1-fill.svg │ │ │ └── square-half.svg │ │ ├── HighChart.razor.js │ │ └── exampleJsInterop.js │ ├── Component1.razor │ ├── compilerconfig.json │ ├── Component1.razor.css │ └── libman.json │ ├── MyBlogServerSide │ ├── MyBlog.db │ ├── wwwroot │ │ ├── favicon.ico │ │ └── css │ │ │ └── open-iconic │ │ │ └── font │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ ├── appsettings.json.bak │ └── appsettings.Development.json │ ├── MyBlog.Data │ └── Models │ │ └── AppUser.cs │ └── MyBlog.Data.Shared │ └── Interfaces │ └── IMyBlogItem.cs ├── Ch11 └── MyBlog │ ├── MyBlogWebAssembly │ ├── MyBlog.db │ ├── Client │ │ ├── wwwroot │ │ │ ├── favicon.ico │ │ │ └── css │ │ │ │ └── open-iconic │ │ │ │ └── font │ │ │ │ └── fonts │ │ │ │ ├── open-iconic.eot │ │ │ │ ├── open-iconic.otf │ │ │ │ ├── open-iconic.ttf │ │ │ │ └── open-iconic.woff │ │ ├── Test │ │ │ └── Test │ │ │ │ └── Interfaces │ │ │ │ └── IMyBlogItem.cs │ │ └── Pages │ │ │ └── Authentication.razor │ └── Shared │ │ └── MyBlogWebAssembly.Shared.csproj │ ├── MyBlog.db │ ├── MyBlog.Shared │ ├── Bootstrap │ │ └── scss │ │ │ ├── helpers │ │ │ ├── _clearfix.scss │ │ │ ├── _text-truncation.scss │ │ │ └── _visually-hidden.scss │ │ │ ├── mixins │ │ │ ├── _clearfix.scss │ │ │ ├── _lists.scss │ │ │ ├── _text-truncate.scss │ │ │ ├── _resize.scss │ │ │ └── _alert.scss │ │ │ ├── _helpers.scss │ │ │ └── forms │ │ │ └── _form-text.scss │ ├── Components │ │ ├── ItemList.razor.js │ │ ├── Interop.razor.js │ │ └── HighChart.razor.js │ ├── wwwroot │ │ ├── ItemList.razor.js │ │ ├── background.png │ │ ├── Interop.razor.js │ │ ├── bootstrap-icons-1.2.2 │ │ │ ├── font │ │ │ │ └── fonts │ │ │ │ │ ├── bootstrap-icons.woff │ │ │ │ │ └── bootstrap-icons.woff2 │ │ │ ├── circle-fill.svg │ │ │ ├── dot.svg │ │ │ ├── pentagon-fill.svg │ │ │ ├── dash.svg │ │ │ ├── egg-fill.svg │ │ │ ├── circle-half.svg │ │ │ ├── record-fill.svg │ │ │ ├── circle.svg │ │ │ ├── slash.svg │ │ │ ├── toggle-on.svg │ │ │ ├── square-fill.svg │ │ │ ├── pentagon-half.svg │ │ │ ├── person-fill.svg │ │ │ ├── record.svg │ │ │ ├── pentagon.svg │ │ │ ├── record-circle-fill.svg │ │ │ ├── calendar3-fill.svg │ │ │ ├── cone.svg │ │ │ ├── file-fill.svg │ │ │ ├── geo-alt-fill.svg │ │ │ ├── plus.svg │ │ │ ├── dash-circle-fill.svg │ │ │ ├── heart-fill.svg │ │ │ ├── moon.svg │ │ │ ├── stop-fill.svg │ │ │ ├── bookmark-fill.svg │ │ │ ├── phone-fill.svg │ │ │ ├── tv-fill.svg │ │ │ ├── paragraph.svg │ │ │ ├── pause.svg │ │ │ ├── tablet-fill.svg │ │ │ ├── exclamation.svg │ │ │ ├── record-btn-fill.svg │ │ │ ├── record2.svg │ │ │ ├── slash-circle-fill.svg │ │ │ ├── caret-down-fill.svg │ │ │ ├── caret-up-fill.svg │ │ │ └── chat-left-fill.svg │ │ ├── HighChart.razor.js │ │ └── exampleJsInterop.js │ ├── Component1.razor │ ├── compilerconfig.json │ ├── Component1.razor.css │ └── libman.json │ ├── MyBlogServerSide │ ├── MyBlog.db │ ├── wwwroot │ │ ├── favicon.ico │ │ └── css │ │ │ └── open-iconic │ │ │ └── font │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ └── appsettings.Development.json │ ├── MyBlog.Data │ └── Models │ │ └── AppUser.cs │ └── MyBlog.Data.Shared │ └── Interfaces │ └── IMyBlogItem.cs ├── Ch12 └── MyBlog │ ├── MyBlogWebAssembly │ ├── MyBlog.db │ ├── Client │ │ ├── wwwroot │ │ │ ├── favicon.ico │ │ │ └── css │ │ │ │ └── open-iconic │ │ │ │ └── font │ │ │ │ └── fonts │ │ │ │ ├── open-iconic.eot │ │ │ │ ├── open-iconic.otf │ │ │ │ ├── open-iconic.ttf │ │ │ │ └── open-iconic.woff │ │ ├── Test │ │ │ └── Test │ │ │ │ └── Interfaces │ │ │ │ └── IMyBlogItem.cs │ │ └── Pages │ │ │ └── Authentication.razor │ └── Shared │ │ └── MyBlogWebAssembly.Shared.csproj │ ├── pokopk │ ├── _Imports.razor │ ├── wwwroot │ │ ├── background.png │ │ └── exampleJsInterop.js │ ├── Component1.razor │ └── Component1.razor.css │ ├── MyBlog.db │ ├── MyBlog.Shared │ ├── Bootstrap │ │ └── scss │ │ │ ├── helpers │ │ │ ├── _clearfix.scss │ │ │ ├── _text-truncation.scss │ │ │ └── _visually-hidden.scss │ │ │ ├── mixins │ │ │ ├── _clearfix.scss │ │ │ ├── _lists.scss │ │ │ ├── _text-truncate.scss │ │ │ ├── _resize.scss │ │ │ └── _alert.scss │ │ │ ├── _helpers.scss │ │ │ └── forms │ │ │ └── _form-text.scss │ ├── Components │ │ ├── ItemList.razor.js │ │ ├── Interop.razor.js │ │ └── HighChart.razor.js │ ├── wwwroot │ │ ├── ItemList.razor.js │ │ ├── background.png │ │ ├── Interop.razor.js │ │ ├── bootstrap-icons-1.2.2 │ │ │ ├── font │ │ │ │ └── fonts │ │ │ │ │ ├── bootstrap-icons.woff │ │ │ │ │ └── bootstrap-icons.woff2 │ │ │ ├── circle-fill.svg │ │ │ ├── dot.svg │ │ │ ├── pentagon-fill.svg │ │ │ ├── dash.svg │ │ │ ├── egg-fill.svg │ │ │ ├── circle-half.svg │ │ │ ├── record-fill.svg │ │ │ ├── circle.svg │ │ │ ├── slash.svg │ │ │ ├── toggle-on.svg │ │ │ ├── square-fill.svg │ │ │ ├── pentagon-half.svg │ │ │ ├── person-fill.svg │ │ │ ├── record.svg │ │ │ ├── pentagon.svg │ │ │ ├── record-circle-fill.svg │ │ │ ├── calendar3-fill.svg │ │ │ ├── cone.svg │ │ │ ├── file-fill.svg │ │ │ ├── geo-alt-fill.svg │ │ │ ├── plus.svg │ │ │ ├── dash-circle-fill.svg │ │ │ ├── heart-fill.svg │ │ │ ├── moon.svg │ │ │ ├── stop-fill.svg │ │ │ ├── bookmark-fill.svg │ │ │ ├── phone-fill.svg │ │ │ ├── tv-fill.svg │ │ │ ├── paragraph.svg │ │ │ ├── pause.svg │ │ │ ├── tablet-fill.svg │ │ │ ├── exclamation.svg │ │ │ ├── record-btn-fill.svg │ │ │ ├── record2.svg │ │ │ └── slash-circle-fill.svg │ │ ├── HighChart.razor.js │ │ └── exampleJsInterop.js │ ├── compilerconfig.json │ ├── Component1.razor │ ├── Pages │ │ └── ThrowException.razor │ ├── Component1.razor.css │ └── libman.json │ ├── MyBlogServerSide │ ├── MyBlog.db │ ├── wwwroot │ │ ├── favicon.ico │ │ └── css │ │ │ └── open-iconic │ │ │ └── font │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ ├── appsettings.json │ └── appsettings.Development.json │ ├── MyBlog.Data │ └── Models │ │ └── AppUser.cs │ └── MyBlog.Data.Shared │ └── Interfaces │ └── IMyBlogItem.cs ├── Ch13 └── MyBlog │ ├── MyBlogWebAssembly │ ├── MyBlog.db │ ├── Client │ │ ├── wwwroot │ │ │ ├── favicon.ico │ │ │ └── css │ │ │ │ └── open-iconic │ │ │ │ └── font │ │ │ │ └── fonts │ │ │ │ ├── open-iconic.eot │ │ │ │ ├── open-iconic.otf │ │ │ │ ├── open-iconic.ttf │ │ │ │ └── open-iconic.woff │ │ ├── Test │ │ │ └── Test │ │ │ │ └── Interfaces │ │ │ │ └── IMyBlogItem.cs │ │ └── Pages │ │ │ └── Authentication.razor │ └── Shared │ │ └── MyBlogWebAssembly.Shared.csproj │ ├── pokopk │ ├── _Imports.razor │ ├── wwwroot │ │ ├── background.png │ │ └── exampleJsInterop.js │ ├── Component1.razor │ └── Component1.razor.css │ ├── MyBlog.db │ ├── MyBlog.Shared │ ├── Bootstrap │ │ └── scss │ │ │ ├── helpers │ │ │ ├── _clearfix.scss │ │ │ ├── _text-truncation.scss │ │ │ └── _visually-hidden.scss │ │ │ ├── mixins │ │ │ ├── _clearfix.scss │ │ │ ├── _lists.scss │ │ │ ├── _text-truncate.scss │ │ │ ├── _resize.scss │ │ │ └── _alert.scss │ │ │ ├── _helpers.scss │ │ │ └── forms │ │ │ └── _form-text.scss │ ├── Components │ │ ├── ItemList.razor.js │ │ ├── Interop.razor.js │ │ └── HighChart.razor.js │ ├── wwwroot │ │ ├── ItemList.razor.js │ │ ├── background.png │ │ ├── Interop.razor.js │ │ ├── bootstrap-icons-1.2.2 │ │ │ ├── font │ │ │ │ └── fonts │ │ │ │ │ ├── bootstrap-icons.woff │ │ │ │ │ └── bootstrap-icons.woff2 │ │ │ ├── circle-fill.svg │ │ │ ├── dot.svg │ │ │ ├── pentagon-fill.svg │ │ │ ├── dash.svg │ │ │ ├── egg-fill.svg │ │ │ ├── circle-half.svg │ │ │ ├── record-fill.svg │ │ │ ├── circle.svg │ │ │ ├── slash.svg │ │ │ ├── toggle-on.svg │ │ │ ├── square-fill.svg │ │ │ ├── pentagon-half.svg │ │ │ ├── person-fill.svg │ │ │ ├── record.svg │ │ │ ├── pentagon.svg │ │ │ ├── record-circle-fill.svg │ │ │ ├── calendar3-fill.svg │ │ │ ├── cone.svg │ │ │ ├── file-fill.svg │ │ │ ├── geo-alt-fill.svg │ │ │ ├── plus.svg │ │ │ ├── dash-circle-fill.svg │ │ │ ├── heart-fill.svg │ │ │ ├── moon.svg │ │ │ ├── stop-fill.svg │ │ │ ├── bookmark-fill.svg │ │ │ ├── phone-fill.svg │ │ │ ├── tv-fill.svg │ │ │ ├── paragraph.svg │ │ │ ├── pause.svg │ │ │ ├── tablet-fill.svg │ │ │ ├── exclamation.svg │ │ │ ├── record-btn-fill.svg │ │ │ ├── record2.svg │ │ │ └── slash-circle-fill.svg │ │ ├── HighChart.razor.js │ │ └── exampleJsInterop.js │ ├── compilerconfig.json │ ├── Component1.razor │ ├── Pages │ │ └── ThrowException.razor │ ├── Component1.razor.css │ └── libman.json │ ├── MyBlogServerSide │ ├── MyBlog.db │ ├── wwwroot │ │ ├── favicon.ico │ │ └── css │ │ │ └── open-iconic │ │ │ └── font │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ ├── .config │ │ └── dotnet-tools.json │ ├── appsettings.json │ └── appsettings.Development.json │ ├── MyBlog.Data │ └── Models │ │ └── AppUser.cs │ ├── MyBlog.Data.Shared │ └── Interfaces │ │ └── IMyBlogItem.cs │ └── MyBlog.Shared.Tests │ └── _Imports.razor ├── Ch3 └── MyBlog │ ├── MyBlog.db │ ├── MyBlogServerSide │ ├── MyBlog.db │ ├── wwwroot │ │ ├── favicon.ico │ │ └── css │ │ │ └── open-iconic │ │ │ └── font │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ ├── Pages │ │ └── Index.razor │ ├── appsettings.json │ └── appsettings.Development.json │ ├── MyBlogWebAssembly │ ├── Client │ │ ├── wwwroot │ │ │ ├── favicon.ico │ │ │ └── css │ │ │ │ └── open-iconic │ │ │ │ └── font │ │ │ │ └── fonts │ │ │ │ ├── open-iconic.eot │ │ │ │ ├── open-iconic.otf │ │ │ │ ├── open-iconic.ttf │ │ │ │ └── open-iconic.woff │ │ └── Pages │ │ │ └── Index.razor │ ├── Shared │ │ └── MyBlogWebAssembly.Shared.csproj │ └── Server │ │ ├── appsettings.Development.json │ │ └── appsettings.json │ └── MyBlog.Data │ └── Interfaces │ └── IMyBlogItem.cs ├── Ch4 └── MyBlog │ ├── MyBlog.db │ ├── MyBlogServerSide │ ├── MyBlog.db │ ├── wwwroot │ │ ├── favicon.ico │ │ └── css │ │ │ └── open-iconic │ │ │ └── font │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ ├── Pages │ │ ├── Parameters.razor │ │ ├── ComponentWithCascadingParameter.razor │ │ └── ComponentWithCascadingValue.razor │ ├── appsettings.json │ ├── appsettings.Development.json │ └── MyBlogServerSide.csproj │ ├── MyBlogWebAssembly │ ├── Client │ │ ├── wwwroot │ │ │ ├── favicon.ico │ │ │ └── css │ │ │ │ └── open-iconic │ │ │ │ └── font │ │ │ │ └── fonts │ │ │ │ ├── open-iconic.eot │ │ │ │ ├── open-iconic.otf │ │ │ │ ├── open-iconic.ttf │ │ │ │ └── open-iconic.woff │ │ └── Pages │ │ │ └── Index.razor │ ├── Server │ │ ├── appsettings.Development.json │ │ └── appsettings.json │ └── Shared │ │ └── MyBlogWebAssembly.Shared.csproj │ └── MyBlog.Data │ └── Interfaces │ └── IMyBlogItem.cs ├── Ch5 └── MyBlog │ ├── MyBlog.db │ ├── MyBlogServerSide │ ├── MyBlog.db │ ├── wwwroot │ │ ├── favicon.ico │ │ └── css │ │ │ └── open-iconic │ │ │ └── font │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ ├── Pages │ │ ├── Alert │ │ │ ├── Alert1.razor │ │ │ └── Alert2.razor │ │ ├── Parameters.razor │ │ ├── Events │ │ │ └── Onclick.razor │ │ ├── ComponentWithCascadingParameter.razor │ │ ├── ComponentWithCascadingValue.razor │ │ ├── ParentCounter.razor │ │ └── SetFocus.razor │ ├── appsettings.json │ └── appsettings.Development.json │ ├── MyBlogWebAssembly │ ├── Client │ │ ├── wwwroot │ │ │ ├── favicon.ico │ │ │ └── css │ │ │ │ └── open-iconic │ │ │ │ └── font │ │ │ │ └── fonts │ │ │ │ ├── open-iconic.eot │ │ │ │ ├── open-iconic.otf │ │ │ │ ├── open-iconic.ttf │ │ │ │ └── open-iconic.woff │ │ └── Pages │ │ │ └── Index.razor │ ├── Server │ │ ├── appsettings.Development.json │ │ └── appsettings.json │ └── Shared │ │ └── MyBlogWebAssembly.Shared.csproj │ └── MyBlog.Data │ └── Interfaces │ └── IMyBlogItem.cs ├── Ch6 └── MyBlog │ ├── MyBlog.db │ ├── MyBlogServerSide │ ├── MyBlog.db │ ├── wwwroot │ │ ├── favicon.ico │ │ └── css │ │ │ └── open-iconic │ │ │ └── font │ │ │ └── fonts │ │ │ ├── open-iconic.eot │ │ │ ├── open-iconic.otf │ │ │ ├── open-iconic.ttf │ │ │ └── open-iconic.woff │ ├── Pages │ │ ├── Alert │ │ │ ├── Alert1.razor │ │ │ └── Alert2.razor │ │ ├── Parameters.razor │ │ ├── Events │ │ │ └── Onclick.razor │ │ ├── ComponentWithCascadingParameter.razor │ │ ├── ComponentWithCascadingValue.razor │ │ ├── ParentCounter.razor │ │ └── SetFocus.razor │ ├── appsettings.json │ └── appsettings.Development.json │ ├── MyBlogWebAssembly │ ├── Client │ │ ├── wwwroot │ │ │ ├── favicon.ico │ │ │ └── css │ │ │ │ └── open-iconic │ │ │ │ └── font │ │ │ │ └── fonts │ │ │ │ ├── open-iconic.eot │ │ │ │ ├── open-iconic.otf │ │ │ │ ├── open-iconic.ttf │ │ │ │ └── open-iconic.woff │ │ └── Pages │ │ │ └── Index.razor │ ├── Shared │ │ └── MyBlogWebAssembly.Shared.csproj │ └── Server │ │ ├── appsettings.Development.json │ │ └── appsettings.json │ └── MyBlog.Data │ └── Interfaces │ └── IMyBlogItem.cs └── Ch2 └── MyBlog ├── MyBlogServerSide ├── wwwroot │ ├── favicon.ico │ └── css │ │ └── open-iconic │ │ └── font │ │ └── fonts │ │ ├── open-iconic.eot │ │ ├── open-iconic.otf │ │ ├── open-iconic.ttf │ │ └── open-iconic.woff ├── Pages │ └── Index.razor ├── MyBlogServerSide.csproj ├── appsettings.json └── appsettings.Development.json └── MyBlogWebAssembly ├── Client ├── wwwroot │ ├── favicon.ico │ └── css │ │ └── open-iconic │ │ └── font │ │ └── fonts │ │ ├── open-iconic.eot │ │ ├── open-iconic.otf │ │ ├── open-iconic.ttf │ │ └── open-iconic.woff └── Pages │ └── Index.razor ├── Shared └── MyBlogWebAssembly.Shared.csproj └── Server ├── appsettings.Development.json └── appsettings.json /README.md: -------------------------------------------------------------------------------- 1 | # B16009 -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogWebAssembly/MyBlog.db: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogWebAssembly/MyBlog.db: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlogWebAssembly/MyBlog.db: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlogWebAssembly/MyBlog.db: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlogWebAssembly/MyBlog.db: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlogWebAssembly/MyBlog.db: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlogWebAssembly/MyBlog.db: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Ch12/MyBlog/pokopk/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Components.Web 2 | -------------------------------------------------------------------------------- /Ch13/MyBlog/pokopk/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Components.Web 2 | -------------------------------------------------------------------------------- /Ch3/MyBlog/MyBlog.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch3/MyBlog/MyBlog.db -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlog.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch4/MyBlog/MyBlog.db -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlog.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch5/MyBlog/MyBlog.db -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlog.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch6/MyBlog/MyBlog.db -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlog.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch7/MyBlog/MyBlog.db -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlog.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch8/MyBlog/MyBlog.db -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch9/MyBlog/MyBlog.db -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch10/MyBlog/MyBlog.db -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch11/MyBlog/MyBlog.db -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch12/MyBlog/MyBlog.db -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch13/MyBlog/MyBlog.db -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/Bootstrap/scss/helpers/_clearfix.scss: -------------------------------------------------------------------------------- 1 | .clearfix { 2 | @include clearfix(); 3 | } 4 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/Bootstrap/scss/helpers/_clearfix.scss: -------------------------------------------------------------------------------- 1 | .clearfix { 2 | @include clearfix(); 3 | } 4 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/Bootstrap/scss/helpers/_clearfix.scss: -------------------------------------------------------------------------------- 1 | .clearfix { 2 | @include clearfix(); 3 | } 4 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/Bootstrap/scss/helpers/_clearfix.scss: -------------------------------------------------------------------------------- 1 | .clearfix { 2 | @include clearfix(); 3 | } 4 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/Bootstrap/scss/helpers/_clearfix.scss: -------------------------------------------------------------------------------- 1 | .clearfix { 2 | @include clearfix(); 3 | } 4 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/Components/ItemList.razor.js: -------------------------------------------------------------------------------- 1 | export function showConfirm(message) { 2 | return confirm(message); 3 | } -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/ItemList.razor.js: -------------------------------------------------------------------------------- 1 | export function showConfirm(message) { 2 | return confirm(message); 3 | } -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/Components/ItemList.razor.js: -------------------------------------------------------------------------------- 1 | export function showConfirm(message) { 2 | return confirm(message); 3 | } -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/ItemList.razor.js: -------------------------------------------------------------------------------- 1 | export function showConfirm(message) { 2 | return confirm(message); 3 | } -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/Components/ItemList.razor.js: -------------------------------------------------------------------------------- 1 | export function showConfirm(message) { 2 | return confirm(message); 3 | } -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/ItemList.razor.js: -------------------------------------------------------------------------------- 1 | export function showConfirm(message) { 2 | return confirm(message); 3 | } -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/Components/ItemList.razor.js: -------------------------------------------------------------------------------- 1 | export function showConfirm(message) { 2 | return confirm(message); 3 | } -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/ItemList.razor.js: -------------------------------------------------------------------------------- 1 | export function showConfirm(message) { 2 | return confirm(message); 3 | } -------------------------------------------------------------------------------- /Ch3/MyBlog/MyBlogServerSide/MyBlog.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch3/MyBlog/MyBlogServerSide/MyBlog.db -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlogServerSide/MyBlog.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch4/MyBlog/MyBlogServerSide/MyBlog.db -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogServerSide/MyBlog.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch5/MyBlog/MyBlogServerSide/MyBlog.db -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogServerSide/MyBlog.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch6/MyBlog/MyBlogServerSide/MyBlog.db -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogServerSide/MyBlog.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch7/MyBlog/MyBlogServerSide/MyBlog.db -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogServerSide/MyBlog.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch8/MyBlog/MyBlogServerSide/MyBlog.db -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlogServerSide/MyBlog.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch9/MyBlog/MyBlogServerSide/MyBlog.db -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlogServerSide/MyBlog.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch10/MyBlog/MyBlogServerSide/MyBlog.db -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlogServerSide/MyBlog.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch11/MyBlog/MyBlogServerSide/MyBlog.db -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlogServerSide/MyBlog.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch12/MyBlog/MyBlogServerSide/MyBlog.db -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlogServerSide/MyBlog.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch13/MyBlog/MyBlogServerSide/MyBlog.db -------------------------------------------------------------------------------- /Ch12/MyBlog/pokopk/wwwroot/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch12/MyBlog/pokopk/wwwroot/background.png -------------------------------------------------------------------------------- /Ch13/MyBlog/pokopk/wwwroot/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch13/MyBlog/pokopk/wwwroot/background.png -------------------------------------------------------------------------------- /Ch2/MyBlog/MyBlogServerSide/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch2/MyBlog/MyBlogServerSide/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch3/MyBlog/MyBlogServerSide/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch3/MyBlog/MyBlogServerSide/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlogServerSide/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch4/MyBlog/MyBlogServerSide/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogServerSide/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch5/MyBlog/MyBlogServerSide/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogServerSide/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch6/MyBlog/MyBlogServerSide/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogServerSide/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch7/MyBlog/MyBlogServerSide/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogServerSide/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch8/MyBlog/MyBlogServerSide/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch9/MyBlog/MyBlog.Shared/wwwroot/background.png -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlogServerSide/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch9/MyBlog/MyBlogServerSide/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch10/MyBlog/MyBlog.Shared/wwwroot/background.png -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlogServerSide/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch10/MyBlog/MyBlogServerSide/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch11/MyBlog/MyBlog.Shared/wwwroot/background.png -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlogServerSide/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch11/MyBlog/MyBlogServerSide/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch12/MyBlog/MyBlog.Shared/wwwroot/background.png -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlogServerSide/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch12/MyBlog/MyBlogServerSide/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch12/MyBlog/pokopk/Component1.razor: -------------------------------------------------------------------------------- 1 |
2 | This Blazor component is defined in the pokopk package. 3 |
4 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch13/MyBlog/MyBlog.Shared/wwwroot/background.png -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlogServerSide/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch13/MyBlog/MyBlogServerSide/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch13/MyBlog/pokopk/Component1.razor: -------------------------------------------------------------------------------- 1 |
2 | This Blazor component is defined in the pokopk package. 3 |
4 | -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogServerSide/Pages/Alert/Alert1.razor: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogServerSide/Pages/Alert/Alert1.razor: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogServerSide/Pages/Alert/Alert1.razor: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogServerSide/Pages/Alert/Alert1.razor: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/Component1.razor: -------------------------------------------------------------------------------- 1 |
2 | This Blazor component is defined in the pokopk package. 3 |
4 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/compilerconfig.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "outputFile": "wwwroot/MyBlogStyle.css", 4 | "inputFile": "wwwroot/MyBlogStyle.scss" 5 | } 6 | ] -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/Component1.razor: -------------------------------------------------------------------------------- 1 |
2 | This Blazor component is defined in the pokopk package. 3 |
4 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/compilerconfig.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "outputFile": "wwwroot/MyBlogStyle.css", 4 | "inputFile": "wwwroot/MyBlogStyle.scss" 5 | } 6 | ] -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/compilerconfig.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "outputFile": "wwwroot/MyBlogStyle.css", 4 | "inputFile": "wwwroot/MyBlogStyle.scss" 5 | } 6 | ] -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/compilerconfig.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "outputFile": "wwwroot/MyBlogStyle.css", 4 | "inputFile": "wwwroot/MyBlogStyle.scss" 5 | } 6 | ] -------------------------------------------------------------------------------- /Ch2/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch2/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch3/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch3/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch4/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch5/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch6/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch7/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch8/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/Component1.razor: -------------------------------------------------------------------------------- 1 |
2 | This Blazor component is defined in the pokopk package. 3 |
4 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/compilerconfig.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "outputFile": "wwwroot/MyBlogStyle.css", 4 | "inputFile": "wwwroot/MyBlogStyle.scss" 5 | } 6 | ] -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch9/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/Bootstrap/scss/helpers/_text-truncation.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Text truncation 3 | // 4 | 5 | .text-truncate { 6 | @include text-truncate(); 7 | } 8 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch10/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/Bootstrap/scss/helpers/_text-truncation.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Text truncation 3 | // 4 | 5 | .text-truncate { 6 | @include text-truncate(); 7 | } 8 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch11/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/Bootstrap/scss/helpers/_text-truncation.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Text truncation 3 | // 4 | 5 | .text-truncate { 6 | @include text-truncate(); 7 | } 8 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/Component1.razor: -------------------------------------------------------------------------------- 1 |
2 | This Blazor component is defined in the MyBlog.Shared package. 3 |
4 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch12/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/Bootstrap/scss/helpers/_text-truncation.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Text truncation 3 | // 4 | 5 | .text-truncate { 6 | @include text-truncate(); 7 | } 8 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/Component1.razor: -------------------------------------------------------------------------------- 1 |
2 | This Blazor component is defined in the MyBlog.Shared package. 3 |
4 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch13/MyBlog/MyBlogWebAssembly/Client/wwwroot/favicon.ico -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/Bootstrap/scss/helpers/_text-truncation.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Text truncation 3 | // 4 | 5 | .text-truncate { 6 | @include text-truncate(); 7 | } 8 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/Pages/ThrowException.razor: -------------------------------------------------------------------------------- 1 | @page "/ThrowException" 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/Pages/ThrowException.razor: -------------------------------------------------------------------------------- 1 | @page "/ThrowException" 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/pokopk/Component1.razor.css: -------------------------------------------------------------------------------- 1 | .my-component { 2 | border: 2px dashed red; 3 | padding: 1em; 4 | margin: 1em 0; 5 | background-image: url('background.png'); 6 | } 7 | -------------------------------------------------------------------------------- /Ch13/MyBlog/pokopk/Component1.razor.css: -------------------------------------------------------------------------------- 1 | .my-component { 2 | border: 2px dashed red; 3 | padding: 1em; 4 | margin: 1em 0; 5 | background-image: url('background.png'); 6 | } 7 | -------------------------------------------------------------------------------- /Ch2/MyBlog/MyBlogServerSide/Pages/Index.razor: -------------------------------------------------------------------------------- 1 | @page "/" 2 | 3 |

Hello, world!

4 | 5 | Welcome to your new app. 6 | 7 | 8 | -------------------------------------------------------------------------------- /Ch3/MyBlog/MyBlogServerSide/Pages/Index.razor: -------------------------------------------------------------------------------- 1 | @page "/" 2 | 3 |

Hello, world!

4 | 5 | Welcome to your new app. 6 | 7 | 8 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Data/Models/AppUser.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Identity; 2 | 3 | namespace MyBlog.Data.Models 4 | { 5 | public class AppUser : IdentityUser 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/Component1.razor.css: -------------------------------------------------------------------------------- 1 | .my-component { 2 | border: 2px dashed red; 3 | padding: 1em; 4 | margin: 1em 0; 5 | background-image: url('background.png'); 6 | } 7 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/Interop.razor.js: -------------------------------------------------------------------------------- 1 | export function sayHello (dotnetHelper) { 2 | return dotnetHelper.invokeMethodAsync('SayHello') 3 | .then(r => console.log(r)); 4 | } -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Data/Models/AppUser.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Identity; 2 | 3 | namespace MyBlog.Data.Models 4 | { 5 | public class AppUser : IdentityUser 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/Component1.razor.css: -------------------------------------------------------------------------------- 1 | .my-component { 2 | border: 2px dashed red; 3 | padding: 1em; 4 | margin: 1em 0; 5 | background-image: url('background.png'); 6 | } 7 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/Interop.razor.js: -------------------------------------------------------------------------------- 1 | export function sayHello (dotnetHelper) { 2 | return dotnetHelper.invokeMethodAsync('SayHello') 3 | .then(r => console.log(r)); 4 | } -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Data/Models/AppUser.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Identity; 2 | 3 | namespace MyBlog.Data.Models 4 | { 5 | public class AppUser : IdentityUser 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/Component1.razor.css: -------------------------------------------------------------------------------- 1 | .my-component { 2 | border: 2px dashed red; 3 | padding: 1em; 4 | margin: 1em 0; 5 | background-image: url('background.png'); 6 | } 7 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/Interop.razor.js: -------------------------------------------------------------------------------- 1 | export function sayHello (dotnetHelper) { 2 | return dotnetHelper.invokeMethodAsync('SayHello') 3 | .then(r => console.log(r)); 4 | } -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Data/Models/AppUser.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Identity; 2 | 3 | namespace MyBlog.Data.Models 4 | { 5 | public class AppUser : IdentityUser 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/Component1.razor.css: -------------------------------------------------------------------------------- 1 | .my-component { 2 | border: 2px dashed red; 3 | padding: 1em; 4 | margin: 1em 0; 5 | background-image: url('background.png'); 6 | } 7 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/Interop.razor.js: -------------------------------------------------------------------------------- 1 | export function sayHello (dotnetHelper) { 2 | return dotnetHelper.invokeMethodAsync('SayHello') 3 | .then(r => console.log(r)); 4 | } -------------------------------------------------------------------------------- /Ch2/MyBlog/MyBlogWebAssembly/Client/Pages/Index.razor: -------------------------------------------------------------------------------- 1 | @page "/" 2 | 3 |

Hello, world!

4 | 5 | Welcome to your new app. 6 | 7 | 8 | -------------------------------------------------------------------------------- /Ch3/MyBlog/MyBlog.Data/Interfaces/IMyBlogItem.cs: -------------------------------------------------------------------------------- 1 | namespace MyBlog.Data.Interfaces 2 | { 3 | public interface IMyBlogItem 4 | { 5 | public int Id { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Ch3/MyBlog/MyBlogWebAssembly/Client/Pages/Index.razor: -------------------------------------------------------------------------------- 1 | @page "/" 2 | 3 |

Hello, world!

4 | 5 | Welcome to your new app. 6 | 7 | 8 | -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlog.Data/Interfaces/IMyBlogItem.cs: -------------------------------------------------------------------------------- 1 | namespace MyBlog.Data.Interfaces 2 | { 3 | public interface IMyBlogItem 4 | { 5 | public int Id { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlogWebAssembly/Client/Pages/Index.razor: -------------------------------------------------------------------------------- 1 | @page "/" 2 | 3 |

Hello, world!

4 | 5 | Welcome to your new app. 6 | 7 | 8 | -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlog.Data/Interfaces/IMyBlogItem.cs: -------------------------------------------------------------------------------- 1 | namespace MyBlog.Data.Interfaces 2 | { 3 | public interface IMyBlogItem 4 | { 5 | public int Id { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogWebAssembly/Client/Pages/Index.razor: -------------------------------------------------------------------------------- 1 | @page "/" 2 | 3 |

Hello, world!

4 | 5 | Welcome to your new app. 6 | 7 | 8 | -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlog.Data/Interfaces/IMyBlogItem.cs: -------------------------------------------------------------------------------- 1 | namespace MyBlog.Data.Interfaces 2 | { 3 | public interface IMyBlogItem 4 | { 5 | public int Id { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogWebAssembly/Client/Pages/Index.razor: -------------------------------------------------------------------------------- 1 | @page "/" 2 | 3 |

Hello, world!

4 | 5 | Welcome to your new app. 6 | 7 | 8 | -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlog.Data/Interfaces/IMyBlogItem.cs: -------------------------------------------------------------------------------- 1 | namespace MyBlog.Data.Interfaces 2 | { 3 | public interface IMyBlogItem 4 | { 5 | public int Id { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogWebAssembly/Client/Pages/Index.razor: -------------------------------------------------------------------------------- 1 | @page "/" 2 | 3 |

Hello, world!

4 | 5 | Welcome to your new app. 6 | 7 | 8 | -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlog.Data/Interfaces/IMyBlogItem.cs: -------------------------------------------------------------------------------- 1 | namespace MyBlog.Data.Interfaces 2 | { 3 | public interface IMyBlogItem 4 | { 5 | public int Id { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlog.Data/Models/AppUser.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Identity; 2 | 3 | namespace MyBlog.Data.Models 4 | { 5 | public class AppUser : IdentityUser 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Data/Models/AppUser.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Identity; 2 | 3 | namespace MyBlog.Data.Models 4 | { 5 | public class AppUser : IdentityUser 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/Component1.razor.css: -------------------------------------------------------------------------------- 1 | .my-component { 2 | border: 2px dashed red; 3 | padding: 1em; 4 | margin: 1em 0; 5 | background-image: url('background.png'); 6 | } 7 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Data.Shared/Interfaces/IMyBlogItem.cs: -------------------------------------------------------------------------------- 1 | namespace MyBlog.Data.Interfaces 2 | { 3 | public interface IMyBlogItem 4 | { 5 | public int Id { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/Components/Interop.razor.js: -------------------------------------------------------------------------------- 1 | export function sayHello (hellohelperref) { 2 | return hellohelperref.invokeMethodAsync('SayHello') 3 | .then(r => console.log(r)); 4 | } -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Data.Shared/Interfaces/IMyBlogItem.cs: -------------------------------------------------------------------------------- 1 | namespace MyBlog.Data.Interfaces 2 | { 3 | public interface IMyBlogItem 4 | { 5 | public int Id { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/Components/Interop.razor.js: -------------------------------------------------------------------------------- 1 | export function sayHello (hellohelperref) { 2 | return hellohelperref.invokeMethodAsync('SayHello') 3 | .then(r => console.log(r)); 4 | } -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Data.Shared/Interfaces/IMyBlogItem.cs: -------------------------------------------------------------------------------- 1 | namespace MyBlog.Data.Interfaces 2 | { 3 | public interface IMyBlogItem 4 | { 5 | public int Id { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/Components/Interop.razor.js: -------------------------------------------------------------------------------- 1 | export function sayHello (hellohelperref) { 2 | return hellohelperref.invokeMethodAsync('SayHello') 3 | .then(r => console.log(r)); 4 | } -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Data.Shared/Interfaces/IMyBlogItem.cs: -------------------------------------------------------------------------------- 1 | namespace MyBlog.Data.Interfaces 2 | { 3 | public interface IMyBlogItem 4 | { 5 | public int Id { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/Components/Interop.razor.js: -------------------------------------------------------------------------------- 1 | export function sayHello (hellohelperref) { 2 | return hellohelperref.invokeMethodAsync('SayHello') 3 | .then(r => console.log(r)); 4 | } -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Data.Shared/Interfaces/IMyBlogItem.cs: -------------------------------------------------------------------------------- 1 | namespace MyBlog.Data.Interfaces 2 | { 3 | public interface IMyBlogItem 4 | { 5 | public int Id { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlogServerSide/Pages/Parameters.razor: -------------------------------------------------------------------------------- 1 | @page "/parameterdemo/{MyParameter:int}" 2 | 3 | @MyParameter 4 | 5 | @code { 6 | [Parameter] 7 | public int MyParameter { get; set; } 8 | } 9 | -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogServerSide/Pages/Parameters.razor: -------------------------------------------------------------------------------- 1 | @page "/parameterdemo/{MyParameter:int}" 2 | 3 | @MyParameter 4 | 5 | @code { 6 | [Parameter] 7 | public int MyParameter { get; set; } 8 | } 9 | -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogServerSide/Pages/Parameters.razor: -------------------------------------------------------------------------------- 1 | @page "/parameterdemo/{MyParameter:int}" 2 | 3 | @MyParameter 4 | 5 | @code { 6 | [Parameter] 7 | public int MyParameter { get; set; } 8 | } 9 | -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogServerSide/Pages/Parameters.razor: -------------------------------------------------------------------------------- 1 | @page "/parameterdemo/{MyParameter:int}" 2 | 3 | @MyParameter 4 | 5 | @code { 6 | [Parameter] 7 | public int MyParameter { get; set; } 8 | } 9 | -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogServerSide/Pages/Parameters.razor: -------------------------------------------------------------------------------- 1 | @page "/parameterdemo/{MyParameter:int}" 2 | 3 | @MyParameter 4 | 5 | @code { 6 | [Parameter] 7 | public int MyParameter { get; set; } 8 | } 9 | -------------------------------------------------------------------------------- /Ch2/MyBlog/MyBlogServerSide/MyBlogServerSide.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch10/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch10/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch10/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch10/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlogWebAssembly/Client/Test/Test/Interfaces/IMyBlogItem.cs: -------------------------------------------------------------------------------- 1 | namespace MyBlog.Data.Interfaces 2 | { 3 | public interface IMyBlogItem 4 | { 5 | public int Id { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch11/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch11/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch11/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch11/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlogWebAssembly/Client/Test/Test/Interfaces/IMyBlogItem.cs: -------------------------------------------------------------------------------- 1 | namespace MyBlog.Data.Interfaces 2 | { 3 | public interface IMyBlogItem 4 | { 5 | public int Id { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch12/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch12/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch12/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch12/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlogWebAssembly/Client/Test/Test/Interfaces/IMyBlogItem.cs: -------------------------------------------------------------------------------- 1 | namespace MyBlog.Data.Interfaces 2 | { 3 | public interface IMyBlogItem 4 | { 5 | public int Id { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch13/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch13/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch13/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch13/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlogWebAssembly/Client/Test/Test/Interfaces/IMyBlogItem.cs: -------------------------------------------------------------------------------- 1 | namespace MyBlog.Data.Interfaces 2 | { 3 | public interface IMyBlogItem 4 | { 5 | public int Id { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Ch2/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch2/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch2/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch2/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch2/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch2/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch2/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch2/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch3/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch3/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch3/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch3/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch3/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch3/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch3/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch3/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch4/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch4/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch4/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch4/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch5/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch5/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch5/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch5/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch6/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch6/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch6/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch6/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch7/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch7/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch7/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch7/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch8/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch8/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch8/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch8/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/Bootstrap/scss/helpers/_visually-hidden.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Visually hidden 3 | // 4 | 5 | .visually-hidden, 6 | .visually-hidden-focusable:not(:focus) { 7 | @include visually-hidden(); 8 | } 9 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch9/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch9/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch9/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch9/MyBlog/MyBlogServerSide/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlogWebAssembly/Client/Test/Test/Interfaces/IMyBlogItem.cs: -------------------------------------------------------------------------------- 1 | namespace MyBlog.Data.Interfaces 2 | { 3 | public interface IMyBlogItem 4 | { 5 | public int Id { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/Bootstrap/scss/helpers/_visually-hidden.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Visually hidden 3 | // 4 | 5 | .visually-hidden, 6 | .visually-hidden-focusable:not(:focus) { 7 | @include visually-hidden(); 8 | } 9 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/fonts/bootstrap-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/fonts/bootstrap-icons.woff -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/Bootstrap/scss/helpers/_visually-hidden.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Visually hidden 3 | // 4 | 5 | .visually-hidden, 6 | .visually-hidden-focusable:not(:focus) { 7 | @include visually-hidden(); 8 | } 9 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/Bootstrap/scss/helpers/_visually-hidden.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Visually hidden 3 | // 4 | 5 | .visually-hidden, 6 | .visually-hidden-focusable:not(:focus) { 7 | @include visually-hidden(); 8 | } 9 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/Bootstrap/scss/helpers/_visually-hidden.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Visually hidden 3 | // 4 | 5 | .visually-hidden, 6 | .visually-hidden-focusable:not(:focus) { 7 | @include visually-hidden(); 8 | } 9 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/fonts/bootstrap-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/fonts/bootstrap-icons.woff -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/fonts/bootstrap-icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/fonts/bootstrap-icons.woff2 -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/fonts/bootstrap-icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/fonts/bootstrap-icons.woff2 -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch10/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch10/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch10/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/font/fonts/bootstrap-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/font/fonts/bootstrap-icons.woff -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch11/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch11/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch11/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/font/fonts/bootstrap-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/font/fonts/bootstrap-icons.woff -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch12/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch12/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch12/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/font/fonts/bootstrap-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/font/fonts/bootstrap-icons.woff -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch13/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch13/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch13/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch2/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch2/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch2/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch2/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch2/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch2/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch2/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch2/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch2/MyBlog/MyBlogWebAssembly/Shared/MyBlogWebAssembly.Shared.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.1 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Ch3/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch3/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch3/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch3/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch3/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch3/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch3/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch3/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch3/MyBlog/MyBlogWebAssembly/Shared/MyBlogWebAssembly.Shared.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.1 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch4/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch4/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch4/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch4/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch5/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch5/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch5/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch5/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch6/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch6/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch6/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch6/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogWebAssembly/Shared/MyBlogWebAssembly.Shared.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.1 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch7/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch7/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch7/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch7/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogWebAssembly/Shared/MyBlogWebAssembly.Shared.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.1 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch8/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch8/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch8/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch8/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogWebAssembly/Shared/MyBlogWebAssembly.Shared.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.1 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch9/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch9/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch9/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch9/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlogWebAssembly/Shared/MyBlogWebAssembly.Shared.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.1 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch10/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlogWebAssembly/Shared/MyBlogWebAssembly.Shared.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.1 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/font/fonts/bootstrap-icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/font/fonts/bootstrap-icons.woff2 -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch11/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlogWebAssembly/Shared/MyBlogWebAssembly.Shared.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.1 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/font/fonts/bootstrap-icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/font/fonts/bootstrap-icons.woff2 -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch12/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlogWebAssembly/Shared/MyBlogWebAssembly.Shared.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.1 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/font/fonts/bootstrap-icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/font/fonts/bootstrap-icons.woff2 -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EngstromJimmy/B16009/master/Ch13/MyBlog/MyBlogWebAssembly/Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlogWebAssembly/Shared/MyBlogWebAssembly.Shared.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.1 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/circle-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/circle-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/circle-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/circle-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/circle-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_clearfix.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start clearfix 2 | @mixin clearfix() { 3 | &::after { 4 | display: block; 5 | clear: both; 6 | content: ""; 7 | } 8 | } 9 | // scss-docs-end clearfix 10 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_lists.scss: -------------------------------------------------------------------------------- 1 | // Lists 2 | 3 | // Unstyled keeps list items block level, just removes default browser padding and list-style 4 | @mixin list-unstyled { 5 | padding-left: 0; 6 | list-style: none; 7 | } 8 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/dot.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_clearfix.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start clearfix 2 | @mixin clearfix() { 3 | &::after { 4 | display: block; 5 | clear: both; 6 | content: ""; 7 | } 8 | } 9 | // scss-docs-end clearfix 10 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_lists.scss: -------------------------------------------------------------------------------- 1 | // Lists 2 | 3 | // Unstyled keeps list items block level, just removes default browser padding and list-style 4 | @mixin list-unstyled { 5 | padding-left: 0; 6 | list-style: none; 7 | } 8 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/dot.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_clearfix.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start clearfix 2 | @mixin clearfix() { 3 | &::after { 4 | display: block; 5 | clear: both; 6 | content: ""; 7 | } 8 | } 9 | // scss-docs-end clearfix 10 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_lists.scss: -------------------------------------------------------------------------------- 1 | // Lists 2 | 3 | // Unstyled keeps list items block level, just removes default browser padding and list-style 4 | @mixin list-unstyled { 5 | padding-left: 0; 6 | list-style: none; 7 | } 8 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/dot.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_clearfix.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start clearfix 2 | @mixin clearfix() { 3 | &::after { 4 | display: block; 5 | clear: both; 6 | content: ""; 7 | } 8 | } 9 | // scss-docs-end clearfix 10 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_lists.scss: -------------------------------------------------------------------------------- 1 | // Lists 2 | 3 | // Unstyled keeps list items block level, just removes default browser padding and list-style 4 | @mixin list-unstyled { 5 | padding-left: 0; 6 | list-style: none; 7 | } 8 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/dot.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_clearfix.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start clearfix 2 | @mixin clearfix() { 3 | &::after { 4 | display: block; 5 | clear: both; 6 | content: ""; 7 | } 8 | } 9 | // scss-docs-end clearfix 10 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_lists.scss: -------------------------------------------------------------------------------- 1 | // Lists 2 | 3 | // Unstyled keeps list items block level, just removes default browser padding and list-style 4 | @mixin list-unstyled { 5 | padding-left: 0; 6 | list-style: none; 7 | } 8 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/dot.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/pentagon-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/pentagon-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/pentagon-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/pentagon-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlogServerSide/.config/dotnet-tools.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "isRoot": true, 4 | "tools": { 5 | "dotnet-ef": { 6 | "version": "5.0.4", 7 | "commands": [ 8 | "dotnet-ef" 9 | ] 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/pentagon-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_text-truncate.scss: -------------------------------------------------------------------------------- 1 | // Text truncate 2 | // Requires inline-block or block for proper styling 3 | 4 | @mixin text-truncate() { 5 | overflow: hidden; 6 | text-overflow: ellipsis; 7 | white-space: nowrap; 8 | } 9 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_text-truncate.scss: -------------------------------------------------------------------------------- 1 | // Text truncate 2 | // Requires inline-block or block for proper styling 3 | 4 | @mixin text-truncate() { 5 | overflow: hidden; 6 | text-overflow: ellipsis; 7 | white-space: nowrap; 8 | } 9 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_text-truncate.scss: -------------------------------------------------------------------------------- 1 | // Text truncate 2 | // Requires inline-block or block for proper styling 3 | 4 | @mixin text-truncate() { 5 | overflow: hidden; 6 | text-overflow: ellipsis; 7 | white-space: nowrap; 8 | } 9 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_text-truncate.scss: -------------------------------------------------------------------------------- 1 | // Text truncate 2 | // Requires inline-block or block for proper styling 3 | 4 | @mixin text-truncate() { 5 | overflow: hidden; 6 | text-overflow: ellipsis; 7 | white-space: nowrap; 8 | } 9 | -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogServerSide/Pages/Alert/Alert2.razor: -------------------------------------------------------------------------------- 1 | 4 | 5 | @code{ 6 | [Parameter] 7 | public RenderFragment ChildContent { get; set; } =@This is a default value; 8 | } -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogServerSide/Pages/Alert/Alert2.razor: -------------------------------------------------------------------------------- 1 | 4 | 5 | @code{ 6 | [Parameter] 7 | public RenderFragment ChildContent { get; set; } =@This is a default value; 8 | } -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogServerSide/Pages/Alert/Alert2.razor: -------------------------------------------------------------------------------- 1 | 4 | 5 | @code{ 6 | [Parameter] 7 | public RenderFragment ChildContent { get; set; } =@This is a default value; 8 | } -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogServerSide/Pages/Alert/Alert2.razor: -------------------------------------------------------------------------------- 1 | 4 | 5 | @code{ 6 | [Parameter] 7 | public RenderFragment ChildContent { get; set; } =@This is a default value; 8 | } -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_text-truncate.scss: -------------------------------------------------------------------------------- 1 | // Text truncate 2 | // Requires inline-block or block for proper styling 3 | 4 | @mixin text-truncate() { 5 | overflow: hidden; 6 | text-overflow: ellipsis; 7 | white-space: nowrap; 8 | } 9 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/libman.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "defaultProvider": "filesystem", 4 | "libraries": [ 5 | { 6 | "library": "Components", 7 | "files": [ 8 | "*.js" 9 | ], 10 | "destination": "wwwroot/" 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/dash.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/libman.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "defaultProvider": "filesystem", 4 | "libraries": [ 5 | { 6 | "library": "Components", 7 | "files": [ 8 | "*.js" 9 | ], 10 | "destination": "wwwroot/" 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/dash.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/libman.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "defaultProvider": "filesystem", 4 | "libraries": [ 5 | { 6 | "library": "Components", 7 | "files": [ 8 | "*.js" 9 | ], 10 | "destination": "wwwroot/" 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/dash.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/libman.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "defaultProvider": "filesystem", 4 | "libraries": [ 5 | { 6 | "library": "Components", 7 | "files": [ 8 | "*.js" 9 | ], 10 | "destination": "wwwroot/" 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/dash.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch2/MyBlog/MyBlogWebAssembly/Server/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Ch3/MyBlog/MyBlogWebAssembly/Server/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlogWebAssembly/Server/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogWebAssembly/Server/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogWebAssembly/Server/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogWebAssembly/Server/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/dash.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/egg-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/egg-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/egg-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlogServerSide/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/egg-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlogServerSide/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /Ch2/MyBlog/MyBlogServerSide/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /Ch3/MyBlog/MyBlogServerSide/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlogServerSide/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogServerSide/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogServerSide/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogServerSide/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/egg-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlogServerSide/appsettings.json.bak: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogServerSide/Pages/Events/Onclick.razor: -------------------------------------------------------------------------------- 1 | @page "/events/onclick" 2 |

onclick

3 | 4 | @message 5 | 6 | 7 | 8 | @code { 9 | string message = ""; 10 | 11 | } 12 | -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogServerSide/Pages/Events/Onclick.razor: -------------------------------------------------------------------------------- 1 | @page "/events/onclick" 2 |

onclick

3 | 4 | @message 5 | 6 | 7 | 8 | @code { 9 | string message = ""; 10 | 11 | } 12 | -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogServerSide/Pages/Events/Onclick.razor: -------------------------------------------------------------------------------- 1 | @page "/events/onclick" 2 |

onclick

3 | 4 | @message 5 | 6 | 7 | 8 | @code { 9 | string message = ""; 10 | 11 | } 12 | -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogServerSide/Pages/Events/Onclick.razor: -------------------------------------------------------------------------------- 1 | @page "/events/onclick" 2 |

onclick

3 | 4 | @message 5 | 6 | 7 | 8 | @code { 9 | string message = ""; 10 | 11 | } 12 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlogServerSide/appsettings.json.bak: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_resize.scss: -------------------------------------------------------------------------------- 1 | // Resize anything 2 | 3 | @mixin resizable($direction) { 4 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` 5 | resize: $direction; // Options: horizontal, vertical, both 6 | } 7 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/HighChart.razor.js: -------------------------------------------------------------------------------- 1 | export function loadHighchart(id, json) { 2 | var obj = looseJsonParse(json); 3 | Highcharts.chart(id, obj); 4 | }; 5 | 6 | export function looseJsonParse(obj) { 7 | return Function('"use strict";return (' + obj + ')')(); 8 | } -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/circle-half.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/record-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/record.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_resize.scss: -------------------------------------------------------------------------------- 1 | // Resize anything 2 | 3 | @mixin resizable($direction) { 4 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` 5 | resize: $direction; // Options: horizontal, vertical, both 6 | } 7 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/HighChart.razor.js: -------------------------------------------------------------------------------- 1 | export function loadHighchart(id, json) { 2 | var obj = looseJsonParse(json); 3 | Highcharts.chart(id, obj); 4 | }; 5 | 6 | export function looseJsonParse(obj) { 7 | return Function('"use strict";return (' + obj + ')')(); 8 | } -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/circle-half.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/record-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_resize.scss: -------------------------------------------------------------------------------- 1 | // Resize anything 2 | 3 | @mixin resizable($direction) { 4 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` 5 | resize: $direction; // Options: horizontal, vertical, both 6 | } 7 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/HighChart.razor.js: -------------------------------------------------------------------------------- 1 | export function loadHighchart(id, json) { 2 | var obj = looseJsonParse(json); 3 | Highcharts.chart(id, obj); 4 | }; 5 | 6 | export function looseJsonParse(obj) { 7 | return Function('"use strict";return (' + obj + ')')(); 8 | } -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/circle-half.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/record-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_resize.scss: -------------------------------------------------------------------------------- 1 | // Resize anything 2 | 3 | @mixin resizable($direction) { 4 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` 5 | resize: $direction; // Options: horizontal, vertical, both 6 | } 7 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/HighChart.razor.js: -------------------------------------------------------------------------------- 1 | export function loadHighchart(id, json) { 2 | var obj = looseJsonParse(json); 3 | Highcharts.chart(id, obj); 4 | }; 5 | 6 | export function looseJsonParse(obj) { 7 | return Function('"use strict";return (' + obj + ')')(); 8 | } -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/circle-half.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/record-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlogServerSide/Pages/ComponentWithCascadingParameter.razor: -------------------------------------------------------------------------------- 1 |

ComponentWithCascadingParameter

2 | 3 | @MyCascadingParameter 4 | 5 | @code { 6 | [CascadingParameter(Name = "MyCascadingParameter")] 7 | public string MyCascadingParameter { get; set; } 8 | } 9 | -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogServerSide/Pages/ComponentWithCascadingParameter.razor: -------------------------------------------------------------------------------- 1 |

ComponentWithCascadingParameter

2 | 3 | @MyCascadingParameter 4 | 5 | @code { 6 | [CascadingParameter(Name = "MyCascadingParameter")] 7 | public string MyCascadingParameter { get; set; } 8 | } 9 | -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogServerSide/Pages/ComponentWithCascadingParameter.razor: -------------------------------------------------------------------------------- 1 |

ComponentWithCascadingParameter

2 | 3 | @MyCascadingParameter 4 | 5 | @code { 6 | [CascadingParameter(Name = "MyCascadingParameter")] 7 | public string MyCascadingParameter { get; set; } 8 | } 9 | -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogServerSide/Pages/ComponentWithCascadingParameter.razor: -------------------------------------------------------------------------------- 1 |

ComponentWithCascadingParameter

2 | 3 | @MyCascadingParameter 4 | 5 | @code { 6 | [CascadingParameter(Name = "MyCascadingParameter")] 7 | public string MyCascadingParameter { get; set; } 8 | } 9 | -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogServerSide/Pages/ComponentWithCascadingParameter.razor: -------------------------------------------------------------------------------- 1 |

ComponentWithCascadingParameter

2 | 3 | @MyCascadingParameter 4 | 5 | @code { 6 | [CascadingParameter(Name = "MyCascadingParameter")] 7 | public string MyCascadingParameter { get; set; } 8 | } 9 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_resize.scss: -------------------------------------------------------------------------------- 1 | // Resize anything 2 | 3 | @mixin resizable($direction) { 4 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` 5 | resize: $direction; // Options: horizontal, vertical, both 6 | } 7 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/circle-half.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/record-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/record.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/Components/HighChart.razor.js: -------------------------------------------------------------------------------- 1 | export function loadHighchart(id, json) { 2 | var obj = looseJsonParse(json); 3 | Highcharts.chart(id, obj); 4 | }; 5 | 6 | export function looseJsonParse(obj) { 7 | return Function('"use strict";return (' + obj + ')')(); 8 | } -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlogServerSide/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/Components/HighChart.razor.js: -------------------------------------------------------------------------------- 1 | export function loadHighchart(id, json) { 2 | var obj = looseJsonParse(json); 3 | Highcharts.chart(id, obj); 4 | }; 5 | 6 | export function looseJsonParse(obj) { 7 | return Function('"use strict";return (' + obj + ')')(); 8 | } -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlogServerSide/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/Components/HighChart.razor.js: -------------------------------------------------------------------------------- 1 | export function loadHighchart(id, json) { 2 | var obj = looseJsonParse(json); 3 | Highcharts.chart(id, obj); 4 | }; 5 | 6 | export function looseJsonParse(obj) { 7 | return Function('"use strict";return (' + obj + ')')(); 8 | } -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlogServerSide/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/Components/HighChart.razor.js: -------------------------------------------------------------------------------- 1 | export function loadHighchart(id, json) { 2 | var obj = looseJsonParse(json); 3 | Highcharts.chart(id, obj); 4 | }; 5 | 6 | export function looseJsonParse(obj) { 7 | return Function('"use strict";return (' + obj + ')')(); 8 | } -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlogServerSide/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Ch2/MyBlog/MyBlogServerSide/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Ch2/MyBlog/MyBlogWebAssembly/Server/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /Ch3/MyBlog/MyBlogServerSide/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Ch3/MyBlog/MyBlogWebAssembly/Server/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlogServerSide/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlogWebAssembly/Server/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogServerSide/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogWebAssembly/Server/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogServerSide/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogWebAssembly/Server/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogServerSide/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogWebAssembly/Server/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogServerSide/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlogServerSide/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "DetailedErrors": true, 3 | "Logging": { 4 | "LogLevel": { 5 | "Default": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_alert.scss: -------------------------------------------------------------------------------- 1 | @mixin alert-variant($background, $border, $color) { 2 | color: $color; 3 | @include gradient-bg($background); 4 | border-color: $border; 5 | 6 | .alert-link { 7 | color: shade-color($color, 20%); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/slash.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/toggle-on.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlogWebAssembly/Client/Pages/Authentication.razor: -------------------------------------------------------------------------------- 1 | @page "/authentication/{action}" 2 | @using Microsoft.AspNetCore.Components.WebAssembly.Authentication 3 | 4 | 5 | @code{ 6 | [Parameter] public string Action { get; set; } 7 | } 8 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_alert.scss: -------------------------------------------------------------------------------- 1 | @mixin alert-variant($background, $border, $color) { 2 | color: $color; 3 | @include gradient-bg($background); 4 | border-color: $border; 5 | 6 | .alert-link { 7 | color: shade-color($color, 20%); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/slash.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/toggle-on.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlogWebAssembly/Client/Pages/Authentication.razor: -------------------------------------------------------------------------------- 1 | @page "/authentication/{action}" 2 | @using Microsoft.AspNetCore.Components.WebAssembly.Authentication 3 | 4 | 5 | @code{ 6 | [Parameter] public string Action { get; set; } 7 | } 8 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_alert.scss: -------------------------------------------------------------------------------- 1 | @mixin alert-variant($background, $border, $color) { 2 | color: $color; 3 | @include gradient-bg($background); 4 | border-color: $border; 5 | 6 | .alert-link { 7 | color: shade-color($color, 20%); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/slash.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/toggle-on.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlogWebAssembly/Client/Pages/Authentication.razor: -------------------------------------------------------------------------------- 1 | @page "/authentication/{action}" 2 | @using Microsoft.AspNetCore.Components.WebAssembly.Authentication 3 | 4 | 5 | @code{ 6 | [Parameter] public string Action { get; set; } 7 | } 8 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_alert.scss: -------------------------------------------------------------------------------- 1 | @mixin alert-variant($background, $border, $color) { 2 | color: $color; 3 | @include gradient-bg($background); 4 | border-color: $border; 5 | 6 | .alert-link { 7 | color: shade-color($color, 20%); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/slash.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/toggle-on.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlogWebAssembly/Client/Pages/Authentication.razor: -------------------------------------------------------------------------------- 1 | @page "/authentication/{action}" 2 | @using Microsoft.AspNetCore.Components.WebAssembly.Authentication 3 | 4 | 5 | @code{ 6 | [Parameter] public string Action { get; set; } 7 | } 8 | -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogWebAssembly/Client/Pages/Authentication.razor: -------------------------------------------------------------------------------- 1 | @page "/authentication/{action}" 2 | @using Microsoft.AspNetCore.Components.WebAssembly.Authentication 3 | 4 | 5 | @code{ 6 | [Parameter] public string Action { get; set; } 7 | } 8 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/Bootstrap/scss/mixins/_alert.scss: -------------------------------------------------------------------------------- 1 | @mixin alert-variant($background, $border, $color) { 2 | color: $color; 3 | @include gradient-bg($background); 4 | border-color: $border; 5 | 6 | .alert-link { 7 | color: shade-color($color, 20%); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/slash.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/toggle-on.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlogWebAssembly/Client/Pages/Authentication.razor: -------------------------------------------------------------------------------- 1 | @page "/authentication/{action}" 2 | @using Microsoft.AspNetCore.Components.WebAssembly.Authentication 3 | 4 | 5 | @code{ 6 | [Parameter] public string Action { get; set; } 7 | } 8 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/Bootstrap/scss/_helpers.scss: -------------------------------------------------------------------------------- 1 | @import "helpers/clearfix"; 2 | @import "helpers/colored-links"; 3 | @import "helpers/ratio"; 4 | @import "helpers/position"; 5 | @import "helpers/visually-hidden"; 6 | @import "helpers/stretched-link"; 7 | @import "helpers/text-truncation"; 8 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/square-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/Bootstrap/scss/_helpers.scss: -------------------------------------------------------------------------------- 1 | @import "helpers/clearfix"; 2 | @import "helpers/colored-links"; 3 | @import "helpers/ratio"; 4 | @import "helpers/position"; 5 | @import "helpers/visually-hidden"; 6 | @import "helpers/stretched-link"; 7 | @import "helpers/text-truncation"; 8 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/square-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/Bootstrap/scss/_helpers.scss: -------------------------------------------------------------------------------- 1 | @import "helpers/clearfix"; 2 | @import "helpers/colored-links"; 3 | @import "helpers/ratio"; 4 | @import "helpers/position"; 5 | @import "helpers/visually-hidden"; 6 | @import "helpers/stretched-link"; 7 | @import "helpers/text-truncation"; 8 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/square-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/Bootstrap/scss/_helpers.scss: -------------------------------------------------------------------------------- 1 | @import "helpers/clearfix"; 2 | @import "helpers/colored-links"; 3 | @import "helpers/ratio"; 4 | @import "helpers/position"; 5 | @import "helpers/visually-hidden"; 6 | @import "helpers/stretched-link"; 7 | @import "helpers/text-truncation"; 8 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/square-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/Bootstrap/scss/_helpers.scss: -------------------------------------------------------------------------------- 1 | @import "helpers/clearfix"; 2 | @import "helpers/colored-links"; 3 | @import "helpers/ratio"; 4 | @import "helpers/position"; 5 | @import "helpers/visually-hidden"; 6 | @import "helpers/stretched-link"; 7 | @import "helpers/text-truncation"; 8 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/pentagon-half.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/person-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/square-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/pentagon-half.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/person-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/pentagon-half.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/person-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/record.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/pentagon-half.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/person-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/record.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/pentagon-half.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/person-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/record.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/mouse-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/pentagon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/record-circle-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/pentagon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/record-circle-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/pentagon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/record-circle-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/pokopk/wwwroot/exampleJsInterop.js: -------------------------------------------------------------------------------- 1 | // This is a JavaScript module that is loaded on demand. It can export any number of 2 | // functions, and may import other JavaScript modules if required. 3 | 4 | export function showPrompt(message) { 5 | return prompt(message, 'Type anything here'); 6 | } 7 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/pentagon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/record-circle-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/pokopk/wwwroot/exampleJsInterop.js: -------------------------------------------------------------------------------- 1 | // This is a JavaScript module that is loaded on demand. It can export any number of 2 | // functions, and may import other JavaScript modules if required. 3 | 4 | export function showPrompt(message) { 5 | return prompt(message, 'Type anything here'); 6 | } 7 | -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlogServerSide/Pages/ComponentWithCascadingValue.razor: -------------------------------------------------------------------------------- 1 | @page "/CascadingValue" 2 | 3 | 4 | 5 | @code { 6 | public string MyProperty { get; set; } = "Test Value"; 7 | } 8 | -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogServerSide/Pages/ComponentWithCascadingValue.razor: -------------------------------------------------------------------------------- 1 | @page "/CascadingValue" 2 | 3 | 4 | 5 | @code { 6 | public string MyProperty { get; set; } = "Test Value"; 7 | } 8 | -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogServerSide/Pages/ComponentWithCascadingValue.razor: -------------------------------------------------------------------------------- 1 | @page "/CascadingValue" 2 | 3 | 4 | 5 | @code { 6 | public string MyProperty { get; set; } = "Test Value"; 7 | } 8 | -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogServerSide/Pages/ComponentWithCascadingValue.razor: -------------------------------------------------------------------------------- 1 | @page "/CascadingValue" 2 | 3 | 4 | 5 | @code { 6 | public string MyProperty { get; set; } = "Test Value"; 7 | } 8 | -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogServerSide/Pages/ComponentWithCascadingValue.razor: -------------------------------------------------------------------------------- 1 | @page "/CascadingValue" 2 | 3 | 4 | 5 | @code { 6 | public string MyProperty { get; set; } = "Test Value"; 7 | } 8 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/mouse-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/pentagon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/record-circle-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/calendar3-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/cone.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/file-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/geo-alt-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/plus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/exampleJsInterop.js: -------------------------------------------------------------------------------- 1 | // This is a JavaScript module that is loaded on demand. It can export any number of 2 | // functions, and may import other JavaScript modules if required. 3 | 4 | export function showPrompt(message) { 5 | return prompt(message, 'Type anything here'); 6 | } 7 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/calendar3-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/cone.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/file-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/geo-alt-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/plus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/exampleJsInterop.js: -------------------------------------------------------------------------------- 1 | // This is a JavaScript module that is loaded on demand. It can export any number of 2 | // functions, and may import other JavaScript modules if required. 3 | 4 | export function showPrompt(message) { 5 | return prompt(message, 'Type anything here'); 6 | } 7 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/calendar3-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/cone.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/file-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/geo-alt-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/plus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/exampleJsInterop.js: -------------------------------------------------------------------------------- 1 | // This is a JavaScript module that is loaded on demand. It can export any number of 2 | // functions, and may import other JavaScript modules if required. 3 | 4 | export function showPrompt(message) { 5 | return prompt(message, 'Type anything here'); 6 | } 7 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/calendar3-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/cone.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/file-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/geo-alt-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/plus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/exampleJsInterop.js: -------------------------------------------------------------------------------- 1 | // This is a JavaScript module that is loaded on demand. It can export any number of 2 | // functions, and may import other JavaScript modules if required. 3 | 4 | export function showPrompt(message) { 5 | return prompt(message, 'Type anything here'); 6 | } 7 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/calendar3-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/cloudy-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/cone.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/dash-circle-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/file-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/geo-alt-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/plus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/exampleJsInterop.js: -------------------------------------------------------------------------------- 1 | // This is a JavaScript module that is loaded on demand. It can export any number of 2 | // functions, and may import other JavaScript modules if required. 3 | 4 | export function showPrompt(message) { 5 | return prompt(message, 'Type anything here'); 6 | } 7 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/border-all.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/cloudy-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/dash-circle-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/heart-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/dash-circle-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/heart-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/moon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/dash-circle-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/heart-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/moon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/dash-circle-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/heart-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/moon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlogWebAssembly/Shared/MyBlogWebAssembly.Shared.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogWebAssembly/Shared/MyBlogWebAssembly.Shared.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/border-all.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/heart-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/union.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/stop-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/union.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/stop-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/stop-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/stop-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/stop-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/bookmark-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/phone-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/tv-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/bookmark-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/phone-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/tv-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/bookmark-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/phone-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/tv-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/bookmark-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/phone-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/tv-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/bookmark-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/pause.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/phone-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/tablet-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/tv-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/Bootstrap/scss/forms/_form-text.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Form text 3 | // 4 | 5 | .form-text { 6 | margin-top: $form-text-margin-top; 7 | @include font-size($form-text-font-size); 8 | font-style: $form-text-font-style; 9 | font-weight: $form-text-font-weight; 10 | color: $form-text-color; 11 | } 12 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/paragraph.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/pause.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/tablet-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/Bootstrap/scss/forms/_form-text.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Form text 3 | // 4 | 5 | .form-text { 6 | margin-top: $form-text-margin-top; 7 | @include font-size($form-text-font-size); 8 | font-style: $form-text-font-style; 9 | font-weight: $form-text-font-weight; 10 | color: $form-text-color; 11 | } 12 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/paragraph.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/pause.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/tablet-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/Bootstrap/scss/forms/_form-text.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Form text 3 | // 4 | 5 | .form-text { 6 | margin-top: $form-text-margin-top; 7 | @include font-size($form-text-font-size); 8 | font-style: $form-text-font-style; 9 | font-weight: $form-text-font-weight; 10 | color: $form-text-color; 11 | } 12 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/paragraph.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/pause.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/tablet-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/Bootstrap/scss/forms/_form-text.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Form text 3 | // 4 | 5 | .form-text { 6 | margin-top: $form-text-margin-top; 7 | @include font-size($form-text-font-size); 8 | font-style: $form-text-font-style; 9 | font-weight: $form-text-font-weight; 10 | color: $form-text-color; 11 | } 12 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/paragraph.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/pause.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/tablet-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogServerSide/Pages/ParentCounter.razor: -------------------------------------------------------------------------------- 1 | @page "/ParentCounter" 2 | 3 | 4 | The current count is: @currentcount 5 | 6 | @code { 7 | int incrementamount = 10; 8 | int currentcount = 0; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogServerSide/Pages/ParentCounter.razor: -------------------------------------------------------------------------------- 1 | @page "/ParentCounter" 2 | 3 | 4 | The current count is: @currentcount 5 | 6 | @code { 7 | int incrementamount = 10; 8 | int currentcount = 0; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogServerSide/Pages/ParentCounter.razor: -------------------------------------------------------------------------------- 1 | @page "/ParentCounter" 2 | 3 | 4 | The current count is: @currentcount 5 | 6 | @code { 7 | int incrementamount = 10; 8 | int currentcount = 0; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogServerSide/Pages/ParentCounter.razor: -------------------------------------------------------------------------------- 1 | @page "/ParentCounter" 2 | 3 | 4 | The current count is: @currentcount 5 | 6 | @code { 7 | int incrementamount = 10; 8 | int currentcount = 0; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/Bootstrap/scss/forms/_form-text.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Form text 3 | // 4 | 5 | .form-text { 6 | margin-top: $form-text-margin-top; 7 | @include font-size($form-text-font-size); 8 | font-style: $form-text-font-style; 9 | font-weight: $form-text-font-weight; 10 | color: $form-text-color; 11 | } 12 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/paragraph.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/exclamation.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/record-btn-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/record2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/slash-circle-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/exclamation.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/record-btn-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/record2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/slash-circle-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/exclamation.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/record-btn-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/record2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Ch12/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/slash-circle-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared.Tests/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Components.Forms 2 | @using Microsoft.AspNetCore.Components.Routing 3 | @using Microsoft.AspNetCore.Components.Web 4 | @using Microsoft.JSInterop 5 | @using Microsoft.Extensions.DependencyInjection 6 | @using Bunit 7 | @using Bunit.TestDoubles 8 | @using Xunit 9 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/exclamation.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/record-btn-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/record2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Ch13/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/slash-circle-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch4/MyBlog/MyBlogServerSide/MyBlogServerSide.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net5.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Ch5/MyBlog/MyBlogServerSide/Pages/SetFocus.razor: -------------------------------------------------------------------------------- 1 | @**@ 2 | @page "/SetFocus" 3 | @**@ 4 | 5 | @**@ 6 | 7 | 8 | @**@ 9 | 10 | @**@ 11 | @code { 12 | ElementReference textInput; 13 | } 14 | @**@ -------------------------------------------------------------------------------- /Ch6/MyBlog/MyBlogServerSide/Pages/SetFocus.razor: -------------------------------------------------------------------------------- 1 | @**@ 2 | @page "/SetFocus" 3 | @**@ 4 | 5 | @**@ 6 | 7 | 8 | @**@ 9 | 10 | @**@ 11 | @code { 12 | ElementReference textInput; 13 | } 14 | @**@ -------------------------------------------------------------------------------- /Ch7/MyBlog/MyBlogServerSide/Pages/SetFocus.razor: -------------------------------------------------------------------------------- 1 | @**@ 2 | @page "/SetFocus" 3 | @**@ 4 | 5 | @**@ 6 | 7 | 8 | @**@ 9 | 10 | @**@ 11 | @code { 12 | ElementReference textInput; 13 | } 14 | @**@ -------------------------------------------------------------------------------- /Ch8/MyBlog/MyBlogServerSide/Pages/SetFocus.razor: -------------------------------------------------------------------------------- 1 | @**@ 2 | @page "/SetFocus" 3 | @**@ 4 | 5 | @**@ 6 | 7 | 8 | @**@ 9 | 10 | @**@ 11 | @code { 12 | ElementReference textInput; 13 | } 14 | @**@ -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/dice-1-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/exclamation.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/record-btn-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/record2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/slash-circle-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch9/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/square-half.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/caret-down-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/caret-up-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/chat-left-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/check2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/clock-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/dice-1-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch10/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.4.1/square-half.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/caret-down-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/caret-up-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Ch11/MyBlog/MyBlog.Shared/wwwroot/bootstrap-icons-1.2.2/chat-left-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | --------------------------------------------------------------------------------