polpo 0.1.13 → 0.1.16

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 (204) hide show
  1. package/.turbo/cache/eslint/.cache_16wwsjl +1 -0
  2. package/.turbo/cache/eslint/.cache_rpznjo +1 -0
  3. package/.turbo/turbo-build$colon$code.log +49 -0
  4. package/.turbo/turbo-build$colon$css.log +2 -0
  5. package/.turbo/turbo-build.log +43 -0
  6. package/.turbo/turbo-lint.log +2 -0
  7. package/dist/components.cjs +1 -3655
  8. package/dist/components.css +2 -2173
  9. package/dist/components.js +1 -3576
  10. package/dist/helpers.cjs +1 -311
  11. package/dist/helpers.d.cts +4 -1
  12. package/dist/helpers.d.ts +4 -1
  13. package/dist/helpers.js +1 -276
  14. package/dist/hooks.cjs +1 -1065
  15. package/dist/hooks.js +1 -998
  16. package/dist/layouts.cjs +1 -146
  17. package/dist/layouts.css +2 -5
  18. package/dist/layouts.js +1 -119
  19. package/dist/types.cjs +1 -19
  20. package/dist/types.js +0 -1
  21. package/eslint.config.js +4 -0
  22. package/package.json +16 -11
  23. package/postcss.config.js +3 -0
  24. package/src/components/accordion/accordion-item.tsx +123 -0
  25. package/src/components/accordion/accordion.component.tsx +80 -0
  26. package/src/components/accordion/accordion.styles.css +41 -0
  27. package/src/components/accordion/index.ts +2 -0
  28. package/src/components/button/button.component.tsx +50 -0
  29. package/src/components/button/button.styles.css +317 -0
  30. package/src/components/button/index.ts +1 -0
  31. package/src/components/cards/flip-card/flip-card.component.tsx +66 -0
  32. package/src/components/cards/flip-card/flip-card.styles.css +50 -0
  33. package/src/components/cards/flip-card/index.ts +1 -0
  34. package/src/components/cards/hover-card/hover-card.component.tsx +76 -0
  35. package/src/components/cards/hover-card/hover-card.styles.css +13 -0
  36. package/src/components/cards/hover-card/index.ts +1 -0
  37. package/src/components/cards/index.ts +3 -0
  38. package/src/components/cards/slide-card/index.ts +1 -0
  39. package/src/components/cards/slide-card/slide-card.component.tsx +27 -0
  40. package/src/components/component.types.ts +31 -0
  41. package/src/components/cursor/cursor.component.tsx +49 -0
  42. package/src/components/cursor/cursor.styles.css +73 -0
  43. package/src/components/cursor/index.ts +1 -0
  44. package/src/components/form/checkbox/checkbox.component.tsx +95 -0
  45. package/src/components/form/checkbox/checkbox.styles.css +162 -0
  46. package/src/components/form/checkbox/index.ts +1 -0
  47. package/src/components/form/controller/controller.component.tsx +42 -0
  48. package/src/components/form/controller/index.ts +1 -0
  49. package/src/components/form/date-picker/date-picker.component.tsx +66 -0
  50. package/src/components/form/date-picker/index.ts +1 -0
  51. package/src/components/form/field/field.component.tsx +84 -0
  52. package/src/components/form/field/field.styles.css +98 -0
  53. package/src/components/form/field/field.types.ts +34 -0
  54. package/src/components/form/field/index.ts +2 -0
  55. package/src/components/form/form.types.ts +37 -0
  56. package/src/components/form/index.ts +14 -0
  57. package/src/components/form/input/index.ts +1 -0
  58. package/src/components/form/input/input.component.tsx +75 -0
  59. package/src/components/form/input-color/index.ts +1 -0
  60. package/src/components/form/input-color/input-color.component.tsx +170 -0
  61. package/src/components/form/input-color/input-color.styles.css +92 -0
  62. package/src/components/form/input-file/index.ts +1 -0
  63. package/src/components/form/input-file/input-file.component.tsx +221 -0
  64. package/src/components/form/input-file/input-file.styles.css +143 -0
  65. package/src/components/form/input-number/index.ts +1 -0
  66. package/src/components/form/input-number/input-number.component.tsx +144 -0
  67. package/src/components/form/input-password/index.ts +1 -0
  68. package/src/components/form/input-password/input-password.component.tsx +77 -0
  69. package/src/components/form/radio/index.ts +1 -0
  70. package/src/components/form/radio/radio.component.tsx +92 -0
  71. package/src/components/form/radio/radio.styles.css +117 -0
  72. package/src/components/form/select/index.ts +1 -0
  73. package/src/components/form/select/option.tsx +101 -0
  74. package/src/components/form/select/options.tsx +165 -0
  75. package/src/components/form/select/select.component.tsx +317 -0
  76. package/src/components/form/select/select.styles.css +115 -0
  77. package/src/components/form/select/select.types.ts +97 -0
  78. package/src/components/form/slider/index.ts +1 -0
  79. package/src/components/form/slider/slider.component.tsx +117 -0
  80. package/src/components/form/slider/slider.styles.css +94 -0
  81. package/src/components/form/switch/index.ts +1 -0
  82. package/src/components/form/switch/switch.component.tsx +166 -0
  83. package/src/components/form/switch/switch.styles.css +165 -0
  84. package/src/components/form/textarea/index.ts +1 -0
  85. package/src/components/form/textarea/textarea.component.tsx +80 -0
  86. package/src/components/form/textarea/textarea.styles.css +7 -0
  87. package/src/components/image/image.tsx +7 -0
  88. package/src/components/image/index.ts +1 -0
  89. package/src/components/index.ts +15 -0
  90. package/src/components/infinity-scroll/index.ts +1 -0
  91. package/src/components/infinity-scroll/infinity-scroll.component.tsx +51 -0
  92. package/src/components/infinity-scroll/infinity-scroll.styles.css +25 -0
  93. package/src/components/line/index.ts +1 -0
  94. package/src/components/line/line.component.tsx +77 -0
  95. package/src/components/line/line.styles.css +61 -0
  96. package/src/components/modals/action-modal/action-modal.component.tsx +150 -0
  97. package/src/components/modals/action-modal/action-modal.styles.css +115 -0
  98. package/src/components/modals/action-modal/index.ts +1 -0
  99. package/src/components/modals/aside-modal/aside-modal.component.tsx +63 -0
  100. package/src/components/modals/aside-modal/aside-modal.styles.css +86 -0
  101. package/src/components/modals/aside-modal/index.ts +1 -0
  102. package/src/components/modals/confirmation-modal/confirmation-modal.component.tsx +43 -0
  103. package/src/components/modals/confirmation-modal/confirmation-modal.styles.css +17 -0
  104. package/src/components/modals/confirmation-modal/index.ts +1 -0
  105. package/src/components/modals/index.ts +6 -0
  106. package/src/components/modals/menu/index.ts +1 -0
  107. package/src/components/modals/menu/menu.component.tsx +194 -0
  108. package/src/components/modals/menu/menu.styles.css +101 -0
  109. package/src/components/modals/modal/index.ts +2 -0
  110. package/src/components/modals/modal/modal.backdrop.tsx +67 -0
  111. package/src/components/modals/modal/modal.component.tsx +104 -0
  112. package/src/components/modals/modal/modal.styles.css +70 -0
  113. package/src/components/modals/portal/index.ts +1 -0
  114. package/src/components/modals/portal/portal.component.tsx +19 -0
  115. package/src/components/ripple/index.ts +1 -0
  116. package/src/components/ripple/ripple.component.tsx +70 -0
  117. package/src/components/ripple/ripple.styles.css +33 -0
  118. package/src/components/smart-table/index.ts +2 -0
  119. package/src/components/smart-table/smart-table.column.tsx +62 -0
  120. package/src/components/smart-table/smart-table.component.tsx +116 -0
  121. package/src/components/smart-table/smart-table.helpers.tsx +58 -0
  122. package/src/components/smart-table/smart-table.hooks.ts +27 -0
  123. package/src/components/smart-table/smart-table.row.tsx +28 -0
  124. package/src/components/smart-table/smart-table.styles.css +102 -0
  125. package/src/components/smart-table/smart-table.types.ts +42 -0
  126. package/src/components/tabs/index.ts +1 -0
  127. package/src/components/tabs/tabs-list.tsx +120 -0
  128. package/src/components/tabs/tabs.styles.css +164 -0
  129. package/src/components/tabs/tabs.tsx +119 -0
  130. package/src/components/tag/index.ts +1 -0
  131. package/src/components/tag/tag.component.tsx +34 -0
  132. package/src/components/tag/tag.styles.css +50 -0
  133. package/src/components/tooltips/click-to-copy/click-to-copy.component.tsx +41 -0
  134. package/src/components/tooltips/click-to-copy/index.ts +1 -0
  135. package/src/components/tooltips/index.ts +2 -0
  136. package/src/components/tooltips/tooltip/index.ts +1 -0
  137. package/src/components/tooltips/tooltip/tooltip.component.tsx +64 -0
  138. package/src/components/tooltips/tooltip/tooltip.styles.css +91 -0
  139. package/src/components/typography/index.ts +1 -0
  140. package/src/components/typography/typography.component.tsx +81 -0
  141. package/src/components/typography/typography.constants.ts +53 -0
  142. package/src/components/typography/typography.styles.css +122 -0
  143. package/src/helpers/cn.ts +6 -0
  144. package/src/helpers/format-bytes.ts +11 -0
  145. package/src/helpers/format-dates.ts +47 -0
  146. package/src/helpers/get-modal-position-relative-to-screen.ts +86 -0
  147. package/src/helpers/get-modal-position.ts +211 -0
  148. package/src/helpers/index.ts +6 -0
  149. package/src/helpers/text/index.ts +1 -0
  150. package/src/helpers/text/to-capitalize.ts +17 -0
  151. package/src/hooks/index.ts +30 -0
  152. package/src/hooks/use-async.ts +88 -0
  153. package/src/hooks/use-classnames.ts +13 -0
  154. package/src/hooks/use-click-outside.ts +32 -0
  155. package/src/hooks/use-constant.ts +3 -0
  156. package/src/hooks/use-cookie.ts +124 -0
  157. package/src/hooks/use-debounce-state.ts +13 -0
  158. package/src/hooks/use-debounce.ts +15 -0
  159. package/src/hooks/use-dimensions.ts +19 -0
  160. package/src/hooks/use-dom-container.ts +35 -0
  161. package/src/hooks/use-event-listener.ts +71 -0
  162. package/src/hooks/use-file-reader.ts +69 -0
  163. package/src/hooks/use-geolocation.ts +63 -0
  164. package/src/hooks/use-hover.ts +17 -0
  165. package/src/hooks/use-in-view.ts +18 -0
  166. package/src/hooks/use-input-handlers.ts +52 -0
  167. package/src/hooks/use-intersection-observer.ts +19 -0
  168. package/src/hooks/use-media-query.ts +25 -0
  169. package/src/hooks/use-modal-in-container.ts +85 -0
  170. package/src/hooks/use-modal-transition.ts +64 -0
  171. package/src/hooks/use-modal.ts +21 -0
  172. package/src/hooks/use-mouse-position.ts +64 -0
  173. package/src/hooks/use-online-status.ts +12 -0
  174. package/src/hooks/use-render-count.ts +11 -0
  175. package/src/hooks/use-resize-observer.ts +18 -0
  176. package/src/hooks/use-safe-dispatch.ts +22 -0
  177. package/src/hooks/use-scroll.ts +31 -0
  178. package/src/hooks/use-state-history.ts +22 -0
  179. package/src/hooks/use-toggle-values.ts +14 -0
  180. package/src/hooks/use-toggle.ts +11 -0
  181. package/src/hooks/use-viewport.ts +38 -0
  182. package/src/index.ts +5 -0
  183. package/src/layouts/flex/flex.component.tsx +75 -0
  184. package/src/layouts/flex/index.ts +1 -0
  185. package/src/layouts/grid/grid.component.tsx +89 -0
  186. package/src/layouts/grid/grid.styles.css +5 -0
  187. package/src/layouts/grid/index.ts +1 -0
  188. package/src/layouts/index.ts +2 -0
  189. package/src/types/generics.ts +68 -0
  190. package/src/types/index.ts +1 -0
  191. package/tsconfig.json +10 -0
  192. package/tsup.config.cjs +36 -0
  193. package/dist/components.cjs.map +0 -1
  194. package/dist/components.css.map +0 -1
  195. package/dist/components.js.map +0 -1
  196. package/dist/helpers.cjs.map +0 -1
  197. package/dist/helpers.js.map +0 -1
  198. package/dist/hooks.cjs.map +0 -1
  199. package/dist/hooks.js.map +0 -1
  200. package/dist/layouts.cjs.map +0 -1
  201. package/dist/layouts.css.map +0 -1
  202. package/dist/layouts.js.map +0 -1
  203. package/dist/types.cjs.map +0 -1
  204. package/dist/types.js.map +0 -1
