@anyblades/blades 3.1.0-alpha.1 → 3.1.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/README.md +78 -3
  2. package/css/blades.css +371 -978
  3. package/css/blades.min.css +74 -37
  4. package/css/blades.ninja.css +4057 -0
  5. package/css/blades.ninja.min.css +190 -0
  6. package/css/float-label.css +207 -0
  7. package/css/float-label.min.css +55 -0
  8. package/css/{pico.layered.css → layered/blades.layered.css} +654 -397
  9. package/css/layered/blades.layered.min.css +184 -0
  10. package/css/layered/compact.css +54 -0
  11. package/css/layered/components/accordion.css +85 -0
  12. package/css/layered/components/card.css +48 -0
  13. package/css/layered/components/dropdown.css +191 -0
  14. package/css/layered/components/group.css +208 -0
  15. package/css/layered/components/loading.css +43 -0
  16. package/css/layered/components/modal.css +158 -0
  17. package/css/layered/components/nav.css +117 -0
  18. package/css/layered/components/progress.css +76 -0
  19. package/css/layered/components/tooltip.css +176 -0
  20. package/css/layered/components.css +1082 -0
  21. package/css/layered/content/button.css +208 -0
  22. package/css/layered/content/code.css +64 -0
  23. package/css/layered/content/embedded-content.css +41 -0
  24. package/css/layered/content/figure.css +15 -0
  25. package/css/layered/content/link.css +84 -0
  26. package/css/layered/content/misc.css +22 -0
  27. package/css/layered/content/table.css +33 -0
  28. package/css/layered/content/typography.css +159 -0
  29. package/css/layered/content.css +611 -0
  30. package/css/layered/forms/basics.css +338 -0
  31. package/css/layered/forms/checkbox-radio-switch.css +164 -0
  32. package/css/layered/forms/input-color.css +20 -0
  33. package/css/layered/forms/input-datetime.css +57 -0
  34. package/css/layered/forms/input-file.css +29 -0
  35. package/css/layered/forms/input-range.css +121 -0
  36. package/css/layered/forms/input-search.css +66 -0
  37. package/css/layered/forms.css +778 -0
  38. package/css/layered/layout/container.css +42 -0
  39. package/css/layered/layout/document.css +48 -0
  40. package/css/layered/layout/grid.css +22 -0
  41. package/css/layered/layout/landmarks.css +12 -0
  42. package/css/layered/layout/overflow-auto.css +9 -0
  43. package/css/layered/layout/section.css +9 -0
  44. package/css/layered/layout.css +119 -0
  45. package/css/layered/utilities.css +35 -0
  46. package/css/layered/variables.css +365 -0
  47. package/css/pico.conditional.css +229 -396
  48. package/css/pico.conditional.min.css +42 -31
  49. package/css/pico.css +229 -396
  50. package/css/pico.min.css +42 -31
  51. package/package.json +24 -11
  52. package/src/_compact.css +51 -0
  53. package/src/blades/_index.css +23 -0
  54. package/src/blades/float-label/_index.css +2 -0
  55. package/src/{standalone/forms/_float-label.theme.css → blades/float-label/_theme.css} +5 -1
  56. package/src/blades.css +3 -2
  57. package/src/blades.ninja.css +3 -0
  58. package/src/float-label.css +1 -0
  59. package/src/ninja/_index.css +19 -0
  60. package/src/{standalone → ninja}/_theme.css +0 -2
  61. package/src/{ninja.css → ninja/_utilities.css} +55 -6
  62. package/src/pico/_variables.css +77 -386
  63. package/src/pico/components/_accordion.css +8 -0
  64. package/src/pico/components/_card.css +14 -0
  65. package/src/pico/components/_dropdown.css +9 -0
  66. package/src/pico/components/_group.css +38 -0
  67. package/src/pico/components/_loading.css +9 -0
  68. package/src/pico/components/_modal.css +13 -0
  69. package/src/pico/components/_nav.css +6 -0
  70. package/src/pico/components/_progress.css +6 -0
  71. package/src/pico/components/_tooltip.css +6 -0
  72. package/src/pico/content/_button.css +1 -1
  73. package/src/pico/forms/_checkbox-radio-switch.css +13 -0
  74. package/src/pico/forms/_input-datetime.css +6 -0
  75. package/src/pico/forms/_input-range.css +9 -0
  76. package/src/pico/forms/_input-search.css +5 -0
  77. package/src/pico/layout/_document.css +9 -0
  78. package/src/pico/layout/_index.css +0 -1
  79. package/src/pico/layout/_landmarks.css +1 -9
  80. package/src/pico.css +1 -0
  81. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -25
  82. package/.github/ISSUE_TEMPLATE/config.yml +0 -8
  83. package/.prettierignore +0 -3
  84. package/CODE_OF_CONDUCT.md +0 -92
  85. package/context7.json +0 -4
  86. package/css/blades.standalone.css +0 -860
  87. package/css/blades.standalone.min.css +0 -37
  88. package/css/ninja.css +0 -83
  89. package/css/ninja.min.css +0 -5
  90. package/css/pico.layered.min.css +0 -107
  91. package/css/postcss.config.js +0 -23
  92. package/index.html +0 -63
  93. package/src/blades.standalone.css +0 -2
  94. package/src/standalone/_core.css +0 -32
  95. package/src/standalone/_utilities.css +0 -55
  96. package/src/standalone/forms/_float-label.css +0 -2
  97. /package/src/{standalone/content → blades}/_code.css +0 -0
  98. /package/src/{standalone/layout → blades}/_columns.css +0 -0
  99. /package/src/{standalone/components/_icon-helper.css → blades/_icon.css} +0 -0
  100. /package/src/{standalone/components → blades}/_timeline.css +0 -0
  101. /package/src/{standalone → blades}/_variables.css +0 -0
  102. /package/src/{standalone/forms/_float-label.core.css → blades/float-label/_core.css} +0 -0
  103. /package/src/{standalone/layout/_breakout.css → ninja/_container-breakout.css} +0 -0
  104. /package/src/{standalone/content/_typography.css → ninja/_heading-anchor.css} +0 -0
  105. /package/src/{standalone/content/_list.css → ninja/_list-helpers.css} +0 -0
  106. /package/src/{standalone/layout/_scroller.css → ninja/_page-anchors.css} +0 -0
  107. /package/src/{standalone/content/_table.css → ninja/_table-helpers.css} +0 -0
  108. /package/src/{standalone/content → ninja}/_table-responsive.css +0 -0
