@xenide-io/the-old-ui-theme 0.3.1 → 0.3.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xenide-io/the-old-ui-theme",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "Props-driven React components and theme tokens inspired by classic interface design — optimized for Next.js apps and internal tools.",
5
5
  "author": "Xenide",
6
6
  "license": "MIT",
@@ -184,7 +184,7 @@ body {
184
184
  ) {
185
185
  --ph-btn-depth: 0px;
186
186
  --ph-btn-chrome-depth: var(--ph-chrome-depth);
187
- --ph-btn-border-width: 1.5px;
187
+ --ph-btn-border-width: 1px;
188
188
  --ph-btn-face: var(--ph-secondary-button-bg);
189
189
  --ph-btn-border: var(--ph-secondary-button-border);
190
190
  --ph-btn-border-hover: var(--ph-secondary-button-border-hover);
@@ -514,6 +514,71 @@ body {
514
514
  animation: ph-spin 0.65s linear infinite;
515
515
  }
516
516
 
517
+ /* A real face over a real frame stays connected at every interaction state. */
518
+ .ph-btn.ph-btn-raised {
519
+ --ph-btn-face-offset: -2px;
520
+ position: relative;
521
+ min-height: var(--ph-btn-control-size);
522
+ border: var(--ph-btn-border-width) solid var(--ph-btn-border);
523
+ border-radius: var(--ph-radius-control);
524
+ background: var(--ph-btn-frame);
525
+ transition:
526
+ border-color var(--ph-motion-fast) ease,
527
+ color var(--ph-motion-fast) ease,
528
+ opacity var(--ph-motion-fast) ease;
529
+ }
530
+
531
+ .ph-btn.ph-btn-raised .ph-btn-chrome {
532
+ z-index: 1;
533
+ box-sizing: border-box;
534
+ flex: 1;
535
+ width: auto;
536
+ min-height: calc(var(--ph-btn-control-size) - 2 * var(--ph-btn-border-width));
537
+ margin-inline: calc(-1 * var(--ph-btn-border-width));
538
+ background: var(--ph-btn-face);
539
+ border: var(--ph-btn-border-width) solid var(--ph-btn-border);
540
+ border-radius: var(--ph-radius-control);
541
+ transform: translateY(var(--ph-btn-face-offset));
542
+ transition:
543
+ border-color var(--ph-motion-fast) ease,
544
+ color var(--ph-motion-fast) ease,
545
+ transform 50ms ease-out;
546
+ }
547
+
548
+ .ph-btn.ph-btn-raised .ph-btn-chrome::before,
549
+ .ph-btn.ph-btn-raised .ph-btn-chrome::after {
550
+ content: none;
551
+ }
552
+
553
+ .ph-btn.ph-btn-raised:hover:not(:disabled) {
554
+ --ph-btn-face-offset: -3px;
555
+ border-color: var(--ph-btn-border-hover);
556
+ }
557
+
558
+ .ph-btn.ph-btn-raised:hover:not(:disabled) .ph-btn-chrome {
559
+ color: var(--ph-btn-ink);
560
+ border-color: var(--ph-btn-border-hover);
561
+ transform: translateY(var(--ph-btn-face-offset));
562
+ }
563
+
564
+ .ph-btn.ph-btn-raised:active:not(:disabled) {
565
+ --ph-btn-face-offset: -1px;
566
+ }
567
+
568
+ .ph-btn.ph-btn-raised:active:not(:disabled) .ph-btn-chrome {
569
+ transform: translateY(var(--ph-btn-face-offset));
570
+ transition-duration: 0ms;
571
+ }
572
+
573
+ .ph-btn.ph-btn-circle.ph-btn-raised,
574
+ .ph-btn-circle.ph-btn-raised .ph-btn-chrome {
575
+ border-radius: 9999px;
576
+ }
577
+
578
+ .ph-btn-outline.ph-btn-raised .ph-btn-chrome {
579
+ background: var(--ph-surface-raised);
580
+ }
581
+
517
582
  /* Surfaces — crisp edge + faint top lip beside elevation */
518
583
  .ph-panel {
519
584
  @apply border bg-ph-muted p-6;
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
 
3
3
  import { useState } from "react";
4
- import { AppLayout, Sidebar, ShowcaseWrapper, Badge } from "@/components/ui";
4
+ import { AppLayout, Sidebar, ShowcaseWrapper, Badge, Button } from "@/components/ui";
5
5
  import { Home, Bell, Flag, User, Search, Zap } from "lucide-react";
6
6
 
7
7
  const sampleGroups = [
@@ -54,12 +54,13 @@ export default function SidebarShowcase() {
54
54
  </AppLayout>`}
55
55
  >
56
56
  <div className="space-y-4">
57
- <button
57
+ <Button
58
+ variant="secondary"
59
+ size="sm"
58
60
  onClick={() => setCollapsed(!collapsed)}
59
- className="ph-btn ph-btn-secondary ph-btn-sm"
60
61
  >
61
62
  {collapsed ? "Expand sidebar" : "Collapse sidebar"}
62
- </button>
63
+ </Button>
63
64
  <div className="overflow-hidden rounded-lg border border-ph-border" style={{ height: 360 }}>
64
65
  <AppLayout
65
66
  sidebarWidth={collapsed ? 56 : 220}
@@ -74,7 +75,7 @@ export default function SidebarShowcase() {
74
75
  </div>
75
76
  }
76
77
  footer={
77
- !collapsed ? <span className="text-xs text-ph-mutedtext px-2">v0.4.0</span> : null
78
+ !collapsed ? <span className="text-xs text-ph-mutedtext px-2">v0.3.2</span> : null
78
79
  }
79
80
  />
80
81
  }