@cueplusplus/ui 0.19.0 → 0.20.0

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.
Files changed (77) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/brand/index.d.ts +3 -1
  3. package/dist/brand/particle-logo.d.ts +50 -0
  4. package/dist/brand/particle-logo.js +437 -0
  5. package/dist/brand/text-scramble.d.ts +42 -0
  6. package/dist/brand/text-scramble.js +160 -0
  7. package/dist/chat/delegation-card.js +2 -1
  8. package/dist/chat/message.js +12 -13
  9. package/dist/color/color-area.js +2 -1
  10. package/dist/forms/_chassis.d.ts +1 -1
  11. package/dist/forms/_chassis.js +2 -2
  12. package/dist/forms/env-var-input.js +2 -1
  13. package/dist/forms/file-upload.js +2 -1
  14. package/dist/index.d.ts +5 -1
  15. package/dist/index.js +5 -1
  16. package/dist/instruments/data-table.js +3 -2
  17. package/dist/instruments/table.js +1 -1
  18. package/dist/layout/index.d.ts +2 -1
  19. package/dist/layout/index.js +2 -1
  20. package/dist/layout/reveal.d.ts +44 -0
  21. package/dist/layout/reveal.js +106 -0
  22. package/dist/lib/cn.js +23 -5
  23. package/dist/lib/particle-field-shaders.js +236 -0
  24. package/dist/lib/particle-field.js +210 -0
  25. package/dist/midi/spectrum-visualizer.js +2 -1
  26. package/dist/primitives/chip.d.ts +1 -1
  27. package/dist/primitives/chip.js +4 -3
  28. package/dist/system/_style-field-chassis.js +14 -1
  29. package/dist/system/frame-clock.d.ts +33 -0
  30. package/dist/system/frame-clock.js +55 -0
  31. package/dist/system/index.d.ts +2 -1
  32. package/dist/system/index.js +2 -1
  33. package/dist/system/still.js +14 -1
  34. package/manifest/components/autocomplete.json +1 -0
  35. package/manifest/components/bento.json +4 -4
  36. package/manifest/components/color-area.json +10 -0
  37. package/manifest/components/color-field.json +3 -0
  38. package/manifest/components/color-picker.json +3 -0
  39. package/manifest/components/combobox.json +1 -0
  40. package/manifest/components/composer.json +3 -0
  41. package/manifest/components/data-table-pagination.json +3 -0
  42. package/manifest/components/data-table-toolbar.json +3 -0
  43. package/manifest/components/date-field.json +3 -0
  44. package/manifest/components/date-picker.json +3 -0
  45. package/manifest/components/date-range-picker.json +3 -0
  46. package/manifest/components/delegation-card.json +6 -0
  47. package/manifest/components/env-var-input.json +3 -0
  48. package/manifest/components/file-upload.json +5 -0
  49. package/manifest/components/font-scope.json +3 -2
  50. package/manifest/components/grid.json +2 -2
  51. package/manifest/components/input-group.json +3 -0
  52. package/manifest/components/input.json +3 -0
  53. package/manifest/components/ledger.json +1 -1
  54. package/manifest/components/markdown-text.json +1 -1
  55. package/manifest/components/message.json +8 -0
  56. package/manifest/components/multi-select.json +1 -0
  57. package/manifest/components/musical-time-input.json +3 -0
  58. package/manifest/components/number-field.json +3 -0
  59. package/manifest/components/otp-field.json +3 -0
  60. package/manifest/components/particle-logo.json +140 -0
  61. package/manifest/components/password-input.json +3 -0
  62. package/manifest/components/preview.json +3 -2
  63. package/manifest/components/reveal.json +106 -0
  64. package/manifest/components/scrub-input.json +3 -0
  65. package/manifest/components/search-input.json +3 -0
  66. package/manifest/components/select.json +3 -0
  67. package/manifest/components/spectrum-visualizer.json +10 -0
  68. package/manifest/components/stack.json +1 -1
  69. package/manifest/components/table.json +1 -1
  70. package/manifest/components/tags-input.json +1 -0
  71. package/manifest/components/text-scramble.json +90 -0
  72. package/manifest/components/textarea.json +3 -0
  73. package/manifest/components/theme-provider.json +3 -2
  74. package/manifest/components/time-field.json +3 -0
  75. package/manifest/manifest.json +116 -40
  76. package/manifest/tokens.json +4 -2
  77. package/package.json +6 -6
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "library": "@cueplusplus/ui",
4
- "version": "0.19.0",
4
+ "version": "0.20.0",
5
5
  "generatedAt": "1970-01-01T00:00:00.000Z",
