@yugnex/nexui 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/LICENSE +59 -0
  2. package/css/nexui-base.css +157 -0
  3. package/css/nexui-icons.css +86 -0
  4. package/css/nexui-tokens.css +113 -0
  5. package/css/nexui.css +16 -0
  6. package/dist/assets/geometry.d.ts +98 -0
  7. package/dist/assets/geometry.d.ts.map +1 -0
  8. package/dist/assets/geometry.js +114 -0
  9. package/dist/assets/geometry.js.map +1 -0
  10. package/dist/assets/typography.d.ts +3 -0
  11. package/dist/assets/typography.d.ts.map +1 -0
  12. package/dist/assets/typography.js +178 -0
  13. package/dist/assets/typography.js.map +1 -0
  14. package/dist/core/compiler.d.ts +30 -0
  15. package/dist/core/compiler.d.ts.map +1 -0
  16. package/dist/core/compiler.js +124 -0
  17. package/dist/core/compiler.js.map +1 -0
  18. package/dist/core/cx.d.ts +7 -0
  19. package/dist/core/cx.d.ts.map +1 -0
  20. package/dist/core/cx.js +34 -0
  21. package/dist/core/cx.js.map +1 -0
  22. package/dist/core/matrix.d.ts +118 -0
  23. package/dist/core/matrix.d.ts.map +1 -0
  24. package/dist/core/matrix.js +180 -0
  25. package/dist/core/matrix.js.map +1 -0
  26. package/dist/index.d.ts +27 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +74 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/primitives/avatar.d.ts +8 -0
  31. package/dist/primitives/avatar.d.ts.map +1 -0
  32. package/dist/primitives/avatar.js +146 -0
  33. package/dist/primitives/avatar.js.map +1 -0
  34. package/dist/primitives/badge.d.ts +8 -0
  35. package/dist/primitives/badge.d.ts.map +1 -0
  36. package/dist/primitives/badge.js +88 -0
  37. package/dist/primitives/badge.js.map +1 -0
  38. package/dist/primitives/button.d.ts +10 -0
  39. package/dist/primitives/button.d.ts.map +1 -0
  40. package/dist/primitives/button.js +137 -0
  41. package/dist/primitives/button.js.map +1 -0
  42. package/dist/primitives/checkbox.d.ts +13 -0
  43. package/dist/primitives/checkbox.d.ts.map +1 -0
  44. package/dist/primitives/checkbox.js +107 -0
  45. package/dist/primitives/checkbox.js.map +1 -0
  46. package/dist/primitives/input.d.ts +14 -0
  47. package/dist/primitives/input.d.ts.map +1 -0
  48. package/dist/primitives/input.js +177 -0
  49. package/dist/primitives/input.js.map +1 -0
  50. package/dist/primitives/panel.d.ts +9 -0
  51. package/dist/primitives/panel.d.ts.map +1 -0
  52. package/dist/primitives/panel.js +101 -0
  53. package/dist/primitives/panel.js.map +1 -0
  54. package/dist/primitives/progress.d.ts +8 -0
  55. package/dist/primitives/progress.d.ts.map +1 -0
  56. package/dist/primitives/progress.js +105 -0
  57. package/dist/primitives/progress.js.map +1 -0
  58. package/dist/primitives/separator.d.ts +8 -0
  59. package/dist/primitives/separator.d.ts.map +1 -0
  60. package/dist/primitives/separator.js +69 -0
  61. package/dist/primitives/separator.js.map +1 -0
  62. package/dist/primitives/skeleton.d.ts +8 -0
  63. package/dist/primitives/skeleton.d.ts.map +1 -0
  64. package/dist/primitives/skeleton.js +61 -0
  65. package/dist/primitives/skeleton.js.map +1 -0
  66. package/dist/primitives/spinner.d.ts +8 -0
  67. package/dist/primitives/spinner.d.ts.map +1 -0
  68. package/dist/primitives/spinner.js +64 -0
  69. package/dist/primitives/spinner.js.map +1 -0
  70. package/dist/primitives/status-ring.d.ts +8 -0
  71. package/dist/primitives/status-ring.d.ts.map +1 -0
  72. package/dist/primitives/status-ring.js +101 -0
  73. package/dist/primitives/status-ring.js.map +1 -0
  74. package/dist/primitives/switch.d.ts +12 -0
  75. package/dist/primitives/switch.d.ts.map +1 -0
  76. package/dist/primitives/switch.js +124 -0
  77. package/dist/primitives/switch.js.map +1 -0
  78. package/dist/primitives/text-stream.d.ts +23 -0
  79. package/dist/primitives/text-stream.d.ts.map +1 -0
  80. package/dist/primitives/text-stream.js +167 -0
  81. package/dist/primitives/text-stream.js.map +1 -0
  82. package/dist/tokens/colors.d.ts +127 -0
  83. package/dist/tokens/colors.d.ts.map +1 -0
  84. package/dist/tokens/colors.js +135 -0
  85. package/dist/tokens/colors.js.map +1 -0
  86. package/dist/tokens/motion.d.ts +37 -0
  87. package/dist/tokens/motion.d.ts.map +1 -0
  88. package/dist/tokens/motion.js +93 -0
  89. package/dist/tokens/motion.js.map +1 -0
  90. package/dist/tokens/shadows.d.ts +34 -0
  91. package/dist/tokens/shadows.d.ts.map +1 -0
  92. package/dist/tokens/shadows.js +45 -0
  93. package/dist/tokens/shadows.js.map +1 -0
  94. package/dist/tokens/spacing.d.ts +69 -0
  95. package/dist/tokens/spacing.d.ts.map +1 -0
  96. package/dist/tokens/spacing.js +71 -0
  97. package/dist/tokens/spacing.js.map +1 -0
  98. package/dist/tokens/type.d.ts +166 -0
  99. package/dist/tokens/type.d.ts.map +1 -0
  100. package/dist/tokens/type.js +215 -0
  101. package/dist/tokens/type.js.map +1 -0
  102. package/fonts/NexuiIcons.woff2 +0 -0
  103. package/fonts/NexuiMono-Regular.otf +0 -0
  104. package/fonts/NexuiMono-Regular.woff2 +0 -0
  105. package/fonts/NexuiSans-Bold.otf +0 -0
  106. package/fonts/NexuiSans-Bold.woff2 +0 -0
  107. package/fonts/NexuiSans-Medium.otf +0 -0
  108. package/fonts/NexuiSans-Medium.woff2 +0 -0
  109. package/fonts/NexuiSans-Regular.otf +0 -0
  110. package/fonts/NexuiSans-Regular.woff2 +0 -0
  111. package/native/Cargo.toml +16 -0
  112. package/native/src/lib.rs +127 -0
  113. package/nexui-utils.css +485 -0
  114. package/package.json +58 -0
  115. package/src/assets/geometry.ts +144 -0
  116. package/src/assets/typography.ts +184 -0
  117. package/src/core/compiler.ts +139 -0
  118. package/src/core/cx.ts +50 -0
  119. package/src/core/matrix.ts +195 -0
  120. package/src/index.ts +78 -0
  121. package/src/primitives/avatar.ts +159 -0
  122. package/src/primitives/badge.ts +98 -0
  123. package/src/primitives/button.ts +149 -0
  124. package/src/primitives/checkbox.ts +113 -0
  125. package/src/primitives/input.ts +187 -0
  126. package/src/primitives/panel.ts +111 -0
  127. package/src/primitives/progress.ts +112 -0
  128. package/src/primitives/separator.ts +73 -0
  129. package/src/primitives/skeleton.ts +68 -0
  130. package/src/primitives/spinner.ts +71 -0
  131. package/src/primitives/status-ring.ts +109 -0
  132. package/src/primitives/switch.ts +134 -0
  133. package/src/primitives/text-stream.ts +187 -0
  134. package/src/tokens/colors.ts +149 -0
  135. package/src/tokens/motion.ts +97 -0
  136. package/src/tokens/shadows.ts +58 -0
  137. package/src/tokens/spacing.ts +79 -0
  138. package/src/tokens/type.ts +224 -0
