twntyx-css 1.0.0

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 (228) hide show
  1. package/README.md +105 -0
  2. package/llm/CHANGELOG.md +7 -0
  3. package/llm/components/ai-background.json +90 -0
  4. package/llm/components/ai-orb.json +91 -0
  5. package/llm/components/ai-perl.json +91 -0
  6. package/llm/components/all-components.json +104 -0
  7. package/llm/components/animation-references.json +84 -0
  8. package/llm/components/avatar.json +149 -0
  9. package/llm/components/badge.json +263 -0
  10. package/llm/components/banner-marketplace.json +81 -0
  11. package/llm/components/banner.json +120 -0
  12. package/llm/components/breadcrumb.json +169 -0
  13. package/llm/components/button-container.json +150 -0
  14. package/llm/components/button-feedback.json +155 -0
  15. package/llm/components/button.json +290 -0
  16. package/llm/components/card-assessment.json +93 -0
  17. package/llm/components/card-test.json +83 -0
  18. package/llm/components/card.json +94 -0
  19. package/llm/components/chat.json +155 -0
  20. package/llm/components/checkbox.json +186 -0
  21. package/llm/components/checkmark.json +175 -0
  22. package/llm/components/collapsible.json +100 -0
  23. package/llm/components/color-palette.json +79 -0
  24. package/llm/components/color-usage.json +83 -0
  25. package/llm/components/combobox.json +143 -0
  26. package/llm/components/command-palette.json +159 -0
  27. package/llm/components/countdown.json +113 -0
  28. package/llm/components/datepicker.json +151 -0
  29. package/llm/components/divider.json +104 -0
  30. package/llm/components/empty-state.json +80 -0
  31. package/llm/components/field.json +123 -0
  32. package/llm/components/fieldset.json +78 -0
  33. package/llm/components/file-upload.json +163 -0
  34. package/llm/components/form-example.json +82 -0
  35. package/llm/components/getting-started.json +70 -0
  36. package/llm/components/icons-reference.json +78 -0
  37. package/llm/components/illustrations-library.json +78 -0
  38. package/llm/components/input-group.json +94 -0
  39. package/llm/components/introduction.json +71 -0
  40. package/llm/components/join.json +105 -0
  41. package/llm/components/kbd.json +139 -0
  42. package/llm/components/key-value.json +86 -0
  43. package/llm/components/link.json +120 -0
  44. package/llm/components/loader.json +117 -0
  45. package/llm/components/logotype.json +75 -0
  46. package/llm/components/menu.json +192 -0
  47. package/llm/components/modal.json +167 -0
  48. package/llm/components/navbar.json +158 -0
  49. package/llm/components/pagination.json +122 -0
  50. package/llm/components/pie-chart.json +94 -0
  51. package/llm/components/popover.json +174 -0
  52. package/llm/components/progress-bullet.json +203 -0
  53. package/llm/components/progress-linear.json +129 -0
  54. package/llm/components/progress-radial.json +125 -0
  55. package/llm/components/radio.json +162 -0
  56. package/llm/components/range-slider.json +125 -0
  57. package/llm/components/scrollbar.json +96 -0
  58. package/llm/components/select-input.json +224 -0
  59. package/llm/components/shadows.json +107 -0
  60. package/llm/components/skeleton.json +84 -0
  61. package/llm/components/stacked-chart.json +100 -0
  62. package/llm/components/state.json +138 -0
  63. package/llm/components/stepper.json +95 -0
  64. package/llm/components/steps.json +177 -0
  65. package/llm/components/surface.json +181 -0
  66. package/llm/components/table.json +223 -0
  67. package/llm/components/tabs.json +147 -0
  68. package/llm/components/template-ai.json +80 -0
  69. package/llm/components/template-login.json +88 -0
  70. package/llm/components/template-stats.json +76 -0
  71. package/llm/components/text-input.json +275 -0
  72. package/llm/components/textarea.json +183 -0
  73. package/llm/components/timeline.json +142 -0
  74. package/llm/components/toast.json +164 -0
  75. package/llm/components/toggle.json +158 -0
  76. package/llm/components/tool-svg-to-base64.json +78 -0
  77. package/llm/components/tool-svg-to-icon-data.json +81 -0
  78. package/llm/components/tooltip.json +90 -0
  79. package/llm/examples/ai-background.html +1 -0
  80. package/llm/examples/ai-orb.html +1 -0
  81. package/llm/examples/ai-perl.html +1 -0
  82. package/llm/examples/all-components.html +1 -0
  83. package/llm/examples/animation-references.html +1 -0
  84. package/llm/examples/avatar.html +1 -0
  85. package/llm/examples/badge.html +1 -0
  86. package/llm/examples/banner-marketplace.html +1 -0
  87. package/llm/examples/banner.html +1 -0
  88. package/llm/examples/breadcrumb.html +1 -0
  89. package/llm/examples/button-container.html +1 -0
  90. package/llm/examples/button-feedback.html +1 -0
  91. package/llm/examples/button.html +3 -0
  92. package/llm/examples/card-assessment.html +1 -0
  93. package/llm/examples/card-test.html +1 -0
  94. package/llm/examples/card.html +1 -0
  95. package/llm/examples/chat.html +1 -0
  96. package/llm/examples/checkbox.html +1 -0
  97. package/llm/examples/checkmark.html +1 -0
  98. package/llm/examples/collapsible.html +1 -0
  99. package/llm/examples/color-palette.html +1 -0
  100. package/llm/examples/color-usage.html +1 -0
  101. package/llm/examples/combobox.html +1 -0
  102. package/llm/examples/command-palette.html +1 -0
  103. package/llm/examples/countdown.html +1 -0
  104. package/llm/examples/datepicker.html +1 -0
  105. package/llm/examples/divider.html +1 -0
  106. package/llm/examples/empty-state.html +1 -0
  107. package/llm/examples/field.html +1 -0
  108. package/llm/examples/fieldset.html +1 -0
  109. package/llm/examples/file-upload.html +1 -0
  110. package/llm/examples/form-example.html +1 -0
  111. package/llm/examples/getting-started.html +1 -0
  112. package/llm/examples/icons-reference.html +1 -0
  113. package/llm/examples/illustrations-library.html +1 -0
  114. package/llm/examples/input-group.html +1 -0
  115. package/llm/examples/introduction.html +1 -0
  116. package/llm/examples/join.html +1 -0
  117. package/llm/examples/kbd.html +1 -0
  118. package/llm/examples/key-value.html +1 -0
  119. package/llm/examples/link.html +1 -0
  120. package/llm/examples/loader.html +1 -0
  121. package/llm/examples/logotype.html +1 -0
  122. package/llm/examples/menu.html +1 -0
  123. package/llm/examples/modal.html +16 -0
  124. package/llm/examples/navbar.html +1 -0
  125. package/llm/examples/pagination.html +1 -0
  126. package/llm/examples/pie-chart.html +1 -0
  127. package/llm/examples/popover.html +1 -0
  128. package/llm/examples/progress-bullet.html +1 -0
  129. package/llm/examples/progress-linear.html +1 -0
  130. package/llm/examples/progress-radial.html +1 -0
  131. package/llm/examples/radio.html +1 -0
  132. package/llm/examples/range-slider.html +1 -0
  133. package/llm/examples/scrollbar.html +1 -0
  134. package/llm/examples/select-input.html +1 -0
  135. package/llm/examples/shadows.html +1 -0
  136. package/llm/examples/skeleton.html +1 -0
  137. package/llm/examples/stacked-chart.html +1 -0
  138. package/llm/examples/state.html +1 -0
  139. package/llm/examples/stepper.html +1 -0
  140. package/llm/examples/steps.html +1 -0
  141. package/llm/examples/surface.html +1 -0
  142. package/llm/examples/table.html +16 -0
  143. package/llm/examples/tabs.html +1 -0
  144. package/llm/examples/template-ai.html +1 -0
  145. package/llm/examples/template-login.html +1 -0
  146. package/llm/examples/template-stats.html +1 -0
  147. package/llm/examples/text-input.html +10 -0
  148. package/llm/examples/textarea.html +1 -0
  149. package/llm/examples/timeline.html +1 -0
  150. package/llm/examples/toast.html +5 -0
  151. package/llm/examples/toggle.html +1 -0
  152. package/llm/examples/tool-svg-to-base64.html +1 -0
  153. package/llm/examples/tool-svg-to-icon-data.html +1 -0
  154. package/llm/examples/tooltip.html +1 -0
  155. package/llm/index.json +1615 -0
  156. package/llm/llms.txt +18 -0
  157. package/llm/patterns.json +111 -0
  158. package/llm/rules.json +47 -0
  159. package/llm/schema.json +804 -0
  160. package/llm/tokens.json +3629 -0
  161. package/package.json +30 -0
  162. package/styles/ai.css +114 -0
  163. package/styles/animation.css +2493 -0
  164. package/styles/avatar.css +101 -0
  165. package/styles/background-ai.css +118 -0
  166. package/styles/badge.css +274 -0
  167. package/styles/banner.css +98 -0
  168. package/styles/breadcrumb.css +72 -0
  169. package/styles/button.css +621 -0
  170. package/styles/card.css +27 -0
  171. package/styles/chart-pie.css +39 -0
  172. package/styles/chart-stacked.css +91 -0
  173. package/styles/chat.css +506 -0
  174. package/styles/checkmark.css +105 -0
  175. package/styles/code.css +264 -0
  176. package/styles/collapsible.css +93 -0
  177. package/styles/colors.css +536 -0
  178. package/styles/combobox.css +66 -0
  179. package/styles/command.css +81 -0
  180. package/styles/contest.css +227 -0
  181. package/styles/countdown.css +65 -0
  182. package/styles/datepicker.css +124 -0
  183. package/styles/divider.css +72 -0
  184. package/styles/drawer.css +142 -0
  185. package/styles/dropdown.css +22 -0
  186. package/styles/empty-state.css +48 -0
  187. package/styles/field.css +47 -0
  188. package/styles/fieldset.css +24 -0
  189. package/styles/form-checkbox-radio-toggle.css +233 -0
  190. package/styles/form-fileupload.css +146 -0
  191. package/styles/form-rangeslider.css +106 -0
  192. package/styles/form-shared.css +41 -0
  193. package/styles/form-text-select.css +411 -0
  194. package/styles/form.css +86 -0
  195. package/styles/globals.css +66 -0
  196. package/styles/input-group.css +63 -0
  197. package/styles/join.css +141 -0
  198. package/styles/kbd.css +55 -0
  199. package/styles/key-value.css +44 -0
  200. package/styles/link.css +48 -0
  201. package/styles/loader.css +183 -0
  202. package/styles/logotype.css +13 -0
  203. package/styles/menu.css +317 -0
  204. package/styles/modal.css +172 -0
  205. package/styles/navbar.css +48 -0
  206. package/styles/package-quill.css +1001 -0
  207. package/styles/pagination.css +147 -0
  208. package/styles/panel.css +113 -0
  209. package/styles/popover.css +303 -0
  210. package/styles/prism.css +60 -0
  211. package/styles/progress.css +209 -0
  212. package/styles/scrollbar.css +17 -0
  213. package/styles/shadow.css +25 -0
  214. package/styles/shared.css +226 -0
  215. package/styles/skeleton.css +34 -0
  216. package/styles/state.css +150 -0
  217. package/styles/stepper.css +72 -0
  218. package/styles/steps.css +98 -0
  219. package/styles/surface.css +252 -0
  220. package/styles/tab.css +286 -0
  221. package/styles/table.css +243 -0
  222. package/styles/theme.css +126 -0
  223. package/styles/timeline.css +193 -0
  224. package/styles/toast.css +150 -0
  225. package/styles/tooltip.css +8 -0
  226. package/styles/typography.css +160 -0
  227. package/styles/utility.css +20 -0
  228. package/tailwind.config.cjs +9 -0