@@ -0,0 +1,1082 @@
1
+ @layer blades {
2
+ /**
3
+ * Accordion (<details>)
4
+ */
5
+ :where(:scope, [data-theme="light"], [data-theme="dark"]),
6
+ :host {
7
+ --pico-accordion-border-color: var(--pico-muted-border-color);
8
+ --pico-accordion-active-summary-color: var(--pico-primary-hover);
9
+ --pico-accordion-close-summary-color: var(--pico-color);
10
+ --pico-accordion-open-summary-color: var(--pico-muted-color);
11
+ }
12
+
13
+ details {
14
+ display: block;
15
+ margin-bottom: var(--pico-spacing);
16
+ }
17
+ details summary {
18
+ line-height: 1rem;
19
+ list-style-type: none;
20
+ cursor: pointer;
21
+ transition: color var(--pico-transition);
22
+ }
23
+ details summary:not([role]) {
24
+ color: var(--pico-accordion-close-summary-color);
25
+ }
26
+ details summary::-webkit-details-marker {
27
+ display: none;
28
+ }
29
+ details summary::marker {
30
+ display: none;
31
+ }
32
+ details summary::-moz-list-bullet {
33
+ list-style-type: none;
34
+ }
35
+ details summary::after {
36
+ display: block;
37
+ width: 1rem;
38
+ height: 1rem;
39
+ margin-inline-start: calc(var(--pico-spacing, 1rem) * 0.5);
40
+ float: right;
41
+ transform: rotate(-90deg);
42
+ background-image: var(--pico-icon-chevron);
43
+ background-position: right center;
44
+ background-size: 1rem auto;
45
+ background-repeat: no-repeat;
46
+ content: "";
47
+ transition: transform var(--pico-transition);
48
+ }
49
+ details summary:focus {
50
+ outline: none;
51
+ }
52
+ details summary:focus:not([role]) {
53
+ color: var(--pico-accordion-active-summary-color);
54
+ }
55
+ details summary:focus-visible:not([role]) {
56
+ outline: var(--pico-outline-width) solid var(--pico-primary-focus);
57
+ outline-offset: calc(var(--pico-spacing, 1rem) * 0.5);
58
+ color: var(--pico-primary);
59
+ }
60
+ details summary[role="button"] {
61
+ width: 100%;
62
+ text-align: start;
63
+ }
64
+ details summary[role="button"]::after {
65
+ height: calc(1rem * var(--pico-line-height, 1.5));
66
+ }
67
+ details[open] > summary {
68
+ margin-bottom: var(--pico-spacing);
69
+ }
70
+ details[open] > summary:not([role]):not(:focus) {
71
+ color: var(--pico-accordion-open-summary-color);
72
+ }
73
+ details[open] > summary::after {
74
+ transform: rotate(0);
75
+ }
76
+
77
+ [dir="rtl"] details summary {
78
+ text-align: end;
79
+ }
80
+ [dir="rtl"] details summary::after {
81
+ float: left;
82
+ background-position: left center;
83
+ }
84
+ /**
85
+ * Card (<article>)
86
+ */
87
+ :where(:scope, [data-theme="light"], [data-theme="dark"]),
88
+ :host {
89
+ --pico-card-background-color: light-dark(var(--pico-background-color), #181c25);
90
+ --pico-card-border-color: light-dark(
91
+ var(--pico-muted-border-color),
92
+ var(--pico-card-background-color)
93
+ );
94
+ --pico-card-box-shadow: var(--pico-box-shadow);
95
+ --pico-card-sectioning-background-color: light-dark(
96
+ rgb(251, 251.5, 252.25),
97
+ rgb(26, 30.5, 40.25)
98
+ );
99
+ }
100
+
101
+ article {
102
+ margin-bottom: var(--pico-block-spacing-vertical);
103
+ padding: var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal);
104
+ border-radius: var(--pico-border-radius);
105
+ background: var(--pico-card-background-color);
106
+ box-shadow: var(--pico-card-box-shadow);
107
+ }
108
+ article > header,
109
+ article > footer {
110
+ margin-right: calc(var(--pico-block-spacing-horizontal) * -1);
111
+ margin-left: calc(var(--pico-block-spacing-horizontal) * -1);
112
+ padding: calc(var(--pico-block-spacing-vertical) * 0.66) var(--pico-block-spacing-horizontal);
113
+ background-color: var(--pico-card-sectioning-background-color);
114
+ }
115
+ article > header {
116
+ margin-top: calc(var(--pico-block-spacing-vertical) * -1);
117
+ margin-bottom: var(--pico-block-spacing-vertical);
118
+ border-bottom: var(--pico-border-width) solid var(--pico-card-border-color);
119
+ border-top-right-radius: var(--pico-border-radius);
120
+ border-top-left-radius: var(--pico-border-radius);
121
+ }
122
+ article > footer {
123
+ margin-top: var(--pico-block-spacing-vertical);
124
+ margin-bottom: calc(var(--pico-block-spacing-vertical) * -1);
125
+ border-top: var(--pico-border-width) solid var(--pico-card-border-color);
126
+ border-bottom-right-radius: var(--pico-border-radius);
127
+ border-bottom-left-radius: var(--pico-border-radius);
128
+ }
129
+ /**
130
+ * Dropdown (details.dropdown)
131
+ */
132
+ :where(:scope, [data-theme="light"], [data-theme="dark"]),
133
+ :host {
134
+ --pico-dropdown-background-color: light-dark(#fff, #181c25);
135
+ --pico-dropdown-border-color: light-dark(#eff1f4, #202632);
136
+ --pico-dropdown-box-shadow: var(--pico-box-shadow);
137
+ --pico-dropdown-color: var(--pico-color);
138
+ --pico-dropdown-hover-background-color: light-dark(#eff1f4, #202632);
139
+ }
140
+
141
+ details.dropdown {
142
+ position: relative;
143
+ border-bottom: none;
144
+ }
145
+ details.dropdown > summary::after,
146
+ details.dropdown > button::after,
147
+ details.dropdown > a::after {
148
+ display: block;
149
+ width: 1rem;
150
+ height: calc(1rem * var(--pico-line-height, 1.5));
151
+ margin-inline-start: 0.25rem;
152
+ float: right;
153
+ transform: rotate(0deg) translateX(0.2rem);
154
+ background-image: var(--pico-icon-chevron);
155
+ background-position: right center;
156
+ background-size: 1rem auto;
157
+ background-repeat: no-repeat;
158
+ content: "";
159
+ }
160
+
161
+ nav details.dropdown {
162
+ margin-bottom: 0;
163
+ }
164
+
165
+ details.dropdown > summary:not([role]) {
166
+ height: calc(
167
+ 1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 +
168
+ var(--pico-border-width) * 2
169
+ );
170
+ padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);
171
+ border: var(--pico-border-width) solid var(--pico-form-element-border-color);
172
+ border-radius: var(--pico-border-radius);
173
+ background-color: var(--pico-form-element-background-color);
174
+ color: var(--pico-form-element-placeholder-color);
175
+ line-height: inherit;
176
+ cursor: pointer;
177
+ -webkit-user-select: none;
178
+ -moz-user-select: none;
179
+ transition:
180
+ background-color var(--pico-transition),
181
+ border-color var(--pico-transition),
182
+ color var(--pico-transition),
183
+ box-shadow var(--pico-transition);
184
+ user-select: none;
185
+ }
186
+ details.dropdown > summary:not([role]):active,
187
+ details.dropdown > summary:not([role]):focus {
188
+ border-color: var(--pico-form-element-active-border-color);
189
+ background-color: var(--pico-form-element-active-background-color);
190
+ }
191
+ details.dropdown > summary:not([role]):focus {
192
+ box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color);
193
+ }
194
+ details.dropdown > summary:not([role]):focus-visible {
195
+ outline: none;
196
+ }
197
+ details.dropdown > summary:not([role])[aria-invalid="false"] {
198
+ --pico-form-element-border-color: var(--pico-form-element-valid-border-color);
199
+ --pico-form-element-active-border-color: var(--pico-form-element-valid-focus-color);
200
+ --pico-form-element-focus-color: var(--pico-form-element-valid-focus-color);
201
+ }
202
+ details.dropdown > summary:not([role])[aria-invalid="true"] {
203
+ --pico-form-element-border-color: var(--pico-form-element-invalid-border-color);
204
+ --pico-form-element-active-border-color: var(--pico-form-element-invalid-focus-color);
205
+ --pico-form-element-focus-color: var(--pico-form-element-invalid-focus-color);
206
+ }
207
+
208
+ nav details.dropdown {
209
+ display: inline-block;
210
+ margin: calc(var(--pico-nav-element-spacing-vertical) * -1) 0;
211
+ }
212
+ nav details.dropdown > summary::after {
213
+ transform: rotate(0deg) translateX(0rem);
214
+ }
215
+ nav details.dropdown > summary:not([role]) {
216
+ height: calc(1rem * var(--pico-line-height) + var(--pico-nav-link-spacing-vertical) * 2);
217
+ padding: calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2)
218
+ var(--pico-nav-link-spacing-horizontal);
219
+ }
220
+ nav details.dropdown > summary:not([role]):focus-visible {
221
+ box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus);
222
+ }
223
+
224
+ details.dropdown > summary + ul {
225
+ display: flex;
226
+ z-index: 99;
227
+ position: absolute;
228
+ left: 0;
229
+ flex-direction: column;
230
+ width: 100%;
231
+ min-width: -moz-fit-content;
232
+ min-width: fit-content;
233
+ margin: 0;
234
+ margin-top: var(--pico-outline-width);
235
+ padding: 0;
236
+ border: var(--pico-border-width) solid var(--pico-dropdown-border-color);
237
+ border-radius: var(--pico-border-radius);
238
+ background-color: var(--pico-dropdown-background-color);
239
+ box-shadow: var(--pico-dropdown-box-shadow);
240
+ color: var(--pico-dropdown-color);
241
+ white-space: nowrap;
242
+ opacity: 0;
243
+ transition:
244
+ opacity var(--pico-transition),
245
+ transform 0s ease-in-out 1s;
246
+ }
247
+ details.dropdown > summary + ul[dir="rtl"] {
248
+ right: 0;
249
+ left: auto;
250
+ }
251
+ details.dropdown > summary + ul li {
252
+ width: 100%;
253
+ margin-bottom: 0;
254
+ padding: calc(var(--pico-form-element-spacing-vertical) * 0.5)
255
+ var(--pico-form-element-spacing-horizontal);
256
+ list-style: none;
257
+ }
258
+ details.dropdown > summary + ul li:first-of-type {
259
+ margin-top: calc(var(--pico-form-element-spacing-vertical) * 0.5);
260
+ }
261
+ details.dropdown > summary + ul li:last-of-type {
262
+ margin-bottom: calc(var(--pico-form-element-spacing-vertical) * 0.5);
263
+ }
264
+ details.dropdown > summary + ul li a {
265
+ display: block;
266
+ margin: calc(var(--pico-form-element-spacing-vertical) * -0.5)
267
+ calc(var(--pico-form-element-spacing-horizontal) * -1);
268
+ padding: calc(var(--pico-form-element-spacing-vertical) * 0.5)
269
+ var(--pico-form-element-spacing-horizontal);
270
+ overflow: hidden;
271
+ border-radius: 0;
272
+ color: var(--pico-dropdown-color);
273
+ text-decoration: none;
274
+ text-overflow: ellipsis;
275
+ }
276
+ details.dropdown > summary + ul li a:hover,
277
+ details.dropdown > summary + ul li a:focus,
278
+ details.dropdown > summary + ul li a:active,
279
+ details.dropdown > summary + ul li a:focus-visible,
280
+ details.dropdown > summary + ul li a[aria-current]:not([aria-current="false"]) {
281
+ background-color: var(--pico-dropdown-hover-background-color);
282
+ }
283
+ details.dropdown > summary + ul li label {
284
+ width: 100%;
285
+ }
286
+ details.dropdown > summary + ul li:has(label):hover {
287
+ background-color: var(--pico-dropdown-hover-background-color);
288
+ }
289
+
290
+ details.dropdown[open] > summary {
291
+ margin-bottom: 0;
292
+ }
293
+
294
+ details.dropdown[open] > summary + ul {
295
+ transform: scaleY(1);
296
+ opacity: 1;
297
+ transition:
298
+ opacity var(--pico-transition),
299
+ transform 0s ease-in-out 0s;
300
+ }
301
+
302
+ details.dropdown[open] > summary::before {
303
+ display: block;
304
+ z-index: 1;
305
+ position: fixed;
306
+ width: 100vw;
307
+ height: 100vh;
308
+ inset: 0;
309
+ background: none;
310
+ content: "";
311
+ cursor: default;
312
+ }
313
+
314
+ label > details.dropdown {
315
+ margin-top: calc(var(--pico-spacing) * 0.25);
316
+ }
317
+
318
+ /**
319
+ * Group ([role="group"], [role="search"])
320
+ */
321
+ :where(:scope),
322
+ :host {
323
+ --pico-group-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
324
+ --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width)
325
+ var(--pico-primary-focus);
326
+ --pico-group-box-shadow-focus-with-input: 0 0 0 0.0625rem var(--pico-form-element-border-color);
327
+ }
328
+ [role="search"]:has(
329
+ button.secondary:focus,
330
+ [type="submit"].secondary:focus,
331
+ [type="button"].secondary:focus,
332
+ [role="button"].secondary:focus
333
+ ),
334
+ [role="group"]:has(
335
+ button.secondary:focus,
336
+ [type="submit"].secondary:focus,
337
+ [type="button"].secondary:focus,
338
+ [role="button"].secondary:focus
339
+ ) {
340
+ --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width)
341
+ var(--pico-secondary-focus);
342
+ }
343
+ [role="search"]:has(
344
+ button.contrast:focus,
345
+ [type="submit"].contrast:focus,
346
+ [type="button"].contrast:focus,
347
+ [role="button"].contrast:focus
348
+ ),
349
+ [role="group"]:has(
350
+ button.contrast:focus,
351
+ [type="submit"].contrast:focus,
352
+ [type="button"].contrast:focus,
353
+ [role="button"].contrast:focus
354
+ ) {
355
+ --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width)
356
+ var(--pico-contrast-focus);
357
+ }
358
+
359
+ [role="search"],
360
+ [role="group"] {
361
+ display: inline-flex;
362
+ position: relative;
363
+ width: 100%;
364
+ margin-bottom: var(--pico-spacing);
365
+ border-radius: var(--pico-border-radius);
366
+ box-shadow: var(--pico-group-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
367
+ vertical-align: middle;
368
+ transition: box-shadow var(--pico-transition);
369
+ }
370
+ [role="search"] > *,
371
+ [role="search"] input:not([type="checkbox"], [type="radio"]),
372
+ [role="search"] select,
373
+ [role="group"] > *,
374
+ [role="group"] input:not([type="checkbox"], [type="radio"]),
375
+ [role="group"] select {
376
+ position: relative;
377
+ flex: 1 1 auto;
378
+ margin-bottom: 0;
379
+ }
380
+ [role="search"] > *:not(:first-child),
381
+ [role="search"] input:not([type="checkbox"], [type="radio"]):not(:first-child),
382
+ [role="search"] select:not(:first-child),
383
+ [role="group"] > *:not(:first-child),
384
+ [role="group"] input:not([type="checkbox"], [type="radio"]):not(:first-child),
385
+ [role="group"] select:not(:first-child) {
386
+ margin-left: 0;
387
+ border-top-left-radius: 0;
388
+ border-bottom-left-radius: 0;
389
+ }
390
+ [role="search"] > *:not(:last-child),
391
+ [role="search"] input:not([type="checkbox"], [type="radio"]):not(:last-child),
392
+ [role="search"] select:not(:last-child),
393
+ [role="group"] > *:not(:last-child),
394
+ [role="group"] input:not([type="checkbox"], [type="radio"]):not(:last-child),
395
+ [role="group"] select:not(:last-child) {
396
+ border-top-right-radius: 0;
397
+ border-bottom-right-radius: 0;
398
+ }
399
+ [role="search"] > *:focus,
400
+ [role="search"] input:not([type="checkbox"], [type="radio"]):focus,
401
+ [role="search"] select:focus,
402
+ [role="group"] > *:focus,
403
+ [role="group"] input:not([type="checkbox"], [type="radio"]):focus,
404
+ [role="group"] select:focus {
405
+ z-index: 2;
406
+ }
407
+ [role="search"] button:not(:first-child),
408
+ [role="search"] [type="submit"]:not(:first-child),
409
+ [role="search"] [type="reset"]:not(:first-child),
410
+ [role="search"] [type="button"]:not(:first-child),
411
+ [role="search"] [role="button"]:not(:first-child),
412
+ [role="search"] input:not([type="checkbox"], [type="radio"]):not(:first-child),
413
+ [role="search"] select:not(:first-child),
414
+ [role="group"] button:not(:first-child),
415
+ [role="group"] [type="submit"]:not(:first-child),
416
+ [role="group"] [type="reset"]:not(:first-child),
417
+ [role="group"] [type="button"]:not(:first-child),
418
+ [role="group"] [role="button"]:not(:first-child),
419
+ [role="group"] input:not([type="checkbox"], [type="radio"]):not(:first-child),
420
+ [role="group"] select:not(:first-child) {
421
+ margin-left: calc(var(--pico-border-width) * -1);
422
+ }
423
+ [role="search"] button,
424
+ [role="search"] [type="submit"],
425
+ [role="search"] [type="reset"],
426
+ [role="search"] [type="button"],
427
+ [role="search"] [role="button"],
428
+ [role="group"] button,
429
+ [role="group"] [type="submit"],
430
+ [role="group"] [type="reset"],
431
+ [role="group"] [type="button"],
432
+ [role="group"] [role="button"] {
433
+ width: auto;
434
+ }
435
+ @supports selector(:has(*)) {
436
+ [role="search"]:has(
437
+ button:focus,
438
+ [type="submit"]:focus,
439
+ [type="button"]:focus,
440
+ [role="button"]:focus
441
+ ),
442
+ [role="group"]:has(
443
+ button:focus,
444
+ [type="submit"]:focus,
445
+ [type="button"]:focus,
446
+ [role="button"]:focus
447
+ ) {
448
+ --pico-group-box-shadow: var(--pico-group-box-shadow-focus-with-button);
449
+ }
450
+ [role="search"]:has(
451
+ button:focus,
452
+ [type="submit"]:focus,
453
+ [type="button"]:focus,
454
+ [role="button"]:focus
455
+ )
456
+ input:not([type="checkbox"], [type="radio"]),
457
+ [role="search"]:has(
458
+ button:focus,
459
+ [type="submit"]:focus,
460
+ [type="button"]:focus,
461
+ [role="button"]:focus
462
+ )
463
+ select,
464
+ [role="group"]:has(
465
+ button:focus,
466
+ [type="submit"]:focus,
467
+ [type="button"]:focus,
468
+ [role="button"]:focus
469
+ )
470
+ input:not([type="checkbox"], [type="radio"]),
471
+ [role="group"]:has(
472
+ button:focus,
473
+ [type="submit"]:focus,
474
+ [type="button"]:focus,
475
+ [role="button"]:focus
476
+ )
477
+ select {
478
+ border-color: transparent;
479
+ }
480
+ [role="search"]:has(input:not([type="submit"], [type="button"]):focus, select:focus),
481
+ [role="group"]:has(input:not([type="submit"], [type="button"]):focus, select:focus) {
482
+ --pico-group-box-shadow: var(--pico-group-box-shadow-focus-with-input);
483
+ }
484
+ [role="search"]:has(input:not([type="submit"], [type="button"]):focus, select:focus) button,
485
+ [role="search"]:has(input:not([type="submit"], [type="button"]):focus, select:focus)
486
+ [type="submit"],
487
+ [role="search"]:has(input:not([type="submit"], [type="button"]):focus, select:focus)
488
+ [type="button"],
489
+ [role="search"]:has(input:not([type="submit"], [type="button"]):focus, select:focus)
490
+ [role="button"],
491
+ [role="group"]:has(input:not([type="submit"], [type="button"]):focus, select:focus) button,
492
+ [role="group"]:has(input:not([type="submit"], [type="button"]):focus, select:focus)
493
+ [type="submit"],
494
+ [role="group"]:has(input:not([type="submit"], [type="button"]):focus, select:focus)
495
+ [type="button"],
496
+ [role="group"]:has(input:not([type="submit"], [type="button"]):focus, select:focus)
497
+ [role="button"] {
498
+ --pico-button-box-shadow: 0 0 0 var(--pico-border-width) var(--pico-primary-border);
499
+ --pico-button-hover-box-shadow: 0 0 0 var(--pico-border-width) var(--pico-primary-hover-border);
500
+ }
501
+ [role="search"] button:focus,
502
+ [role="search"] [type="submit"]:focus,
503
+ [role="search"] [type="reset"]:focus,
504
+ [role="search"] [type="button"]:focus,
505
+ [role="search"] [role="button"]:focus,
506
+ [role="group"] button:focus,
507
+ [role="group"] [type="submit"]:focus,
508
+ [role="group"] [type="reset"]:focus,
509
+ [role="group"] [type="button"]:focus,
510
+ [role="group"] [role="button"]:focus {
511
+ box-shadow: none;
512
+ }
513
+ }
514
+
515
+ [role="search"] > *:first-child {
516
+ border-top-left-radius: 5rem;
517
+ border-bottom-left-radius: 5rem;
518
+ }
519
+ [role="search"] > *:last-child {
520
+ border-top-right-radius: 5rem;
521
+ border-bottom-right-radius: 5rem;
522
+ }
523
+ /**
524
+ * Loading ([aria-busy=true])
525
+ */
526
+ :where(:scope),
527
+ :host {
528
+ --pico-icon-loading: url("data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgb(136, 145, 164)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E");
529
+ }
530
+ :where(:scope, [data-theme="light"], [data-theme="dark"]),
531
+ :host {
532
+ --pico-loading-spinner-opacity: 0.5;
533
+ }
534
+
535
+ [aria-busy="true"]:not(input, select, textarea, html, form) {
536
+ white-space: nowrap;
537
+ }
538
+ [aria-busy="true"]:not(input, select, textarea, html, form)::before {
539
+ display: inline-block;
540
+ width: 1em;
541
+ height: 1em;
542
+ background-image: var(--pico-icon-loading);
543
+ background-size: 1em auto;
544
+ background-repeat: no-repeat;
545
+ content: "";
546
+ vertical-align: -0.125em;
547
+ }
548
+ [aria-busy="true"]:not(input, select, textarea, html, form):not(:empty)::before {
549
+ margin-inline-end: calc(var(--pico-spacing) * 0.5);
550
+ }
551
+ [aria-busy="true"]:not(input, select, textarea, html, form):empty {
552
+ text-align: center;
553
+ }
554
+
555
+ button[aria-busy="true"],
556
+ [type="submit"][aria-busy="true"],
557
+ [type="button"][aria-busy="true"],
558
+ [type="reset"][aria-busy="true"],
559
+ [role="button"][aria-busy="true"],
560
+ a[aria-busy="true"] {
561
+ pointer-events: none;
562
+ }
563
+
564
+ /**
565
+ * Modal (<dialog>)
566
+ */
567
+ :where(:scope),
568
+ :host {
569
+ --pico-modal-overlay-backdrop-filter: blur(0.375rem);
570
+ --pico-icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
571
+ }
572
+ :where(:scope, [data-theme="light"], [data-theme="dark"]),
573
+ :host {
574
+ --pico-modal-overlay-background-color: light-dark(
575
+ rgba(232, 234, 237, 0.75),
576
+ rgba(7.5, 8.5, 10, 0.75)
577
+ );
578
+ }
579
+
580
+ :scope,
581
+ :host {
582
+ --pico-scrollbar-width: 0px;
583
+ }
584
+
585
+ dialog {
586
+ display: flex;
587
+ z-index: 999;
588
+ position: fixed;
589
+ top: 0;
590
+ right: 0;
591
+ bottom: 0;
592
+ left: 0;
593
+ align-items: center;
594
+ justify-content: center;
595
+ width: inherit;
596
+ min-width: 100%;
597
+ height: inherit;
598
+ min-height: 100%;
599
+ padding: 0;
600
+ border: 0;
601
+ backdrop-filter: var(--pico-modal-overlay-backdrop-filter);
602
+ background-color: var(--pico-modal-overlay-background-color);
603
+ color: var(--pico-color);
604
+ }
605
+ dialog > article {
606
+ width: 100%;
607
+ max-height: calc(100vh - var(--pico-spacing) * 2);
608
+ margin: var(--pico-spacing);
609
+ overflow: auto;
610
+ }
611
+ @media (min-width: 576px) {
612
+ dialog > article {
613
+ max-width: 510px;
614
+ }
615
+ }
616
+ @media (min-width: 768px) {
617
+ dialog > article {
618
+ max-width: 700px;
619
+ }
620
+ }
621
+ dialog > article > header > * {
622
+ margin-bottom: 0;
623
+ }
624
+ dialog > article > header .close,
625
+ dialog > article > header :is(a, button)[rel="prev"] {
626
+ margin: 0;
627
+ margin-left: var(--pico-spacing);
628
+ padding: 0;
629
+ float: right;
630
+ }
631
+ dialog > article > footer {
632
+ text-align: end;
633
+ }
634
+ dialog > article > footer button,
635
+ dialog > article > footer [role="button"] {
636
+ margin-bottom: 0;
637
+ }
638
+ dialog > article > footer button:not(:first-of-type),
639
+ dialog > article > footer [role="button"]:not(:first-of-type) {
640
+ margin-left: calc(var(--pico-spacing) * 0.5);
641
+ }
642
+ dialog > article .close,
643
+ dialog > article :is(a, button)[rel="prev"] {
644
+ display: block;
645
+ width: 1rem;
646
+ height: 1rem;
647
+ margin-top: calc(var(--pico-spacing) * -1);
648
+ margin-bottom: var(--pico-spacing);
649
+ margin-left: auto;
650
+ border: none;
651
+ background-image: var(--pico-icon-close);
652
+ background-position: center;
653
+ background-size: auto 1rem;
654
+ background-repeat: no-repeat;
655
+ background-color: transparent;
656
+ opacity: 0.5;
657
+ transition: opacity var(--pico-transition);
658
+ }
659
+ dialog > article .close:is([aria-current]:not([aria-current="false"]), :hover, :active, :focus),
660
+ dialog
661
+ > article
662
+ :is(a, button)[rel="prev"]:is(
663
+ [aria-current]:not([aria-current="false"]),
664
+ :hover,
665
+ :active,
666
+ :focus
667
+ ) {
668
+ opacity: 1;
669
+ }
670
+ dialog:not([open]),
671
+ dialog[open="false"] {
672
+ display: none;
673
+ }
674
+
675
+ .modal-is-open {
676
+ padding-right: var(--pico-scrollbar-width, 0px);
677
+ overflow: hidden;
678
+ pointer-events: none;
679
+ touch-action: none;
680
+ }
681
+ .modal-is-open dialog {
682
+ pointer-events: auto;
683
+ touch-action: auto;
684
+ }
685
+
686
+ :where(.modal-is-opening, .modal-is-closing) dialog,
687
+ :where(.modal-is-opening, .modal-is-closing) dialog > article {
688
+ animation-duration: 0.2s;
689
+ animation-timing-function: ease-in-out;
690
+ animation-fill-mode: both;
691
+ }
692
+ :where(.modal-is-opening, .modal-is-closing) dialog {
693
+ animation-duration: 0.8s;
694
+ animation-name: modal-overlay;
695
+ }
696
+ :where(.modal-is-opening, .modal-is-closing) dialog > article {
697
+ animation-delay: 0.2s;
698
+ animation-name: modal;
699
+ }
700
+
701
+ .modal-is-closing dialog,
702
+ .modal-is-closing dialog > article {
703
+ animation-delay: 0s;
704
+ animation-direction: reverse;
705
+ }
706
+
707
+ @keyframes modal-overlay {
708
+ from {
709
+ backdrop-filter: none;
710
+ background-color: transparent;
711
+ }
712
+ }
713
+ @keyframes modal {
714
+ from {
715
+ transform: translateY(-100%);
716
+ opacity: 0;
717
+ }
718
+ }
719
+ /**
720
+ * Nav
721
+ */
722
+ :where(:scope),
723
+ :host {
724
+ --pico-nav-element-spacing-horizontal: 0.5rem;
725
+ --pico-nav-breadcrumb-divider: ">";
726
+ }
727
+
728
+ :where(nav li)::before {
729
+ float: left;
730
+ content: "​";
731
+ }
732
+
733
+ nav,
734
+ nav ul {
735
+ display: flex;
736
+ }
737
+
738
+ nav {
739
+ justify-content: space-between;
740
+ overflow: visible;
741
+ }
742
+ nav ol,
743
+ nav ul {
744
+ align-items: center;
745
+ margin-bottom: 0;
746
+ padding: 0;
747
+ list-style: none;
748
+ }
749
+ nav ol:first-of-type,
750
+ nav ul:first-of-type {
751
+ margin-left: calc(var(--pico-nav-element-spacing-horizontal) * -1);
752
+ }
753
+ nav ol:last-of-type,
754
+ nav ul:last-of-type {
755
+ margin-right: calc(var(--pico-nav-element-spacing-horizontal) * -1);
756
+ }
757
+ nav li {
758
+ display: inline-block;
759
+ margin: 0;
760
+ padding: var(--pico-nav-element-spacing-vertical) var(--pico-nav-element-spacing-horizontal);
761
+ }
762
+ nav li :where(a, [role="link"]) {
763
+ display: inline-block;
764
+ margin: calc(var(--pico-nav-link-spacing-vertical) * -1)
765
+ calc(var(--pico-nav-link-spacing-horizontal) * -1);
766
+ padding: var(--pico-nav-link-spacing-vertical) var(--pico-nav-link-spacing-horizontal);
767
+ border-radius: var(--pico-border-radius);
768
+ }
769
+ nav li :where(a, [role="link"]):not(:hover) {
770
+ text-decoration: none;
771
+ }
772
+ nav li button,
773
+ nav li [role="button"],
774
+ nav li [type="button"],
775
+ nav li input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"]),
776
+ nav li select {
777
+ height: auto;
778
+ margin-right: inherit;
779
+ margin-bottom: 0;
780
+ margin-left: inherit;
781
+ padding: calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2)
782
+ var(--pico-nav-link-spacing-horizontal);
783
+ }
784
+ nav[aria-label="breadcrumb"] {
785
+ align-items: center;
786
+ justify-content: start;
787
+ }
788
+ nav[aria-label="breadcrumb"] ul li:not(:first-child) {
789
+ margin-inline-start: var(--pico-nav-link-spacing-horizontal);
790
+ }
791
+ nav[aria-label="breadcrumb"] ul li a {
792
+ margin: calc(var(--pico-nav-link-spacing-vertical) * -1) 0;
793
+ margin-inline-start: calc(var(--pico-nav-link-spacing-horizontal) * -1);
794
+ }
795
+ nav[aria-label="breadcrumb"] ul li:not(:last-child)::after {
796
+ display: inline-block;
797
+ position: absolute;
798
+ width: calc(var(--pico-nav-link-spacing-horizontal) * 4);
799
+ margin: 0 calc(var(--pico-nav-link-spacing-horizontal) * -1);
800
+ content: var(--pico-nav-breadcrumb-divider);
801
+ color: var(--pico-muted-color);
802
+ text-align: center;
803
+ text-decoration: none;
804
+ white-space: nowrap;
805
+ }
806
+ nav[aria-label="breadcrumb"] a[aria-current]:not([aria-current="false"]) {
807
+ background-color: transparent;
808
+ color: inherit;
809
+ text-decoration: none;
810
+ pointer-events: none;
811
+ }
812
+
813
+ aside nav,
814
+ aside ol,
815
+ aside ul,
816
+ aside li {
817
+ display: block;
818
+ }
819
+ aside li {
820
+ padding: calc(var(--pico-nav-element-spacing-vertical) * 0.5)
821
+ var(--pico-nav-element-spacing-horizontal);
822
+ }
823
+ aside li a {
824
+ display: block;
825
+ }
826
+ aside li [role="button"] {
827
+ margin: inherit;
828
+ }
829
+
830
+ [dir="rtl"] nav[aria-label="breadcrumb"] ul li:not(:last-child)::after {
831
+ content: "\\";
832
+ }
833
+
834
+ /**
835
+ * Progress
836
+ */
837
+ :where(:scope, [data-theme="light"], [data-theme="dark"]),
838
+ :host {
839
+ --pico-progress-background-color: light-dark(#dfe3eb, #202632);
840
+ --pico-progress-color: var(--pico-primary-background);
841
+ }
842
+
843
+ progress {
844
+ display: inline-block;
845
+ vertical-align: baseline;
846
+ }
847
+
848
+ progress {
849
+ -webkit-appearance: none;
850
+ -moz-appearance: none;
851
+ display: inline-block;
852
+ appearance: none;
853
+ width: 100%;
854
+ height: 0.5rem;
855
+ margin-bottom: calc(var(--pico-spacing) * 0.5);
856
+ overflow: hidden;
857
+ border: 0;
858
+ border-radius: var(--pico-border-radius);
859
+ background-color: var(--pico-progress-background-color);
860
+ color: var(--pico-progress-color);
861
+ }
862
+ progress::-webkit-progress-bar {
863
+ border-radius: var(--pico-border-radius);
864
+ background: none;
865
+ }
866
+ progress[value]::-webkit-progress-value {
867
+ background-color: var(--pico-progress-color);
868
+ -webkit-transition: inline-size var(--pico-transition);
869
+ transition: inline-size var(--pico-transition);
870
+ }
871
+ progress::-moz-progress-bar {
872
+ background-color: var(--pico-progress-color);
873
+ }
874
+ @media (prefers-reduced-motion: no-preference) {
875
+ progress:indeterminate {
876
+ background: var(--pico-progress-background-color)
877
+ linear-gradient(
878
+ to right,
879
+ var(--pico-progress-color) 30%,
880
+ var(--pico-progress-background-color) 30%
881
+ )
882
+ top left/150% 150% no-repeat;
883
+ animation: progress-indeterminate 1s linear infinite;
884
+ }
885
+ progress:indeterminate[value]::-webkit-progress-value {
886
+ background-color: transparent;
887
+ }
888
+ progress:indeterminate::-moz-progress-bar {
889
+ background-color: transparent;
890
+ }
891
+ }
892
+
893
+ @media (prefers-reduced-motion: no-preference) {
894
+ [dir="rtl"] progress:indeterminate {
895
+ animation-direction: reverse;
896
+ }
897
+ }
898
+
899
+ @keyframes progress-indeterminate {
900
+ 0% {
901
+ background-position: 200% 0;
902
+ }
903
+ 100% {
904
+ background-position: -200% 0;
905
+ }
906
+ }
907
+
908
+ /**
909
+ * Tooltip ([data-tooltip])
910
+ */
911
+ :where(:scope, [data-theme="light"], [data-theme="dark"]),
912
+ :host {
913
+ --pico-tooltip-background-color: var(--pico-contrast-background);
914
+ --pico-tooltip-color: var(--pico-contrast-inverse);
915
+ }
916
+
917
+ [data-tooltip] {
918
+ position: relative;
919
+ }
920
+ [data-tooltip]:not(a, button, input, [role="button"]) {
921
+ border-bottom: 1px dotted;
922
+ text-decoration: none;
923
+ cursor: help;
924
+ }
925
+ [data-tooltip][data-placement="top"]::before,
926
+ [data-tooltip][data-placement="top"]::after,
927
+ [data-tooltip]::before,
928
+ [data-tooltip]::after {
929
+ display: block;
930
+ z-index: 99;
931
+ position: absolute;
932
+ bottom: 100%;
933
+ left: 50%;
934
+ padding: 0.25rem 0.5rem;
935
+ overflow: hidden;
936
+ transform: translate(-50%, -0.25rem);
937
+ border-radius: var(--pico-border-radius);
938
+ background: var(--pico-tooltip-background-color);
939
+ content: attr(data-tooltip);
940
+ color: var(--pico-tooltip-color);
941
+ font-style: normal;
942
+ font-weight: var(--pico-font-weight);
943
+ font-size: 0.875rem;
944
+ text-decoration: none;
945
+ text-overflow: ellipsis;
946
+ white-space: nowrap;
947
+ opacity: 0;
948
+ pointer-events: none;
949
+ }
950
+ [data-tooltip][data-placement="top"]::after,
951
+ [data-tooltip]::after {
952
+ padding: 0;
953
+ transform: translate(-50%, 0rem);
954
+ border-top: 0.3rem solid;
955
+ border-right: 0.3rem solid transparent;
956
+ border-left: 0.3rem solid transparent;
957
+ border-radius: 0;
958
+ background-color: transparent;
959
+ content: "";
960
+ color: var(--pico-tooltip-background-color);
961
+ }
962
+ [data-tooltip][data-placement="bottom"]::before,
963
+ [data-tooltip][data-placement="bottom"]::after {
964
+ top: 100%;
965
+ bottom: auto;
966
+ transform: translate(-50%, 0.25rem);
967
+ }
968
+ [data-tooltip][data-placement="bottom"]:after {
969
+ transform: translate(-50%, -0.3rem);
970
+ border: 0.3rem solid transparent;
971
+ border-bottom: 0.3rem solid;
972
+ }
973
+ [data-tooltip][data-placement="left"]::before,
974
+ [data-tooltip][data-placement="left"]::after {
975
+ top: 50%;
976
+ right: 100%;
977
+ bottom: auto;
978
+ left: auto;
979
+ transform: translate(-0.25rem, -50%);
980
+ }
981
+ [data-tooltip][data-placement="left"]:after {
982
+ transform: translate(0.3rem, -50%);
983
+ border: 0.3rem solid transparent;
984
+ border-left: 0.3rem solid;
985
+ }
986
+ [data-tooltip][data-placement="right"]::before,
987
+ [data-tooltip][data-placement="right"]::after {
988
+ top: 50%;
989
+ right: auto;
990
+ bottom: auto;
991
+ left: 100%;
992
+ transform: translate(0.25rem, -50%);
993
+ }
994
+ [data-tooltip][data-placement="right"]:after {
995
+ transform: translate(-0.3rem, -50%);
996
+ border: 0.3rem solid transparent;
997
+ border-right: 0.3rem solid;
998
+ }
999
+ [data-tooltip]:focus::before,
1000
+ [data-tooltip]:focus::after,
1001
+ [data-tooltip]:hover::before,
1002
+ [data-tooltip]:hover::after {
1003
+ opacity: 1;
1004
+ }
1005
+ @media (hover: hover) and (pointer: fine) {
1006
+ [data-tooltip]:focus::before,
1007
+ [data-tooltip]:focus::after,
1008
+ [data-tooltip]:hover::before,
1009
+ [data-tooltip]:hover::after {
1010
+ --pico-tooltip-slide-to: translate(-50%, -0.25rem);
1011
+ transform: translate(-50%, 0.75rem);
1012
+ animation-duration: 0.2s;
1013
+ animation-fill-mode: forwards;
1014
+ animation-name: tooltip-slide;
1015
+ opacity: 0;
1016
+ }
1017
+ [data-tooltip]:focus::after,
1018
+ [data-tooltip]:hover::after {
1019
+ --pico-tooltip-caret-slide-to: translate(-50%, 0rem);
1020
+ transform: translate(-50%, -0.25rem);
1021
+ animation-name: tooltip-caret-slide;
1022
+ }
1023
+ [data-tooltip][data-placement="bottom"]:focus::before,
1024
+ [data-tooltip][data-placement="bottom"]:focus::after,
1025
+ [data-tooltip][data-placement="bottom"]:hover::before,
1026
+ [data-tooltip][data-placement="bottom"]:hover::after {
1027
+ --pico-tooltip-slide-to: translate(-50%, 0.25rem);
1028
+ transform: translate(-50%, -0.75rem);
1029
+ animation-name: tooltip-slide;
1030
+ }
1031
+ [data-tooltip][data-placement="bottom"]:focus::after,
1032
+ [data-tooltip][data-placement="bottom"]:hover::after {
1033
+ --pico-tooltip-caret-slide-to: translate(-50%, -0.3rem);
1034
+ transform: translate(-50%, -0.5rem);
1035
+ animation-name: tooltip-caret-slide;
1036
+ }
1037
+ [data-tooltip][data-placement="left"]:focus::before,
1038
+ [data-tooltip][data-placement="left"]:focus::after,
1039
+ [data-tooltip][data-placement="left"]:hover::before,
1040
+ [data-tooltip][data-placement="left"]:hover::after {
1041
+ --pico-tooltip-slide-to: translate(-0.25rem, -50%);
1042
+ transform: translate(0.75rem, -50%);
1043
+ animation-name: tooltip-slide;
1044
+ }
1045
+ [data-tooltip][data-placement="left"]:focus::after,
1046
+ [data-tooltip][data-placement="left"]:hover::after {
1047
+ --pico-tooltip-caret-slide-to: translate(0.3rem, -50%);
1048
+ transform: translate(0.05rem, -50%);
1049
+ animation-name: tooltip-caret-slide;
1050
+ }
1051
+ [data-tooltip][data-placement="right"]:focus::before,
1052
+ [data-tooltip][data-placement="right"]:focus::after,
1053
+ [data-tooltip][data-placement="right"]:hover::before,
1054
+ [data-tooltip][data-placement="right"]:hover::after {
1055
+ --pico-tooltip-slide-to: translate(0.25rem, -50%);
1056
+ transform: translate(-0.75rem, -50%);
1057
+ animation-name: tooltip-slide;
1058
+ }
1059
+ [data-tooltip][data-placement="right"]:focus::after,
1060
+ [data-tooltip][data-placement="right"]:hover::after {
1061
+ --pico-tooltip-caret-slide-to: translate(-0.3rem, -50%);
1062
+ transform: translate(-0.05rem, -50%);
1063
+ animation-name: tooltip-caret-slide;
1064
+ }
1065
+ }
1066
+ @keyframes tooltip-slide {
1067
+ to {
1068
+ transform: var(--pico-tooltip-slide-to);
1069
+ opacity: 1;
1070
+ }
1071
+ }
1072
+ @keyframes tooltip-caret-slide {
1073
+ 50% {
1074
+ opacity: 0;
1075
+ }
1076
+ to {
1077
+ transform: var(--pico-tooltip-caret-slide-to);
1078
+ opacity: 1;
1079
+ }
1080
+ }
1081
+
1082
+ }