@fest-lib/veela 0.1.1

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 (78) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +533 -0
  3. package/dist/veela.js +878 -0
  4. package/package.json +83 -0
  5. package/src/scss/_layers.scss +16 -0
  6. package/src/scss/advanced/_index.scss +0 -0
  7. package/src/scss/advanced/animation/_motion.scss +317 -0
  8. package/src/scss/advanced/color/_color.scss +328 -0
  9. package/src/scss/advanced/color/_colorize.scss +325 -0
  10. package/src/scss/advanced/design/_design-tokens.scss +118 -0
  11. package/src/scss/advanced/design/_effects.scss +275 -0
  12. package/src/scss/advanced/design/_shadow.scss +359 -0
  13. package/src/scss/advanced/design/_surfaces.scss +76 -0
  14. package/src/scss/advanced/effects/_animations.scss +124 -0
  15. package/src/scss/advanced/effects/_shadows.scss +50 -0
  16. package/src/scss/advanced/font/_typography.scss +600 -0
  17. package/src/scss/advanced/index.scss +11 -0
  18. package/src/scss/advanced/index.ts +35 -0
  19. package/src/scss/advanced/layout/_content.scss +170 -0
  20. package/src/scss/advanced/layout/_index.scss +5 -0
  21. package/src/scss/advanced/layout/_normalize.scss +541 -0
  22. package/src/scss/advanced/layout/_shared-overlays.scss +162 -0
  23. package/src/scss/advanced/md3/_md3.scss +596 -0
  24. package/src/scss/advanced/md3/_utils.scss +114 -0
  25. package/src/scss/advanced/misc/_config.scss +119 -0
  26. package/src/scss/advanced/misc/_initials.scss +298 -0
  27. package/src/scss/advanced/misc/_mixins.scss +179 -0
  28. package/src/scss/advanced/misc/_queries.scss +34 -0
  29. package/src/scss/advanced/misc/_rendering.scss +82 -0
  30. package/src/scss/advanced/misc/_tokens.scss +74 -0
  31. package/src/scss/advanced/theme/_shared.scss +232 -0
  32. package/src/scss/advanced/theme/_states.scss +332 -0
  33. package/src/scss/advanced/theme/_variants.scss +354 -0
  34. package/src/scss/advanced/tokens/_material-color.scss +120 -0
  35. package/src/scss/advanced/tokens/_variables.scss +171 -0
  36. package/src/scss/basic/_layers.scss +0 -0
  37. package/src/scss/basic/design/_index.scss +3 -0
  38. package/src/scss/basic/design/_keyframes.scss +163 -0
  39. package/src/scss/basic/design/_shapes.scss +266 -0
  40. package/src/scss/basic/design/_wavy-runtime.scss +50 -0
  41. package/src/scss/basic/index.scss +19 -0
  42. package/src/scss/basic/index.ts +29 -0
  43. package/src/scss/basic/misc/_core-layout.scss +272 -0
  44. package/src/scss/basic/misc/_index.scss +18 -0
  45. package/src/scss/basic/misc/_layout.scss +1040 -0
  46. package/src/scss/basic/misc/_mixins.scss +179 -0
  47. package/src/scss/basic/misc/_motion.scss +28 -0
  48. package/src/scss/basic/misc/_normalize.scss +765 -0
  49. package/src/scss/basic/misc/_queries.scss +34 -0
  50. package/src/scss/basic/misc/_shared.scss +232 -0
  51. package/src/scss/basic/misc/_states.scss +135 -0
  52. package/src/scss/basic/misc/_tokens.scss +78 -0
  53. package/src/scss/basic/misc/_veela.scss +12 -0
  54. package/src/scss/core/index.scss +1 -0
  55. package/src/scss/core/interact/_draggable.scss +32 -0
  56. package/src/scss/core/interact/_position.scss +45 -0
  57. package/src/scss/core/interact/_ps-anchor.scss +28 -0
  58. package/src/scss/core/interact/_ps-centered.scss +28 -0
  59. package/src/scss/core/interact/_ps-cursor.scss +18 -0
  60. package/src/scss/core/interact/_ps-draggable.scss +25 -0
  61. package/src/scss/core/interact/_ps-mechanic.scss +0 -0
  62. package/src/scss/core/interact/_ps-properties.scss +54 -0
  63. package/src/scss/core/interact/_ps-resizable.scss +61 -0
  64. package/src/scss/core/interact/_resizable.scss +69 -0
  65. package/src/scss/core/interact/_viewport.scss +469 -0
  66. package/src/scss/core/misc/_color-properties.scss +64 -0
  67. package/src/scss/core/misc/_config.scss +110 -0
  68. package/src/scss/core/misc/_functions.scss +530 -0
  69. package/src/scss/core/misc/_icons.scss +109 -0
  70. package/src/scss/core/misc/_index.scss +6 -0
  71. package/src/scss/core/misc/_layout.scss +49 -0
  72. package/src/scss/core/misc/_mixins.scss +744 -0
  73. package/src/scss/core/misc/_properties.scss +245 -0
  74. package/src/scss/core/misc/_tokens.scss +947 -0
  75. package/src/scss/core/misc/_utilities.scss +941 -0
  76. package/src/scss/core/misc/_utils.scss +17 -0
  77. package/src/scss/index.scss +18 -0
  78. package/src/scss/index.ts +105 -0
