@robuust-digital/vue-components 1.3.2 → 2.0.0-rc.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 (73) hide show
  1. package/README.md +47 -52
  2. package/dist/_shared/ButtonBase-CQjlJ85F.js +87 -0
  3. package/dist/_shared/ChevronDownIcon-z-5U4fIb.js +55 -0
  4. package/dist/_shared/FormInput-abFMz_J4.js +82 -0
  5. package/dist/_shared/Modal-COVlUEud.js +193 -0
  6. package/dist/_shared/Tooltip-BKXJoJ1x.js +126 -0
  7. package/dist/_shared/XMarkIcon-90mcPzBs.js +19 -0
  8. package/dist/_shared/icon-spinner-CmxIOqaK.js +26 -0
  9. package/dist/combobox/combobox.css +203 -0
  10. package/dist/combobox/index.js +349 -0
  11. package/dist/combobox/styles.css +1 -0
  12. package/dist/core/accordion.css +47 -0
  13. package/dist/core/alert.css +169 -0
  14. package/dist/core/badge.css +121 -0
  15. package/dist/core/button.css +393 -0
  16. package/dist/core/checkbox.css +60 -0
  17. package/dist/core/empty-state.css +56 -0
  18. package/dist/core/index.js +779 -0
  19. package/dist/core/input.css +92 -0
  20. package/dist/core/pagination.css +48 -0
  21. package/dist/core/radio.css +61 -0
  22. package/dist/core/select.css +81 -0
  23. package/dist/core/styles.css +92 -0
  24. package/dist/core/table.css +87 -0
  25. package/dist/core/tabs.css +74 -0
  26. package/dist/core/textarea.css +48 -0
  27. package/dist/core/theme.css +11 -0
  28. package/dist/dialogs/drawer.css +72 -0
  29. package/dist/dialogs/index.js +200 -0
  30. package/dist/dialogs/modal.css +98 -0
  31. package/dist/dialogs/styles.css +2 -0
  32. package/dist/dropdown/dropdown.css +89 -0
  33. package/dist/dropdown/index.js +136 -0
  34. package/dist/dropdown/styles.css +1 -0
  35. package/dist/lightswitch/index.js +48 -0
  36. package/dist/lightswitch/lightswitch.css +68 -0
  37. package/dist/lightswitch/styles.css +1 -0
  38. package/dist/rich-text-editor/index.js +262 -0
  39. package/dist/rich-text-editor/rich-text.css +83 -0
  40. package/dist/rich-text-editor/styles.css +1 -0
  41. package/dist/toast/index.js +100 -0
  42. package/dist/toast/styles.css +1 -0
  43. package/dist/toast/toast.css +187 -0
  44. package/dist/tooltip/index.js +5 -0
  45. package/dist/tooltip/styles.css +1 -0
  46. package/dist/tooltip/tooltip.css +69 -0
  47. package/package.json +58 -53
  48. package/dist/nuxt-module.js +0 -27
  49. package/dist/style.css +0 -1
  50. package/dist/tailwind/base/index.js +0 -72
  51. package/dist/tailwind/components/accordion.js +0 -59
  52. package/dist/tailwind/components/alert.js +0 -166
  53. package/dist/tailwind/components/badge.js +0 -119
  54. package/dist/tailwind/components/button.js +0 -292
  55. package/dist/tailwind/components/checkbox.js +0 -70
  56. package/dist/tailwind/components/combobox.js +0 -226
  57. package/dist/tailwind/components/drawer.js +0 -104
  58. package/dist/tailwind/components/dropdown.js +0 -97
  59. package/dist/tailwind/components/empty-state.js +0 -69
  60. package/dist/tailwind/components/input.js +0 -101
  61. package/dist/tailwind/components/lightswitch.js +0 -79
  62. package/dist/tailwind/components/modal.js +0 -132
  63. package/dist/tailwind/components/pagination.js +0 -62
  64. package/dist/tailwind/components/radio.js +0 -75
  65. package/dist/tailwind/components/rich-text.js +0 -100
  66. package/dist/tailwind/components/select.js +0 -88
  67. package/dist/tailwind/components/table.js +0 -109
  68. package/dist/tailwind/components/tabs.js +0 -95
  69. package/dist/tailwind/components/textarea.js +0 -53
  70. package/dist/tailwind/components/toast.js +0 -188
  71. package/dist/tailwind/components/tooltip.js +0 -74
  72. package/dist/tailwind/index.js +0 -94
  73. package/dist/vue-components.es.js +0 -2401
@@ -0,0 +1,92 @@
1
+ :root {
2
+ --rvc-input-border-radius: var(--rvc-base-border-radius);
3
+ --rvc-input-border-width: var(--rvc-base-border-width);
4
+ --rvc-input-border-color: var(--rvc-base-border-color);
5
+ --rvc-input-font-size: var(--rvc-base-input-font-size);
6
+ --rvc-input-font-weight: var(--rvc-base-input-font-weight);
7
+ --rvc-input-box-shadow: var(--rvc-base-box-shadow);
8
+ --rvc-input-color: var(--rvc-base-input-color);
9
+ --rvc-input-bg-color: var(--rvc-base-input-bg-color);
10
+ --rvc-input-icon-size: var(--rvc-base-input-icon-size);
11
+ --rvc-input-icon-color: var(--rvc-base-input-icon-color);
12
+ --rvc-input-padding-x: var(--rvc-base-input-padding-x);
13
+ --rvc-input-height: var(--rvc-base-input-height);
14
+ --rvc-input-placeholder-color: var(--rvc-base-input-placeholder-color);
15
+
16
+ /* Small variant */
17
+ --rvc-input-font-size-sm: calc(var(--rvc-base-input-font-size) * 0.9);
18
+ --rvc-input-padding-x-sm: calc(var(--rvc-base-input-padding-x) * 0.85);
19
+ --rvc-input-icon-size-sm: calc(var(--rvc-base-input-icon-size) * 0.85);
20
+ --rvc-input-height-sm: 1.875rem;
21
+ }
22
+
23
+ @layer components {
24
+ .rvc-input {
25
+ display: grid;
26
+ grid-template-columns: 1fr;
27
+
28
+ input {
29
+ border-radius: var(--rvc-input-border-radius);
30
+ border-width: var(--rvc-input-border-width);
31
+ border-color: var(--rvc-input-border-color);
32
+ padding-inline: var(--rvc-input-padding-x);
33
+ background-color: var(--rvc-input-bg-color);
34
+ font-size: var(--rvc-input-font-size);
35
+ font-weight: var(--rvc-input-font-weight);
36
+ color: var(--rvc-input-color);
37
+ box-shadow: var(--rvc-input-box-shadow);
38
+ height: var(--rvc-input-height);
39
+ background-image: none;
40
+ width: 100%;
41
+ position: relative;
42
+ grid-column-start: 1;
43
+ grid-row-start: 1;
44
+ appearance: none;
45
+ outline-width: 0;
46
+
47
+ &:nth-child(2) {
48
+ padding-left: calc(var(--rvc-input-padding-x) + var(--rvc-input-icon-size) + 0.25rem);
49
+ }
50
+
51
+ &::placeholder {
52
+ color: var(--rvc-input-placeholder-color);
53
+ }
54
+ }
55
+
56
+ &:has(svg:last-child) input {
57
+ padding-right: calc(var(--rvc-input-padding-x) + var(--rvc-input-icon-size) + 0.25rem);
58
+ }
59
+
60
+ .rvc-input-prefix, svg {
61
+ color: var(--rvc-input-icon-color);
62
+ position: relative;
63
+ grid-column-start: 1;
64
+ grid-row-start: 1;
65
+ align-self: center;
66
+ pointer-events: none;
67
+ z-index: 1;
68
+ }
69
+
70
+ .rvc-input-prefix {
71
+ margin-left: var(--rvc-input-padding-x);
72
+ justify-self: start;
73
+ }
74
+
75
+ svg {
76
+ width: var(--rvc-input-icon-size);
77
+ height: var(--rvc-input-icon-size);
78
+ justify-self: end;
79
+
80
+ &:last-child:not(:first-child) {
81
+ margin-right: var(--rvc-input-padding-x);
82
+ }
83
+ }
84
+
85
+ &.rvc-input-sm {
86
+ --rvc-input-font-size: var(--rvc-input-font-size-sm);
87
+ --rvc-input-padding-x: var(--rvc-input-padding-x-sm);
88
+ --rvc-input-icon-size: var(--rvc-input-icon-size-sm);
89
+ --rvc-input-height: var(--rvc-input-height-sm);
90
+ }
91
+ }
92
+ }
@@ -0,0 +1,48 @@
1
+ :root {
2
+ --rvc-pagination-transition-duration: var(--rvc-base-transition-duration);
3
+ --rvc-pagination-transition-timing-function: var(--rvc-base-transition-timing-function);
4
+ --rvc-pagination-border-radius: var(--radius-md);
5
+ --rvc-pagination-size: calc(var(--spacing) * 6);
6
+ --rvc-pagination-font-size: var(--text-sm);
7
+ --rvc-pagination-font-weight: var(--font-weight-normal);
8
+ --rvc-pagination-font-weight-active: var(--font-weight-semibold);
9
+ --rvc-pagination-color: var(--color-slate-600);
10
+ --rvc-pagination-color-active: var(--color-slate-800);
11
+ --rvc-pagination-bg-color: transparent;
12
+ --rvc-pagination-bg-color-hover: var(--color-slate-100);
13
+ --rvc-pagination-info-color: var(--color-slate-400);
14
+ --rvc-pagination-info-font-size: var(--text-sm);
15
+ }
16
+
17
+ @layer components {
18
+ .rvc-pagination {
19
+ .rvc-pagination-button {
20
+ border-radius: var(--rvc-pagination-border-radius);
21
+ width: var(--rvc-pagination-size);
22
+ height: var(--rvc-pagination-size);
23
+ font-size: var(--rvc-pagination-font-size);
24
+ font-weight: var(--rvc-pagination-font-weight);
25
+ color: var(--rvc-pagination-color);
26
+ background-color: var(--rvc-pagination-bg-color);
27
+ display: flex;
28
+ align-items: center;
29
+ justify-content: center;
30
+ text-align: center;
31
+ transition: color, background-color var(--rvc-pagination-transition-duration) var(--rvc-pagination-transition-timing-function);
32
+
33
+ &.rvc-pagination-button-active {
34
+ font-weight: var(--rvc-pagination-font-weight-active);
35
+ color: var(--rvc-pagination-color-active);
36
+ }
37
+
38
+ &:not([disabled]):hover {
39
+ background-color: var(--rvc-pagination-bg-color-hover);
40
+ }
41
+ }
42
+
43
+ .rvc-pagination-info {
44
+ font-size: var(--rvc-pagination-info-font-size);
45
+ color: var(--rvc-pagination-info-color);
46
+ }
47
+ }
48
+ }
@@ -0,0 +1,61 @@
1
+ :root {
2
+ --rvc-radio-input-box-shadow: var(--rvc-base-box-shadow);
3
+ --rvc-radio-input-border-color: var(--rvc-base-border-color);
4
+ --rvc-radio-gap: calc(var(--spacing) * 2);
5
+ --rvc-radio-font-size: var(--text-base);
6
+ --rvc-radio-font-weight: var(--font-weight-medium);
7
+ --rvc-radio-color: var(--color-slate-950);
8
+ --rvc-radio-input-size: calc(var(--spacing) * 4);
9
+ --rvc-radio-input-border-radius: calc(infinity * 1px);
10
+ --rvc-radio-input-border-width: 1px;
11
+ --rvc-radio-input-checked-bg-color: var(--color-indigo-600);
12
+ --rvc-radio-input-checked-border-color: var(--color-indigo-600);
13
+ --rvc-radio-input-checked-icon-color: var(--color-white);
14
+ }
15
+
16
+ @layer components {
17
+ .rvc-radio {
18
+ gap: var(--rvc-radio-gap);
19
+ position: relative;
20
+ display: flex;
21
+ align-items: flex-start;
22
+ cursor: pointer;
23
+
24
+ label {
25
+ font-size: var(--rvc-radio-font-size);
26
+ font-weight: var(--rvc-radio-font-weight);
27
+ color: var(--rvc-radio-color);
28
+ }
29
+
30
+ .rvc-radio-input {
31
+ width: var(--rvc-radio-input-size);
32
+ height: var(--rvc-radio-input-size);
33
+ border-radius: var(--rvc-radio-input-border-radius);
34
+ border-width: var(--rvc-radio-input-border-width);
35
+ border-color: var(--rvc-radio-input-border-color);
36
+ box-shadow: var(--rvc-radio-input-box-shadow);
37
+ margin-top: calc(var(--spacing) * 1);
38
+ display: inline-flex;
39
+ align-items: center;
40
+ justify-content: center;
41
+
42
+ &::before {
43
+ content: "";
44
+ width: calc(var(--spacing) * 1.5);
45
+ height: calc(var(--spacing) * 1.5);
46
+ border-radius: calc(infinity * 1px);
47
+ background-color: var(--rvc-radio-input-checked-icon-color);
48
+ opacity: 0;
49
+ }
50
+ }
51
+
52
+ input:checked + .rvc-radio-input {
53
+ background-color: var(--rvc-radio-input-checked-bg-color);
54
+ border-color: var(--rvc-radio-input-checked-border-color);
55
+
56
+ &::before {
57
+ opacity: 1;
58
+ }
59
+ }
60
+ }
61
+ }
@@ -0,0 +1,81 @@
1
+ :root {
2
+ --rvc-select-border-radius: var(--rvc-base-border-radius);
3
+ --rvc-select-border-width: var(--rvc-base-border-width);
4
+ --rvc-select-border-color: var(--rvc-base-border-color);
5
+ --rvc-select-font-size: var(--rvc-base-input-font-size);
6
+ --rvc-select-font-weight: var(--rvc-base-input-font-weight);
7
+ --rvc-select-box-shadow: var(--rvc-base-box-shadow);
8
+ --rvc-select-color: var(--rvc-base-input-color);
9
+ --rvc-select-bg-color: var(--rvc-base-input-bg-color);
10
+ --rvc-select-icon-size: var(--rvc-base-input-icon-size);
11
+ --rvc-select-icon-color: var(--rvc-base-input-icon-color);
12
+ --rvc-select-padding-x: var(--rvc-base-input-padding-x);
13
+ --rvc-select-height: var(--rvc-base-input-height);
14
+ --rvc-select-placeholder-color: var(--rvc-base-input-placeholder-color);
15
+
16
+ /* Small variant */
17
+ --rvc-select-font-size-sm: calc(var(--rvc-base-input-font-size) * 0.9);
18
+ --rvc-select-padding-x-sm: calc(var(--rvc-base-input-padding-x) * 0.85);
19
+ --rvc-select-icon-size-sm: calc(var(--rvc-base-input-icon-size) * 0.85);
20
+ --rvc-select-height-sm: 1.875rem;
21
+ }
22
+
23
+ @layer components {
24
+ .rvc-select {
25
+ display: grid;
26
+ grid-template-columns: 1fr;
27
+
28
+ select {
29
+ border-radius: var(--rvc-select-border-radius);
30
+ border-width: var(--rvc-select-border-width);
31
+ border-color: var(--rvc-select-border-color);
32
+ padding-right: calc(var(--rvc-select-padding-x) + var(--rvc-select-icon-size) + 0.25rem);
33
+ padding-left: var(--rvc-select-padding-x);
34
+ background-color: var(--rvc-select-bg-color);
35
+ background-image: none;
36
+ font-size: var(--rvc-select-font-size);
37
+ font-weight: var(--rvc-select-font-weight);
38
+ color: var(--rvc-select-color);
39
+ box-shadow: var(--rvc-select-box-shadow);
40
+ height: var(--rvc-select-height);
41
+ width: 100%;
42
+ grid-column-start: 1;
43
+ grid-row-start: 1;
44
+ appearance: none;
45
+ outline-width: 0;
46
+
47
+ &:nth-child(2) {
48
+ padding-left: calc(var(--rvc-select-padding-x) + var(--rvc-select-icon-size) + 0.25rem);
49
+ }
50
+ }
51
+
52
+ svg {
53
+ width: var(--rvc-select-icon-size);
54
+ height: var(--rvc-select-icon-size);
55
+ color: var(--rvc-select-icon-color);
56
+ position: relative;
57
+ grid-column-start: 1;
58
+ grid-row-start: 1;
59
+ align-self: center;
60
+ justify-self: end;
61
+ pointer-events: none;
62
+ z-index: 1;
63
+
64
+ &:first-child {
65
+ justify-self: start;
66
+ margin-left: var(--rvc-select-padding-x);
67
+ }
68
+
69
+ &:last-child {
70
+ margin-right: var(--rvc-select-padding-x);
71
+ }
72
+ }
73
+
74
+ &.rvc-select-sm {
75
+ --rvc-select-font-size: var(--rvc-select-font-size-sm);
76
+ --rvc-select-padding-x: var(--rvc-select-padding-x-sm);
77
+ --rvc-select-icon-size: var(--rvc-select-icon-size-sm);
78
+ --rvc-select-height: var(--rvc-select-height-sm);
79
+ }
80
+ }
81
+ }
@@ -0,0 +1,92 @@
1
+ @import "./accordion.css";
2
+ @import "./alert.css";
3
+ @import "./badge.css";
4
+ @import "./button.css";
5
+ @import "./checkbox.css";
6
+ @import "./empty-state.css";
7
+ @import "./input.css";
8
+ @import "./pagination.css";
9
+ @import "./radio.css";
10
+ @import "./select.css";
11
+ @import "./table.css";
12
+ @import "./tabs.css";
13
+ @import "./textarea.css";
14
+
15
+ :root {
16
+ /* Base Focus Variables */
17
+ --rvc-base-focus-outline-style: dashed;
18
+ --rvc-base-focus-outline-offset: 0.0625rem;
19
+ --rvc-base-focus-outline-width: 0.0625rem;
20
+ --rvc-base-focus-outline-color: var(--color-indigo-600);
21
+
22
+ /* Base Variables */
23
+ --rvc-base-border-radius: var(--radius-md);
24
+ --rvc-base-transition-duration: var(--default-transition-duration);
25
+ --rvc-base-transition-timing-function: var(--default-transition-timing-function);
26
+ --rvc-base-loading-animation: var(--animate-spin);
27
+ --rvc-base-border-width: 1px;
28
+ --rvc-base-border-style: solid;
29
+ --rvc-base-border-color: #d6dce9;
30
+ --rvc-base-border-dark-color: var(--color-slate-300);
31
+ --rvc-base-box-shadow: none;
32
+ --rvc-base-font-size: 0.9375rem;
33
+ --rvc-base-line-height: 1.5rem;
34
+
35
+ /* Dialogs Variables */
36
+ --rvc-dialog-backdrop-bg-color: --alpha(var(--color-slate-900) / 50%);
37
+ --rvc-dialog-padding-x: calc(var(--spacing) * 4);
38
+ --rvc-dialog-padding-y: calc(var(--spacing) * 4);
39
+ --rvc-dialog-header-bg-color: var(--color-white);
40
+ --rvc-dialog-close-size: calc(var(--spacing) * 6);
41
+ --rvc-dialog-close-color: var(--color-slate-700);
42
+ --rvc-dialog-close-color-hover: var(--color-slate-900);
43
+ --rvc-dialog-title-color: var(--color-slate-900);
44
+ --rvc-dialog-title-font-size: var(--text-xl);
45
+ --rvc-dialog-title-font-weight: var(--font-weight-bold);
46
+ --rvc-dialog-title-font-family: var(--font-sans);
47
+ --rvc-dialog-content-bg-color: var(--color-white);
48
+ --rvc-dialog-footer-bg-color: var(--color-slate-50);
49
+ --rvc-dialog-footer-gap: calc(var(--spacing) * 2);
50
+
51
+ /* Input Variables */
52
+ --rvc-base-input-color: var(--color-slate-600);
53
+ --rvc-base-input-bg-color: var(--color-white);
54
+ --rvc-base-input-icon-color: var(--color-slate-400);
55
+ --rvc-base-input-icon-size: calc(var(--spacing) * 5);
56
+ --rvc-base-input-padding-x: calc(var(--spacing) * 3);
57
+ --rvc-base-input-font-size: var(--rvc-base-font-size);
58
+ --rvc-base-input-font-weight: var(--font-weight-normal);
59
+ --rvc-base-input-height: calc(var(--spacing) * 9);
60
+ --rvc-base-input-placeholder-color: var(--color-slate-400);
61
+ }
62
+
63
+ @media (width >= 40rem) {
64
+ :root {
65
+ --rvc-dialog-padding-x: calc(var(--spacing) * 6);
66
+ --rvc-dialog-padding-y: calc(var(--spacing) * 4);
67
+ --rvc-dialog-footer-gap: calc(var(--spacing) * 3);
68
+ }
69
+ }
70
+
71
+ @layer utilities {
72
+ [class^="rvc-"] *:focus,
73
+ [class^="rvc-"]:focus {
74
+ outline-style: var(--rvc-base-focus-outline-style);
75
+ outline-width: var(--rvc-base-focus-outline-offset);
76
+ outline-offset: var(--rvc-base-focus-outline-width);
77
+ outline-color: var(--rvc-base-focus-outline-color);
78
+ }
79
+ }
80
+
81
+ @utility rvc-focus {
82
+ outline-style: var(--rvc-base-focus-outline-style);
83
+ outline-width: var(--rvc-base-focus-outline-offset);
84
+ outline-offset: var(--rvc-base-focus-outline-width);
85
+ outline-color: var(--rvc-base-focus-outline-color);
86
+ }
87
+
88
+ @layer base {
89
+ button, [role=button] {
90
+ cursor: pointer;
91
+ }
92
+ }
@@ -0,0 +1,87 @@
1
+ :root {
2
+ --rvc-table-wrapper-border-radius: 0;
3
+ --rvc-table-head-border-color: var(--rvc-base-border-dark-color);
4
+ --rvc-table-border-color: var(--rvc-base-border-color);
5
+ --rvc-table-border-style: var(--rvc-base-border-style);
6
+ --rvc-table-border-width: var(--rvc-base-border-width);
7
+ --rvc-table-head-bg-color: var(--color-slate-200);
8
+ --rvc-table-bg-color: var(--color-slate-50);
9
+ --rvc-table-font-size: var(--text-sm);
10
+ --rvc-table-head-font-size: var(--text-sm);
11
+ --rvc-table-head-font-weight: var(--font-weight-medium);
12
+ --rvc-table-font-weight: var(--font-weight-normal);
13
+ --rvc-table-padding-x: calc(var(--spacing) * 2);
14
+ --rvc-table-padding-y: calc(var(--spacing) * 3);
15
+ --rvc-table-white-space: nowrap;
16
+ --rvc-table-line-height: 1.1;
17
+ --rvc-table-spinner-size: calc(var(--spacing) * 5);
18
+ }
19
+
20
+ @layer components {
21
+ .rvc-table-wrapper {
22
+ overflow-x: auto;
23
+ padding-bottom: calc(var(--spacing) * 4);
24
+ border-radius: var(--rvc-table-wrapper-border-radius);
25
+ }
26
+
27
+ .rvc-table {
28
+ &.rvc-table-striped {
29
+ thead th {
30
+ padding-inline: var(--rvc-table-padding-x);
31
+ background-color: var(--rvc-table-head-bg-color);
32
+ }
33
+
34
+ tr:nth-of-type(even) td {
35
+ background-color: var(--rvc-table-bg-color);
36
+ }
37
+
38
+ td {
39
+ padding-inline: var(--rvc-table-padding-x);
40
+ }
41
+ }
42
+
43
+ &:not(.rvc-table-striped) {
44
+ thead th {
45
+ border-bottom: var(--rvc-table-border-width) var(--rvc-table-border-style) var(--rvc-table-head-border-color);
46
+
47
+ &:not(:first-child,:last-child) {
48
+ padding-inline: var(--rvc-table-padding-x);
49
+ }
50
+ }
51
+
52
+ tr:not(:last-child) td {
53
+ border-bottom: var(--rvc-table-border-width) var (--rvc-table-border-style) var(--rvc-table-border-color);
54
+ }
55
+
56
+ td:not(:first-child,:last-child) {
57
+ padding-inline: var(--rvc-table-padding-x);
58
+ }
59
+ }
60
+
61
+ th {
62
+ padding-block: var(--rvc-table-padding-y);
63
+ font-weight: var(--rvc-table-head-font-weight);
64
+ font-size: var(--rvc-table-head-font-size);
65
+ line-height: var(--rvc-table-line-height);
66
+ white-space: var(--rvc-table-white-space);
67
+ }
68
+
69
+ td {
70
+ padding-block: var(--rvc-table-padding-y);
71
+ font-weight: var(--rvc-table-font-weight);
72
+ font-size: var(--rvc-table-font-size);
73
+ line-height: var(--rvc-table-line-height);
74
+ white-space: var(--rvc-table-white-space);
75
+ }
76
+
77
+ .rvc-table-spinner {
78
+ animation: spin 1s linear infinite;
79
+ width: var(--rvc-table-spinner-size);
80
+ height: var(--rvc-table-spinner-size);
81
+ }
82
+
83
+ td.rvc-table-state {
84
+ border-bottom: var(--rvc-table-border-width) var(--rvc-table-border-style) var(--rvc-table-border-color);
85
+ }
86
+ }
87
+ }
@@ -0,0 +1,74 @@
1
+ :root {
2
+ --rvc-tabs-border-width: var(--rvc-base-border-width);
3
+ --rvc-tabs-border-color: var(--rvc-base-border-color);
4
+ --rvc-tabs-tab-transition-duration: var(--rvc-base-transition-duration);
5
+ --rvc-tabs-tab-transition-timing-function: var(--rvc-base-transition-timing-function);
6
+ --rvc-tabs-tab-button-border-radius: var(--rvc-base-border-radius);
7
+ --rvc-tabs-gap: calc(var(--spacing) * 10);
8
+ --rvc-tabs-buttons-gap: calc(var(--spacing) * 4);
9
+ --rvc-tabs-tab-color: var(--color-slate-600);
10
+ --rvc-tabs-tab-font-weight: var(--font-weight-medium);
11
+ --rvc-tabs-tab-border-width: 2px;
12
+ --rvc-tabs-tab-padding-bottom: calc(var(--spacing) * 4);
13
+ --rvc-tabs-tab-color-hover: var(--color-slate-700);
14
+ --rvc-tabs-tab-border-color-hover: var(--color-slate-600);
15
+ --rvc-tabs-tab-active-color: var(--color-indigo-600);
16
+ --rvc-tabs-tab-active-border-color: var(--color-indigo-600);
17
+ --rvc-tabs-tab-button-height: calc(var(--spacing) * 9);
18
+ --rvc-tabs-tab-button-padding-x: calc(var(--spacing) * 3);
19
+ --rvc-tabs-tab-active-button-bg-color: var(--color-indigo-100);
20
+ }
21
+
22
+ @layer components {
23
+ .rvc-tabs {
24
+ border-bottom: var(--rvc-tabs-border-width) solid var(--rvc-tabs-border-color);
25
+
26
+ &.rvc-tabs-buttons {
27
+ border-bottom: 0;
28
+
29
+ .rvc-tabs-nav {
30
+ gap: var(--rvc-tabs-buttons-gap);
31
+ margin-bottom: 0;
32
+ }
33
+
34
+ .rvc-tab {
35
+ padding-inline: var(--rvc-tabs-tab-button-padding-x);
36
+ height: var(--rvc-tabs-tab-button-height);
37
+ border-radius: var(--rvc-tabs-tab-button-border-radius);
38
+ display: inline-flex;
39
+ align-items: center;
40
+ justify-content: center;
41
+ border-bottom: 0;
42
+ padding-bottom: 0;
43
+
44
+ &.rvc-tab-active {
45
+ background-color: var(--rvc-tabs-tab-active-button-bg-color);
46
+ }
47
+ }
48
+ }
49
+
50
+ .rvc-tabs-nav {
51
+ display: flex;
52
+ gap: var(--rvc-tabs-gap);
53
+ margin-bottom: calc(var(--rvc-tabs-border-width) * -1);
54
+ }
55
+
56
+ .rvc-tab {
57
+ color: var(--rvc-tabs-tab-color);
58
+ font-weight: var(--rvc-tabs-tab-font-weight);
59
+ border-bottom: var(--rvc-tabs-tab-border-width) solid transparent;
60
+ padding-bottom: var(--rvc-tabs-tab-padding-bottom);
61
+ transition: all var(--rvc-tabs-tab-transition-duration) var(--rvc-tabs-tab-transition-timing-function);
62
+
63
+ &:hover {
64
+ color: var(--rvc-tabs-tab-color-hover);
65
+ border-color: var(--rvc-tabs-tab-border-color-hover);
66
+ }
67
+
68
+ &.rvc-tab-active {
69
+ color: var(--rvc-tabs-tab-active-color);
70
+ border-color: var(--rvc-tabs-tab-active-border-color);
71
+ }
72
+ }
73
+ }
74
+ }
@@ -0,0 +1,48 @@
1
+ :root {
2
+ --rvc-textarea-border-radius: var(--rvc-base-border-radius);
3
+ --rvc-textarea-border-width: var(--rvc-base-border-width);
4
+ --rvc-textarea-border-color: var(--rvc-base-border-color);
5
+ --rvc-textarea-font-size: var(--rvc-base-input-font-size);
6
+ --rvc-textarea-font-weight: var(--rvc-base-input-font-weight);
7
+ --rvc-textarea-box-shadow: var(--rvc-base-box-shadow);
8
+ --rvc-textarea-color: var(--rvc-base-input-color);
9
+ --rvc-textarea-bg-color: var(--rvc-base-input-bg-color);
10
+ --rvc-textarea-padding-x: var(--rvc-base-input-padding-x);
11
+ --rvc-textarea-padding-y: calc(var(--spacing) * 1.5);
12
+ --rvc-textarea-height: var(--rvc-base-input-height);
13
+ --rvc-textarea-placeholder-color: var(--rvc-base-input-placeholder-color);
14
+
15
+ /* Small variant */
16
+ --rvc-textarea-font-size-sm: calc(var(--rvc-base-input-font-size) * 0.9);
17
+ --rvc-textarea-padding-x-sm: calc(var(--rvc-base-input-padding-x) * 0.85);
18
+ --rvc-textarea-padding-y-sm: calc(var(--spacing) * 1.125);
19
+ --rvc-textarea-height-sm: 1.875rem;
20
+ }
21
+
22
+ @layer components {
23
+ .rvc-textarea {
24
+ border-radius: var(--rvc-textarea-border-radius);
25
+ border-width: var(--rvc-textarea-border-width);
26
+ border-color: var(--rvc-textarea-border-color);
27
+ padding: var(--rvc-textarea-padding-y) var(--rvc-textarea-padding-x);
28
+ background-color: var(--rvc-textarea-bg-color);
29
+ font-size: var(--rvc-textarea-font-size);
30
+ font-weight: var(--rvc-textarea-font-weight);
31
+ color: var(--rvc-textarea-color);
32
+ box-shadow: var(--rvc-textarea-box-shadow);
33
+ min-height: var(--rvc-textarea-height);
34
+ display: block;
35
+ background-image: none;
36
+ width: 100%;
37
+ position: relative;
38
+ appearance: none;
39
+ outline-width: 0;
40
+
41
+ &.rvc-textarea-sm {
42
+ --rvc-textarea-font-size: var(--rvc-textarea-font-size-sm);
43
+ --rvc-textarea-padding-x: var(--rvc-textarea-padding-x-sm);
44
+ --rvc-textarea-padding-y: var(--rvc-textarea-padding-y-sm);
45
+ --rvc-textarea-height: var(--rvc-textarea-height-sm);
46
+ }
47
+ }
48
+ }
@@ -0,0 +1,11 @@
1
+ @theme {
2
+ --color-primary-500: #d9ff00;
3
+ --color-primary-600: #c1e012;
4
+ --color-secondary-500: #6366f1;
5
+ --color-secondary-600: #4f46e5;
6
+ --color-tertiary-500: #64748b;
7
+ --color-tertiary-600: #475569;
8
+ --text-sm: 0.8125rem;
9
+ --text-base: 0.9375rem;
10
+ --font-sans: "Inter", sans-serif;
11
+ }
@@ -0,0 +1,72 @@
1
+ :root {
2
+ --rvc-drawer-backdrop-bg-color: var(--rvc-dialog-backdrop-bg-color);
3
+ --rvc-drawer-padding-x: var(--rvc-dialog-padding-x);
4
+ --rvc-drawer-padding-y: var(--rvc-dialog-padding-y);
5
+ --rvc-drawer-border-color: var(--rvc-base-border-color);
6
+ --rvc-drawer-border-width: var(--rvc-base-border-width);
7
+ --rvc-drawer-border-style: var(--rvc-base-border-style);
8
+ --rvc-drawer-header-bg-color: var(--rvc-dialog-header-bg-color);
9
+ --rvc-drawer-title-font-size: var(--rvc-dialog-title-font-size);
10
+ --rvc-drawer-title-font-weight: var(--rvc-dialog-title-font-weight);
11
+ --rvc-drawer-title-font-family: var(--rvc-dialog-title-font-family);
12
+ --rvc-drawer-title-color: var(--rvc-dialog-title-color);
13
+ --rvc-drawer-close-size: var(--rvc-dialog-close-size);
14
+ --rvc-drawer-close-color: var(--rvc-dialog-close-color);
15
+ --rvc-drawer-close-color-hover: var(--rvc-dialog-close-color-hover);
16
+ --rvc-drawer-content-bg-color: var(--rvc-dialog-content-bg-color);
17
+ --rvc-drawer-footer-bg-color: var(--rvc-dialog-footer-bg-color);
18
+ --rvc-drawer-footer-gap: var(--rvc-dialog-footer-gap);
19
+ --rvc-drawer-footer-justify-content: space-between;
20
+ }
21
+
22
+ @layer components {
23
+ .rvc-drawer {
24
+ z-index: 500;
25
+ position: relative;
26
+
27
+ .rvc-drawer-backdrop {
28
+ background-color: var(--rvc-drawer-backdrop-bg-color);
29
+ }
30
+
31
+ .rvc-drawer-header {
32
+ padding: var(--rvc-drawer-padding-y) var(--rvc-drawer-padding-x);
33
+ border-bottom-width: var(--rvc-drawer-border-width);
34
+ border-bottom-style: var(--rvc-drawer-border-style);
35
+ border-color: var(--rvc-drawer-border-color);
36
+ background-color: var(--rvc-drawer-header-bg-color);
37
+ }
38
+
39
+ .rvc-drawer-title {
40
+ font-size: var(--rvc-drawer-title-font-size);
41
+ font-weight: var(--rvc-drawer-title-font-weight);
42
+ font-family: var(--rvc-drawer-title-font-family);
43
+ color: var(--rvc-drawer-title-color);
44
+ }
45
+
46
+ .rvc-drawer-close {
47
+ width: var(--rvc-drawer-close-size);
48
+ height: var(--rvc-drawer-close-size);
49
+ color: var(--rvc-drawer-close-color);
50
+
51
+ &:hover {
52
+ color: var(--rvc-drawer-close-color-hover);
53
+ }
54
+ }
55
+
56
+ .rvc-drawer-content {
57
+ padding-block: var(--rvc-drawer-padding-y);
58
+ padding-inline: var(--rvc-drawer-padding-x);
59
+ background-color: var(--rvc-drawer-content-bg-color);
60
+ }
61
+
62
+ .rvc-drawer-footer {
63
+ padding: var(--rvc-drawer-padding-y) var(--rvc-drawer-padding-x);
64
+ border-top-width: var(--rvc-drawer-border-width);
65
+ border-top-style: var(--rvc-drawer-border-style);
66
+ border-color: var(--rvc-drawer-border-color);
67
+ background-color: var(--rvc-drawer-footer-bg-color);
68
+ gap: var(--rvc-drawer-footer-gap);
69
+ justify-content: var(--rvc-drawer-footer-justify-content);
70
+ }
71
+ }
72
+ }