@wippy-fe/theme 0.0.7

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 (91) hide show
  1. package/README.md +64 -0
  2. package/THEMING.md +316 -0
  3. package/package.json +35 -0
  4. package/primevue/accordion.css +58 -0
  5. package/primevue/autocomplete.css +144 -0
  6. package/primevue/avatar.css +50 -0
  7. package/primevue/badge.css +53 -0
  8. package/primevue/blockui.css +15 -0
  9. package/primevue/breadcrumb.css +41 -0
  10. package/primevue/button.css +341 -0
  11. package/primevue/buttongroup.css +19 -0
  12. package/primevue/card.css +22 -0
  13. package/primevue/carousel.css +64 -0
  14. package/primevue/cascadeselect.css +169 -0
  15. package/primevue/checkbox.css +84 -0
  16. package/primevue/chip.css +27 -0
  17. package/primevue/colorpicker.css +47 -0
  18. package/primevue/common.css +81 -0
  19. package/primevue/confirmdialog.css +10 -0
  20. package/primevue/confirmpopup.css +66 -0
  21. package/primevue/contextmenu.css +101 -0
  22. package/primevue/datatable.css +408 -0
  23. package/primevue/dataview.css +29 -0
  24. package/primevue/datepicker.css +211 -0
  25. package/primevue/dialog.css +125 -0
  26. package/primevue/divider.css +52 -0
  27. package/primevue/dock.css +84 -0
  28. package/primevue/drawer.css +94 -0
  29. package/primevue/fieldset.css +45 -0
  30. package/primevue/fileupload.css +57 -0
  31. package/primevue/floatlabel.css +73 -0
  32. package/primevue/galleria.css +244 -0
  33. package/primevue/iconfield.css +23 -0
  34. package/primevue/iftalabel.css +32 -0
  35. package/primevue/image.css +56 -0
  36. package/primevue/imagecompare.css +38 -0
  37. package/primevue/inplace.css +13 -0
  38. package/primevue/inputgroup.css +67 -0
  39. package/primevue/inputnumber.css +84 -0
  40. package/primevue/inputotp.css +9 -0
  41. package/primevue/inputtext.css +38 -0
  42. package/primevue/knob.css +37 -0
  43. package/primevue/listbox.css +79 -0
  44. package/primevue/megamenu.css +207 -0
  45. package/primevue/menu.css +51 -0
  46. package/primevue/menubar.css +169 -0
  47. package/primevue/message.css +228 -0
  48. package/primevue/metergroup.css +67 -0
  49. package/primevue/multiselect.css +143 -0
  50. package/primevue/orderlist.css +10 -0
  51. package/primevue/organizationchart.css +71 -0
  52. package/primevue/overlaybadge.css +13 -0
  53. package/primevue/paginator.css +58 -0
  54. package/primevue/panel.css +27 -0
  55. package/primevue/panelmenu.css +94 -0
  56. package/primevue/password.css +61 -0
  57. package/primevue/picklist.css +18 -0
  58. package/primevue/popover.css +46 -0
  59. package/primevue/progressbar.css +67 -0
  60. package/primevue/progressspinner.css +58 -0
  61. package/primevue/radiobutton.css +93 -0
  62. package/primevue/rating.css +23 -0
  63. package/primevue/ripple.css +7 -0
  64. package/primevue/scrollpanel.css +41 -0
  65. package/primevue/scrolltop.css +25 -0
  66. package/primevue/select.css +144 -0
  67. package/primevue/selectbutton.css +25 -0
  68. package/primevue/skeleton.css +11 -0
  69. package/primevue/slider.css +42 -0
  70. package/primevue/speeddial.css +48 -0
  71. package/primevue/splitbutton.css +34 -0
  72. package/primevue/splitter.css +56 -0
  73. package/primevue/stepper.css +102 -0
  74. package/primevue/tabs.css +84 -0
  75. package/primevue/tag.css +38 -0
  76. package/primevue/tailwind.css +104 -0
  77. package/primevue/terminal.css +22 -0
  78. package/primevue/textarea.css +42 -0
  79. package/primevue/tieredmenu.css +105 -0
  80. package/primevue/timeline.css +113 -0
  81. package/primevue/toast.css +172 -0
  82. package/primevue/togglebutton.css +63 -0
  83. package/primevue/toggleswitch.css +66 -0
  84. package/primevue/toolbar.css +12 -0
  85. package/primevue/tooltip.css +38 -0
  86. package/primevue/tree.css +103 -0
  87. package/primevue/treeselect.css +116 -0
  88. package/primevue/treetable.css +300 -0
  89. package/primevue-plugin.ts +8 -0
  90. package/tailwind.config.ts +28 -0
  91. package/theme-config.css +124 -0