@@ -0,0 +1,45 @@
1
+ // @yugnex/nexui — Shadow / Elevation System
2
+ // Two rulesets: void (dark UI shadows use color + opacity) and terminal.
3
+ export const NEXUI_SHADOWS_VOID = {
4
+ // Flat — no elevation
5
+ "none": "none",
6
+ // Subtle — cards, inline elements on same surface
7
+ "xs": "0 1px 2px rgba(0,0,0,0.40)",
8
+ // Low — floating buttons, popover triggers
9
+ "sm": "0 1px 3px rgba(0,0,0,0.50), 0 1px 2px rgba(0,0,0,0.30)",
10
+ // Standard — cards, panels
11
+ "md": "0 4px 6px rgba(0,0,0,0.40), 0 2px 4px rgba(0,0,0,0.30)",
12
+ // Elevated — dropdowns, date pickers
13
+ "lg": "0 10px 15px rgba(0,0,0,0.50), 0 4px 6px rgba(0,0,0,0.30)",
14
+ // High — modals, dialogs
15
+ "xl": "0 20px 25px rgba(0,0,0,0.55), 0 8px 10px rgba(0,0,0,0.30)",
16
+ // Overlay — full-screen drawers, command palette
17
+ "2xl": "0 25px 50px rgba(0,0,0,0.65)",
18
+ // Accent glow — focused inputs, highlighted cards
19
+ "glow-accent": "0 0 0 3px rgba(232,144,16,0.30), 0 0 16px rgba(232,144,16,0.12)",
20
+ "glow-live": "0 0 0 3px rgba(15,212,198,0.25), 0 0 16px rgba(15,212,198,0.10)",
21
+ "glow-success": "0 0 0 3px rgba(34,197,94,0.25), 0 0 12px rgba(34,197,94,0.08)",
22
+ "glow-error": "0 0 0 3px rgba(239,68,68,0.30), 0 0 12px rgba(239,68,68,0.10)",
23
+ // Focus ring — keyboard nav, ARIA
24
+ "focus": "0 0 0 2px #0D1117, 0 0 0 4px rgba(232,144,16,0.60)",
25
+ // Inset — pressed states, sunken containers
26
+ "inner": "inset 0 2px 4px rgba(0,0,0,0.40)",
27
+ "inner-strong": "inset 0 2px 8px rgba(0,0,0,0.60)",
28
+ };
29
+ export const NEXUI_SHADOWS_TERMINAL = {
30
+ "none": "none",
31
+ "xs": "0 1px 2px rgba(0,0,0,0.70)",
32
+ "sm": "0 1px 3px rgba(0,0,0,0.80), 0 1px 2px rgba(0,0,0,0.50)",
33
+ "md": "0 4px 6px rgba(0,0,0,0.70), 0 2px 4px rgba(0,0,0,0.50)",
34
+ "lg": "0 10px 15px rgba(0,0,0,0.80), 0 4px 6px rgba(0,0,0,0.50)",
35
+ "xl": "0 20px 25px rgba(0,0,0,0.85), 0 8px 10px rgba(0,0,0,0.50)",
36
+ "2xl": "0 25px 50px rgba(0,0,0,0.90)",
37
+ "glow-accent": "0 0 0 3px rgba(232,144,16,0.30), 0 0 16px rgba(232,144,16,0.12)",
38
+ "glow-live": "0 0 0 3px rgba(16,185,129,0.30), 0 0 16px rgba(16,185,129,0.12)",
39
+ "glow-success": "0 0 0 3px rgba(16,185,129,0.30), 0 0 12px rgba(16,185,129,0.10)",
40
+ "glow-error": "0 0 0 3px rgba(239,68,68,0.35), 0 0 12px rgba(239,68,68,0.12)",
41
+ "focus": "0 0 0 2px #000000, 0 0 0 4px rgba(16,185,129,0.60)",
42
+ "inner": "inset 0 2px 4px rgba(0,0,0,0.70)",
43
+ "inner-strong": "inset 0 2px 8px rgba(0,0,0,0.90)",
44
+ };
45
+ //# sourceMappingURL=shadows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadows.js","sourceRoot":"","sources":["../../src/tokens/shadows.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,yEAAyE;AAEzE,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,sBAAsB;IACtB,MAAM,EAAI,MAAM;IAEhB,kDAAkD;IAClD,IAAI,EAAM,4BAA4B;IAEtC,2CAA2C;IAC3C,IAAI,EAAM,wDAAwD;IAElE,2BAA2B;IAC3B,IAAI,EAAM,wDAAwD;IAElE,qCAAqC;IACrC,IAAI,EAAM,0DAA0D;IAEpE,yBAAyB;IACzB,IAAI,EAAM,2DAA2D;IAErE,iDAAiD;IACjD,KAAK,EAAK,8BAA8B;IAExC,kDAAkD;IAClD,aAAa,EAAI,iEAAiE;IAClF,WAAW,EAAM,iEAAiE;IAClF,cAAc,EAAG,+DAA+D;IAChF,YAAY,EAAK,+DAA+D;IAEhF,kCAAkC;IAClC,OAAO,EAAU,oDAAoD;IAErE,4CAA4C;IAC5C,OAAO,EAAU,kCAAkC;IACnD,cAAc,EAAG,kCAAkC;CAC3C,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,MAAM,EAAI,MAAM;IAChB,IAAI,EAAM,4BAA4B;IACtC,IAAI,EAAM,wDAAwD;IAClE,IAAI,EAAM,wDAAwD;IAClE,IAAI,EAAM,0DAA0D;IACpE,IAAI,EAAM,2DAA2D;IACrE,KAAK,EAAK,8BAA8B;IAExC,aAAa,EAAI,iEAAiE;IAClF,WAAW,EAAM,iEAAiE;IAClF,cAAc,EAAG,iEAAiE;IAClF,YAAY,EAAK,+DAA+D;IAChF,OAAO,EAAU,oDAAoD;IACrE,OAAO,EAAU,kCAAkC;IACnD,cAAc,EAAG,kCAAkC;CAC3C,CAAC"}
@@ -0,0 +1,69 @@
1
+ export declare const NEXUI_SPACE: {
2
+ readonly 0: "0px";
3
+ readonly px: "1px";
4
+ readonly 0.5: "2px";
5
+ readonly 1: "4px";
6
+ readonly 1.5: "6px";
7
+ readonly 2: "8px";
8
+ readonly 2.5: "10px";
9
+ readonly 3: "12px";
10
+ readonly 3.5: "14px";
11
+ readonly 4: "16px";
12
+ readonly 5: "20px";
13
+ readonly 6: "24px";
14
+ readonly 7: "28px";
15
+ readonly 8: "32px";
16
+ readonly 9: "36px";
17
+ readonly 10: "40px";
18
+ readonly 11: "44px";
19
+ readonly 12: "48px";
20
+ readonly 14: "56px";
21
+ readonly 16: "64px";
22
+ readonly 20: "80px";
23
+ readonly 24: "96px";
24
+ readonly 28: "112px";
25
+ readonly 32: "128px";
26
+ readonly 36: "144px";
27
+ readonly 40: "160px";
28
+ readonly 44: "176px";
29
+ readonly 48: "192px";
30
+ readonly 52: "208px";
31
+ readonly 56: "224px";
32
+ readonly 60: "240px";
33
+ readonly 64: "256px";
34
+ readonly 72: "288px";
35
+ readonly 80: "320px";
36
+ readonly 96: "384px";
37
+ };
38
+ export type SpaceKey = keyof typeof NEXUI_SPACE;
39
+ export declare const NEXUI_SPACE_SEMANTIC: {
40
+ readonly "component-xs": "4px";
41
+ readonly "component-sm": "8px";
42
+ readonly "component-md": "12px";
43
+ readonly "component-lg": "16px";
44
+ readonly "component-xl": "24px";
45
+ readonly "layout-xs": "16px";
46
+ readonly "layout-sm": "24px";
47
+ readonly "layout-md": "32px";
48
+ readonly "layout-lg": "48px";
49
+ readonly "layout-xl": "64px";
50
+ readonly "inline-xs": "4px";
51
+ readonly "inline-sm": "8px";
52
+ readonly "inline-md": "12px";
53
+ readonly "inline-lg": "16px";
54
+ readonly "icon-sm": "16px";
55
+ readonly "icon-md": "20px";
56
+ readonly "icon-lg": "24px";
57
+ readonly "radius-none": "0px";
58
+ readonly "radius-xs": "2px";
59
+ readonly "radius-sm": "4px";
60
+ readonly "radius-md": "6px";
61
+ readonly "radius-lg": "8px";
62
+ readonly "radius-xl": "12px";
63
+ readonly "radius-2xl": "16px";
64
+ readonly "radius-full": "9999px";
65
+ readonly "border-thin": "1px";
66
+ readonly "border-medium": "1.5px";
67
+ readonly "border-thick": "2px";
68
+ };
69
+ //# sourceMappingURL=spacing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spacing.d.ts","sourceRoot":"","sources":["../../src/tokens/spacing.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCd,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,WAAW,CAAC;AAGhD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCvB,CAAC"}
@@ -0,0 +1,71 @@
1
+ // @yugnex/nexui — Spacing Scale
2
+ // 4px base unit. All values are multiples of 4px.
3
+ export const NEXUI_SPACE = {
4
+ 0: "0px",
5
+ px: "1px",
6
+ 0.5: "2px",
7
+ 1: "4px",
8
+ 1.5: "6px",
9
+ 2: "8px",
10
+ 2.5: "10px",
11
+ 3: "12px",
12
+ 3.5: "14px",
13
+ 4: "16px",
14
+ 5: "20px",
15
+ 6: "24px",
16
+ 7: "28px",
17
+ 8: "32px",
18
+ 9: "36px",
19
+ 10: "40px",
20
+ 11: "44px",
21
+ 12: "48px",
22
+ 14: "56px",
23
+ 16: "64px",
24
+ 20: "80px",
25
+ 24: "96px",
26
+ 28: "112px",
27
+ 32: "128px",
28
+ 36: "144px",
29
+ 40: "160px",
30
+ 44: "176px",
31
+ 48: "192px",
32
+ 52: "208px",
33
+ 56: "224px",
34
+ 60: "240px",
35
+ 64: "256px",
36
+ 72: "288px",
37
+ 80: "320px",
38
+ 96: "384px",
39
+ };
40
+ // Semantic spacing aliases — what components reference
41
+ export const NEXUI_SPACE_SEMANTIC = {
42
+ "component-xs": NEXUI_SPACE[1], // 4px — tight internal padding
43
+ "component-sm": NEXUI_SPACE[2], // 8px — small component padding
44
+ "component-md": NEXUI_SPACE[3], // 12px — standard component padding
45
+ "component-lg": NEXUI_SPACE[4], // 16px — large component padding
46
+ "component-xl": NEXUI_SPACE[6], // 24px — extra-large component padding
47
+ "layout-xs": NEXUI_SPACE[4], // 16px — tight section gap
48
+ "layout-sm": NEXUI_SPACE[6], // 24px — small section gap
49
+ "layout-md": NEXUI_SPACE[8], // 32px — standard section gap
50
+ "layout-lg": NEXUI_SPACE[12], // 48px — large section gap
51
+ "layout-xl": NEXUI_SPACE[16], // 64px — page-level gap
52
+ "inline-xs": NEXUI_SPACE[1], // 4px — inline element gap
53
+ "inline-sm": NEXUI_SPACE[2], // 8px — small inline gap
54
+ "inline-md": NEXUI_SPACE[3], // 12px — standard inline gap
55
+ "inline-lg": NEXUI_SPACE[4], // 16px — large inline gap
56
+ "icon-sm": NEXUI_SPACE[4], // 16px — small icon size
57
+ "icon-md": NEXUI_SPACE[5], // 20px — standard icon size
58
+ "icon-lg": NEXUI_SPACE[6], // 24px — large icon size
59
+ "radius-none": "0px",
60
+ "radius-xs": "2px",
61
+ "radius-sm": "4px",
62
+ "radius-md": "6px",
63
+ "radius-lg": "8px",
64
+ "radius-xl": "12px",
65
+ "radius-2xl": "16px",
66
+ "radius-full": "9999px",
67
+ "border-thin": "1px",
68
+ "border-medium": "1.5px",
69
+ "border-thick": "2px",
70
+ };
71
+ //# sourceMappingURL=spacing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spacing.js","sourceRoot":"","sources":["../../src/tokens/spacing.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,kDAAkD;AAElD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,CAAC,EAAK,KAAK;IACX,EAAE,EAAI,KAAK;IACX,GAAG,EAAG,KAAK;IACX,CAAC,EAAK,KAAK;IACX,GAAG,EAAG,KAAK;IACX,CAAC,EAAK,KAAK;IACX,GAAG,EAAG,MAAM;IACZ,CAAC,EAAK,MAAM;IACZ,GAAG,EAAG,MAAM;IACZ,CAAC,EAAK,MAAM;IACZ,CAAC,EAAK,MAAM;IACZ,CAAC,EAAK,MAAM;IACZ,CAAC,EAAK,MAAM;IACZ,CAAC,EAAK,MAAM;IACZ,CAAC,EAAK,MAAM;IACZ,EAAE,EAAI,MAAM;IACZ,EAAE,EAAI,MAAM;IACZ,EAAE,EAAI,MAAM;IACZ,EAAE,EAAI,MAAM;IACZ,EAAE,EAAI,MAAM;IACZ,EAAE,EAAI,MAAM;IACZ,EAAE,EAAI,MAAM;IACZ,EAAE,EAAI,OAAO;IACb,EAAE,EAAI,OAAO;IACb,EAAE,EAAI,OAAO;IACb,EAAE,EAAI,OAAO;IACb,EAAE,EAAI,OAAO;IACb,EAAE,EAAI,OAAO;IACb,EAAE,EAAI,OAAO;IACb,EAAE,EAAI,OAAO;IACb,EAAE,EAAI,OAAO;IACb,EAAE,EAAI,OAAO;IACb,EAAE,EAAI,OAAO;IACb,EAAE,EAAI,OAAO;IACb,EAAE,EAAI,OAAO;CACL,CAAC;AAIX,uDAAuD;AACvD,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,cAAc,EAAG,WAAW,CAAC,CAAC,CAAC,EAAK,+BAA+B;IACnE,cAAc,EAAG,WAAW,CAAC,CAAC,CAAC,EAAK,gCAAgC;IACpE,cAAc,EAAG,WAAW,CAAC,CAAC,CAAC,EAAK,oCAAoC;IACxE,cAAc,EAAG,WAAW,CAAC,CAAC,CAAC,EAAK,iCAAiC;IACrE,cAAc,EAAG,WAAW,CAAC,CAAC,CAAC,EAAK,uCAAuC;IAE3E,WAAW,EAAM,WAAW,CAAC,CAAC,CAAC,EAAK,2BAA2B;IAC/D,WAAW,EAAM,WAAW,CAAC,CAAC,CAAC,EAAK,2BAA2B;IAC/D,WAAW,EAAM,WAAW,CAAC,CAAC,CAAC,EAAK,8BAA8B;IAClE,WAAW,EAAM,WAAW,CAAC,EAAE,CAAC,EAAI,2BAA2B;IAC/D,WAAW,EAAM,WAAW,CAAC,EAAE,CAAC,EAAI,wBAAwB;IAE5D,WAAW,EAAM,WAAW,CAAC,CAAC,CAAC,EAAK,2BAA2B;IAC/D,WAAW,EAAM,WAAW,CAAC,CAAC,CAAC,EAAK,yBAAyB;IAC7D,WAAW,EAAM,WAAW,CAAC,CAAC,CAAC,EAAK,6BAA6B;IACjE,WAAW,EAAM,WAAW,CAAC,CAAC,CAAC,EAAK,0BAA0B;IAE9D,SAAS,EAAQ,WAAW,CAAC,CAAC,CAAC,EAAK,yBAAyB;IAC7D,SAAS,EAAQ,WAAW,CAAC,CAAC,CAAC,EAAK,4BAA4B;IAChE,SAAS,EAAQ,WAAW,CAAC,CAAC,CAAC,EAAK,yBAAyB;IAE7D,aAAa,EAAI,KAAK;IACtB,WAAW,EAAM,KAAK;IACtB,WAAW,EAAM,KAAK;IACtB,WAAW,EAAM,KAAK;IACtB,WAAW,EAAM,KAAK;IACtB,WAAW,EAAM,MAAM;IACvB,YAAY,EAAK,MAAM;IACvB,aAAa,EAAI,QAAQ;IAEzB,aAAa,EAAI,KAAK;IACtB,eAAe,EAAE,OAAO;IACxB,cAAc,EAAG,KAAK;CACd,CAAC"}
@@ -0,0 +1,166 @@
1
+ export declare const NEXUI_FONT_SIZE: {
2
+ readonly "2xs": string;
3
+ readonly xs: string;
4
+ readonly sm: string;
5
+ readonly base: string;
6
+ readonly md: string;
7
+ readonly lg: string;
8
+ readonly xl: string;
9
+ readonly "2xl": string;
10
+ readonly "3xl": string;
11
+ readonly "4xl": string;
12
+ readonly "5xl": string;
13
+ readonly "6xl": string;
14
+ readonly "7xl": string;
15
+ };
16
+ export declare const NEXUI_LINE_HEIGHT: {
17
+ readonly none: "1";
18
+ readonly tight: "1.15";
19
+ readonly snug: "1.3";
20
+ readonly normal: "1.5";
21
+ readonly relaxed: "1.65";
22
+ readonly loose: "1.8";
23
+ readonly code: "1.7";
24
+ };
25
+ export declare const NEXUI_LETTER_SPACING: {
26
+ readonly tighter: "-0.04em";
27
+ readonly tight: "-0.02em";
28
+ readonly normal: "0em";
29
+ readonly wide: "0.04em";
30
+ readonly wider: "0.08em";
31
+ readonly widest: "0.16em";
32
+ readonly mono: "0.02em";
33
+ readonly caps: "0.06em";
34
+ };
35
+ export declare const NEXUI_FONT_WEIGHT: {
36
+ readonly thin: "100";
37
+ readonly extralight: "200";
38
+ readonly light: "300";
39
+ readonly regular: "400";
40
+ readonly medium: "500";
41
+ readonly semibold: "600";
42
+ readonly bold: "700";
43
+ readonly extrabold: "800";
44
+ readonly black: "900";
45
+ };
46
+ export declare const NEXUI_FONT_FAMILY: {
47
+ readonly sans: string;
48
+ readonly mono: string;
49
+ readonly display: string;
50
+ };
51
+ export declare const NEXUI_TEXT_ROLES: {
52
+ readonly "display-lg": {
53
+ readonly fontSize: string;
54
+ readonly fontWeight: "700";
55
+ readonly lineHeight: "1.15";
56
+ readonly letterSpacing: "-0.02em";
57
+ readonly fontFamily: string;
58
+ };
59
+ readonly "display-md": {
60
+ readonly fontSize: string;
61
+ readonly fontWeight: "700";
62
+ readonly lineHeight: "1.15";
63
+ readonly letterSpacing: "-0.02em";
64
+ readonly fontFamily: string;
65
+ };
66
+ readonly "heading-xl": {
67
+ readonly fontSize: string;
68
+ readonly fontWeight: "600";
69
+ readonly lineHeight: "1.3";
70
+ readonly letterSpacing: "-0.02em";
71
+ readonly fontFamily: string;
72
+ };
73
+ readonly "heading-lg": {
74
+ readonly fontSize: string;
75
+ readonly fontWeight: "600";
76
+ readonly lineHeight: "1.3";
77
+ readonly letterSpacing: "0em";
78
+ readonly fontFamily: string;
79
+ };
80
+ readonly "heading-md": {
81
+ readonly fontSize: string;
82
+ readonly fontWeight: "600";
83
+ readonly lineHeight: "1.3";
84
+ readonly letterSpacing: "0em";
85
+ readonly fontFamily: string;
86
+ };
87
+ readonly "heading-sm": {
88
+ readonly fontSize: string;
89
+ readonly fontWeight: "500";
90
+ readonly lineHeight: "1.5";
91
+ readonly letterSpacing: "0em";
92
+ readonly fontFamily: string;
93
+ };
94
+ readonly "label-lg": {
95
+ readonly fontSize: string;
96
+ readonly fontWeight: "500";
97
+ readonly lineHeight: "1.5";
98
+ readonly letterSpacing: "0em";
99
+ readonly fontFamily: string;
100
+ };
101
+ readonly "label-md": {
102
+ readonly fontSize: string;
103
+ readonly fontWeight: "500";
104
+ readonly lineHeight: "1.5";
105
+ readonly letterSpacing: "0em";
106
+ readonly fontFamily: string;
107
+ };
108
+ readonly "label-sm": {
109
+ readonly fontSize: string;
110
+ readonly fontWeight: "500";
111
+ readonly lineHeight: "1.5";
112
+ readonly letterSpacing: "0.04em";
113
+ readonly fontFamily: string;
114
+ };
115
+ readonly "label-caps": {
116
+ readonly fontSize: string;
117
+ readonly fontWeight: "600";
118
+ readonly lineHeight: "1.5";
119
+ readonly letterSpacing: "0.06em";
120
+ readonly fontFamily: string;
121
+ readonly textTransform: "uppercase";
122
+ };
123
+ readonly "body-lg": {
124
+ readonly fontSize: string;
125
+ readonly fontWeight: "400";
126
+ readonly lineHeight: "1.65";
127
+ readonly letterSpacing: "0em";
128
+ readonly fontFamily: string;
129
+ };
130
+ readonly "body-md": {
131
+ readonly fontSize: string;
132
+ readonly fontWeight: "400";
133
+ readonly lineHeight: "1.65";
134
+ readonly letterSpacing: "0em";
135
+ readonly fontFamily: string;
136
+ };
137
+ readonly "body-sm": {
138
+ readonly fontSize: string;
139
+ readonly fontWeight: "400";
140
+ readonly lineHeight: "1.5";
141
+ readonly letterSpacing: "0em";
142
+ readonly fontFamily: string;
143
+ };
144
+ readonly caption: {
145
+ readonly fontSize: string;
146
+ readonly fontWeight: "400";
147
+ readonly lineHeight: "1.5";
148
+ readonly letterSpacing: "0em";
149
+ readonly fontFamily: string;
150
+ };
151
+ readonly "code-base": {
152
+ readonly fontSize: string;
153
+ readonly fontWeight: "400";
154
+ readonly lineHeight: "1.7";
155
+ readonly letterSpacing: "0.02em";
156
+ readonly fontFamily: string;
157
+ };
158
+ readonly "code-sm": {
159
+ readonly fontSize: string;
160
+ readonly fontWeight: "400";
161
+ readonly lineHeight: "1.7";
162
+ readonly letterSpacing: "0.02em";
163
+ readonly fontFamily: string;
164
+ };
165
+ };
166
+ //# sourceMappingURL=type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/tokens/type.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;CAclB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;;;;CAQpB,CAAC;AAEX,eAAO,MAAM,oBAAoB;;;;;;;;;CASvB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;;;;;;CAUpB,CAAC;AAIX,eAAO,MAAM,iBAAiB;;;;CAsCpB,CAAC;AAGX,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkHnB,CAAC"}
@@ -0,0 +1,215 @@
1
+ // @yugnex/nexui — Typography Tokens
2
+ // Fluid type scale: clamp(minPx, yIntersect + slope*100vw, maxPx)
3
+ // Min viewport: 320px. Max viewport: 1440px.
4
+ const MIN_VP = 320;
5
+ const MAX_VP = 1440;
6
+ function fluid(minPx, maxPx) {
7
+ const slope = (maxPx - minPx) / (MAX_VP - MIN_VP);
8
+ const y = minPx - slope * MIN_VP;
9
+ const yFixed = parseFloat(y.toFixed(4));
10
+ const slopeFixed = parseFloat((slope * 100).toFixed(4));
11
+ const sign = yFixed >= 0 ? "+" : "-";
12
+ return `clamp(${minPx}px, ${Math.abs(yFixed)}px ${sign} ${slopeFixed}vw, ${maxPx}px)`;
13
+ }
14
+ // Type scale — based on a modular scale of 1.25 (Major Third)
15
+ export const NEXUI_FONT_SIZE = {
16
+ "2xs": fluid(10, 11), // micro labels, timestamps
17
+ "xs": fluid(11, 12), // captions, helper text
18
+ "sm": fluid(12, 13), // secondary body, badge text
19
+ "base": fluid(13, 14), // primary body
20
+ "md": fluid(14, 15), // large body, button labels
21
+ "lg": fluid(16, 18), // subheading
22
+ "xl": fluid(18, 20), // section heading
23
+ "2xl": fluid(20, 24), // page heading
24
+ "3xl": fluid(24, 30), // display sm
25
+ "4xl": fluid(30, 36), // display md
26
+ "5xl": fluid(36, 48), // display lg
27
+ "6xl": fluid(48, 60), // hero
28
+ "7xl": fluid(60, 72), // mega hero
29
+ };
30
+ export const NEXUI_LINE_HEIGHT = {
31
+ "none": "1",
32
+ "tight": "1.15",
33
+ "snug": "1.3",
34
+ "normal": "1.5",
35
+ "relaxed": "1.65",
36
+ "loose": "1.8",
37
+ "code": "1.7",
38
+ };
39
+ export const NEXUI_LETTER_SPACING = {
40
+ "tighter": "-0.04em",
41
+ "tight": "-0.02em",
42
+ "normal": "0em",
43
+ "wide": "0.04em",
44
+ "wider": "0.08em",
45
+ "widest": "0.16em",
46
+ "mono": "0.02em",
47
+ "caps": "0.06em",
48
+ };
49
+ export const NEXUI_FONT_WEIGHT = {
50
+ "thin": "100",
51
+ "extralight": "200",
52
+ "light": "300",
53
+ "regular": "400",
54
+ "medium": "500",
55
+ "semibold": "600",
56
+ "bold": "700",
57
+ "extrabold": "800",
58
+ "black": "900",
59
+ };
60
+ // Font family stacks — zero font file dependency (web-safe system stack)
61
+ // When NexuiSans/NexuiMono WOFF2 files are available, prepend them first.
62
+ export const NEXUI_FONT_FAMILY = {
63
+ "sans": [
64
+ "NexuiSans", // reserved — provide via @font-face
65
+ "Inter", // common on modern systems
66
+ "system-ui",
67
+ "-apple-system",
68
+ "BlinkMacSystemFont",
69
+ "Segoe UI",
70
+ "Roboto",
71
+ "Helvetica Neue",
72
+ "Arial",
73
+ "sans-serif",
74
+ ].join(", "),
75
+ "mono": [
76
+ "NexuiMono", // reserved — provide via @font-face
77
+ "JetBrains Mono",
78
+ "Fira Code",
79
+ "Cascadia Code",
80
+ "SF Mono",
81
+ "ui-monospace",
82
+ "SFMono-Regular",
83
+ "Menlo",
84
+ "Monaco",
85
+ "Consolas",
86
+ "Liberation Mono",
87
+ "Courier New",
88
+ "monospace",
89
+ ].join(", "),
90
+ "display": [
91
+ "NexuiDisplay", // reserved — provide via @font-face
92
+ "Cal Sans",
93
+ "DM Sans",
94
+ "Inter",
95
+ "system-ui",
96
+ "sans-serif",
97
+ ].join(", "),
98
+ };
99
+ // Semantic text role presets — map directly to component style objects
100
+ export const NEXUI_TEXT_ROLES = {
101
+ "display-lg": {
102
+ fontSize: NEXUI_FONT_SIZE["5xl"],
103
+ fontWeight: NEXUI_FONT_WEIGHT["bold"],
104
+ lineHeight: NEXUI_LINE_HEIGHT["tight"],
105
+ letterSpacing: NEXUI_LETTER_SPACING["tight"],
106
+ fontFamily: NEXUI_FONT_FAMILY["display"],
107
+ },
108
+ "display-md": {
109
+ fontSize: NEXUI_FONT_SIZE["4xl"],
110
+ fontWeight: NEXUI_FONT_WEIGHT["bold"],
111
+ lineHeight: NEXUI_LINE_HEIGHT["tight"],
112
+ letterSpacing: NEXUI_LETTER_SPACING["tight"],
113
+ fontFamily: NEXUI_FONT_FAMILY["display"],
114
+ },
115
+ "heading-xl": {
116
+ fontSize: NEXUI_FONT_SIZE["3xl"],
117
+ fontWeight: NEXUI_FONT_WEIGHT["semibold"],
118
+ lineHeight: NEXUI_LINE_HEIGHT["snug"],
119
+ letterSpacing: NEXUI_LETTER_SPACING["tight"],
120
+ fontFamily: NEXUI_FONT_FAMILY["sans"],
121
+ },
122
+ "heading-lg": {
123
+ fontSize: NEXUI_FONT_SIZE["2xl"],
124
+ fontWeight: NEXUI_FONT_WEIGHT["semibold"],
125
+ lineHeight: NEXUI_LINE_HEIGHT["snug"],
126
+ letterSpacing: NEXUI_LETTER_SPACING["normal"],
127
+ fontFamily: NEXUI_FONT_FAMILY["sans"],
128
+ },
129
+ "heading-md": {
130
+ fontSize: NEXUI_FONT_SIZE["xl"],
131
+ fontWeight: NEXUI_FONT_WEIGHT["semibold"],
132
+ lineHeight: NEXUI_LINE_HEIGHT["snug"],
133
+ letterSpacing: NEXUI_LETTER_SPACING["normal"],
134
+ fontFamily: NEXUI_FONT_FAMILY["sans"],
135
+ },
136
+ "heading-sm": {
137
+ fontSize: NEXUI_FONT_SIZE["lg"],
138
+ fontWeight: NEXUI_FONT_WEIGHT["medium"],
139
+ lineHeight: NEXUI_LINE_HEIGHT["normal"],
140
+ letterSpacing: NEXUI_LETTER_SPACING["normal"],
141
+ fontFamily: NEXUI_FONT_FAMILY["sans"],
142
+ },
143
+ "label-lg": {
144
+ fontSize: NEXUI_FONT_SIZE["md"],
145
+ fontWeight: NEXUI_FONT_WEIGHT["medium"],
146
+ lineHeight: NEXUI_LINE_HEIGHT["normal"],
147
+ letterSpacing: NEXUI_LETTER_SPACING["normal"],
148
+ fontFamily: NEXUI_FONT_FAMILY["sans"],
149
+ },
150
+ "label-md": {
151
+ fontSize: NEXUI_FONT_SIZE["base"],
152
+ fontWeight: NEXUI_FONT_WEIGHT["medium"],
153
+ lineHeight: NEXUI_LINE_HEIGHT["normal"],
154
+ letterSpacing: NEXUI_LETTER_SPACING["normal"],
155
+ fontFamily: NEXUI_FONT_FAMILY["sans"],
156
+ },
157
+ "label-sm": {
158
+ fontSize: NEXUI_FONT_SIZE["sm"],
159
+ fontWeight: NEXUI_FONT_WEIGHT["medium"],
160
+ lineHeight: NEXUI_LINE_HEIGHT["normal"],
161
+ letterSpacing: NEXUI_LETTER_SPACING["wide"],
162
+ fontFamily: NEXUI_FONT_FAMILY["sans"],
163
+ },
164
+ "label-caps": {
165
+ fontSize: NEXUI_FONT_SIZE["xs"],
166
+ fontWeight: NEXUI_FONT_WEIGHT["semibold"],
167
+ lineHeight: NEXUI_LINE_HEIGHT["normal"],
168
+ letterSpacing: NEXUI_LETTER_SPACING["caps"],
169
+ fontFamily: NEXUI_FONT_FAMILY["sans"],
170
+ textTransform: "uppercase",
171
+ },
172
+ "body-lg": {
173
+ fontSize: NEXUI_FONT_SIZE["md"],
174
+ fontWeight: NEXUI_FONT_WEIGHT["regular"],
175
+ lineHeight: NEXUI_LINE_HEIGHT["relaxed"],
176
+ letterSpacing: NEXUI_LETTER_SPACING["normal"],
177
+ fontFamily: NEXUI_FONT_FAMILY["sans"],
178
+ },
179
+ "body-md": {
180
+ fontSize: NEXUI_FONT_SIZE["base"],
181
+ fontWeight: NEXUI_FONT_WEIGHT["regular"],
182
+ lineHeight: NEXUI_LINE_HEIGHT["relaxed"],
183
+ letterSpacing: NEXUI_LETTER_SPACING["normal"],
184
+ fontFamily: NEXUI_FONT_FAMILY["sans"],
185
+ },
186
+ "body-sm": {
187
+ fontSize: NEXUI_FONT_SIZE["sm"],
188
+ fontWeight: NEXUI_FONT_WEIGHT["regular"],
189
+ lineHeight: NEXUI_LINE_HEIGHT["normal"],
190
+ letterSpacing: NEXUI_LETTER_SPACING["normal"],
191
+ fontFamily: NEXUI_FONT_FAMILY["sans"],
192
+ },
193
+ "caption": {
194
+ fontSize: NEXUI_FONT_SIZE["xs"],
195
+ fontWeight: NEXUI_FONT_WEIGHT["regular"],
196
+ lineHeight: NEXUI_LINE_HEIGHT["normal"],
197
+ letterSpacing: NEXUI_LETTER_SPACING["normal"],
198
+ fontFamily: NEXUI_FONT_FAMILY["sans"],
199
+ },
200
+ "code-base": {
201
+ fontSize: NEXUI_FONT_SIZE["sm"],
202
+ fontWeight: NEXUI_FONT_WEIGHT["regular"],
203
+ lineHeight: NEXUI_LINE_HEIGHT["code"],
204
+ letterSpacing: NEXUI_LETTER_SPACING["mono"],
205
+ fontFamily: NEXUI_FONT_FAMILY["mono"],
206
+ },
207
+ "code-sm": {
208
+ fontSize: NEXUI_FONT_SIZE["xs"],
209
+ fontWeight: NEXUI_FONT_WEIGHT["regular"],
210
+ lineHeight: NEXUI_LINE_HEIGHT["code"],
211
+ letterSpacing: NEXUI_LETTER_SPACING["mono"],
212
+ fontFamily: NEXUI_FONT_FAMILY["mono"],
213
+ },
214
+ };
215
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/tokens/type.ts"],"names":[],"mappings":"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"}
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,16 @@
1
+ [package]
2
+ name = "nexui-layout-compiler"
3
+ version = "1.0.0"
4
+ edition = "2021"
5
+ description = "NexUI LayoutMatrix bitmask → CSS compiler (WASM target)"
6
+ license = "LicenseRef-YugNex-Proprietary"
7
+
8
+ [lib]
9
+ crate-type = ["cdylib", "rlib"]
10
+
11
+ [dependencies]
12
+ wasm-bindgen = "0.2"
13
+
14
+ [profile.release]
15
+ opt-level = "z"
16
+ lto = true