PluginProbe
Tableberg – Simple Gutenberg Table Block / 1.1.5
Tableberg – Simple Gutenberg Table Block v1.1.5
1.1.5 1.1.4 1.1.3 1.1.2 1.1.1 1.1.0 1.0.5 1.0.4 1.0.3 1.0.2 1.0.1 trunk 0.0.2 0.2.1 0.3.2 0.3.3 0.4.1 0.5.0 0.5.1 0.5.2 0.5.3 0.5.4 0.5.5 0.5.6 0.5.7 All 42 releases
tableberg / src / components / UpsellModal / style.scss

style.scss in Tableberg – Simple Gutenberg Table Block 1.1.5, at src/components/UpsellModal/style.scss

199 lines 4.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 .tableberg-upsell-modal {
2 position: fixed;
3 inset: 0;
4 display: flex;
5 align-items: center;
6 justify-content: center;
7 z-index: 1000000;
8
9 &-backdrop {
10 position: absolute;
11 inset: 0;
12 background: rgba(0, 0, 0, 0.5);
13 backdrop-filter: blur(3px);
14 }
15
16 &-container {
17 position: relative;
18 width: min(500px, calc(100vw - 32px));
19 }
20
21 &-area {
22 position: relative;
23 background: #fff;
24 border-radius: 6px;
25 box-shadow: 0 18px 40px rgba(16, 14, 101, 0.28);
26 overflow: hidden;
27
28 h2 {
29 margin: 0;
30 padding: 12px 16px;
31 text-align: center;
32 font-size: 16px;
33 color: #2f49b3;
34 background: #eef3ff;
35
36 svg {
37 width: 1em;
38 height: 1em;
39 }
40 }
41 }
42
43 &-content {
44 padding: 24px 32px 12px;
45
46 img {
47 display: block;
48 width: 100%;
49 min-height: 100px;
50 max-height: 70vh;
51 object-fit: contain;
52 border: 1px solid #ebebeb;
53 border-radius: 6px;
54 }
55
56 p {
57 text-align: center;
58 }
59 }
60
61 &-text:not(img + p) {
62 font-size: 1.1rem;
63 }
64
65 &-footer {
66 display: flex;
67 align-items: center;
68 justify-content: space-evenly;
69 padding: 24px 32px 32px;
70 gap: 12px;
71
72 button,
73 a {
74 margin: 0;
75 padding: 6px 16px;
76 border: 1px solid #e0e0e0;
77 border-radius: 6px;
78 background: #fff;
79 box-shadow:
80 0 4px 6px -1px rgba(0, 0, 0, 0.1),
81 0 2px 4px -2px rgba(0, 0, 0, 0.1);
82 cursor: pointer;
83 text-decoration: none;
84 }
85
86 a {
87 color: #fff;
88 background: #3858d6;
89 border-color: #3858d6;
90 }
91 }
92
93 &-prev,
94 &-next {
95 position: absolute;
96 top: 50%;
97 transform: translateY(-50%);
98 border: none;
99 background: transparent;
100 color: #fff;
101 font-size: 4rem;
102 cursor: pointer;
103 filter: drop-shadow(2px 4px 6px #100e65);
104 }
105
106 &-prev {
107 right: calc(100% + 24px);
108 }
109
110 &-next {
111 left: calc(100% + 24px);
112 }
113
114 @media (max-width: 782px) {
115 &-prev,
116 &-next {
117 display: none;
118 }
119
120 &-content {
121 padding-inline: 16px;
122 }
123
124 &-footer {
125 padding-inline: 16px;
126 }
127 }
128 }
129
130 .tableberg-locked-root {
131 position: relative;
132 // When this sits directly inside a CSS grid (e.g. WordPress's shared
133 // "Color" ToolsPanel, which lays items out two-per-row), this wrapper
134 // itself is the grid cell — the "full width" rule WordPress puts on
135 // its own ToolsPanelItem lands two levels deeper (inside
136 // .tableberg-locked-children), too late to span this cell. Outside a
137 // grid context (e.g. a plain PanelBody) this is a no-op.
138 grid-column: 1 / -1;
139
140 // The locked feature must be completely non-interactive: dimmed
141 // controls under a full-cover overlay that opens the upsell.
142 .tableberg-locked-children {
143 opacity: 0.5;
144 pointer-events: none;
145 user-select: none;
146 filter: grayscale(30%);
147
148 // WordPress gives the first item in a Color ToolsPanel some extra
149 // top margin. Its `:nth-child(1 of ...)` selector only looks at
150 // siblings within this wrapper, so every locked control's own
151 // (single, isolated) item matches "first" and gets that margin —
152 // stacking on top of the grid's own row gap between locked
153 // controls. Zeroed here since the grid gap already spaces them.
154 .block-editor-tools-panel-color-gradient-settings__item {
155 margin-top: 0 !important;
156 }
157 }
158
159 .tableberg-lock-overlay {
160 position: absolute;
161 inset: 0;
162 z-index: 2;
163 display: flex;
164 align-items: flex-start;
165 justify-content: flex-end;
166 padding: 8px;
167 background: transparent;
168 border: none;
169 cursor: pointer;
170
171 &:focus {
172 outline: none;
173 box-shadow: none;
174 }
175 }
176
177 .tableberg-lock-container {
178 display: inline-flex;
179 align-items: center;
180 justify-content: center;
181 width: 28px;
182 height: 28px;
183 padding: 0;
184 border: 1px solid rgba(56, 88, 214, 0.18);
185 border-radius: 999px;
186 background: #fff;
187 color: #3858d6;
188 box-shadow: 0 6px 16px rgba(56, 88, 214, 0.16);
189 }
190 }
191
192 .tableberg-locked-root-toolbar {
193 display: inline-flex;
194 }
195
196 .tableberg-border-with-radius-control-handle {
197 position: relative;
198 }
199