6
6
  "themes": [
7
7
  "command",
@@ -38,7 +38,7 @@
38
38
  ],
39
39
  "tokens": {
40
40
  "path": "./tokens.json",
41
- "sha256": "108bd1bcf1ebc332b14faa62db868b46cc96bda309c12fa62123a8dd28d2eb2e"
41
+ "sha256": "ea5e034356318b8bf63b03dd1e4c263472dce4971c446df9d8c22105c13ebbff"
42
42
  },
43
43
  "systemApis": [
44
44
  {
@@ -116,6 +116,11 @@
116
116
  "kind": "type",
117
117
  "signature": "FontScopeProps"
118
118
  },
119
+ {
120
+ "name": "FrameClockOptions",
121
+ "kind": "type",
122
+ "signature": "FrameClockOptions"
123
+ },
119
124
  {
120
125
  "name": "isSafeTokenValue",
121
126
  "kind": "function",
@@ -241,6 +246,11 @@
241
246
  "kind": "function",
242
247
  "signature": "(): readonly FontEntry[]"
243
248
  },
249
+ {
250
+ "name": "useFrameClock",
251
+ "kind": "function",
252
+ "signature": "({ fps, durationInFrames, loop, playing, stillFrame, }: FrameClockOptions): number"
253
+ },
244
254
  {
245
255
  "name": "useStill",
246
256
  "kind": "function",
@@ -349,6 +359,19 @@
349
359
  "path": "./components/motif.json",
350
360
  "sha256": "c32920a3a0eb7be411221d9cb283ca354e0e45f353810e468eb75d44d1926a4a"
351
361
  },
362
+ {
363
+ "name": "ParticleLogo",
364
+ "slug": "particle-logo",
365
+ "group": "brand",
366
+ "importPath": "@cueplusplus/ui",
367
+ "summary": "A mark drawn as a field of particles that wiggle, flip colour in sweeping waves and scatter from the pointer — cueplusplus.com's hero logo, in WebGL2.",
368
+ "status": "stable",
369
+ "url": "/docs/components/particle-logo",
370
+ "mdUrl": "/docs/components/particle-logo.md",
371
+ "jsonUrl": "/r/components/particle-logo.json",
372
+ "path": "./components/particle-logo.json",
373
+ "sha256": "e0eb87d1b86af6309ba36a94295379d1fbe1f01c60b655a251ed9c82451a7975"
374
+ },
352
375
  {
353
376
  "name": "ParticleMark",
354
377
  "slug": "particle-mark",
@@ -388,6 +411,19 @@
388
411
  "path": "./components/ribbon.json",
389
412
  "sha256": "a025d6c515107901ec8a07878f903f9a16b9ae208d60ea8a9f143aa9e69e5bfd"
390
413
  },
414
+ {
415
+ "name": "TextScramble",
416
+ "slug": "text-scramble",
417
+ "group": "brand",
418
+ "importPath": "@cueplusplus/ui",
419
+ "summary": "A line that cycles through phrases, scrambling each one in — matrix glyphs at 28ms a frame, or a departure board's flap — with one sentence for assistive technology.",
420
+ "status": "stable",
421
+ "url": "/docs/components/text-scramble",
422
+ "mdUrl": "/docs/components/text-scramble.md",
423
+ "jsonUrl": "/r/components/text-scramble.json",
424
+ "path": "./components/text-scramble.json",
425
+ "sha256": "14bb4d6234eb51743a2e01d4178e6647bd0d6cb316f989bb6932fe7224a9a565"
426
+ },
391
427
  {
392
428
  "name": "ChartContainer",
393
429
  "slug": "chart-container",
@@ -477,7 +513,7 @@
477
513
  "mdUrl": "/docs/components/composer.md",
478
514
  "jsonUrl": "/r/components/composer.json",
479
515
  "path": "./components/composer.json",
480
- "sha256": "b8106b7a424781b0e73d258a57106620ae613f522453b74324460de09f266133"
516
+ "sha256": "1f58fbd40188c55e47890a6c59206e01c72a77f504f15a3c7a328b5459b173e0"
481
517
  },
482
518
  {
483
519
  "name": "DelegationCard",
@@ -490,7 +526,7 @@
490
526
  "mdUrl": "/docs/components/delegation-card.md",
491
527
  "jsonUrl": "/r/components/delegation-card.json",
492
528
  "path": "./components/delegation-card.json",
493
- "sha256": "423ca2941f424365c93603046897c92af850fffcca2f86ad56816ea39acfb03e"
529
+ "sha256": "385d014e91e934eb9b43f92922f54f403edac2f7511b5772b1d26f75055f81c0"
494
530
  },
495
531
  {
496
532
  "name": "Message",
@@ -503,7 +539,7 @@
503
539
  "mdUrl": "/docs/components/message.md",
504
540
  "jsonUrl": "/r/components/message.json",
505
541
  "path": "./components/message.json",
506
- "sha256": "3b1a862cfe728fb88dcb9cfc35c10faa2e76e2023c33f2bf3df472ff7947c5e0"
542
+ "sha256": "fd7d294ff71a9de130c32d99bdc9c488a822c7093a5fc6c375a872ae6f64b54b"
507
543
  },
508
544
  {
509
545
  "name": "MessageList",
@@ -893,7 +929,7 @@
893
929
  "mdUrl": "/docs/components/color-area.md",
894
930
  "jsonUrl": "/r/components/color-area.json",
895
931
  "path": "./components/color-area.json",
896
- "sha256": "c2847c19c6c9b5fcb91f49c439bff69724322d6dad98fba755a65f00ba249515"
932
+ "sha256": "9c96ad387f1eea2688fbc19122c5dbb71fd5b603d5cb2cc4b66e95e6874b5b19"
897
933
  },
898
934
  {
899
935
  "name": "ColorField",
@@ -906,7 +942,7 @@
906
942
  "mdUrl": "/docs/components/color-field.md",
907
943
  "jsonUrl": "/r/components/color-field.json",
908
944
  "path": "./components/color-field.json",
909
- "sha256": "abafbd0de33c542fcd598e21e0a037cc0c4096d3e41e3f21c879c3e5963b38cb"
945
+ "sha256": "d7d2e4dbf918e82614de5816ca877dc96e64e1bf8c581a2fd3ecfbd8bf350530"
910
946
  },
911
947
  {
912
948
  "name": "ColorPicker",
@@ -919,7 +955,7 @@
919
955
  "mdUrl": "/docs/components/color-picker.md",
920
956
  "jsonUrl": "/r/components/color-picker.json",
921
957
  "path": "./components/color-picker.json",
922
- "sha256": "227033bd9caa85986f285808a9d1799423d92d2fd49a667d6d5cc6ba2fbe41f2"
958
+ "sha256": "18b01adc5f038d00454d538a1e4086f4c66abafc418f77321ab86cf999869b7a"
923
959
  },
924
960
  {
925
961
  "name": "ColorSlider",
@@ -1049,7 +1085,7 @@
1049
1085
  "mdUrl": "/docs/components/date-field.md",
1050
1086
  "jsonUrl": "/r/components/date-field.json",
1051
1087
  "path": "./components/date-field.json",
1052
- "sha256": "d4f823197143ed30e366cbdbe27b4fdf57072fb25d9d79c3abe52c7950cc8898"
1088
+ "sha256": "1359c9ccabb4c1e6e8eff5d1bfe4a1af2a38daf35d454df91ef6cc86488f868a"
1053
1089
  },
1054
1090
  {
1055
1091
  "name": "DatePicker",
@@ -1062,7 +1098,7 @@
1062
1098
  "mdUrl": "/docs/components/date-picker.md",
1063
1099
  "jsonUrl": "/r/components/date-picker.json",
1064
1100
  "path": "./components/date-picker.json",
1065
- "sha256": "6c3c66ad48981da17f0308ef7ee1bf3acda20704382115dd4197fceb9126cc49"
1101
+ "sha256": "2e6b21b07d6cbd7fda8e345381318c9d4244bd8a61abb274a7774da7a0c1f235"
1066
1102
  },
1067
1103
  {
1068
1104
  "name": "DateRangePicker",
@@ -1075,7 +1111,7 @@
1075
1111
  "mdUrl": "/docs/components/date-range-picker.md",
1076
1112
  "jsonUrl": "/r/components/date-range-picker.json",
1077
1113
  "path": "./components/date-range-picker.json",
1078
- "sha256": "83d8d9243c971d789925371b29358174d041b572dd60190809638e3dbdd85333"
1114
+ "sha256": "7ed1eb9b8f43bf0f909b0169390cbab7e723a65bfff6a4a2c83e2526d7dd4d08"
1079
1115
  },
1080
1116
  {
1081
1117
  "name": "TimeField",
@@ -1088,7 +1124,7 @@
1088
1124
  "mdUrl": "/docs/components/time-field.md",
1089
1125
  "jsonUrl": "/r/components/time-field.json",
1090
1126
  "path": "./components/time-field.json",
1091
- "sha256": "3dba0cfc611445c5a23d3bc96899a9f3f9a540a5af118f84ddfd2e1a2320c1e9"
1127
+ "sha256": "fcfc5e8e5e3d0a69773dab6a80ca1d6fe16b24b92237ccbc672c5b80e37dc3e2"
1092
1128
  },
1093
1129
  {
1094
1130
  "name": "ChannelMatrix",
@@ -2258,7 +2294,7 @@
2258
2294
  "mdUrl": "/docs/components/markdown-text.md",
2259
2295
  "jsonUrl": "/r/components/markdown-text.json",
2260
2296
  "path": "./components/markdown-text.json",
2261
- "sha256": "40df8362ab3e83446c54eff3f9c72e280dc94a20d0b4558ee93991b9a2d22799"
2297
+ "sha256": "0ab4a2b9ca29f5c4faf89b705e23233cc8d472fa1d8779949c3236b0ebb4eddb"
2262
2298
  },
2263
2299
  {
2264
2300
  "name": "MathBlock",
@@ -3194,7 +3230,7 @@
3194
3230
  "mdUrl": "/docs/components/autocomplete.md",
3195
3231
  "jsonUrl": "/r/components/autocomplete.json",
3196
3232
  "path": "./components/autocomplete.json",
3197
- "sha256": "73650efadbb0ba1c7552adbfc96adb5a8e1a82e6e206678475227bc9abad3820"
3233
+ "sha256": "8364e0ea94d764b22dee6c2d25efe9a9bf7d8d362de66e8b3b357105ec8cf335"
3198
3234
  },
3199
3235
  {
3200
3236
  "name": "ButtonGroup",
@@ -3246,7 +3282,7 @@
3246
3282
  "mdUrl": "/docs/components/combobox.md",
3247
3283
  "jsonUrl": "/r/components/combobox.json",
3248
3284
  "path": "./components/combobox.json",
3249
- "sha256": "c71514e9e1d68e37fcf8b4a213349540505a7afe67f06c80397d77e5da8b0d0b"
3285
+ "sha256": "21c5fd19d86d07c246a6b0d96358b83803f24443992e506cacf66f7a7c55c669"
3250
3286
  },
3251
3287
  {
3252
3288
  "name": "EnvVarInput",
@@ -3259,7 +3295,7 @@
3259
3295
  "mdUrl": "/docs/components/env-var-input.md",
3260
3296
  "jsonUrl": "/r/components/env-var-input.json",
3261
3297
  "path": "./components/env-var-input.json",
3262
- "sha256": "b093a2623ed65393f83d044c30fc3320ee7861e5c6cab0f73f6e2480fc59ff7d"
3298
+ "sha256": "badf58fdbc034eabfcc77308dff585c89ee672a0bd237d93c3cf3b16b0ab3b59"
3263
3299
  },
3264
3300
  {
3265
3301
  "name": "Field",
@@ -3324,7 +3360,7 @@
3324
3360
  "mdUrl": "/docs/components/file-upload.md",
3325
3361
  "jsonUrl": "/r/components/file-upload.json",
3326
3362
  "path": "./components/file-upload.json",
3327
- "sha256": "b0b00ef5890bf1df6f41b686f9f87f1e3698e749d4da8f15b142c4d1fc928cca"
3363
+ "sha256": "e85f236b1d58928577ee868ce57d84fb0f6c722a8a3f444d49c7c735174a5456"
3328
3364
  },
3329
3365
  {
3330
3366
  "name": "Input",
@@ -3337,7 +3373,7 @@
3337
3373
  "mdUrl": "/docs/components/input.md",
3338
3374
  "jsonUrl": "/r/components/input.json",
3339
3375
  "path": "./components/input.json",
3340
- "sha256": "6d0d5ebd9dc51782f31d40b2756f9ac27f82c34606ea0f6360c2d79804048a08"
3376
+ "sha256": "10c51201c25c0175f4bb115ef80831fc5ee456d93fad7f025bf1158e476e39a9"
3341
3377
  },
3342
3378
  {
3343
3379
  "name": "InputGroup",
@@ -3350,7 +3386,7 @@
3350
3386
  "mdUrl": "/docs/components/input-group.md",
3351
3387
  "jsonUrl": "/r/components/input-group.json",
3352
3388
  "path": "./components/input-group.json",
3353
- "sha256": "5c2261639cc2becf2505177e67641036d56b0e4629c693b5b814836b8ea728e0"
3389
+ "sha256": "fea1c59e6fe17f694e36090bc9f90fe1c1574508685974070c7af26bd840a051"
3354
3390
  },
3355
3391
  {
3356
3392
  "name": "MultiSelect",
@@ -3363,7 +3399,7 @@
3363
3399
  "mdUrl": "/docs/components/multi-select.md",
3364
3400
  "jsonUrl": "/r/components/multi-select.json",
3365
3401
  "path": "./components/multi-select.json",
3366
- "sha256": "511f48fa5afe14897b9757dace13f3b3ec556092f3e3d7d6c67c1c2feae89c29"
3402
+ "sha256": "66d12cd412508f080999720fb4e5fc399083479df2d01016624b8c9096ea9f38"
3367
3403
  },
3368
3404
  {
3369
3405
  "name": "NumberField",
@@ -3376,7 +3412,7 @@
3376
3412
  "mdUrl": "/docs/components/number-field.md",
3377
3413
  "jsonUrl": "/r/components/number-field.json",
3378
3414
  "path": "./components/number-field.json",
3379
- "sha256": "d754afa2da7009b372158a63689d972ab3a945e1df0948c61ad89a6f21f245f3"
3415
+ "sha256": "f52612cc37160e3d9919888bbcad8086b45eefad8a82eef684c2235eb9f5a211"
3380
3416
  },
3381
3417
  {
3382
3418
  "name": "OTPField",
@@ -3389,7 +3425,7 @@
3389
3425
  "mdUrl": "/docs/components/otp-field.md",
3390
3426
  "jsonUrl": "/r/components/otp-field.json",
3391
3427
  "path": "./components/otp-field.json",
3392
- "sha256": "e51c88a060e5197d0b168c71eeda22a26d2a13aa418c75ea47f61b5c7eff2072"
3428
+ "sha256": "2c133fed88e3f33ac034ea88dc7f909c5121f8d3ab8900a63fcfd3125d8d5074"
3393
3429
  },
3394
3430
  {
3395
3431
  "name": "PasswordInput",
@@ -3402,7 +3438,7 @@
3402
3438
  "mdUrl": "/docs/components/password-input.md",
3403
3439
  "jsonUrl": "/r/components/password-input.json",
3404
3440
  "path": "./components/password-input.json",
3405
- "sha256": "0bdc7201597014ab5382185292239bee284fd2b2194035be404c42017a52e380"
3441
+ "sha256": "69343036d07a32fc516cc167674db59d12469ff524868a744bd96fbc86ba3a43"
3406
3442
  },
3407
3443
  {
3408
3444
  "name": "Radio",
@@ -3454,7 +3490,7 @@
3454
3490
  "mdUrl": "/docs/components/scrub-input.md",
3455
3491
  "jsonUrl": "/r/components/scrub-input.json",
3456
3492
  "path": "./components/scrub-input.json",
3457
- "sha256": "faa5acb82ace465913c2fdb9b66cca8011f98df6a12d60dc314d0802673af681"
3493
+ "sha256": "b65d08da01e8d4760a5bbe0bf1fa1a3e27ec2ebc98b97937cd770dc926d55034"
3458
3494
  },
3459
3495
  {
3460
3496
  "name": "SearchInput",
@@ -3467,7 +3503,7 @@
3467
3503
  "mdUrl": "/docs/components/search-input.md",
3468
3504
  "jsonUrl": "/r/components/search-input.json",
3469
3505
  "path": "./components/search-input.json",
3470
- "sha256": "bfb2c72708d3b36f7e533cb635874ec69dffc6d4459a298fc97495a7bcc603c8"
3506
+ "sha256": "732d6734bde69b59b874571e7636fbae5819e8d817f3351e6d959931d79dcce7"
3471
3507
  },
3472
3508
  {
3473
3509
  "name": "Select",
@@ -3480,7 +3516,7 @@
3480
3516
  "mdUrl": "/docs/components/select.md",
3481
3517
  "jsonUrl": "/r/components/select.json",
3482
3518
  "path": "./components/select.json",
3483
- "sha256": "7751c3ba887ef1344276d6dd82cef90611dda2b36164cfefbe75c12766528601"
3519
+ "sha256": "1db3b53ad51945704f8e7e7bc48a3cf2d01a89aa87f28928989b4a2b40d15918"
3484
3520
  },
3485
3521
  {
3486
3522
  "name": "Slider",
@@ -3519,7 +3555,7 @@
3519
3555
  "mdUrl": "/docs/components/tags-input.md",
3520
3556
  "jsonUrl": "/r/components/tags-input.json",
3521
3557
  "path": "./components/tags-input.json",
3522
- "sha256": "ea06fc7222184049e952f45e4cde297d3ddb0e154235b46c7460577bb87ba0f8"
3558
+ "sha256": "c96e40ba562f652643ab0aa40eba20b963dba146ddbffffb4faaebdf7e055b7a"
3523
3559
  },
3524
3560
  {
3525
3561
  "name": "Textarea",
@@ -3532,7 +3568,7 @@
3532
3568
  "mdUrl": "/docs/components/textarea.md",
3533
3569
  "jsonUrl": "/r/components/textarea.json",
3534
3570
  "path": "./components/textarea.json",
3535
- "sha256": "36750daef9e7237e348c492c6bdda50a34b18e7ccef0ad7b1b96afb37523a1dc"
3571
+ "sha256": "0f294764b66e8dd98f80749b5264df1ab489bb2ff26cf0628e0a1ac427cce095"
3536
3572
  },
3537
3573
  {
3538
3574
  "name": "Toggle",
@@ -3753,7 +3789,7 @@
3753
3789
  "mdUrl": "/docs/components/data-table-pagination.md",
3754
3790
  "jsonUrl": "/r/components/data-table-pagination.json",
3755
3791
  "path": "./components/data-table-pagination.json",
3756
- "sha256": "feab664a7d32a5a2f2bb65b9e50688a3289a3e15514f4cab97ee45310bbb77cb"
3792
+ "sha256": "f7fb36e6880b45774d82df63f36905fe5295229818f616b1c18bfa9173d8c6c7"
3757
3793
  },
3758
3794
  {
3759
3795
  "name": "DataTableToolbar",
@@ -3766,7 +3802,7 @@
3766
3802
  "mdUrl": "/docs/components/data-table-toolbar.md",
3767
3803
  "jsonUrl": "/r/components/data-table-toolbar.json",
3768
3804
  "path": "./components/data-table-toolbar.json",
3769
- "sha256": "4e73a98688860630b8d42b42c4d53a4fcc618b791018c332ad9eecd577d9d64c"
3805
+ "sha256": "78d748739c4e18ae92439dbbb07a03aab11f455a69aebc0114883d2d41b0b723"
3770
3806
  },
3771
3807
  {
3772
3808
  "name": "DataTree",
@@ -3805,7 +3841,7 @@
3805
3841
  "mdUrl": "/docs/components/ledger.md",
3806
3842
  "jsonUrl": "/r/components/ledger.json",
3807
3843
  "path": "./components/ledger.json",
3808
- "sha256": "2b4998da81fd655457e0b79496cb6de38ede5b098057054bf3f724354ed89b26"
3844
+ "sha256": "5af919b0e59a7bb0857928bf0b911323c367b5d53800aaa596d295f8afd47726"
3809
3845
  },
3810
3846
  {
3811
3847
  "name": "LogViewer",
@@ -3909,7 +3945,7 @@
3909
3945
  "mdUrl": "/docs/components/table.md",
3910
3946
  "jsonUrl": "/r/components/table.json",
3911
3947
  "path": "./components/table.json",
3912
- "sha256": "3fa72bf53d4316041230590f9d6d3326890d0a3ee47cb673bd2da16286077f40"
3948
+ "sha256": "c96578c3b4f3c7dc9bb436eb27443e276386404692dcf4d8e971cca0c6e0053d"
3913
3949
  },
3914
3950
  {
3915
3951
  "name": "TableScrollRegion",
@@ -3987,7 +4023,7 @@
3987
4023
  "mdUrl": "/docs/components/bento.md",
3988
4024
  "jsonUrl": "/r/components/bento.json",
3989
4025
  "path": "./components/bento.json",
3990
- "sha256": "648b3038a3aa2bb468a6f73f5e6562e3130fa790b1442e65df2b16a5981e9b37"
4026
+ "sha256": "d11c4371ee68317423dc156da6825ec79f016cc0f9736335c302ea828152991e"
3991
4027
  },
3992
4028
  {
3993
4029
  "name": "Breadcrumb",
@@ -4104,7 +4140,7 @@
4104
4140
  "mdUrl": "/docs/components/grid.md",
4105
4141
  "jsonUrl": "/r/components/grid.json",
4106
4142
  "path": "./components/grid.json",
4107
- "sha256": "e041b67764e91877dd2cf8d002d145815110994ae08411627785de1721c4052a"
4143
+ "sha256": "7d5e1e4fa52c8a392b07efb91bcac1b57f314ac1a3c57abde532969d6fc05c21"
4108
4144
  },
4109
4145
  {
4110
4146
  "name": "Item",
@@ -4156,7 +4192,7 @@
4156
4192
  "mdUrl": "/docs/components/preview.md",
4157
4193
  "jsonUrl": "/r/components/preview.json",
4158
4194
  "path": "./components/preview.json",
4159
- "sha256": "cd15d662ef580f76defd5804543a044a0a7065006cd591c8716624c1dafa687b"
4195
+ "sha256": "0978fdb6e045cecb347774785957256fbb46e7102dd2623fe4d5310c24bec47f"
4160
4196
  },
4161
4197
  {
4162
4198
  "name": "Resizable",
@@ -4171,6 +4207,19 @@
4171
4207
  "path": "./components/resizable.json",
4172
4208
  "sha256": "eaa6daf64521f76ff3f329c7d190bd0e9375f8c45cdde2e98061884ec3e823e4"
4173
4209
  },
4210
+ {
4211
+ "name": "Reveal",
4212
+ "slug": "reveal",
4213
+ "group": "layout",
4214
+ "importPath": "@cueplusplus/ui",
4215
+ "summary": "Content that rises into place the first time it scrolls into view, once — cueplusplus.com's section entrance, with an optional stagger over the items you mark.",
4216
+ "status": "stable",
4217
+ "url": "/docs/components/reveal",
4218
+ "mdUrl": "/docs/components/reveal.md",
4219
+ "jsonUrl": "/r/components/reveal.json",
4220
+ "path": "./components/reveal.json",
4221
+ "sha256": "27a4037baaaea249ff9e7724b0febd645747267ca60b864140c8be050e303cba"
4222
+ },
4174
4223
  {
4175
4224
  "name": "Sidebar",
4176
4225
  "slug": "sidebar",
@@ -4195,7 +4244,7 @@
4195
4244
  "mdUrl": "/docs/components/stack.md",
4196
4245
  "jsonUrl": "/r/components/stack.json",
4197
4246
  "path": "./components/stack.json",
4198
- "sha256": "cce5a164b7f58dc8753c949fb0fb3314293f2c7f7a8a5ce76fdbcc83c221249f"
4247
+ "sha256": "785286356ad77898eea23580f2827d8f3942137987a4f2bfe6dc971d78785e4d"
4199
4248
  },
4200
4249
  {
4201
4250
  "name": "Stepper",
@@ -4234,7 +4283,7 @@
4234
4283
  "mdUrl": "/docs/components/musical-time-input.md",
4235
4284
  "jsonUrl": "/r/components/musical-time-input.json",
4236
4285
  "path": "./components/musical-time-input.json",
4237
- "sha256": "173185406fee0b566edc71de831c8205b4ae0d2edd16ae30ceefb8da26e38441"
4286
+ "sha256": "a9ba4b403030dbc4d9de6f4891ae89bcb68e4c3863c4ee66a190bccb751302e8"
4238
4287
  },
4239
4288
  {
4240
4289
  "name": "PianoKeyboard",
@@ -4260,7 +4309,7 @@
4260
4309
  "mdUrl": "/docs/components/spectrum-visualizer.md",
4261
4310
  "jsonUrl": "/r/components/spectrum-visualizer.json",
4262
4311
  "path": "./components/spectrum-visualizer.json",
4263
- "sha256": "c224daf0bddd68da5495023999631cc31b47648ee47a68de631d981d6da269c5"
4312
+ "sha256": "26db590100c710626af130d7fb159b17399663f54d6ee21ba73413088e9fce4d"
4264
4313
  },
4265
4314
  {
4266
4315
  "name": "ThresholdRail",
@@ -4624,7 +4673,7 @@
4624
4673
  "mdUrl": "/docs/components/font-scope.md",
4625
4674
  "jsonUrl": "/r/components/font-scope.json",
4626
4675
  "path": "./components/font-scope.json",
4627
- "sha256": "9fbd1c6123175cfa738550b145d89da2c82ea00fd4e39c9817c27b8f6a158d21"
4676
+ "sha256": "b596e19312d5234614cf279a35d9f960919b1b93983d10c52521887c9b27d5c8"
4628
4677
  },
4629
4678
  {
4630
4679
  "name": "StillProvider",
@@ -4650,7 +4699,7 @@
4650
4699
  "mdUrl": "/docs/components/theme-provider.md",
4651
4700
  "jsonUrl": "/r/components/theme-provider.json",
4652
4701
  "path": "./components/theme-provider.json",
4653
- "sha256": "74c748b5f4ba796e30ee57ac8601d01ed3388d378e4c12b2a5d719177873c383"
4702
+ "sha256": "aeb858abb6e6843791b5cabb7472f12de550d2167526d6ab00f346cc3a4b8903"
4654
4703
  }
4655
4704
  ],
