@rovula/ui 0.1.20 → 0.1.21

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 (42) hide show
  1. package/dist/cjs/bundle.css +141 -17
  2. package/dist/cjs/bundle.js +3 -3
  3. package/dist/cjs/bundle.js.map +1 -1
  4. package/dist/cjs/types/components/DropdownMenu/DropdownMenu.stories.d.ts +29 -30
  5. package/dist/cjs/types/components/Form/Form.d.ts +2 -1
  6. package/dist/cjs/types/components/Form/Form.stories.d.ts +4 -0
  7. package/dist/cjs/types/components/ScrollArea/ScrollArea.d.ts +38 -0
  8. package/dist/cjs/types/components/ScrollArea/ScrollArea.stories.d.ts +301 -0
  9. package/dist/cjs/types/index.d.ts +1 -0
  10. package/dist/components/DropdownMenu/DropdownMenu.js +7 -9
  11. package/dist/components/DropdownMenu/DropdownMenu.stories.js +79 -91
  12. package/dist/components/Form/Form.js +11 -4
  13. package/dist/components/Form/Form.stories.js +27 -0
  14. package/dist/components/ScrollArea/ScrollArea.js +50 -0
  15. package/dist/components/ScrollArea/ScrollArea.stories.js +56 -0
  16. package/dist/esm/bundle.css +141 -17
  17. package/dist/esm/bundle.js +3 -3
  18. package/dist/esm/bundle.js.map +1 -1
  19. package/dist/esm/types/components/DropdownMenu/DropdownMenu.stories.d.ts +29 -30
  20. package/dist/esm/types/components/Form/Form.d.ts +2 -1
  21. package/dist/esm/types/components/Form/Form.stories.d.ts +4 -0
  22. package/dist/esm/types/components/ScrollArea/ScrollArea.d.ts +38 -0
  23. package/dist/esm/types/components/ScrollArea/ScrollArea.stories.d.ts +301 -0
  24. package/dist/esm/types/index.d.ts +1 -0
  25. package/dist/index.d.ts +41 -2
  26. package/dist/index.js +1 -0
  27. package/dist/src/theme/global.css +196 -20
  28. package/package.json +1 -1
  29. package/src/components/DropdownMenu/DropdownMenu.stories.tsx +482 -297
  30. package/src/components/DropdownMenu/DropdownMenu.tsx +7 -8
  31. package/src/components/Form/Form.stories.tsx +70 -0
  32. package/src/components/Form/Form.tsx +23 -0
  33. package/src/components/ScrollArea/ScrollArea.stories.tsx +229 -0
  34. package/src/components/ScrollArea/ScrollArea.tsx +72 -0
  35. package/src/index.ts +1 -0
  36. package/src/theme/global.css +84 -11
  37. package/src/theme/themes/xspector/baseline.css +1 -0
  38. package/src/theme/themes/xspector/components/dropdown-menu.css +2 -2
  39. package/src/theme/themes/xspector/components/scrollbar.css +12 -0
  40. package/src/theme/tokens/baseline.css +2 -1
  41. package/src/theme/tokens/components/dropdown-menu.css +1 -1
  42. package/src/theme/tokens/components/scrollbar.css +18 -0
