Skip to content

Commit 81482d9

Browse files
committed
feat(@angular/cli): adapt template using tailwind
1 parent cb24c24 commit 81482d9

File tree

2 files changed

+25
-17
lines changed

2 files changed

+25
-17
lines changed

packages/schematics/angular/application/files/common-files/src/app/app__suffix__.html.template

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
--gray-900: oklch(19.37% 0.006 300.98);
2020
--gray-700: oklch(36.98% 0.014 302.71);
2121
--gray-400: oklch(70.9% 0.015 304.04);
22-
22+
<% if (!tailwind) { %>
2323
--red-to-pink-to-purple-vertical-gradient: linear-gradient(
2424
180deg,
2525
var(--orange-red) 0%,
@@ -35,15 +35,15 @@
3535
);
3636

3737
--pill-accent: var(--bright-blue);
38-
38+
<% } %>
3939
font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
4040
Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
41-
"Segoe UI Symbol";
41+
"Segoe UI Symbol";<% if (!tailwind) { %>
4242
box-sizing: border-box;
4343
-webkit-font-smoothing: antialiased;
44-
-moz-osx-font-smoothing: grayscale;
44+
-moz-osx-font-smoothing: grayscale;<% } %>
4545
}
46-
46+
<% if (!tailwind) { %>
4747
h1 {
4848
font-size: 3.125rem;
4949
color: var(--gray-900);
@@ -180,16 +180,16 @@
180180
margin-block: 1.5rem;
181181
}
182182
}
183-
</style>
183+
<% } %></style>
184184