@@ -0,0 +1,169 @@
1
+ .p-cascadeselect {
2
+ @apply inline-flex cursor-pointer relative select-none rounded-md
3
+ bg-surface-0 dark:bg-surface-950
4
+ border border-surface-300 dark:border-surface-700
5
+ shadow-[0_1px_2px_0_rgba(18,18,23,0.05)]
6
+ transition-colors duration-200
7
+ }
8
+
9
+ .p-cascadeselect:not(.p-disabled):hover {
10
+ @apply border-surface-400 dark:border-surface-600
11
+ }
12
+
13
+ .p-cascadeselect:not(.p-disabled).p-focus {
14
+ @apply border-primary
15
+ }
16
+
17
+ .p-cascadeselect.p-variant-filled {
18
+ @apply bg-surface-50 dark:bg-surface-800
19
+ }
20
+
21
+ .p-cascadeselect.p-invalid {
22
+ @apply border-red-400 dark:border-red-300
23
+ }
24
+
25
+ .p-cascadeselect.p-disabled {
26
+ @apply bg-surface-200 text-surface-500 dark:bg-surface-700 dark:text-surface-400 opacity-100 cursor-default
27
+ }
28
+
29
+ .p-cascadeselect-dropdown {
30
+ @apply flex items-center justify-center shrink-0 bg-transparent
31
+ text-surface-500 dark:text-surface-400 w-10 rounded-e-md
32
+ }
33
+
34
+ .p-cascadeselect-clear-icon {
35
+ @apply absolute top-1/2 -mt-2 text-surface-500 dark:text-surface-400 end-10
36
+ }
37
+
38
+ .p-cascadeselect-label {
39
+ @apply block whitespace-nowrap overflow-hidden flex-auto w-[1%]
40
+ py-2 px-3 overflow-ellipsis
41
+ text-surface-700 dark:text-surface-0 bg-transparent border-none outline-none
42
+ }
43
+
44
+ .p-cascadeselect-label.p-placeholder {
45
+ @apply text-surface-500 dark:text-surface-400
46
+ }
47
+
48
+ .p-cascadeselect.p-disabled .p-cascadeselect-label {
49
+ @apply text-surface-500 dark:text-surface-400
50
+ }
51
+
52
+ .p-cascadeselect-label-empty {
53
+ @apply overflow-hidden opacity-0
54
+ }
55
+
56
+ .p-cascadeselect-fluid {
57
+ @apply flex
58
+ }
59
+
60
+ .p-cascadeselect-fluid .p-cascadeselect-label {
61
+ @apply w-[1%]
62
+ }
63
+
64
+ .p-cascadeselect-overlay {
65
+ @apply absolute top-0 left-0 rounded-md
66
+ bg-surface-0 dark:bg-surface-900
67
+ border border-surface-200 dark:border-surface-700
68
+ text-surface-700 dark:text-surface-0
69
+ shadow-[0_4px_6px_-1px_rgba(0,0,0,0.1),0_2px_4px_-2px_rgba(0,0,0,0.1)]
70
+ }
71
+
72
+ .p-cascadeselect .p-cascadeselect-overlay {
73
+ @apply min-w-full
74
+ }
75
+
76
+ .p-cascadeselect-option-list {
77
+ @apply hidden min-w-full absolute z-10
78
+ }
79
+
80
+ .p-cascadeselect-list {
81
+ @apply min-w-full m-0 list-none p-1 flex flex-col gap-[2px]
82
+ }
83
+
84
+ .p-cascadeselect-option {
85
+ @apply cursor-pointer font-normal whitespace-nowrap
86
+ text-surface-700 dark:text-surface-0 bg-transparent border-none
87
+ transition-colors duration-200 rounded-sm
88
+ }
89
+
90
+ .p-cascadeselect-option-active {
91
+ @apply overflow-visible
92
+ }
93
+
94
+ .p-cascadeselect-option-active > .p-cascadeselect-option-content {
95
+ @apply bg-surface-100 dark:bg-surface-800 text-surface-800 dark:text-surface-0
96
+ }
97
+
98
+ .p-cascadeselect-option:not(.p-cascadeselect-option-selected):not(.p-disabled).p-focus > .p-cascadeselect-option-content {
99
+ @apply bg-surface-100 dark:bg-surface-800 text-surface-800 dark:text-surface-0
100
+ }
101
+
102
+ .p-cascadeselect-option:not(.p-cascadeselect-option-selected):not(.p-disabled).p-focus .p-cascadeselect-group-icon {
103
+ @apply text-surface-500 dark:text-surface-400
104
+ }
105
+
106
+ .p-cascadeselect-option-selected .p-cascadeselect-option-content {
107
+ @apply bg-highlight
108
+ }
109
+
110
+ .p-cascadeselect-option-selected.p-focus {
111
+ @apply bg-highlight-emphasis
112
+ }
113
+
114
+ .p-cascadeselect-option-active > .p-cascadeselect-option-list {
115
+ @apply block start-full top-0
116
+ }
117
+
118
+ .p-cascadeselect-option-content {
119
+ @apply flex items-center justify-between overflow-hidden relative px-3 py-2
120
+ }
121
+
122
+ .p-cascadeselect-group-icon {
123
+ @apply text-sm w-[0.875rem] h-[0.875rem] text-surface-400 dark:text-surface-500
124
+ }
125
+
126
+ .p-cascadeselect-group-icon:dir(rtl) {
127
+ @apply rotate-180
128
+ }
129
+
130
+
131
+ .p-cascadeselect-mobile-active .p-cascadeselect-option-content {
132
+ @apply rounded-sm
133
+ }
134
+
135
+ .p-cascadeselect-mobile-active-active .p-cascadeselect-list {
136
+ @apply flex flex-col top-full start-0 z-10
137
+ }
138
+
139
+ .p-cascadeselect-mobile-active .p-cascadeselect-list > .p-cascadeselect-option > .p-cascadeselect-option-content .p-cascadeselect-group-icon {
140
+ @apply ms-auto transition-transform duration-200
141
+ }
142
+
143
+ .p-cascadeselect-mobile-active .p-cascadeselect-list .p-cascadeselect-group-icon {
144
+ @apply transition-transform duration-200 rotate-90
145
+ }
146
+
147
+ .p-cascadeselect-mobile-active .p-cascadeselect-option-active > .p-cascadeselect-option-content .p-cascadeselect-group-icon {
148
+ @apply -rotate-90
149
+ }
150
+
151
+ .p-cascadeselect-mobile-active .p-cascadeselect-option-list {
152
+ @apply static shadow-none border-none ps-4
153
+ }
154
+
155
+ .p-cascadeselect-sm .p-cascadeselect-label {
156
+ @apply text-sm px-[0.625rem] py-[0.375rem]
157
+ }
158
+
159
+ .p-cascadeselect-sm .p-cascadeselect-dropdown .p-icon {
160
+ @apply text-sm w-[0.875rem] h-[0.875rem]
161
+ }
162
+
163
+ .p-cascadeselect-lg .p-cascadeselect-label {
164
+ @apply text-lg px-[0.875rem] py-[0.625rem]
165
+ }
166
+
167
+ .p-cascadeselect-lg .p-cascadeselect-dropdown .p-icon {
168
+ @apply text-lg w-[1.125rem] h-[1.125rem]
169
+ }
@@ -0,0 +1,84 @@
1
+ .p-checkbox {
2
+ @apply relative inline-flex select-none w-5 h-5 align-bottom
3
+ }
4
+
5
+ .p-checkbox-input {
6
+ @apply cursor-pointer disabled:cursor-default appearance-none absolute start-0 top-0 w-full h-full m-0 p-0 opacity-0 z-10
7
+ border border-transparent rounded-sm
8
+ }
9
+
10
+ .p-checkbox-box {
11
+ @apply flex justify-center items-center rounded-sm w-5 h-5
12
+ border border-surface-300 dark:border-surface-700
13
+ bg-surface-0 dark:bg-surface-950
14
+ transition-colors duration-200
15
+ shadow-[0_1px_2px_0_rgba(18,18,23,0.05)]
16
+ }
17
+
18
+ .p-checkbox-icon {
19
+ @apply text-surface-700 dark:text-surface-0
20
+ text-sm w-[0.875rem] h-[0.875rem]
21
+ transition-colors duration-200
22
+ }
23
+
24
+ .p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {
25
+ @apply border-surface-400 dark:border-surface-600
26
+ }
27
+
28
+ .p-checkbox-checked .p-checkbox-box {
29
+ @apply border-primary bg-primary
30
+ }
31
+
32
+ .p-checkbox-checked .p-checkbox-icon {
33
+ @apply text-primary-contrast
34
+ }
35
+
36
+ .p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {
37
+ @apply bg-primary-emphasis border-primary-emphasis
38
+ }
39
+
40
+ .p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-icon {
41
+ @apply text-primary-contrast
42
+ }
43
+
44
+ .p-checkbox:not(.p-disabled):has(.p-checkbox-input:focus-visible) .p-checkbox-box {
45
+ @apply outline outline-1 outline-offset-2 outline-primary
46
+ }
47
+
48
+ .p-checkbox.p-invalid > .p-checkbox-box {
49
+ @apply border-red-400 dark:border-red-300
50
+ }
51
+
52
+ .p-checkbox.p-variant-filled .p-checkbox-box {
53
+ @apply bg-surface-50 dark:bg-surface-800
54
+ }
55
+
56
+ .p-checkbox.p-disabled {
57
+ @apply opacity-100
58
+ }
59
+
60
+ .p-checkbox.p-disabled .p-checkbox-box {
61
+ @apply bg-surface-200 dark:bg-surface-400 border-surface-300 dark:border-surface-700
62
+ }
63
+
64
+ .p-checkbox.p-disabled .p-checkbox-box .p-checkbox-icon {
65
+ @apply text-surface-700 dark:text-surface-900
66
+ }
67
+
68
+ .p-checkbox-sm,
69
+ .p-checkbox-sm .p-checkbox-box {
70
+ @apply w-4 h-4
71
+ }
72
+
73
+ .p-checkbox-sm .p-checkbox-icon {
74
+ @apply w-3 h-3
75
+ }
76
+
77
+ .p-checkbox-lg,
78
+ .p-checkbox-lg .p-checkbox-box {
79
+ @apply w-6 h-6
80
+ }
81
+
82
+ .p-checkbox-lg .p-checkbox-icon {
83
+ @apply w-4 h-4
84
+ }
@@ -0,0 +1,27 @@
1
+ .p-chip {
2
+ @apply inline-flex items-center rounded-2xl gap-2 px-3 py-2
3
+ bg-surface-100 dark:bg-surface-800
4
+ text-surface-800 dark:text-surface-0
5
+ }
6
+
7
+ .p-chip-icon {
8
+ @apply text-surface-800 dark:bg-surface-0 text-base w-4 h-4
9
+ }
10
+
11
+ .p-chip-image {
12
+ @apply rounded-full w-8 h-8 -ms-2
13
+ }
14
+
15
+ .p-chip:has(.p-chip-remove-icon) {
16
+ @apply pe-2
17
+ }
18
+
19
+ .p-chip:has(.p-chip-image) {
20
+ @apply pt-1 pb-1
21
+ }
22
+
23
+ .p-chip-remove-icon {
24
+ @apply cursor-pointer text-base w-4 h-4 rounded-full
25
+ text-surface-800 dark:text-surface-0
26
+ focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-primary
27
+ }
@@ -0,0 +1,47 @@
1
+ .p-colorpicker {
2
+ @apply inline-block relative;
3
+ }
4
+
5
+ .p-colorpicker-dragging {
6
+ @apply cursor-pointer
7
+ }
8
+
9
+ .p-colorpicker-preview {
10
+ @apply w-6 h-6 p-0 border-none rounded-md transition-colors duration-200 cursor-pointer disabled:cursor-auto
11
+ focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-primary
12
+ }
13
+
14
+ .p-colorpicker-panel {
15
+ @apply bg-surface-800 dark:bg-surface-900
16
+ border border-surface-900 dark:border-surface-700
17
+ rounded-md shadow-[0_4px_6px_-1px_rgba(0,0,0,0.1),0_2px_4px_-2px_rgba(0,0,0,0.1)]
18
+ w-[193px] h-[166px] absolute top-0 start-0
19
+ }
20
+
21
+ .p-colorpicker-panel-inline {
22
+ @apply static shadow-none
23
+ }
24
+
25
+ .p-colorpicker-content {
26
+ @apply relative;
27
+ }
28
+
29
+ .p-colorpicker-color-selector {
30
+ @apply w-[150px] h-[150px] top-[8px] start-[8px] absolute
31
+ }
32
+
33
+ .p-colorpicker-color-background {
34
+ @apply w-full h-full bg-[linear-gradient(to_top,#000_0%,rgba(0,0,0,0)_100%),linear-gradient(to_right,#fff_0%,rgba(255,255,255,0)_100%)];
35
+ }
36
+
37
+ .p-colorpicker-color-handle {
38
+ @apply absolute top-0 start-[150px] rounded-full w-[10px] h-[10px] border border-surface-0 -mt-[5px] me-0 mb-0 -ms-[5px] cursor-pointer opacity-85
39
+ }
40
+
41
+ .p-colorpicker-hue {
42
+ @apply w-[17px] h-[150px] top-[8px] start-[167px] absolute opacity-85 bg-[linear-gradient(0deg,red_0,#ff0_17%,#0f0_33%,#0ff_50%,#00f_67%,#f0f_83%,red)];
43
+ }
44
+
45
+ .p-colorpicker-hue-handle {
46
+ @apply absolute top-[150px] start-0 w-[21px] -ms-[2px] -mt-[5px] h-[10px] border-2 opacity-85 border-surface-0 cursor-pointer
47
+ }
@@ -0,0 +1,81 @@
1
+ .p-connected-overlay-enter-from {
2
+ @apply opacity-0 scale-y-75
3
+ }
4
+
5
+ .p-connected-overlay-leave-to {
6
+ @apply opacity-0
7
+ }
8
+
9
+ .p-connected-overlay-enter-active {
10
+ @apply transition-[opacity,transform] duration-150 ease-[cubic-bezier(0,0,0.2,1)]
11
+ }
12
+
13
+ .p-connected-overlay-leave-active {
14
+ @apply transition-opacity duration-100 ease-linear
15
+ }
16
+
17
+ .p-toggleable-content-enter-from,
18
+ .p-toggleable-content-leave-to {
19
+ @apply max-h-0
20
+ }
21
+
22
+ .p-toggleable-content-enter-to,
23
+ .p-toggleable-content-leave-from {
24
+ @apply max-h-[1000px]
25
+ }
26
+
27
+ .p-toggleable-content-leave-active {
28
+ @apply overflow-hidden transition-[max-height] animate-duration-[450ms] ease-[cubic-bezier(0,1,0,1)];
29
+ }
30
+
31
+ .p-toggleable-content-enter-active {
32
+ @apply overflow-hidden transition-[max-height] duration-1000 ease-in-out
33
+ }
34
+
35
+ .p-disabled,
36
+ .p-disabled * {
37
+ @apply cursor-default pointer-events-none select-none
38
+ }
39
+
40
+ .p-disabled,
41
+ .p-component:disabled {
42
+ @apply opacity-60
43
+ }
44
+
45
+ .pi {
46
+ @apply text-base
47
+ }
48
+
49
+ .p-icon {
50
+ @apply w-4 h-4
51
+ }
52
+
53
+ .p-overlay-mask {
54
+ @apply bg-black/50 text-surface-200 transition-colors duration-150 fixed top-0 start-0 w-full h-full
55
+ }
56
+
57
+ .p-overlay-mask-enter {
58
+ animation: p-overlay-mask-enter-animation 150ms forwards;
59
+ }
60
+
61
+ .p-overlay-mask-leave {
62
+ animation: p-overlay-mask-leave-animation 150ms forwards;
63
+ }
64
+
65
+ @keyframes p-overlay-mask-enter-animation {
66
+ from {
67
+ background: transparent;
68
+ }
69
+ to {
70
+ background: rgba(0,0,0,0.5);
71
+ }
72
+ }
73
+
74
+ @keyframes p-overlay-mask-leave-animation {
75
+ from {
76
+ background: rgba(0,0,0,0.5);
77
+ }
78
+ to {
79
+ background: transparent;
80
+ }
81
+ }
@@ -0,0 +1,10 @@
1
+ @import './dialog';
2
+ @import './button';
3
+
4
+ .p-confirmdialog .p-dialog-content {
5
+ @apply flex items-center gap-4
6
+ }
7
+
8
+ .p-confirmdialog-icon {
9
+ @apply text-surface-700 dark:text-surface-0 text-[2rem] h-8 w-8
10
+ }
@@ -0,0 +1,66 @@
1
+ @import './button';
2
+
3
+ .p-confirmpopup {
4
+ @apply absolute mt-[10px] top-0 left-0
5
+ border border-surface-200 dark:border-surface-700 rounded-md
6
+ bg-surface-0 dark:bg-surface-900
7
+ text-surface-700 dark:text-surface-0
8
+ shadow-[0_4px_6px_-1px_rgba(0,0,0,0.1),0_2px_4px_-2px_rgba(0,0,0,0.1)]
9
+ before:bottom-full before:left-5 before:h-0 before:w-0 before:absolute before:pointer-events-none
10
+ before:border-[10px] before:-ms-[10px] before:border-transparent before:border-b-surface-200 dark:before:border-b-surface-700
11
+ after:bottom-full after:left-5 after:h-0 after:w-0 after:absolute after:pointer-events-none
12
+ after:border-[8px] after:-ms-[8px] after:border-transparent after:border-b-surface-0 dark:after:border-b-surface-900
13
+ }
14
+
15
+ .p-confirmpopup-content {
16
+ @apply flex items-center p-3 gap-4
17
+ }
18
+
19
+ .p-confirmpopup-icon {
20
+ @apply text-2xl w-6 h-6 text-surface-700 dark:text-surface-0
21
+ }
22
+
23
+ .p-confirmpopup-footer {
24
+ @apply flex justify-end gap-2 pt-0 px-3 pb-3
25
+ }
26
+
27
+ .p-confirmpopup-footer button {
28
+ @apply w-auto
29
+ }
30
+
31
+ .p-confirmpopup-footer button:last-child {
32
+ @apply m-0
33
+ }
34
+
35
+ .p-confirmpopup-flipped {
36
+ @apply -mt-[10px] mb-[10px]
37
+ }
38
+
39
+ .p-confirmpopup-enter-from {
40
+ @apply opacity-0 scale-y-75
41
+ }
42
+
43
+ .p-confirmpopup-leave-to {
44
+ @apply opacity-0
45
+ }
46
+
47
+ .p-confirmpopup-enter-active {
48
+ @apply [transition:transform_120ms_cubic-bezier(0,0,0.2,1),opacity_120ms_cubic-bezier(0,0,0.2,1)]
49
+ }
50
+
51
+ .p-confirmpopup-leave-active {
52
+ @apply transition-opacity duration-100 ease-linear
53
+ }
54
+
55
+ .p-confirmpopup-flipped:after,
56
+ .p-confirmpopup-flipped:before {
57
+ @apply bottom-auto top-full
58
+ }
59
+
60
+ .p-confirmpopup-flipped:after {
61
+ @apply border-b-transparent border-t-surface-0 dark:border-t-surface-900
62
+ }
63
+
64
+ .p-confirmpopup-flipped:before {
65
+ @apply border-b-transparent border-t-surface-200 dark:border-t-surface-700
66
+ }
@@ -0,0 +1,101 @@
1
+ .p-contextmenu {
2
+ @apply bg-surface-0 dark:bg-surface-900
3
+ text-surface-700 dark:text-surface-0
4
+ border border-surface-200 dark:border-surface-700
5
+ rounded-md min-w-52 shadow-[0_4px_6px_-1px_rgba(0,0,0,0.1),0_2px_4px_-2px_rgba(0,0,0,0.1)]
6
+ }
7
+
8
+ .p-contextmenu-root-list,
9
+ .p-contextmenu-submenu {
10
+ @apply m-0 p-1 list-none outline-none flex flex-col gap-[2px]
11
+ }
12
+
13
+ .p-contextmenu-submenu {
14
+ @apply absolute min-w-full z-10 rounded-md
15
+ bg-surface-0 dark:bg-surface-900
16
+ text-surface-700 dark:text-surface-0
17
+ border border-surface-200 dark:border-surface-700
18
+ shadow-[0_4px_6px_-1px_rgba(0,0,0,0.1),0_2px_4px_-2px_rgba(0,0,0,0.1)]
19
+ }
20
+
21
+ .p-contextmenu-item {
22
+ @apply relative
23
+ }
24
+
25
+ .p-contextmenu-item-content {
26
+ @apply transition-colors duration-200 rounded-sm text-surface-700 dark:text-surface-0
27
+ }
28
+
29
+ .p-contextmenu-item-link {
30
+ @apply cursor-pointer flex items-center no-underline overflow-hidden relative text-inherit
31
+ px-3 py-2 gap-2 select-none outline-none
32
+ }
33
+
34
+ .p-contextmenu-item-icon {
35
+ @apply text-surface-400 dark:text-surface-500
36
+ }
37
+
38
+ .p-contextmenu-submenu-icon {
39
+ @apply text-surface-400 dark:text-surface-500 ms-auto text-sm w-[0.875rem] h-[0.875rem]
40
+ }
41
+
42
+ .p-contextmenu-item.p-focus > .p-contextmenu-item-content {
43
+ @apply bg-surface-100 dark:bg-surface-800 text-surface-800 dark:text-surface-0
44
+ }
45
+
46
+ .p-contextmenu-item.p-focus > .p-contextmenu-item-content .p-contextmenu-item-icon {
47
+ @apply text-surface-500 dark:text-surface-400
48
+ }
49
+
50
+ .p-contextmenu-item.p-focus > .p-contextmenu-item-content .p-contextmenu-submenu-icon {
51
+ @apply text-surface-500 dark:text-surface-400
52
+ }
53
+
54
+ .p-contextmenu-item:not(.p-disabled) > .p-contextmenu-item-content:hover {
55
+ @apply bg-surface-100 dark:bg-surface-800 text-surface-800 dark:text-surface-0
56
+ }
57
+
58
+ .p-contextmenu-item:not(.p-disabled) > .p-contextmenu-item-content:hover .p-contextmenu-item-icon {
59
+ @apply text-surface-500 dark:text-surface-400
60
+ }
61
+
62
+ .p-contextmenu-item:not(.p-disabled) > .p-contextmenu-item-content:hover .p-contextmenu-submenu-icon {
63
+ @apply text-surface-500 dark:text-surface-400
64
+ }
65
+
66
+ .p-contextmenu-item-active > .p-contextmenu-item-content {
67
+ @apply bg-surface-100 dark:bg-surface-800 text-surface-800 dark:text-surface-0
68
+ }
69
+
70
+ .p-contextmenu-item-active > .p-contextmenu-item-content .p-contextmenu-item-icon {
71
+ @apply text-surface-500 dark:text-surface-400
72
+ }
73
+
74
+ .p-contextmenu-item-active > .p-contextmenu-item-content .p-contextmenu-submenu-icon {
75
+ @apply text-surface-500 dark:text-surface-400
76
+ }
77
+
78
+ .p-contextmenu-separator {
79
+ @apply border-t border-surface-200 dark:border-surface-700
80
+ }
81
+
82
+ .p-contextmenu-enter-from,
83
+ .p-contextmenu-leave-active {
84
+ @apply opacity-0
85
+ }
86
+
87
+ .p-contextmenu-enter-active {
88
+ @apply transition-opacity duration-[250ms]
89
+ }
90
+
91
+ .p-contextmenu-mobile .p-contextmenu-submenu {
92
+ @apply static shadow-none border-none ps-4 pe-0
93
+ }
94
+
95
+ .p-contextmenu-mobile .p-contextmenu-submenu-icon {
96
+ @apply transition-transform duration-200 rotate-90
97
+ }
98
+
99
+ .p-contextmenu-mobile .p-contextmenu-item-active > .p-contextmenu-item-content .p-contextmenu-submenu-icon {
100
+ @apply -rotate-90
101
+ }