@hyperpackai/hyperui 0.1.0 → 0.3.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 (98) hide show
  1. package/README.md +69 -61
  2. package/dist/components/Accordion/index.d.ts +6 -0
  3. package/dist/components/Accordion/index.d.ts.map +1 -1
  4. package/dist/components/Accordion/index.js +65 -9
  5. package/dist/components/Autocomplete/index.d.ts +12 -2
  6. package/dist/components/Autocomplete/index.d.ts.map +1 -1
  7. package/dist/components/Autocomplete/index.js +148 -24
  8. package/dist/components/Backdrop/index.d.ts +2 -1
  9. package/dist/components/Backdrop/index.d.ts.map +1 -1
  10. package/dist/components/Backdrop/index.js +6 -3
  11. package/dist/components/Checkbox/index.d.ts +1 -0
  12. package/dist/components/Checkbox/index.d.ts.map +1 -1
  13. package/dist/components/Checkbox/index.js +6 -2
  14. package/dist/components/DashboardLayout/index.d.ts +13 -0
  15. package/dist/components/DashboardLayout/index.d.ts.map +1 -1
  16. package/dist/components/DashboardLayout/index.js +50 -7
  17. package/dist/components/DataTable/index.d.ts +43 -0
  18. package/dist/components/DataTable/index.d.ts.map +1 -1
  19. package/dist/components/DataTable/index.js +126 -21
  20. package/dist/components/Dialog/index.d.ts +9 -3
  21. package/dist/components/Dialog/index.d.ts.map +1 -1
  22. package/dist/components/Dialog/index.js +46 -30
  23. package/dist/components/Drawer/index.d.ts +11 -3
  24. package/dist/components/Drawer/index.d.ts.map +1 -1
  25. package/dist/components/Drawer/index.js +66 -11
  26. package/dist/components/DropdownMenu/index.d.ts +5 -3
  27. package/dist/components/DropdownMenu/index.d.ts.map +1 -1
  28. package/dist/components/DropdownMenu/index.js +56 -13
  29. package/dist/components/FocusTrap/index.d.ts.map +1 -1
  30. package/dist/components/FocusTrap/index.js +34 -32
  31. package/dist/components/Input/index.d.ts +2 -0
  32. package/dist/components/Input/index.d.ts.map +1 -1
  33. package/dist/components/Input/index.js +18 -4
  34. package/dist/components/Menu/index.d.ts +6 -2
  35. package/dist/components/Menu/index.d.ts.map +1 -1
  36. package/dist/components/Menu/index.js +50 -15
  37. package/dist/components/Modal/index.d.ts +3 -1
  38. package/dist/components/Modal/index.d.ts.map +1 -1
  39. package/dist/components/Modal/index.js +27 -9
  40. package/dist/components/NestedNavbar/index.d.ts +33 -0
  41. package/dist/components/NestedNavbar/index.d.ts.map +1 -0
  42. package/dist/components/NestedNavbar/index.js +435 -0
  43. package/dist/components/NestedSidebar/index.d.ts +48 -0
  44. package/dist/components/NestedSidebar/index.d.ts.map +1 -0
  45. package/dist/components/NestedSidebar/index.js +368 -0
  46. package/dist/components/Popover/index.d.ts +11 -3
  47. package/dist/components/Popover/index.d.ts.map +1 -1
  48. package/dist/components/Popover/index.js +45 -9
  49. package/dist/components/Radio/index.d.ts +26 -1
  50. package/dist/components/Radio/index.d.ts.map +1 -1
  51. package/dist/components/Radio/index.js +61 -2
  52. package/dist/components/Select/index.d.ts +5 -0
  53. package/dist/components/Select/index.d.ts.map +1 -1
  54. package/dist/components/Select/index.js +22 -5
  55. package/dist/components/Sheet/index.d.ts +9 -3
  56. package/dist/components/Sheet/index.d.ts.map +1 -1
  57. package/dist/components/Sheet/index.js +48 -23
  58. package/dist/components/Sidebar/index.d.ts +20 -1
  59. package/dist/components/Sidebar/index.d.ts.map +1 -1
  60. package/dist/components/Sidebar/index.js +285 -8
  61. package/dist/components/SpeedDial/index.d.ts +10 -0
  62. package/dist/components/SpeedDial/index.d.ts.map +1 -1
  63. package/dist/components/SpeedDial/index.js +61 -11
  64. package/dist/components/Switch/index.d.ts +2 -0
  65. package/dist/components/Switch/index.d.ts.map +1 -1
  66. package/dist/components/Switch/index.js +6 -2
  67. package/dist/components/Tabs/index.d.ts +3 -0
  68. package/dist/components/Tabs/index.d.ts.map +1 -1
  69. package/dist/components/Tabs/index.js +47 -8
  70. package/dist/components/TextField/index.d.ts +2 -0
  71. package/dist/components/TextField/index.d.ts.map +1 -1
  72. package/dist/components/TextField/index.js +12 -4
  73. package/dist/components/Textarea/index.d.ts +5 -0
  74. package/dist/components/Textarea/index.d.ts.map +1 -1
  75. package/dist/components/Textarea/index.js +21 -4
  76. package/dist/components/Transition/index.d.ts +14 -0
  77. package/dist/components/Transition/index.d.ts.map +1 -0
  78. package/dist/components/Transition/index.js +49 -0
  79. package/dist/components/TransitionGroup/index.d.ts +16 -0
  80. package/dist/components/TransitionGroup/index.d.ts.map +1 -0
  81. package/dist/components/TransitionGroup/index.js +95 -0
  82. package/dist/components/data.d.ts +81 -16
  83. package/dist/components/data.d.ts.map +1 -1
  84. package/dist/components/data.js +163 -31
  85. package/dist/components/enterprise.d.ts +85 -26
  86. package/dist/components/enterprise.d.ts.map +1 -1
  87. package/dist/components/enterprise.js +211 -36
  88. package/dist/components/index.d.ts +21 -13
  89. package/dist/components/index.d.ts.map +1 -1
  90. package/dist/components/index.js +7 -2
  91. package/dist/portal.d.ts.map +1 -1
  92. package/dist/portal.js +3 -0
  93. package/dist/theme/index.d.ts +5 -6
  94. package/dist/theme/index.d.ts.map +1 -1
  95. package/dist/theme/index.js +30 -0
  96. package/dist/tokens/index.d.ts.map +1 -1
  97. package/dist/tokens/index.js +11 -0
  98. package/package.json +8 -3
