@birdycom/omniaui 0.12.3 → 0.12.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components.css +22 -15
- package/dist/components.min.css +1 -1
- package/dist/oc-theme.css +1 -1
- package/dist/parts/site-price-card.css +14 -8
- package/dist/showcase.css +7 -6
- package/package.json +2 -2
package/dist/oc-theme.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* File: oc-theme.css — generated from tokens/semantic.json by @birdycom/omniacss 0.12.
|
|
1
|
+
/* File: oc-theme.css — generated from tokens/semantic.json by @birdycom/omniacss 0.12.5. Do not edit. */
|
|
2
2
|
/* Semantic theme tokens: every color is light-dark() of an Omnia palette token (oc-colors.css). */
|
|
3
3
|
/* Same source as the desktop export: npx omniacss tokens --format json|dtcg|python */
|
|
4
4
|
:root {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* File: packages/ui/src/parts/site-price-card.css
|
|
2
|
-
Map: card -> head + discount badge -> period toggle -> monthly / yearly price (:has) -> features -> featured
|
|
3
|
-
Price card: one plan with a monthly / yearly switch (radio inputs + :has(),
|
|
4
|
-
The toggle is the segmented component; give every card its own radio name. */
|
|
2
|
+
Map: card -> head + discount badge -> period toggle -> monthly / yearly / lifetime price (:has) -> features -> featured
|
|
3
|
+
Price card: one plan with a monthly / yearly switch, optionally a third "lifetime" option (radio inputs + :has(),
|
|
4
|
+
no JavaScript). The toggle is the segmented component; give every card its own radio name. */
|
|
5
5
|
|
|
6
6
|
.oc-price-card {
|
|
7
7
|
display: flex;
|
|
@@ -31,9 +31,12 @@
|
|
|
31
31
|
}
|
|
32
32
|
.oc-price-card:has(.oc-price-card__toggle input[value="monthly"]:checked) .oc-price-card__discount { opacity: 0.55; }
|
|
33
33
|
|
|
34
|
-
.oc-price-card__toggle { align-self: flex-start; }
|
|
34
|
+
.oc-price-card__toggle { align-self: flex-start; max-inline-size: 100%; }
|
|
35
|
+
/* Three options (monthly / yearly / lifetime) take the full card width, in equal parts, so they fit a narrow card. */
|
|
36
|
+
.oc-price-card__toggle:has(> :nth-child(3)) { align-self: stretch; }
|
|
37
|
+
.oc-price-card__toggle:has(> :nth-child(3)) .oc-segmented-item { flex: 1; min-inline-size: 0; padding-inline: 0.25rem; letter-spacing: 0; text-align: center; }
|
|
35
38
|
|
|
36
|
-
/* Price rows: monthly shows by default, yearly when its radio is checked. */
|
|
39
|
+
/* Price rows: monthly shows by default, yearly or lifetime when its radio is checked. */
|
|
37
40
|
.oc-price-card__price {
|
|
38
41
|
display: flex;
|
|
39
42
|
flex-wrap: wrap;
|
|
@@ -41,9 +44,12 @@
|
|
|
41
44
|
gap: 0.35rem;
|
|
42
45
|
margin: 0;
|
|
43
46
|
}
|
|
44
|
-
.oc-price-card__price--yearly
|
|
45
|
-
.oc-price-
|
|
46
|
-
.oc-price-card:has(.oc-price-card__toggle input[value="yearly"]:checked) .oc-price-card__price--
|
|
47
|
+
.oc-price-card__price--yearly,
|
|
48
|
+
.oc-price-card__price--lifetime { display: none; }
|
|
49
|
+
.oc-price-card:has(.oc-price-card__toggle input[value="yearly"]:checked) .oc-price-card__price--yearly,
|
|
50
|
+
.oc-price-card:has(.oc-price-card__toggle input[value="lifetime"]:checked) .oc-price-card__price--lifetime { display: flex; }
|
|
51
|
+
.oc-price-card:has(.oc-price-card__toggle input:is([value="yearly"], [value="lifetime"]):checked) .oc-price-card__price--monthly,
|
|
52
|
+
.oc-price-card:has(.oc-price-card__toggle input[value="lifetime"]:checked) .oc-price-card__price--yearly { display: none; }
|
|
47
53
|
|
|
48
54
|
.oc-price-card__amount { font-size: 2.5rem; font-weight: 700; line-height: 1; letter-spacing: -0.03em; }
|
|
49
55
|
.oc-price-card__period { color: var(--oc-muted-foreground); font-size: 0.9rem; }
|
package/dist/showcase.css
CHANGED
|
@@ -240,19 +240,20 @@
|
|
|
240
240
|
background: oklch(from var(--oc-accent-from) l c h / 0.14);
|
|
241
241
|
color: light-dark(var(--oc-accent-from), oklch(from var(--oc-accent-from) max(l, 0.72) c h));
|
|
242
242
|
}
|
|
243
|
-
/*
|
|
243
|
+
/* Live dot in a pill (.oc-pill > .oc-status-dot): the ring starts at --oc-status-dot-pulse-alpha of the accent and grows
|
|
244
|
+
to --oc-status-dot-pulse-size. Scoped to the pill: a plain .oc-status-dot is the status light (parts/app-status-dot.css).
|
|
244
245
|
--strong starts at the full accent with a wider ring. */
|
|
245
|
-
.oc-status-dot {
|
|
246
|
+
.oc-pill .oc-status-dot {
|
|
246
247
|
--oc-status-dot-pulse-alpha: 0.6;
|
|
247
248
|
--oc-status-dot-pulse-size: 8px;
|
|
248
249
|
inline-size: 0.5rem;
|
|
249
250
|
aspect-ratio: 1;
|
|
250
251
|
border-radius: 50%;
|
|
251
252
|
background: var(--oc-accent-from);
|
|
252
|
-
animation: oc-
|
|
253
|
+
animation: oc-status-dot-ring 2s infinite;
|
|
253
254
|
}
|
|
254
|
-
.oc-status-dot--strong { --oc-status-dot-pulse-alpha: 1; --oc-status-dot-pulse-size: 10px; }
|
|
255
|
-
@keyframes oc-
|
|
255
|
+
.oc-pill .oc-status-dot--strong { --oc-status-dot-pulse-alpha: 1; --oc-status-dot-pulse-size: 10px; }
|
|
256
|
+
@keyframes oc-status-dot-ring {
|
|
256
257
|
0% { box-shadow: 0 0 0 0 oklch(from var(--oc-accent-from) l c h / var(--oc-status-dot-pulse-alpha)); }
|
|
257
258
|
70%, 100% { box-shadow: 0 0 0 var(--oc-status-dot-pulse-size) transparent; }
|
|
258
259
|
}
|
|
@@ -413,5 +414,5 @@
|
|
|
413
414
|
|
|
414
415
|
@media (prefers-reduced-motion: reduce) {
|
|
415
416
|
.oc-backdrop::before, .oc-backdrop::after, .oc-backdrop > .oc-backdrop__blob,
|
|
416
|
-
.oc-icon-tile--float, .oc-marquee__track, .oc-status-dot, .oc-reveal, .oc-site-header { animation: none; }
|
|
417
|
+
.oc-icon-tile--float, .oc-marquee__track, .oc-pill .oc-status-dot, .oc-reveal, .oc-site-header { animation: none; }
|
|
417
418
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@birdycom/omniaui",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.5",
|
|
4
4
|
"description": "OmniaUI components: CSS-first UI built on native HTML (dialog, popover, details) with light-dark() theming — no JavaScript required. Includes the omniaui CLI (add/list).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"omniaui": "./bin/omniaui.mjs"
|
|
58
58
|
},
|
|
59
59
|
"peerDependencies": {
|
|
60
|
-
"@birdycom/omniacss": "^0.12.
|
|
60
|
+
"@birdycom/omniacss": "^0.12.5"
|
|
61
61
|
},
|
|
62
62
|
"peerDependenciesMeta": {
|
|
63
63
|
"@birdycom/omniacss": {
|