@@ -0,0 +1,17 @@
1
+ @mixin when-hover {
2
+ &:hover {
3
+ @content;
4
+ }
5
+ }
6
+
7
+ @mixin when-active {
8
+ &:active {
9
+ @content;
10
+ }
11
+ }
12
+
13
+ @mixin when-focus-visible {
14
+ &:focus-visible {
15
+ @content;
16
+ }
17
+ }
@@ -0,0 +1,18 @@
1
+ // Core is canonical for layout helpers that also exist in `basic` (FL fallbacks).
2
+ // Hide basic's duplicates so the forwarded surface stays a single definition.
3
+ @forward "./core";
4
+ @forward "./basic" hide
5
+ aspect-ratio,
6
+ breakpoint,
7
+ breakpoint-up,
8
+ container-query,
9
+ flex,
10
+ flex-between,
11
+ flex-center,
12
+ flex-column,
13
+ grid,
14
+ hide-scrollbar,
15
+ position,
16
+ scrollbar,
17
+ stack,
18
+ truncate;
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Veela CSS - Runtime Entry Point
3
+ *
4
+ * Unified runtime module providing access to all veela style variants.
5
+ *
6
+ * Variants:
7
+ * - core: Shared foundation (normalize, layout, states)
8
+ * - basic: Lightweight styles (core + essential components)
9
+ * - advanced: Full-featured styles (core + comprehensive library)
10
+ * - beercss: Beer CSS compatible (basic + Beer CSS class names)
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * // Load specific variant
15
+ * import { loadBasicStyles } from "@fest-lib/veela/runtime";
16
+ * await loadBasicStyles();
17
+ *
18
+ * // Or use the variant loader
19
+ * import { loadVeelaVariant } from "@fest-lib/veela/runtime";
20
+ * await loadVeelaVariant("advanced");
21
+ * ```
22
+ */
23
+
24
+ // ============================================================================
25
+ // TYPES
26
+ // ============================================================================
27
+
28
+ export type VeelaVariant = "core" | "basic" | "advanced" | "beercss";
29
+
30
+ export interface VeelaConfig {
31
+ variant: VeelaVariant;
32
+ loaded: boolean;
33
+ }
34
+
35
+ // ============================================================================
36
+ // STATE
37
+ // ============================================================================
38
+
39
+ let _loadedVariant: VeelaVariant | null = null;
40
+
41
+ // ============================================================================
42
+ // VARIANT LOADERS
43
+ // ============================================================================
44
+
45
+ import { loadBasicStyles } from "./basic/index";
46
+ import { loadAdvancedStyles } from "./advanced/index";
47
+
48
+ // ============================================================================
49
+ // UNIFIED LOADER
50
+ // ============================================================================
51
+
52
+ /**
53
+ * Load a specific veela style variant
54
+ *
55
+ * @param variant - The style variant to load
56
+ * @returns Promise that resolves when styles are loaded
57
+ */
58
+ export async function loadVeelaVariant(variant: VeelaVariant): Promise<void> {
59
+ if (_loadedVariant === variant) {
60
+ console.log(`[Veela] Variant '${variant}' already loaded`);
61
+ return;
62
+ }
63
+
64
+ console.log(`[Veela] Loading variant: ${variant}`);
65
+
66
+ switch (variant) {
67
+ case "basic": {
68
+ // Basic SCSS (misc + design) requires core foundation as a separate sheet.
69
+ await loadBasicStyles();
70
+ break;
71
+ }
72
+ case "advanced": {
73
+ // Advanced bundle already @use's core; avoid double-loading core.
74
+ await loadBasicStyles();
75
+ await loadAdvancedStyles();
76
+ break;
77
+ }
78
+ default:
79
+ console.warn(`[Veela] Unknown variant: ${variant}, using basic`);
80
+ await loadBasicStyles();
81
+ break;
82
+ }
83
+
84
+ _loadedVariant = variant;
85
+ }
86
+
87
+ /**
88
+ * Get the currently loaded variant
89
+ */
90
+ export function getLoadedVariant(): VeelaVariant | null {
91
+ return _loadedVariant;
92
+ }
93
+
94
+ /**
95
+ * Check if a specific variant is loaded
96
+ */
97
+ export function isVariantLoaded(variant: VeelaVariant): boolean {
98
+ return _loadedVariant === variant;
99
+ }
100
+
101
+ // ============================================================================
102
+ // DEFAULT EXPORT
103
+ // ============================================================================
104
+
105
+ export default loadVeelaVariant;