@liiift-studio/mac-os9-ui 0.2.21 → 0.2.24

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/index.css CHANGED
@@ -47,16 +47,16 @@
47
47
  }
48
48
  @font-face {
49
49
  font-family: 'PixelSmall';
50
- src: url("fonts/b9e24cd1.woff2") format('woff2'),
51
- url("fonts/2bc2468e.woff") format('woff');
50
+ src: url("fonts/9f492b6d.woff2") format('woff2'),
51
+ url("fonts/65e59833.woff") format('woff');
52
52
  font-style: normal;
53
53
  font-weight: bold;
54
54
  font-display: swap;
55
55
  }
56
56
  @font-face {
57
57
  font-family: 'PixelSmall';
58
- src: url("fonts/cf596b2d.woff2") format('woff2'),
59
- url("fonts/3306dfd5.woff") format('woff');
58
+ src: url("fonts/e45380e5.woff2") format('woff2'),
59
+ url("fonts/6fb9ec6b.woff") format('woff');
60
60
  font-style: normal;
61
61
  font-weight: normal;
62
62
  font-display: swap;
@@ -274,32 +274,43 @@
274
274
  box-sizing: border-box;
275
275
  }
276
276
  html {
277
- /* Set base font size for rem calculations */
278
- /* Mobile/default: 16px base */
279
- font-size: 16px;
277
+ /* Mobile-first: smaller base for better readability on small screens */
278
+ /* Mobile/default: 14px base - optimal for mobile devices */
279
+ font-size: 14px;
280
280
  -webkit-font-smoothing: antialiased;
281
281
  -moz-osx-font-smoothing: grayscale;
282
282
  }
283
283
  /* ========================================
284
284
  * Responsive Typography
285
285
  * Scale base font size at different breakpoints
286
+ * Following mobile-first best practices:
287
+ * - Mobile: 14px (better for small screens, maintains Mac OS 9 small text aesthetic)
288
+ * - Tablet: 16px (standard web default)
289
+ * - Desktop: 16px (comfortable for productivity)
290
+ * - Large Desktop: 18px (takes advantage of larger screens)
286
291
  * ======================================== */
292
+ /* Small mobile: 480px+ */
293
+ @media (min-width: 480px) {
294
+ html {
295
+ font-size: 15px;
296
+ }
297
+ }
287
298
  /* Tablet: 768px+ */
288
299
  @media (min-width: 768px) {
289
300
  html {
290
- font-size: 17px;
301
+ font-size: 16px;
291
302
  }
292
303
  }
293
304
  /* Desktop: 1024px+ */
294
305
  @media (min-width: 1024px) {
295
306
  html {
296
- font-size: 18px;
307
+ font-size: 16px;
297
308
  }
298
309
  }
299
310
  /* Large Desktop/XL: 1440px+ */
300
311
  @media (min-width: 1440px) {
301
312
  html {
302
- font-size: 20px;
313
+ font-size: 18px;
303
314
  }
304
315
  }
305
316
  body {
@@ -2920,6 +2931,11 @@ body {
2920
2931
  z-index: 1;
2921
2932
  }
2922
2933
 
2934
+ .Window-module_window--draggable {
2935
+ /* Draggable window - absolute positioning applied inline */
2936
+ /* Position and coordinates are set via inline styles when dragged */
2937
+ }
2938
+
2923
2939
  /* ========================================
2924
2940
  * Title Bar
2925
2941
  * ======================================== */
@@ -3024,6 +3040,18 @@ body {
3024
3040
  pointer-events: none;
3025
3041
  }
3026
3042
 
3043
+ /* Title Bar Draggable States */
3044
+
3045
+ .Window-module_titleBar--draggable {
3046
+ /* Draggable title bar - show grab cursor */
3047
+ cursor: grab;
3048
+ }
3049
+
3050
+ .Window-module_titleBar--dragging {
3051
+ /* Title bar while being dragged - show grabbing cursor */
3052
+ cursor: grabbing;
3053
+ }
3054
+
3027
3055
  /* ========================================
3028
3056
  * Window Controls
3029
3057
  * ======================================== */
@@ -3484,6 +3512,11 @@ body {
3484
3512
  animation: MenuBar-module_menuFadeIn 100ms ease-out;
3485
3513
  }
3486
3514
 
3515
+ .MenuBar-module_dropdown--right {
3516
+ left: auto;
3517
+ right: 0;
3518
+ }
3519
+
3487
3520
  @keyframes MenuBar-module_menuFadeIn {
3488
3521
  from {
3489
3522
  opacity: 0;
@@ -3539,12 +3572,12 @@ body {
3539
3572
  display: flex;
3540
3573
  align-items: center;
3541
3574
  gap: var(--spacing-2);
3542
-
3575
+
3543
3576
  /* Layout */
3544
3577
  width: 100%;
3545
3578
  padding: var(--spacing-1) var(--spacing-3);
3546
3579
  min-height: 20px;
3547
-
3580
+
3548
3581
  /* Text styling */
3549
3582
  font-family: var(--font-system);
3550
3583
  font-size: var(--font-size-md);
@@ -3552,15 +3585,15 @@ body {
3552
3585
  line-height: var(--line-height-snug);
3553
3586
  text-align: left;
3554
3587
  color: var(--color-text);
3555
-
3588
+
3556
3589
  /* Remove button defaults */
3557
3590
  background-color: transparent;
3558
3591
  border: none;
3559
3592
  cursor: pointer;
3560
-
3593
+
3561
3594
  /* Transitions */
3562
3595
  transition: background-color 50ms ease;
3563
-
3596
+
3564
3597
  /* Prevent text selection */
3565
3598
  user-select: none;
3566
3599
  }
@@ -3641,6 +3674,42 @@ body {
3641
3674
  margin-left: var(--spacing-1);
3642
3675
  }
3643
3676
 
3677
+ .MenuItem-module_submenu {
3678
+ /* Submenu container */
3679
+ position: absolute;
3680
+ top: -4px;
3681
+ left: 100%;
3682
+ z-index: 1001;
3683
+
3684
+ /* Mac OS 9 menu appearance */
3685
+ background-color: var(--color-gray-100);
3686
+ border: var(--border-width-thin) solid var(--color-black);
3687
+
3688
+ /* Drop shadow */
3689
+ box-shadow: 2px 2px 0px rgba(0, 0, 0, 0.5);
3690
+
3691
+ /* Sizing */
3692
+ min-width: 200px;
3693
+
3694
+ /* Padding */
3695
+ padding: var(--spacing-1) 0;
3696
+
3697
+ /* Animation */
3698
+ animation: MenuItem-module_menuFadeIn 100ms ease-out;
3699
+ }
3700
+
3701
+ @keyframes MenuItem-module_menuFadeIn {
3702
+ from {
3703
+ opacity: 0;
3704
+ transform: translateX(-4px);
3705
+ }
3706
+
3707
+ to {
3708
+ opacity: 1;
3709
+ transform: translateX(0);
3710
+ }
3711
+ }
3712
+
3644
3713
  /* ========================================
3645
3714
  * Separator Line
3646
3715
  * ======================================== */