@@ -0,0 +1,147 @@
1
+ /*----------------------------*/
2
+ /* PAGINATION */
3
+ /*----------------------------*/
4
+
5
+ @utility pagination {
6
+ @apply flex gap-0;
7
+
8
+ /* Info text */
9
+ .pagination-info {
10
+ @apply text-sm text-text-tertiary;
11
+
12
+ strong {
13
+ @apply font-medium text-text-default;
14
+ }
15
+ }
16
+
17
+ a,
18
+ button {
19
+ &:not([disabled]) {
20
+ @apply cursor-pointer;
21
+ }
22
+ }
23
+
24
+ /* Navigation list */
25
+ .pagination-nav {
26
+ @apply flex items-center -space-x-px list-none text-text-tertiary;
27
+
28
+ > * {
29
+ @apply p-0.5;
30
+ &:first-child {
31
+ @apply rounded-s-2xl;
32
+ > .pagination-item {
33
+ &,
34
+ &::before {
35
+ @apply rounded-s-2xl!;
36
+ }
37
+ }
38
+ }
39
+
40
+ &:last-child {
41
+ @apply rounded-e-2xl;
42
+ > .pagination-item {
43
+ &,
44
+ &::before {
45
+ @apply rounded-e-2xl!;
46
+ }
47
+ }
48
+ }
49
+ }
50
+ }
51
+
52
+ /* Page items */
53
+ .pagination-item {
54
+ @apply
55
+ flex
56
+ justify-center
57
+ items-center
58
+ px-3
59
+ h-8
60
+ text-sm
61
+ select-none
62
+ rounded-[4px]
63
+ border-line-default
64
+ include-interactive
65
+ no-underline;
66
+
67
+ &::before {
68
+ @apply rounded-[3px]!;
69
+ }
70
+
71
+ &.is-active {
72
+ @apply z-20 surface-brand;
73
+ }
74
+
75
+ &.is-disabled {
76
+ @apply opacity-50 cursor-not-allowed outline-transparent;
77
+ &::before {
78
+ @apply hidden;
79
+ }
80
+ }
81
+
82
+ svg {
83
+ @apply size-4;
84
+ }
85
+ }
86
+
87
+ /* Size variants */
88
+ &.pagination-sm {
89
+ .pagination-item {
90
+ @apply px-2 h-6 text-xs;
91
+
92
+ svg {
93
+ @apply size-3;
94
+ }
95
+ }
96
+ }
97
+
98
+ &.pagination-lg {
99
+ .pagination-item {
100
+ @apply px-4 h-10 text-base;
101
+
102
+ svg {
103
+ @apply size-5;
104
+ }
105
+ }
106
+ }
107
+
108
+ /* Compact variant */
109
+ &.pagination-compact {
110
+ @apply gap-0;
111
+ .pagination-nav {
112
+ @apply -space-x-px!;
113
+
114
+ .pagination-item {
115
+ @apply border;
116
+ }
117
+
118
+ > * {
119
+ @apply p-0;
120
+ &:first-child {
121
+ .pagination-item {
122
+ @apply rounded-e-none;
123
+ &::before {
124
+ @apply rounded-e-none!;
125
+ }
126
+ }
127
+ }
128
+ &:last-child {
129
+ .pagination-item {
130
+ @apply rounded-s-none;
131
+ &::before {
132
+ @apply rounded-s-none!;
133
+ }
134
+ }
135
+ }
136
+ &:not(:first-child):not(:last-child) {
137
+ .pagination-item {
138
+ @apply rounded-none border-l-0;
139
+ &::before {
140
+ @apply rounded-none!;
141
+ }
142
+ }
143
+ }
144
+ }
145
+ }
146
+ }
147
+ }
@@ -0,0 +1,113 @@
1
+ /*----------------------------*/
2
+ /* PANEL */
3
+ /*----------------------------*/
4
+
5
+ @utility panel-container {
6
+ --header-height: 137px;
7
+ @apply
8
+ relative
9
+ flex
10
+ w-full
11
+ flex-1
12
+ overflow-clip
13
+ ;
14
+
15
+ > .panel-chat,
16
+ > .panel-sidebar > .panel-sidebar-content {
17
+ @apply
18
+ h-[calc(100dvh-var(--header-height)-1rem)]
19
+ ;
20
+ }
21
+
22
+ > .panel-chat {
23
+ @apply
24
+ relative
25
+ z-0
26
+ mx-auto
27
+ flex
28
+ w-full
29
+ md:w-[36rem]
30
+ flex-none
31
+ shrink-0
32
+ flex-col
33
+ ;
34
+
35
+ > .chat-feed {
36
+ @apply
37
+ flex-1
38
+ flex
39
+ flex-col
40
+ gap-3
41
+ px-4
42
+ mx-auto
43
+ w-full
44
+ pt-1
45
+ ;
46
+ }
47
+
48
+ .chat-footer {
49
+ @apply
50
+ sticky
51
+ bottom-0
52
+ ;
53
+ }
54
+
55
+ /* .chat-footer {
56
+ @apply
57
+ sticky
58
+ bottom-0
59
+ mx-auto
60
+ w-full
61
+ pt-6
62
+ z-[5]
63
+ ;
64
+ } */
65
+ }
66
+
67
+ > .panel-sidebar {
68
+ @apply
69
+ relative
70
+ z-10
71
+ transition-[width]
72
+ duration-500
73
+ ease-out-quint
74
+ ;
75
+
76
+ &[open],
77
+ > .panel-sidebar-content {
78
+ @apply
79
+ w-full
80
+ ;
81
+ }
82
+ &[open] {
83
+ @apply ml-8;
84
+ > .panel-sidebar-content {
85
+ @apply
86
+ pointer-events-auto
87
+ ;
88
+ }
89
+ }
90
+ &:not([open]) {
91
+ @apply w-0;
92
+
93
+ > .panel-sidebar-content {
94
+ @apply
95
+ opacity-0
96
+ pointer-events-none
97
+ translate-x-1/2
98
+ ;
99
+ }
100
+ }
101
+
102
+ > .panel-sidebar-content {
103
+ @apply
104
+ flex
105
+ flex-col
106
+ transition-[translate,scale,opacity]
107
+ duration-500
108
+ ease-out-quint
109
+ card
110
+ ;
111
+ }
112
+ }
113
+ }
@@ -0,0 +1,303 @@
1
+ /*----------------------------*/
2
+ /* POPOVER */
3
+ /*----------------------------*/
4
+
5
+ .popover-demo {
6
+ @apply flex flex-wrap gap-3 items-center justify-center p-4 min-h-56 rounded-2xl border border-dashed border-line-default;
7
+ }
8
+
9
+ .popover-layout-grid {
10
+ @apply grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3;
11
+ }
12
+
13
+ .popover-example-card {
14
+ @apply flex flex-col gap-3 items-start p-4 min-h-36 rounded-2xl border bg-background-surface border-line-default;
15
+ }
16
+
17
+ .popover-label {
18
+ @apply text-xs font-medium uppercase tracking-wide text-text-secondary;
19
+ }
20
+
21
+ .popover-trigger {
22
+ @apply inline-flex items-center justify-center gap-1 px-3 h-8 min-h-8 min-w-8 text-sm font-semibold leading-none rounded-full border cursor-pointer select-none include-interactive include-border-secondary text-text-default bg-background-surface whitespace-nowrap;
23
+ }
24
+
25
+ .popover-close {
26
+ @apply button button-secondary;
27
+ }
28
+
29
+ .popover[popover] {
30
+ --popover-translate-x: 0px;
31
+ --popover-translate-y: 0.75rem;
32
+ --popover-base-offset-x: 0px;
33
+ --popover-base-offset-y: 0px;
34
+ --popover-backdrop-color: rgb(0 0 0 / 0.35);
35
+ --popover-backdrop-blur: 2px;
36
+
37
+ @apply m-auto p-0 rounded-2xl border bg-background-surface border-line-default shadow-dark-xl text-text-default;
38
+ width: min(26rem, calc(100dvw - 2rem));
39
+ max-height: min(34rem, calc(100dvh - 2rem));
40
+ overflow: auto;
41
+
42
+ opacity: 0;
43
+ transform: translate3d(
44
+ calc(var(--popover-base-offset-x) + var(--popover-translate-x)),
45
+ calc(var(--popover-base-offset-y) + var(--popover-translate-y)),
46
+ 0
47
+ );
48
+ transition-property: transform, opacity, display, overlay;
49
+ transition-duration: 0.2s;
50
+ transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
51
+ transition-behavior: allow-discrete;
52
+ }
53
+
54
+ .popover[popover]:popover-open {
55
+ opacity: 1;
56
+ transform: translate3d(
57
+ var(--popover-base-offset-x),
58
+ var(--popover-base-offset-y),
59
+ 0
60
+ );
61
+
62
+ @starting-style {
63
+ opacity: 0;
64
+ transform: translate3d(
65
+ calc(var(--popover-base-offset-x) + var(--popover-translate-x)),
66
+ calc(var(--popover-base-offset-y) + var(--popover-translate-y)),
67
+ 0
68
+ );
69
+ }
70
+ }
71
+
72
+ .popover[popover]::backdrop {
73
+ background: rgb(0 0 0 / 0);
74
+ backdrop-filter: blur(0);
75
+ transition-property: background-color, backdrop-filter, display, overlay;
76
+ transition-duration: 0.2s;
77
+ transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
78
+ transition-behavior: allow-discrete;
79
+ }
80
+
81
+ .popover[popover]:popover-open::backdrop {
82
+ background: var(--popover-backdrop-color);
83
+ backdrop-filter: blur(var(--popover-backdrop-blur));
84
+
85
+ @starting-style {
86
+ background: rgb(0 0 0 / 0);
87
+ backdrop-filter: blur(0);
88
+ }
89
+ }
90
+
91
+ .popover-overlay[popover] {
92
+ --popover-backdrop-color: rgb(0 0 0 / 0.35);
93
+ --popover-backdrop-blur: 2px;
94
+ }
95
+
96
+ .popover-no-overlay[popover] {
97
+ --popover-backdrop-color: rgb(0 0 0 / 0);
98
+ --popover-backdrop-blur: 0px;
99
+ }
100
+
101
+ .popover-fixed[popover] {
102
+ position: fixed;
103
+ }
104
+
105
+ .popover-absolute[popover] {
106
+ position: absolute;
107
+ --popover-backdrop-color: rgb(0 0 0 / 0);
108
+ --popover-backdrop-blur: 0px;
109
+ }
110
+
111
+ /* In browsers supporting Anchor Positioning, absolute mode anchors to trigger. */
112
+ @supports (top: anchor(top)) {
113
+ .popover-absolute[popover] {
114
+ margin: 0;
115
+ }
116
+
117
+ .popover-absolute.popover-top-left[popover] {
118
+ --popover-base-offset-x: -100%;
119
+ --popover-base-offset-y: -100%;
120
+ top: anchor(top);
121
+ left: anchor(left);
122
+ right: auto;
123
+ bottom: auto;
124
+ }
125
+
126
+ .popover-absolute.popover-top-right[popover] {
127
+ --popover-base-offset-x: 0px;
128
+ --popover-base-offset-y: -100%;
129
+ top: anchor(top);
130
+ left: anchor(right);
131
+ right: auto;
132
+ bottom: auto;
133
+ }
134
+
135
+ .popover-absolute.popover-bottom-left[popover] {
136
+ --popover-base-offset-x: -100%;
137
+ --popover-base-offset-y: 0px;
138
+ top: anchor(bottom);
139
+ left: anchor(left);
140
+ right: auto;
141
+ bottom: auto;
142
+ }
143
+
144
+ .popover-absolute.popover-bottom-right[popover] {
145
+ --popover-base-offset-x: 0px;
146
+ --popover-base-offset-y: 0px;
147
+ top: anchor(bottom);
148
+ left: anchor(right);
149
+ right: auto;
150
+ bottom: auto;
151
+ }
152
+
153
+ .popover-absolute.popover-top[popover] {
154
+ --popover-base-offset-x: -50%;
155
+ --popover-base-offset-y: -100%;
156
+ top: anchor(top);
157
+ left: anchor(center);
158
+ right: auto;
159
+ bottom: auto;
160
+ }
161
+
162
+ .popover-absolute.popover-bottom[popover] {
163
+ --popover-base-offset-x: -50%;
164
+ --popover-base-offset-y: 0px;
165
+ top: anchor(bottom);
166
+ left: anchor(center);
167
+ right: auto;
168
+ bottom: auto;
169
+ }
170
+
171
+ .popover-absolute.popover-left[popover] {
172
+ --popover-base-offset-x: -100%;
173
+ --popover-base-offset-y: -50%;
174
+ top: anchor(center);
175
+ left: anchor(left);
176
+ right: auto;
177
+ bottom: auto;
178
+ }
179
+
180
+ .popover-absolute.popover-right[popover] {
181
+ --popover-base-offset-x: 0px;
182
+ --popover-base-offset-y: -50%;
183
+ top: anchor(center);
184
+ left: anchor(right);
185
+ right: auto;
186
+ bottom: auto;
187
+ }
188
+
189
+ .popover-absolute.popover-right-full[popover] {
190
+ --popover-base-offset-x: 0px;
191
+ --popover-base-offset-y: 0px;
192
+ top: 0;
193
+ left: auto;
194
+ right: 0;
195
+ bottom: 0;
196
+ height: 100dvh;
197
+ max-height: 100dvh;
198
+ }
199
+ }
200
+
201
+ .popover-top[popover] {
202
+ --popover-translate-x: 0px;
203
+ --popover-translate-y: -1rem;
204
+ --popover-base-offset-x: -50%;
205
+ --popover-base-offset-y: 0px;
206
+
207
+ @apply top-4 bottom-auto left-1/2 right-auto m-0;
208
+ width: min(28rem, calc(100dvw - 2rem));
209
+ max-height: min(20rem, calc(100dvh - 2rem));
210
+ }
211
+
212
+ .popover-bottom[popover] {
213
+ --popover-translate-x: 0px;
214
+ --popover-translate-y: 1rem;
215
+ --popover-base-offset-x: -50%;
216
+ --popover-base-offset-y: 0px;
217
+
218
+ @apply bottom-4 top-auto left-1/2 right-auto m-0;
219
+ width: min(28rem, calc(100dvw - 2rem));
220
+ max-height: min(20rem, calc(100dvh - 2rem));
221
+ }
222
+
223
+ .popover-left[popover] {
224
+ --popover-translate-x: -1rem;
225
+ --popover-translate-y: 0px;
226
+ --popover-base-offset-x: 0px;
227
+ --popover-base-offset-y: -50%;
228
+
229
+ @apply top-1/2 bottom-auto left-4 right-auto m-0;
230
+ width: min(22rem, calc(100dvw - 2rem));
231
+ max-height: min(24rem, calc(100dvh - 2rem));
232
+ }
233
+
234
+ .popover-right[popover] {
235
+ --popover-translate-x: 1rem;
236
+ --popover-translate-y: 0px;
237
+ --popover-base-offset-x: 0px;
238
+ --popover-base-offset-y: -50%;
239
+
240
+ @apply top-1/2 bottom-auto right-4 left-auto m-0;
241
+ width: min(22rem, calc(100dvw - 2rem));
242
+ max-height: min(24rem, calc(100dvh - 2rem));
243
+ }
244
+
245
+ .popover-top-left[popover] {
246
+ --popover-translate-x: -1rem;
247
+ --popover-translate-y: -1rem;
248
+
249
+ @apply top-4 left-4 right-auto bottom-auto m-0;
250
+ width: min(22rem, calc(100dvw - 2rem));
251
+ max-height: min(20rem, calc(100dvh - 2rem));
252
+ }
253
+
254
+ .popover-top-right[popover] {
255
+ --popover-translate-x: 1rem;
256
+ --popover-translate-y: -1rem;
257
+
258
+ @apply top-4 right-4 left-auto bottom-auto m-0;
259
+ width: min(22rem, calc(100dvw - 2rem));
260
+ max-height: min(20rem, calc(100dvh - 2rem));
261
+ }
262
+
263
+ .popover-bottom-left[popover] {
264
+ --popover-translate-x: -1rem;
265
+ --popover-translate-y: 1rem;
266
+
267
+ @apply bottom-4 left-4 right-auto top-auto m-0;
268
+ width: min(22rem, calc(100dvw - 2rem));
269
+ max-height: min(20rem, calc(100dvh - 2rem));
270
+ }
271
+
272
+ .popover-bottom-right[popover] {
273
+ --popover-translate-x: 1rem;
274
+ --popover-translate-y: 1rem;
275
+
276
+ @apply bottom-4 right-4 left-auto top-auto m-0;
277
+ width: min(22rem, calc(100dvw - 2rem));
278
+ max-height: min(20rem, calc(100dvh - 2rem));
279
+ }
280
+
281
+ .popover-right-full[popover] {
282
+ --popover-translate-x: 1.25rem;
283
+ --popover-translate-y: 0px;
284
+ --popover-base-offset-x: 0px;
285
+ --popover-base-offset-y: 0px;
286
+
287
+ @apply inset-y-0 right-0 left-auto m-0 rounded-none rounded-l-3xl;
288
+ width: min(24rem, calc(100dvw - 3rem));
289
+ height: 100dvh;
290
+ max-height: 100dvh;
291
+ }
292
+
293
+ .popover-header {
294
+ @apply flex items-center justify-between gap-3 px-4 py-3 border-b border-line-default;
295
+ }
296
+
297
+ .popover-body {
298
+ @apply p-4 text-sm leading-relaxed text-text-tertiary;
299
+ }
300
+
301
+ .popover-footer {
302
+ @apply flex items-center justify-end gap-2 px-4 py-3 border-t border-line-default;
303
+ }
@@ -0,0 +1,60 @@
1
+ /* Add to your global CSS or create a new file */
2
+ code[class*="language-"],
3
+ pre[class*="language-"] {
4
+ @apply text-text-default;
5
+ }
6
+
7
+ .token.comment,
8
+ .token.prolog,
9
+ .token.doctype,
10
+ .token.cdata {
11
+ @apply text-text-tertiary;
12
+ }
13
+
14
+ .token.punctuation {
15
+ @apply text-text-secondary;
16
+ }
17
+
18
+ .token.property,
19
+ .token.tag,
20
+ .token.boolean,
21
+ .token.number,
22
+ .token.constant,
23
+ .token.symbol,
24
+ .token.deleted {
25
+ @apply text-text-error;
26
+ }
27
+
28
+ .token.selector,
29
+ .token.attr-name,
30
+ .token.string,
31
+ .token.char,
32
+ .token.builtin,
33
+ .token.inserted {
34
+ @apply text-text-success;
35
+ }
36
+
37
+ .token.operator,
38
+ .token.entity,
39
+ .token.url,
40
+ .language-css .token.string,
41
+ .style .token.string {
42
+ @apply text-text-default;
43
+ }
44
+
45
+ .token.atrule,
46
+ .token.attr-value,
47
+ .token.keyword {
48
+ @apply text-text-brand;
49
+ }
50
+
51
+ .token.function,
52
+ .token.class-name {
53
+ @apply text-text-attention;
54
+ }
55
+
56
+ .token.regex,
57
+ .token.important,
58
+ .token.variable {
59
+ @apply text-text-warning;
60
+ }