@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,113 @@
1
+ .p-timeline {
2
+ @apply flex flex-col flex-grow
3
+ }
4
+
5
+ .p-timeline-left .p-timeline-event-opposite {
6
+ @apply text-end
7
+ }
8
+
9
+ .p-timeline-left .p-timeline-event-content {
10
+ @apply text-start
11
+ }
12
+
13
+ .p-timeline-right .p-timeline-event {
14
+ @apply flex-row-reverse
15
+ }
16
+
17
+ .p-timeline-right .p-timeline-event-opposite {
18
+ @apply text-start
19
+ }
20
+
21
+ .p-timeline-right .p-timeline-event-content {
22
+ @apply text-end
23
+ }
24
+
25
+ .p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) {
26
+ @apply flex-row-reverse
27
+ }
28
+
29
+ .p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(odd) .p-timeline-event-opposite {
30
+ @apply text-end
31
+ }
32
+
33
+ .p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(odd) .p-timeline-event-content {
34
+ @apply text-start
35
+ }
36
+
37
+ .p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) .p-timeline-event-opposite {
38
+ @apply text-start
39
+ }
40
+
41
+ .p-timeline-vertical.p-timeline-alternate .p-timeline-event:nth-child(even) .p-timeline-event-content {
42
+ @apply text-end
43
+ }
44
+
45
+ .p-timeline-vertical .p-timeline-event-opposite,
46
+ .p-timeline-vertical .p-timeline-event-content {
47
+ @apply py-0 px-4 leading-none
48
+ }
49
+
50
+ .p-timeline-vertical .p-timeline-event-connector {
51
+ @apply w-[2px]
52
+ }
53
+
54
+ .p-timeline-event {
55
+ @apply flex relative min-h-20 last:min-h-0
56
+ }
57
+
58
+ .p-timeline-event-opposite {
59
+ @apply flex-1
60
+ }
61
+
62
+ .p-timeline-event-content {
63
+ @apply flex-1
64
+ }
65
+
66
+ .p-timeline-event-separator {
67
+ @apply flex-none flex flex-col items-center
68
+ }
69
+
70
+ .p-timeline-event-marker {
71
+ @apply inline-flex items-center justify-center relative self-baseline
72
+ border-2 rounded-full border-surface-200 dark:border-surface-700 w-[1.125rem] h-[1.125rem]
73
+ bg-surface-0 dark:bg-surface-900
74
+ before:rounded-full before:w-[0.375rem] before:h-[0.375rem] before:bg-primary
75
+ after:absolute after:w-full after:h-full after:rounded-full after:shadow-[0px_0.5px_0px_0px_rgba(0,0,0,0.06),0px_1px_1px_0px_rgba(0,0,0,0.12)]
76
+ }
77
+
78
+ .p-timeline-event-connector {
79
+ @apply flex-grow bg-surface-200 dark:bg-surface-700
80
+ }
81
+
82
+ .p-timeline-horizontal {
83
+ @apply flex-row
84
+ }
85
+
86
+ .p-timeline-horizontal .p-timeline-event {
87
+ @apply flex-col flex-1
88
+ }
89
+
90
+ .p-timeline-horizontal .p-timeline-event:last-child {
91
+ @apply flex-none
92
+ }
93
+
94
+ .p-timeline-horizontal .p-timeline-event-separator {
95
+ @apply flex-row
96
+ }
97
+
98
+ .p-timeline-horizontal .p-timeline-event-connector {
99
+ @apply w-full h-[2px]
100
+ }
101
+
102
+ .p-timeline-horizontal .p-timeline-event-opposite,
103
+ .p-timeline-horizontal .p-timeline-event-content {
104
+ @apply py-4 px-0
105
+ }
106
+
107
+ .p-timeline-horizontal.p-timeline-alternate .p-timeline-event:nth-child(even) {
108
+ @apply flex-col-reverse
109
+ }
110
+
111
+ .p-timeline-bottom .p-timeline-event {
112
+ @apply flex-col-reverse
113
+ }
@@ -0,0 +1,172 @@
1
+ .p-toast {
2
+ @apply w-96 rounded-md whitespace-pre-line break-words
3
+ }
4
+
5
+ .p-toast-message {
6
+ @apply mb-4
7
+ }
8
+
9
+ .p-toast-message-icon {
10
+ @apply flex-shrink-0 text-lg w-[1.125rem] h-[1.125rem]
11
+ }
12
+
13
+ .p-toast-message-content {
14
+ @apply flex items-start p-3 gap-2
15
+ }
16
+
17
+ .p-toast-message-text {
18
+ @apply flex-auto flex flex-col gap-2
19
+ }
20
+
21
+ .p-toast-summary {
22
+ @apply font-medium text-base
23
+ }
24
+
25
+ .p-toast-detail {
26
+ @apply font-medium text-sm
27
+ }
28
+
29
+ .p-toast-close-button {
30
+ @apply flex items-center justify-center overflow-hidden relative cursor-pointer bg-transparent select-none
31
+ transition-colors duration-200 text-inherit w-7 h-7 rounded-full -mt-[25%] -end-1/4 p-0 border-none
32
+ focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2
33
+ }
34
+
35
+ .p-toast-close-button:dir(rtl) {
36
+ @apply ms-auto end-auto
37
+ }
38
+
39
+ .p-toast-message-info,
40
+ .p-toast-message-success,
41
+ .p-toast-message-warn,
42
+ .p-toast-message-error,
43
+ .p-toast-message-secondary,
44
+ .p-toast-message-contrast {
45
+ @apply border backdrop-blur-sm dark:backdrop-blur-md rounded-md
46
+ }
47
+
48
+ .p-toast-close-icon {
49
+ @apply text-base w-4 h-4
50
+ }
51
+
52
+ .p-toast-message-info {
53
+ @apply bg-blue-50/95 border-blue-200 text-blue-600
54
+ dark:bg-blue-500/15 dark:border-blue-700/35 dark:text-blue-500
55
+ shadow-[0px_4px_8px_0px_theme(colors.blue.500/0.04)]
56
+ }
57
+
58
+ .p-toast-message-info .p-toast-detail {
59
+ @apply text-surface-700 dark:text-surface-0
60
+ }
61
+
62
+ .p-toast-message-info .p-toast-close-button {
63
+ @apply hover:bg-blue-100 focus-visible:outline-blue-600
64
+ dark:hover:bg-white/5 dark:focus-visible:outline-blue-500
65
+ }
66
+
67
+ .p-toast-message-success {
68
+ @apply bg-green-50/95 border-green-200 text-green-600
69
+ dark:bg-green-500/15 dark:border-green-700/35 dark:text-green-500
70
+ shadow-[0px_4px_8px_0px_theme(colors.green.500/0.04)]
71
+ }
72
+
73
+ .p-toast-message-success .p-toast-detail {
74
+ @apply text-surface-700 dark:text-surface-0
75
+ }
76
+
77
+ .p-toast-message-success .p-toast-close-button {
78
+ @apply hover:bg-green-100 focus-visible:outline-green-600
79
+ dark:hover:bg-white/5 dark:focus-visible:outline-green-500
80
+ }
81
+
82
+ .p-toast-message-warn {
83
+ @apply bg-yellow-50/95 border-yellow-200 text-yellow-600
84
+ dark:bg-yellow-500/15 dark:border-yellow-700/35 dark:text-yellow-500
85
+ shadow-[0px_4px_8px_0px_theme(colors.yellow.500/0.04)]
86
+ }
87
+
88
+ .p-toast-message-warn .p-toast-detail {
89
+ @apply text-surface-700 dark:text-surface-0
90
+ }
91
+
92
+ .p-toast-message-warn .p-toast-close-button {
93
+ @apply hover:bg-yellow-100 focus-visible:outline-yellow-600
94
+ dark:hover:bg-white/5 dark:focus-visible:outline-yellow-500
95
+ }
96
+
97
+ .p-toast-message-error {
98
+ @apply bg-red-50/95 border-red-200 text-red-600
99
+ dark:bg-red-500/15 dark:border-red-700/35 dark:text-red-500
100
+ shadow-[0px_4px_8px_0px_theme(colors.blue.500/0.04)]
101
+ }
102
+
103
+ .p-toast-message-error .p-toast-detail {
104
+ @apply text-surface-700 dark:text-surface-0
105
+ }
106
+
107
+ .p-toast-message-error .p-toast-close-button {
108
+ @apply hover:bg-red-100 focus-visible:outline-red-600
109
+ dark:hover:bg-white/5 dark:focus-visible:outline-red-500
110
+ }
111
+
112
+ .p-toast-message-secondary {
113
+ @apply bg-surface-100 border-surface-200 text-surface-600
114
+ dark:bg-surface-800 dark:border-surface-700 dark:text-surface-300
115
+ shadow-[0px_4px_8px_0px_rgba(0,0,0,0.04)]
116
+ }
117
+
118
+ .p-toast-message-secondary .p-toast-detail {
119
+ @apply text-surface-700 dark:text-surface-0
120
+ }
121
+
122
+ .p-toast-message-secondary .p-toast-close-button {
123
+ @apply hover:bg-surface-200 focus-visible:outline-surface-600
124
+ dark:hover:bg-surface-700 dark:focus-visible:outline-surface-300
125
+ }
126
+
127
+ .p-toast-message-contrast {
128
+ @apply bg-surface-900 border-surface-950 text-surface-50
129
+ dark:bg-surface-0 dark:border-surface-100 dark:text-surface-950
130
+ shadow-[0px_4px_8px_0px_rgba(0,0,0,0.04)]
131
+ }
132
+
133
+ .p-toast-message-contrast .p-toast-detail {
134
+ @apply text-surface-0 dark:text-surface-950
135
+ }
136
+
137
+ .p-toast-message-contrast .p-toast-close-button {
138
+ @apply hover:bg-surface-800 focus-visible:outline-surface-50
139
+ dark:hover:bg-surface-100 dark:focus-visible:outline-surface-950
140
+ }
141
+
142
+ .p-toast-top-center {
143
+ @apply -translate-x-1/2;
144
+ }
145
+
146
+ .p-toast-bottom-center {
147
+ @apply -translate-x-1/2;
148
+ }
149
+
150
+ .p-toast-center {
151
+ @apply min-w-[20vw] -translate-x-1/2 -translate-y-1/2
152
+ }
153
+
154
+ .p-toast-message-enter-from {
155
+ @apply opacity-0 translate-y-1/2
156
+ }
157
+
158
+ .p-toast-message-leave-from {
159
+ @apply max-h-[1000px]
160
+ }
161
+
162
+ .p-toast .p-toast-message.p-toast-message-leave-to {
163
+ @apply max-h-0 opacity-0 mb-0 overflow-hidden
164
+ }
165
+
166
+ .p-toast-message-enter-active {
167
+ @apply [transition:transform_0.3s,opacity_0.3s]
168
+ }
169
+
170
+ .p-toast-message-leave-active {
171
+ @apply [transition:max-height_0.45s_cubic-bezier(0,1,0,1),opacity_0.3s,margin-bottom_0.3s]
172
+ }
@@ -0,0 +1,63 @@
1
+ .p-togglebutton {
2
+ @apply inline-flex items-center justify-center overflow-hidden relative cursor-pointer select-none
3
+ border border-surface-100 dark:border-surface-950 rounded-md
4
+ bg-surface-100 dark:bg-surface-950
5
+ text-surface-500 dark:text-surface-400 text-base font-medium
6
+ px-4 py-2
7
+ focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-primary
8
+ disabled:opacity-100 disabled:cursor-default
9
+ disabled:bg-surface-200 disabled:border-surface-200 disabled:text-surface-500
10
+ disabled:dark:bg-surface-700 disabled:dark:border-surface-700 disabled:dark:text-surface-400
11
+ transition-colors duration-300
12
+ before:bg-transparent before:absolute before:start-1 before:top-1 before:rounded-md before:w-[calc(100%-0.5rem)] before:h-[calc(100%-0.5rem)]
13
+ before:transition-colors before:duration-200
14
+ }
15
+
16
+ .p-togglebutton-content {
17
+ @apply relative inline-flex items-center justify-center gap-2
18
+ }
19
+
20
+ .p-togglebutton-label,
21
+ .p-togglebutton-icon {
22
+ @apply relative transition-none
23
+ }
24
+
25
+ .p-togglebutton.p-togglebutton-checked::before {
26
+ @apply bg-surface-0 dark:bg-surface-800 shadow-[0px_1px_2px_0px_rgba(0,0,0,0.02),0px_1px_2px_0px_rgba(0,0,0,0.04)]
27
+ }
28
+
29
+ .p-togglebutton:not(:disabled):not(.p-togglebutton-checked):hover {
30
+ @apply bg-surface-100 dark:bg-surface-950 text-surface-700 dark:text-surface-300
31
+ }
32
+
33
+ .p-togglebutton.p-togglebutton-checked {
34
+ @apply bg-surface-100 dark:bg-surface-950 border-surface-100 dark:border-surface-950 text-surface-900 dark:text-surface-0
35
+ }
36
+
37
+ .p-togglebutton.p-invalid {
38
+ @apply border-red-400 dark:border-red-300
39
+ }
40
+
41
+ .p-togglebutton-icon {
42
+ @apply text-surface-500 dark:text-surface-400
43
+ }
44
+
45
+ .p-togglebutton:not(:disabled):not(.p-togglebutton-checked):hover .p-togglebutton-icon {
46
+ @apply text-surface-700 dark:text-surface-300
47
+ }
48
+
49
+ .p-togglebutton.p-togglebutton-checked .p-togglebutton-icon {
50
+ @apply text-surface-900 dark:text-surface-0
51
+ }
52
+
53
+ .p-togglebutton:disabled .p-togglebutton-icon {
54
+ @apply text-surface-500 dark:text-surface-400
55
+ }
56
+
57
+ .p-togglebutton-sm {
58
+ @apply text-sm px-[0.75rem] py-[0.375rem]
59
+ }
60
+
61
+ .p-togglebutton-lg {
62
+ @apply text-lg px-[1.25rem] py-[0.625rem]
63
+ }
@@ -0,0 +1,66 @@
1
+ .p-toggleswitch {
2
+ @apply inline-block w-10 h-6
3
+ }
4
+
5
+ .p-toggleswitch-input {
6
+ @apply cursor-pointer disabled:cursor-default appearance-none absolute top-0 start-0 w-full h-full m-0 p-0 opacity-0 z-10 rounded-[30px]
7
+ }
8
+
9
+ .p-toggleswitch-slider {
10
+ @apply inline-block w-full h-full rounded-[30px] shadow-[0_1px_2px_0_rgba(18,18,23,0.05)]
11
+ bg-surface-300 dark:bg-surface-700
12
+ border border-transparent
13
+ transition-colors duration-200
14
+ }
15
+
16
+ .p-toggleswitch-handle {
17
+ @apply absolute top-1/2 flex justify-center items-center
18
+ bg-surface-0 dark:bg-surface-400
19
+ text-surface-500 dark:text-surface-900
20
+ w-4 h-4 start-1 -mt-2 rounded-full
21
+ transition-[background,color,left] duration-200
22
+ }
23
+
24
+ .p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-slider {
25
+ @apply bg-primary
26
+ }
27
+
28
+ .p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-handle {
29
+ @apply bg-surface-0 dark:bg-surface-900 text-primary start-5
30
+ }
31
+
32
+ .p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover) .p-toggleswitch-slider {
33
+ @apply bg-surface-400 dark:bg-surface-600
34
+ }
35
+
36
+ .p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover) .p-toggleswitch-handle {
37
+ @apply bg-surface-0 dark:bg-surface-300 text-surface-700 dark:text-surface-800
38
+ }
39
+
40
+ .p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover).p-toggleswitch-checked .p-toggleswitch-slider {
41
+ @apply bg-primary-emphasis
42
+ }
43
+
44
+ .p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover).p-toggleswitch-checked .p-toggleswitch-handle {
45
+ @apply bg-surface-0 dark:bg-surface-900 text-primary-emphasis
46
+ }
47
+
48
+ .p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:focus-visible) .p-toggleswitch-slider {
49
+ @apply outline outline-1 outline-offset-2 outline-primary
50
+ }
51
+
52
+ .p-toggleswitch.p-invalid > .p-toggleswitch-slider {
53
+ @apply border-red-400 dark:border-red-300
54
+ }
55
+
56
+ .p-toggleswitch.p-disabled {
57
+ @apply opacity-100
58
+ }
59
+
60
+ .p-toggleswitch.p-disabled .p-toggleswitch-slider {
61
+ @apply bg-surface-200 dark:bg-surface-600
62
+ }
63
+
64
+ .p-toggleswitch.p-disabled .p-toggleswitch-handle {
65
+ @apply bg-surface-700 dark:bg-surface-900
66
+ }
@@ -0,0 +1,12 @@
1
+ .p-toolbar {
2
+ @apply flex items-center justify-between flex-wrap p-3 gap-2
3
+ bg-surface-0 dark:bg-surface-900
4
+ text-surface-700 dark:text-surface-0
5
+ border border-surface-200 dark:border-surface-700 rounded-md
6
+ }
7
+
8
+ .p-toolbar-start,
9
+ .p-toolbar-center,
10
+ .p-toolbar-end {
11
+ @apply flex items-center
12
+ }
@@ -0,0 +1,38 @@
1
+ .p-tooltip {
2
+ @apply absolute hidden max-w-48
3
+ }
4
+
5
+ .p-tooltip-right,
6
+ .p-tooltip-left {
7
+ @apply py-0 px-1
8
+ }
9
+
10
+ .p-tooltip-top,
11
+ .p-tooltip-bottom {
12
+ @apply py-1 px-0
13
+ }
14
+
15
+ .p-tooltip-text {
16
+ @apply whitespace-pre-line break-words bg-surface-700 text-surface-0 py-2 px-3
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
+ }
19
+
20
+ .p-tooltip-arrow {
21
+ @apply absolute w-0 h-0 border-solid border-transparent
22
+ }
23
+
24
+ .p-tooltip-right .p-tooltip-arrow {
25
+ @apply -mt-1 border-[.25rem] border-s-0 border-e-surface-700 rtl:rotate-180
26
+ }
27
+
28
+ .p-tooltip-left .p-tooltip-arrow {
29
+ @apply -mt-1 border-[.25rem] border-e-0 border-s-surface-700 rtl:rotate-180
30
+ }
31
+
32
+ .p-tooltip-top .p-tooltip-arrow {
33
+ @apply -ms-1 border-[.25rem] border-b-0 border-t-surface-700
34
+ }
35
+
36
+ .p-tooltip-bottom .p-tooltip-arrow {
37
+ @apply -ms-1 border-[.25rem] border-t-0 border-b-surface-700
38
+ }
@@ -0,0 +1,103 @@
1
+ .p-tree {
2
+ @apply bg-surface-0 dark:bg-surface-900 text-surface-700 dark:text-surface-0 p-4
3
+ }
4
+
5
+ .p-tree-root-children,
6
+ .p-tree-node-children {
7
+ @apply flex flex-col list-none m-0 gap-[2px]
8
+ }
9
+
10
+ .p-tree-root-children {
11
+ @apply pt-[2px] pb-0 px-0
12
+ }
13
+
14
+ .p-tree-node-children {
15
+ @apply pt-[2px] pe-0 pb-0 ps-4
16
+ }
17
+
18
+ .p-tree-node {
19
+ @apply p-0 outline-none
20
+ }
21
+
22
+ .p-tree-node-content {
23
+ @apply rounded-md px-2 py-1 flex items-center text-surface-700 dark:text-surface-0 gap-1 transition-colors duration-200
24
+ }
25
+
26
+ .p-tree-node:focus-visible > .p-tree-node-content {
27
+ @apply outline outline-1 outline-offset-2 outline-primary
28
+ }
29
+
30
+ .p-tree-node-content.p-tree-node-selectable:not(.p-tree-node-selected):hover {
31
+ @apply bg-surface-100 text-surface-700 dark:bg-surface-800 dark:text-surface-0
32
+ }
33
+
34
+ .p-tree-node-content.p-tree-node-selectable:not(.p-tree-node-selected):hover .p-tree-node-icon {
35
+ @apply text-surface-600 dark:text-surface-300
36
+ }
37
+
38
+ .p-tree-node-content.p-tree-node-selected {
39
+ @apply bg-highlight
40
+ }
41
+
42
+ .p-tree-node-content.p-tree-node-selected .p-tree-node-toggle-button {
43
+ @apply text-inherit
44
+ }
45
+
46
+ .p-tree-node-toggle-button {
47
+ @apply cursor-pointer select-none inline-flex justify-center rounded-full items-center overflow-hidden relative flex-shrink-0
48
+ w-7 h-7 p-0 transition-colors duration-200 border-none
49
+ bg-transparent enabled:hover:bg-surface-100 dark:enabled:hover:bg-surface-800
50
+ text-surface-500 dark:text-surface-400 enabled:hover:text-surface-600 dark:enabled:hover:text-surface-300
51
+ }
52
+
53
+ .p-tree-node-content.p-tree-node-selected .p-tree-node-toggle-button:hover {
54
+ @apply bg-surface-0 dark:bg-surface-900 text-primary
55
+ }
56
+
57
+ .p-tree-root {
58
+ @apply overflow-auto
59
+ }
60
+
61
+ .p-tree-node-selectable {
62
+ @apply cursor-pointer select-none
63
+ }
64
+
65
+ .p-tree-node-leaf > .p-tree-node-content .p-tree-node-toggle-button {
66
+ @apply invisible
67
+ }
68
+
69
+ .p-tree-node-icon {
70
+ @apply text-surface-500 dark:text-surface-400 transition-colors duration-200
71
+ }
72
+
73
+ .p-tree-node-content.p-tree-node-selected .p-tree-node-icon {
74
+ @apply text-primary
75
+ }
76
+
77
+ .p-tree-filter {
78
+ @apply mb-2
79
+ }
80
+
81
+ .p-tree-filter-input {
82
+ @apply w-full
83
+ }
84
+
85
+ .p-tree-loading {
86
+ @apply relative h-full
87
+ }
88
+
89
+ .p-tree-loading-icon {
90
+ @apply text-[2rem] h-8 w-8
91
+ }
92
+
93
+ .p-tree .p-tree-mask {
94
+ @apply absolute z-10 flex items-center justify-center
95
+ }
96
+
97
+ .p-tree-flex-scrollable {
98
+ @apply flex flex-1 h-full flex-col
99
+ }
100
+
101
+ .p-tree-flex-scrollable .p-tree-root {
102
+ @apply flex-1
103
+ }
@@ -0,0 +1,116 @@
1
+ @import './chip';
2
+ @import './tree';
3
+
4
+ .p-treeselect {
5
+ @apply inline-flex cursor-pointer relative select-none rounded-md
6
+ bg-surface-0 dark:bg-surface-950
7
+ border border-surface-300 dark:border-surface-700
8
+ shadow-[0_1px_2px_0_rgba(18,18,23,0.05)]
9
+ transition-colors duration-200
10
+ }
11
+
12
+ .p-treeselect:not(.p-disabled):hover {
13
+ @apply border-surface-400 dark:border-surface-600
14
+ }
15
+
16
+ .p-treeselect:not(.p-disabled).p-focus {
17
+ @apply border-primary
18
+ }
19
+
20
+ .p-treeselect.p-variant-filled {
21
+ @apply bg-surface-50 dark:bg-surface-800
22
+ }
23
+
24
+ .p-treeselect.p-invalid {
25
+ @apply border-red-400 dark:border-red-300
26
+ }
27
+
28
+ .p-treeselect.p-disabled {
29
+ @apply bg-surface-200 text-surface-500 dark:bg-surface-700 dark:text-surface-400 opacity-100 cursor-default
30
+ }
31
+
32
+ .p-treeselect-dropdown {
33
+ @apply flex items-center justify-center shrink-0 bg-transparent
34
+ text-surface-500 dark:text-surface-400 w-10 rounded-e-md
35
+ }
36
+
37
+ .p-treeselect-clear-icon {
38
+ @apply absolute top-1/2 -mt-2 text-surface-500 dark:text-surface-400 end-10
39
+ }
40
+
41
+ .p-treeselect-label-container {
42
+ @apply overflow-hidden flex-auto
43
+ }
44
+
45
+ .p-treeselect-label {
46
+ @apply flex items-center gap-1 whitespace-nowrap text-ellipsis px-3 py-2 text-surface-700 dark:text-surface-0
47
+ }
48
+
49
+ .p-treeselect-label.p-placeholder {
50
+ @apply text-surface-500 dark:text-surface-400
51
+ }
52
+
53
+ .p-treeselect.p-disabled .p-treeselect-label {
54
+ @apply text-surface-500 dark:text-surface-400
55
+ }
56
+
57
+ .p-treeselect-label-empty {
58
+ @apply overflow-hidden invisible
59
+ }
60
+
61
+ .p-treeselect .p-treeselect-overlay {
62
+ @apply min-w-full
63
+ }
64
+
65
+ .p-treeselect-overlay {
66
+ @apply absolute top-0 left-0 rounded-md
67
+ bg-surface-0 dark:bg-surface-900
68
+ border border-surface-200 dark:border-surface-700
69
+ text-surface-700 dark:text-surface-0
70
+ shadow-[0_4px_6px_-1px_rgba(0,0,0,0.1),0_2px_4px_-2px_rgba(0,0,0,0.1)]
71
+ }
72
+
73
+
74
+ .p-treeselect-tree-container {
75
+ @apply overflow-auto
76
+ }
77
+
78
+ .p-treeselect-empty-message {
79
+ @apply px-3 py-2
80
+ }
81
+
82
+ .p-treeselect-fluid {
83
+ @apply flex
84
+ }
85
+
86
+ .p-treeselect-overlay .p-tree {
87
+ @apply p-1
88
+ }
89
+
90
+ .p-treeselect-overlay .p-tree-loading {
91
+ @apply min-h-12
92
+ }
93
+
94
+ .p-treeselect-label .p-chip {
95
+ @apply pt-1 pb-1 rounded-sm
96
+ }
97
+
98
+ .p-treeselect-label:has(.p-chip) {
99
+ @apply py-1 px-1
100
+ }
101
+
102
+ .p-treeselect-sm .p-treeselect-label {
103
+ @apply text-sm px-[0.625rem] py-[0.375rem]
104
+ }
105
+
106
+ .p-treeselect-sm .p-treeselect-dropdown .p-icon {
107
+ @apply text-sm w-[0.875rem] h-[0.875rem]
108
+ }
109
+
110
+ .p-treeselect-lg .p-treeselect-label {
111
+ @apply text-lg px-[0.875rem] py-[0.625rem]
112
+ }
113
+
114
+ .p-treeselect-lg .p-treeselect-dropdown .p-icon {
115
+ @apply text-lg w-[1.125rem] h-[1.125rem]
116
+ }