@revikornmann/muka-ui 0.2.1 → 0.2.3

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.
@@ -5818,37 +5818,6 @@ body {
5818
5818
  }
5819
5819
 
5820
5820
 
5821
- /* Popover */
5822
- /* Popover Component Styles */
5823
-
5824
- .muka-popover__content {
5825
- background-color: var(--color-surface-level3);
5826
- border: var(--border-width-regular) solid var(--color-border-default);
5827
- border-radius: var(--radius-md);
5828
- padding: var(--spacing-4);
5829
- box-shadow: var(--shadow-level3);
5830
- max-width: 20rem;
5831
- z-index: 50;
5832
- animation: muka-popover-fade-in 150ms ease;
5833
- }
5834
-
5835
- @keyframes muka-popover-fade-in {
5836
- from {
5837
- opacity: 0;
5838
- transform: scale(0.96);
5839
- }
5840
- to {
5841
- opacity: 1;
5842
- transform: scale(1);
5843
- }
5844
- }
5845
-
5846
- /* Arrow */
5847
- .muka-popover__arrow {
5848
- fill: var(--color-surface-level3);
5849
- }
5850
-
5851
-
5852
5821
  /* PieChart */
5853
5822
  /* PieChart Component Styles - Using Muka Design Tokens */
5854
5823
 
@@ -6048,6 +6017,37 @@ body {
6048
6017
  }
6049
6018
 
6050
6019
 
6020
+ /* Popover */
6021
+ /* Popover Component Styles */
6022
+
6023
+ .muka-popover__content {
6024
+ background-color: var(--color-surface-level3);
6025
+ border: var(--border-width-regular) solid var(--color-border-default);
6026
+ border-radius: var(--radius-md);
6027
+ padding: var(--spacing-4);
6028
+ box-shadow: var(--shadow-level3);
6029
+ max-width: 20rem;
6030
+ z-index: 50;
6031
+ animation: muka-popover-fade-in 150ms ease;
6032
+ }
6033
+
6034
+ @keyframes muka-popover-fade-in {
6035
+ from {
6036
+ opacity: 0;
6037
+ transform: scale(0.96);
6038
+ }
6039
+ to {
6040
+ opacity: 1;
6041
+ transform: scale(1);
6042
+ }
6043
+ }
6044
+
6045
+ /* Arrow */
6046
+ .muka-popover__arrow {
6047
+ fill: var(--color-surface-level3);
6048
+ }
6049
+
6050
+
6051
6051
  /* NumberInput */
6052
6052
  /* NumberInput — reuses Input field styles (../Input/Input.css). */
6053
6053
  /* Only the prefix/suffix affixes are NumberInput-specific. */