@@ -1,2173 +1,2 @@
1
- /* src/components/line/line.styles.css */
2
- .custom-line {
3
- --color: attr(data-color, "currentColor");
4
- --size: attr(data-size, 1px);
5
- --spacing: attr(data-spacing, 1px);
6
- --dashSize: attr(data-dash-size, 1px);
7
- &.horizontal,
8
- &.vertical {
9
- background: var(--color);
10
- display: inline-block;
11
- border-radius: 100px;
12
- }
13
- &.horizontal {
14
- width: 100%;
15
- height: var(--size);
16
- &.dotted {
17
- background:
18
- radial-gradient(
19
- calc(var(--size) / 2) calc(var(--size) / 2),
20
- var(--color) 100%,
21
- transparent) 0 0 / calc(var(--spacing) + var(--size)) 100%;
22
- }
23
- &.dashed {
24
- background:
25
- repeating-linear-gradient(
26
- 90deg,
27
- var(--color),
28
- var(--color) var(--dashSize),
29
- transparent var(--dashSize),
30
- transparent calc(var(--spacing) + var(--dashSize)));
31
- }
32
- }
33
- &.vertical {
34
- height: 100%;
35
- width: var(--size);
36
- &.dotted {
37
- background:
38
- radial-gradient(
39
- calc(var(--size) / 2) calc(var(--size) / 2),
40
- var(--color) 100%,
41
- transparent) 0 0 / 100% calc(var(--spacing) + var(--size));
42
- }
43
- &.dashed {
44
- background:
45
- repeating-linear-gradient(
46
- 0deg,
47
- var(--color),
48
- var(--color) var(--dashSize),
49
- transparent var(--dashSize),
50
- transparent calc(var(--spacing) + var(--dashSize)));
51
- }
52
- }
53
- }
54
-
55
- /* src/components/accordion/accordion.styles.css */
56
- .accordion {
57
- display: grid;
58
- }
59
- .accordion-item {
60
- display: grid;
61
- position: relative;
62
- .accordion-header {
63
- display: grid;
64
- grid-template-columns: 1fr auto;
65
- align-items: center;
66
- gap: 20px;
67
- cursor: pointer;
68
- position: sticky;
69
- top: 0;
70
- padding: 20px 0;
71
- &.has-start-content {
72
- grid-template-columns: auto 1fr auto;
73
- }
74
- }
75
- .accordion-header-content {
76
- display: grid;
77
- }
78
- .accordion-toggle-icon {
79
- transition: all 300ms ease;
80
- &.isOpen {
81
- transform: rotate(-90deg);
82
- }
83
- }
84
- .accordion-body {
85
- padding: 10px 0 20px;
86
- }
87
- }
88
-
89
- /* src/components/cards/flip-card/flip-card.styles.css */
90
- .flip-card {
91
- --cardZIndex: attr(data-zIndex);
92
- --flipSpeed: attr(data-flipSpeed, 500ms);
93
- --frontRotate: attr(data-frontRotate);
94
- --backRotate: attr(data-backRotate);
95
- perspective: 1000px;
96
- z-index: var(--cardZIndex);
97
- .flipper {
98
- height: 100%;
99
- position: relative;
100
- width: 100%;
101
- transform-style: preserve-3d;
102
- }
103
- .front,
104
- .back {
105
- -webkit-backface-visibility: hidden;
106
- backface-visibility: hidden;
107
- transform-style: preserve-3d;
108
- transition: var(--flipSpeed);
109
- height: 100%;
110
- left: 0;
111
- top: 0;
112
- width: 100%;
113
- }
114
- .front {
115
- position: relative;
116
- transform: var(--frontRotate);
117
- z-index: 2;
118
- }
119
- .back {
120
- position: absolute;
121
- transform: var(--backRotate);
122
- }
123
- .is-flipped {
124
- .front {
125
- position: absolute;
126
- }
127
- .back {
128
- position: relative;
129
- }
130
- }
131
- }
132
-
133
- /* src/components/cards/hover-card/hover-card.styles.css */
134
- .hover-card {
135
- display: inline-block;
136
- transition: all 300ms ease;
137
- .card-hover-layer {
138
- transition: all 100ms ease;
139
- width: 100%;
140
- height: 100%;
141
- display: grid;
142
- }
143
- }
144
-
145
- /* src/components/typography/typography.styles.css */
146
- .typography {
147
- margin: 0;
148
- padding: 0.5em 0 0.4em;
149
- &.primary {
150
- color: var(--primary-500);
151
- }
152
- &.secondary {
153
- color: var(--secondary-500);
154
- }
155
- &.tertiary {
156
- color: var(--tertiary-500);
157
- }
158
- &.active {
159
- color: var(--active-500);
160
- }
161
- &.alert {
162
- color: var(--alert-500);
163
- }
164
- &.warning {
165
- color: var(--warning-500);
166
- }
167
- &.info {
168
- color: var(--info-500);
169
- }
170
- &.recommended-width {
171
- max-width: 70ch;
172
- }
173
- &.code-family {
174
- font-family: monospace;
175
- }
176
- &.no-padding {
177
- padding: 0;
178
- }
179
- &.nowrap {
180
- overflow: hidden;
181
- text-overflow: ellipsis;
182
- white-space: nowrap;
183
- }
184
- &.nowrap-max-lines {
185
- overflow: hidden;
186
- display: -webkit-box;
187
- -webkit-box-orient: vertical;
188
- }
189
- &.nowrap-max-lines-2 {
190
- -webkit-line-clamp: 2;
191
- line-clamp: 2;
192
- }
193
- &.nowrap-max-lines-3 {
194
- -webkit-line-clamp: 3;
195
- line-clamp: 3;
196
- }
197
- &.nowrap-max-lines-4 {
198
- -webkit-line-clamp: 4;
199
- line-clamp: 4;
200
- }
201
- &.nowrap-max-lines-5 {
202
- -webkit-line-clamp: 5;
203
- line-clamp: 5;
204
- }
205
- &.hero {
206
- font-size: var(--typography-size-hero);
207
- line-height: var(--typography-line-height-header);
208
- font-weight: 700;
209
- }
210
- &.header1 {
211
- font-size: var(--typography-size-header1);
212
- line-height: var(--typography-line-height-header);
213
- font-weight: 700;
214
- }
215
- &.header2 {
216
- font-size: var(--typography-size-header2);
217
- line-height: var(--typography-line-height-header);
218
- font-weight: 700;
219
- }
220
- &.header3 {
221
- font-size: var(--typography-size-header3);
222
- line-height: var(--typography-line-height-header);
223
- font-weight: 700;
224
- }
225
- &.header4 {
226
- font-size: var(--typography-size-header4);
227
- line-height: var(--typography-line-height-header);
228
- font-weight: 700;
229
- }
230
- &.body {
231
- font-size: var(--typography-size-body);
232
- line-height: var(--typography-line-height-common);
233
- font-weight: 400;
234
- }
235
- &.label {
236
- font-size: var(--typography-size-label);
237
- line-height: var(--typography-line-height-common);
238
- font-weight: 400;
239
- }
240
- &.small {
241
- font-size: var(--typography-size-small);
242
- line-height: var(--typography-line-height-common);
243
- font-weight: 400;
244
- }
245
- &.bold {
246
- font-weight: 700;
247
- }
248
- &.regular {
249
- font-weight: 400;
250
- }
251
- &.light {
252
- font-weight: 300;
253
- }
254
- }
255
-
256
- /* src/components/ripple/ripple.styles.css */
257
- .ripple {
258
- position: absolute;
259
- display: block;
260
- top: 0;
261
- left: 0;
262
- right: 0;
263
- bottom: 0;
264
- overflow: hidden;
265
- border-radius: inherit;
266
- z-index: 1;
267
- .ripple-effect {
268
- position: absolute;
269
- transform: translate(-50%, -50%);
270
- border-radius: 50%;
271
- width: 0;
272
- height: 0;
273
- pointer-events: none;
274
- animation: ripple-effect infinite;
275
- opacity: 0.4;
276
- }
277
- }
278
- @keyframes ripple-effect {
279
- to {
280
- width: 300px;
281
- height: 300px;
282
- opacity: 0;
283
- filter: blur(5px);
284
- }
285
- }
286
-
287
- /* src/components/button/button.styles.css */
288
- .button {
289
- --button-blur: 2px;
290
- --color: var(--neutral-800);
291
- --solid-background: var(--neutral-900);
292
- --solid-text: var(--neutral-50);
293
- --solid-hover-background: var(--neutral-800);
294
- --solid-active-background: var(--neutral-900);
295
- --flat-background: hsl(from var(--neutral-100) h s l / 80%);
296
- --flat-hover-background: var(--neutral-50);
297
- --flat-active-background: var(--neutral-100);
298
- --outlined-hover-background: hsl(from var(--neutral-100) h s l / 20%);
299
- --outlined-active-background: hsl(from var(--neutral-100) h s l / 50%);
300
- --text-hover-background: hsl(from var(--neutral-100) h s l / 20%);
301
- --text-active-background: hsl(from var(--neutral-100) h s l / 50%);
302
- --shadow-color: hsl(from var(--neutral-800) h s l / 20%);
303
- --focus-background: hsl(from var(--neutral-100) h s l / 20%);
304
- display: flex;
305
- flex-direction: row;
306
- justify-content: center;
307
- align-items: center;
308
- padding: 0.625em 2.1875em;
309
- gap: 0.625em;
310
- width: auto;
311
- border-radius: 0.5em;
312
- font-weight: bold;
313
- font-size: var(--typography-size-label);
314
- cursor: pointer;
315
- outline: none;
316
- transition: all 150ms ease;
317
- user-select: none;
318
- &.icon {
319
- padding: 0.625em;
320
- }
321
- &.full {
322
- width: 100%;
323
- }
324
- &.no-wrap {
325
- white-space: nowrap;
326
- overflow: hidden;
327
- text-overflow: ellipsis;
328
- }
329
- &.size-small {
330
- font-size: var(--typography-size-small);
331
- }
332
- &.size-regular {
333
- font-size: var(--typography-size-label);
334
- }
335
- &.size-large {
336
- font-size: var(--typography-size-body);
337
- }
338
- &.radius-none {
339
- border-radius: 0;
340
- }
341
- &.radius-small {
342
- border-radius: 0.25em;
343
- }
344
- &.radius-medium {
345
- border-radius: 0.5em;
346
- }
347
- &.radius-large {
348
- border-radius: 1em;
349
- }
350
- &.radius-full {
351
- border-radius: 100rem;
352
- }
353
- &:not(:disabled) {
354
- &:hover,
355
- &:active,
356
- &:focus-visible {
357
- backdrop-filter: blur(var(--button-blur));
358
- }
359
- &:hover {
360
- transform: scale(1.01);
361
- box-shadow: 0 1.4em 0.5em -1em hsl(from var(--black) h s l / 20%), 0 0.7em 1em -0.5em hsl(from var(--black) h s l / 20%);
362
- }
363
- &:active {
364
- transform: scale(0.98);
365
- box-shadow: 0 0.3em 0.4em -0.2em hsl(from var(--black) h s l / 20%), 0 0.2em 0.8em -0.1em hsl(from var(--black) h s l / 20%);
366
- }
367
- }
368
- color: var(--color);
369
- .ripple-effect {
370
- background: var(--color);
371
- }
372
- &.solid {
373
- background: var(--solid-background);
374
- color: var(--solid-text);
375
- backdrop-filter: blur(var(--button-blur));
376
- .ripple-effect {
377
- background: var(--solid-text);
378
- }
379
- &:focus-visible {
380
- box-shadow: 0 0 0 0.3125em var(--shadow-color);
381
- background: var(--solid-background);
382
- }
383
- &:hover {
384
- background: var(--solid-hover-background);
385
- }
386
- &:active {
387
- background: var(--solid-active-background);
388
- }
389
- }
390
- &.flat {
391
- background: var(--flat-background);
392
- backdrop-filter: blur(var(--button-blur));
393
- &:hover {
394
- background: var(--flat-hover-background);
395
- }
396
- &:active {
397
- background: var(--flat-active-background);
398
- }
399
- }
400
- &.outlined {
401
- background: transparent;
402
- border: 1px solid;
403
- &:hover {
404
- background: var(--outlined-hover-background);
405
- }
406
- &:active {
407
- background: var(--outlined-active-background);
408
- }
409
- }
410
- &.text {
411
- background: transparent;
412
- &:hover {
413
- background: var(--text-hover-background);
414
- }
415
- &:active {
416
- background: var(--text-active-background);
417
- }
418
- }
419
- &:focus-visible {
420
- box-shadow: 0 0 0 0.3125em var(--shadow-color);
421
- background: var(--focus-background);
422
- }
423
- &.primary {
424
- --color: var(--primary-500);
425
- --solid-background: var(--primary-500);
426
- --solid-text: var(--primary-50);
427
- --solid-hover-background: var(--primary-400);
428
- --solid-active-background: var(--primary-600);
429
- --flat-background: hsl(from var(--primary-100) h s l / 80%);
430
- --flat-hover-background: var(--primary-50);
431
- --flat-active-background: var(--primary-100);
432
- --outlined-hover-background: hsl(from var(--primary-100) h s l / 20%);
433
- --outlined-active-background: hsl(from var(--primary-100) h s l / 50%);
434
- --text-hover-background: hsl(from var(--primary-100) h s l / 20%);
435
- --text-active-background: hsl(from var(--primary-100) h s l / 50%);
436
- --shadow-color: hsl(from var(--primary-500) h s l / 20%);
437
- --focus-background: hsl(from var(--primary-100) h s l / 20%);
438
- }
439
- &.secondary {
440
- --color: var(--secondary-500);
441
- --solid-background: var(--secondary-500);
442
- --solid-text: var(--secondary-50);
443
- --solid-hover-background: var(--secondary-400);
444
- --solid-active-background: var(--secondary-600);
445
- --flat-background: hsl(from var(--secondary-100) h s l / 80%);
446
- --flat-hover-background: var(--secondary-50);
447
- --flat-active-background: var(--secondary-100);
448
- --outlined-hover-background: hsl(from var(--secondary-100) h s l / 20%);
449
- --outlined-active-background: hsl(from var(--secondary-100) h s l / 50%);
450
- --text-hover-background: hsl(from var(--secondary-100) h s l / 20%);
451
- --text-active-background: hsl(from var(--secondary-100) h s l / 50%);
452
- --shadow-color: hsl(from var(--secondary-500) h s l / 20%);
453
- --focus-background: hsl(from var(--secondary-100) h s l / 20%);
454
- }
455
- &.tertiary {
456
- --color: var(--tertiary-500);
457
- --solid-background: var(--tertiary-500);
458
- --solid-text: var(--tertiary-50);
459
- --solid-hover-background: var(--tertiary-400);
460
- --solid-active-background: var(--tertiary-600);
461
- --flat-background: hsl(from var(--tertiary-100) h s l / 80%);
462
- --flat-hover-background: var(--tertiary-50);
463
- --flat-active-background: var(--tertiary-100);
464
- --outlined-hover-background: hsl(from var(--tertiary-100) h s l / 20%);
465
- --outlined-active-background: hsl(from var(--tertiary-100) h s l / 50%);
466
- --text-hover-background: hsl(from var(--tertiary-100) h s l / 20%);
467
- --text-active-background: hsl(from var(--tertiary-100) h s l / 50%);
468
- --shadow-color: hsl(from var(--tertiary-500) h s l / 20%);
469
- --focus-background: hsl(from var(--tertiary-100) h s l / 20%);
470
- }
471
- &.active {
472
- --color: var(--active-500);
473
- --solid-background: var(--active-500);
474
- --solid-text: var(--active-50);
475
- --solid-hover-background: var(--active-400);
476
- --solid-active-background: var(--active-600);
477
- --flat-background: hsl(from var(--active-100) h s l / 80%);
478
- --flat-hover-background: var(--active-50);
479
- --flat-active-background: var(--active-100);
480
- --outlined-hover-background: hsl(from var(--active-100) h s l / 20%);
481
- --outlined-active-background: hsl(from var(--active-100) h s l / 50%);
482
- --text-hover-background: hsl(from var(--active-100) h s l / 20%);
483
- --text-active-background: hsl(from var(--active-100) h s l / 50%);
484
- --shadow-color: hsl(from var(--active-500) h s l / 20%);
485
- --focus-background: hsl(from var(--active-100) h s l / 20%);
486
- }
487
- &.warning {
488
- --color: var(--warning-500);
489
- --solid-background: var(--warning-500);
490
- --solid-text: var(--warning-50);
491
- --solid-hover-background: var(--warning-400);
492
- --solid-active-background: var(--warning-600);
493
- --flat-background: hsl(from var(--warning-100) h s l / 80%);
494
- --flat-hover-background: var(--warning-50);
495
- --flat-active-background: var(--warning-100);
496
- --outlined-hover-background: hsl(from var(--warning-100) h s l / 20%);
497
- --outlined-active-background: hsl(from var(--warning-100) h s l / 50%);
498
- --text-hover-background: hsl(from var(--warning-100) h s l / 20%);
499
- --text-active-background: hsl(from var(--warning-100) h s l / 50%);
500
- --shadow-color: hsl(from var(--warning-500) h s l / 20%);
501
- --focus-background: hsl(from var(--warning-100) h s l / 20%);
502
- }
503
- &.alert {
504
- --color: var(--alert-500);
505
- --solid-background: var(--alert-500);
506
- --solid-text: var(--alert-50);
507
- --solid-hover-background: var(--alert-400);
508
- --solid-active-background: var(--alert-600);
509
- --flat-background: hsl(from var(--alert-100) h s l / 80%);
510
- --flat-hover-background: var(--alert-50);
511
- --flat-active-background: var(--alert-100);
512
- --outlined-hover-background: hsl(from var(--alert-100) h s l / 20%);
513
- --outlined-active-background: hsl(from var(--alert-100) h s l / 50%);
514
- --text-hover-background: hsl(from var(--alert-100) h s l / 20%);
515
- --text-active-background: hsl(from var(--alert-100) h s l / 50%);
516
- --shadow-color: hsl(from var(--alert-500) h s l / 20%);
517
- --focus-background: hsl(from var(--alert-100) h s l / 20%);
518
- }
519
- &.info {
520
- --color: var(--info-500);
521
- --solid-background: var(--info-500);
522
- --solid-text: var(--info-50);
523
- --solid-hover-background: var(--info-400);
524
- --solid-active-background: var(--info-600);
525
- --flat-background: hsl(from var(--info-100) h s l / 80%);
526
- --flat-hover-background: var(--info-50);
527
- --flat-active-background: var(--info-100);
528
- --outlined-hover-background: hsl(from var(--info-100) h s l / 20%);
529
- --outlined-active-background: hsl(from var(--info-100) h s l / 50%);
530
- --text-hover-background: hsl(from var(--info-100) h s l / 20%);
531
- --text-active-background: hsl(from var(--info-100) h s l / 50%);
532
- --shadow-color: hsl(from var(--info-500) h s l / 20%);
533
- --focus-background: hsl(from var(--info-100) h s l / 20%);
534
- }
535
- &:disabled {
536
- color: var(--neutral-200);
537
- pointer-events: none;
538
- }
539
- &.solid:disabled {
540
- background: var(--neutral-200);
541
- color: var(--neutral-50);
542
- }
543
- &.flat:disabled {
544
- background: hsl(from var(--neutral-50) h s l / 80%);
545
- }
546
- &.outlined:disabled,
547
- &.text:disabled {
548
- background: transparent;
549
- }
550
- }
551
-
552
- /* src/components/cursor/cursor.styles.css */
553
- .cursor-overlay {
554
- position: fixed;
555
- top: 0;
556
- left: 0;
557
- width: 100%;
558
- height: 100%;
559
- cursor: none;
560
- pointer-events: none;
561
- }
562
- .cursor {
563
- position: fixed;
564
- border-radius: 50%;
565
- z-index: 99999999;
566
- pointer-events: none;
567
- transform: translateZ(0);
568
- @media (any-pointer: coarse) {
569
- display: none;
570
- }
571
- &.outer-circle {
572
- margin-left: -15px;
573
- margin-top: -15px;
574
- width: 30px;
575
- height: 30px;
576
- border: 2px solid var(--primary-500);
577
- box-sizing: border-box;
578
- z-index: 99999999;
579
- opacity: 0.5;
580
- transition:
581
- all 0.08s ease-out,
582
- width 0.3s ease-in-out,
583
- height 0.3s ease-in-out,
584
- margin 0.3s ease-in-out,
585
- opacity 0.3s ease-in-out;
586
- &.cursor-hover {
587
- margin-left: -40px;
588
- margin-top: -40px;
589
- width: 80px;
590
- height: 80px;
591
- background-color: var(--primary-500);
592
- opacity: 0.3;
593
- }
594
- &.cursor-text {
595
- margin-left: -2px;
596
- margin-top: -40px;
597
- width: 4px;
598
- height: 80px;
599
- background-color: var(--primary-500);
600
- opacity: 0.3;
601
- }
602
- }
603
- &.inner-circle {
604
- margin-left: -3px;
605
- margin-top: -3px;
606
- width: 6px;
607
- height: 6px;
608
- z-index: 99999999;
609
- background-color: var(--primary-500);
610
- transition: opacity 0.3s ease-in-out;
611
- opacity: 1;
612
- &.cursor-hover {
613
- opacity: 0;
614
- }
615
- }
616
- }
617
-
618
- /* src/components/form/checkbox/checkbox.styles.css */
619
- .checkbox {
620
- border-radius: 40%;
621
- background: var(--background-paper);
622
- transition: all 300ms ease;
623
- width: 1em;
624
- height: 1em;
625
- margin: 2px;
626
- outline: 1px solid;
627
- display: flex;
628
- position: relative;
629
- .checkbox-input {
630
- position: absolute;
631
- top: 0;
632
- left: 0;
633
- width: 100%;
634
- height: 100%;
635
- cursor: pointer;
636
- opacity: 0;
637
- z-index: 2;
638
- }
639
- &.size-small {
640
- font-size: 1em;
641
- }
642
- &.size-regular {
643
- font-size: 1.2em;
644
- }
645
- &.size-large {
646
- font-size: 1.4em;
647
- }
648
- }
649
- .checkbox-fill {
650
- transition: all 200ms ease-out;
651
- border-radius: inherit;
652
- margin: auto;
653
- width: 0;
654
- height: 0;
655
- overflow: hidden;
656
- position: relative;
657
- display: grid;
658
- place-content: center;
659
- place-items: center;
660
- .checkbox-icon {
661
- font-size: 0.7em;
662
- z-index: 1;
663
- opacity: 0;
664
- transition: opacity 300ms ease;
665
- }
666
- }
667
- .checkbox-container {
668
- --color: var(--neutral-800);
669
- --color-icon: var(--neutral-50);
670
- --color-hover: hsl(from var(--neutral-800) h s l / 50%);
671
- display: grid;
672
- grid-auto-flow: column;
673
- grid-auto-columns: auto 1fr;
674
- align-items: center;
675
- gap: 0.5em;
676
- width: fit-content;
677
- .checkbox-label {
678
- cursor: pointer;
679
- user-select: none;
680
- width: 100%;
681
- }
682
- .checkbox {
683
- color: var(--color);
684
- &.is-checked {
685
- .checkbox-fill {
686
- width: 100%;
687
- height: 100%;
688
- background: var(--color);
689
- color: var(--color-icon);
690
- }
691
- .checkbox-icon {
692
- opacity: 1;
693
- }
694
- }
695
- }
696
- .checkbox:hover,
697
- &:has(.checkbox-label:hover) .checkbox {
698
- box-shadow: 0 0 0 0.3em var(--color-hover);
699
- .checkbox-fill {
700
- width: 20%;
701
- height: 20%;
702
- border-radius: 20%;
703
- background: var(--color-hover);
704
- color: var(--color-icon);
705
- }
706
- &:is(.is-checked) {
707
- .checkbox-fill {
708
- width: 100%;
709
- height: 100%;
710
- border-radius: inherit;
711
- background: var(--color);
712
- }
713
- }
714
- }
715
- .checkbox:focus,
716
- &:has(.checkbox-input:focus) .checkbox,
717
- &:has(.checkbox-label:focus) .checkbox {
718
- box-shadow: 0 0 0 0.3em var(--color-hover);
719
- }
720
- &.color-primary {
721
- --color: var(--primary-500);
722
- --color-icon: var(--primary-50);
723
- --color-hover: hsl(from var(--primary-500) h s l / 50%);
724
- }
725
- &.color-secondary {
726
- --color: var(--secondary-500);
727
- --color-icon: var(--secondary-50);
728
- --color-hover: hsl(from var(--secondary-500) h s l / 50%);
729
- }
730
- &.color-tertiary {
731
- --color: var(--tertiary-500);
732
- --color-icon: var(--tertiary-50);
733
- --color-hover: hsl(from var(--tertiary-500) h s l / 50%);
734
- }
735
- &.color-active {
736
- --color: var(--active-500);
737
- --color-icon: var(--active-50);
738
- --color-hover: hsl(from var(--active-500) h s l / 50%);
739
- }
740
- &.color-warning {
741
- --color: var(--warning-500);
742
- --color-icon: var(--warning-50);
743
- --color-hover: hsl(from var(--warning-500) h s l / 50%);
744
- }
745
- &.color-alert {
746
- --color: var(--alert-500);
747
- --color-icon: var(--alert-50);
748
- --color-hover: hsl(from var(--alert-500) h s l / 50%);
749
- }
750
- &.color-info {
751
- --color: var(--info-500);
752
- --color-icon: var(--info-50);
753
- --color-hover: hsl(from var(--info-500) h s l / 50%);
754
- }
755
- }
756
-
757
- /* src/components/form/field/field.styles.css */
758
- .form-field {
759
- display: grid;
760
- grid-auto-columns: auto;
761
- gap: 0.5em;
762
- transition: all 200ms ease;
763
- .field-content {
764
- display: grid;
765
- grid-template-columns: auto 1fr auto;
766
- align-items: center;
767
- }
768
- .field-left-icon,
769
- .field-right-icon {
770
- font-size: 1em;
771
- }
772
- .field-left-icon {
773
- margin-right: 1em;
774
- }
775
- .field-right-icon {
776
- margin-left: 1em;
777
- }
778
- .field-message {
779
- display: grid;
780
- grid-auto-flow: column;
781
- gap: 5px;
782
- align-items: center;
783
- justify-content: start;
784
- }
785
- &.variant-content-border {
786
- .field-content {
787
- border: 1px solid var(--border);
788
- border-radius: 4px;
789
- padding: 1em;
790
- background: var(--background);
791
- }
792
- }
793
- &.variant-content-line {
794
- .field-content {
795
- border-bottom: 1px solid;
796
- padding: 0.5em 0;
797
- }
798
- }
799
- &.variant-full-border {
800
- border: 1px solid var(--border);
801
- border-radius: 4px;
802
- padding: 0.5em 0;
803
- background: var(--background);
804
- .field-label,
805
- .field-content,
806
- .field-message {
807
- padding: 0 1em;
808
- }
809
- }
810
- &.variant-inline {
811
- grid-auto-flow: column;
812
- padding: 0.5em 0;
813
- align-items: center;
814
- .field-label {
815
- width: auto;
816
- }
817
- }
818
- &.error {
819
- color: var(--alert-500);
820
- border-color: var(--alert-500);
821
- }
822
- &.focus {
823
- color: var(--info-500);
824
- border-color: var(--info-500);
825
- }
826
- &.error,
827
- &.focus {
828
- .field-left-icon,
829
- .field-right-icon,
830
- .field-children {
831
- color: var(--foreground);
832
- border-color: var(--foreground);
833
- }
834
- }
835
- .field-children > * {
836
- width: 100%;
837
- }
838
- }
839
-
840
- /* src/components/modals/modal/modal.styles.css */
841
- .modal {
842
- position: fixed;
843
- z-index: 1001;
844
- pointer-events: none;
845
- }
846
- .modal-content {
847
- background: var(--background-paper);
848
- pointer-events: initial;
849
- &.animation-fade-down {
850
- animation: fadeInDown 200ms ease;
851
- &.modal-close {
852
- animation: fadeOutUp 200ms ease;
853
- transform: translateY(-10px);
854
- opacity: 0;
855
- }
856
- }
857
- &.animation-bounce {
858
- animation: bounceIn 500ms ease;
859
- &.modal-close {
860
- animation: bounceOut 500ms ease;
861
- transform: scale3d(0.3, 0.3, 0.3);
862
- opacity: 0;
863
- }
864
- }
865
- }
866
- .modal-backdrop {
867
- position: fixed;
868
- width: 100%;
869
- height: 100%;
870
- top: 0;
871
- left: 0;
872
- z-index: 1000;
873
- animation: backdropOpen 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
874
- &.backdrop-close {
875
- animation: backdropClose 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
876
- opacity: 0;
877
- transform: translateY(-10px);
878
- }
879
- }
880
- @keyframes backdropOpen {
881
- from {
882
- opacity: 0;
883
- transform: translateY(-10px);
884
- }
885
- to {
886
- opacity: 1;
887
- transform: translateY(0);
888
- }
889
- }
890
- @keyframes backdropClose {
891
- from {
892
- opacity: 1;
893
- transform: translateY(0);
894
- }
895
- to {
896
- opacity: 0;
897
- transform: translateY(-10px);
898
- }
899
- }
900
-
901
- /* src/components/modals/action-modal/action-modal.styles.css */
902
- .action-modal {
903
- background: transparent;
904
- .modal-content {
905
- &.shake-animation {
906
- animation: headShake 600ms linear;
907
- }
908
- }
909
- }
910
- .action-modal-content {
911
- position: relative;
912
- .action-modal-body {
913
- box-shadow: 0 0 10px -5px;
914
- border-radius: 10px;
915
- overflow: hidden;
916
- display: grid;
917
- }
918
- .action-modal-content {
919
- background: var(--background);
920
- padding: 3em 4em 2em;
921
- display: grid;
922
- gap: 1em;
923
- }
924
- &.no-padding .action-modal-content {
925
- padding: 2em 0 0;
926
- }
927
- &:has(.action-modal-icon) .action-modal-content {
928
- padding-top: 4em;
929
- }
930
- &.back-card {
931
- &::before {
932
- content: "";
933
- position: absolute;
934
- width: 90%;
935
- height: 100%;
936
- top: 8px;
937
- left: 50%;
938
- transform: translate(-50%);
939
- z-index: -1;
940
- background: var(--primary-500);
941
- border-radius: 10px;
942
- display: block;
943
- transition: top 300ms cubic-bezier(0.81, -0.52, 0.42, 2.5);
944
- }
945
- }
946
- .action-modal-icon {
947
- position: absolute;
948
- top: 0;
949
- left: 50%;
950
- transform: translate(-50%, -50%);
951
- background: var(--primary-500);
952
- color: var(--primary-50);
953
- padding: 0;
954
- border-radius: 50%;
955
- width: 2em;
956
- height: 2em;
957
- display: grid;
958
- place-content: center;
959
- transition: box-shadow 300ms cubic-bezier(0.81, -0.52, 0.42, 2.5);
960
- z-index: 1;
961
- box-shadow:
962
- 0 0 0 0 hsl(from var(--primary-500) h s l / 53%),
963
- 0 0 0 0 hsl(from var(--primary-500) h s l / 40%),
964
- 0 0 0 0 hsl(from var(--primary-500) h s l / 27%),
965
- 0 0 0 0 hsl(from var(--primary-500) h s l / 14%);
966
- }
967
- .close-modal-button {
968
- width: 1em;
969
- height: 1em;
970
- border-radius: 50%;
971
- cursor: pointer;
972
- background: var(--background);
973
- position: absolute;
974
- top: 10px;
975
- right: 5px;
976
- font-size: var(--typography-size-label);
977
- opacity: 0;
978
- transition: opacity 300ms ease;
979
- z-index: 1;
980
- }
981
- &.line-on-top {
982
- .action-modal-content {
983
- border-top: 5px solid var(--primary-500);
984
- }
985
- }
986
- &:hover {
987
- .action-modal-icon {
988
- box-shadow:
989
- 0 0 0 7px hsl(from var(--primary-500) h s l / 53%),
990
- 0 0 0 14px hsl(from var(--primary-500) h s l / 40%),
991
- 0 0 0 21px hsl(from var(--primary-500) h s l / 27%),
992
- 0 0 0 28px hsl(from var(--primary-500) h s l / 14%);
993
- }
994
- .close-modal-button {
995
- opacity: 1;
996
- }
997
- &::before {
998
- top: 15px;
999
- }
1000
- }
1001
- }
1002
-
1003
- /* src/components/modals/aside-modal/aside-modal.styles.css */
1004
- .aside-modal {
1005
- color: var(--foreground);
1006
- overflow: auto;
1007
- height: 100%;
1008
- .aside-modal-content {
1009
- padding: 2em;
1010
- }
1011
- .close-modal-button {
1012
- border-radius: 50%;
1013
- cursor: pointer;
1014
- display: grid;
1015
- place-content: center;
1016
- background: var(--background);
1017
- border: 4px solid var(--primary-500);
1018
- position: absolute;
1019
- padding: 0.5em;
1020
- }
1021
- &.left {
1022
- border-right: 4px solid var(--primary-500);
1023
- animation: slideIn-left 300ms ease;
1024
- &.modal-close {
1025
- animation: slideOut-left 300ms ease;
1026
- transform: translateX(-100%);
1027
- }
1028
- .close-modal-button {
1029
- top: 2em;
1030
- left: 100%;
1031
- transform: translate(calc(-50% + 2px));
1032
- }
1033
- }
1034
- &.right {
1035
- border-left: 4px solid var(--primary-500);
1036
- animation: slideIn-right 300ms ease;
1037
- &.modal-close {
1038
- animation: slideOut-right 300ms ease;
1039
- transform: translateX(100%);
1040
- }
1041
- .close-modal-button {
1042
- top: 2em;
1043
- right: 100%;
1044
- transform: translate(calc(50% - 2px));
1045
- }
1046
- }
1047
- &.top {
1048
- border-bottom: 4px solid var(--primary-500);
1049
- animation: slideIn-top 300ms ease;
1050
- &.modal-close {
1051
- animation: slideOut-top 300ms ease;
1052
- transform: translateY(-100%);
1053
- }
1054
- .close-modal-button {
1055
- bottom: 0;
1056
- right: 2em;
1057
- transform: translate(0, calc(50% - 2px));
1058
- }
1059
- }
1060
- &.bottom {
1061
- border-top: 4px solid var(--primary-500);
1062
- animation: slideIn-bottom 300ms ease;
1063
- &.modal-close {
1064
- animation: slideOut-bottom 300ms ease;
1065
- transform: translateY(100%);
1066
- }
1067
- .close-modal-button {
1068
- top: 0;
1069
- right: 2em;
1070
- transform: translate(0, calc(-50% + 2px));
1071
- }
1072
- }
1073
- }
1074
-
1075
- /* src/components/modals/confirmation-modal/confirmation-modal.styles.css */
1076
- .confirmation-modal {
1077
- display: grid;
1078
- max-width: 450px;
1079
- gap: 1em;
1080
- place-content: center;
1081
- justify-items: center;
1082
- text-align: center;
1083
- .confirmation-modal-actions {
1084
- display: grid;
1085
- grid-auto-flow: column;
1086
- justify-content: center;
1087
- gap: 1em;
1088
- }
1089
- }
1090
-
1091
- /* src/components/modals/menu/menu.styles.css */
1092
- .menu-modal {
1093
- border-radius: 0.5em;
1094
- border: 1px solid var(--border);
1095
- background: var(--background);
1096
- box-shadow: 0 0 25px var(--background-paper);
1097
- user-select: none;
1098
- position: relative;
1099
- overflow-y: auto;
1100
- .menu-content {
1101
- display: grid;
1102
- gap: 0.2em;
1103
- padding: 0;
1104
- margin: 0;
1105
- list-style: none;
1106
- align-content: start;
1107
- height: 100%;
1108
- position: relative;
1109
- overflow-y: auto;
1110
- }
1111
- .divider {
1112
- margin: 0.4em 0;
1113
- color: var(--border);
1114
- }
1115
- }
1116
- .menu-label {
1117
- background: var(--background);
1118
- color: var(--foreground);
1119
- font-weight: lighter;
1120
- padding: 0.5em 1.2em;
1121
- position: sticky;
1122
- top: 0;
1123
- z-index: 10;
1124
- pointer-events: none;
1125
- }
1126
- .menu-option {
1127
- padding: 0.2em 1em;
1128
- border-radius: 0.3em;
1129
- transition: all 300ms ease;
1130
- cursor: pointer;
1131
- display: flex;
1132
- align-items: center;
1133
- outline: 0;
1134
- margin: 0 0.2em;
1135
- position: relative;
1136
- .ripple-effect {
1137
- background: hsl(from var(--foreground) h s l / 31%);
1138
- }
1139
- &:first-child {
1140
- margin-top: 5px;
1141
- }
1142
- .option-icon {
1143
- margin-right: 0.5em;
1144
- }
1145
- .menu-checkbox {
1146
- width: 100%;
1147
- }
1148
- &.is-disabled {
1149
- opacity: 0.4;
1150
- pointer-events: none;
1151
- cursor: default;
1152
- }
1153
- &:focus,
1154
- &:hover {
1155
- background: hsl(from var(--background-paper) h s l / 25%);
1156
- }
1157
- &.is-selected {
1158
- background: var(--background-paper);
1159
- &:focus,
1160
- &:hover {
1161
- background: hsl(from var(--background-paper) h s l / 75%);
1162
- }
1163
- }
1164
- }
1165
- .menu-group {
1166
- position: relative;
1167
- .menu-group-content {
1168
- display: grid;
1169
- gap: 0.2em;
1170
- padding: 0;
1171
- margin: 0;
1172
- list-style: none;
1173
- align-content: start;
1174
- position: relative;
1175
- }
1176
- }
1177
-
1178
- /* src/components/form/input-color/input-color.styles.css */
1179
- .input-color {
1180
- display: grid;
1181
- grid-auto-flow: column;
1182
- align-items: center;
1183
- justify-content: start;
1184
- gap: 0.5em;
1185
- .input-color-value {
1186
- margin-left: 10px;
1187
- }
1188
- .color-input {
1189
- padding-right: 1em;
1190
- border-radius: inherit;
1191
- width: 100%;
1192
- font-size: var(--typography-size-label);
1193
- font-family: var(--typography-family-main) sans-serif;
1194
- }
1195
- }
1196
- .input-color-box {
1197
- background: white;
1198
- border-radius: 5px;
1199
- border: 2px solid;
1200
- width: 25px;
1201
- height: 25px;
1202
- position: relative;
1203
- cursor: pointer;
1204
- &::before {
1205
- content: "";
1206
- position: absolute;
1207
- border-radius: inherit;
1208
- top: 0;
1209
- left: 0;
1210
- width: 100%;
1211
- height: 100%;
1212
- background: repeating-conic-gradient(#cccccc 0% 25%, white 0% 50%) 50% / 8px 8px;
1213
- z-index: -1;
1214
- }
1215
- }
1216
- .input-color-selector {
1217
- display: grid;
1218
- gap: 10px;
1219
- background: var(--background);
1220
- color: var(--foreground);
1221
- padding: 10px;
1222
- border-radius: 0 18px 18px 18px;
1223
- border: 1px solid;
1224
- box-shadow: 0 5px 30px -5px var(--neutral-900);
1225
- .react-colorful__pointer {
1226
- width: 1em;
1227
- height: 1em;
1228
- border-radius: 50%;
1229
- }
1230
- .react-colorful__hue-pointer,
1231
- .react-colorful__alpha-pointer {
1232
- width: 8px;
1233
- height: 100%;
1234
- border-radius: 4px;
1235
- border-width: 2px;
1236
- }
1237
- .color-input-container {
1238
- display: grid;
1239
- grid-template-columns: 16px 1fr 16px;
1240
- align-items: center;
1241
- gap: 10px;
1242
- border: 1px solid;
1243
- border-radius: 8px;
1244
- padding: 0.5em;
1245
- width: 100%;
1246
- max-width: 200px;
1247
- }
1248
- .color-input {
1249
- padding: 0;
1250
- border-radius: inherit;
1251
- background: var(--background);
1252
- color: var(--foreground);
1253
- width: 100%;
1254
- font-size: var(--typography-size-label);
1255
- font-family: var(--typography-family-main) sans-serif;
1256
- letter-spacing: 2px;
1257
- text-align: center;
1258
- }
1259
- }
1260
-
1261
- /* src/layouts/grid/grid.styles.css */
1262
- .grida {
1263
- display: grid;
1264
- }
1265
-
1266
- /* src/components/form/input-file/input-file.styles.css */
1267
- .input-file-container {
1268
- display: grid;
1269
- gap: 10px;
1270
- .input-file--box {
1271
- border: 1px solid;
1272
- border-radius: 5px;
1273
- position: relative;
1274
- transition: all 0.3s ease;
1275
- display: grid;
1276
- grid-template-columns: 32px 1fr;
1277
- padding: 10px;
1278
- gap: 10px;
1279
- background: var(--secondary-500);
1280
- color: var(--secondary-50);
1281
- align-items: center;
1282
- .input-file--box--icon {
1283
- width: 32px;
1284
- height: 32px;
1285
- border-radius: 5px;
1286
- background: var(--primary-50);
1287
- color: var(--primary-500);
1288
- display: grid;
1289
- place-content: center;
1290
- }
1291
- input {
1292
- position: absolute;
1293
- top: 0;
1294
- left: 0;
1295
- width: 100%;
1296
- height: 100%;
1297
- cursor: copy;
1298
- opacity: 0;
1299
- }
1300
- &:hover {
1301
- background: var(--primary-50);
1302
- color: var(--primary-500);
1303
- .input-file--box--icon {
1304
- background: var(--primary-500);
1305
- color: var(--primary-50);
1306
- }
1307
- }
1308
- }
1309
- .input-file--files {
1310
- max-height: 280px;
1311
- overflow-y: auto;
1312
- border: 1px solid;
1313
- border-radius: 5px;
1314
- .input-file--files--content {
1315
- display: grid;
1316
- }
1317
- }
1318
- .error {
1319
- color: tomato;
1320
- }
1321
- .total-info {
1322
- font-size: 1em;
1323
- display: grid;
1324
- grid-auto-flow: column;
1325
- justify-content: end;
1326
- align-items: center;
1327
- gap: 0.5em;
1328
- .total-info--delete {
1329
- display: grid;
1330
- place-content: center;
1331
- height: 100%;
1332
- background: transparent;
1333
- cursor: pointer;
1334
- transition: all 0.3s ease;
1335
- aspect-ratio: 1 / 1;
1336
- border-radius: 50%;
1337
- width: 2em;
1338
- font-size: 0.8em;
1339
- &:hover {
1340
- background: var(--primary-500);
1341
- color: var(--primary-50);
1342
- }
1343
- }
1344
- }
1345
- }
1346
- .input-file-card {
1347
- display: grid;
1348
- grid-template-columns: 35px 1fr 35px;
1349
- gap: 1em;
1350
- align-items: center;
1351
- padding: 10px;
1352
- background: var(--background);
1353
- &:not(:last-child) {
1354
- border-bottom: 1px dashed;
1355
- }
1356
- &:hover {
1357
- .file-card--delete {
1358
- color: var(--primary-500);
1359
- }
1360
- }
1361
- .file-card--image {
1362
- background: var(--primary-500);
1363
- color: var(--primary-50);
1364
- width: 32px;
1365
- height: 32px;
1366
- border-radius: 5px;
1367
- display: grid;
1368
- place-content: center;
1369
- border: 1px solid;
1370
- }
1371
- .file-card--data {
1372
- display: grid;
1373
- font-size: 0.7em;
1374
- justify-content: start;
1375
- }
1376
- .file-card--delete {
1377
- border-radius: 5px;
1378
- display: grid;
1379
- place-content: center;
1380
- width: 32px;
1381
- height: 32px;
1382
- cursor: pointer;
1383
- transition: all 0.3s ease;
1384
- &:hover {
1385
- background: var(--primary-500);
1386
- color: var(--primary-50);
1387
- }
1388
- }
1389
- }
1390
-
1391
- /* src/components/form/radio/radio.styles.css */
1392
- .radio {
1393
- border-radius: 50%;
1394
- background: var(--background-paper);
1395
- transition: all 300ms ease;
1396
- width: 1em;
1397
- height: 1em;
1398
- outline: 2px solid;
1399
- display: flex;
1400
- position: relative;
1401
- padding: 2px;
1402
- .radio-input {
1403
- position: absolute;
1404
- top: 0;
1405
- left: 0;
1406
- width: 100%;
1407
- height: 100%;
1408
- cursor: pointer;
1409
- opacity: 0;
1410
- z-index: 1;
1411
- }
1412
- &.size-small {
1413
- font-size: 1em;
1414
- }
1415
- &.size-regular {
1416
- font-size: 1.2em;
1417
- }
1418
- &.size-large {
1419
- font-size: 1.4em;
1420
- }
1421
- }
1422
- .radio-fill {
1423
- transition: all 200ms ease-out;
1424
- border-radius: inherit;
1425
- margin: auto;
1426
- width: 0;
1427
- height: 0;
1428
- }
1429
- .radio-container {
1430
- --color: var(--neutral-800);
1431
- display: flex;
1432
- align-items: center;
1433
- gap: 1em;
1434
- width: fit-content;
1435
- .radio-label {
1436
- cursor: pointer;
1437
- user-select: none;
1438
- }
1439
- .radio {
1440
- color: var(--color);
1441
- &.is-checked {
1442
- .radio-fill {
1443
- width: 100%;
1444
- height: 100%;
1445
- background: var(--color);
1446
- }
1447
- }
1448
- }
1449
- .radio:hover,
1450
- &:has(.radio-label:hover) .radio {
1451
- box-shadow: 0 0 0 0.4em hsl(from var(--color) h s l / 50%);
1452
- .radio-fill {
1453
- width: 20%;
1454
- height: 20%;
1455
- background: hsl(from var(--color) h s l / 50%);
1456
- }
1457
- &:is(.is-checked) {
1458
- .radio-fill {
1459
- width: 80%;
1460
- height: 80%;
1461
- background: var(--color);
1462
- }
1463
- }
1464
- }
1465
- &.color-primary {
1466
- --color: var(--primary-500);
1467
- }
1468
- &.color-secondary {
1469
- --color: var(--secondary-500);
1470
- }
1471
- &.color-tertiary {
1472
- --color: var(--tertiary-500);
1473
- }
1474
- &.color-active {
1475
- --color: var(--active-500);
1476
- }
1477
- &.color-warning {
1478
- --color: var(--warning-500);
1479
- }
1480
- &.color-alert {
1481
- --color: var(--alert-500);
1482
- }
1483
- &.color-info {
1484
- --color: var(--info-500);
1485
- }
1486
- }
1487
-
1488
- /* src/components/infinity-scroll/infinity-scroll.styles.css */
1489
- .infinity-scroll {
1490
- display: grid;
1491
- place-content: start center;
1492
- place-items: start center;
1493
- .loading {
1494
- width: 100%;
1495
- height: 30px;
1496
- display: grid;
1497
- place-content: center;
1498
- .loading--icon {
1499
- animation: spin 0.5s linear infinite;
1500
- font-size: 20px;
1501
- }
1502
- }
1503
- .empty-message {
1504
- font-size: 0.8em;
1505
- text-align: center;
1506
- color: #a6a6a6;
1507
- }
1508
- }
1509
-
1510
- /* src/components/form/select/select.styles.css */
1511
- .select {
1512
- cursor: pointer;
1513
- .icon-close {
1514
- display: grid;
1515
- place-content: center;
1516
- align-self: center;
1517
- border-radius: 100%;
1518
- cursor: pointer;
1519
- font-size: 0.6em;
1520
- padding: 0.5em;
1521
- &:hover {
1522
- background: hsl(from var(--foreground) h s l / 33%);
1523
- }
1524
- }
1525
- .select-container {
1526
- display: grid;
1527
- grid-template-columns: 1fr auto;
1528
- gap: 0.5em;
1529
- align-items: center;
1530
- grid-auto-rows: auto;
1531
- position: relative;
1532
- cursor: pointer;
1533
- user-select: none;
1534
- &.three-columns {
1535
- grid-template-columns: 1fr auto auto;
1536
- }
1537
- }
1538
- .input-button {
1539
- appearance: none;
1540
- -webkit-appearance: none;
1541
- -moz-appearance: none;
1542
- white-space: nowrap;
1543
- text-overflow: ellipsis;
1544
- overflow: hidden;
1545
- display: grid;
1546
- min-width: 0;
1547
- width: 100%;
1548
- border: 0;
1549
- margin: 0;
1550
- border-radius: 0;
1551
- background: transparent;
1552
- color: currentColor;
1553
- text-align: left;
1554
- -webkit-tap-highlight-color: transparent;
1555
- padding: 0;
1556
- grid-template-columns: 1fr auto;
1557
- &.placeholder {
1558
- color: #919191;
1559
- }
1560
- }
1561
- .select-caret-icon {
1562
- transition: transform 200ms ease;
1563
- &.is-select-open {
1564
- transform: rotate(180deg);
1565
- }
1566
- }
1567
- }
1568
- .select-options-menu {
1569
- .select-menu-content {
1570
- gap: 0;
1571
- display: block;
1572
- height: auto;
1573
- overflow: initial;
1574
- }
1575
- }
1576
- .select-options {
1577
- gap: 0;
1578
- display: grid;
1579
- grid-template-rows: 1fr;
1580
- height: 100%;
1581
- overflow: auto;
1582
- &.with-search-query {
1583
- grid-template-rows: auto 1fr;
1584
- }
1585
- .select-options-list-container {
1586
- height: 100%;
1587
- overflow: auto;
1588
- }
1589
- .select-options-list {
1590
- display: grid;
1591
- gap: 0.2em;
1592
- padding: 0;
1593
- margin: 0;
1594
- list-style: none;
1595
- align-content: start;
1596
- }
1597
- }
1598
- .select-options-header {
1599
- background: var(--background);
1600
- padding: 2px 5px;
1601
- border-bottom: 1px solid var(--border);
1602
- .input-search {
1603
- outline: none;
1604
- padding: 0.8em 5px;
1605
- font-size: var(--typography-size-label);
1606
- width: 100%;
1607
- }
1608
- }
1609
-
1610
- /* src/components/form/slider/slider.styles.css */
1611
- .input-slider {
1612
- display: grid;
1613
- grid-template-columns: 1fr 50px;
1614
- align-items: center;
1615
- gap: 10px;
1616
- .slider {
1617
- appearance: none;
1618
- -webkit-appearance: none;
1619
- -moz-appearance: none;
1620
- display: grid;
1621
- align-items: center;
1622
- &:focus {
1623
- outline: none;
1624
- }
1625
- &::-webkit-slider-thumb {
1626
- -webkit-appearance: none;
1627
- width: 20px;
1628
- height: 20px;
1629
- border-radius: 1em;
1630
- background: var(--primary-500);
1631
- box-shadow: 0 0 0 0 var(--neutral-500);
1632
- margin-top: -8px;
1633
- transition: all 300ms ease;
1634
- cursor: pointer;
1635
- }
1636
- &::-webkit-slider-runnable-track {
1637
- height: 4px;
1638
- border-radius: 1em;
1639
- background: hsl(from var(--primary-200) h s l / 50%);
1640
- transition: all 300ms ease;
1641
- }
1642
- &:focus,
1643
- &:hover {
1644
- &::-webkit-slider-thumb {
1645
- background: var(--primary-500);
1646
- box-shadow: 0 0 0 6px hsl(from var(--primary-500) h s l / 50%);
1647
- cursor: grab;
1648
- }
1649
- }
1650
- &:active {
1651
- &::-webkit-slider-thumb {
1652
- box-shadow: 0 0 0 12px hsl(from var(--primary-500) h s l / 31%);
1653
- cursor: grabbing;
1654
- }
1655
- }
1656
- &:focus {
1657
- &::-webkit-slider-runnable-track {
1658
- background: var(--primary-300);
1659
- }
1660
- }
1661
- }
1662
- &:has(.slider-number:focus) .slider::-webkit-slider-thumb,
1663
- &:has(.slider-number:hover) .slider::-webkit-slider-thumb {
1664
- background: var(--primary-500);
1665
- box-shadow: 0 0 0 6px hsl(from var(--primary-500) h s l / 31%);
1666
- }
1667
- .slider-number {
1668
- transition: all 300ms ease;
1669
- border: 1px solid;
1670
- border-radius: 5px;
1671
- text-align: center;
1672
- font-size: var(--typography-size-label);
1673
- appearance: none;
1674
- -webkit-appearance: none;
1675
- -moz-appearance: none;
1676
- width: 100%;
1677
- padding: 4px 8px;
1678
- font-weight: bold;
1679
- color: inherit;
1680
- &::-webkit-outer-spin-button,
1681
- &::-webkit-inner-spin-button {
1682
- -webkit-appearance: none;
1683
- margin: 0;
1684
- }
1685
- }
1686
- &.is-focus {
1687
- .slider-number {
1688
- color: var(--primary-500);
1689
- }
1690
- }
1691
- }
1692
-
1693
- /* src/components/form/textarea/textarea.styles.css */
1694
- .textarea {
1695
- border: 0;
1696
- outline: 0;
1697
- field-sizing: content;
1698
- }
1699
-
1700
- /* src/components/tooltips/tooltip/tooltip.styles.css */
1701
- .tooltip {
1702
- color: var(--foreground);
1703
- font-size: var(--typography-size-small);
1704
- line-height: 1em;
1705
- border-radius: 5px;
1706
- padding: 0.5em 1em;
1707
- display: block;
1708
- border: 1px solid;
1709
- pointer-events: none;
1710
- &::before {
1711
- content: "";
1712
- display: block;
1713
- background: var(--background-paper);
1714
- position: absolute;
1715
- z-index: 1;
1716
- width: 10px;
1717
- height: 10px;
1718
- border-left: 1px solid transparent;
1719
- border-top: 1px solid transparent;
1720
- border-right: 1px solid var(--foreground);
1721
- border-bottom: 1px solid var(--foreground);
1722
- border-radius: 0 0 3px 0;
1723
- }
1724
- &.left {
1725
- animation: fadeInRight 250ms ease-out;
1726
- &.close-animation {
1727
- animation: fadeOutLeft 250ms ease-out;
1728
- transform: translateX(-10px);
1729
- opacity: 0;
1730
- }
1731
- &::before {
1732
- top: 50%;
1733
- left: 100%;
1734
- transform: translate(-50%, -50%) rotate(-45deg);
1735
- }
1736
- }
1737
- &.right {
1738
- animation: fadeInLeft 250ms ease-out;
1739
- &.close-animation {
1740
- animation: fadeOutRight 250ms ease-out;
1741
- transform: translateX(10px);
1742
- opacity: 0;
1743
- }
1744
- &::before {
1745
- top: 50%;
1746
- right: 100%;
1747
- transform: translate(50%, -50%) rotate(135deg);
1748
- }
1749
- }
1750
- &.top {
1751
- animation: fadeInDown 250ms ease-out;
1752
- &.close-animation {
1753
- animation: fadeOutUp 250ms ease-out;
1754
- transform: translateY(-10px);
1755
- opacity: 0;
1756
- }
1757
- &::before {
1758
- top: 100%;
1759
- left: 50%;
1760
- transform: translate(-50%, -50%) rotate(45deg);
1761
- }
1762
- }
1763
- &.bottom {
1764
- animation: fadeInUp 250ms ease-out;
1765
- &.close-animation {
1766
- animation: fadeOutDown 250ms ease-out;
1767
- transform: translateY(10px);
1768
- opacity: 0;
1769
- }
1770
- &::before {
1771
- left: 50%;
1772
- bottom: 100%;
1773
- transform: translate(-50%, 50%) rotate(-135deg);
1774
- }
1775
- }
1776
- }
1777
-
1778
- /* src/components/form/switch/switch.styles.css */
1779
- .switch-container {
1780
- --width: attr(data-width);
1781
- --dot-size: attr(data-dot-size);
1782
- --dot-hover-size: attr(data-dot-hover-size);
1783
- --padding: attr(data-padding);
1784
- --color: var(--neutral-500);
1785
- --color-dark: var(--neutral-800);
1786
- --color-contrast: var(--neutral-50);
1787
- display: flex;
1788
- align-items: center;
1789
- gap: 0.5em;
1790
- width: fit-content;
1791
- .switch {
1792
- width: calc(var(--width) + var(--padding) * 2);
1793
- border-radius: 100em;
1794
- background: var(--background-paper);
1795
- padding: var(--padding);
1796
- transition: all 300ms ease;
1797
- position: relative;
1798
- .switch-dot {
1799
- width: var(--dot-size);
1800
- height: var(--dot-size);
1801
- border-radius: 100em;
1802
- background: var(--color);
1803
- display: block;
1804
- transition: all 300ms ease;
1805
- margin-left: 0;
1806
- position: relative;
1807
- z-index: 1;
1808
- }
1809
- .switch-icon {
1810
- cursor: pointer;
1811
- display: block;
1812
- }
1813
- .switch-internal-left-icon,
1814
- .switch-internal-right-icon {
1815
- width: var(--dot-size);
1816
- height: var(--dot-size);
1817
- position: absolute;
1818
- top: var(--padding);
1819
- display: grid;
1820
- place-content: center;
1821
- color: var(--color-contrast);
1822
- transition: all 300ms ease;
1823
- }
1824
- .switch-internal-left-icon {
1825
- left: var(--padding);
1826
- }
1827
- .switch-internal-right-icon {
1828
- right: var(--padding);
1829
- }
1830
- &.is-checked {
1831
- background: var(--color);
1832
- .switch-dot {
1833
- margin-left: calc(var(--width) - var(--dot-size));
1834
- background: color-mix(in hsl, var(--color), var(--color-contrast) 75%);
1835
- }
1836
- }
1837
- &:not(.is-readonly):has(input:disabled) {
1838
- background: var(--background-disabled);
1839
- .switch-dot {
1840
- background: var(--foreground-disabled);
1841
- }
1842
- .switch-internal-left-icon,
1843
- .switch-internal-right-icon {
1844
- color: var(--foreground-disabled);
1845
- }
1846
- &.is-checked {
1847
- background: var(--color-dark);
1848
- }
1849
- }
1850
- .switch-checkbox {
1851
- position: absolute;
1852
- top: 0;
1853
- left: 0;
1854
- width: 100%;
1855
- height: 100%;
1856
- cursor: pointer;
1857
- opacity: 0;
1858
- z-index: 3;
1859
- }
1860
- }
1861
- .switch-label {
1862
- cursor: pointer;
1863
- user-select: none;
1864
- padding: 0 0.5em;
1865
- }
1866
- .switch:not(:has(.is-readonly, input:disabled)):hover .switch-dot,
1867
- &:has(.switch-icon:hover) .switch:not(:has(.is-readonly, input:disabled)) .switch-dot,
1868
- &:has(.switch-label:hover) .switch:not(:has(.is-readonly, input:disabled)) .switch-dot {
1869
- box-shadow: 0 0 0 calc(0.3 * var(--dot-size)) color-mix(in hsl, var(--color) 50%, var(--color-contrast));
1870
- }
1871
- .switch:not(:has(.is-readonly, input:disabled)):active .switch-dot,
1872
- &:has(.switch-icon:active) .switch:not(:has(.is-readonly, input:disabled)) .switch-dot,
1873
- &:has(.switch-label:active) .switch:not(:has(.is-readonly, input:disabled)) .switch-dot {
1874
- width: var(--dot-hover-size);
1875
- }
1876
- .switch:not(:has(.is-readonly, input:disabled)).is-checked:active .switch-dot,
1877
- &:has(.switch-icon:active) .switch:not(:has(.is-readonly, input:disabled)).is-checked .switch-dot,
1878
- &:has(.switch-label:active) .switch:not(:has(.is-readonly, input:disabled)).is-checked .switch-dot {
1879
- margin-left: calc(var(--width) - var(--dot-hover-size));
1880
- }
1881
- &.color-primary {
1882
- --color: var(--primary-500);
1883
- --color-dark: var(--primary-700);
1884
- --color-contrast: var(--primary-50);
1885
- }
1886
- &.color-secondary {
1887
- --color: var(--secondary-500);
1888
- --color-dark: var(--secondary-700);
1889
- --color-contrast: var(--secondary-50);
1890
- }
1891
- &.color-tertiary {
1892
- --color: var(--tertiary-500);
1893
- --color-dark: var(--tertiary-700);
1894
- --color-contrast: var(--tertiary-50);
1895
- }
1896
- &.color-active {
1897
- --color: var(--active-500);
1898
- --color-dark: var(--active-700);
1899
- --color-contrast: var(--active-50);
1900
- }
1901
- &.color-warning {
1902
- --color: var(--warning-500);
1903
- --color-dark: var(--warning-700);
1904
- --color-contrast: var(--warning-50);
1905
- }
1906
- &.color-alert {
1907
- --color: var(--alert-500);
1908
- --color-dark: var(--alert-700);
1909
- --color-contrast: var(--alert-50);
1910
- }
1911
- &.color-info {
1912
- --color: var(--info-500);
1913
- --color-dark: var(--info-700);
1914
- --color-contrast: var(--info-50);
1915
- }
1916
- }
1917
-
1918
- /* src/components/smart-table/smart-table.styles.css */
1919
- .smart-table-container {
1920
- border: 0 solid var(--primary-500);
1921
- border-radius: 5px;
1922
- overflow: auto;
1923
- height: 100%;
1924
- width: 100%;
1925
- margin: auto;
1926
- }
1927
- .smart-table {
1928
- border-collapse: collapse;
1929
- position: relative;
1930
- width: 100%;
1931
- &.layout-fixed {
1932
- table-layout: fixed;
1933
- }
1934
- &.layout-scrollable {
1935
- table-layout: auto;
1936
- }
1937
- thead {
1938
- position: sticky;
1939
- z-index: 10;
1940
- top: 0;
1941
- box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.2), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
1942
- tr {
1943
- background: var(--primary-500);
1944
- color: var(--primary-50);
1945
- transition: all 300ms ease;
1946
- }
1947
- }
1948
- tbody {
1949
- tr {
1950
- box-shadow: inset 0 0 0 0 var(--primary-500);
1951
- transition: box-shadow 300ms ease;
1952
- &.row-selected,
1953
- &:hover {
1954
- background: var(--background-paper);
1955
- }
1956
- &.row-selected {
1957
- box-shadow: inset 10px 0 0 -5px var(--primary-500);
1958
- }
1959
- &:not(:last-child) {
1960
- border-bottom: 1px solid var(--border);
1961
- }
1962
- }
1963
- }
1964
- th {
1965
- padding: 0.8em 1.2em;
1966
- user-select: none;
1967
- &.sort-on-click {
1968
- cursor: pointer;
1969
- }
1970
- .sort-icon {
1971
- width: 1em;
1972
- display: block;
1973
- }
1974
- svg {
1975
- animation: fadeIn 300ms ease;
1976
- }
1977
- path {
1978
- transition: all 300ms ease;
1979
- }
1980
- &:first-child {
1981
- padding-left: 2em;
1982
- }
1983
- &:last-child {
1984
- padding-right: 2em;
1985
- }
1986
- }
1987
- td {
1988
- transition: all 300ms ease;
1989
- padding: 0.6em 1em;
1990
- &:first-child {
1991
- padding-left: 2em;
1992
- }
1993
- &:last-child {
1994
- padding-right: 2em;
1995
- }
1996
- }
1997
- }
1998
-
1999
- /* src/components/tabs/tabs.styles.css */
2000
- .tab {
2001
- cursor: pointer;
2002
- user-select: none;
2003
- transition: all 300ms ease;
2004
- }
2005
- .tab-list {
2006
- --color: var(--neutral-900);
2007
- --color-contrast: var(--neutral-50);
2008
- --inner-radius: 0;
2009
- --outer-radius: 0;
2010
- display: grid;
2011
- grid-auto-flow: column;
2012
- gap: 1em;
2013
- align-items: center;
2014
- position: relative;
2015
- font-size: var(--typography-size-label);
2016
- border-radius: var(--outer-radius);
2017
- .tab,
2018
- .tabs-selector {
2019
- border-radius: var(--inner-radius);
2020
- }
2021
- &.size-small {
2022
- font-size: var(--typography-size-small);
2023
- }
2024
- &.size-medium {
2025
- font-size: var(--typography-size-label);
2026
- }
2027
- &.size-large {
2028
- font-size: var(--typography-size-body);
2029
- }
2030
- .tabs-selector {
2031
- position: absolute;
2032
- background: var(--color);
2033
- color: var(--color-contrast);
2034
- border-radius: 1.5em;
2035
- &.active {
2036
- transition: all 300ms ease;
2037
- }
2038
- }
2039
- .tab {
2040
- border-radius: 1.5em;
2041
- padding: 0.5em 1em;
2042
- z-index: 1;
2043
- text-align: center;
2044
- &.is-open {
2045
- color: var(--color-contrast);
2046
- }
2047
- &:not(.is-open):hover {
2048
- color: var(--neutral-900);
2049
- }
2050
- }
2051
- &.radius-none {
2052
- --outer-radius: 0;
2053
- --inner-radius: 0;
2054
- }
2055
- &.radius-small {
2056
- --outer-radius: 0.5em;
2057
- --inner-radius: 0.5em;
2058
- }
2059
- &.radius-medium {
2060
- --outer-radius: 1em;
2061
- --inner-radius: 0.8em;
2062
- }
2063
- &.radius-large {
2064
- --outer-radius: 1.5em;
2065
- --inner-radius: 1.3em;
2066
- }
2067
- &.radius-full {
2068
- --outer-radius: 1.8em;
2069
- --inner-radius: 1.6em;
2070
- }
2071
- &.vertical-direction {
2072
- grid-auto-flow: row;
2073
- align-items: unset;
2074
- align-content: start;
2075
- }
2076
- &.variant-solid {
2077
- background: var(--background-paper);
2078
- color: var(--foreground);
2079
- padding: 0.5em;
2080
- }
2081
- &.variant-ghost {
2082
- border: 1px solid var(--color);
2083
- padding: 0.5em;
2084
- }
2085
- &.variant-flat {
2086
- }
2087
- &.variant-line {
2088
- border-radius: 0;
2089
- &:not(.vertical-direction) {
2090
- border-bottom: 2px solid var(--border);
2091
- }
2092
- .tabs-selector {
2093
- border-radius: 0;
2094
- }
2095
- .tab {
2096
- border-radius: 0;
2097
- &.is-open {
2098
- color: var(--color);
2099
- }
2100
- }
2101
- }
2102
- &.color-primary {
2103
- --color: var(--primary-500);
2104
- --color-contrast: var(--primary-50);
2105
- }
2106
- &.color-secondary {
2107
- --color: var(--secondary-500);
2108
- --color-contrast: var(--secondary-50);
2109
- }
2110
- &.color-tertiary {
2111
- --color: var(--tertiary-500);
2112
- --color-contrast: var(--tertiary-50);
2113
- }
2114
- &.color-active {
2115
- --color: var(--active-500);
2116
- --color-contrast: var(--active-50);
2117
- }
2118
- &.color-warning {
2119
- --color: var(--warning-500);
2120
- --color-contrast: var(--warning-50);
2121
- }
2122
- &.color-alert {
2123
- --color: var(--alert-500);
2124
- --color-contrast: var(--alert-50);
2125
- }
2126
- &.color-info {
2127
- --color: var(--info-500);
2128
- --color-contrast: var(--info-50);
2129
- }
2130
- }
2131
-
2132
- /* src/components/tag/tag.styles.css */
2133
- .tag {
2134
- --background: attr(data-background, var(--primary-500));
2135
- --text: attr(data-text, var(--primary-50));
2136
- --background-selected: attr(data-background-selected, var(--primary-700));
2137
- --text-selected: attr(data-text-selected, var(--primary-50));
2138
- padding: 0.4em 0.8em;
2139
- border-radius: 0.3em;
2140
- border: 1px solid;
2141
- background: var(--background);
2142
- color: var(--text);
2143
- transition: all 300ms ease;
2144
- display: inline-block;
2145
- font-size: var(--typography-size-label);
2146
- user-select: none;
2147
- &.no-wrap {
2148
- white-space: nowrap;
2149
- overflow: hidden;
2150
- text-overflow: ellipsis;
2151
- }
2152
- &.rounded-none {
2153
- border-radius: 0;
2154
- }
2155
- &.rounded-small {
2156
- border-radius: 0.25em;
2157
- }
2158
- &.rounded-medium {
2159
- border-radius: 0.5em;
2160
- }
2161
- &.rounded-large {
2162
- border-radius: 1em;
2163
- }
2164
- &.rounded-full {
2165
- border-radius: 100rem;
2166
- }
2167
- &:hover,
2168
- &.is-selected {
2169
- background: var(--background-selected);
2170
- color: var(--text-selected);
2171
- }
2172
- }
2173
- /*# sourceMappingURL=components.css.map */
1
+ .custom-line{--color: attr(data-color, "currentColor");--size: attr(data-size, 1px);--spacing: attr(data-spacing, 1px);--dashSize: attr(data-dash-size, 1px);&.horizontal,&.vertical{background:var(--color);display:inline-block;border-radius:100px}&.horizontal{width:100%;height:var(--size);&.dotted{background:radial-gradient(calc(var(--size) / 2) calc(var(--size) / 2),var(--color) 100%,transparent) 0 0 / calc(var(--spacing) + var(--size)) 100%}&.dashed{background:repeating-linear-gradient(90deg,var(--color),var(--color) var(--dashSize),transparent var(--dashSize),transparent calc(var(--spacing) + var(--dashSize)))}}&.vertical{height:100%;width:var(--size);&.dotted{background:radial-gradient(calc(var(--size) / 2) calc(var(--size) / 2),var(--color) 100%,transparent) 0 0 / 100% calc(var(--spacing) + var(--size))}&.dashed{background:repeating-linear-gradient(0deg,var(--color),var(--color) var(--dashSize),transparent var(--dashSize),transparent calc(var(--spacing) + var(--dashSize)))}}}.accordion{display:grid}.accordion-item{display:grid;position:relative;.accordion-header{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;cursor:pointer;position:sticky;top:0;padding:20px 0;&.has-start-content{grid-template-columns:auto 1fr auto}}.accordion-header-content{display:grid}.accordion-toggle-icon{transition:all .3s ease;&.isOpen{transform:rotate(-90deg)}}.accordion-body{padding:10px 0 20px}}.flip-card{--cardZIndex: attr(data-zIndex);--flipSpeed: attr(data-flipSpeed, .5s);--frontRotate: attr(data-frontRotate);--backRotate: attr(data-backRotate);perspective:1000px;z-index:var(--cardZIndex);.flipper{height:100%;position:relative;width:100%;transform-style:preserve-3d}.front,.back{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d;transition:var(--flipSpeed);height:100%;left:0;top:0;width:100%}.front{position:relative;transform:var(--frontRotate);z-index:2}.back{position:absolute;transform:var(--backRotate)}.is-flipped{.front{position:absolute}.back{position:relative}}}.hover-card{display:inline-block;transition:all .3s ease;.card-hover-layer{transition:all .1s ease;width:100%;height:100%;display:grid}}.typography{margin:0;padding:.5em 0 .4em;&.primary{color:var(--color-primary-500)}&.secondary{color:var(--color-secondary-500)}&.tertiary{color:var(--color-tertiary-500)}&.active{color:var(--color-active-500)}&.alert{color:var(--color-alert-500)}&.warning{color:var(--color-warning-500)}&.info{color:var(--color-info-500)}&.recommended-width{max-width:70ch}&.code-family{font-family:monospace}&.no-padding{padding:0}&.nowrap{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}&.nowrap-max-lines{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}&.nowrap-max-lines-2{-webkit-line-clamp:2;line-clamp:2}&.nowrap-max-lines-3{-webkit-line-clamp:3;line-clamp:3}&.nowrap-max-lines-4{-webkit-line-clamp:4;line-clamp:4}&.nowrap-max-lines-5{-webkit-line-clamp:5;line-clamp:5}&.hero{font-size:var(--text-hero, clamp(4rem, 10vw, 5.5rem));line-height:var(--tw-leading, var(--text-hero--line-height, 1.4));letter-spacing:var(--tw-tracking, var(--text-hero--letter-spacing, -4px));font-weight:var(--tw-font-weight, var(--text-hero--font-weight, bolder))}&.header1{font-size:var(--text-header1, clamp(3rem, 8vw, 4rem));line-height:var(--tw-leading, var(--text-header1--line-height, 1.4));letter-spacing:var(--tw-tracking, var(--text-header1--letter-spacing, -3px));font-weight:var(--tw-font-weight, var(--text-header1--font-weight, bold))}&.header2{font-size:var(--text-header2, clamp(2rem, 6vw, 3rem));line-height:var(--tw-leading, var(--text-header2--line-height, 1.4));letter-spacing:var(--tw-tracking, var(--text-header2--letter-spacing, -2px));font-weight:var(--tw-font-weight, var(--text-header2--font-weight, bold))}&.header3{font-size:var(--text-header3, clamp(1.5rem, 4vw, 2rem));line-height:var(--tw-leading, var(--text-header3--line-height, 1.4));letter-spacing:var(--tw-tracking, var(--text-header3--letter-spacing, -1px));font-weight:var(--tw-font-weight, var(--text-header3--font-weight, bold))}&.header4{font-size:var(--text-header4, clamp(1.2rem, 3vw, 1.5rem));line-height:var(--tw-leading, var(--text-header4--line-height, 1.4));letter-spacing:var(--tw-tracking, var(--text-header4--letter-spacing, 0));font-weight:var(--tw-font-weight, var(--text-header4--font-weight, bold))}&.body{font-size:var(--text-body, 1rem);line-height:var(--tw-leading, var(--text-body--line-height, 1.6));letter-spacing:var(--tw-tracking, var(--text-body--letter-spacing, 0));font-weight:var(--tw-font-weight, var(--text-body--font-weight, regular))}&.label{font-size:var(--text-label, .875rem);line-height:var(--tw-leading, var(--text-label--line-height, 1.6))}&.small{font-size:var(--text-small, .75rem);line-height:var(--tw-leading, var(--text-small--line-height, 1.6));font-weight:var(--tw-font-weight, var(--text-small--font-weight, regular))}&.bold{font-weight:700}&.regular{font-weight:400}&.light{font-weight:300}}.ripple{position:absolute;display:block;inset:0;overflow:hidden;border-radius:inherit;z-index:1;.ripple-effect{position:absolute;transform:translate(-50%,-50%);border-radius:50%;width:0;height:0;pointer-events:none;animation:ripple-effect infinite;opacity:.4}}@keyframes ripple-effect{to{width:300px;height:300px;opacity:0;filter:blur(5px)}}@layer components{.button{--button-blur: 2px;--color: var(--color-gray-800);--solid-background: var(--color-gray-900);--solid-text: var(--color-gray-50);--solid-hover-background: var(--color-gray-800);--solid-active-background: var(--color-gray-900);--flat-background: hsl(from var(--color-gray-100) h s l / 80%);--flat-hover-background: var(--color-gray-50);--flat-active-background: var(--color-gray-100);--outlined-hover-background: hsl(from var(--color-gray-100) h s l / 20%);--outlined-active-background: hsl(from var(--color-gray-100) h s l / 50%);--text-hover-background: hsl(from var(--color-gray-100) h s l / 20%);--text-active-background: hsl(from var(--color-gray-100) h s l / 50%);--shadow-color: hsl(from var(--color-gray-800) h s l / 20%);--focus-background: hsl(from var(--color-gray-100) h s l / 20%);display:flex;flex-direction:row;justify-content:center;align-items:center;padding:.625em 2.1875em;gap:.625em;width:auto;border-radius:.5em;font-weight:700;font-size:var(--text-label, .875rem);line-height:var(--tw-leading, var(--text-label--line-height, 1.6));cursor:pointer;outline:none;transition:all .15s ease;user-select:none;&.icon{padding:.625em}&.full{width:100%}&.no-wrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}&.size-small{font-size:var(--text-small, .75rem);line-height:var(--tw-leading, var(--text-small--line-height, 1.6));font-weight:var(--tw-font-weight, var(--text-small--font-weight, regular))}&.size-regular{font-size:var(--text-label, .875rem);line-height:var(--tw-leading, var(--text-label--line-height, 1.6))}&.size-large{font-size:var(--text-body, 1rem);line-height:var(--tw-leading, var(--text-body--line-height, 1.6));letter-spacing:var(--tw-tracking, var(--text-body--letter-spacing, 0));font-weight:var(--tw-font-weight, var(--text-body--font-weight, regular))}&.radius-none{border-radius:0}&.radius-small{border-radius:.25em}&.radius-medium{border-radius:.5em}&.radius-large{border-radius:1em}&.radius-full{border-radius:100rem}&:not(:disabled){&:hover,&:active,&:focus-visible{backdrop-filter:blur(var(--button-blur))}&:hover{transform:scale(1.01);box-shadow:0 1.4em .5em -1em hsl(from var(--color-black) h s l / 20%),0 .7em 1em -.5em hsl(from var(--color-black) h s l / 20%)}&:active{transform:scale(.98);box-shadow:0 .3em .4em -.2em hsl(from var(--color-black) h s l / 20%),0 .2em .8em -.1em hsl(from var(--color-black) h s l / 20%)}}color:var(--color);.ripple-effect{background:var(--color)}&.solid{background:var(--solid-background);color:var(--solid-text);backdrop-filter:blur(var(--button-blur));.ripple-effect{background:var(--solid-text)}&:focus-visible{box-shadow:0 0 0 .3125em var(--shadow-color);background:var(--solid-background)}&:hover{background:var(--solid-hover-background)}&:active{background:var(--solid-active-background)}}&.flat{background:var(--flat-background);backdrop-filter:blur(var(--button-blur));&:hover{background:var(--flat-hover-background)}&:active{background:var(--flat-active-background)}}&.outlined{background:transparent;border:1px solid;&:hover{background:var(--outlined-hover-background)}&:active{background:var(--outlined-active-background)}}&.text{background:transparent;&:hover{background:var(--text-hover-background)}&:active{background:var(--text-active-background)}}&:focus-visible{box-shadow:0 0 0 .3125em var(--shadow-color);background:var(--focus-background)}&.primary{--color: var(--color-primary-500);--solid-background: var(--color-primary-500);--solid-text: var(--color-primary-50);--solid-hover-background: var(--color-primary-400);--solid-active-background: var(--color-primary-600);--flat-background: hsl(from var(--color-primary-100) h s l / 80%);--flat-hover-background: var(--color-primary-50);--flat-active-background: var(--color-primary-100);--outlined-hover-background: hsl(from var(--color-primary-100) h s l / 20%);--outlined-active-background: hsl(from var(--color-primary-100) h s l / 50%);--text-hover-background: hsl(from var(--color-primary-100) h s l / 20%);--text-active-background: hsl(from var(--color-primary-100) h s l / 50%);--shadow-color: hsl(from var(--color-primary-500) h s l / 20%);--focus-background: hsl(from var(--color-primary-100) h s l / 20%)}&.secondary{--color: var(--color-secondary-500);--solid-background: var(--color-secondary-500);--solid-text: var(--color-secondary-50);--solid-hover-background: var(--color-secondary-400);--solid-active-background: var(--color-secondary-600);--flat-background: hsl(from var(--color-secondary-100) h s l / 80%);--flat-hover-background: var(--color-secondary-50);--flat-active-background: var(--color-secondary-100);--outlined-hover-background: hsl(from var(--color-secondary-100) h s l / 20%);--outlined-active-background: hsl(from var(--color-secondary-100) h s l / 50%);--text-hover-background: hsl(from var(--color-secondary-100) h s l / 20%);--text-active-background: hsl(from var(--color-secondary-100) h s l / 50%);--shadow-color: hsl(from var(--color-secondary-500) h s l / 20%);--focus-background: hsl(from var(--color-secondary-100) h s l / 20%)}&.tertiary{--color: var(--color-tertiary-500);--solid-background: var(--color-tertiary-500);--solid-text: var(--color-tertiary-50);--solid-hover-background: var(--color-tertiary-400);--solid-active-background: var(--color-tertiary-600);--flat-background: hsl(from var(--color-tertiary-100) h s l / 80%);--flat-hover-background: var(--color-tertiary-50);--flat-active-background: var(--color-tertiary-100);--outlined-hover-background: hsl(from var(--color-tertiary-100) h s l / 20%);--outlined-active-background: hsl(from var(--color-tertiary-100) h s l / 50%);--text-hover-background: hsl(from var(--color-tertiary-100) h s l / 20%);--text-active-background: hsl(from var(--color-tertiary-100) h s l / 50%);--shadow-color: hsl(from var(--color-tertiary-500) h s l / 20%);--focus-background: hsl(from var(--color-tertiary-100) h s l / 20%)}&.active{--color: var(--color-active-500);--solid-background: var(--color-active-500);--solid-text: var(--color-active-50);--solid-hover-background: var(--color-active-400);--solid-active-background: var(--color-active-600);--flat-background: hsl(from var(--color-active-100) h s l / 80%);--flat-hover-background: var(--color-active-50);--flat-active-background: var(--color-active-100);--outlined-hover-background: hsl(from var(--color-active-100) h s l / 20%);--outlined-active-background: hsl(from var(--color-active-100) h s l / 50%);--text-hover-background: hsl(from var(--color-active-100) h s l / 20%);--text-active-background: hsl(from var(--color-active-100) h s l / 50%);--shadow-color: hsl(from var(--color-active-500) h s l / 20%);--focus-background: hsl(from var(--color-active-100) h s l / 20%)}&.warning{--color: var(--color-warning-500);--solid-background: var(--color-warning-500);--solid-text: var(--color-warning-50);--solid-hover-background: var(--color-warning-400);--solid-active-background: var(--color-warning-600);--flat-background: hsl(from var(--color-warning-100) h s l / 80%);--flat-hover-background: var(--color-warning-50);--flat-active-background: var(--color-warning-100);--outlined-hover-background: hsl(from var(--color-warning-100) h s l / 20%);--outlined-active-background: hsl(from var(--color-warning-100) h s l / 50%);--text-hover-background: hsl(from var(--color-warning-100) h s l / 20%);--text-active-background: hsl(from var(--color-warning-100) h s l / 50%);--shadow-color: hsl(from var(--color-warning-500) h s l / 20%);--focus-background: hsl(from var(--color-warning-100) h s l / 20%)}&.alert{--color: var(--color-alert-500);--solid-background: var(--color-alert-500);--solid-text: var(--color-alert-50);--solid-hover-background: var(--color-alert-400);--solid-active-background: var(--color-alert-600);--flat-background: hsl(from var(--color-alert-100) h s l / 80%);--flat-hover-background: var(--color-alert-50);--flat-active-background: var(--color-alert-100);--outlined-hover-background: hsl(from var(--color-alert-100) h s l / 20%);--outlined-active-background: hsl(from var(--color-alert-100) h s l / 50%);--text-hover-background: hsl(from var(--color-alert-100) h s l / 20%);--text-active-background: hsl(from var(--color-alert-100) h s l / 50%);--shadow-color: hsl(from var(--color-alert-500) h s l / 20%);--focus-background: hsl(from var(--color-alert-100) h s l / 20%)}&.info{--color: var(--color-info-500);--solid-background: var(--color-info-500);--solid-text: var(--color-info-50);--solid-hover-background: var(--color-info-400);--solid-active-background: var(--color-info-600);--flat-background: hsl(from var(--color-info-100) h s l / 80%);--flat-hover-background: var(--color-info-50);--flat-active-background: var(--color-info-100);--outlined-hover-background: hsl(from var(--color-info-100) h s l / 20%);--outlined-active-background: hsl(from var(--color-info-100) h s l / 50%);--text-hover-background: hsl(from var(--color-info-100) h s l / 20%);--text-active-background: hsl(from var(--color-info-100) h s l / 50%);--shadow-color: hsl(from var(--color-info-500) h s l / 20%);--focus-background: hsl(from var(--color-info-100) h s l / 20%)}&:disabled{color:var(--color-gray-200);pointer-events:none}&.solid:disabled{background:var(--color-gray-200);color:var(--color-gray-50)}&.flat:disabled{background:hsl(from var(--color-gray-50) h s l / 80%)}&.outlined:disabled,&.text:disabled{background:transparent}}}.cursor-overlay{position:fixed;top:0;left:0;width:100%;height:100%;cursor:none;pointer-events:none}.cursor{position:fixed;border-radius:50%;z-index:99999999;pointer-events:none;transform:translateZ(0);@media(any-pointer:coarse){display:none}&.outer-circle{margin-left:-15px;margin-top:-15px;width:30px;height:30px;border:2px solid var(--color-primary-500);box-sizing:border-box;z-index:99999999;opacity:.5;transition:all .08s ease-out,width .3s ease-in-out,height .3s ease-in-out,margin .3s ease-in-out,opacity .3s ease-in-out;&.cursor-hover{margin-left:-40px;margin-top:-40px;width:80px;height:80px;background-color:var(--color-primary-500);opacity:.3}&.cursor-text{margin-left:-2px;margin-top:-40px;width:4px;height:80px;background-color:var(--color-primary-500);opacity:.3}}&.inner-circle{margin-left:-3px;margin-top:-3px;width:6px;height:6px;z-index:99999999;background-color:var(--color-primary-500);transition:opacity .3s ease-in-out;opacity:1;&.cursor-hover{opacity:0}}}.checkbox{border-radius:40%;background:var(--color-background-paper);transition:all .3s ease;width:1em;height:1em;margin:2px;outline:1px solid;display:flex;position:relative;.checkbox-input{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer;opacity:0;z-index:2}&.size-small{font-size:1em}&.size-regular{font-size:1.2em}&.size-large{font-size:1.4em}}.checkbox-fill{transition:all .2s ease-out;border-radius:inherit;margin:auto;width:0;height:0;overflow:hidden;position:relative;display:grid;place-content:center;place-items:center;.checkbox-icon{font-size:.7em;z-index:1;opacity:0;transition:opacity .3s ease}}.checkbox-container{--color: var(--color-gray-800);--color-icon: var(--color-gray-50);--color-hover: hsl(from var(--color-gray-800) h s l / 50%);display:grid;grid-auto-flow:column;grid-auto-columns:auto 1fr;align-items:center;gap:.5em;width:fit-content;.checkbox-label{cursor:pointer;user-select:none;width:100%}.checkbox{color:var(--color);&.is-checked{.checkbox-fill{width:100%;height:100%;background:var(--color);color:var(--color-icon)}.checkbox-icon{opacity:1}}}.checkbox:hover,&:has(.checkbox-label:hover) .checkbox{box-shadow:0 0 0 .3em var(--color-hover);.checkbox-fill{width:20%;height:20%;border-radius:20%;background:var(--color-hover);color:var(--color-icon)}&:is(.is-checked){.checkbox-fill{width:100%;height:100%;border-radius:inherit;background:var(--color)}}}.checkbox:focus,&:has(.checkbox-input:focus) .checkbox,&:has(.checkbox-label:focus) .checkbox{box-shadow:0 0 0 .3em var(--color-hover)}&.color-primary{--color: var(--color-primary-500);--color-icon: var(--color-primary-50);--color-hover: hsl(from var(--color-primary-500) h s l / 50%)}&.color-secondary{--color: var(--color-secondary-500);--color-icon: var(--color-secondary-50);--color-hover: hsl(from var(--color-secondary-500) h s l / 50%)}&.color-tertiary{--color: var(--color-tertiary-500);--color-icon: var(--color-tertiary-50);--color-hover: hsl(from var(--color-tertiary-500) h s l / 50%)}&.color-active{--color: var(--color-active-500);--color-icon: var(--color-active-50);--color-hover: hsl(from var(--color-active-500) h s l / 50%)}&.color-warning{--color: var(--color-warning-500);--color-icon: var(--color-warning-50);--color-hover: hsl(from var(--color-warning-500) h s l / 50%)}&.color-alert{--color: var(--color-alert-500);--color-icon: var(--color-alert-50);--color-hover: hsl(from var(--color-alert-500) h s l / 50%)}&.color-info{--color: var(--color-info-500);--color-icon: var(--color-info-50);--color-hover: hsl(from var(--color-info-500) h s l / 50%)}}.form-field{display:grid;grid-auto-columns:auto;gap:.5em;transition:all .2s ease;.field-content{display:grid;grid-template-columns:auto 1fr auto;align-items:center}.field-left-icon,.field-right-icon{font-size:1em}.field-left-icon{margin-right:1em}.field-right-icon{margin-left:1em}.field-message{display:grid;grid-auto-flow:column;gap:5px;align-items:center;justify-content:start}&.variant-content-border{.field-content{border:1px solid var(--color-border);border-radius:4px;padding:1em;background:var(--color-background)}}&.variant-content-line{.field-content{border-bottom:1px solid;padding:.5em 0}}&.variant-full-border{border:1px solid var(--color-border);border-radius:4px;padding:.5em 0;background:var(--color-background);.field-label,.field-content,.field-message{padding:0 1em}}&.variant-inline{grid-auto-flow:column;padding:.5em 0;align-items:center;.field-label{width:auto}}&.error{color:var(--color-alert-500);border-color:var(--color-alert-500)}&.focus{color:var(--color-info-500);border-color:var(--color-info-500)}&.error,&.focus{.field-left-icon,.field-right-icon,.field-children{color:var(--color-foreground);border-color:var(--color-foreground)}}.field-children>*{width:100%}}.modal{position:fixed;z-index:1001;pointer-events:none}.modal-content{background:var(--color-background-paper);pointer-events:initial;&.animation-fade-down{animation:fadeInDown .2s ease;&.modal-close{animation:fadeOutUp .2s ease;transform:translateY(-10px);opacity:0}}&.animation-bounce{animation:bounceIn .5s ease;&.modal-close{animation:bounceOut .5s ease;transform:scale3d(.3,.3,.3);opacity:0}}}.modal-backdrop{position:fixed;width:100%;height:100%;top:0;left:0;z-index:1000;animation:backdropOpen .5s cubic-bezier(.215,.61,.355,1);&.backdrop-close{animation:backdropClose .5s cubic-bezier(.215,.61,.355,1);opacity:0;transform:translateY(-10px)}}@keyframes backdropOpen{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes backdropClose{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.action-modal{background:transparent;.modal-content{&.shake-animation{animation:headShake .6s linear}}}.action-modal-content{position:relative;.action-modal-body{box-shadow:0 0 10px -5px;border-radius:10px;overflow:hidden;display:grid}.action-modal-content{background:var(--color-background);padding:3em 4em 2em;display:grid;gap:1em}&.no-padding .action-modal-content{padding:2em 0 0}&:has(.action-modal-icon) .action-modal-content{padding-top:4em}&.back-card{&:before{content:"";position:absolute;width:90%;height:100%;top:8px;left:50%;transform:translate(-50%);z-index:-1;background:var(--color-primary-500);border-radius:10px;display:block;transition:top .3s cubic-bezier(.81,-.52,.42,2.5)}}.action-modal-icon{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:var(--color-primary-500);color:var(--color-primary-50);padding:0;border-radius:50%;width:2em;height:2em;display:grid;place-content:center;transition:box-shadow .3s cubic-bezier(.81,-.52,.42,2.5);z-index:1;box-shadow:0 0 hsl(from var(--color-primary-500) h s l / 53%),0 0 hsl(from var(--color-primary-500) h s l / 40%),0 0 hsl(from var(--color-primary-500) h s l / 27%),0 0 hsl(from var(--color-primary-500) h s l / 14%)}.close-modal-button{width:1em;height:1em;border-radius:50%;cursor:pointer;background:var(--color-background);position:absolute;top:10px;right:5px;font-size:var(--text-label, .875rem);line-height:var(--tw-leading, var(--text-label--line-height, 1.6));opacity:0;transition:opacity .3s ease;z-index:1}&.line-on-top{.action-modal-content{border-top:5px solid var(--color-primary-500)}}&:hover{.action-modal-icon{box-shadow:0 0 0 7px hsl(from var(--color-primary-500) h s l / 53%),0 0 0 14px hsl(from var(--color-primary-500) h s l / 40%),0 0 0 21px hsl(from var(--color-primary-500) h s l / 27%),0 0 0 28px hsl(from var(--color-primary-500) h s l / 14%)}.close-modal-button{opacity:1}&:before{top:15px}}}.aside-modal{color:var(--color-foreground);overflow:auto;height:100%;.aside-modal-content{padding:2em}.close-modal-button{border-radius:50%;cursor:pointer;display:grid;place-content:center;background:var(--color-background);border:4px solid var(--color-primary-500);position:absolute;padding:.5em}&.left{border-right:4px solid var(--color-primary-500);animation:slideIn-left .3s ease;&.modal-close{animation:slideOut-left .3s ease;transform:translate(-100%)}.close-modal-button{top:2em;left:100%;transform:translate(calc(-50% + 2px))}}&.right{border-left:4px solid var(--color-primary-500);animation:slideIn-right .3s ease;&.modal-close{animation:slideOut-right .3s ease;transform:translate(100%)}.close-modal-button{top:2em;right:100%;transform:translate(calc(50% - 2px))}}&.top{border-bottom:4px solid var(--color-primary-500);animation:slideIn-top .3s ease;&.modal-close{animation:slideOut-top .3s ease;transform:translateY(-100%)}.close-modal-button{bottom:0;right:2em;transform:translateY(calc(50% - 2px))}}&.bottom{border-top:4px solid var(--color-primary-500);animation:slideIn-bottom .3s ease;&.modal-close{animation:slideOut-bottom .3s ease;transform:translateY(100%)}.close-modal-button{top:0;right:2em;transform:translateY(calc(-50% + 2px))}}}.confirmation-modal{display:grid;max-width:450px;gap:1em;place-content:center;justify-items:center;text-align:center;.confirmation-modal-actions{display:grid;grid-auto-flow:column;justify-content:center;gap:1em}}.menu-modal{border-radius:.5em;border:1px solid var(--color-border);background:var(--color-background);box-shadow:0 0 25px var(--color-background-paper);user-select:none;position:relative;overflow-y:auto;.menu-content{display:grid;gap:.2em;padding:0;margin:0;list-style:none;align-content:start;height:100%;position:relative;overflow-y:auto}.divider{margin:.4em 0;color:var(--color-border)}}.menu-label{background:var(--color-background);color:var(--color-foreground);font-weight:lighter;padding:.5em 1.2em;position:sticky;top:0;z-index:10;pointer-events:none}.menu-option{padding:.2em 1em;border-radius:.3em;transition:all .3s ease;cursor:pointer;display:flex;align-items:center;outline:0;margin:0 .2em;position:relative;.ripple-effect{background:hsl(from var(--color-foreground) h s l / 31%)}&:first-child{margin-top:5px}.option-icon{margin-right:.5em}.menu-checkbox{width:100%}&.is-disabled{opacity:.4;pointer-events:none;cursor:default}&:focus,&:hover{background:hsl(from var(--color-background-paper) h s l / 25%)}&.is-selected{background:var(--color-background-paper);&:focus,&:hover{background:hsl(from var(--color-background-paper) h s l / 75%)}}}.menu-group{position:relative;.menu-group-content{display:grid;gap:.2em;padding:0;margin:0;list-style:none;align-content:start;position:relative}}.input-color{display:grid;grid-auto-flow:column;align-items:center;justify-content:start;gap:.5em;.input-color-value{margin-left:10px}.color-input{padding-right:1em;border-radius:inherit;width:100%;font-size:var(--text-label, .875rem);line-height:var(--tw-leading, var(--text-label--line-height, 1.6));font-family:var(--font-main) sans-serif}}.input-color-box{background:#fff;border-radius:5px;border:2px solid;width:25px;height:25px;position:relative;cursor:pointer;&:before{content:"";position:absolute;border-radius:inherit;top:0;left:0;width:100%;height:100%;background:repeating-conic-gradient(#ccc 0% 25%,#fff 0% 50%) 50% / 8px 8px;z-index:-1}}.input-color-selector{display:grid;gap:10px;background:var(--color-background);color:var(--color-foreground);padding:10px;border-radius:0 18px 18px;border:1px solid;box-shadow:0 5px 30px -5px var(--color-gray-900);.react-colorful__pointer{width:1em;height:1em;border-radius:50%}.react-colorful__hue-pointer,.react-colorful__alpha-pointer{width:8px;height:100%;border-radius:4px;border-width:2px}.color-input-container{display:grid;grid-template-columns:16px 1fr 16px;align-items:center;gap:10px;border:1px solid;border-radius:8px;padding:.5em;width:100%;max-width:200px}.color-input{padding:0;border-radius:inherit;background:var(--color-background);color:var(--color-foreground);width:100%;font-size:var(--text-label, .875rem);line-height:var(--tw-leading, var(--text-label--line-height, 1.6));font-family:var(--font-main) sans-serif;letter-spacing:2px;text-align:center}}.grida{display:grid}.input-file-container{display:grid;gap:10px;.input-file--box{border:1px solid;border-radius:5px;position:relative;transition:all .3s ease;display:grid;grid-template-columns:32px 1fr;padding:10px;gap:10px;background:var(--color-secondary-500);color:var(--color-secondary-50);align-items:center;.input-file--box--icon{width:32px;height:32px;border-radius:5px;background:var(--color-primary-50);color:var(--color-primary-500);display:grid;place-content:center}input{position:absolute;top:0;left:0;width:100%;height:100%;cursor:copy;opacity:0}&:hover{background:var(--color-primary-50);color:var(--color-primary-500);.input-file--box--icon{background:var(--color-primary-500);color:var(--color-primary-50)}}}.input-file--files{max-height:280px;overflow-y:auto;border:1px solid;border-radius:5px;.input-file--files--content{display:grid}}.error{color:tomato}.total-info{font-size:1em;display:grid;grid-auto-flow:column;justify-content:end;align-items:center;gap:.5em;.total-info--delete{display:grid;place-content:center;height:100%;background:transparent;cursor:pointer;transition:all .3s ease;aspect-ratio:1 / 1;border-radius:50%;width:2em;font-size:.8em;&:hover{background:var(--color-primary-500);color:var(--color-primary-50)}}}}.input-file-card{display:grid;grid-template-columns:35px 1fr 35px;gap:1em;align-items:center;padding:10px;background:var(--color-background);&:not(:last-child){border-bottom:1px dashed}&:hover{.file-card--delete{color:var(--color-primary-500)}}.file-card--image{background:var(--color-primary-500);color:var(--color-primary-50);width:32px;height:32px;border-radius:5px;display:grid;place-content:center;border:1px solid}.file-card--data{display:grid;font-size:.7em;justify-content:start}.file-card--delete{border-radius:5px;display:grid;place-content:center;width:32px;height:32px;cursor:pointer;transition:all .3s ease;&:hover{background:var(--color-primary-500);color:var(--color-primary-50)}}}.radio{border-radius:50%;background:var(--color-background-paper);transition:all .3s ease;width:1em;height:1em;outline:2px solid;display:flex;position:relative;padding:2px;.radio-input{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer;opacity:0;z-index:1}&.size-small{font-size:1em}&.size-regular{font-size:1.2em}&.size-large{font-size:1.4em}}.radio-fill{transition:all .2s ease-out;border-radius:inherit;margin:auto;width:0;height:0}.radio-container{--color: var(--color-gray-800);display:flex;align-items:center;gap:1em;width:fit-content;.radio-label{cursor:pointer;user-select:none}.radio{color:var(--color);&.is-checked{.radio-fill{width:100%;height:100%;background:var(--color)}}}.radio:hover,&:has(.radio-label:hover) .radio{box-shadow:0 0 0 .4em hsl(from var(--color) h s l / 50%);.radio-fill{width:20%;height:20%;background:hsl(from var(--color) h s l / 50%)}&:is(.is-checked){.radio-fill{width:80%;height:80%;background:var(--color)}}}&.color-primary{--color: var(--color-primary-500)}&.color-secondary{--color: var(--color-secondary-500)}&.color-tertiary{--color: var(--color-tertiary-500)}&.color-active{--color: var(--color-active-500)}&.color-warning{--color: var(--color-warning-500)}&.color-alert{--color: var(--color-alert-500)}&.color-info{--color: var(--color-info-500)}}.infinity-scroll{display:grid;place-content:start center;place-items:start center;.loading{width:100%;height:30px;display:grid;place-content:center;.loading--icon{animation:spin .5s linear infinite;font-size:20px}}.empty-message{font-size:.8em;text-align:center;color:#a6a6a6}}@keyframes spin{to{transform:rotate(360deg)}}.select{cursor:pointer;.icon-close{display:grid;place-content:center;align-self:center;border-radius:100%;cursor:pointer;font-size:.6em;padding:.5em;&:hover{background:hsl(from var(--color-foreground) h s l / 33%)}}.select-container{display:grid;grid-template-columns:1fr auto;gap:.5em;align-items:center;grid-auto-rows:auto;position:relative;cursor:pointer;user-select:none;&.three-columns{grid-template-columns:1fr auto auto}}.input-button{appearance:none;-webkit-appearance:none;-moz-appearance:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:grid;min-width:0;width:100%;border:0;margin:0;border-radius:0;background:transparent;color:currentColor;text-align:left;-webkit-tap-highlight-color:transparent;padding:0;grid-template-columns:1fr auto;&.placeholder{color:#919191}}.select-caret-icon{transition:transform .2s ease;&.is-select-open{transform:rotate(180deg)}}}.select-options-menu{.select-menu-content{gap:0;display:block;height:auto;overflow:initial}}.select-options{gap:0;display:grid;grid-template-rows:1fr;height:100%;overflow:auto;&.with-search-query{grid-template-rows:auto 1fr}.select-options-list-container{height:100%;overflow:auto}.select-options-list{display:grid;gap:.2em;padding:0;margin:0;list-style:none;align-content:start}}.select-options-header{background:var(--color-background);padding:2px 5px;border-bottom:1px solid var(--color-border);.input-search{outline:none;padding:.8em 5px;font-size:var(--text-label, .875rem);line-height:var(--tw-leading, var(--text-label--line-height, 1.6));width:100%}}.input-slider{display:grid;grid-template-columns:1fr 50px;align-items:center;gap:10px;.slider{appearance:none;-webkit-appearance:none;-moz-appearance:none;display:grid;align-items:center;&:focus{outline:none}&::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:1em;background:var(--color-primary-500);box-shadow:0 0 0 0 var(--color-gray-500);margin-top:-8px;transition:all .3s ease;cursor:pointer}&::-webkit-slider-runnable-track{height:4px;border-radius:1em;background:hsl(from var(--color-primary-200) h s l / 50%);transition:all .3s ease}&:focus,&:hover{&::-webkit-slider-thumb{background:var(--color-primary-500);box-shadow:0 0 0 6px hsl(from var(--color-primary-500) h s l / 50%);cursor:grab}}&:active{&::-webkit-slider-thumb{box-shadow:0 0 0 12px hsl(from var(--color-primary-500) h s l / 31%);cursor:grabbing}}&:focus{&::-webkit-slider-runnable-track{background:var(--color-primary-300)}}}&:has(.slider-number:focus) .slider::-webkit-slider-thumb,&:has(.slider-number:hover) .slider::-webkit-slider-thumb{background:var(--color-primary-500);box-shadow:0 0 0 6px hsl(from var(--color-primary-500) h s l / 31%)}.slider-number{transition:all .3s ease;border:1px solid;border-radius:5px;text-align:center;font-size:var(--text-label, .875rem);line-height:var(--tw-leading, var(--text-label--line-height, 1.6));appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;padding:4px 8px;font-weight:700;color:inherit;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}}&.is-focus{.slider-number{color:var(--color-primary-500)}}}.textarea{border:0;outline:0;field-sizing:content}.tooltip{color:var(--color-foreground);font-size:var(--text-small, .75rem);line-height:var(--tw-leading, var(--text-small--line-height, 1.6));font-weight:var(--tw-font-weight, var(--text-small--font-weight, regular));line-height:1em;border-radius:5px;padding:.5em 1em;display:block;border:1px solid;pointer-events:none;&:before{content:"";display:block;background:var(--color-background-paper);position:absolute;z-index:1;width:10px;height:10px;border-left:1px solid transparent;border-top:1px solid transparent;border-right:1px solid var(--color-foreground);border-bottom:1px solid var(--color-foreground);border-radius:0 0 3px}&.left{animation:fadeInRight .25s ease-out;&.close-animation{animation:fadeOutLeft .25s ease-out;transform:translate(-10px);opacity:0}&:before{top:50%;left:100%;transform:translate(-50%,-50%) rotate(-45deg)}}&.right{animation:fadeInLeft .25s ease-out;&.close-animation{animation:fadeOutRight .25s ease-out;transform:translate(10px);opacity:0}&:before{top:50%;right:100%;transform:translate(50%,-50%) rotate(135deg)}}&.top{animation:fadeInDown .25s ease-out;&.close-animation{animation:fadeOutUp .25s ease-out;transform:translateY(-10px);opacity:0}&:before{top:100%;left:50%;transform:translate(-50%,-50%) rotate(45deg)}}&.bottom{animation:fadeInUp .25s ease-out;&.close-animation{animation:fadeOutDown .25s ease-out;transform:translateY(10px);opacity:0}&:before{left:50%;bottom:100%;transform:translate(-50%,50%) rotate(-135deg)}}}.switch-container{--width: attr(data-width);--dot-size: attr(data-dot-size);--dot-hover-size: attr(data-dot-hover-size);--padding: attr(data-padding);--color: var(--color-gray-500);--color-dark: var(--color-gray-800);--color-contrast: var(--color-gray-50);display:flex;align-items:center;gap:.5em;width:fit-content;.switch{width:calc(var(--width) + var(--padding) * 2);border-radius:100em;background:var(--color-background-paper);padding:var(--padding);transition:all .3s ease;position:relative;.switch-dot{width:var(--dot-size);height:var(--dot-size);border-radius:100em;background:var(--color);display:block;transition:all .3s ease;margin-left:0;position:relative;z-index:1}.switch-icon{cursor:pointer;display:block}.switch-internal-left-icon,.switch-internal-right-icon{width:var(--dot-size);height:var(--dot-size);position:absolute;top:var(--padding);display:grid;place-content:center;color:var(--color-contrast);transition:all .3s ease}.switch-internal-left-icon{left:var(--padding)}.switch-internal-right-icon{right:var(--padding)}&.is-checked{background:var(--color);.switch-dot{margin-left:calc(var(--width) - var(--dot-size));background:var(--color);@supports (color: color-mix(in lab,red,red)){background:color-mix(in hsl,var(--color),var(--color-contrast) 75%)}}}&:not(.is-readonly):has(input:disabled){background:var(--color-background-disabled);.switch-dot{background:var(--color-foreground-disabled)}.switch-internal-left-icon,.switch-internal-right-icon{color:var(--color-foreground-disabled)}&.is-checked{background:var(--color-dark)}}.switch-checkbox{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer;opacity:0;z-index:3}}.switch-label{cursor:pointer;user-select:none;padding:0 .5em}.switch:not(:has(.is-readonly,input:disabled)):hover .switch-dot,&:has(.switch-icon:hover) .switch:not(:has(.is-readonly,input:disabled)) .switch-dot,&:has(.switch-label:hover) .switch:not(:has(.is-readonly,input:disabled)) .switch-dot{box-shadow:0 0 0 calc(.3 * var(--dot-size)) var(--color);@supports (color: color-mix(in lab,red,red)){box-shadow:0 0 0 calc(.3 * var(--dot-size)) color-mix(in hsl,var(--color) 50%,var(--color-contrast))}}.switch:not(:has(.is-readonly,input:disabled)):active .switch-dot,&:has(.switch-icon:active) .switch:not(:has(.is-readonly,input:disabled)) .switch-dot,&:has(.switch-label:active) .switch:not(:has(.is-readonly,input:disabled)) .switch-dot{width:var(--dot-hover-size)}.switch:not(:has(.is-readonly,input:disabled)).is-checked:active .switch-dot,&:has(.switch-icon:active) .switch:not(:has(.is-readonly,input:disabled)).is-checked .switch-dot,&:has(.switch-label:active) .switch:not(:has(.is-readonly,input:disabled)).is-checked .switch-dot{margin-left:calc(var(--width) - var(--dot-hover-size))}&.color-primary{--color: var(--color-primary-500);--color-dark: var(--color-primary-700);--color-contrast: var(--color-primary-50)}&.color-secondary{--color: var(--color-secondary-500);--color-dark: var(--color-secondary-700);--color-contrast: var(--color-secondary-50)}&.color-tertiary{--color: var(--color-tertiary-500);--color-dark: var(--color-tertiary-700);--color-contrast: var(--color-tertiary-50)}&.color-active{--color: var(--color-active-500);--color-dark: var(--color-active-700);--color-contrast: var(--color-active-50)}&.color-warning{--color: var(--color-warning-500);--color-dark: var(--color-warning-700);--color-contrast: var(--color-warning-50)}&.color-alert{--color: var(--color-alert-500);--color-dark: var(--color-alert-700);--color-contrast: var(--color-alert-50)}&.color-info{--color: var(--color-info-500);--color-dark: var(--color-info-700);--color-contrast: var(--color-info-50)}}.smart-table-container{border:0 solid var(--color-primary-500);border-radius:5px;overflow:auto;height:100%;width:100%;margin:auto}.smart-table{border-collapse:collapse;position:relative;width:100%;&.layout-fixed{table-layout:fixed}&.layout-scrollable{table-layout:auto}thead{position:sticky;z-index:10;top:0;box-shadow:0 3px 5px #0003,0 1px 10px #0000001f;tr{background:var(--color-primary-500);color:var(--color-primary-50);transition:all .3s ease}}tbody{tr{box-shadow:inset 0 0 0 0 var(--color-primary-500);transition:box-shadow .3s ease;&.row-selected,&:hover{background:var(--color-background-paper)}&.row-selected{box-shadow:inset 10px 0 0 -5px var(--color-primary-500)}&:not(:last-child){border-bottom:1px solid var(--color-border)}}}th{padding:.8em 1.2em;user-select:none;&.sort-on-click{cursor:pointer}.sort-icon{width:1em;display:block}svg{animation:fadeIn .3s ease}path{transition:all .3s ease}&:first-child{padding-left:2em}&:last-child{padding-right:2em}}td{transition:all .3s ease;padding:.6em 1em;&:first-child{padding-left:2em}&:last-child{padding-right:2em}}}.tab{cursor:pointer;user-select:none;transition:all .3s ease}.tab-list{--color: var(--color-gray-900);--color-contrast: var(--color-gray-50);--inner-radius: 0;--outer-radius: 0;display:grid;grid-auto-flow:column;gap:1em;align-items:center;position:relative;font-size:var(--text-label, .875rem);line-height:var(--tw-leading, var(--text-label--line-height, 1.6));border-radius:var(--outer-radius);.tab,.tabs-selector{border-radius:var(--inner-radius)}&.size-small{font-size:var(--text-small, .75rem);line-height:var(--tw-leading, var(--text-small--line-height, 1.6));font-weight:var(--tw-font-weight, var(--text-small--font-weight, regular))}&.size-medium{font-size:var(--text-label, .875rem);line-height:var(--tw-leading, var(--text-label--line-height, 1.6))}&.size-large{font-size:var(--text-body, 1rem);line-height:var(--tw-leading, var(--text-body--line-height, 1.6));letter-spacing:var(--tw-tracking, var(--text-body--letter-spacing, 0));font-weight:var(--tw-font-weight, var(--text-body--font-weight, regular))}.tabs-selector{position:absolute;background:var(--color);color:var(--color-contrast);border-radius:1.5em;&.active{transition:all .3s ease}}.tab{border-radius:1.5em;padding:.5em 1em;z-index:1;text-align:center;&.is-open{color:var(--color-contrast)}&:not(.is-open):hover{color:var(--color-gray-900)}}&.radius-none{--outer-radius: 0;--inner-radius: 0}&.radius-small{--outer-radius: .5em;--inner-radius: .5em}&.radius-medium{--outer-radius: 1em;--inner-radius: .8em}&.radius-large{--outer-radius: 1.5em;--inner-radius: 1.3em}&.radius-full{--outer-radius: 1.8em;--inner-radius: 1.6em}&.vertical-direction{grid-auto-flow:row;align-items:unset;align-content:start}&.variant-solid{background:var(--color-background-paper);color:var(--color-foreground);padding:.5em}&.variant-ghost{border:1px solid var(--color);padding:.5em}&.variant-line{border-radius:0;&:not(.vertical-direction){border-bottom:2px solid var(--color-border)}.tabs-selector{border-radius:0}.tab{border-radius:0;&.is-open{color:var(--color)}}}&.color-primary{--color: var(--color-primary-500);--color-contrast: var(--color-primary-50)}&.color-secondary{--color: var(--color-secondary-500);--color-contrast: var(--color-secondary-50)}&.color-tertiary{--color: var(--color-tertiary-500);--color-contrast: var(--color-tertiary-50)}&.color-active{--color: var(--color-active-500);--color-contrast: var(--color-active-50)}&.color-warning{--color: var(--color-warning-500);--color-contrast: var(--color-warning-50)}&.color-alert{--color: var(--color-alert-500);--color-contrast: var(--color-alert-50)}&.color-info{--color: var(--color-info-500);--color-contrast: var(--color-info-50)}}.tag{--background: attr(data-background, var(--color-primary-500));--text: attr(data-text, var(--color-primary-50));--background-selected: attr(data-background-selected, var(--color-primary-700));--text-selected: attr(data-text-selected, var(--color-primary-50));padding:.4em .8em;border-radius:.3em;border:1px solid;background:var(--background);color:var(--text);transition:all .3s ease;display:inline-block;font-size:var(--text-label, .875rem);line-height:var(--tw-leading, var(--text-label--line-height, 1.6));user-select:none;&.no-wrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}&.rounded-none{border-radius:0}&.rounded-small{border-radius:.25em}&.rounded-medium{border-radius:.5em}&.rounded-large{border-radius:1em}&.rounded-full{border-radius:100rem}&:hover,&.is-selected{background:var(--background-selected);color:var(--text-selected)}}
2
+ /*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */