@redseed/redseed-ui-tailwindcss 5.3.1 → 5.3.2

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 (83) hide show
  1. package/components/activity_feed.css +8 -0
  2. package/components/avatar_text.css +3 -0
  3. package/components/badge.css +33 -0
  4. package/components/badge_group.css +19 -0
  5. package/components/body_text.css +5 -0
  6. package/components/breadcrumbs.css +14 -0
  7. package/components/button_card.css +50 -0
  8. package/components/button_group.css +3 -0
  9. package/components/button_group_item.css +43 -0
  10. package/components/card.css +62 -0
  11. package/components/card_group.css +46 -0
  12. package/components/card_header.css +64 -0
  13. package/components/disclosure.css +16 -0
  14. package/components/dropdown_menu.css +42 -0
  15. package/components/dropdown_option.css +10 -0
  16. package/components/empty.css +28 -0
  17. package/components/feed_item.css +39 -0
  18. package/components/form_field_checkbox.css +33 -0
  19. package/components/form_field_combobox.css +98 -0
  20. package/components/form_field_password.css +4 -0
  21. package/components/form_field_radio_group.css +44 -0
  22. package/components/form_field_search.css +12 -0
  23. package/components/form_field_select.css +76 -0
  24. package/components/form_field_slot.css +32 -0
  25. package/components/form_field_suffix.css +5 -0
  26. package/components/form_field_text.css +37 -0
  27. package/components/form_field_textarea.css +19 -0
  28. package/components/form_field_uploader.css +51 -0
  29. package/components/form_fields_login.css +4 -0
  30. package/components/form_fields_register.css +4 -0
  31. package/components/form_fieldset.css +45 -0
  32. package/components/form_slot.css +34 -0
  33. package/components/form_wrapper_build.css +4 -0
  34. package/components/form_wrapper_lms.css +4 -0
  35. package/components/google_button.css +91 -0
  36. package/components/hero_section.css +32 -0
  37. package/components/image.css +35 -0
  38. package/components/image_16by9.css +4 -0
  39. package/components/image_3by1.css +4 -0
  40. package/components/image_64by25.css +4 -0
  41. package/components/image_9by16.css +4 -0
  42. package/components/image_circle.css +4 -0
  43. package/components/link_primary.css +4 -0
  44. package/components/link_slot.css +47 -0
  45. package/components/linked_list.css +8 -0
  46. package/components/linked_list_item.css +41 -0
  47. package/components/list.css +12 -0
  48. package/components/list_control.css +66 -0
  49. package/components/list_item.css +72 -0
  50. package/components/loader.css +20 -0
  51. package/components/logo.css +4 -0
  52. package/components/message_box.css +40 -0
  53. package/components/meta_info.css +27 -0
  54. package/components/metric_card.css +28 -0
  55. package/components/modal.css +75 -0
  56. package/components/page_header.css +54 -0
  57. package/components/pagination.css +28 -0
  58. package/components/pagination_item.css +18 -0
  59. package/components/pagination_item_collapsed.css +4 -0
  60. package/components/pagination_item_next.css +8 -0
  61. package/components/pagination_item_previous.css +8 -0
  62. package/components/progress_circle.css +16 -0
  63. package/components/progress_tracker.css +4 -0
  64. package/components/progress_tracker_step.css +36 -0
  65. package/components/radio_card.css +83 -0
  66. package/components/read_more.css +8 -0
  67. package/components/record_count.css +4 -0
  68. package/components/section.css +28 -0
  69. package/components/section_footer.css +18 -0
  70. package/components/section_header.css +41 -0
  71. package/components/single_column_layout.css +4 -0
  72. package/components/sorting.css +17 -0
  73. package/components/switcher.css +17 -0
  74. package/components/switcher_item.css +14 -0
  75. package/components/table.css +32 -0
  76. package/components/td.css +21 -0
  77. package/components/td_user.css +21 -0
  78. package/components/th.css +68 -0
  79. package/components/toggle.css +36 -0
  80. package/components/tr.css +10 -0
  81. package/components/two_column_layout.css +16 -0
  82. package/index.css +81 -0
  83. package/package.json +1 -1
