@livepeer-frameworks/player-wc 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/dist/cjs/components/fw-context-menu.js +17 -0
  2. package/dist/cjs/components/fw-context-menu.js.map +1 -0
  3. package/dist/cjs/components/fw-dev-mode-panel.js +273 -0
  4. package/dist/cjs/components/fw-dev-mode-panel.js.map +1 -0
  5. package/dist/cjs/components/fw-error-overlay.js +101 -0
  6. package/dist/cjs/components/fw-error-overlay.js.map +1 -0
  7. package/dist/cjs/components/fw-idle-screen.js +182 -0
  8. package/dist/cjs/components/fw-idle-screen.js.map +1 -0
  9. package/dist/cjs/components/fw-loading-spinner.js +62 -0
  10. package/dist/cjs/components/fw-loading-spinner.js.map +1 -0
  11. package/dist/cjs/components/fw-player-controls.js +258 -0
  12. package/dist/cjs/components/fw-player-controls.js.map +1 -0
  13. package/dist/cjs/components/fw-player.js +570 -0
  14. package/dist/cjs/components/fw-player.js.map +1 -0
  15. package/dist/cjs/components/fw-seek-bar.js +233 -0
  16. package/dist/cjs/components/fw-seek-bar.js.map +1 -0
  17. package/dist/cjs/components/fw-settings-menu.js +126 -0
  18. package/dist/cjs/components/fw-settings-menu.js.map +1 -0
  19. package/dist/cjs/components/fw-skip-indicator.js +143 -0
  20. package/dist/cjs/components/fw-skip-indicator.js.map +1 -0
  21. package/dist/cjs/components/fw-speed-indicator.js +61 -0
  22. package/dist/cjs/components/fw-speed-indicator.js.map +1 -0
  23. package/dist/cjs/components/fw-stats-panel.js +141 -0
  24. package/dist/cjs/components/fw-stats-panel.js.map +1 -0
  25. package/dist/cjs/components/fw-subtitle-renderer.js +70 -0
  26. package/dist/cjs/components/fw-subtitle-renderer.js.map +1 -0
  27. package/dist/cjs/components/fw-title-overlay.js +72 -0
  28. package/dist/cjs/components/fw-title-overlay.js.map +1 -0
  29. package/dist/cjs/components/fw-toast.js +74 -0
  30. package/dist/cjs/components/fw-toast.js.map +1 -0
  31. package/dist/cjs/components/fw-volume-control.js +140 -0
  32. package/dist/cjs/components/fw-volume-control.js.map +1 -0
  33. package/dist/cjs/controllers/player-controller-host.js +315 -0
  34. package/dist/cjs/controllers/player-controller-host.js.map +1 -0
  35. package/dist/cjs/define.js +45 -0
  36. package/dist/cjs/define.js.map +1 -0
  37. package/dist/cjs/icons/index.js +153 -0
  38. package/dist/cjs/icons/index.js.map +1 -0
  39. package/dist/cjs/index.js +88 -0
  40. package/dist/cjs/index.js.map +1 -0
  41. package/dist/cjs/node_modules/.pnpm/@rollup_plugin-typescript@12.3.0_rollup@4.57.1_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.js +33 -0
  42. package/dist/cjs/node_modules/.pnpm/@rollup_plugin-typescript@12.3.0_rollup@4.57.1_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.js.map +1 -0
  43. package/dist/cjs/styles/shared-styles.js +1967 -0
  44. package/dist/cjs/styles/shared-styles.js.map +1 -0
  45. package/dist/cjs/styles/utility-styles.js +725 -0
  46. package/dist/cjs/styles/utility-styles.js.map +1 -0
  47. package/dist/esm/components/fw-context-menu.js +17 -0
  48. package/dist/esm/components/fw-context-menu.js.map +1 -0
  49. package/dist/esm/components/fw-dev-mode-panel.js +273 -0
  50. package/dist/esm/components/fw-dev-mode-panel.js.map +1 -0
  51. package/dist/esm/components/fw-error-overlay.js +101 -0
  52. package/dist/esm/components/fw-error-overlay.js.map +1 -0
  53. package/dist/esm/components/fw-idle-screen.js +182 -0
  54. package/dist/esm/components/fw-idle-screen.js.map +1 -0
  55. package/dist/esm/components/fw-loading-spinner.js +62 -0
  56. package/dist/esm/components/fw-loading-spinner.js.map +1 -0
  57. package/dist/esm/components/fw-player-controls.js +258 -0
  58. package/dist/esm/components/fw-player-controls.js.map +1 -0
  59. package/dist/esm/components/fw-player.js +570 -0
  60. package/dist/esm/components/fw-player.js.map +1 -0
  61. package/dist/esm/components/fw-seek-bar.js +233 -0
  62. package/dist/esm/components/fw-seek-bar.js.map +1 -0
  63. package/dist/esm/components/fw-settings-menu.js +126 -0
  64. package/dist/esm/components/fw-settings-menu.js.map +1 -0
  65. package/dist/esm/components/fw-skip-indicator.js +143 -0
  66. package/dist/esm/components/fw-skip-indicator.js.map +1 -0
  67. package/dist/esm/components/fw-speed-indicator.js +61 -0
  68. package/dist/esm/components/fw-speed-indicator.js.map +1 -0
  69. package/dist/esm/components/fw-stats-panel.js +141 -0
  70. package/dist/esm/components/fw-stats-panel.js.map +1 -0
  71. package/dist/esm/components/fw-subtitle-renderer.js +70 -0
  72. package/dist/esm/components/fw-subtitle-renderer.js.map +1 -0
  73. package/dist/esm/components/fw-title-overlay.js +72 -0
  74. package/dist/esm/components/fw-title-overlay.js.map +1 -0
  75. package/dist/esm/components/fw-toast.js +74 -0
  76. package/dist/esm/components/fw-toast.js.map +1 -0
  77. package/dist/esm/components/fw-volume-control.js +140 -0
  78. package/dist/esm/components/fw-volume-control.js.map +1 -0
  79. package/dist/esm/controllers/player-controller-host.js +313 -0
  80. package/dist/esm/controllers/player-controller-host.js.map +1 -0
  81. package/dist/esm/define.js +43 -0
  82. package/dist/esm/define.js.map +1 -0
  83. package/dist/esm/icons/index.js +141 -0
  84. package/dist/esm/icons/index.js.map +1 -0
  85. package/dist/esm/index.js +18 -0
  86. package/dist/esm/index.js.map +1 -0
  87. package/dist/esm/node_modules/.pnpm/@rollup_plugin-typescript@12.3.0_rollup@4.57.1_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.js +31 -0
  88. package/dist/esm/node_modules/.pnpm/@rollup_plugin-typescript@12.3.0_rollup@4.57.1_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.js.map +1 -0
  89. package/dist/esm/styles/shared-styles.js +1965 -0
  90. package/dist/esm/styles/shared-styles.js.map +1 -0
  91. package/dist/esm/styles/utility-styles.js +723 -0
  92. package/dist/esm/styles/utility-styles.js.map +1 -0
  93. package/dist/fw-player.iife.js +4362 -0
  94. package/dist/fw-player.iife.js.map +1 -0
  95. package/dist/types/components/fw-context-menu.d.ts +15 -0
  96. package/dist/types/components/fw-dev-mode-panel.d.ts +24 -0
  97. package/dist/types/components/fw-error-overlay.d.ts +14 -0
  98. package/dist/types/components/fw-idle-screen.d.ts +13 -0
  99. package/dist/types/components/fw-loading-spinner.d.ts +10 -0
  100. package/dist/types/components/fw-player-controls.d.ts +23 -0
  101. package/dist/types/components/fw-player.d.ts +74 -0
  102. package/dist/types/components/fw-seek-bar.d.ts +33 -0
  103. package/dist/types/components/fw-settings-menu.d.ts +16 -0
  104. package/dist/types/components/fw-skip-indicator.d.ts +18 -0
  105. package/dist/types/components/fw-speed-indicator.d.ts +11 -0
  106. package/dist/types/components/fw-stats-panel.d.ts +18 -0
  107. package/dist/types/components/fw-subtitle-renderer.d.ts +21 -0
  108. package/dist/types/components/fw-title-overlay.d.ts +12 -0
  109. package/dist/types/components/fw-toast.d.ts +12 -0
  110. package/dist/types/components/fw-volume-control.d.ts +18 -0
  111. package/dist/types/controllers/player-controller-host.d.ts +119 -0
  112. package/dist/types/define.d.ts +1 -0
  113. package/dist/types/icons/index.d.ts +23 -0
  114. package/dist/types/iife-entry.d.ts +11 -0
  115. package/dist/types/index.d.ts +25 -0
  116. package/dist/types/styles/shared-styles.d.ts +1 -0
  117. package/dist/types/styles/utility-styles.d.ts +1 -0
  118. package/package.json +65 -0
  119. package/src/components/fw-context-menu.ts +23 -0
  120. package/src/components/fw-dev-mode-panel.ts +285 -0
  121. package/src/components/fw-error-overlay.ts +96 -0
  122. package/src/components/fw-idle-screen.ts +182 -0
  123. package/src/components/fw-loading-spinner.ts +63 -0
  124. package/src/components/fw-player-controls.ts +256 -0
  125. package/src/components/fw-player.ts +557 -0
  126. package/src/components/fw-seek-bar.ts +219 -0
  127. package/src/components/fw-settings-menu.ts +128 -0
  128. package/src/components/fw-skip-indicator.ts +139 -0
  129. package/src/components/fw-speed-indicator.ts +57 -0
  130. package/src/components/fw-stats-panel.ts +154 -0
  131. package/src/components/fw-subtitle-renderer.ts +65 -0
  132. package/src/components/fw-title-overlay.ts +64 -0
  133. package/src/components/fw-toast.ts +70 -0
  134. package/src/components/fw-volume-control.ts +140 -0
  135. package/src/controllers/player-controller-host.ts +457 -0
  136. package/src/define.ts +43 -0
  137. package/src/icons/index.ts +209 -0
  138. package/src/iife-entry.ts +11 -0
  139. package/src/index.ts +31 -0
  140. package/src/styles/shared-styles.ts +1962 -0
  141. package/src/styles/utility-styles.ts +720 -0
