@rark-ui/themes 1.1.0 → 1.2.1

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 (88) hide show
  1. package/dist/.tsbuildinfo +1 -0
  2. package/dist/default/crafts/message.js +1 -1
  3. package/dist/default/crafts/toast.js +1 -1
  4. package/dist/razer/index.css +4 -4
  5. package/package.json +10 -8
  6. package/src/default/crafts/badge.ts +56 -0
  7. package/src/default/crafts/button.ts +68 -0
  8. package/src/default/crafts/checkbox.ts +75 -0
  9. package/src/default/crafts/collapsible.ts +61 -0
  10. package/src/default/crafts/date-picker.ts +261 -0
  11. package/src/default/crafts/dialog.ts +103 -0
  12. package/src/default/crafts/editable.ts +108 -0
  13. package/src/default/crafts/floating-panel.ts +71 -0
  14. package/src/default/crafts/hotkey.ts +24 -0
  15. package/src/default/crafts/hover-card.ts +83 -0
  16. package/src/default/crafts/icon.ts +15 -0
  17. package/src/default/crafts/index.ts +62 -0
  18. package/src/default/crafts/input.ts +50 -0
  19. package/src/default/crafts/menu.ts +118 -0
  20. package/src/default/crafts/message.ts +66 -0
  21. package/src/default/crafts/number-input.ts +51 -0
  22. package/src/default/crafts/pagination.ts +120 -0
  23. package/src/default/crafts/popover.ts +74 -0
  24. package/src/default/crafts/progress.ts +131 -0
  25. package/src/default/crafts/radio-group.ts +100 -0
  26. package/src/default/crafts/rating-group.ts +46 -0
  27. package/src/default/crafts/scroll-area.ts +116 -0
  28. package/src/default/crafts/select.ts +122 -0
  29. package/src/default/crafts/skeleton.ts +23 -0
  30. package/src/default/crafts/slider.ts +93 -0
  31. package/src/default/crafts/spin.ts +64 -0
  32. package/src/default/crafts/switch.ts +71 -0
  33. package/src/default/crafts/tabs.ts +122 -0
  34. package/src/default/crafts/tags-input.ts +81 -0
  35. package/src/default/crafts/toast.ts +70 -0
  36. package/src/default/crafts/toggle-group.ts +57 -0
  37. package/src/default/crafts/toggle.ts +34 -0
  38. package/src/default/crafts/tooltip.ts +63 -0
  39. package/src/default/crafts/tree.ts +165 -0
  40. package/src/default/index.css +3 -0
  41. package/src/default/index.ts +4 -0
  42. package/src/default/tailwind.config.ts +9 -0
  43. package/src/razer/components/arrow.css +20 -0
  44. package/src/razer/components/badge.css +13 -0
  45. package/src/razer/components/button.css +40 -0
  46. package/src/razer/components/checkbox.css +39 -0
  47. package/src/razer/components/collapsible.css +16 -0
  48. package/src/razer/components/date-picker.css +46 -0
  49. package/src/razer/components/dialog.css +29 -0
  50. package/src/razer/components/editable.css +27 -0
  51. package/src/razer/components/floating-panel.css +11 -0
  52. package/src/razer/components/hotkey.css +5 -0
  53. package/src/razer/components/hover-card.css +14 -0
  54. package/src/razer/components/input.css +29 -0
  55. package/src/razer/components/menu.css +47 -0
  56. package/src/razer/components/message.css +41 -0
  57. package/src/razer/components/number-input.css +9 -0
  58. package/src/razer/components/pagination.css +14 -0
  59. package/src/razer/components/popover.css +19 -0
  60. package/src/razer/components/progress.css +78 -0
  61. package/src/razer/components/radio-group.css +44 -0
  62. package/src/razer/components/rating-group.css +26 -0
  63. package/src/razer/components/scroll-area.css +14 -0
  64. package/src/razer/components/select.css +31 -0
  65. package/src/razer/components/skeleton.css +11 -0
  66. package/src/razer/components/slider.css +27 -0
  67. package/src/razer/components/spin.css +15 -0
  68. package/src/razer/components/switch.css +24 -0
  69. package/src/razer/components/tabs.css +11 -0
  70. package/src/razer/components/tags-input.css +16 -0
  71. package/src/razer/components/toast.css +41 -0
  72. package/src/razer/components/toggle-group.css +19 -0
  73. package/src/razer/components/toggle.css +17 -0
  74. package/src/razer/components/tooltip.css +16 -0
  75. package/src/razer/components/tree.css +19 -0
  76. package/src/razer/components/virtual.css +17 -0
  77. package/src/razer/components.css +33 -0
  78. package/src/razer/crafts/index.ts +16 -0
  79. package/src/razer/index.css +6 -0
  80. package/src/razer/index.ts +4 -0
  81. package/src/razer/preset.css +261 -0
  82. package/src/razer/tailwind.config.ts +10 -0
  83. package/src/shared/css/animation-easing.css +21 -0
  84. package/src/shared/css/animations.css +252 -0
  85. package/src/shared/css/index.css +2 -0
  86. package/src/shared/css/static.css +31 -0
  87. package/src/shared/utils/cn.ts +1 -0
  88. package/src/shared/utils/tv.ts +91 -0