@@ -0,0 +1,8 @@
1
+ .rsui-activity-feed {
2
+ @apply flex flex-col gap-8;
3
+ }
4
+
5
+ .rsui-activity-feed--line > *:not(:last-child) {
6
+ @apply after:absolute after:inset-x-0 after:-bottom-4 after:border-t after:border-border-primary;
7
+ }
8
+
@@ -0,0 +1,3 @@
1
+ .rsui-avatar-circle {
2
+ @apply w-full h-full rounded-full bg-background-secondary flex items-center justify-center text-text-secondary border border-border-primary font-semibold;
3
+ }
@@ -0,0 +1,33 @@
1
+ .rsui-badge {
2
+ @apply inline-flex items-center justify-center gap-x-1;
3
+ @apply w-fit h-fit rounded-full;
4
+ @apply text-sm font-medium leading-4;
5
+ }
6
+
7
+ .rsui-badge--sm {
8
+ @apply px-2 py-1;
9
+ }
10
+
11
+ .rsui-badge--md {
12
+ @apply px-2 py-2;
13
+ }
14
+
15
+ .rsui-badge--secondary {
16
+ @apply text-text-secondary bg-background-secondary border border-border-secondary;
17
+ }
18
+
19
+ .rsui-badge--success {
20
+ @apply text-text-success bg-background-success border border-border-success;
21
+ }
22
+
23
+ .rsui-badge--warning {
24
+ @apply text-text-warning bg-background-warning border border-border-warning;
25
+ }
26
+
27
+ .rsui-badge--error {
28
+ @apply text-text-error bg-background-error border border-border-error;
29
+ }
30
+
31
+ .rsui-badge svg {
32
+ @apply size-4;
33
+ }
@@ -0,0 +1,19 @@
1
+ .badge-group {
2
+ @apply pl-1 pr-3 gap-x-3;
3
+ }
4
+
5
+ .badge-group--badge-end {
6
+ @apply pl-3 pr-1;
7
+ }
8
+
9
+ .badge-group--no-text {
10
+ @apply px-1;
11
+ }
12
+
13
+ .badge-group--no-badge {
14
+ @apply px-2;
15
+ }
16
+
17
+ .badge-group--badge-end .badge-group__badge {
18
+ @apply order-last;
19
+ }
@@ -0,0 +1,5 @@
1
+ .rsui-body-text {
2
+ @apply text-base text-text-primary;
3
+ @apply *:text-base *:text-text-primary;
4
+ }
5
+
@@ -0,0 +1,14 @@
1
+ .rsui-breadcrumbs {
2
+ @apply flex flex-wrap items-center gap-x-2 gap-y-2;
3
+ }
4
+
5
+ .rsui-breadcrumbs__item {
6
+ @apply relative select-none pr-4 last:pr-0 last:after:hidden;
7
+ @apply text-sm text-text-disabled leading-6;
8
+ @apply after:absolute after:right-0.5 after:content-['\007C'];
9
+ @apply after:w-0.5 after:h-full after:text-text-disabled;
10
+ }
11
+
12
+ .rsui-breadcrumbs__item--action {
13
+ @apply cursor-pointer hover:text-text-primary transition-colors duration-200;
14
+ }
@@ -0,0 +1,50 @@
1
+ .rsui-button-card {
2
+ @apply hover:shadow-none hover:border-text-primary;
3
+ }
4
+
5
+ .rsui-button-card--disabled {
6
+ @apply hover:border-border-primary;
7
+ @apply focus-visible:ring-0;
8
+ }
9
+
10
+ .rsui-button-card__content {
11
+ @apply flex items-center p-2 gap-4;
12
+ }
13
+
14
+ .rsui-button-card__icon {
15
+ @apply size-12 flex shrink-0 items-center justify-center rounded-lg transition duration-200;
16
+ @apply border border-text-secondary text-text-secondary;
17
+ }
18
+
19
+ .rsui-button-card__icon svg {
20
+ @apply size-5;
21
+ }
22
+
23
+ .rsui-button-card__icon svg path {
24
+ @apply stroke-current;
25
+ }
26
+
27
+ .rsui-button-card__content-text {
28
+ @apply flex flex-col;
29
+ }
30
+
31
+ .rsui-button-card__title {
32
+ @apply text-text-primary font-semibold line-clamp-1;
33
+ @apply group-hover/button-card:text-text-primary;
34
+ }
35
+
36
+ .rsui-button-card__title--disabled {
37
+ @apply text-text-disabled;
38
+ @apply group-hover/button-card:text-text-disabled;
39
+ }
40
+
41
+ .rsui-button-card__supporting-text {
42
+ @apply text-sm text-text-secondary line-clamp-1;
43
+ @apply group-hover/button-card:text-text-primary;
44
+ }
45
+
46
+ .rsui-button-card__supporting-text--disabled {
47
+ @apply text-text-disabled;
48
+ @apply group-hover/button-card:text-text-disabled;
49
+ }
50
+
@@ -0,0 +1,3 @@
1
+ .rsui-button-group {
2
+ @apply whitespace-nowrap;
3
+ }
@@ -0,0 +1,43 @@
1
+ .rsui-button-group-item {
2
+ /* default control */
3
+ @apply inline-flex justify-center items-center select-none outline-none p-2 font-semibold text-sm transition;
4
+
5
+ /* default shape */
6
+ @apply first:rounded-l-md last:rounded-r-md first:border-l border-r border-y ring-0;
7
+
8
+ /* default colors */
9
+ @apply text-button-secondary bg-background-primary border-button-secondary;
10
+
11
+ /* default hover state */
12
+ @apply hover:text-button-secondary-hover hover:bg-background-primary hover:border-button-secondary-hover;
13
+
14
+ /* default focus state */
15
+ @apply focus-visible:ring-button-secondary focus-visible:border-button-secondary;
16
+
17
+ /* default active state */
18
+ @apply active:bg-background-primary active:border-button-secondary-active;
19
+
20
+ /* default disabled state */
21
+ @apply disabled:bg-button-disabled disabled:border-button-disabled disabled:text-text-primary;
22
+ @apply disabled:active:bg-button-disabled disabled:active:border-button-disabled;
23
+ }
24
+
25
+ .rsui-button-group-item--selected {
26
+ @apply bg-background-primary active:bg-background-primary cursor-default;
27
+ }
28
+
29
+ .rsui-button-group-item__label {
30
+ @apply gap-x-2 px-1 inline-flex items-center;
31
+ }
32
+
33
+ .rsui-button-group-item svg {
34
+ @apply size-5;
35
+ }
36
+
37
+ .rsui-button-group--sm .rsui-button-group-item {
38
+ @apply text-xs;
39
+ }
40
+
41
+ .rsui-button-group--sm .rsui-button-group-item svg {
42
+ @apply size-4;
43
+ }
@@ -0,0 +1,62 @@
1
+ .rsui-card {
2
+ @apply relative flex flex-col;
3
+ @apply transition duration-200;
4
+ @apply rounded-xl bg-background-primary border border-border-primary;
5
+ }
6
+
7
+ .rsui-card--hoverable {
8
+ @apply hover:shadow-md;
9
+ }
10
+
11
+ .rsui-card--clickable {
12
+ @apply cursor-pointer;
13
+ }
14
+
15
+ .rsui-card--clickable .rsui-card__image {
16
+ @apply pointer-events-none;
17
+ }
18
+
19
+ .rsui-card--clickable .rsui-card__content {
20
+ @apply pointer-events-none;
21
+ }
22
+
23
+ .rsui-card__action-layer {
24
+ @apply absolute inset-0 size-full bg-transparent rounded-xl transition;
25
+ }
26
+
27
+ .rsui-card__image {
28
+ @apply rounded-t-xl overflow-hidden;
29
+ }
30
+
31
+ .rsui-card__content {
32
+ @apply flex-1 flex flex-col relative gap-y-3;
33
+ }
34
+
35
+ .rsui-card__content--padded {
36
+ @apply py-5 px-4 sm:px-6 min-h-16;
37
+ }
38
+
39
+ .rsui-card__meta {
40
+ @apply max-w-full overflow-x-auto grid grid-cols-1 gap-x-6 gap-y-2;
41
+ }
42
+
43
+ .rsui-card--2xs .rsui-card__meta {
44
+ @apply grid-cols-2;
45
+ }
46
+
47
+ .rsui-card--xs .rsui-card__meta {
48
+ @apply grid-cols-2;
49
+ }
50
+
51
+ .rsui-card--sm .rsui-card__meta {
52
+ @apply grid-cols-2;
53
+ }
54
+
55
+ .rsui-card--md .rsui-card__meta {
56
+ @apply grid-cols-3;
57
+ }
58
+
59
+ .rsui-card--lg .rsui-card__meta {
60
+ @apply flex space-x-8;
61
+ }
62
+
@@ -0,0 +1,46 @@
1
+ .rsui-card-group__cards {
2
+ @apply grid gap-4 grid-cols-1;
3
+ }
4
+
5
+ .rsui-card-group--sm .rsui-card-group__cards {
6
+ @apply gap-4 grid-cols-2;
7
+ }
8
+
9
+ .rsui-card-group--md .rsui-card-group__cards,
10
+ .rsui-card-group--lg .rsui-card-group__cards,
11
+ .rsui-card-group--xl .rsui-card-group__cards {
12
+ @apply gap-4 grid-cols-3;
13
+ }
14
+
15
+ .rsui-card-group--2xl .rsui-card-group__cards,
16
+ .rsui-card-group--3xl .rsui-card-group__cards {
17
+ @apply gap-4 grid-cols-5;
18
+ }
19
+
20
+ .rsui-card-group--compact .rsui-card-group__cards {
21
+ @apply gap-4 grid-cols-1;
22
+ }
23
+
24
+ .rsui-card-group--compact.rsui-card-group--xs .rsui-card-group__cards {
25
+ @apply gap-4 grid-cols-2;
26
+ }
27
+
28
+ .rsui-card-group--compact.rsui-card-group--sm .rsui-card-group__cards {
29
+ @apply gap-4 grid-cols-3;
30
+ }
31
+
32
+ .rsui-card-group--compact.rsui-card-group--md .rsui-card-group__cards,
33
+ .rsui-card-group--compact.rsui-card-group--lg .rsui-card-group__cards,
34
+ .rsui-card-group--compact.rsui-card-group--xl .rsui-card-group__cards {
35
+ @apply gap-4 grid-cols-4;
36
+ }
37
+
38
+ .rsui-card-group--compact.rsui-card-group--2xl .rsui-card-group__cards,
39
+ .rsui-card-group--compact.rsui-card-group--3xl .rsui-card-group__cards {
40
+ @apply gap-4 grid-cols-6;
41
+ }
42
+
43
+ .rsui-card-group__pagination {
44
+ @apply w-full flex items-center justify-center mb-4;
45
+ }
46
+
@@ -0,0 +1,64 @@
1
+ .rsui-card-header {
2
+ @apply flex flex-col gap-x-3 gap-y-5 transition-all;
3
+ @apply md:flex-row md:justify-between md:items-center;
4
+ @apply py-4 px-4 sm:px-6;
5
+ @apply border-b border-transparent;
6
+ }
7
+
8
+ .rsui-card-header--divider {
9
+ @apply border-border-primary;
10
+ }
11
+
12
+ .rsui-card-header__header {
13
+ @apply flex-1 flex justify-between items-start gap-x-3;
14
+ }
15
+
16
+ .rsui-card-header__header--single-line {
17
+ @apply md:items-center;
18
+ }
19
+
20
+ .rsui-card-header__avatar {
21
+ @apply size-14 rounded-full overflow-hidden flex items-center justify-center bg-background-secondary;
22
+ @apply mt-2.5 md:mt-0;
23
+ }
24
+
25
+ .rsui-card-header__text {
26
+ @apply flex-1 flex flex-col gap-y-0.5 pt-2 md:pt-0;
27
+ }
28
+
29
+ .rsui-card-header__title-container {
30
+ @apply flex flex-wrap items-center gap-y-1 gap-x-2;
31
+ }
32
+
33
+ .rsui-card-header__title {
34
+ @apply text-lg leading-7 font-semibold text-text-primary;
35
+ }
36
+
37
+ .rsui-card-header__title--single-line {
38
+ @apply line-clamp-2 md:line-clamp-1;
39
+ }
40
+
41
+ .rsui-card-header__subtitle {
42
+ @apply text-sm leading-5 text-text-secondary;
43
+ }
44
+
45
+ .rsui-card-header__subtitle--single-line {
46
+ @apply line-clamp-3 md:line-clamp-1;
47
+ }
48
+
49
+ .rsui-card-header__toolbar {
50
+ @apply flex gap-3 md:items-center justify-end;
51
+ }
52
+
53
+ .rsui-card-header__actions-desktop {
54
+ @apply flex gap-3 items-center;
55
+ }
56
+
57
+ .rsui-card-header__actions-mobile {
58
+ @apply flex flex-wrap gap-3 items-center;
59
+ }
60
+
61
+ .rsui-card-header__more-actions-icon {
62
+ @apply size-5 text-text-secondary;
63
+ }
64
+
@@ -0,0 +1,16 @@
1
+ .rsui-disclosure__trigger-icon {
2
+ @apply transition-all;
3
+ }
4
+
5
+ .rsui-disclosure__trigger-icon--open {
6
+ @apply -rotate-180;
7
+ }
8
+
9
+ .rsui-disclosure__content {
10
+ @apply transition-all min-h-0 h-0 overflow-hidden opacity-0;
11
+ }
12
+
13
+ .rsui-disclosure__content--open {
14
+ @apply overflow-visible opacity-100 h-auto;
15
+ }
16
+
@@ -0,0 +1,42 @@
1
+ .enter-active-class {
2
+ @apply transition ease-out duration-200;
3
+ }
4
+
5
+ .enter-from-class {
6
+ @apply transform opacity-0 scale-95;
7
+ }
8
+
9
+ .enter-to-class {
10
+ @apply transform opacity-100 scale-100;
11
+ }
12
+
13
+ .leave-active-class {
14
+ @apply transition ease-in duration-75;
15
+ }
16
+
17
+ .leave-from-class {
18
+ @apply transform opacity-100 scale-100;
19
+ }
20
+
21
+ .leave-to-class {
22
+ @apply transform opacity-0 scale-95;
23
+ }
24
+
25
+ .rsui-dropdown-menu {
26
+ @apply w-fit relative;
27
+ }
28
+
29
+ .rsui-dropdown-menu__overlay {
30
+ @apply fixed inset-0 z-40;
31
+ }
32
+
33
+ .rsui-dropdown-menu__container {
34
+ @apply hidden absolute z-50 mt-2 p-2 w-76 origin-top;
35
+ @apply rounded-md shadow-full-light bg-background-primary;
36
+ @apply flex flex-col space-y-2;
37
+ }
38
+
39
+ .rsui-dropdown-menu__container--open { @apply block; }
40
+ .rsui-dropdown-menu__container--left { @apply origin-top-left left-0; }
41
+ .rsui-dropdown-menu__container--right { @apply origin-top-right right-0; }
42
+
@@ -0,0 +1,10 @@
1
+ .rsui-dropdown-option {
2
+ @apply cursor-pointer p-4 bg-background-primary rounded-md text-base text-text-primary transition;
3
+ @apply w-full inline-flex items-center whitespace-nowrap will-change-transform gap-1.5;
4
+ @apply hover:bg-background-secondary;
5
+ }
6
+
7
+ .rsui-dropdown-option svg {
8
+ @apply size-6;
9
+ }
10
+
@@ -0,0 +1,28 @@
1
+ .rsui-empty {
2
+ @apply w-full flex flex-col items-center justify-center gap-5;
3
+ @apply px-3 py-4 rounded-md text-text-primary;
4
+ }
5
+
6
+ .rsui-empty--wide .rsui-empty__image svg {
7
+ @apply size-14;
8
+ }
9
+
10
+ .rsui-empty__image {
11
+ @apply w-full flex items-center justify-center;
12
+ }
13
+
14
+ .rsui-empty__image svg {
15
+ @apply size-11;
16
+ }
17
+
18
+ .rsui-empty__title {
19
+ @apply text-lg font-semibold text-center;
20
+ }
21
+
22
+ .rsui-empty__description {
23
+ @apply text-sm text-center *:mb-2;
24
+ }
25
+
26
+ .rsui-empty__action {
27
+ @apply w-full flex flex-col items-center justify-center gap-4;
28
+ }
@@ -0,0 +1,39 @@
1
+ .rsui-feed-item {
2
+ @apply relative flex flex-nowrap gap-3 border border-transparent rounded-lg;
3
+ }
4
+
5
+ .rsui-feed-item--clickable {
6
+ @apply cursor-pointer;
7
+ }
8
+
9
+ .rsui-feed-item--padded {
10
+ @apply p-2;
11
+ }
12
+
13
+ .rsui-feed-item__avatar {
14
+ @apply relative shrink-0 size-12 rounded-full flex items-center justify-center bg-background-disabled border border-border-secondary;
15
+ }
16
+
17
+ .rsui-feed-item__avatar > svg {
18
+ @apply size-7 text-text-secondary;
19
+ }
20
+
21
+ .rsui-feed-item__avatar-indicator {
22
+ @apply absolute -bottom-0.5 -right-0.5 flex items-center justify-center size-4;
23
+ }
24
+
25
+ .rsui-feed-item__avatar-indicator-dot {
26
+ @apply size-4 rounded-full bg-border-primary border-2 border-background-primary;
27
+ }
28
+
29
+ .rsui-feed-item__avatar-indicator-dot--online { @apply bg-text-success; }
30
+ .rsui-feed-item__avatar-indicator-dot--busy { @apply bg-text-error; }
31
+
32
+ .rsui-feed-item__body { @apply flex-1 flex flex-col gap-3; }
33
+ .rsui-feed-item__header { @apply flex flex-col; }
34
+ .rsui-feed-item__heading { @apply flex flex-wrap items-center gap-x-2; }
35
+ .rsui-feed-item__heading-text { @apply shrink-0 text-sm font-medium text-text-primary; }
36
+ .rsui-feed-item__heading-subtext { @apply text-xs text-text-secondary; }
37
+ .rsui-feed-item__supporting-text { @apply text-sm font-medium text-text-secondary; }
38
+ .rsui-feed-item__dot { @apply relative shrink-0; }
39
+
@@ -0,0 +1,33 @@
1
+ .rsui-form-field-checkbox__checkbox {
2
+ @apply flex;
3
+ }
4
+
5
+ .rsui-form-field-checkbox__label {
6
+ @apply ml-2 font-normal;
7
+ }
8
+
9
+ .rsui-form-field-checkbox__label--required {
10
+ @apply after:content-['*'] after:text-text-error;
11
+ }
12
+
13
+ .rsui-form-field-checkbox__check {
14
+ @apply size-6 shrink-0 relative bg-background-primary rounded-md cursor-pointer;
15
+ @apply has-[:disabled]:text-text-disabled has-[:disabled]:cursor-default;
16
+ }
17
+
18
+ .rsui-form-field-checkbox__check input[type="checkbox"] {
19
+ @apply appearance-none absolute inset-0 z-0 rounded-md transition focus:outline-none cursor-pointer;
20
+ @apply w-full h-full text-text-primary border border-border-secondary text-transparent bg-none;
21
+ @apply focus:ring focus:ring-border-primary focus:border-border-primary;
22
+ @apply invalid:border-border-error invalid:ring-0;
23
+ @apply disabled:text-text-disabled disabled:bg-background-disabled disabled:cursor-default;
24
+ }
25
+
26
+ .rsui-form-field-checkbox__check svg {
27
+ @apply size-full relative z-1;
28
+ }
29
+
30
+ .rsui-form-field-checkbox .rsui-form-field-slot__label::after {
31
+ @apply hidden;
32
+ }
33
+
@@ -0,0 +1,98 @@
1
+ .enter-active-class {
2
+ @apply transition ease-out duration-200;
3
+ }
4
+ .enter-from-class {
5
+ @apply transform opacity-0 scale-95;
6
+ }
7
+ .enter-to-class {
8
+ @apply transform opacity-100 scale-100;
9
+ }
10
+ .leave-active-class {
11
+ @apply transition ease-in duration-75;
12
+ }
13
+ .leave-from-class {
14
+ @apply transform opacity-100 scale-100;
15
+ }
16
+ .leave-to-class {
17
+ @apply transform opacity-0 scale-95;
18
+ }
19
+
20
+ .rsui-form-field-combobox {
21
+ @apply relative;
22
+ }
23
+
24
+ .rsui-form-field-combobox__group {
25
+ @apply relative flex flex-nowrap overflow-hidden;
26
+ @apply text-base transition;
27
+ @apply w-full border rounded-lg ring-0;
28
+ @apply bg-background-primary placeholder-text-secondary border-border-primary;
29
+ @apply has-[:focus]:border-border-primary;
30
+ @apply has-[:user-invalid]:border-border-error has-[:user-invalid]:ring-0;
31
+ @apply has-[:disabled]:text-text-disabled has-[:disabled]:bg-background-disabled has-[:disabled]:border-border-disabled has-[:disabled]:ring-0;
32
+ }
33
+
34
+ .rsui-form-field-combobox__prefix,
35
+ .rsui-form-field-combobox__suffix {
36
+ @apply flex items-center justify-center px-4 select-none bg-transparent;
37
+ }
38
+
39
+ .rsui-form-field-combobox__placeholder {
40
+ @apply absolute inset-0 flex items-center px-4 pr-12 pointer-events-none;
41
+ @apply text-text-secondary select-none;
42
+ }
43
+
44
+ .rsui-form-field-combobox__icon {
45
+ @apply absolute top-0 right-3 bottom-0 flex items-center justify-center;
46
+ @apply text-text-primary h-full w-8 cursor-pointer;
47
+ @apply hover:text-text-secondary transition-colors;
48
+ }
49
+
50
+ .rsui-form-field-combobox__icon--open svg {
51
+ @apply -rotate-180;
52
+ }
53
+ .rsui-form-field-combobox__icon svg {
54
+ @apply size-5 transform transition-transform;
55
+ }
56
+
57
+ .rsui-form-field-combobox__options {
58
+ @apply hidden absolute top-0 w-full z-50;
59
+ @apply bg-background-primary p-2 mt-2 rounded-lg shadow-full-light;
60
+ @apply max-h-[80vh] sm:max-h-[60vh] overflow-y-auto;
61
+ }
62
+ .rsui-form-field-combobox__options--open {
63
+ @apply block;
64
+ }
65
+
66
+ .rsui-form-field-combobox__option {
67
+ @apply flex flex-nowrap items-center justify-between cursor-pointer px-4 py-3 rounded-lg;
68
+ @apply bg-background-primary hover:bg-background-secondary text-text-primary transition;
69
+ }
70
+ .rsui-form-field-combobox__option--disabled {
71
+ @apply opacity-50 hover:bg-background-primary cursor-auto;
72
+ }
73
+ .rsui-form-field-combobox__option--error {
74
+ @apply text-text-error;
75
+ }
76
+ .rsui-form-field-combobox__option--hint {
77
+ @apply text-text-secondary italic;
78
+ }
79
+ .rsui-form-field-combobox__option-label {
80
+ @apply text-base truncate;
81
+ }
82
+ .rsui-form-field-combobox__option-icon {
83
+ @apply size-5;
84
+ }
85
+ .rsui-form-field-combobox__option svg {
86
+ @apply size-5;
87
+ }
88
+
89
+ .rsui-form-field-combobox__spinner {
90
+ @apply size-4 border-2 border-border-primary border-t-text-secondary rounded-full animate-spin;
91
+ }
92
+
93
+ .rsui-form-field-combobox input[type='text'] {
94
+ @apply flex-1;
95
+ @apply text-base text-text-primary transition py-3 px-4 pr-12 outline-none focus:outline-none;
96
+ @apply bg-background-primary placeholder-text-secondary;
97
+ @apply disabled:text-text-disabled disabled:bg-background-disabled disabled:border-border-disabled disabled:ring-0;
98
+ }
@@ -0,0 +1,4 @@
1
+ .rsui-form-field-password__icon {
2
+ @apply size-5 text-text-secondary;
3
+ }
4
+
@@ -0,0 +1,44 @@
1
+ .rsui-form-field-radio-group {
2
+ @apply w-full;
3
+ }
4
+
5
+ .rsui-form-field-radio-group__items {
6
+ @apply flex flex-wrap items-center gap-x-8 gap-y-2;
7
+ }
8
+
9
+ .rsui-form-field-radio-group__item {
10
+ @apply relative flex items-center gap-4 cursor-pointer;
11
+ }
12
+
13
+ .rsui-form-field-radio-group__item--disabled {
14
+ @apply opacity-40 cursor-not-allowed;
15
+ }
16
+
17
+ .rsui-form-field-radio-group__item-native-control {
18
+ @apply absolute opacity-0 pointer-events-none w-0 h-0;
19
+ }
20
+
21
+ .rsui-form-field-radio-group__control {
22
+ @apply shrink-0 size-6 border border-border-primary rounded-full bg-background-primary;
23
+ }
24
+
25
+ .rsui-form-field-radio-group__control--active {
26
+ @apply bg-primary-background border-primary-background flex items-center justify-center;
27
+ }
28
+
29
+ .rsui-form-field-radio-group__control--active div {
30
+ @apply size-3 bg-background-primary rounded-full;
31
+ }
32
+
33
+ .rsui-form-field-radio-group__item-label {
34
+ @apply font-normal cursor-pointer mb-0 text-text-primary;
35
+ }
36
+
37
+ .rsui-form-field-radio-group__item-label--disabled {
38
+ @apply cursor-not-allowed text-text-disabled;
39
+ }
40
+
41
+ /* Focus-visible on the native input should surface on the visual control */
42
+ .rsui-form-field-radio-group__item:focus-within .rsui-form-field-radio-group__control {
43
+ @apply ring-2 ring-border-primary ring-offset-2;
44
+ }