From fce6f71c88bf428b00a180e6c203ed2583159339 Mon Sep 17 00:00:00 2001 From: waterplea Date: Fri, 6 Oct 2023 18:43:11 +0400 Subject: [PATCH 01/15] feat(experimental): `Surface` add new directive --- .../svg/test/svg-options.component.spec.ts | 10 +- projects/core/styles/mixins/mixins.less | 2 +- .../src/assets/{icons8 => icons}/android.svg | 0 .../demo/src/assets/{icons8 => icons}/ios.svg | 0 projects/demo/src/assets/images/gas.svg | 124 ++++++++++ .../demo/src/assets/images/restaurant-1.jpg | Bin 0 -> 84545 bytes .../demo/src/assets/images/restaurant-2.jpg | Bin 0 -> 107117 bytes projects/demo/src/assets/images/tickets.svg | 184 +++++++++++++++ projects/demo/src/modules/app/app.routes.ts | 17 +- projects/demo/src/modules/app/pages.ts | 12 +- .../experimental/avatar/avatar.component.ts | 2 +- .../experimental/avatar/examples/2/index.html | 7 +- .../experimental/button/examples/3/index.html | 1 - .../experimental/fade/fade.template.html | 2 +- .../sensitive/sensitive.template.html | 2 +- .../experimental/surface/examples/1/base.less | 19 ++ .../surface/examples/1/index.html | 36 +++ .../surface/examples/1/index.less | 47 ++++ .../experimental/surface/examples/1/index.ts | 12 + .../surface/examples/2/index.html | 2 + .../surface/examples/2/index.less | 5 + .../experimental/surface/examples/2/index.ts | 12 + .../surface/examples/3/index.html | 8 + .../surface/examples/3/index.less | 22 ++ .../experimental/surface/examples/3/index.ts | 12 + .../surface/examples/4/index.html | 17 ++ .../surface/examples/4/index.less | 15 ++ .../experimental/surface/examples/4/index.ts | 12 + .../surface/examples/5/index.html | 17 ++ .../surface/examples/5/index.less | 5 + .../experimental/surface/examples/5/index.ts | 14 ++ .../surface/examples/6/index.html | 182 +++++++++++++++ .../surface/examples/6/index.less | 217 ++++++++++++++++++ .../experimental/surface/examples/6/index.ts | 30 +++ .../surface/examples/import/import-module.md | 13 ++ .../examples/import/insert-template.md | 5 + .../experimental/surface/surface.component.ts | 46 ++++ .../experimental/surface/surface.module.ts | 62 +++++ .../surface/surface.template.html | 98 ++++++++ .../icons/customization/examples/1/index.ts | 2 +- .../icons-mapping/examples/4/app.module.md | 2 +- projects/experimental/components/index.ts | 1 - .../directives/fade/fade.module.ts | 2 +- projects/experimental/directives/index.ts | 2 + .../sensitive/index.ts | 0 .../sensitive/ng-package.json | 0 .../sensitive/sensitive.component.ts | 0 .../sensitive/sensitive.directive.ts | 0 .../sensitive/sensitive.module.ts | 0 .../sensitive/sensitive.style.less | 0 .../experimental/directives/surface/index.ts | 3 + .../directives/surface/ng-package.json | 8 + .../directives/surface/surface.component.ts | 9 + .../directives/surface/surface.directive.ts | 19 ++ .../directives/surface/surface.module.ts | 10 + .../directives/surface/surface.style.less | 152 ++++++++++++ 56 files changed, 1454 insertions(+), 27 deletions(-) rename projects/demo/src/assets/{icons8 => icons}/android.svg (100%) rename projects/demo/src/assets/{icons8 => icons}/ios.svg (100%) create mode 100644 projects/demo/src/assets/images/gas.svg create mode 100644 projects/demo/src/assets/images/restaurant-1.jpg create mode 100644 projects/demo/src/assets/images/restaurant-2.jpg create mode 100644 projects/demo/src/assets/images/tickets.svg create mode 100644 projects/demo/src/modules/experimental/surface/examples/1/base.less create mode 100644 projects/demo/src/modules/experimental/surface/examples/1/index.html create mode 100644 projects/demo/src/modules/experimental/surface/examples/1/index.less create mode 100644 projects/demo/src/modules/experimental/surface/examples/1/index.ts create mode 100644 projects/demo/src/modules/experimental/surface/examples/2/index.html create mode 100644 projects/demo/src/modules/experimental/surface/examples/2/index.less create mode 100644 projects/demo/src/modules/experimental/surface/examples/2/index.ts create mode 100644 projects/demo/src/modules/experimental/surface/examples/3/index.html create mode 100644 projects/demo/src/modules/experimental/surface/examples/3/index.less create mode 100644 projects/demo/src/modules/experimental/surface/examples/3/index.ts create mode 100644 projects/demo/src/modules/experimental/surface/examples/4/index.html create mode 100644 projects/demo/src/modules/experimental/surface/examples/4/index.less create mode 100644 projects/demo/src/modules/experimental/surface/examples/4/index.ts create mode 100644 projects/demo/src/modules/experimental/surface/examples/5/index.html create mode 100644 projects/demo/src/modules/experimental/surface/examples/5/index.less create mode 100644 projects/demo/src/modules/experimental/surface/examples/5/index.ts create mode 100644 projects/demo/src/modules/experimental/surface/examples/6/index.html create mode 100644 projects/demo/src/modules/experimental/surface/examples/6/index.less create mode 100644 projects/demo/src/modules/experimental/surface/examples/6/index.ts create mode 100644 projects/demo/src/modules/experimental/surface/examples/import/import-module.md create mode 100644 projects/demo/src/modules/experimental/surface/examples/import/insert-template.md create mode 100644 projects/demo/src/modules/experimental/surface/surface.component.ts create mode 100644 projects/demo/src/modules/experimental/surface/surface.module.ts create mode 100644 projects/demo/src/modules/experimental/surface/surface.template.html rename projects/experimental/{components => directives}/sensitive/index.ts (100%) rename projects/experimental/{components => directives}/sensitive/ng-package.json (100%) rename projects/experimental/{components => directives}/sensitive/sensitive.component.ts (100%) rename projects/experimental/{components => directives}/sensitive/sensitive.directive.ts (100%) rename projects/experimental/{components => directives}/sensitive/sensitive.module.ts (100%) rename projects/experimental/{components => directives}/sensitive/sensitive.style.less (100%) create mode 100644 projects/experimental/directives/surface/index.ts create mode 100644 projects/experimental/directives/surface/ng-package.json create mode 100644 projects/experimental/directives/surface/surface.component.ts create mode 100644 projects/experimental/directives/surface/surface.directive.ts create mode 100644 projects/experimental/directives/surface/surface.module.ts create mode 100644 projects/experimental/directives/surface/surface.style.less diff --git a/projects/core/components/svg/test/svg-options.component.spec.ts b/projects/core/components/svg/test/svg-options.component.spec.ts index 0c7afdb9d249..8a02c46c278f 100644 --- a/projects/core/components/svg/test/svg-options.component.spec.ts +++ b/projects/core/components/svg/test/svg-options.component.spec.ts @@ -223,7 +223,7 @@ describe(`SVG options`, () => { const myCustomPrefix = `icons8::`; return String(src).startsWith(myCustomPrefix) - ? `assets/icons8/${String(src).replace( + ? `assets/icons/${String(src).replace( myCustomPrefix, ``, )}.svg` @@ -239,8 +239,8 @@ describe(`SVG options`, () => { fixture?.detectChanges(); expect(testComponent?.svgComponent.isInnerHTML).toBe(true); - expect(testComponent?.svgComponent.src).toBe(`assets/icons8/android.svg`); - expect(testComponent?.svgComponent.use).toBe(`#assets/icons8/android.svg`); + expect(testComponent?.svgComponent.src).toBe(`assets/icons/android.svg`); + expect(testComponent?.svgComponent.use).toBe(`#assets/icons/android.svg`); }); it(`tuiIconTdsSuperIcon and TUI_SVG_SRC_PROCESSOR should be ignored`, () => { @@ -308,7 +308,7 @@ describe(`SVG options`, () => { tuiSvgOptionsProvider({path: `assets/default-path-to-icons/`}), tuiSvgSrcInterceptors((src: TuiSafeHtml) => String(src).startsWith(`icons8::`) - ? `assets/icons8/${String(src).replace(`icons8::`, ``)}.svg` + ? `assets/icons/${String(src).replace(`icons8::`, ``)}.svg` : src, ), tuiSvgSrcInterceptors((src: TuiSafeHtml) => @@ -333,7 +333,7 @@ describe(`SVG options`, () => { fixture?.detectChanges(); expect(testComponent?.svgComponent.isInnerHTML).toBe(true); - expect(testComponent?.svgComponent.src).toBe(`assets/icons8/android.svg`); + expect(testComponent?.svgComponent.src).toBe(`assets/icons/android.svg`); }); it(`tuiIconTdsSuperToken`, () => { diff --git a/projects/core/styles/mixins/mixins.less b/projects/core/styles/mixins/mixins.less index 6dbdca088cae..09216e066d6c 100644 --- a/projects/core/styles/mixins/mixins.less +++ b/projects/core/styles/mixins/mixins.less @@ -246,7 +246,7 @@ } // transition -.transition(@param, @speed: var(--tui-duration, 300ms)) { +.transition(@param: all, @speed: var(--tui-duration, 300ms)) { transition-property: @param; transition-duration: @speed; transition-timing-function: ease-in-out; diff --git a/projects/demo/src/assets/icons8/android.svg b/projects/demo/src/assets/icons/android.svg similarity index 100% rename from projects/demo/src/assets/icons8/android.svg rename to projects/demo/src/assets/icons/android.svg diff --git a/projects/demo/src/assets/icons8/ios.svg b/projects/demo/src/assets/icons/ios.svg similarity index 100% rename from projects/demo/src/assets/icons8/ios.svg rename to projects/demo/src/assets/icons/ios.svg diff --git a/projects/demo/src/assets/images/gas.svg b/projects/demo/src/assets/images/gas.svg new file mode 100644 index 000000000000..8109d95dad28 --- /dev/null +++ b/projects/demo/src/assets/images/gas.svg @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/projects/demo/src/assets/images/restaurant-1.jpg b/projects/demo/src/assets/images/restaurant-1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..148b03ae1774d94b7ea4ef19cc7f5d7b62972051 GIT binary patch literal 84545 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%0Dn4!Z5ldLn$&_P6wy|*VRh%r6dqU#mg#mhc6Kn25 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 Ird^}|*&JDii~s-t literal 0 HcmV?d00001 diff --git a/projects/demo/src/assets/images/restaurant-2.jpg b/projects/demo/src/assets/images/restaurant-2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4372961e25ed8d9d8e6191fbde014d034c9031e7 GIT binary patch literal 107117 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 VL8(ZmDQQ26Xu16{Q)G~n|JhljTZI4s literal 0 HcmV?d00001 diff --git a/projects/demo/src/assets/images/tickets.svg b/projects/demo/src/assets/images/tickets.svg new file mode 100644 index 000000000000..8ef1a8080ef4 --- /dev/null +++ b/projects/demo/src/assets/images/tickets.svg @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/projects/demo/src/modules/app/app.routes.ts b/projects/demo/src/modules/app/app.routes.ts index 6cac8b6a8d98..d25a6924d888 100644 --- a/projects/demo/src/modules/app/app.routes.ts +++ b/projects/demo/src/modules/app/app.routes.ts @@ -240,6 +240,15 @@ export const ROUTES: Routes = [ title: `Button `, }, }, + { + path: `experimental/compass`, + loadChildren: async () => + (await import(`../experimental/compass/compass.module`)) + .ExampleTuiCompassModule, + data: { + title: `Compass`, + }, + }, { path: `experimental/fade`, loadChildren: async () => @@ -258,12 +267,12 @@ export const ROUTES: Routes = [ }, }, { - path: `experimental/compass`, + path: `experimental/surface`, loadChildren: async () => - (await import(`../experimental/compass/compass.module`)) - .ExampleTuiCompassModule, + (await import(`../experimental/surface/surface.module`)) + .ExampleTuiSurfaceModule, data: { - title: `Compass`, + title: `Surface`, }, }, { diff --git a/projects/demo/src/modules/app/pages.ts b/projects/demo/src/modules/app/pages.ts index 96f10d262ec3..4bc069e2003d 100644 --- a/projects/demo/src/modules/app/pages.ts +++ b/projects/demo/src/modules/app/pages.ts @@ -853,6 +853,12 @@ export const pages: TuiDocPages = [ keywords: `кнопка, button, icon-button, иконка`, route: `/experimental/button`, }, + { + section: `Experimental`, + title: `Compass`, + keywords: `compass, user, point, dot, карта, точка`, + route: `/experimental/compass`, + }, { section: `Experimental`, title: `Fade`, @@ -867,9 +873,9 @@ export const pages: TuiDocPages = [ }, { section: `Experimental`, - title: `Compass`, - keywords: `compass, user, point, dot, карта, точка`, - route: `/experimental/compass`, + title: `Surface`, + keywords: `card, container, wrapper, image, blur, overlay`, + route: `/experimental/surface`, }, // Charts { diff --git a/projects/demo/src/modules/experimental/avatar/avatar.component.ts b/projects/demo/src/modules/experimental/avatar/avatar.component.ts index 4d206e32e98a..b8ba4b387ee7 100644 --- a/projects/demo/src/modules/experimental/avatar/avatar.component.ts +++ b/projects/demo/src/modules/experimental/avatar/avatar.component.ts @@ -68,7 +68,7 @@ export class ExampleTuiAvatarComponent { src = this.srcVariants[0]; - round = false; + round = true; constructor(@Inject(DomSanitizer) private readonly sanitizer: DomSanitizer) {} } diff --git a/projects/demo/src/modules/experimental/avatar/examples/2/index.html b/projects/demo/src/modules/experimental/avatar/examples/2/index.html index 1978b6f92fe0..12679184c170 100644 --- a/projects/demo/src/modules/experimental/avatar/examples/2/index.html +++ b/projects/demo/src/modules/experimental/avatar/examples/2/index.html @@ -1,17 +1,12 @@ - +

Fading
diff --git a/projects/demo/src/modules/experimental/button/examples/3/index.html b/projects/demo/src/modules/experimental/button/examples/3/index.html index 74fa958a3955..d2b932ea4208 100644 --- a/projects/demo/src/modules/experimental/button/examples/3/index.html +++ b/projects/demo/src/modules/experimental/button/examples/3/index.html @@ -5,7 +5,6 @@ Alex Inkin diff --git a/projects/demo/src/modules/experimental/fade/fade.template.html b/projects/demo/src/modules/experimental/fade/fade.template.html index a146cb4dbc3f..5f7b5bbbde07 100644 --- a/projects/demo/src/modules/experimental/fade/fade.template.html +++ b/projects/demo/src/modules/experimental/fade/fade.template.html @@ -1,7 +1,7 @@ diff --git a/projects/demo/src/modules/experimental/sensitive/sensitive.template.html b/projects/demo/src/modules/experimental/sensitive/sensitive.template.html index 76d8dbd4b264..ff9e194a4bd8 100644 --- a/projects/demo/src/modules/experimental/sensitive/sensitive.template.html +++ b/projects/demo/src/modules/experimental/sensitive/sensitive.template.html @@ -1,7 +1,7 @@ diff --git a/projects/demo/src/modules/experimental/surface/examples/1/base.less b/projects/demo/src/modules/experimental/surface/examples/1/base.less new file mode 100644 index 000000000000..3f2eaa547cbe --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/examples/1/base.less @@ -0,0 +1,19 @@ +@import 'taiga-ui-local'; + +:host { + display: grid; + grid-template-columns: repeat(3, 8rem); + gap: 1rem; + + * { + .shadow(1); + font-weight: bold; + text-align: center; + } +} + +.highlight { + box-shadow: none; + background: var(--tui-primary); + color: var(--tui-primary-text); +} diff --git a/projects/demo/src/modules/experimental/surface/examples/1/index.html b/projects/demo/src/modules/experimental/surface/examples/1/index.html new file mode 100644 index 000000000000..0bb4487a36a1 --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/examples/1/index.html @@ -0,0 +1,36 @@ + + + + + + diff --git a/projects/demo/src/modules/experimental/surface/examples/1/index.less b/projects/demo/src/modules/experimental/surface/examples/1/index.less new file mode 100644 index 000000000000..00db6d6eb1af --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/examples/1/index.less @@ -0,0 +1,47 @@ +@import 'taiga-ui-local'; + +.scale { + @media (hover: hover) and (pointer: fine) { + &:hover { + transform: scale(1.15); + } + } + + &:active { + transform: scale(0.95); + } +} + +.overlay { + &:after { + background: var(--tui-info-bg); + opacity: 0; + } + + &:active:after { + opacity: 1; + } +} + +.highlight:active:after { + backdrop-filter: brightness(0.9); +} + +.offset:hover { + transform: translate3d(0, -0.25rem, 0); +} + +.background { + &:before { + background: url(/assets/images/not-found.svg) top; + background-size: 300%; + } + + &:hover:before { + transform: scale(1.15); + } +} + +.shadow:hover { + .shadow(5); +} diff --git a/projects/demo/src/modules/experimental/surface/examples/1/index.ts b/projects/demo/src/modules/experimental/surface/examples/1/index.ts new file mode 100644 index 000000000000..d1bd776c7011 --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/examples/1/index.ts @@ -0,0 +1,12 @@ +import {Component} from '@angular/core'; +import {changeDetection} from '@demo/emulate/change-detection'; +import {encapsulation} from '@demo/emulate/encapsulation'; + +@Component({ + selector: 'tui-surface-example-1', + templateUrl: './index.html', + styleUrls: ['./base.less', './index.less'], + changeDetection, + encapsulation, +}) +export class TuiSurfaceExample1 {} diff --git a/projects/demo/src/modules/experimental/surface/examples/2/index.html b/projects/demo/src/modules/experimental/surface/examples/2/index.html new file mode 100644 index 000000000000..470486b6e5b2 --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/examples/2/index.html @@ -0,0 +1,2 @@ + + diff --git a/projects/demo/src/modules/experimental/surface/examples/2/index.less b/projects/demo/src/modules/experimental/surface/examples/2/index.less new file mode 100644 index 000000000000..149b14b3d18e --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/examples/2/index.less @@ -0,0 +1,5 @@ +:host { + display: grid; + grid-template-columns: repeat(3, 8rem); + gap: 1rem; +} diff --git a/projects/demo/src/modules/experimental/surface/examples/2/index.ts b/projects/demo/src/modules/experimental/surface/examples/2/index.ts new file mode 100644 index 000000000000..847781433440 --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/examples/2/index.ts @@ -0,0 +1,12 @@ +import {Component} from '@angular/core'; +import {changeDetection} from '@demo/emulate/change-detection'; +import {encapsulation} from '@demo/emulate/encapsulation'; + +@Component({ + selector: 'tui-surface-example-2', + templateUrl: './index.html', + styleUrls: ['./index.less'], + changeDetection, + encapsulation, +}) +export class TuiSurfaceExample2 {} diff --git a/projects/demo/src/modules/experimental/surface/examples/3/index.html b/projects/demo/src/modules/experimental/surface/examples/3/index.html new file mode 100644 index 000000000000..42d9f0e6451f --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/examples/3/index.html @@ -0,0 +1,8 @@ +
+

backdrop-filter

+

You can use backdrop-filter to blur the background.

+
Never use this mode with shadow
+
diff --git a/projects/demo/src/modules/experimental/surface/examples/3/index.less b/projects/demo/src/modules/experimental/surface/examples/3/index.less new file mode 100644 index 000000000000..06835e978ae8 --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/examples/3/index.less @@ -0,0 +1,22 @@ +:host { + display: block; + background: url('/assets/images/big-wallpaper.jpg'); + padding: 2rem; + background-size: cover; +} + +.blur { + flex-direction: column; + background: var(--tui-clear-inverse); + color: var(--tui-text-01-night); + backdrop-filter: blur(1rem); +} + +.title { + margin: -0.25rem 0 0; + font: var(--tui-font-heading-6); +} + +.text { + margin-bottom: -0.125rem; +} diff --git a/projects/demo/src/modules/experimental/surface/examples/3/index.ts b/projects/demo/src/modules/experimental/surface/examples/3/index.ts new file mode 100644 index 000000000000..baa0b5cff93e --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/examples/3/index.ts @@ -0,0 +1,12 @@ +import {Component} from '@angular/core'; +import {changeDetection} from '@demo/emulate/change-detection'; +import {encapsulation} from '@demo/emulate/encapsulation'; + +@Component({ + selector: 'tui-surface-example-3', + templateUrl: './index.html', + styleUrls: ['./index.less'], + changeDetection, + encapsulation, +}) +export class TuiSurfaceExample3 {} diff --git a/projects/demo/src/modules/experimental/surface/examples/4/index.html b/projects/demo/src/modules/experimental/surface/examples/4/index.html new file mode 100644 index 000000000000..5c1980787dc4 --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/examples/4/index.html @@ -0,0 +1,17 @@ +
+ + Big Buck Bunny +
diff --git a/projects/demo/src/modules/experimental/surface/examples/4/index.less b/projects/demo/src/modules/experimental/surface/examples/4/index.less new file mode 100644 index 000000000000..3774510b8a5b --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/examples/4/index.less @@ -0,0 +1,15 @@ +.surface { + display: flex; + align-items: flex-end; + justify-content: center; + height: 10rem; + color: var(--tui-text-01-night); + font: var(--tui-font-text-l); + font-weight: bold; + + &:after { + background: var(--tui-clear); + box-shadow: inset 0 -7rem 6rem -6rem #000; + mix-blend-mode: multiply; + } +} diff --git a/projects/demo/src/modules/experimental/surface/examples/4/index.ts b/projects/demo/src/modules/experimental/surface/examples/4/index.ts new file mode 100644 index 000000000000..d2a566cf1293 --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/examples/4/index.ts @@ -0,0 +1,12 @@ +import {Component} from '@angular/core'; +import {changeDetection} from '@demo/emulate/change-detection'; +import {encapsulation} from '@demo/emulate/encapsulation'; + +@Component({ + selector: 'tui-surface-example-4', + templateUrl: './index.html', + styleUrls: ['./index.less'], + changeDetection, + encapsulation, +}) +export class TuiSurfaceExample4 {} diff --git a/projects/demo/src/modules/experimental/surface/examples/5/index.html b/projects/demo/src/modules/experimental/surface/examples/5/index.html new file mode 100644 index 000000000000..4243d64a6d07 --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/examples/5/index.html @@ -0,0 +1,17 @@ + diff --git a/projects/demo/src/modules/experimental/surface/examples/5/index.less b/projects/demo/src/modules/experimental/surface/examples/5/index.less new file mode 100644 index 000000000000..8350d2a76c8f --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/examples/5/index.less @@ -0,0 +1,5 @@ +:host { + display: flex; + gap: 1rem; + white-space: nowrap; +} diff --git a/projects/demo/src/modules/experimental/surface/examples/5/index.ts b/projects/demo/src/modules/experimental/surface/examples/5/index.ts new file mode 100644 index 000000000000..7186a6066cc8 --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/examples/5/index.ts @@ -0,0 +1,14 @@ +import {Component} from '@angular/core'; +import {changeDetection} from '@demo/emulate/change-detection'; +import {encapsulation} from '@demo/emulate/encapsulation'; + +@Component({ + selector: 'tui-surface-example-5', + templateUrl: './index.html', + styleUrls: ['./index.less'], + changeDetection, + encapsulation, +}) +export class TuiSurfaceExample5 { + value = null; +} diff --git a/projects/demo/src/modules/experimental/surface/examples/6/index.html b/projects/demo/src/modules/experimental/surface/examples/6/index.html new file mode 100644 index 000000000000..280605b13786 --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/examples/6/index.html @@ -0,0 +1,182 @@ + + + +
+
+ + +
+
+ + +
+
+ +
+ + + +
+ +
+

+ Taiga UI reviews + +

+ +
+
+ {{ review.body }} +
+ + +
+
+
+
+ +
+ +
+

+ My bank account + +

+ +
+ + + +
+
diff --git a/projects/demo/src/modules/experimental/surface/examples/6/index.less b/projects/demo/src/modules/experimental/surface/examples/6/index.less new file mode 100644 index 000000000000..9de568a89c4e --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/examples/6/index.less @@ -0,0 +1,217 @@ +:host { + display: grid; + grid-template-columns: repeat(6, 6.5rem); + grid-auto-rows: 7rem; + align-items: start; + gap: 1rem; +} + +.card { + height: 7rem; + display: flex; + flex-direction: column; + border-radius: 1.25rem; + padding: 1rem; + background-size: contain; + background-position: right; + font: var(--tui-font-text-xs); + background-color: currentColor; + box-shadow: inset -4rem 0 3rem -2rem; + + &:first-child { + grid-column: span 2; + } + + &:hover { + box-shadow: inset 0 0 3rem -2rem; + transform: scale(1.1); + } + + &:active:before { + backdrop-filter: brightness(0.9); + } + + .heading { + font: var(--tui-font-text-s); + color: var(--tui-text-01-night); + font-weight: bold; + margin: -0.125rem 0 0; + } + + .content { + max-width: 50%; + color: var(--tui-text-01-night); + } + + .badge { + margin: auto auto -0.125rem -0.125rem; + } +} + +.restaurant { + height: 15rem; + grid-column: span 3; + grid-row: span 2; + display: flex; + flex-direction: column; + justify-content: space-between; + color: var(--tui-text-01-night); + font-size: 1.375rem; + border-radius: 1.25rem; + padding: 1rem; + box-shadow: inset 0 10rem 7rem -5rem #000; + background-image: url('/assets/images/restaurant-1.jpg'); + + &:hover { + background-image: url('/assets/images/restaurant-2.jpg'); + } + + .header { + display: flex; + justify-content: space-between; + align-items: flex-start; + padding: 0 0.25rem; + } + + .footer { + display: flex; + justify-content: space-between; + } +} + +.blur { + grid-column: span 3; + display: flex; + align-items: center; + gap: 1rem; + font: var(--tui-font-heading-6); + color: var(--tui-text-01-night); + background-image: url(/assets/images/restaurant-2.jpg); + border-radius: 0; + clip-path: inset(0 round 5rem); // for crisp edges + + &:before { + backdrop-filter: blur(1rem); + mix-blend-mode: multiply; // Fix for https://bugs.chromium.org/p/chromium/issues/detail?id=1486408 + } + + .button { + border-radius: 100%; + margin: 0 0.375rem 0 auto; + } +} + +.reviews { + grid-column: span 3; + grid-row: span 3; + display: flex; + flex-direction: column; + + .heading { + margin: -0.25rem 0 0; + font: var(--tui-font-heading-6); + } + + .link { + float: right; + font: var(--tui-font-text-m); + } + + .scrollbar { + margin: 0.75rem -1.25rem 1.25rem; + scroll-snap-type: x mandatory; + overscroll-behavior-x: contain; + } + + .wrapper { + display: flex; + padding: 0 1.25rem; + gap: 0.625rem; + + &:after { + content: ''; + min-width: 0.625rem; + } + } + + .review { + display: flex; + flex-direction: column; + gap: 0.5rem; + min-width: calc(100% - 0.75rem); + padding: 0.75rem 1rem 1rem; + border-radius: 1rem; + font: var(--tui-font-text-l); + scroll-snap-align: start; + scroll-margin: 1.25rem; + } + + .footer { + display: flex; + align-items: flex-end; + gap: 0.75rem; + margin-top: auto; + font: var(--tui-font-text-s); + } + + .label { + flex-direction: column-reverse; + } +} + +.mask { + grid-column: span 3; + grid-row: span 3; + border-radius: 0; + padding: 4rem 2rem 7rem; + color: var(--tui-text-01-night); + background: #333 radial-gradient(circle at 80% 70%, #aff218 -20%, transparent 60%); + mask: linear-gradient( + 180deg, + #222222 77.89%, + rgba(36, 36, 36, 0.991353) 79.36%, + rgba(42, 42, 42, 0.96449) 80.84%, + rgba(52, 52, 52, 0.91834) 82.31%, + rgba(67, 67, 67, 0.852589) 83.79%, + rgba(85, 85, 85, 0.768225) 85.26%, + rgba(107, 107, 107, 0.668116) 86.73%, + rgba(132, 132, 132, 0.557309) 88.21%, + rgba(157, 157, 157, 0.442691) 89.68%, + rgba(182, 182, 182, 0.331884) 91.16%, + rgba(204, 204, 204, 0.231775) 92.63%, + rgba(222, 222, 222, 0.147411) 94.1%, + rgba(237, 237, 237, 0.0816599) 95.58%, + rgba(247, 247, 247, 0.03551) 97.05%, + rgba(253, 253, 253, 0.0086472) 98.53%, + rgba(255, 255, 255, 0) 100% + ); + + .heading { + display: flex; + align-items: center; + gap: 0.25rem; + font: var(--tui-font-heading-6); + margin: 0; + } + + .button { + border-radius: 100%; + transform: scale(0.75); + } + + .sum { + font: var(--tui-font-heading-4); + margin-bottom: 4rem; + } + + .footer { + display: flex; + gap: 0.75rem; + margin-top: 4rem; + } + + .add { + width: 3rem; + border-radius: var(--tui-radius-xs); + } +} diff --git a/projects/demo/src/modules/experimental/surface/examples/6/index.ts b/projects/demo/src/modules/experimental/surface/examples/6/index.ts new file mode 100644 index 000000000000..50b0e87e5028 --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/examples/6/index.ts @@ -0,0 +1,30 @@ +import {Component} from '@angular/core'; +import {changeDetection} from '@demo/emulate/change-detection'; +import {encapsulation} from '@demo/emulate/encapsulation'; + +@Component({ + selector: 'tui-surface-example-6', + templateUrl: './index.html', + styleUrls: ['./index.less'], + changeDetection, + encapsulation, +}) +export class TuiSurfaceExample6 { + readonly reviews = [ + { + name: 'Alex Inkin', + time: '2 days ago', + body: 'It is an absolute blast!', + }, + { + name: 'Alex Inkin', + time: '3 days ago', + body: "I'm starting to kind of enjoy this library.", + }, + { + name: 'Alex Inkin', + time: '4 days ago', + body: 'This library seems interesting but I hesitate refactoring our entire codebase...', + }, + ]; +} diff --git a/projects/demo/src/modules/experimental/surface/examples/import/import-module.md b/projects/demo/src/modules/experimental/surface/examples/import/import-module.md new file mode 100644 index 000000000000..9c1fe756f550 --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/examples/import/import-module.md @@ -0,0 +1,13 @@ +```ts +import {NgModule} from '@angular/core'; +import {TuiSurfaceModule} from '@taiga-ui/experimental'; +// ... + +@NgModule({ + imports: [ + // ... + TuiSurfaceModule, + ], +}) +export class MyModule {} +``` diff --git a/projects/demo/src/modules/experimental/surface/examples/import/insert-template.md b/projects/demo/src/modules/experimental/surface/examples/import/insert-template.md new file mode 100644 index 000000000000..4bc0c53c5957 --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/examples/import/insert-template.md @@ -0,0 +1,5 @@ +```html +
+ +
+``` diff --git a/projects/demo/src/modules/experimental/surface/surface.component.ts b/projects/demo/src/modules/experimental/surface/surface.component.ts new file mode 100644 index 000000000000..51c686ea6116 --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/surface.component.ts @@ -0,0 +1,46 @@ +import {Component} from '@angular/core'; +import {changeDetection} from '@demo/emulate/change-detection'; +import {RawLoaderContent, TuiDocExample} from '@taiga-ui/addon-doc'; + +@Component({ + selector: 'example-surface', + templateUrl: './surface.template.html', + changeDetection, +}) +export class ExampleTuiSurfaceComponent { + readonly exampleModule: RawLoaderContent = import( + './examples/import/import-module.md?raw' + ); + + readonly exampleHtml: RawLoaderContent = import( + './examples/import/insert-template.md?raw' + ); + + readonly example1: TuiDocExample = { + HTML: import('./examples/1/index.html?raw'), + LESS: import('./examples/1/index.less?raw'), + }; + + readonly example2: TuiDocExample = { + HTML: import('./examples/2/index.html?raw'), + }; + + readonly example3: TuiDocExample = { + HTML: import('./examples/3/index.html?raw'), + LESS: import('./examples/3/index.less?raw'), + }; + + readonly example4: TuiDocExample = { + HTML: import('./examples/4/index.html?raw'), + LESS: import('./examples/4/index.less?raw'), + }; + + readonly example5: TuiDocExample = { + HTML: import('./examples/5/index.html?raw'), + }; + + readonly example6: TuiDocExample = { + HTML: import('./examples/5/index.html?raw'), + LESS: import('./examples/5/index.less?raw'), + }; +} diff --git a/projects/demo/src/modules/experimental/surface/surface.module.ts b/projects/demo/src/modules/experimental/surface/surface.module.ts new file mode 100644 index 000000000000..644cc45bb72d --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/surface.module.ts @@ -0,0 +1,62 @@ +import {CommonModule} from '@angular/common'; +import {NgModule} from '@angular/core'; +import {FormsModule} from '@angular/forms'; +import {RouterModule} from '@angular/router'; +import {TuiMoneyModule, TuiThumbnailCardModule} from '@taiga-ui/addon-commerce'; +import {TuiAddonDocModule, tuiGenerateRoutes} from '@taiga-ui/addon-doc'; +import {TuiRippleModule} from '@taiga-ui/addon-mobile'; +import {TuiRepeatTimesModule} from '@taiga-ui/cdk'; +import { + TuiLabelModule, + TuiLinkModule, + TuiModeModule, + TuiNotificationModule, + TuiScrollbarModule, +} from '@taiga-ui/core'; +import { + TuiAvatarModule, + TuiBadgeModule, + TuiButtonModule, + TuiSurfaceModule, +} from '@taiga-ui/experimental'; + +import {TuiSurfaceExample1} from './examples/1'; +import {TuiSurfaceExample2} from './examples/2'; +import {TuiSurfaceExample3} from './examples/3'; +import {TuiSurfaceExample4} from './examples/4'; +import {TuiSurfaceExample5} from './examples/5'; +import {TuiSurfaceExample6} from './examples/6'; +import {ExampleTuiSurfaceComponent} from './surface.component'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + TuiSurfaceModule, + TuiNotificationModule, + TuiRippleModule, + TuiRepeatTimesModule, + TuiBadgeModule, + TuiScrollbarModule, + TuiButtonModule, + TuiLinkModule, + TuiAvatarModule, + TuiLabelModule, + TuiAddonDocModule, + RouterModule.forChild(tuiGenerateRoutes(ExampleTuiSurfaceComponent)), + TuiModeModule, + TuiMoneyModule, + TuiThumbnailCardModule, + ], + declarations: [ + ExampleTuiSurfaceComponent, + TuiSurfaceExample1, + TuiSurfaceExample2, + TuiSurfaceExample3, + TuiSurfaceExample4, + TuiSurfaceExample5, + TuiSurfaceExample6, + ], + exports: [ExampleTuiSurfaceComponent], +}) +export class ExampleTuiSurfaceModule {} diff --git a/projects/demo/src/modules/experimental/surface/surface.template.html b/projects/demo/src/modules/experimental/surface/surface.template.html new file mode 100644 index 000000000000..b6897ea233db --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/surface.template.html @@ -0,0 +1,98 @@ + + + + This code is + experimental + and is a subject to change. Expect final solution to be shipped in the next major version + + +

General purpose container used in Taiga UI interfaces

+ + + + + + + + + + + + + + + + + + + + + + + + You can combine element background, + ::before + and + ::after + pseudo-elements to create complex surfaces. +

+ For more complex cases like the two previous examples you can use + tuiSurfaceLayer + directive to introduce more layers behind content. +

+
+ +
+
+ + +
    +
  1. +

    Import the module:

    + + +
  2. + +
  3. +

    Add to the template:

    + + +
  4. +
+
+
diff --git a/projects/demo/src/modules/icons/customization/examples/1/index.ts b/projects/demo/src/modules/icons/customization/examples/1/index.ts index 999a7c418db9..2c91be68bb8c 100644 --- a/projects/demo/src/modules/icons/customization/examples/1/index.ts +++ b/projects/demo/src/modules/icons/customization/examples/1/index.ts @@ -27,7 +27,7 @@ import {NgDompurifySanitizer} from '@tinkoff/ng-dompurify'; */ tuiSvgSrcInterceptors((src: TuiSafeHtml) => String(src).startsWith('icons8::') - ? `assets/icons8/${String(src).replace('icons8::', '')}.svg` + ? `assets/icons/${String(src).replace('icons8::', '')}.svg` : src, ), ], diff --git a/projects/demo/src/modules/icons/icons-mapping/examples/4/app.module.md b/projects/demo/src/modules/icons/icons-mapping/examples/4/app.module.md index 0df9c33a1b29..79e20da13177 100644 --- a/projects/demo/src/modules/icons/icons-mapping/examples/4/app.module.md +++ b/projects/demo/src/modules/icons/icons-mapping/examples/4/app.module.md @@ -42,7 +42,7 @@ import {tuiSvgOptionsProvider, tuiSvgSrcInterceptors} from '@taiga-ui/core'; */ tuiSvgSrcInterceptors(src => src.replace(/#.*$/, '')), tuiSvgSrcInterceptors(src => - String(src).startsWith('icons8::') ? `assets/icons8/${String(src).replace('icons8::', '')}.svg` : src, + String(src).startsWith('icons8::') ? `assets/icons/${String(src).replace('icons8::', '')}.svg` : src, ), ], }) diff --git a/projects/experimental/components/index.ts b/projects/experimental/components/index.ts index db2f2afa96c0..64b3bac5ba43 100644 --- a/projects/experimental/components/index.ts +++ b/projects/experimental/components/index.ts @@ -5,4 +5,3 @@ export * from '@taiga-ui/experimental/components/badge-alert'; export * from '@taiga-ui/experimental/components/badged-content'; export * from '@taiga-ui/experimental/components/button'; export * from '@taiga-ui/experimental/components/compass'; -export * from '@taiga-ui/experimental/components/sensitive'; diff --git a/projects/experimental/directives/fade/fade.module.ts b/projects/experimental/directives/fade/fade.module.ts index 4e9dd6668485..9599f883f017 100644 --- a/projects/experimental/directives/fade/fade.module.ts +++ b/projects/experimental/directives/fade/fade.module.ts @@ -5,6 +5,6 @@ import {TuiFadeDirective} from './fade.directive'; @NgModule({ declarations: [TuiFadeComponent, TuiFadeDirective], - exports: [TuiFadeComponent, TuiFadeDirective], + exports: [TuiFadeDirective], }) export class TuiFadeModule {} diff --git a/projects/experimental/directives/index.ts b/projects/experimental/directives/index.ts index 6f97839ecd7d..5758f3fd140a 100644 --- a/projects/experimental/directives/index.ts +++ b/projects/experimental/directives/index.ts @@ -1 +1,3 @@ export * from '@taiga-ui/experimental/directives/fade'; +export * from '@taiga-ui/experimental/directives/sensitive'; +export * from '@taiga-ui/experimental/directives/surface'; diff --git a/projects/experimental/components/sensitive/index.ts b/projects/experimental/directives/sensitive/index.ts similarity index 100% rename from projects/experimental/components/sensitive/index.ts rename to projects/experimental/directives/sensitive/index.ts diff --git a/projects/experimental/components/sensitive/ng-package.json b/projects/experimental/directives/sensitive/ng-package.json similarity index 100% rename from projects/experimental/components/sensitive/ng-package.json rename to projects/experimental/directives/sensitive/ng-package.json diff --git a/projects/experimental/components/sensitive/sensitive.component.ts b/projects/experimental/directives/sensitive/sensitive.component.ts similarity index 100% rename from projects/experimental/components/sensitive/sensitive.component.ts rename to projects/experimental/directives/sensitive/sensitive.component.ts diff --git a/projects/experimental/components/sensitive/sensitive.directive.ts b/projects/experimental/directives/sensitive/sensitive.directive.ts similarity index 100% rename from projects/experimental/components/sensitive/sensitive.directive.ts rename to projects/experimental/directives/sensitive/sensitive.directive.ts diff --git a/projects/experimental/components/sensitive/sensitive.module.ts b/projects/experimental/directives/sensitive/sensitive.module.ts similarity index 100% rename from projects/experimental/components/sensitive/sensitive.module.ts rename to projects/experimental/directives/sensitive/sensitive.module.ts diff --git a/projects/experimental/components/sensitive/sensitive.style.less b/projects/experimental/directives/sensitive/sensitive.style.less similarity index 100% rename from projects/experimental/components/sensitive/sensitive.style.less rename to projects/experimental/directives/sensitive/sensitive.style.less diff --git a/projects/experimental/directives/surface/index.ts b/projects/experimental/directives/surface/index.ts new file mode 100644 index 000000000000..ff5f6c769788 --- /dev/null +++ b/projects/experimental/directives/surface/index.ts @@ -0,0 +1,3 @@ +export * from './surface.component'; +export * from './surface.directive'; +export * from './surface.module'; diff --git a/projects/experimental/directives/surface/ng-package.json b/projects/experimental/directives/surface/ng-package.json new file mode 100644 index 000000000000..bab5ebcdb74a --- /dev/null +++ b/projects/experimental/directives/surface/ng-package.json @@ -0,0 +1,8 @@ +{ + "lib": { + "entryFile": "index.ts", + "styleIncludePaths": [ + "../../../core/styles" + ] + } +} diff --git a/projects/experimental/directives/surface/surface.component.ts b/projects/experimental/directives/surface/surface.component.ts new file mode 100644 index 000000000000..937deacd5c3a --- /dev/null +++ b/projects/experimental/directives/surface/surface.component.ts @@ -0,0 +1,9 @@ +import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core'; + +@Component({ + template: '', + styleUrls: ['./surface.style.less'], + changeDetection: ChangeDetectionStrategy.OnPush, + encapsulation: ViewEncapsulation.None, +}) +export class TuiSurfaceComponent {} diff --git a/projects/experimental/directives/surface/surface.directive.ts b/projects/experimental/directives/surface/surface.directive.ts new file mode 100644 index 000000000000..159382d3b18d --- /dev/null +++ b/projects/experimental/directives/surface/surface.directive.ts @@ -0,0 +1,19 @@ +import {Directive, HostBinding, Inject, Input} from '@angular/core'; +import {TuiDirectiveStylesService} from '@taiga-ui/cdk'; + +import {TuiSurfaceComponent} from './surface.component'; + +@Directive({ + selector: '[tuiSurface]', +}) +export class TuiSurfaceDirective { + @Input() + @HostBinding('attr.data-surface') + tuiSurface = ''; + + constructor( + @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService, + ) { + directiveStyles.addComponent(TuiSurfaceComponent); + } +} diff --git a/projects/experimental/directives/surface/surface.module.ts b/projects/experimental/directives/surface/surface.module.ts new file mode 100644 index 000000000000..e9987b06be13 --- /dev/null +++ b/projects/experimental/directives/surface/surface.module.ts @@ -0,0 +1,10 @@ +import {NgModule} from '@angular/core'; + +import {TuiSurfaceComponent} from './surface.component'; +import {TuiSurfaceDirective} from './surface.directive'; + +@NgModule({ + declarations: [TuiSurfaceComponent, TuiSurfaceDirective], + exports: [TuiSurfaceDirective], +}) +export class TuiSurfaceModule {} diff --git a/projects/experimental/directives/surface/surface.style.less b/projects/experimental/directives/surface/surface.style.less new file mode 100644 index 000000000000..f57d66f820ba --- /dev/null +++ b/projects/experimental/directives/surface/surface.style.less @@ -0,0 +1,152 @@ +@import 'taiga-ui-local'; + +// prettier-ignore +[data-surface] { + .createStackingContext(); + .clearbtn(); + .transition(); + + --tui-gap: 0.25rem; + border-radius: var(--tui-radius-l); + padding: 1.25rem; + overflow: hidden; + box-sizing: border-box; + background-size: cover; + background-repeat: no-repeat; + transform: translate3d(0, 0, 0); + transition-property: border-radius, background, box-shadow, transform, backdrop-filter; +} + +button[data-surface] { + cursor: pointer; +} + +[data-surface]:before, +[data-surface]:after, +[tuiSurfaceLayer]:before, +[tuiSurfaceLayer]:after { + .fullsize(); + .transition(); + content: ''; + z-index: -1; + border-radius: inherit; + pointer-events: none; + background-size: cover; + background-repeat: no-repeat; + transition-property: opacity, backdrop-filter, transform; +} + +[tuiSurfaceLayer] { + .transition(); + .fullsize(); + position: absolute !important; + z-index: -1; + object-fit: cover; + border-radius: inherit; + box-sizing: border-box; + transition-property: box-shadow, filter, padding; + + input[tuiSurfaceLayer] + & { + will-change: padding; + background-clip: content-box; + overflow: clip; + overflow-clip-margin: content-box; + } + + input[tuiSurfaceLayer]:checked + & { + padding: var(--tui-gap); + } + + input[tuiSurfaceLayer]:focus-visible + & { + padding: var(--tui-gap); + } + + @media (hover: hover) and (pointer: fine) { + [data-surface]:hover input[tuiSurfaceLayer] + & { + padding: var(--tui-gap); + } + } +} + +input[tuiSurfaceLayer] { + color: var(--tui-accent); + appearance: none; + margin: 0; + border-radius: inherit; + outline: none; + box-shadow: + inset 0 0, + inset 0 0 var(--tui-base-03); + + &:checked { + box-shadow: + inset 0 0 0 calc(var(--tui-gap) / 2), + inset 0 0 var(--tui-base-03); + } + + &:focus-visible { + box-shadow: + inset 0 0, + inset 0 0 0 calc(var(--tui-gap) / 2) var(--tui-base-03); + } + + &:checked:focus-visible { + filter: brightness(0.7); + box-shadow: + inset 0 0 0 calc(var(--tui-gap) / 2), + inset 0 0 0 calc(var(--tui-gap) / 2) var(--tui-base-03); + } + + @media (hover: hover) and (pointer: fine) { + [data-surface]:hover & { + box-shadow: + inset 0 0, + inset 0 0 0 calc(var(--tui-gap) / 2) var(--tui-base-03); + } + + [data-surface]:hover &:checked { + filter: brightness(0.9); + box-shadow: + inset 0 0 0 calc(var(--tui-gap) / 2), + inset 0 0 0 calc(var(--tui-gap) / 2) var(--tui-base-03); + } + } +} + +[data-surface='elevated'] { + .shadow(); + border-radius: var(--tui-radius-xl); + background: var(--tui-elevation-01); +} + +button[data-surface='elevated'], +a[data-surface='elevated'] { + &:active { + transform: scale(0.95); + } + + @media (hover: hover) and (pointer: fine) { + &:hover { + .shadow(5); + transform: translate3d(0, -0.25rem, 0); + } + } +} + +[data-surface='flat'] { + border-radius: var(--tui-radius-xl); + background: var(--tui-clear); +} + +button[data-surface='flat'], +a[data-surface='flat'] { + &:active { + transform: scale(0.95); + } + + @media (hover: hover) and (pointer: fine) { + &:hover { + transform: scale(1.15); + } + } +} From 989850749e8f48d3a1fe3b7f845d3f4f6bcb7909 Mon Sep 17 00:00:00 2001 From: waterplea Date: Fri, 6 Oct 2023 20:04:42 +0400 Subject: [PATCH 02/15] chore: break last example into two sections --- .../surface/examples/6/index.less | 52 --------------- .../experimental/surface/examples/6/index.ts | 2 +- .../surface/examples/6/surface.less | 66 +++++++++++++++++++ .../experimental/surface/surface.component.ts | 1 + 4 files changed, 68 insertions(+), 53 deletions(-) create mode 100644 projects/demo/src/modules/experimental/surface/examples/6/surface.less diff --git a/projects/demo/src/modules/experimental/surface/examples/6/index.less b/projects/demo/src/modules/experimental/surface/examples/6/index.less index 9de568a89c4e..69896bc02d48 100644 --- a/projects/demo/src/modules/experimental/surface/examples/6/index.less +++ b/projects/demo/src/modules/experimental/surface/examples/6/index.less @@ -10,27 +10,12 @@ height: 7rem; display: flex; flex-direction: column; - border-radius: 1.25rem; - padding: 1rem; - background-size: contain; - background-position: right; font: var(--tui-font-text-xs); - background-color: currentColor; - box-shadow: inset -4rem 0 3rem -2rem; &:first-child { grid-column: span 2; } - &:hover { - box-shadow: inset 0 0 3rem -2rem; - transform: scale(1.1); - } - - &:active:before { - backdrop-filter: brightness(0.9); - } - .heading { font: var(--tui-font-text-s); color: var(--tui-text-01-night); @@ -57,14 +42,6 @@ justify-content: space-between; color: var(--tui-text-01-night); font-size: 1.375rem; - border-radius: 1.25rem; - padding: 1rem; - box-shadow: inset 0 10rem 7rem -5rem #000; - background-image: url('/assets/images/restaurant-1.jpg'); - - &:hover { - background-image: url('/assets/images/restaurant-2.jpg'); - } .header { display: flex; @@ -86,14 +63,6 @@ gap: 1rem; font: var(--tui-font-heading-6); color: var(--tui-text-01-night); - background-image: url(/assets/images/restaurant-2.jpg); - border-radius: 0; - clip-path: inset(0 round 5rem); // for crisp edges - - &:before { - backdrop-filter: blur(1rem); - mix-blend-mode: multiply; // Fix for https://bugs.chromium.org/p/chromium/issues/detail?id=1486408 - } .button { border-radius: 100%; @@ -162,29 +131,8 @@ .mask { grid-column: span 3; grid-row: span 3; - border-radius: 0; padding: 4rem 2rem 7rem; color: var(--tui-text-01-night); - background: #333 radial-gradient(circle at 80% 70%, #aff218 -20%, transparent 60%); - mask: linear-gradient( - 180deg, - #222222 77.89%, - rgba(36, 36, 36, 0.991353) 79.36%, - rgba(42, 42, 42, 0.96449) 80.84%, - rgba(52, 52, 52, 0.91834) 82.31%, - rgba(67, 67, 67, 0.852589) 83.79%, - rgba(85, 85, 85, 0.768225) 85.26%, - rgba(107, 107, 107, 0.668116) 86.73%, - rgba(132, 132, 132, 0.557309) 88.21%, - rgba(157, 157, 157, 0.442691) 89.68%, - rgba(182, 182, 182, 0.331884) 91.16%, - rgba(204, 204, 204, 0.231775) 92.63%, - rgba(222, 222, 222, 0.147411) 94.1%, - rgba(237, 237, 237, 0.0816599) 95.58%, - rgba(247, 247, 247, 0.03551) 97.05%, - rgba(253, 253, 253, 0.0086472) 98.53%, - rgba(255, 255, 255, 0) 100% - ); .heading { display: flex; diff --git a/projects/demo/src/modules/experimental/surface/examples/6/index.ts b/projects/demo/src/modules/experimental/surface/examples/6/index.ts index 50b0e87e5028..c0d911b9b9ad 100644 --- a/projects/demo/src/modules/experimental/surface/examples/6/index.ts +++ b/projects/demo/src/modules/experimental/surface/examples/6/index.ts @@ -5,7 +5,7 @@ import {encapsulation} from '@demo/emulate/encapsulation'; @Component({ selector: 'tui-surface-example-6', templateUrl: './index.html', - styleUrls: ['./index.less'], + styleUrls: ['./index.less', './surface.less'], changeDetection, encapsulation, }) diff --git a/projects/demo/src/modules/experimental/surface/examples/6/surface.less b/projects/demo/src/modules/experimental/surface/examples/6/surface.less new file mode 100644 index 000000000000..161500814681 --- /dev/null +++ b/projects/demo/src/modules/experimental/surface/examples/6/surface.less @@ -0,0 +1,66 @@ +.card { + border-radius: 1.25rem; + padding: 1rem; + background-position: right; + background-color: currentColor; + box-shadow: inset -4rem 0 3rem -2rem; + + &:hover { + box-shadow: inset 0 0 3rem -2rem; + transform: scale(1.1); + } + + &:active:before { + backdrop-filter: brightness(0.9); + } +} + +.restaurant { + border-radius: 1.25rem; + padding: 1rem; + box-shadow: inset 0 10rem 7rem -5rem #000; + background-image: url('/assets/images/restaurant-1.jpg'); + + &:hover { + background-image: url('/assets/images/restaurant-2.jpg'); + } +} + +.blur { + background-image: url(/assets/images/restaurant-2.jpg); + border-radius: 0; + clip-path: inset(0 round 5rem); // for crisp edges + + &:before { + backdrop-filter: blur(1rem); + mix-blend-mode: multiply; // Fix for https://bugs.chromium.org/p/chromium/issues/detail?id=1486408 + } +} + +.reviews { + // tuiSurface="elevated" preset +} + +.mask { + border-radius: 0; + background: #333 radial-gradient(circle at 80% 70%, #aff218 -20%, transparent 60%); + mask: linear-gradient( + 180deg, + #222222 77.89%, + rgba(36, 36, 36, 0.991353) 79.36%, + rgba(42, 42, 42, 0.96449) 80.84%, + rgba(52, 52, 52, 0.91834) 82.31%, + rgba(67, 67, 67, 0.852589) 83.79%, + rgba(85, 85, 85, 0.768225) 85.26%, + rgba(107, 107, 107, 0.668116) 86.73%, + rgba(132, 132, 132, 0.557309) 88.21%, + rgba(157, 157, 157, 0.442691) 89.68%, + rgba(182, 182, 182, 0.331884) 91.16%, + rgba(204, 204, 204, 0.231775) 92.63%, + rgba(222, 222, 222, 0.147411) 94.1%, + rgba(237, 237, 237, 0.0816599) 95.58%, + rgba(247, 247, 247, 0.03551) 97.05%, + rgba(253, 253, 253, 0.0086472) 98.53%, + rgba(255, 255, 255, 0) 100% + ); +} diff --git a/projects/demo/src/modules/experimental/surface/surface.component.ts b/projects/demo/src/modules/experimental/surface/surface.component.ts index 51c686ea6116..dff269da6214 100644 --- a/projects/demo/src/modules/experimental/surface/surface.component.ts +++ b/projects/demo/src/modules/experimental/surface/surface.component.ts @@ -41,6 +41,7 @@ export class ExampleTuiSurfaceComponent { readonly example6: TuiDocExample = { HTML: import('./examples/5/index.html?raw'), + 'surface.less': import('./examples/5/surface.less?raw'), LESS: import('./examples/5/index.less?raw'), }; } From 32d457a3c690bd3613094fa801083714ed87c656 Mon Sep 17 00:00:00 2001 From: waterplea Date: Mon, 9 Oct 2023 12:10:59 +0400 Subject: [PATCH 03/15] chore: better docs --- .../experimental/surface/examples/1/base.less | 2 +- .../surface/examples/1/index.less | 6 +- .../surface/examples/3/index.html | 2 +- .../surface/examples/3/index.less | 7 +-- .../surface/examples/4/index.html | 2 +- .../surface/examples/4/index.less | 3 +- .../surface/examples/6/index.html | 2 +- .../surface/examples/6/index.less | 1 + .../surface/examples/6/surface.less | 14 ++--- .../experimental/surface/surface.component.ts | 6 +- .../experimental/surface/surface.module.ts | 6 +- .../surface/surface.template.html | 59 ++++++++++++++----- .../directives/surface/surface.style.less | 6 +- 13 files changed, 72 insertions(+), 44 deletions(-) diff --git a/projects/demo/src/modules/experimental/surface/examples/1/base.less b/projects/demo/src/modules/experimental/surface/examples/1/base.less index 3f2eaa547cbe..3d181d094aa0 100644 --- a/projects/demo/src/modules/experimental/surface/examples/1/base.less +++ b/projects/demo/src/modules/experimental/surface/examples/1/base.less @@ -13,7 +13,7 @@ } .highlight { - box-shadow: none; background: var(--tui-primary); + box-shadow: none; color: var(--tui-primary-text); } diff --git a/projects/demo/src/modules/experimental/surface/examples/1/index.less b/projects/demo/src/modules/experimental/surface/examples/1/index.less index 00db6d6eb1af..f52271e12481 100644 --- a/projects/demo/src/modules/experimental/surface/examples/1/index.less +++ b/projects/demo/src/modules/experimental/surface/examples/1/index.less @@ -23,7 +23,7 @@ } } -.highlight:active:after { +.highlight:active:before { backdrop-filter: brightness(0.9); } @@ -32,12 +32,12 @@ } .background { - &:before { + &:after { background: url(/assets/images/not-found.svg) top; background-size: 300%; } - &:hover:before { + &:hover:after { transform: scale(1.15); } } diff --git a/projects/demo/src/modules/experimental/surface/examples/3/index.html b/projects/demo/src/modules/experimental/surface/examples/3/index.html index 42d9f0e6451f..0e4aa6751073 100644 --- a/projects/demo/src/modules/experimental/surface/examples/3/index.html +++ b/projects/demo/src/modules/experimental/surface/examples/3/index.html @@ -3,6 +3,6 @@ class="blur" >

backdrop-filter

-

You can use backdrop-filter to blur the background.

+

You can use backdrop-filter on tuiSurface element to blur the background behind it.

Never use this mode with shadow
diff --git a/projects/demo/src/modules/experimental/surface/examples/3/index.less b/projects/demo/src/modules/experimental/surface/examples/3/index.less index 06835e978ae8..5f11bb14a17b 100644 --- a/projects/demo/src/modules/experimental/surface/examples/3/index.less +++ b/projects/demo/src/modules/experimental/surface/examples/3/index.less @@ -1,15 +1,14 @@ :host { display: block; background: url('/assets/images/big-wallpaper.jpg'); - padding: 2rem; background-size: cover; + padding: 2rem; } .blur { - flex-direction: column; + backdrop-filter: blur(1rem); background: var(--tui-clear-inverse); color: var(--tui-text-01-night); - backdrop-filter: blur(1rem); } .title { @@ -18,5 +17,5 @@ } .text { - margin-bottom: -0.125rem; + margin-bottom: -0.25rem; } diff --git a/projects/demo/src/modules/experimental/surface/examples/4/index.html b/projects/demo/src/modules/experimental/surface/examples/4/index.html index 5c1980787dc4..5fd6383a71cb 100644 --- a/projects/demo/src/modules/experimental/surface/examples/4/index.html +++ b/projects/demo/src/modules/experimental/surface/examples/4/index.html @@ -13,5 +13,5 @@ type="video/mp4" /> - Big Buck Bunny + Big Buck Bunny diff --git a/projects/demo/src/modules/experimental/surface/examples/4/index.less b/projects/demo/src/modules/experimental/surface/examples/4/index.less index 3774510b8a5b..8ddb48c8988c 100644 --- a/projects/demo/src/modules/experimental/surface/examples/4/index.less +++ b/projects/demo/src/modules/experimental/surface/examples/4/index.less @@ -2,10 +2,9 @@ display: flex; align-items: flex-end; justify-content: center; - height: 10rem; + height: 18rem; color: var(--tui-text-01-night); font: var(--tui-font-text-l); - font-weight: bold; &:after { background: var(--tui-clear); diff --git a/projects/demo/src/modules/experimental/surface/examples/6/index.html b/projects/demo/src/modules/experimental/surface/examples/6/index.html index 280605b13786..f0d233fcc869 100644 --- a/projects/demo/src/modules/experimental/surface/examples/6/index.html +++ b/projects/demo/src/modules/experimental/surface/examples/6/index.html @@ -120,7 +120,7 @@

class="label" [tuiLabel]="review.time" > - {{ review.name }} + {{ review.name }} diff --git a/projects/demo/src/modules/experimental/surface/examples/6/index.less b/projects/demo/src/modules/experimental/surface/examples/6/index.less index 69896bc02d48..9c826f88293b 100644 --- a/projects/demo/src/modules/experimental/surface/examples/6/index.less +++ b/projects/demo/src/modules/experimental/surface/examples/6/index.less @@ -125,6 +125,7 @@ .label { flex-direction: column-reverse; + font-weight: bold; } } diff --git a/projects/demo/src/modules/experimental/surface/examples/6/surface.less b/projects/demo/src/modules/experimental/surface/examples/6/surface.less index 161500814681..70077cede296 100644 --- a/projects/demo/src/modules/experimental/surface/examples/6/surface.less +++ b/projects/demo/src/modules/experimental/surface/examples/6/surface.less @@ -1,9 +1,8 @@ .card { + background: currentColor right no-repeat; border-radius: 1.25rem; - padding: 1rem; - background-position: right; - background-color: currentColor; box-shadow: inset -4rem 0 3rem -2rem; + padding: 1rem; &:hover { box-shadow: inset 0 0 3rem -2rem; @@ -16,10 +15,10 @@ } .restaurant { + background-image: url('/assets/images/restaurant-1.jpg'); border-radius: 1.25rem; - padding: 1rem; box-shadow: inset 0 10rem 7rem -5rem #000; - background-image: url('/assets/images/restaurant-1.jpg'); + padding: 1rem; &:hover { background-image: url('/assets/images/restaurant-2.jpg'); @@ -29,11 +28,10 @@ .blur { background-image: url(/assets/images/restaurant-2.jpg); border-radius: 0; - clip-path: inset(0 round 5rem); // for crisp edges + clip-path: inset(0 round 5rem); // for crisp edges of blurred background &:before { backdrop-filter: blur(1rem); - mix-blend-mode: multiply; // Fix for https://bugs.chromium.org/p/chromium/issues/detail?id=1486408 } } @@ -42,8 +40,8 @@ } .mask { - border-radius: 0; background: #333 radial-gradient(circle at 80% 70%, #aff218 -20%, transparent 60%); + border-radius: 0; mask: linear-gradient( 180deg, #222222 77.89%, diff --git a/projects/demo/src/modules/experimental/surface/surface.component.ts b/projects/demo/src/modules/experimental/surface/surface.component.ts index dff269da6214..80324e910c66 100644 --- a/projects/demo/src/modules/experimental/surface/surface.component.ts +++ b/projects/demo/src/modules/experimental/surface/surface.component.ts @@ -40,8 +40,8 @@ export class ExampleTuiSurfaceComponent { }; readonly example6: TuiDocExample = { - HTML: import('./examples/5/index.html?raw'), - 'surface.less': import('./examples/5/surface.less?raw'), - LESS: import('./examples/5/index.less?raw'), + HTML: import('./examples/6/index.html?raw'), + 'surface.less': import('./examples/6/surface.less?raw'), + LESS: import('./examples/6/index.less?raw'), }; } diff --git a/projects/demo/src/modules/experimental/surface/surface.module.ts b/projects/demo/src/modules/experimental/surface/surface.module.ts index 644cc45bb72d..527e3270ad2a 100644 --- a/projects/demo/src/modules/experimental/surface/surface.module.ts +++ b/projects/demo/src/modules/experimental/surface/surface.module.ts @@ -1,9 +1,8 @@ import {CommonModule} from '@angular/common'; import {NgModule} from '@angular/core'; import {FormsModule} from '@angular/forms'; -import {RouterModule} from '@angular/router'; import {TuiMoneyModule, TuiThumbnailCardModule} from '@taiga-ui/addon-commerce'; -import {TuiAddonDocModule, tuiGenerateRoutes} from '@taiga-ui/addon-doc'; +import {tuiGetDocModules} from '@taiga-ui/addon-doc'; import {TuiRippleModule} from '@taiga-ui/addon-mobile'; import {TuiRepeatTimesModule} from '@taiga-ui/cdk'; import { @@ -42,11 +41,10 @@ import {ExampleTuiSurfaceComponent} from './surface.component'; TuiLinkModule, TuiAvatarModule, TuiLabelModule, - TuiAddonDocModule, - RouterModule.forChild(tuiGenerateRoutes(ExampleTuiSurfaceComponent)), TuiModeModule, TuiMoneyModule, TuiThumbnailCardModule, + tuiGetDocModules(ExampleTuiSurfaceComponent), ], declarations: [ ExampleTuiSurfaceComponent, diff --git a/projects/demo/src/modules/experimental/surface/surface.template.html b/projects/demo/src/modules/experimental/surface/surface.template.html index b6897ea233db..09fbd93a85a0 100644 --- a/projects/demo/src/modules/experimental/surface/surface.template.html +++ b/projects/demo/src/modules/experimental/surface/surface.template.html @@ -51,25 +51,54 @@ > + + + + You can combine element itself, + ::before + and + ::after + pseudo-elements to create complex surfaces. +

+ For more complex cases like you can use + tuiSurfaceLayer + directive to introduce more layers behind content. But that is mostly necessary for additional elements like + input type="radio" + or a + video + tag as seen in the examples on the main tab. +

+
+

+ Styles to to be applied to the element: + background + , + border-radius + , + box-shadow + , + mask + , + padding + , + transform +

+

+ Styles to be applied to ::BEFORE pseudo-element: + backdrop-filter +

+

+ Styles to be applied to ::AFTER pseudo-element: + Any overlays on top of + backdrop-filter + effect of ::BEFORE pseudo-element +

+
- - You can combine element background, - ::before - and - ::after - pseudo-elements to create complex surfaces. -

- For more complex cases like the two previous examples you can use - tuiSurfaceLayer - directive to introduce more layers behind content. -

-
diff --git a/projects/experimental/directives/surface/surface.style.less b/projects/experimental/directives/surface/surface.style.less index f57d66f820ba..57ffa43ab8db 100644 --- a/projects/experimental/directives/surface/surface.style.less +++ b/projects/experimental/directives/surface/surface.style.less @@ -14,7 +14,11 @@ background-size: cover; background-repeat: no-repeat; transform: translate3d(0, 0, 0); - transition-property: border-radius, background, box-shadow, transform, backdrop-filter; + transition-property: backdrop-filter, background, border-radius, box-shadow, mask, transform; + + &:before { + mix-blend-mode: multiply; // Fix for https://bugs.chromium.org/p/chromium/issues/detail?id=1486408 + } } button[data-surface] { From 613f989385599d6599d5280400acdf4bb3c1cb4d Mon Sep 17 00:00:00 2001 From: taiga-family-bot Date: Mon, 9 Oct 2023 08:18:59 +0000 Subject: [PATCH 04/15] chore: apply changes after linting [bot] --- .../demo/src/modules/experimental/surface/examples/6/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/demo/src/modules/experimental/surface/examples/6/index.ts b/projects/demo/src/modules/experimental/surface/examples/6/index.ts index c0d911b9b9ad..b7994914fc55 100644 --- a/projects/demo/src/modules/experimental/surface/examples/6/index.ts +++ b/projects/demo/src/modules/experimental/surface/examples/6/index.ts @@ -19,7 +19,7 @@ export class TuiSurfaceExample6 { { name: 'Alex Inkin', time: '3 days ago', - body: "I'm starting to kind of enjoy this library.", + body: 'I\'m starting to kind of enjoy this library.', }, { name: 'Alex Inkin', From 9fc9b23e24788b39f77a8e0a8e8cbafc1e622323 Mon Sep 17 00:00:00 2001 From: "a.inkin" Date: Mon, 9 Oct 2023 17:55:26 +0400 Subject: [PATCH 05/15] chore: some safari fixes --- .../demo/src/modules/experimental/avatar/examples/1/index.html | 1 + .../demo/src/modules/experimental/surface/examples/4/index.html | 1 + projects/experimental/directives/surface/surface.style.less | 1 + 3 files changed, 3 insertions(+) diff --git a/projects/demo/src/modules/experimental/avatar/examples/1/index.html b/projects/demo/src/modules/experimental/avatar/examples/1/index.html index 921431f49e1b..97470290c11c 100644 --- a/projects/demo/src/modules/experimental/avatar/examples/1/index.html +++ b/projects/demo/src/modules/experimental/avatar/examples/1/index.html @@ -19,6 +19,7 @@