@@ -0,0 +1,14 @@
1
+ @layer components {
2
+ .rui-pagination-control {}
3
+
4
+ .rui-pagination-item {
5
+ @apply text-h90 hover:text-hff hover:bg-h00/30;
6
+ &[data-selected] {
7
+ @apply text-hff bg-h00/30;
8
+ }
9
+ }
10
+
11
+ .rui-pagination-ellipsis {
12
+ @apply text-h90;
13
+ }
14
+ }
@@ -0,0 +1,19 @@
1
+ @layer components {
2
+ .rui-popover-content {
3
+ --border-radius: var(--radius);
4
+ @apply shadow-rui-popper;
5
+ @apply data-theme-bordered:border-h00;
6
+ @apply surface-dark:data-theme-bordered:border-h33;
7
+ }
8
+
9
+ .rui-popover-content,
10
+ .rui-popover-content-inner {
11
+ @apply bg-hff text-h00;
12
+ @apply surface-dark:bg-h00 surface-dark:text-hff;
13
+ }
14
+
15
+ .rui-popover-close {
16
+ @apply text-rui-close hover:text-h00;
17
+ @apply surface-dark:hover:text-rui-close-hover;
18
+ }
19
+ }
@@ -0,0 +1,78 @@
1
+ @layer components {
2
+ .rui-progress-track {
3
+ @apply bg-rz-green/30;
4
+ }
5
+
6
+ .rui-progress-range {
7
+ &[data-variant='default'] {
8
+ @apply bg-rz-green;
9
+ }
10
+
11
+ &[data-variant='robbin'][data-orientation='horizontal'] {
12
+ --robbin-1: var(--color-rz-green);
13
+ --robbin-2: oklch(70% 0.2343 141.32);
14
+ background-image: linear-gradient(
15
+ 45deg,
16
+ var(--robbin-1) 25%,
17
+ var(--robbin-2) 25%,
18
+ var(--robbin-2) 50%,
19
+ var(--robbin-1) 50%,
20
+ var(--robbin-1) 75%,
21
+ var(--robbin-2) 75%,
22
+ var(--robbin-2)
23
+ );
24
+ background-size: var(--height) var(--height);
25
+ background-repeat: repeat-x;
26
+ animation: robbin-left-to-right 0.6s linear infinite;
27
+ }
28
+
29
+ &[data-variant='robbin'][data-orientation='vertical'] {
30
+ --robbin-1: var(--color-rz-green);
31
+ --robbin-2: oklch(70% 0.2343 141.32);
32
+ background-image: linear-gradient(
33
+ 45deg,
34
+ var(--robbin-1) 25%,
35
+ var(--robbin-2) 25%,
36
+ var(--robbin-2) 50%,
37
+ var(--robbin-1) 50%,
38
+ var(--robbin-1) 75%,
39
+ var(--robbin-2) 75%,
40
+ var(--robbin-2)
41
+ );
42
+ background-size: var(--width) var(--width);
43
+ background-repeat: repeat-y;
44
+ animation: robbin-top-to-bottom 0.6s linear infinite;
45
+ }
46
+
47
+ &[data-variant='transfer'] {
48
+ --transfer-from: oklch(76.87% 0.2343 141.32);
49
+ --transfer-to: oklch(80.16% 0.1705 73.27);
50
+ }
51
+ }
52
+
53
+
54
+ .rui-progress-circle-track{
55
+ @apply stroke-rz-green/30;
56
+ }
57
+
58
+ .rui-progress-circle-range{
59
+ &[data-variant='default'] {
60
+ @apply stroke-rz-green;
61
+ }
62
+ &[data-variant='transfer'] {
63
+ --transfer-from: oklch(76.87% 0.2343 141.32);
64
+ --transfer-to: oklch(80.16% 0.1705 73.27);
65
+ }
66
+ }
67
+
68
+ @keyframes robbin-left-to-right {
69
+ to {
70
+ background-position: 6px 0;
71
+ }
72
+ }
73
+ @keyframes robbin-top-to-bottom {
74
+ to {
75
+ background-position: 0 6px;
76
+ }
77
+ }
78
+ }
@@ -0,0 +1,44 @@
1
+ @layer components {
2
+ .rui-radio-group-root {
3
+ }
4
+ .rui-radio-group-item {
5
+ @apply data-disabled:opacity-(--disabled-opacity);
6
+ }
7
+ .rui-radio-group-item-control {
8
+ @apply bg-transparent active:bg-h28 border-h70
9
+ hover:border-rz-green active:border-rz-green
10
+ group-hover/item:border-rz-green group-focus-within/item:border-rz-green;
11
+
12
+
13
+ @apply data-disabled:hover:border-h70 data-disabled:active:bg-h28 data-disabled:active:border-h70
14
+ data-disabled:group-hover/item:border-h70 data-disabled:group-focus-within/item:border-h70;
15
+
16
+ &[data-variant='checkbox'] {
17
+ @apply data-[state=checked]:bg-rz-green
18
+ data-[state=checked]:hover:bg-rz-green-light
19
+ data-[state=checked]:active:bg-rz-green-dark-active
20
+ data-[state=checked]:border-rz-green
21
+ data-[state=checked]:hover:border-rz-green-light
22
+ data-[state=checked]:active:border-rz-green-dark-active;
23
+
24
+ @apply data-disabled:data-[state=checked]:bg-rz-green
25
+ data-disabled:data-[state=checked]:hover:bg-rz-green
26
+ data-disabled:data-[state=checked]:active:bg-rz-green
27
+ data-disabled:data-[state=checked]:border-rz-green
28
+ data-disabled:data-[state=checked]:hover:border-rz-green
29
+ data-disabled:data-[state=checked]:active:border-rz-green;
30
+ }
31
+ }
32
+ .rui-radio-group-item-indicator {
33
+ @apply fill-rz-green stroke-rz-green;
34
+ &[data-variant="checkbox"] {
35
+ @apply fill-transparent stroke-h00;
36
+ }
37
+ }
38
+
39
+ .rui-radio-group-item-text {
40
+ @apply text-hcc hover:text-hff group-hover/item:text-hff;
41
+ @apply data-disabled:hover:text-hcc data-disabled:group-hover/item:text-hcc;
42
+
43
+ }
44
+ }
@@ -0,0 +1,26 @@
1
+ @layer components {
2
+ .rui-rating-group-item {
3
+ --fill-color: var(--color-h88);
4
+ --stroke-color: var(--color-h88);
5
+ --highlighted-fill-color: var(--color-hff);
6
+ --highlighted-stroke-color: var(--color-hff);
7
+ }
8
+
9
+ .rui-rating-group-item-indicator {
10
+ & [data-bg] {
11
+ stroke: var(--stroke-color);
12
+ fill: var(--fill-color);
13
+ }
14
+ & [data-fg] {
15
+ stroke: var(--highlighted-stroke-color);
16
+ fill: var(--highlighted-fill-color);
17
+ clip-path: inset(0 0 0 0);
18
+ }
19
+ &[data-half] [data-fg] {
20
+ clip-path: inset(0 50% 0 0);
21
+ }
22
+ &:not([data-highlighted]) [data-fg] {
23
+ clip-path: inset(0 100% 0 0);
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,14 @@
1
+ @layer components {
2
+ .rui-scroll-area-scrollbar {
3
+ @apply bg-h00/30;
4
+ }
5
+
6
+ .rui-scroll-area-thumb {
7
+ @apply bg-h58/40;
8
+ &[data-hover],
9
+ &[data-scrolling],
10
+ &[data-dragging] {
11
+ @apply bg-rz-green/80;
12
+ }
13
+ }
14
+ }
@@ -0,0 +1,31 @@
1
+ @layer components {
2
+ .rui-select-trigger {
3
+ @apply bg-h16 text-hbb border-h00 data-[state=open]:border-rz-green;
4
+
5
+ &:not([data-disabled]) {
6
+ @apply hover:border-rz-green;
7
+ }
8
+ }
9
+
10
+ .rui-select-content {
11
+ @apply bg-h1a text-hcc border-h11 shadow-rui-popper webkit-small-scrollbar;
12
+ }
13
+
14
+ .rui-select-item {
15
+ @apply bg-transparent data-highlighted:bg-h28 text-hbb data-[state=checked]:text-rz-green;
16
+ }
17
+
18
+ .rui-select-item-group-label {
19
+ @apply text-hff font-rz-bold border-h11;
20
+ }
21
+
22
+ .rui-select-separator {
23
+ @apply border-h11;
24
+ }
25
+
26
+ .rui-select-clear-trigger {
27
+ @apply [&>svg]:fill-rui-close
28
+ [&>svg]:stroke-black
29
+ [&>svg]:hover:fill-rui-close-hover;
30
+ }
31
+ }
@@ -0,0 +1,11 @@
1
+ @layer components {
2
+ .rui-skeleton {
3
+ @apply bg-h55;
4
+ &[data-variant="wave"] {
5
+ --tw-duration: 2s;
6
+ @apply bg-linear-to-r from-h33 from-8% via-h55 via-18% to-h33 to-33%;
7
+ background-size: 200% 100%;
8
+ animation: skeleton-wave var(--tw-duration, 2s) linear infinite;
9
+ }
10
+ }
11
+ }
@@ -0,0 +1,27 @@
1
+ @layer components {
2
+ .rui-slider-track {
3
+ @apply bg-h33;
4
+ }
5
+
6
+ .rui-slider-range {
7
+ @apply bg-rz-green;
8
+ }
9
+
10
+ .rui-slider-thumb {
11
+ @apply
12
+ data-[theme-size=xs]:border
13
+ data-[theme-size=sm]:border-2
14
+ data-[theme-size=base]:border-2
15
+ data-[theme-size=lg]:border-2;
16
+ @apply border-rz-green bg-h00;
17
+ }
18
+
19
+ .rui-slider-marker-dot {
20
+ &[data-state="over-value"] {
21
+ @apply bg-h33;
22
+ }
23
+ &[data-state="under-value"] {
24
+ @apply bg-rz-green;
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,15 @@
1
+ @layer components{
2
+ .rui-spin-mask{
3
+ @apply bg-h00/50;
4
+ }
5
+
6
+ .rui-spin-icon {
7
+ &[data-variant="default"] {
8
+ @apply text-rz-green animate-spin;
9
+ }
10
+ }
11
+
12
+ .rui-spin-text{
13
+ @apply text-h88;
14
+ }
15
+ }
@@ -0,0 +1,24 @@
1
+ @layer components {
2
+ .rui-switch-control {
3
+ @apply bg-h78
4
+ data-[state=unchecked]:hover:bg-h78/80
5
+ data-[state=checked]:bg-rz-green
6
+ data-[state=checked]:hover:bg-rz-green-light
7
+ border-transparent;
8
+ &[data-disabled] {
9
+ @apply bg-h78 hover:bg-h78;
10
+ @apply opacity-(--disabled-opacity);
11
+ }
12
+ &[data-state='checked']&[data-disabled] {
13
+ @apply bg-rz-green;
14
+ @apply hover:bg-rz-green;
15
+ }
16
+ }
17
+ .rui-switch-thumb {
18
+ @apply bg-h00;
19
+ }
20
+ .rui-switch-label {
21
+ @apply text-h88;
22
+ @apply group-hover/switch:text-hff;
23
+ }
24
+ }
@@ -0,0 +1,11 @@
1
+ @layer components {
2
+ .rui-tabs-list {
3
+ @apply border-b border-b-h54;
4
+ }
5
+ .rui-tabs-trigger{
6
+ @apply text-rui-toggle-text hover:text-rui-toggle-text-hover data-[state=active]:text-rui-toggle-text-active;
7
+ }
8
+ .rui-tabs-indicator{
9
+ @apply bg-rz-green;
10
+ }
11
+ }
@@ -0,0 +1,16 @@
1
+ @import './input.css';
2
+
3
+ @layer components {
4
+ .rui-tags-input-control {
5
+ &[data-focus] {
6
+ @apply border-(--focus-border-color) hover:border-(--focus-border-color) ring-2 ring-(--focus-border-color)/30;
7
+ }
8
+ }
9
+
10
+ .rui-tags-input-item-preview {
11
+ @apply bg-h22 hover:bg-h44;
12
+ &[data-highlighted] {
13
+ @apply bg-rz-blue text-hff;
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,41 @@
1
+ @layer components {
2
+ .rui-toast {
3
+ overflow-wrap: anywhere;
4
+ translate: var(--x) var(--y);
5
+ scale: var(--scale);
6
+ z-index: var(--z-index);
7
+ height: var(--height);
8
+ opacity: var(--opacity);
9
+
10
+ will-change: translate, opacity, scale;
11
+ transition: translate var(--tw-duration, 200ms),
12
+ scale var(--tw-duration, 200ms), opacity var(--tw-duration, 200ms),
13
+ height var(--tw-duration, 200ms);
14
+ transition-timing-function: var(--tw-timing, ease-out);
15
+
16
+ &[data-state='closed'] {
17
+ transition: translate var(--tw-duration, 200ms),
18
+ scale var(--tw-duration, 200ms), opacity var(--tw-duration, 200ms);
19
+ transition-timing-function: var(--tw-timing, ease-out);
20
+ }
21
+ }
22
+
23
+ .rui-toast-content {
24
+ @apply bg-h22 shadow-rui-popper;
25
+ @apply success:border-l-rui-success error:border-l-rui-error warning:border-l-rui-warning info:border-l-rui-info loading:border-l-rui-parimary;
26
+ &[data-placement^='bottom'] {
27
+ @apply shadow-rui-popper-top;
28
+ }
29
+ }
30
+
31
+ .rui-toast-icon {
32
+ @apply success:text-rui-success error:text-rui-error warning:text-rui-warning info:text-rui-info loading:text-rui-parimary;
33
+ &[data-type='loading'] {
34
+ @apply animate-spin;
35
+ }
36
+ }
37
+
38
+ .rui-toast-close {
39
+ @apply text-rui-close hover:text-rui-close-hover;
40
+ }
41
+ }
@@ -0,0 +1,19 @@
1
+ @layer components {
2
+ .rui-toggle-group {
3
+ @apply border-h55;
4
+ }
5
+ .rui-toggle-group-item {
6
+ @apply border-h55 bg-h1a
7
+ hover:bg-h5e hover:border-h4c hover:ring-h4c
8
+ active:bg-h1a active:border-h00 active:text-ha7;
9
+
10
+ &[data-state='on'] {
11
+ @apply bg-rz-green-dark
12
+ hover:bg-rz-green-dark-hover
13
+ hover:border-rz-green-dark-hover
14
+ active:bg-rz-green-dark-active
15
+ active:border-rz-green-dark-active
16
+ active:text-ha7;
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,17 @@
1
+ @layer components {
2
+ .rui-toggle {
3
+ @apply border-h00 bg-h1a
4
+ hover:bg-h5e hover:border-h4c hover:ring-h4c
5
+ active:bg-h1a active:border-h00 active:text-ha7;
6
+
7
+ &[data-state='on'] {
8
+ @apply bg-rz-green-dark
9
+ border-rz-green-dark
10
+ hover:bg-rz-green-dark-hover
11
+ hover:border-rz-green-dark-hover
12
+ active:bg-rz-green-dark-active
13
+ active:border-rz-green-dark-active
14
+ active:text-ha7;
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,16 @@
1
+ @layer components {
2
+ .rui-tooltip-content {
3
+ --border-radius: var(--radius);
4
+ @apply shadow-rui-popper;
5
+ @apply data-theme-bordered:border-h00;
6
+ @apply surface-dark:data-theme-bordered:border-h33;
7
+ @apply surface-razer:border-h00;
8
+ }
9
+
10
+ .rui-tooltip-content,
11
+ .rui-tooltip-content-inner {
12
+ @apply bg-hff text-h00;
13
+ @apply surface-dark:bg-h00 surface-dark:text-hff;
14
+ @apply surface-razer:bg-rz-green surface-razer:text-h00;
15
+ }
16
+ }
@@ -0,0 +1,19 @@
1
+
2
+ @import './checkbox.css';
3
+
4
+ @layer components {
5
+ .rui-tree-item[data-disabled] {
6
+ @apply opacity-(--disabled-opacity);
7
+ }
8
+
9
+ .rui-tree-branch {
10
+ &[data-disabled] {
11
+ @apply opacity-(--disabled-opacity);
12
+ }
13
+ &:not([data-disabled]) {
14
+ & .rui-tree-branch-control[data-disabled] {
15
+ @apply cursor-pointer;
16
+ }
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,17 @@
1
+
2
+ @layer components {
3
+
4
+ .rui-virtual-list {
5
+ @apply webkit-scrollbar-self;
6
+ }
7
+
8
+ .rui-virtual-infinite-spinner {
9
+ @apply stroke-rz-green;
10
+ }
11
+
12
+ .rui-virtual-infinite-error {
13
+ & .retry {
14
+ @apply cursor-pointer hover:text-rz-green;
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,33 @@
1
+ @import './components/arrow.css';
2
+ @import './components/badge.css';
3
+ @import './components/button.css';
4
+ @import './components/checkbox.css';
5
+ @import './components/radio-group.css';
6
+ @import './components/collapsible.css';
7
+ @import './components/input.css';
8
+ @import './components/editable.css';
9
+ @import './components/tooltip.css';
10
+ @import './components/dialog.css';
11
+ @import './components/hover-card.css';
12
+ @import './components/popover.css';
13
+ @import './components/switch.css';
14
+ @import './components/menu.css';
15
+ @import './components/select.css';
16
+ @import './components/toast.css';
17
+ @import './components/message.css';
18
+ @import './components/slider.css';
19
+ @import './components/tabs.css';
20
+ @import './components/scroll-area.css';
21
+ @import './components/toggle.css';
22
+ @import './components/toggle-group.css';
23
+ @import './components/progress.css';
24
+ @import './components/hotkey.css';
25
+ @import './components/spin.css';
26
+ @import './components/tags-input.css';
27
+ @import './components/skeleton.css';
28
+ @import './components/rating-group.css';
29
+ @import './components/pagination.css';
30
+ @import './components/number-input.css';
31
+ @import './components/date-picker.css';
32
+ @import './components/tree.css';
33
+ @import './components/floating-panel.css';
@@ -0,0 +1,16 @@
1
+ /**
2
+ *
3
+ * you can extend the core crafts by importing them from the default theme
4
+ * and then extending them with your own customizations
5
+ *
6
+ * example:
7
+ * import { coreCrafts } from '../../../default'
8
+ * import { tv } from '../../../shared/utils/tv'
9
+ * export const tvButton = tv({
10
+ * extend: coreCrafts.tvButton,
11
+ * // your own customizations here
12
+ * })
13
+ *
14
+ */
15
+
16
+ export {}
@@ -0,0 +1,6 @@
1
+ @import 'tailwindcss';
2
+
3
+ @config './tailwind.config.ts';
4
+
5
+ @import './preset.css';
6
+ @import './components.css';
@@ -0,0 +1,4 @@
1
+ export { cn } from '../shared/utils/cn'
2
+ export { tv } from '../shared/utils/tv'
3
+ export * as crafts from './crafts/index'
4
+ export type * as Crafts from './crafts/index'