185-
<main class="main">
186-
<div class="content">
187-
<div class="left-side">
185+
<main class="<% if (tailwind) { %>flex min-h-full w-full items-center justify-center p-4 antialiased<% } %><% else { %>main<% } %>">
186+
<div class="<% if (tailwind) { %>flex flex-col justify-around max-w-[700px] mb-12 size-max sm:w-full sm:gap-6 sm:flex-row<% } %><% else { %>content<% } %>">
187+
<div class="<% if (tailwind) { %>flex flex-col<% } %><% else { %>left-side<% } %>">
188188
<svg
189189
xmlns="http://www.w3.org/2000/svg"
190190
viewBox="0 0 982 239"
191191
fill="none"
192-
class="angular-logo"
192+
class="<% if (tailwind) { %>max-w-[9.2rem]<% } %><% else { %>angular-logo<% } %>"
193193
>
194194
<g clip-path="url(#a)">
195195
<path
@@ -230,12 +230,12 @@
230230
<clipPath id="a"><path fill="#fff" d="M0 0h982v239H0z" /></clipPath>
231231
</defs>
232232
</svg>
233-
<h1>Hello, {{ title() }}</h1>
234-
<p>Congratulations! Your app is running. 🎉</p>
233+
<h1 <% if (tailwind) { %>class="text-[3.125rem] font-medium leading-none tracking-[-0.125rem] text-[var(--gray-900)] mt-7"<% } %>>Hello, {{ title() }}</h1>
234+
<p <% if (tailwind) { %>class="mt-6 text-[var(--gray-700)]"<% } %>>Congratulations! Your app is running. 🎉</p>
235235
</div>
236-
<div class="divider" role="separator" aria-label="Divider"></div>
237-
<div class="right-side">
238-
<div class="pill-group">
236+
<div class="<% if (tailwind) { %>m:bg-[linear-gradient(180deg,var(--orange-red)_0%,var(--vivid-pink)_50%,var(--electric-violet)_100%)] bg-[linear-gradient(90deg,var(--orange-red)_0%,var(--vivid-pink)_50%,var(--electric-violet)_100%)] sm:w-px mx-2 sm:h-auto h-px sm:w-px w-full sm:my-0 my-6<% } %><% else { %>divider<% } %>" role="separator" aria-label="Divider"></div>
237+
<div class="<% if (tailwind) { %>flex flex-col<% } %><% else { %>right-side<% } %>">
238+
<div class="<% if (tailwind) { %>flex flex-col items-start gap-5<% } %><% else { %>pill-group<% } %>">
239239
@for (item of [
240240
{ title: 'Explore the Docs', link: 'https://angular.dev' },
241241
{ title: 'Learn with Tutorials', link: 'https://angular.dev/tutorials' },
@@ -245,13 +245,14 @@
245245
{ title: 'Angular DevTools', link: 'https://angular.dev/tools/devtools' },
246246
]; track item.title) {
247247
<a
248-
class="pill"
248+
class="<% if (tailwind) { %>group inline-flex items-center gap-1 rounded-full px-3 py-1.5 text-sm font-medium transition [--pill-accent:var(--bright-blue)] nth-[6n+1]:[--pill-accent:var(--bright-blue)] nth-[6n+2]:[--pill-accent:var(--electric-violet)] nth-[6n+3]:[--pill-accent:var(--french-violet)] nth-[6n+4]:[--pill-accent:var(--hot-red)] nth-[6n+5]:[--pill-accent:var(--hot-red)] nth-[6n+6]:[--pill-accent:var(--hot-red)] text-[var(--pill-accent)] bg-[color-mix(in_srgb,var(--pill-accent)_5%,transparent)] hover:bg-[color-mix(in_srgb,var(--pill-accent)_15%,transparent)]<% } %><% else { %>pill<% } %>"
249249
[href]="item.link"
250250
target="_blank"
251251
rel="noopener"
252252
>
253253
<span>{{ item.title }}</span>
254254
<svg
255+
<% if (tailwind) { %>class="ml-1"<% } %>
255256
xmlns="http://www.w3.org/2000/svg"
256257
height="14"
257258
viewBox="0 -960 960 960"
@@ -265,14 +266,16 @@
265266
</a>
266267
}
267268
</div>
268-
<div class="social-links">
269+
<div class="<% if (tailwind) { %>mt-6 flex items-center gap-3<% } %><% else { %>social-links<% } %>">
269270
<a
271+
<% if (tailwind) { %>class="group"<% } %>
270272
href="https://github.com/angular/angular"
271273
aria-label="Github"
272274
target="_blank"
273275
rel="noopener"
274276
>
275277
<svg
278+
<% if (tailwind) { %>class="fill-[var(--gray-400)] group-hover:fill-[var(--gray-900)] transition"<% } %>
276279
width="25"
277280
height="24"
278281
viewBox="0 0 25 24"
@@ -286,12 +289,14 @@
286289
</svg>
287290
</a>
288291
<a
292+
<% if (tailwind) { %>class="group"<% } %>
289293
href="https://x.com/angular"
290294
aria-label="X"
291295
target="_blank"
292296
rel="noopener"
293297
>
294298
<svg
299+
<% if (tailwind) { %>class="fill-[var(--gray-400)] group-hover:fill-[var(--gray-900)] transition"<% } %>
295300
width="24"
296301
height="24"
297302
viewBox="0 0 24 24"
@@ -305,12 +310,14 @@
305310
</svg>
306311
</a>
307312
<a
313+
<% if (tailwind) { %>class="group"<% } %>
308314
href="https://www.youtube.com/channel/UCbn1OgGei-DV7aSRo_HaAiw"
309315
aria-label="Youtube"
310316
target="_blank"
311317
rel="noopener"
312318
>
313319
<svg
320+
<% if (tailwind) { %>class="fill-[var(--gray-400)] group-hover:fill-[var(--gray-900)] transition"<% } %>
314321
width="29"
315322
height="20"
316323
viewBox="0 0 29 20"

packages/schematics/angular/application/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ export default function (options: ApplicationOptions): Rule {
136136
folderName,
137137
suffix,
138138
testRunner: options.testRunner,
139+
tailwind: isTailwind
139140
}),
140141
move(appDir),
141142
]),

0 commit comments

Comments
 (0)