@@ -53,6 +53,16 @@ export class CTFab extends BaseElement {
5353 backdrop-filter var(--ct-theme-animation-duration, 300ms) ease,
5454 -webkit-backdrop-filter var(--ct-theme-animation-duration, 300ms) ease;
5555 z-index: 998;
56+ }
57+
58+ .backdrop.active {
59+ backdrop-filter: blur(8px);
60+ -webkit-backdrop-filter: blur(8px);
61+ pointer-events: auto;
62+ }
63+
64+ /* Position-specific backdrop masks */
65+ :host([position="bottom-right"]) .backdrop {
5666 mask-image: radial-gradient(
5767 circle at bottom right,
5868 rgba(0, 0, 0, 1) 0%,
@@ -67,10 +77,49 @@ export class CTFab extends BaseElement {
6777 );
6878 }
6979
70- .backdrop.active {
71- backdrop-filter: blur(8px);
72- -webkit-backdrop-filter: blur(8px);
73- pointer-events: auto;
80+ :host([position="bottom-left"]) .backdrop {
81+ mask-image: radial-gradient(
82+ circle at bottom left,
83+ rgba(0, 0, 0, 1) 0%,
84+ rgba(0, 0, 0, 0.5) 40%,
85+ rgba(0, 0, 0, 0) 70%
86+ );
87+ -webkit-mask-image: radial-gradient(
88+ circle at bottom left,
89+ rgba(0, 0, 0, 1) 0%,
90+ rgba(0, 0, 0, 0.5) 40%,
91+ rgba(0, 0, 0, 0) 70%
92+ );
93+ }
94+
95+ :host([position="top-right"]) .backdrop {
96+ mask-image: radial-gradient(
97+ circle at top right,
98+ rgba(0, 0, 0, 1) 0%,
99+ rgba(0, 0, 0, 0.5) 40%,
100+ rgba(0, 0, 0, 0) 70%
101+ );
102+ -webkit-mask-image: radial-gradient(
103+ circle at top right,
104+ rgba(0, 0, 0, 1) 0%,
105+ rgba(0, 0, 0, 0.5) 40%,
106+ rgba(0, 0, 0, 0) 70%
107+ );
108+ }
109+
110+ :host([position="top-left"]) .backdrop {
111+ mask-image: radial-gradient(
112+ circle at top left,
113+ rgba(0, 0, 0, 1) 0%,
114+ rgba(0, 0, 0, 0.5) 40%,
115+ rgba(0, 0, 0, 0) 70%
116+ );
117+ -webkit-mask-image: radial-gradient(
118+ circle at top left,
119+ rgba(0, 0, 0, 1) 0%,
120+ rgba(0, 0, 0, 0.5) 40%,
121+ rgba(0, 0, 0, 0) 70%
122+ );
74123 }
75124
76125 /* FAB container - positioned by host */
0 commit comments