4656
4705
  "hooks": [
@@ -5184,6 +5233,33 @@
5184
5233
  "url": "/docs/components/use-fonts",
5185
5234
  "mdUrl": "/docs/components/use-fonts.md"
5186
5235
  },
5236
+ {
5237
+ "name": "useFrameClock",
5238
+ "slug": "use-frame-clock",
5239
+ "group": "system",
5240
+ "importPath": "@cueplusplus/ui",
5241
+ "peerDependencies": [],
5242
+ "clientOnly": true,
5243
+ "description": "A frame counter for a loop illustration: what Remotion's `useCurrentFrame`\ngave cueplusplus.com's service animations, without Remotion (spec\n2026-10-04-cue-site-verbatim §4.4). Frame maths written against\n`useCurrentFrame` ports unchanged.\n\nDriven by `requestAnimationFrame` against elapsed time, so a slow frame never\nslows the animation down. It never advances while paused or still, and held\nstill it returns `stillFrame` and schedules nothing.",
5244
+ "signature": "({ fps, durationInFrames, loop, playing, stillFrame, }: FrameClockOptions): number",
5245
+ "params": [],
5246
+ "returns": "",
5247
+ "throws": "",
5248
+ "summary": "A frame counter for a loop illustration: what Remotion's `useCurrentFrame` gave cueplusplus.com's service animations, without Remotion (spec 2026-10-04-cue-site-verbatim §4.4).",
5249
+ "examples": [
5250
+ {
5251
+ "title": "Usage",
5252
+ "code": "const frame = useFrameClock({ durationInFrames: 300, playing: onScreen });",
5253
+ "language": "tsx"
5254
+ }
5255
+ ],
5256
+ "whenToUse": [],
5257
+ "whenNotToUse": [],
5258
+ "commonMistakes": [],
5259
+ "status": "stable",
5260
+ "url": "/docs/components/use-frame-clock",
5261
+ "mdUrl": "/docs/components/use-frame-clock.md"
5262
+ },
5187
5263
  {
5188
5264
  "name": "useStill",
5189
5265
  "slug": "use-still",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "library": "@cueplusplus/tokens",
4
- "version": "0.19.0",
4
+ "version": "0.20.0",
5
5
  "themes": [
6
6
  {
7
7
  "name": "command",
@@ -252,7 +252,8 @@
252
252
  "inter-source",
253
253
  "dm",
254
254
  "calsans",
255
- "fraunces-mono"
255
+ "fraunces-mono",
256
+ "jetbrains-mono"
256
257
  ],
257
258
  "modes": [
258
259
  "dark",
@@ -464,6 +465,7 @@
464
465
  "--cue-style-field-gap",
465
466
  "--cue-style-field-hover-edge",
466
467
  "--cue-style-field-pad",
468
+ "--cue-style-field-radius",
467
469
  "--cue-style-focus-edge",
468
470
  "--cue-style-focus-offset",
469
471
  "--cue-style-focus-width",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cueplusplus/ui",
3
- "version": "0.19.0",
3
+ "version": "0.20.0",
4
4
  "description": "CUE++ design system components: Tailwind v4 styled wrappers over Base UI, driven by @cueplusplus/tokens.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -145,8 +145,8 @@
145
145
  "clsx": "^2.1.1",
146
146
  "culori": "^4.0.2",
147
147
  "tailwind-merge": "^3.6.0",
148
- "@cueplusplus/tokens": "0.19.0",
149
- "@cueplusplus/theme-base": "^1.2.0"
148
+ "@cueplusplus/tokens": "0.20.0",
149
+ "@cueplusplus/theme-base": "^1.3.0"
150
150
  },
151
151
  "peerDependencies": {
152
152
  "@assistant-ui/react": "^0.15.16",
@@ -260,10 +260,10 @@
260
260
  "tsdown": "0.22.14",
261
261
  "typescript": "^5.7.0",
262
262
  "vitest": "^4.1.10",
263
- "@cueplusplus/theme-tools": "1.2.0",
264
263
  "@repo/docgen": "0.0.0",
265
- "@repo/eslint-config": "0.0.0",
266
- "@repo/typescript-config": "0.0.0"
264
+ "@cueplusplus/theme-tools": "1.2.0",
265
+ "@repo/typescript-config": "0.0.0",
266
+ "@repo/eslint-config": "0.0.0"
267
267
  },
268
268
  "scripts": {
269
269
  "build": "pnpm run check:manifest && tsdown",