@@ -7,9 +7,11 @@
7
7
  * document.documentElement.style.setProperty("--hu-primary", "#7c3aed");
8
8
  */
9
9
  export declare function injectCSS(id: string, css: string): void;
10
- export declare const BASE_CSS = "\n/* ------------------------------------------------------------------ */\n/* HyperUI Design Tokens */\n/* ------------------------------------------------------------------ */\n:root {\n /* Radius */\n --hu-radius-xs: 3px;\n --hu-radius-sm: 5px;\n --hu-radius: 8px;\n --hu-radius-md: 10px;\n --hu-radius-lg: 14px;\n --hu-radius-xl: 20px;\n --hu-radius-full: 9999px;\n\n /* Spacing (4-pt grid) */\n --hu-space-1: 4px;\n --hu-space-2: 8px;\n --hu-space-3: 12px;\n --hu-space-4: 16px;\n --hu-space-5: 20px;\n --hu-space-6: 24px;\n --hu-space-8: 32px;\n --hu-space-10: 40px;\n --hu-space-12: 48px;\n --hu-space-16: 64px;\n\n /* Typography */\n --hu-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n --hu-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, \"Liberation Mono\", monospace;\n --hu-font-size-xs: 11px;\n --hu-font-size-sm: 13px;\n --hu-font-size-base: 14px;\n --hu-font-size-md: 15px;\n --hu-font-size-lg: 18px;\n --hu-font-size-xl: 22px;\n --hu-font-size-2xl: 28px;\n --hu-font-size-3xl: 36px;\n --hu-line-height: 1.5;\n --hu-font-weight-normal: 400;\n --hu-font-weight-medium: 500;\n --hu-font-weight-semibold: 600;\n --hu-font-weight-bold: 700;\n\n /* Colours \u2014 Light */\n --hu-bg: #ffffff;\n --hu-bg-2: #f8fafc;\n --hu-bg-3: #f1f5f9;\n --hu-bg-4: #e8edf5;\n --hu-border: #e2e8f0;\n --hu-border-2: #cbd5e1;\n --hu-text: #0f172a;\n --hu-text-2: #475569;\n --hu-text-3: #94a3b8;\n --hu-text-inv: #ffffff;\n\n /* Primary \u2014 Indigo */\n --hu-primary: #6366f1;\n --hu-primary-dk: #4f46e5;\n --hu-primary-lt: #818cf8;\n --hu-primary-bg: #eef2ff;\n --hu-primary-text: #ffffff;\n\n /* Semantic */\n --hu-success: #22c55e;\n --hu-success-bg: #f0fdf4;\n --hu-success-text:#15803d;\n --hu-warning: #f59e0b;\n --hu-warning-bg: #fffbeb;\n --hu-warning-text:#92400e;\n --hu-error: #ef4444;\n --hu-error-bg: #fef2f2;\n --hu-error-text: #b91c1c;\n --hu-info: #3b82f6;\n --hu-info-bg: #eff6ff;\n --hu-info-text: #1d4ed8;\n\n /* Shadows */\n --hu-shadow-xs: 0 1px 2px rgb(0 0 0/6%);\n --hu-shadow-sm: 0 1px 3px rgb(0 0 0/8%), 0 1px 2px rgb(0 0 0/4%);\n --hu-shadow: 0 4px 6px -1px rgb(0 0 0/8%), 0 2px 4px -2px rgb(0 0 0/4%);\n --hu-shadow-md: 0 10px 15px -3px rgb(0 0 0/8%), 0 4px 6px -4px rgb(0 0 0/4%);\n --hu-shadow-lg: 0 20px 25px -5px rgb(0 0 0/8%), 0 8px 10px -6px rgb(0 0 0/4%);\n --hu-shadow-xl: 0 25px 50px -12px rgb(0 0 0/20%);\n\n /* Overlays */\n --hu-overlay: rgb(0 0 0/50%);\n\n /* Transitions */\n --hu-duration-fast: 100ms;\n --hu-duration: 150ms;\n --hu-duration-slow: 250ms;\n --hu-ease: cubic-bezier(0.4, 0, 0.2, 1);\n --hu-ease-in: cubic-bezier(0.4, 0, 1, 1);\n --hu-ease-out: cubic-bezier(0, 0, 0.2, 1);\n --hu-ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);\n\n /* Z-index */\n --hu-z-dropdown: 1000;\n --hu-z-sticky: 1020;\n --hu-z-fixed: 1030;\n --hu-z-backdrop: 1040;\n --hu-z-modal: 1050;\n --hu-z-popover: 1060;\n --hu-z-tooltip: 1070;\n --hu-z-toast: 1080;\n}\n\n/* Dark mode */\n[data-theme=\"dark\"], .hu-dark {\n --hu-bg: #0a0a0f;\n --hu-bg-2: #111118;\n --hu-bg-3: #1a1a24;\n --hu-bg-4: #22222f;\n --hu-border: #2a2a38;\n --hu-border-2: #3a3a4a;\n --hu-text: #f0f0ff;\n --hu-text-2: #a0a0c0;\n --hu-text-3: #606080;\n --hu-text-inv: #0a0a0f;\n\n --hu-primary: #818cf8;\n --hu-primary-dk: #6366f1;\n --hu-primary-lt: #a5b4fc;\n --hu-primary-bg: #1e1b4b30;\n --hu-primary-text: #ffffff;\n\n --hu-success: #4ade80;\n --hu-success-bg: #052e16;\n --hu-success-text:#86efac;\n --hu-warning: #fbbf24;\n --hu-warning-bg: #1c1500;\n --hu-warning-text:#fde68a;\n --hu-error: #f87171;\n --hu-error-bg: #1f0505;\n --hu-error-text: #fca5a5;\n --hu-info: #60a5fa;\n --hu-info-bg: #030d1a;\n --hu-info-text: #93c5fd;\n\n --hu-shadow-xs: 0 1px 2px rgb(0 0 0/30%);\n --hu-shadow-sm: 0 1px 3px rgb(0 0 0/40%), 0 1px 2px rgb(0 0 0/24%);\n --hu-shadow: 0 4px 6px -1px rgb(0 0 0/40%), 0 2px 4px -2px rgb(0 0 0/24%);\n --hu-shadow-md: 0 10px 15px -3px rgb(0 0 0/40%), 0 4px 6px -4px rgb(0 0 0/24%);\n --hu-shadow-lg: 0 20px 25px -5px rgb(0 0 0/40%), 0 8px 10px -6px rgb(0 0 0/24%);\n --hu-shadow-xl: 0 25px 50px -12px rgb(0 0 0/60%);\n\n --hu-overlay: rgb(0 0 0/70%);\n}\n\n/* Base reset */\n*, *::before, *::after { box-sizing: border-box; }\n[data-hu-root] {\n font-family: var(--hu-font-sans);\n font-size: var(--hu-font-size-base);\n line-height: var(--hu-line-height);\n color: var(--hu-text);\n background: var(--hu-bg);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n/* Focus ring */\n.hu-focus:focus-visible {\n outline: 2px solid var(--hu-primary);\n outline-offset: 2px;\n}\n\n/* Screen-reader only */\n.hu-sr-only {\n position: absolute; width: 1px; height: 1px; padding: 0;\n margin: -1px; overflow: hidden; clip: rect(0,0,0,0);\n white-space: nowrap; border: 0;\n}\n\n/* Animations */\n@keyframes hu-spin { to { transform: rotate(360deg); } }\n@keyframes hu-pulse { 0%,100%{opacity:1} 50%{opacity:.5} }\n@keyframes hu-ping { 75%,100%{transform:scale(2);opacity:0} }\n@keyframes hu-bounce { 0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)} 50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)} }\n@keyframes hu-fade-in { from{opacity:0} to{opacity:1} }\n@keyframes hu-fade-out { from{opacity:1} to{opacity:0} }\n@keyframes hu-slide-up { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }\n@keyframes hu-slide-down { from{opacity:0;transform:translateY(-8px)} to{opacity:1;transform:translateY(0)} }\n@keyframes hu-slide-in-right { from{opacity:0;transform:translateX(100%)} to{opacity:1;transform:translateX(0)} }\n@keyframes hu-slide-in-left { from{opacity:0;transform:translateX(-100%)} to{opacity:1;transform:translateX(0)} }\n@keyframes hu-scale-in { from{opacity:0;transform:scale(.95)} to{opacity:1;transform:scale(1)} }\n@keyframes hu-shimmer { from{background-position:-200% 0} to{background-position:200% 0} }\n";
10
+ export declare const BASE_CSS = "\n/* ------------------------------------------------------------------ */\n/* HyperUI Design Tokens */\n/* ------------------------------------------------------------------ */\n:root {\n /* Radius */\n --hu-radius-xs: 3px;\n --hu-radius-sm: 5px;\n --hu-radius: 8px;\n --hu-radius-md: 10px;\n --hu-radius-lg: 14px;\n --hu-radius-xl: 20px;\n --hu-radius-full: 9999px;\n\n /* Spacing (4-pt grid) */\n --hu-space-1: 4px;\n --hu-space-2: 8px;\n --hu-space-3: 12px;\n --hu-space-4: 16px;\n --hu-space-5: 20px;\n --hu-space-6: 24px;\n --hu-space-8: 32px;\n --hu-space-10: 40px;\n --hu-space-12: 48px;\n --hu-space-16: 64px;\n --hu-density-scale: 1;\n\n /* Typography */\n --hu-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n --hu-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, \"Liberation Mono\", monospace;\n --hu-font-size-xs: 11px;\n --hu-font-size-sm: 13px;\n --hu-font-size-base: 14px;\n --hu-font-size-md: 15px;\n --hu-font-size-lg: 18px;\n --hu-font-size-xl: 22px;\n --hu-font-size-2xl: 28px;\n --hu-font-size-3xl: 36px;\n --hu-line-height: 1.5;\n --hu-font-weight-normal: 400;\n --hu-font-weight-medium: 500;\n --hu-font-weight-semibold: 600;\n --hu-font-weight-bold: 700;\n\n /* Colours \u2014 Light */\n --hu-bg: #ffffff;\n --hu-bg-2: #f8fafc;\n --hu-bg-3: #f1f5f9;\n --hu-bg-4: #e8edf5;\n --hu-border: #e2e8f0;\n --hu-border-2: #cbd5e1;\n --hu-text: #0f172a;\n --hu-text-2: #475569;\n --hu-text-3: #94a3b8;\n --hu-text-inv: #ffffff;\n\n /* Primary \u2014 Indigo */\n --hu-primary: #6366f1;\n --hu-primary-dk: #4f46e5;\n --hu-primary-lt: #818cf8;\n --hu-primary-bg: #eef2ff;\n --hu-primary-text: #ffffff;\n\n /* Semantic */\n --hu-success: #22c55e;\n --hu-success-bg: #f0fdf4;\n --hu-success-text:#15803d;\n --hu-warning: #f59e0b;\n --hu-warning-bg: #fffbeb;\n --hu-warning-text:#92400e;\n --hu-error: #ef4444;\n --hu-error-bg: #fef2f2;\n --hu-error-text: #b91c1c;\n --hu-info: #3b82f6;\n --hu-info-bg: #eff6ff;\n --hu-info-text: #1d4ed8;\n\n /* Shadows */\n --hu-shadow-xs: 0 1px 2px rgb(0 0 0/6%);\n --hu-shadow-sm: 0 1px 3px rgb(0 0 0/8%), 0 1px 2px rgb(0 0 0/4%);\n --hu-shadow: 0 4px 6px -1px rgb(0 0 0/8%), 0 2px 4px -2px rgb(0 0 0/4%);\n --hu-shadow-md: 0 10px 15px -3px rgb(0 0 0/8%), 0 4px 6px -4px rgb(0 0 0/4%);\n --hu-shadow-lg: 0 20px 25px -5px rgb(0 0 0/8%), 0 8px 10px -6px rgb(0 0 0/4%);\n --hu-shadow-xl: 0 25px 50px -12px rgb(0 0 0/20%);\n\n /* Overlays */\n --hu-overlay: rgb(0 0 0/50%);\n\n /* Transitions */\n --hu-duration-fast: 100ms;\n --hu-duration: 150ms;\n --hu-duration-slow: 250ms;\n --hu-ease: cubic-bezier(0.4, 0, 0.2, 1);\n --hu-ease-in: cubic-bezier(0.4, 0, 1, 1);\n --hu-ease-out: cubic-bezier(0, 0, 0.2, 1);\n --hu-ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);\n\n /* Z-index */\n --hu-z-dropdown: 1000;\n --hu-z-sticky: 1020;\n --hu-z-fixed: 1030;\n --hu-z-backdrop: 1040;\n --hu-z-modal: 1050;\n --hu-z-popover: 1060;\n --hu-z-tooltip: 1070;\n --hu-z-toast: 1080;\n}\n\n/* Dark mode */\n[data-theme=\"dark\"], .hu-dark {\n --hu-bg: #0a0a0f;\n --hu-bg-2: #111118;\n --hu-bg-3: #1a1a24;\n --hu-bg-4: #22222f;\n --hu-border: #2a2a38;\n --hu-border-2: #3a3a4a;\n --hu-text: #f0f0ff;\n --hu-text-2: #a0a0c0;\n --hu-text-3: #606080;\n --hu-text-inv: #0a0a0f;\n\n --hu-primary: #818cf8;\n --hu-primary-dk: #6366f1;\n --hu-primary-lt: #a5b4fc;\n --hu-primary-bg: #1e1b4b30;\n --hu-primary-text: #ffffff;\n\n --hu-success: #4ade80;\n --hu-success-bg: #052e16;\n --hu-success-text:#86efac;\n --hu-warning: #fbbf24;\n --hu-warning-bg: #1c1500;\n --hu-warning-text:#fde68a;\n --hu-error: #f87171;\n --hu-error-bg: #1f0505;\n --hu-error-text: #fca5a5;\n --hu-info: #60a5fa;\n --hu-info-bg: #030d1a;\n --hu-info-text: #93c5fd;\n\n --hu-shadow-xs: 0 1px 2px rgb(0 0 0/30%);\n --hu-shadow-sm: 0 1px 3px rgb(0 0 0/40%), 0 1px 2px rgb(0 0 0/24%);\n --hu-shadow: 0 4px 6px -1px rgb(0 0 0/40%), 0 2px 4px -2px rgb(0 0 0/24%);\n --hu-shadow-md: 0 10px 15px -3px rgb(0 0 0/40%), 0 4px 6px -4px rgb(0 0 0/24%);\n --hu-shadow-lg: 0 20px 25px -5px rgb(0 0 0/40%), 0 8px 10px -6px rgb(0 0 0/24%);\n --hu-shadow-xl: 0 25px 50px -12px rgb(0 0 0/60%);\n\n --hu-overlay: rgb(0 0 0/70%);\n}\n\n/* Base reset */\n*, *::before, *::after { box-sizing: border-box; }\n[data-hu-root] {\n font-family: var(--hu-font-sans);\n font-size: var(--hu-font-size-base);\n line-height: var(--hu-line-height);\n color: var(--hu-text);\n background: var(--hu-bg);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n/* Focus ring */\n.hu-focus:focus-visible {\n outline: 2px solid var(--hu-primary);\n outline-offset: 2px;\n}\n\n/* Screen-reader only */\n.hu-sr-only {\n position: absolute; width: 1px; height: 1px; padding: 0;\n margin: -1px; overflow: hidden; clip: rect(0,0,0,0);\n white-space: nowrap; border: 0;\n}\n\n/* Animations */\n@keyframes hu-spin { to { transform: rotate(360deg); } }\n@keyframes hu-pulse { 0%,100%{opacity:1} 50%{opacity:.5} }\n@keyframes hu-ping { 75%,100%{transform:scale(2);opacity:0} }\n@keyframes hu-bounce { 0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)} 50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)} }\n@keyframes hu-fade-in { from{opacity:0} to{opacity:1} }\n@keyframes hu-fade-out { from{opacity:1} to{opacity:0} }\n@keyframes hu-slide-up { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }\n@keyframes hu-slide-down { from{opacity:0;transform:translateY(-8px)} to{opacity:1;transform:translateY(0)} }\n@keyframes hu-slide-in-right { from{opacity:0;transform:translateX(100%)} to{opacity:1;transform:translateX(0)} }\n@keyframes hu-slide-in-left { from{opacity:0;transform:translateX(-100%)} to{opacity:1;transform:translateX(0)} }\n@keyframes hu-scale-in { from{opacity:0;transform:scale(.95)} to{opacity:1;transform:scale(1)} }\n@keyframes hu-shimmer { from{background-position:-200% 0} to{background-position:200% 0} }\n";
11
11
  export interface HyperUIConfig {
12
12
  theme?: "light" | "dark" | "system";
13
+ density?: "compact" | "default" | "comfortable";
14
+ direction?: "ltr" | "rtl";
13
15
  primaryColor?: string;
14
16
  radius?: string;
15
17
  fontFamily?: string;
@@ -22,10 +24,7 @@ export interface HyperUIConfig {
22
24
  */
23
25
  export declare function initHyperUI(config?: HyperUIConfig): void;
24
26
  export declare function cn(...classes: (string | false | null | undefined)[]): string;
25
- export interface VNode {
26
- type: string | symbol | ((...args: unknown[]) => unknown);
27
- props: Record<string, unknown>;
28
- children: unknown[];
29
- }
27
+ import type { VNode } from "@hyperpackai/hyperion";
28
+ export type { VNode };
30
29
  export declare function h(type: VNode["type"], props: Record<string, unknown> | null, ...children: unknown[]): VNode;
31
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAOvD;AAMD,eAAO,MAAM,QAAQ,i1MA2LpB,CAAC;AAMF,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,GAAE,aAAkB,GAAG,IAAI,CA8B5D;AAMD,wBAAgB,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAAG,MAAM,CAE5E;AAMD,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC;IAC1D,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,wBAAgB,CAAC,CACf,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACrC,GAAG,QAAQ,EAAE,OAAO,EAAE,GACrB,KAAK,CAIP"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAQvD;AAMD,eAAO,MAAM,QAAQ,22MA4LpB,CAAC;AAMF,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;IAChD,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,GAAE,aAAkB,GAAG,IAAI,CAiC5D;AAiCD,wBAAgB,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAAG,MAAM,CAE5E;AAMD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,YAAY,EAAE,KAAK,EAAE,CAAC;AAEtB,wBAAgB,CAAC,CACf,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACrC,GAAG,QAAQ,EAAE,OAAO,EAAE,GACrB,KAAK,CAIP"}
@@ -14,6 +14,8 @@ export function injectCSS(id, css) {
14
14
  if (typeof document === "undefined" || _injected.has(id))
15
15
  return;
16
16
  const el = document.createElement("style");
17
+ if (!el || typeof el.setAttribute !== "function" || !document.head?.appendChild)
18
+ return;
17
19
  el.setAttribute("data-hu", id);
18
20
  el.textContent = css;
19
21
  document.head.appendChild(el);
@@ -47,6 +49,7 @@ export const BASE_CSS = `
47
49
  --hu-space-10: 40px;
48
50
  --hu-space-12: 48px;
49
51
  --hu-space-16: 64px;
52
+ --hu-density-scale: 1;
50
53
 
51
54
  /* Typography */
52
55
  --hu-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
@@ -222,6 +225,8 @@ export function initHyperUI(config = {}) {
222
225
  if (!root)
223
226
  return;
224
227
  root.setAttribute("data-hu-root", "");
228
+ root.setAttribute("data-hu-density", config.density ?? "default");
229
+ root.setAttribute("dir", config.direction ?? "ltr");
225
230
  // Apply custom overrides
226
231
  if (config.primaryColor) {
227
232
  root.style.setProperty("--hu-primary", config.primaryColor);
@@ -232,6 +237,7 @@ export function initHyperUI(config = {}) {
232
237
  if (config.fontFamily) {
233
238
  root.style.setProperty("--hu-font-sans", config.fontFamily);
234
239
  }
240
+ applyDensity(config.density ?? "default", root);
235
241
  // Theme
236
242
  const theme = config.theme ?? "system";
237
243
  if (theme === "system") {
@@ -245,6 +251,30 @@ export function initHyperUI(config = {}) {
245
251
  root.setAttribute("data-theme", theme);
246
252
  }
247
253
  }
254
+ function applyDensity(density, root) {
255
+ const scale = density === "compact" ? 0.85 : density === "comfortable" ? 1.15 : 1;
256
+ root.style.setProperty("--hu-density-scale", String(scale));
257
+ if (scale === 1)
258
+ return;
259
+ const space = (px) => `${Math.round(px * scale)}px`;
260
+ root.style.setProperty("--hu-space-1", space(4));
261
+ root.style.setProperty("--hu-space-2", space(8));
262
+ root.style.setProperty("--hu-space-3", space(12));
263
+ root.style.setProperty("--hu-space-4", space(16));
264
+ root.style.setProperty("--hu-space-5", space(20));
265
+ root.style.setProperty("--hu-space-6", space(24));
266
+ root.style.setProperty("--hu-space-8", space(32));
267
+ root.style.setProperty("--hu-space-10", space(40));
268
+ root.style.setProperty("--hu-space-12", space(48));
269
+ root.style.setProperty("--hu-space-16", space(64));
270
+ const fontScale = Math.min(Math.max(scale, 0.9), 1.1);
271
+ const font = (px) => `${Math.max(10, Math.round(px * fontScale))}px`;
272
+ root.style.setProperty("--hu-font-size-xs", font(11));
273
+ root.style.setProperty("--hu-font-size-sm", font(13));
274
+ root.style.setProperty("--hu-font-size-base", font(14));
275
+ root.style.setProperty("--hu-font-size-md", font(15));
276
+ root.style.setProperty("--hu-font-size-lg", font(18));
277
+ }
248
278
  // ---------------------------------------------------------------------------
249
279
  // Utility — merge class names (handles undefined/false gracefully)
250
280
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tokens/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tokens/index.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,17 @@ function buildCSSVars(overrides, dark) {
66
66
  base["--hu-space-4"] = scale(16);
67
67
  base["--hu-space-5"] = scale(20);
68
68
  base["--hu-space-6"] = scale(24);
69
+ base["--hu-space-8"] = scale(32);
70
+ base["--hu-space-10"] = scale(40);
71
+ base["--hu-space-12"] = scale(48);
72
+ base["--hu-space-16"] = scale(64);
73
+ const fontScale = (px) => `${Math.max(10, Math.round(px * Math.min(Math.max(d, 0.9), 1.1)))}px`;
74
+ base["--hu-font-size-xs"] = fontScale(11);
75
+ base["--hu-font-size-sm"] = fontScale(13);
76
+ base["--hu-font-size-base"] = fontScale(14);
77
+ base["--hu-font-size-md"] = fontScale(15);
78
+ base["--hu-font-size-lg"] = fontScale(18);
79
+ base["--hu-density-scale"] = String(d);
69
80
  }
70
81
  // Dark mode overrides
71
82
  if (dark) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hyperpackai/hyperui",
3
- "version": "0.1.0",
4
- "description": "HyperUI \u2014 rich, accessible, enterprise-grade component library for Hyperion with full design token system.",
3
+ "version": "0.3.0",
4
+ "description": "HyperUI rich, accessible, enterprise-grade component library for Hyperion with full design token system.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
@@ -53,10 +53,15 @@
53
53
  ],
54
54
  "scripts": {
55
55
  "build": "tsc -b",
56
+ "publish:check": "npm run build && node scripts/publish-readiness.mjs",
57
+ "bench": "npm run build && node scripts/benchmark.mjs",
58
+ "bench:check": "npm run build && node scripts/benchmark.mjs --enforce",
59
+ "bench:browser": "npm --prefix ../hyperion run build && npm run build && node scripts/benchmark-browser.mjs",
60
+ "bench:browser:check": "npm --prefix ../hyperion run build && npm run build && node scripts/benchmark-browser.mjs --enforce",
56
61
  "dev": "tsc -b --watch"
57
62
  },
58
63
  "peerDependencies": {
59
- "@hyperpackai/hyperion": "^0.1.0"
64
+ "@hyperpackai/hyperion": ">=0.1.0"
60
65
  },
61
66
  "publishConfig": {
62
67
  "access": "public",