@@ -516,6 +516,35 @@ video {
516
516
 
517
517
  * {
518
518
  /* @apply border-border; */
519
+ scrollbar-width: thin;
520
+ scrollbar-color: var(--scrollbar-thumb-default-color) transparent;
521
+ }
522
+
523
+ *::-webkit-scrollbar {
524
+ width: var(--scrollbar-s-thickness);
525
+ height: var(--scrollbar-s-thickness);
526
+ background: transparent;
527
+ }
528
+
529
+ *::-webkit-scrollbar-thumb {
530
+ border-radius: 12px;
531
+ background: var(--scrollbar-thumb-default-color);
532
+ }
533
+
534
+ *::-webkit-scrollbar-thumb:hover {
535
+ background: var(--scrollbar-thumb-hover-color);
536
+ }
537
+
538
+ *::-webkit-scrollbar-track:vertical {
539
+ border-left: var(--scrollbar-track-border-width) solid var(--scrollbar-track-border-color);
540
+ }
541
+
542
+ *::-webkit-scrollbar-track:horizontal {
543
+ border-top: var(--scrollbar-track-border-width) solid var(--scrollbar-track-border-color);
544
+ }
545
+
546
+ *::-webkit-scrollbar-corner {
547
+ background: transparent;
519
548
  }
520
549
 
521
550
  body {
@@ -731,6 +760,9 @@ input[type=number] {
731
760
  .mb-2{
732
761
  margin-bottom: 0.5rem;
733
762
  }
763
+ .mb-4{
764
+ margin-bottom: 1rem;
765
+ }
734
766
  .ml-1{
735
767
  margin-left: 0.25rem;
736
768
  }
@@ -746,6 +778,9 @@ input[type=number] {
746
778
  .ml-auto{
747
779
  margin-left: auto;
748
780
  }
781
+ .mr-1{
782
+ margin-right: 0.25rem;
783
+ }
749
784
  .mr-2{
750
785
  margin-right: 0.5rem;
751
786
  }
@@ -948,6 +983,18 @@ input[type=number] {
948
983
  .max-h-60{
949
984
  max-height: 15rem;
950
985
  }
986
+ .max-h-\[\.\.\.\]{
987
+ max-height: ...;
988
+ }
989
+ .max-h-\[160px\]{
990
+ max-height: 160px;
991
+ }
992
+ .max-h-\[216px\]{
993
+ max-height: 216px;
994
+ }
995
+ .max-h-\[270px\]{
996
+ max-height: 270px;
997
+ }
951
998
  .max-h-\[80vh\]{
952
999
  max-height: 80vh;
953
1000
  }
@@ -1014,6 +1061,9 @@ input[type=number] {
1014
1061
  .w-\[200px\]{
1015
1062
  width: 200px;
1016
1063
  }
1064
+ .w-\[230px\]{
1065
+ width: 230px;
1066
+ }
1017
1067
  .w-\[24px\]{
1018
1068
  width: 24px;
1019
1069
  }
@@ -1307,6 +1357,11 @@ input[type=number] {
1307
1357
  margin-right: calc(1rem * var(--tw-space-x-reverse));
1308
1358
  margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
1309
1359
  }
1360
+ .space-y-1 > :not([hidden]) ~ :not([hidden]){
1361
+ --tw-space-y-reverse: 0;
1362
+ margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
1363
+ margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
1364
+ }
1310
1365
  .space-y-2 > :not([hidden]) ~ :not([hidden]){
1311
1366
  --tw-space-y-reverse: 0;
1312
1367
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
@@ -1346,6 +1401,12 @@ input[type=number] {
1346
1401
  .overflow-y-auto{
1347
1402
  overflow-y: auto;
1348
1403
  }
1404
+ .overflow-x-hidden{
1405
+ overflow-x: hidden;
1406
+ }
1407
+ .overflow-y-hidden{
1408
+ overflow-y: hidden;
1409
+ }
1349
1410
  .overflow-y-scroll{
1350
1411
  overflow-y: scroll;
1351
1412
  }
@@ -1527,6 +1588,9 @@ input[type=number] {
1527
1588
  --tw-border-opacity: 1 !important;
1528
1589
  border-color: color-mix(in srgb, var(--function-default-hover) calc(100% * var(--tw-border-opacity, 1)), transparent) !important;
1529
1590
  }
1591
+ .border-\[var\(--dropdown-menu-seperator-bg\)\]{
1592
+ border-color: var(--dropdown-menu-seperator-bg);
1593
+ }
1530
1594
  .border-action-button-icon-active{
1531
1595
  --tw-border-opacity: 1;
1532
1596
  border-color: color-mix(in srgb, var(--action-button-icon-active-border) calc(100% * var(--tw-border-opacity, 1)), transparent);
@@ -1760,6 +1824,9 @@ input[type=number] {
1760
1824
  --tw-border-opacity: 1;
1761
1825
  border-top-color: color-mix(in srgb, var(--state-secondary-default) calc(100% * var(--tw-border-opacity, 1)), transparent);
1762
1826
  }
1827
+ .\!bg-\[var\(--dropdown-menu-hover-bg\)\]{
1828
+ background-color: var(--dropdown-menu-hover-bg) !important;
1829
+ }
1763
1830
  .\!bg-action-button-icon-active-hover{
1764
1831
  --tw-bg-opacity: 1 !important;
1765
1832
  background-color: color-mix(in srgb, var(--action-button-icon-active-hover-bg) calc(100% * var(--tw-bg-opacity, 1)), transparent) !important;
@@ -3214,12 +3281,18 @@ input[type=number] {
3214
3281
  .stroke-primary-default{
3215
3282
  stroke: color-mix(in srgb, var(--state-primary-default) calc(100% * 1), transparent);
3216
3283
  }
3284
+ .\!p-0{
3285
+ padding: 0px !important;
3286
+ }
3217
3287
  .p-0{
3218
3288
  padding: 0px;
3219
3289
  }
3220
3290
  .p-1{
3221
3291
  padding: 0.25rem;
3222
3292
  }
3293
+ .p-10{
3294
+ padding: 2.5rem;
3295
+ }
3223
3296
  .p-2{
3224
3297
  padding: 0.5rem;
3225
3298
  }
@@ -3245,10 +3318,6 @@ input[type=number] {
3245
3318
  padding-left: 0.25rem;
3246
3319
  padding-right: 0.25rem;
3247
3320
  }
3248
- .px-2{
3249
- padding-left: 0.5rem;
3250
- padding-right: 0.5rem;
3251
- }
3252
3321
  .px-3{
3253
3322
  padding-left: 0.75rem;
3254
3323
  padding-right: 0.75rem;
@@ -3380,6 +3449,9 @@ input[type=number] {
3380
3449
  .\!ps-\[72px\]{
3381
3450
  padding-inline-start: 72px !important;
3382
3451
  }
3452
+ .pb-2{
3453
+ padding-bottom: 0.5rem;
3454
+ }
3383
3455
  .pe-\[30px\]{
3384
3456
  padding-inline-end: 30px;
3385
3457
  }
@@ -3890,6 +3962,10 @@ input[type=number] {
3890
3962
  --tw-text-opacity: 1;
3891
3963
  color: color-mix(in srgb, var(--state-disable-outline) calc(100% * var(--tw-text-opacity, 1)), transparent);
3892
3964
  }
3965
+ .text-state-error-default{
3966
+ --tw-text-opacity: 1;
3967
+ color: color-mix(in srgb, var(--state-error-default) calc(100% * var(--tw-text-opacity, 1)), transparent);
3968
+ }
3893
3969
  .text-state-primary-text-solid{
3894
3970
  --tw-text-opacity: 1;
3895
3971
  color: color-mix(in srgb, var(--state-primary-text-solid) calc(100% * var(--tw-text-opacity, 1)), transparent);
@@ -3898,6 +3974,10 @@ input[type=number] {
3898
3974
  --tw-text-opacity: 1;
3899
3975
  color: color-mix(in srgb, var(--state-secondary-text-solid) calc(100% * var(--tw-text-opacity, 1)), transparent);
3900
3976
  }
3977
+ .text-state-success-default{
3978
+ --tw-text-opacity: 1;
3979
+ color: color-mix(in srgb, var(--state-success-default) calc(100% * var(--tw-text-opacity, 1)), transparent);
3980
+ }
3901
3981
  .text-success{
3902
3982
  --tw-text-opacity: 1;
3903
3983
  color: color-mix(in srgb, var(--state-success-default) calc(100% * var(--tw-text-opacity, 1)), transparent);
@@ -3995,6 +4075,11 @@ input[type=number] {
3995
4075
  .outline{
3996
4076
  outline-style: solid;
3997
4077
  }
4078
+ .\!ring-0{
4079
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;
4080
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;
4081
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) !important;
4082
+ }
3998
4083
  .ring-0{
3999
4084
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
4000
4085
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
@@ -4282,23 +4367,58 @@ input[type=number] {
4282
4367
  line-height: var(--button-button-ms-line-height, 22px);
4283
4368
  font-weight: var(--button-button-ms-weight, 700);
4284
4369
  }
4370
+ /* ------------------------------------------------------------------ */
4371
+ /* Scrollbar utility — applies the design-system scrollbar style */
4372
+ /* Default size: S (6px thumb, matches Figma Size=S) */
4373
+ /* Usage: add `ui-scrollbar` + optional size modifier to any */
4374
+ /* overflow-auto / overflow-y-auto / overflow-x-auto container. */
4375
+ /* ------------------------------------------------------------------ */
4376
+ /* --- Track --- */
4285
4377
  .ui-scrollbar::-webkit-scrollbar {
4286
- height: 6px;
4287
- width: 6px;
4288
- background: rgba(0, 0, 0, 0.08);
4378
+ width: var(--scrollbar-s-thickness);
4379
+ height: var(--scrollbar-s-thickness);
4380
+ background: transparent;
4289
4381
  }
4382
+ /* --- Thumb --- */
4290
4383
  .ui-scrollbar::-webkit-scrollbar-thumb {
4291
- border-radius: 6px;
4292
- background: rgba(121, 141, 150, 0.48);
4293
- width: 6px;
4384
+ border-radius: 12px;
4385
+ background: var(--scrollbar-thumb-default-color);
4294
4386
  }
4295
4387
  .ui-scrollbar::-webkit-scrollbar-thumb:hover {
4296
- background: rgba(251, 252, 253, 0.48);
4388
+ background: var(--scrollbar-thumb-hover-color);
4297
4389
  cursor: pointer;
4298
4390
  }
4391
+ /* --- Track border (vertical) --- */
4392
+ .ui-scrollbar::-webkit-scrollbar-track:vertical {
4393
+ border-left: var(--scrollbar-track-border-width) solid var(--scrollbar-track-border-color);
4394
+ }
4395
+ /* --- Track border (horizontal) --- */
4396
+ .ui-scrollbar::-webkit-scrollbar-track:horizontal {
4397
+ border-top: var(--scrollbar-track-border-width) solid var(--scrollbar-track-border-color);
4398
+ }
4299
4399
  .ui-scrollbar::-webkit-scrollbar-corner {
4300
- display: none;
4301
- /* background: transparent; */
4400
+ background: transparent;
4401
+ }
4402
+ /* --- Size variants --- */
4403
+ /* Size M — 12px */
4404
+ .ui-scrollbar-m::-webkit-scrollbar {
4405
+ width: var(--scrollbar-m-thickness);
4406
+ height: var(--scrollbar-m-thickness);
4407
+ }
4408
+ /* Size S — 6px (default, same as base .ui-scrollbar) */
4409
+ .ui-scrollbar-s::-webkit-scrollbar {
4410
+ width: var(--scrollbar-s-thickness);
4411
+ height: var(--scrollbar-s-thickness);
4412
+ }
4413
+ /* Size XS — 2px */
4414
+ .ui-scrollbar-xs::-webkit-scrollbar {
4415
+ width: var(--scrollbar-xs-thickness);
4416
+ height: var(--scrollbar-xs-thickness);
4417
+ }
4418
+ /* XS size has no track border */
4419
+ .ui-scrollbar-xs::-webkit-scrollbar-track:vertical,
4420
+ .ui-scrollbar-xs::-webkit-scrollbar-track:horizontal {
4421
+ border: none;
4302
4422
  }
4303
4423
  .\[filter\:var\(--switch-thumb-filter\)\]{
4304
4424
  filter: var(--switch-thumb-filter);
@@ -4319,6 +4439,14 @@ input[type=number] {
4319
4439
  --tw-text-opacity: 1;
4320
4440
  color: color-mix(in srgb, var(--input-disable-text) calc(100% * var(--tw-text-opacity, 1)), transparent);
4321
4441
  }
4442
+ .placeholder\:text-text-g-contrast-medium::-moz-placeholder{
4443
+ --tw-text-opacity: 1;
4444
+ color: color-mix(in srgb, var(--text-g-contrast-medium) calc(100% * var(--tw-text-opacity, 1)), transparent);
4445
+ }
4446
+ .placeholder\:text-text-g-contrast-medium::placeholder{
4447
+ --tw-text-opacity: 1;
4448
+ color: color-mix(in srgb, var(--text-g-contrast-medium) calc(100% * var(--tw-text-opacity, 1)), transparent);
4449
+ }
4322
4450
  .placeholder\:text-transparent::-moz-placeholder{
4323
4451
  color: transparent;
4324
4452
  }
@@ -4899,10 +5027,6 @@ input[type=number] {
4899
5027
  .focus\:\!bg-\[var\(--dropdown-menu-hover-bg\)\]:focus{
4900
5028
  background-color: var(--dropdown-menu-hover-bg) !important;
4901
5029
  }
4902
- .focus\:bg-primary:focus{
4903
- --tw-bg-opacity: 1;
4904
- background-color: color-mix(in srgb, var(--state-primary-default) calc(100% * var(--tw-bg-opacity, 1)), transparent);
4905
- }
4906
5030
  .focus\:pe-10:focus{
4907
5031
  padding-inline-end: 2.5rem;
4908
5032
  }