@@ -0,0 +1,723 @@
1
+ import { css } from 'lit';
2
+
3
+ /**
4
+ * Hand-authored Tailwind-equivalent utility classes for Shadow DOM.
5
+ * Only includes utilities actually used by the React player components.
6
+ * ~4KB gzipped — avoids bundling all of Tailwind into shadow DOM.
7
+ */
8
+ const utilityStyles = css `
9
+ /* ======== Layout & Positioning ======== */
10
+ .absolute {
11
+ position: absolute;
12
+ }
13
+ .relative {
14
+ position: relative;
15
+ }
16
+ .inset-0 {
17
+ inset: 0;
18
+ }
19
+ .inset-x-0 {
20
+ left: 0;
21
+ right: 0;
22
+ }
23
+ .top-0 {
24
+ top: 0;
25
+ }
26
+ .top-2 {
27
+ top: 0.5rem;
28
+ }
29
+ .top-3 {
30
+ top: 0.75rem;
31
+ }
32
+ .left-0 {
33
+ left: 0;
34
+ }
35
+ .left-3 {
36
+ left: 0.75rem;
37
+ }
38
+ .left-4 {
39
+ left: 1rem;
40
+ }
41
+ .right-0 {
42
+ right: 0;
43
+ }
44
+ .right-2 {
45
+ right: 0.5rem;
46
+ }
47
+ .right-3 {
48
+ right: 0.75rem;
49
+ }
50
+ .right-4 {
51
+ right: 1rem;
52
+ }
53
+ .bottom-0 {
54
+ bottom: 0;
55
+ }
56
+ .bottom-3 {
57
+ bottom: 0.75rem;
58
+ }
59
+ .bottom-4 {
60
+ bottom: 1rem;
61
+ }
62
+ .bottom-20 {
63
+ bottom: 5rem;
64
+ }
65
+ .left-1\\/2 {
66
+ left: 50%;
67
+ }
68
+ .top-1\\/4 {
69
+ top: 25%;
70
+ }
71
+
72
+ /* ======== Display & Flex ======== */
73
+ .hidden {
74
+ display: none;
75
+ }
76
+ .flex {
77
+ display: flex;
78
+ }
79
+ .inline-flex {
80
+ display: inline-flex;
81
+ }
82
+ .inline-block {
83
+ display: inline-block;
84
+ }
85
+ .flex-col {
86
+ flex-direction: column;
87
+ }
88
+ .flex-row {
89
+ flex-direction: row;
90
+ }
91
+ .flex-1 {
92
+ flex: 1 1 0%;
93
+ }
94
+ .shrink-0 {
95
+ flex-shrink: 0;
96
+ }
97
+ .items-center {
98
+ align-items: center;
99
+ }
100
+ .items-start {
101
+ align-items: flex-start;
102
+ }
103
+ .items-end {
104
+ align-items: flex-end;
105
+ }
106
+ .justify-center {
107
+ justify-content: center;
108
+ }
109
+ .justify-between {
110
+ justify-content: space-between;
111
+ }
112
+ .justify-start {
113
+ justify-content: flex-start;
114
+ }
115
+ .justify-end {
116
+ justify-content: flex-end;
117
+ }
118
+ .gap-2 {
119
+ gap: 0.5rem;
120
+ }
121
+ .gap-3 {
122
+ gap: 0.75rem;
123
+ }
124
+ .gap-4 {
125
+ gap: 1rem;
126
+ }
127
+ .gap-6 {
128
+ gap: 1.5rem;
129
+ }
130
+ .gap-8 {
131
+ gap: 2rem;
132
+ }
133
+
134
+ /* ======== Sizing ======== */
135
+ .w-full {
136
+ width: 100%;
137
+ }
138
+ .w-4 {
139
+ width: 1rem;
140
+ }
141
+ .w-5 {
142
+ width: 1.25rem;
143
+ }
144
+ .w-8 {
145
+ width: 2rem;
146
+ }
147
+ .w-20 {
148
+ width: 5rem;
149
+ }
150
+ .h-full {
151
+ height: 100%;
152
+ }
153
+ .h-1\\.5 {
154
+ height: 0.375rem;
155
+ }
156
+ .h-4 {
157
+ height: 1rem;
158
+ }
159
+ .h-5 {
160
+ height: 1.25rem;
161
+ }
162
+ .h-6 {
163
+ height: 1.5rem;
164
+ }
165
+ .h-8 {
166
+ height: 2rem;
167
+ }
168
+ .h-20 {
169
+ height: 5rem;
170
+ }
171
+ .min-w-0 {
172
+ min-width: 0;
173
+ }
174
+ .max-w-sm {
175
+ max-width: 24rem;
176
+ }
177
+ .max-w-\\[320px\\] {
178
+ max-width: 320px;
179
+ }
180
+ .max-w-\\[90\\%\\] {
181
+ max-width: 90%;
182
+ }
183
+ .max-w-\\[80\\%\\] {
184
+ max-width: 80%;
185
+ }
186
+ .max-w-\\[70\\%\\] {
187
+ max-width: 70%;
188
+ }
189
+ .max-h-\\[72px\\] {
190
+ max-height: 72px;
191
+ }
192
+ .max-h-\\[80\\%\\] {
193
+ max-height: 80%;
194
+ }
195
+ .min-h-\\[280px\\] {
196
+ min-height: 280px;
197
+ }
198
+ .min-h-\\[300px\\] {
199
+ min-height: 300px;
200
+ }
201
+ .w-\\[280px\\] {
202
+ width: 280px;
203
+ }
204
+
205
+ /* ======== Spacing ======== */
206
+ .p-1 {
207
+ padding: 0.25rem;
208
+ }
209
+ .p-2 {
210
+ padding: 0.5rem;
211
+ }
212
+ .p-4 {
213
+ padding: 1rem;
214
+ }
215
+ .p-5 {
216
+ padding: 1.25rem;
217
+ }
218
+ .p-6 {
219
+ padding: 1.5rem;
220
+ }
221
+ .px-2\\.5 {
222
+ padding-left: 0.625rem;
223
+ padding-right: 0.625rem;
224
+ }
225
+ .px-3 {
226
+ padding-left: 0.75rem;
227
+ padding-right: 0.75rem;
228
+ }
229
+ .px-4 {
230
+ padding-left: 1rem;
231
+ padding-right: 1rem;
232
+ }
233
+ .px-6 {
234
+ padding-left: 1.5rem;
235
+ padding-right: 1.5rem;
236
+ }
237
+ .py-1 {
238
+ padding-top: 0.25rem;
239
+ padding-bottom: 0.25rem;
240
+ }
241
+ .py-2 {
242
+ padding-top: 0.5rem;
243
+ padding-bottom: 0.5rem;
244
+ }
245
+ .py-2\\.5 {
246
+ padding-top: 0.625rem;
247
+ padding-bottom: 0.625rem;
248
+ }
249
+ .py-3 {
250
+ padding-top: 0.75rem;
251
+ padding-bottom: 0.75rem;
252
+ }
253
+ .pl-8 {
254
+ padding-left: 2rem;
255
+ }
256
+ .pr-8 {
257
+ padding-right: 2rem;
258
+ }
259
+ .pb-2 {
260
+ padding-bottom: 0.5rem;
261
+ }
262
+ .pb-3 {
263
+ padding-bottom: 0.75rem;
264
+ }
265
+ .pt-2 {
266
+ padding-top: 0.5rem;
267
+ }
268
+ .mt-0\\.5 {
269
+ margin-top: 0.125rem;
270
+ }
271
+ .mt-1 {
272
+ margin-top: 0.25rem;
273
+ }
274
+ .mt-1\\.5 {
275
+ margin-top: 0.375rem;
276
+ }
277
+ .mt-2 {
278
+ margin-top: 0.5rem;
279
+ }
280
+ .mt-3 {
281
+ margin-top: 0.75rem;
282
+ }
283
+ .mb-1 {
284
+ margin-bottom: 0.25rem;
285
+ }
286
+ .ml-0\\.5 {
287
+ margin-left: 0.125rem;
288
+ }
289
+ .-ml-4 {
290
+ margin-left: -1rem;
291
+ }
292
+
293
+ /* ======== Typography ======== */
294
+ .text-xs {
295
+ font-size: 0.75rem;
296
+ line-height: 1rem;
297
+ }
298
+ .text-sm {
299
+ font-size: 0.875rem;
300
+ line-height: 1.25rem;
301
+ }
302
+ .text-base {
303
+ font-size: 1rem;
304
+ line-height: 1.5rem;
305
+ }
306
+ .text-lg {
307
+ font-size: 1.125rem;
308
+ line-height: 1.75rem;
309
+ }
310
+ .text-center {
311
+ text-align: center;
312
+ }
313
+ .text-right {
314
+ text-align: right;
315
+ }
316
+ .font-mono {
317
+ font-family:
318
+ ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New",
319
+ monospace;
320
+ }
321
+ .font-medium {
322
+ font-weight: 500;
323
+ }
324
+ .font-semibold {
325
+ font-weight: 600;
326
+ }
327
+ .font-bold {
328
+ font-weight: 700;
329
+ }
330
+ .truncate {
331
+ overflow: hidden;
332
+ text-overflow: ellipsis;
333
+ white-space: nowrap;
334
+ }
335
+ .line-clamp-2 {
336
+ display: -webkit-box;
337
+ -webkit-line-clamp: 2;
338
+ -webkit-box-orient: vertical;
339
+ overflow: hidden;
340
+ }
341
+ .whitespace-pre-wrap {
342
+ white-space: pre-wrap;
343
+ }
344
+ .tabular-nums {
345
+ font-variant-numeric: tabular-nums;
346
+ }
347
+ .tracking-wider {
348
+ letter-spacing: 0.05em;
349
+ }
350
+ .uppercase {
351
+ text-transform: uppercase;
352
+ }
353
+
354
+ /* ======== Colors ======== */
355
+ .text-white {
356
+ color: white;
357
+ }
358
+ .text-white\\/15 {
359
+ color: rgb(255 255 255 / 0.15);
360
+ }
361
+ .text-white\\/50 {
362
+ color: rgb(255 255 255 / 0.5);
363
+ }
364
+ .text-white\\/60 {
365
+ color: rgb(255 255 255 / 0.6);
366
+ }
367
+ .text-white\\/70 {
368
+ color: rgb(255 255 255 / 0.7);
369
+ }
370
+ .text-white\\/80 {
371
+ color: rgb(255 255 255 / 0.8);
372
+ }
373
+ .text-white\\/90 {
374
+ color: rgb(255 255 255 / 0.9);
375
+ }
376
+
377
+ /* ======== Backgrounds ======== */
378
+ .bg-black {
379
+ background-color: black;
380
+ }
381
+ .bg-black\\/40 {
382
+ background-color: rgb(0 0 0 / 0.4);
383
+ }
384
+ .bg-black\\/70 {
385
+ background-color: rgb(0 0 0 / 0.7);
386
+ }
387
+ .bg-black\\/80 {
388
+ background-color: rgb(0 0 0 / 0.8);
389
+ }
390
+ .bg-white {
391
+ background-color: white;
392
+ }
393
+ .bg-white\\/10 {
394
+ background-color: rgb(255 255 255 / 0.1);
395
+ }
396
+ .bg-white\\/15 {
397
+ background-color: rgb(255 255 255 / 0.15);
398
+ }
399
+ .bg-slate-400 {
400
+ background-color: rgb(148 163 184);
401
+ }
402
+ .bg-slate-900 {
403
+ background-color: rgb(15 23 42);
404
+ }
405
+ .bg-slate-950 {
406
+ background-color: rgb(2 6 23);
407
+ }
408
+ .bg-red-400 {
409
+ background-color: rgb(248 113 113);
410
+ }
411
+
412
+ /* ======== Gradients ======== */
413
+ .bg-gradient-to-b {
414
+ background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
415
+ }
416
+ .from-black\\/70 {
417
+ --tw-gradient-from: rgb(0 0 0 / 0.7);
418
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(0 0 0 / 0));
419
+ }
420
+ .via-black\\/40 {
421
+ --tw-gradient-via: rgb(0 0 0 / 0.4);
422
+ --tw-gradient-stops:
423
+ var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to, rgb(0 0 0 / 0));
424
+ }
425
+ .to-transparent {
426
+ --tw-gradient-to: transparent;
427
+ }
428
+ .from-slate-900 {
429
+ --tw-gradient-from: rgb(15 23 42);
430
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgb(15 23 42 / 0));
431
+ }
432
+ .via-slate-950 {
433
+ --tw-gradient-via: rgb(2 6 23);
434
+ --tw-gradient-stops:
435
+ var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to, rgb(2 6 23 / 0));
436
+ }
437
+ .to-slate-900 {
438
+ --tw-gradient-to: rgb(15 23 42);
439
+ }
440
+
441
+ /* ======== Borders ======== */
442
+ .border {
443
+ border-width: 1px;
444
+ }
445
+ .border-b {
446
+ border-bottom-width: 1px;
447
+ }
448
+ .border-2 {
449
+ border-width: 2px;
450
+ }
451
+ .border-white\\/10 {
452
+ border-color: rgb(255 255 255 / 0.1);
453
+ }
454
+ .border-white\\/15 {
455
+ border-color: rgb(255 255 255 / 0.15);
456
+ }
457
+ .rounded {
458
+ border-radius: 0.25rem;
459
+ }
460
+ .rounded-md {
461
+ border-radius: 0.375rem;
462
+ }
463
+ .rounded-lg {
464
+ border-radius: 0.5rem;
465
+ }
466
+ .rounded-xl {
467
+ border-radius: 0.75rem;
468
+ }
469
+ .rounded-full {
470
+ border-radius: 9999px;
471
+ }
472
+ .rounded-\\[4px\\] {
473
+ border-radius: 4px;
474
+ }
475
+ .outline-none {
476
+ outline: 2px solid transparent;
477
+ outline-offset: 2px;
478
+ }
479
+
480
+ /* ======== Opacity ======== */
481
+ .opacity-0 {
482
+ opacity: 0;
483
+ }
484
+ .opacity-25 {
485
+ opacity: 0.25;
486
+ }
487
+ .opacity-50 {
488
+ opacity: 0.5;
489
+ }
490
+ .opacity-60 {
491
+ opacity: 0.6;
492
+ }
493
+ .opacity-70 {
494
+ opacity: 0.7;
495
+ }
496
+ .opacity-75 {
497
+ opacity: 0.75;
498
+ }
499
+ .opacity-90 {
500
+ opacity: 0.9;
501
+ }
502
+ .opacity-100 {
503
+ opacity: 1;
504
+ }
505
+
506
+ /* ======== Effects ======== */
507
+ .shadow-lg {
508
+ box-shadow:
509
+ 0 10px 15px -3px rgb(0 0 0 / 0.1),
510
+ 0 4px 6px -4px rgb(0 0 0 / 0.1);
511
+ }
512
+ .shadow-xl {
513
+ box-shadow:
514
+ 0 20px 25px -5px rgb(0 0 0 / 0.1),
515
+ 0 8px 10px -6px rgb(0 0 0 / 0.1);
516
+ }
517
+ .shadow-inner {
518
+ box-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
519
+ }
520
+ .backdrop-blur {
521
+ backdrop-filter: blur(8px);
522
+ }
523
+ .backdrop-blur-sm {
524
+ backdrop-filter: blur(4px);
525
+ }
526
+
527
+ /* ======== Overflow ======== */
528
+ .overflow-hidden {
529
+ overflow: hidden;
530
+ }
531
+ .overflow-auto {
532
+ overflow: auto;
533
+ }
534
+
535
+ /* ======== Interaction ======== */
536
+ .pointer-events-none {
537
+ pointer-events: none;
538
+ }
539
+ .pointer-events-auto {
540
+ pointer-events: auto;
541
+ }
542
+ .cursor-pointer {
543
+ cursor: pointer;
544
+ }
545
+ .cursor-not-allowed {
546
+ cursor: not-allowed;
547
+ }
548
+
549
+ /* ======== Z-Index ======== */
550
+ .z-5 {
551
+ z-index: 5;
552
+ }
553
+ .z-10 {
554
+ z-index: 10;
555
+ }
556
+ .z-20 {
557
+ z-index: 20;
558
+ }
559
+ .z-30 {
560
+ z-index: 30;
561
+ }
562
+ .z-40 {
563
+ z-index: 40;
564
+ }
565
+ .z-100 {
566
+ z-index: 100;
567
+ }
568
+
569
+ /* ======== Transforms ======== */
570
+ .transform {
571
+ transform: var(--tw-transform);
572
+ }
573
+ .scale-50 {
574
+ transform: scale(0.5);
575
+ }
576
+ .scale-75 {
577
+ transform: scale(0.75);
578
+ }
579
+ .scale-90 {
580
+ transform: scale(0.9);
581
+ }
582
+ .scale-100 {
583
+ transform: scale(1);
584
+ }
585
+ .scale-110 {
586
+ transform: scale(1.1);
587
+ }
588
+ .scale-120 {
589
+ transform: scale(1.2);
590
+ }
591
+ .-translate-x-1\\/2 {
592
+ transform: translateX(-50%);
593
+ }
594
+ .translate-x-1\\/2 {
595
+ transform: translateX(50%);
596
+ }
597
+ .rotate-45 {
598
+ transform: rotate(45deg);
599
+ }
600
+ .-rotate-45 {
601
+ transform: rotate(-45deg);
602
+ }
603
+ .rotate-90 {
604
+ transform: rotate(90deg);
605
+ }
606
+
607
+ /* ======== Transitions ======== */
608
+ .transition {
609
+ transition-property:
610
+ color, background-color, border-color, text-decoration-color, fill, stroke, opacity,
611
+ box-shadow, transform, filter, backdrop-filter;
612
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
613
+ transition-duration: 150ms;
614
+ }
615
+ .transition-all {
616
+ transition-property: all;
617
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
618
+ transition-duration: 150ms;
619
+ }
620
+ .transition-colors {
621
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
622
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
623
+ transition-duration: 150ms;
624
+ }
625
+ .transition-opacity {
626
+ transition-property: opacity;
627
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
628
+ transition-duration: 150ms;
629
+ }
630
+ .transition-transform {
631
+ transition-property: transform;
632
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
633
+ transition-duration: 150ms;
634
+ }
635
+ .duration-150 {
636
+ transition-duration: 150ms;
637
+ }
638
+ .duration-200 {
639
+ transition-duration: 200ms;
640
+ }
641
+ .duration-300 {
642
+ transition-duration: 300ms;
643
+ }
644
+ .duration-500 {
645
+ transition-duration: 500ms;
646
+ }
647
+ .ease-out {
648
+ transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
649
+ }
650
+ .ease-in-out {
651
+ transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
652
+ }
653
+
654
+ /* ======== Animations ======== */
655
+ .animate-spin {
656
+ animation: _fw-spin 1s linear infinite;
657
+ }
658
+ .animate-pulse {
659
+ animation: _fw-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
660
+ }
661
+ @keyframes _fw-spin {
662
+ to {
663
+ transform: rotate(360deg);
664
+ }
665
+ }
666
+ @keyframes _fw-pulse {
667
+ 0%,
668
+ 100% {
669
+ opacity: 1;
670
+ }
671
+ 50% {
672
+ opacity: 0.5;
673
+ }
674
+ }
675
+
676
+ /* ======== Responsive (sm: 640px+) ======== */
677
+ @media (min-width: 640px) {
678
+ .sm\\:flex {
679
+ display: flex;
680
+ }
681
+ .sm\\:left-4 {
682
+ left: 1rem;
683
+ }
684
+ .sm\\:top-4 {
685
+ top: 1rem;
686
+ }
687
+ .sm\\:right-4 {
688
+ right: 1rem;
689
+ }
690
+ .sm\\:gap-6 {
691
+ gap: 1.5rem;
692
+ }
693
+ }
694
+
695
+ /* ======== Hover states ======== */
696
+ .hover\\:bg-white\\/10:hover {
697
+ background-color: rgb(255 255 255 / 0.1);
698
+ }
699
+ .hover\\:text-white:hover {
700
+ color: white;
701
+ }
702
+ .hover\\:rotate-90:hover {
703
+ transform: rotate(90deg);
704
+ }
705
+
706
+ /* ======== Focus-visible states ======== */
707
+ .focus-visible\\:ring-2:focus-visible {
708
+ box-shadow: 0 0 0 2px var(--tw-ring-color, rgb(59 130 246));
709
+ }
710
+ .focus-visible\\:ring-offset-2:focus-visible {
711
+ box-shadow:
712
+ 0 0 0 2px var(--tw-ring-offset-color, white),
713
+ 0 0 0 4px var(--tw-ring-color, rgb(59 130 246));
714
+ }
715
+
716
+ /* ======== Group hover ======== */
717
+ .group:hover .group-hover\\:rotate-90 {
718
+ transform: rotate(90deg);
719
+ }
720
+ `;
721
+
722
+ export { utilityStyles };
723
+ //# sourceMappingURL=utility-styles.js.map