@@ -6106,6 +6106,194 @@ body {
6106
6106
  .muka-nav-transition__view--top { z-index: 2; }
6107
6107
 
6108
6108
 
6109
+ /* ListItem */
6110
+ /* ListItem Component Styles - Using Muka Design Tokens */
6111
+
6112
+ /* Base list item styles */
6113
+ .muka-listitem {
6114
+ /* Layout */
6115
+ display: flex;
6116
+ align-items: flex-start;
6117
+ gap: var(--spacing-4);
6118
+ padding: var(--spacing-5) var(--spacing-4);
6119
+
6120
+ /* Background - using semantic tokens */
6121
+ background-color: var(--color-surface-level3);
6122
+
6123
+ /* Typography */
6124
+ font-family: var(--alias-font-brand-family);
6125
+
6126
+ /* Border and spacing */
6127
+ border: none;
6128
+ position: relative;
6129
+
6130
+ /* Interaction - only apply if interactive */
6131
+ transition: background-color 0.2s ease;
6132
+ }
6133
+
6134
+ /* Interactive state */
6135
+ .muka-listitem--interactive {
6136
+ cursor: pointer;
6137
+ }
6138
+
6139
+ .muka-listitem--interactive:hover:not(:disabled):not(.muka-listitem--disabled) {
6140
+ background-color: var(--color-surface-hover);
6141
+ }
6142
+
6143
+ .muka-listitem--interactive:active:not(:disabled):not(.muka-listitem--disabled),
6144
+ .muka-listitem--interactive.muka-listitem--pressed:not(:disabled):not(.muka-listitem--disabled) {
6145
+ background-color: var(--color-surface-pressed);
6146
+ }
6147
+
6148
+ /* Focus styles for accessibility */
6149
+ .muka-listitem:focus-visible {
6150
+ outline: 2px solid var(--color-border-focus);
6151
+ outline-offset: -2px;
6152
+ }
6153
+
6154
+ /* Disabled state */
6155
+ .muka-listitem--disabled {
6156
+ opacity: 0.5;
6157
+ cursor: not-allowed;
6158
+ pointer-events: none;
6159
+ }
6160
+
6161
+ .muka-listitem--disabled:hover {
6162
+ background-color: var(--color-surface-level3);
6163
+ }
6164
+
6165
+ /* Selected state */
6166
+ .muka-listitem--selected {
6167
+ background-color: var(--color-surface-level2);
6168
+ }
6169
+
6170
+ .muka-listitem--selected:hover {
6171
+ background-color: var(--color-surface-hover);
6172
+ }
6173
+
6174
+ /* No divider modifier */
6175
+ .muka-listitem--no-divider .muka-listitem__divider {
6176
+ display: none;
6177
+ }
6178
+
6179
+ /* Center content vertically when no caption */
6180
+ .muka-listitem--no-caption {
6181
+ align-items: center;
6182
+ }
6183
+
6184
+ /* Leading content (icon or image) */
6185
+ .muka-listitem__leading {
6186
+ display: flex;
6187
+ align-items: center;
6188
+ justify-content: center;
6189
+ flex-shrink: 0;
6190
+ width: 48px;
6191
+ height: 48px;
6192
+ }
6193
+
6194
+ .muka-listitem__icon {
6195
+ display: inline-flex;
6196
+ align-items: center;
6197
+ justify-content: center;
6198
+ width: 32px;
6199
+ height: 32px;
6200
+ color: var(--color-text-default-default);
6201
+ }
6202
+
6203
+ .muka-listitem__image {
6204
+ width: 48px;
6205
+ height: 48px;
6206
+ border-radius: var(--radius-md);
6207
+ object-fit: cover;
6208
+ }
6209
+
6210
+ /* Main content area */
6211
+ .muka-listitem__content {
6212
+ flex: 1;
6213
+ display: flex;
6214
+ align-items: center;
6215
+ gap: var(--spacing-4);
6216
+ min-width: 0;
6217
+ }
6218
+
6219
+ .muka-listitem__text {
6220
+ flex: 1;
6221
+ display: flex;
6222
+ flex-direction: column;
6223
+ gap: var(--spacing-1);
6224
+ min-width: 0;
6225
+ }
6226
+
6227
+ /* Label text */
6228
+ .muka-listitem__label {
6229
+ margin: 0;
6230
+ padding: 0;
6231
+
6232
+ /* Typography - using semantic tokens */
6233
+ font-family: var(--alias-font-plain-family);
6234
+ font-weight: var(--alias-font-plain-weight-semibold, 600);
6235
+ font-size: var(--text-label-md-fontSize);
6236
+ line-height: var(--text-label-md-lineHeight);
6237
+ color: var(--color-text-default-default);
6238
+
6239
+ /* Text handling */
6240
+ overflow: hidden;
6241
+ text-overflow: ellipsis;
6242
+ white-space: nowrap;
6243
+ }
6244
+
6245
+ /* Caption text */
6246
+ .muka-listitem__caption {
6247
+ margin: 0;
6248
+ padding: 0;
6249
+
6250
+ /* Typography - using semantic tokens */
6251
+ font-family: var(--alias-font-plain-family);
6252
+ font-weight: var(--alias-font-plain-weight-regular, 400);
6253
+ font-size: var(--text-body-sm-fontSize);
6254
+ line-height: var(--text-body-sm-lineHeight);
6255
+ color: var(--color-text-subtle-default);
6256
+
6257
+ /* Text handling */
6258
+ overflow: hidden;
6259
+ text-overflow: ellipsis;
6260
+ white-space: nowrap;
6261
+ }
6262
+
6263
+ /* Trailing chevron */
6264
+ .muka-listitem__chevron {
6265
+ display: inline-flex;
6266
+ align-items: center;
6267
+ justify-content: center;
6268
+ flex-shrink: 0;
6269
+ width: 24px;
6270
+ height: 24px;
6271
+ color: var(--color-text-subtle-default);
6272
+ }
6273
+
6274
+ /* Bottom divider */
6275
+ .muka-listitem__divider {
6276
+ position: absolute;
6277
+ bottom: 0;
6278
+ left: 0;
6279
+ right: 0;
6280
+ height: 1px;
6281
+ background-color: var(--color-border-default);
6282
+ }
6283
+
6284
+ /* Button and anchor specific styles */
6285
+ button.muka-listitem,
6286
+ a.muka-listitem {
6287
+ text-align: left;
6288
+ width: 100%;
6289
+ }
6290
+
6291
+ /* List item specific styles */
6292
+ li.muka-listitem {
6293
+ list-style: none;
6294
+ }
6295
+
6296
+
6109
6297
  /* Menu */
6110
6298
  /* Menu Component Styles */
6111
6299
 
@@ -6389,194 +6577,6 @@ body {
6389
6577
  }
6390
6578
 
6391
6579
 
6392
- /* ListItem */
6393
- /* ListItem Component Styles - Using Muka Design Tokens */
6394
-
6395
- /* Base list item styles */
6396
- .muka-listitem {
6397
- /* Layout */
6398
- display: flex;
6399
- align-items: flex-start;
6400
- gap: var(--spacing-4);
6401
- padding: var(--spacing-5) var(--spacing-4);
6402
-
6403
- /* Background - using semantic tokens */
6404
- background-color: var(--color-surface-level3);
6405
-
6406
- /* Typography */
6407
- font-family: var(--alias-font-brand-family);
6408
-
6409
- /* Border and spacing */
6410
- border: none;
6411
- position: relative;
6412
-
6413
- /* Interaction - only apply if interactive */
6414
- transition: background-color 0.2s ease;
6415
- }
6416
-
6417
- /* Interactive state */
6418
- .muka-listitem--interactive {
6419
- cursor: pointer;
6420
- }
6421
-
6422
- .muka-listitem--interactive:hover:not(:disabled):not(.muka-listitem--disabled) {
6423
- background-color: var(--color-surface-hover);
6424
- }
6425
-
6426
- .muka-listitem--interactive:active:not(:disabled):not(.muka-listitem--disabled),
6427
- .muka-listitem--interactive.muka-listitem--pressed:not(:disabled):not(.muka-listitem--disabled) {
6428
- background-color: var(--color-surface-pressed);
6429
- }
6430
-
6431
- /* Focus styles for accessibility */
6432
- .muka-listitem:focus-visible {
6433
- outline: 2px solid var(--color-border-focus);
6434
- outline-offset: -2px;
6435
- }
6436
-
6437
- /* Disabled state */
6438
- .muka-listitem--disabled {
6439
- opacity: 0.5;
6440
- cursor: not-allowed;
6441
- pointer-events: none;
6442
- }
6443
-
6444
- .muka-listitem--disabled:hover {
6445
- background-color: var(--color-surface-level3);
6446
- }
6447
-
6448
- /* Selected state */
6449
- .muka-listitem--selected {
6450
- background-color: var(--color-surface-level2);
6451
- }
6452
-
6453
- .muka-listitem--selected:hover {
6454
- background-color: var(--color-surface-hover);
6455
- }
6456
-
6457
- /* No divider modifier */
6458
- .muka-listitem--no-divider .muka-listitem__divider {
6459
- display: none;
6460
- }
6461
-
6462
- /* Center content vertically when no caption */
6463
- .muka-listitem--no-caption {
6464
- align-items: center;
6465
- }
6466
-
6467
- /* Leading content (icon or image) */
6468
- .muka-listitem__leading {
6469
- display: flex;
6470
- align-items: center;
6471
- justify-content: center;
6472
- flex-shrink: 0;
6473
- width: 48px;
6474
- height: 48px;
6475
- }
6476
-
6477
- .muka-listitem__icon {
6478
- display: inline-flex;
6479
- align-items: center;
6480
- justify-content: center;
6481
- width: 32px;
6482
- height: 32px;
6483
- color: var(--color-text-default-default);
6484
- }
6485
-
6486
- .muka-listitem__image {
6487
- width: 48px;
6488
- height: 48px;
6489
- border-radius: var(--radius-md);
6490
- object-fit: cover;
6491
- }
6492
-
6493
- /* Main content area */
6494
- .muka-listitem__content {
6495
- flex: 1;
6496
- display: flex;
6497
- align-items: center;
6498
- gap: var(--spacing-4);
6499
- min-width: 0;
6500
- }
6501
-
6502
- .muka-listitem__text {
6503
- flex: 1;
6504
- display: flex;
6505
- flex-direction: column;
6506
- gap: var(--spacing-1);
6507
- min-width: 0;
6508
- }
6509
-
6510
- /* Label text */
6511
- .muka-listitem__label {
6512
- margin: 0;
6513
- padding: 0;
6514
-
6515
- /* Typography - using semantic tokens */
6516
- font-family: var(--alias-font-plain-family);
6517
- font-weight: var(--alias-font-plain-weight-semibold, 600);
6518
- font-size: var(--text-label-md-fontSize);
6519
- line-height: var(--text-label-md-lineHeight);
6520
- color: var(--color-text-default-default);
6521
-
6522
- /* Text handling */
6523
- overflow: hidden;
6524
- text-overflow: ellipsis;
6525
- white-space: nowrap;
6526
- }
6527
-
6528
- /* Caption text */
6529
- .muka-listitem__caption {
6530
- margin: 0;
6531
- padding: 0;
6532
-
6533
- /* Typography - using semantic tokens */
6534
- font-family: var(--alias-font-plain-family);
6535
- font-weight: var(--alias-font-plain-weight-regular, 400);
6536
- font-size: var(--text-body-sm-fontSize);
6537
- line-height: var(--text-body-sm-lineHeight);
6538
- color: var(--color-text-subtle-default);
6539
-
6540
- /* Text handling */
6541
- overflow: hidden;
6542
- text-overflow: ellipsis;
6543
- white-space: nowrap;
6544
- }
6545
-
6546
- /* Trailing chevron */
6547
- .muka-listitem__chevron {
6548
- display: inline-flex;
6549
- align-items: center;
6550
- justify-content: center;
6551
- flex-shrink: 0;
6552
- width: 24px;
6553
- height: 24px;
6554
- color: var(--color-text-subtle-default);
6555
- }
6556
-
6557
- /* Bottom divider */
6558
- .muka-listitem__divider {
6559
- position: absolute;
6560
- bottom: 0;
6561
- left: 0;
6562
- right: 0;
6563
- height: 1px;
6564
- background-color: var(--color-border-default);
6565
- }
6566
-
6567
- /* Button and anchor specific styles */
6568
- button.muka-listitem,
6569
- a.muka-listitem {
6570
- text-align: left;
6571
- width: 100%;
6572
- }
6573
-
6574
- /* List item specific styles */
6575
- li.muka-listitem {
6576
- list-style: none;
6577
- }
6578
-
6579
-
6580
6580
  /* LicensePlateInput */
6581
6581
  /* LicensePlateInput — Dutch RDW-style plate input
6582
6582
  *
@@ -8220,6 +8220,33 @@ li.muka-listitem {
8220
8220
  }
8221
8221
 
8222
8222
 
8223
+ /* Divider */
8224
+ /* Divider Component Styles - Using Muka Design Tokens */
8225
+
8226
+ .muka-divider {
8227
+ flex-shrink: 0;
8228
+ }
8229
+
8230
+ .muka-divider--horizontal {
8231
+ width: 100%;
8232
+ height: var(--separator-width);
8233
+ }
8234
+
8235
+ .muka-divider--vertical {
8236
+ height: 100%;
8237
+ width: var(--separator-width);
8238
+ align-self: stretch;
8239
+ }
8240
+
8241
+ .muka-divider--default {
8242
+ background-color: var(--separator-color-default);
8243
+ }
8244
+
8245
+ .muka-divider--contrast {
8246
+ background-color: var(--separator-color-contrast);
8247
+ }
8248
+
8249
+
8223
8250
  /* Dialog */
8224
8251
  /* Dialog Component Styles */
8225
8252
 
@@ -8519,33 +8546,6 @@ li.muka-listitem {
8519
8546
  }
8520
8547
 
8521
8548
 
8522
- /* Divider */
8523
- /* Divider Component Styles - Using Muka Design Tokens */
8524
-
8525
- .muka-divider {
8526
- flex-shrink: 0;
8527
- }
8528
-
8529
- .muka-divider--horizontal {
8530
- width: 100%;
8531
- height: var(--separator-width);
8532
- }
8533
-
8534
- .muka-divider--vertical {
8535
- height: 100%;
8536
- width: var(--separator-width);
8537
- align-self: stretch;
8538
- }
8539
-
8540
- .muka-divider--default {
8541
- background-color: var(--separator-color-default);
8542
- }
8543
-
8544
- .muka-divider--contrast {
8545
- background-color: var(--separator-color-contrast);
8546
- }
8547
-
8548
-
8549
8549
  /* DataTable */
8550
8550
  /* DataTable Component Styles - Using Muka Design Tokens */
8551
8551
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@revikornmann/muka-ui",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "Muka Design System - Multi-brand design tokens and React components",
5
5
  "main": "dist/cjs/components/index.js",
6
6
  "module": "dist/esm/components/index.js",
@@ -22,16 +22,19 @@ it and prefer it when present, since it always matches the installed version.
22
22
 
23
23
  If a previous git dependency exists (e.g.
24
24
  `"@revikornmann/muka-ui": "github:revikornmann/muka#<sha>"`), it is replaced by
25
- the install below.
25
+ the install below. Use the repo's package manager — check the lockfile first
26
+ (`pnpm-lock.yaml` → pnpm, `yarn.lock` → yarn, otherwise npm):
26
27
 
27
28
  ```bash
28
- npm install @revikornmann/muka-ui@latest --save
29
+ npm install @revikornmann/muka-ui@latest --save # npm
30
+ # pnpm add @revikornmann/muka-ui@latest # pnpm
31
+ # yarn add @revikornmann/muka-ui@latest # yarn
29
32
  ```
30
33
 
31
34
  Confirm it resolved from npmjs (not a git URL):
32
35
 
33
36
  ```bash
34
- npm ls @revikornmann/muka-ui
37
+ npm ls @revikornmann/muka-ui # or: pnpm why … / yarn why …
35
38
  ```
36
39
 
37
40
  ## Step 2: Import styles and components
@@ -11,7 +11,8 @@
11
11
  # bump. Pushing to the default branch lets your host (e.g. Vercel) redeploy.
12
12
  #
13
13
  # Muka UI is a public npm package, so installing needs no registry config or
14
- # auth token.
14
+ # auth token. The install step auto-detects your package manager from the
15
+ # lockfile (npm / pnpm / yarn) and commits whichever lockfile changed.
15
16
 
16
17
  name: Update Muka UI
17
18
 
@@ -42,20 +43,37 @@ jobs:
42
43
  - name: Setup Node.js
43
44
  uses: actions/setup-node@v4
44
45
  with:
45
- node-version: '20'
46
- cache: 'npm'
46
+ # Node 22 LTS: current pnpm/yarn (via corepack) require Node >= 22.13.
47
+ node-version: '22'
48
+
49
+ - name: Enable corepack (pnpm / yarn shims)
50
+ run: corepack enable
47
51
 
48
52
  - name: Install target Muka version
49
53
  # repository_dispatch carries the published version; workflow_dispatch
50
54
  # falls back to @latest. Public npm package — no registry config or auth.
55
+ # Auto-detects the package manager from the repo's lockfile.
56
+ env:
57
+ # Don't prompt to download a corepack-managed pnpm/yarn in CI.
58
+ COREPACK_ENABLE_DOWNLOAD_PROMPT: '0'
51
59
  run: |
52
60
  VERSION="${{ github.event.client_payload.version }}"
53
- npm install "@revikornmann/muka-ui@${VERSION:-latest}" --save
61
+ SPEC="@revikornmann/muka-ui@${VERSION:-latest}"
62
+ if [ -f pnpm-lock.yaml ]; then
63
+ echo "Detected pnpm"
64
+ pnpm add "$SPEC"
65
+ elif [ -f yarn.lock ]; then
66
+ echo "Detected yarn"
67
+ yarn add "$SPEC"
68
+ else
69
+ echo "Detected npm"
70
+ npm install "$SPEC" --save
71
+ fi
54
72
 
55
73
  - name: Check for changes
56
74
  id: changes
57
75
  run: |
58
- if git diff --quiet -- package.json package-lock.json; then
76
+ if git diff --quiet -- package.json package-lock.json pnpm-lock.yaml yarn.lock; then
59
77
  echo "changed=false" >> "$GITHUB_OUTPUT"
60
78
  echo "Already on the target muka version — nothing to update."
61
79
  else
@@ -68,7 +86,11 @@ jobs:
68
86
  run: |
69
87
  git config --local user.email "action@github.com"
70
88
  git config --local user.name "GitHub Action"
71
- git add package.json package-lock.json
89
+ # Stage package.json plus whichever lockfile this repo uses.
90
+ git add package.json
91
+ for lock in package-lock.json pnpm-lock.yaml yarn.lock; do
92
+ [ -f "$lock" ] && git add "$lock"
93
+ done
72
94
  git commit -m "⬆️ Update @revikornmann/muka-ui to ${{ github.event.client_payload.version || 'latest' }}
73
95
 
74
96
  Triggered by: ${{ github.event_name }}