@sky.ui/core 0.0.23 → 0.0.25

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 (107) hide show
  1. package/dist/custom-elements.json +1299 -1299
  2. package/dist/helper/controllers/animation-controller.js.map +1 -1
  3. package/dist/helper/controllers/index.js +2 -0
  4. package/dist/helper/controllers/index.js.map +1 -0
  5. package/dist/helper/controllers/popover-controller.js +1 -1
  6. package/dist/helper/controllers/popover-controller.js.map +1 -1
  7. package/dist/helper/form-control-base.js +2 -0
  8. package/dist/helper/form-control-base.js.map +1 -0
  9. package/dist/helper/iconify-offline.js.map +1 -1
  10. package/dist/helper/index.js +2 -0
  11. package/dist/helper/index.js.map +1 -0
  12. package/dist/helper/internals/form-control-base.js +1 -1
  13. package/dist/helper/internals/form-control-base.js.map +1 -1
  14. package/dist/helper/internals/index.js +2 -0
  15. package/dist/helper/internals/index.js.map +1 -0
  16. package/dist/helper/utils/color-resolver.js.map +1 -1
  17. package/dist/helper/utils/index.js +2 -0
  18. package/dist/helper/utils/index.js.map +1 -0
  19. package/dist/helper/utils/size-resolver.js.map +1 -1
  20. package/dist/sky-alert/index.js.map +1 -0
  21. package/dist/sky-alert/sky-alert.js +45 -45
  22. package/dist/sky-alert/sky-alert.js.map +1 -1
  23. package/dist/sky-appbar/index.js.map +1 -0
  24. package/dist/sky-appbar/sky-appbar.js +30 -30
  25. package/dist/sky-appbar/sky-appbar.js.map +1 -1
  26. package/dist/sky-avatar/index.js.map +1 -0
  27. package/dist/sky-avatar/sky-avatar.js +25 -25
  28. package/dist/sky-avatar/sky-avatar.js.map +1 -1
  29. package/dist/sky-badge/index.js.map +1 -0
  30. package/dist/sky-badge/sky-badge.d.ts +1 -1
  31. package/dist/sky-badge/sky-badge.js +27 -27
  32. package/dist/sky-badge/sky-badge.js.map +1 -1
  33. package/dist/sky-button/index.js.map +1 -0
  34. package/dist/sky-button/sky-button.js +25 -25
  35. package/dist/sky-button/sky-button.js.map +1 -1
  36. package/dist/sky-card/index.js.map +1 -0
  37. package/dist/sky-card/sky-card.js +22 -22
  38. package/dist/sky-card/sky-card.js.map +1 -1
  39. package/dist/sky-checkbox/index.js.map +1 -0
  40. package/dist/sky-checkbox/sky-checkbox.d.ts +2 -2
  41. package/dist/sky-checkbox/sky-checkbox.js +43 -43
  42. package/dist/sky-checkbox/sky-checkbox.js.map +1 -1
  43. package/dist/sky-chip/index.js.map +1 -0
  44. package/dist/sky-chip/sky-chip.js +35 -35
  45. package/dist/sky-chip/sky-chip.js.map +1 -1
  46. package/dist/sky-col/index.js.map +1 -0
  47. package/dist/sky-col/sky-col.js +7 -7
  48. package/dist/sky-col/sky-col.js.map +1 -1
  49. package/dist/sky-combobox/index.js.map +1 -0
  50. package/dist/sky-combobox/sky-combobox.d.ts +2 -2
  51. package/dist/sky-combobox/sky-combobox.js +244 -244
  52. package/dist/sky-combobox/sky-combobox.js.map +1 -1
  53. package/dist/sky-dialog/index.js.map +1 -0
  54. package/dist/sky-dialog/sky-dialog.js +43 -43
  55. package/dist/sky-dialog/sky-dialog.js.map +1 -1
  56. package/dist/sky-divider/index.js.map +1 -0
  57. package/dist/sky-divider/sky-divider.js +16 -16
  58. package/dist/sky-divider/sky-divider.js.map +1 -1
  59. package/dist/sky-flexbox/index.js.map +1 -0
  60. package/dist/sky-flexbox/sky-flexbox.js +9 -9
  61. package/dist/sky-flexbox/sky-flexbox.js.map +1 -1
  62. package/dist/sky-flexcol/index.js.map +1 -0
  63. package/dist/sky-flexcol/sky-flexcol.js +2 -2
  64. package/dist/sky-flexcol/sky-flexcol.js.map +1 -1
  65. package/dist/sky-form/index.js.map +1 -0
  66. package/dist/sky-form/sky-form.js +12 -12
  67. package/dist/sky-form/sky-form.js.map +1 -1
  68. package/dist/sky-grid/index.js.map +1 -0
  69. package/dist/sky-grid/sky-grid.js +6 -6
  70. package/dist/sky-grid/sky-grid.js.map +1 -1
  71. package/dist/sky-icon/index.js.map +1 -0
  72. package/dist/sky-icon/sky-icon.js +13 -13
  73. package/dist/sky-icon/sky-icon.js.map +1 -1
  74. package/dist/sky-image/index.js.map +1 -0
  75. package/dist/sky-image/sky-image.js +21 -21
  76. package/dist/sky-image/sky-image.js.map +1 -1
  77. package/dist/sky-image/srcset-utils.js.map +1 -1
  78. package/dist/sky-input/index.js.map +1 -0
  79. package/dist/sky-input/sky-input.d.ts +2 -2
  80. package/dist/sky-input/sky-input.js +225 -225
  81. package/dist/sky-input/sky-input.js.map +1 -1
  82. package/dist/sky-list/index.js.map +1 -0
  83. package/dist/sky-list/sky-list.js +6 -6
  84. package/dist/sky-list/sky-list.js.map +1 -1
  85. package/dist/sky-listitem/index.js.map +1 -0
  86. package/dist/sky-listitem/sky-listitem.js +31 -31
  87. package/dist/sky-listitem/sky-listitem.js.map +1 -1
  88. package/dist/sky-radio/index.js.map +1 -0
  89. package/dist/sky-radio/sky-radio.d.ts +2 -2
  90. package/dist/sky-radio/sky-radio.js +27 -27
  91. package/dist/sky-radio/sky-radio.js.map +1 -1
  92. package/dist/sky-row/index.js.map +1 -0
  93. package/dist/sky-row/sky-row.js +2 -2
  94. package/dist/sky-row/sky-row.js.map +1 -1
  95. package/dist/sky-sheet/index.js.map +1 -0
  96. package/dist/sky-sheet/sky-sheet.js +2 -2
  97. package/dist/sky-sheet/sky-sheet.js.map +1 -1
  98. package/dist/sky-simple-table/index.js.map +1 -0
  99. package/dist/sky-simple-table/sky-simple-table.js +34 -34
  100. package/dist/sky-simple-table/sky-simple-table.js.map +1 -1
  101. package/dist/sky-theme-provider/index.js.map +1 -0
  102. package/dist/sky-theme-provider/sky-theme-provider.js +2 -2
  103. package/dist/sky-theme-provider/sky-theme-provider.js.map +1 -1
  104. package/package.json +2 -2
  105. package/plugins/rollup-plugin.d.ts +5 -8
  106. package/plugins/vite-plugin.d.ts +5 -8
  107. package/plugins/webpack-plugin.d.ts +3 -7
@@ -1 +1 @@
1
- {"version":3,"file":"sky-theme-provider.js","sources":["../../src/sky-theme-provider/sky-theme-provider.ts"],"sourcesContent":[null],"names":["defaultTheme","light","glass","baseColor","opacities","primary","secondary","tertiary","solid","overlay","color","glassHover","opacity","fontFamily","fontFamilyMono","fontSize","xs","sm","md","lg","xl","fontWeight","thin","normal","medium","semibold","bold","extrabold","lineHeight","tight","snug","relaxed","loose","letterSpacing","tighter","wide","wider","spacing","px","background","foreground","active","success","warning","danger","info","blur","radius","full","boxshadow","inset","hover","brightness","saturation","separator","border","glassSurface","top","bottom","motion","duration","instant","fast","slow","ease","default","in","out","inOut","bounce","zIndex","base","dropdown","sticky","fixed","modal","popover","toast","max","disabled","muted","subtle","dark","getThemePreference","localStorage","v","getItem","resolveActualTheme","pref","window","matchMedia","matches","getCurrentTheme","document","documentElement","getAttribute","onThemeChange","cb","handler","e","mode","preference","detail","undefined","addEventListener","queueMicrotask","removeEventListener","deepMerge","target","source","t","Array","isArray","k","sv","mergeTheme","userTheme","clampAlpha","alpha","fallback","value","Number","isFinite","Math","min","clampPercent","round","isOKLCH","test","trim","toOKLCH","hexOrOKLCH","toOKLCHAlpha","safeAlpha","alphaPct","includes","replace","mixOKLCH","colorA","amountA","colorB","withPseudoSelectors","selector","pseudo","split","map","part","join","buildNativeScrollbarCSS","buildVarCSS","vars","Object","entries","ensureStyleTag","id","cssText","tag","getElementById","createElement","head","appendChild","textContent","themeContext","createContext","SkyThemeProvider","LitElement","constructor","this","scope","persist","broadcast","media","globalStyleId","hostScrollbarStyleId","hostSheet","hostStyleEl","rootVarsStyleId","onSystemChange","applyVariables","pushContext","dispatchEvent","CustomEvent","bubbles","composed","styles","css","connectedCallback","super","setupSystemWatcher","disconnectedCallback","parentNode","removeChild","s","remove","hostScrollbar","firstUpdated","updated","changedProperties","has","willUpdate","changed","prefChanged","scopeChanged","userThemeChanged","modeChanged","nextMode","hydrated","hasUpdated","hostThemeChanged","broadcastTheme","setRootThemeAttrs","de","toggleAttribute","setAttribute","style","colorScheme","classList","toggle","setPreference","setItem","togglePreference","current","next","ensureGlobalStyle","applyHostNativeScrollbars","enabled","theme","isDark","set","fontSans","fontMono","textSteps","quaternary","quinary","forEach","level","pct","baseShades","op","glassShadeAnchor","glassShadeSteps","glassPrimaryShade","glassSecondaryShade","glassTertiaryShade","glassStrengthFallback","glassStrength","glassSurfaceTopAlpha","glassSurfaceBottomAlpha","String","scrollbar","track","thumb","thumbHover","semanticColors","key","getFontSize","getLineHeight","fontPresets","size","line","sizeVal","lineVal","roleMap","body","weight","label","caption","title","heading","display","getFontWeight","role","cfg","weightVal","generateVarMap","Document","prototype","CSSStyleSheet","renderRoot","adoptedStyleSheets","replaceSync","removeProperty","mergedTheme","_ctx","render","html","__decorate","property","type","reflect","state","provide","context","Boolean","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"sky-theme-provider.js","sources":["../../src/sky-theme-provider/sky-theme-provider.ts"],"sourcesContent":["import { LitElement, html, css } from \"lit\";\r\nimport { customElement, property, state } from \"lit/decorators.js\";\r\nimport { createContext, provide } from \"@lit/context\";\r\n\r\nexport interface ThemeConfig {\r\n light: ThemeModeConfig;\r\n dark: ThemeModeConfig;\r\n}\r\nexport type ThemePreference = \"light\" | \"dark\" | \"system\";\r\nexport type PartialTheme = Partial<ThemeConfig>;\r\n\r\n/** Extended ThemeModeConfig: added typography & spacing tokens */\r\nexport interface ThemeModeConfig {\r\n glass: {\r\n baseColor: string;\r\n /** Optional per-level base shades; if omitted, secondary/tertiary are derived by mixing baseColor with foreground */\r\n baseShades?: {\r\n primary?: string;\r\n secondary?: string;\r\n tertiary?: string;\r\n };\r\n opacities: Record<\"primary\" | \"secondary\" | \"tertiary\" | \"solid\", number>;\r\n };\r\n glassHover: {\r\n color: string;\r\n opacity: Record<\"primary\" | \"secondary\" | \"tertiary\" | \"solid\", number>;\r\n };\r\n overlay: {\r\n color: string;\r\n opacities: Record<\"primary\" | \"secondary\" | \"tertiary\" | \"solid\", number>;\r\n };\r\n\r\n fontFamily: string;\r\n /** Monospace font stack; used for --sky-font-mono and bounded mono presets */\r\n fontFamilyMono?: string;\r\n\r\n /* typography scales & spacing */\r\n fontSize?: Record<\r\n \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"2xl\" | \"3xl\" | \"4xl\" | \"5xl\" | \"6xl\",\r\n string\r\n >;\r\n fontWeight?: Record<\r\n \"thin\" | \"light\" | \"normal\" | \"medium\" | \"semibold\" | \"bold\" | \"extrabold\",\r\n string\r\n >;\r\n lineHeight?: Record<\r\n \"tight\" | \"snug\" | \"normal\" | \"relaxed\" | \"loose\",\r\n string\r\n >;\r\n letterSpacing?: Record<\r\n \"tighter\" | \"tight\" | \"normal\" | \"wide\" | \"wider\",\r\n string\r\n >;\r\n glassSurface?: {\r\n top: number;\r\n bottom: number;\r\n };\r\n spacing?: Record<\r\n | \"0\"\r\n | \"px\"\r\n | \"0.5\"\r\n | \"1\"\r\n | \"1.5\"\r\n | \"2\"\r\n | \"2.5\"\r\n | \"3\"\r\n | \"3.5\"\r\n | \"4\"\r\n | \"5\"\r\n | \"6\"\r\n | \"8\"\r\n | \"10\"\r\n | \"12\"\r\n | \"16\"\r\n | \"20\"\r\n | \"24\"\r\n | \"32\"\r\n | \"40\"\r\n | \"48\"\r\n | \"56\"\r\n | \"64\",\r\n string\r\n >;\r\n\r\n /* Simplified color system - only primaries needed */\r\n color: {\r\n /* Only primary colors needed - everything else auto-generated */\r\n background: string;\r\n foreground: string;\r\n active: string;\r\n success: string;\r\n warning: string;\r\n danger: string;\r\n info: string;\r\n };\r\n\r\n /* Existing properties */\r\n blur: Record<\"primary\" | \"secondary\" | \"tertiary\", string>;\r\n radius: Record<\"primary\" | \"secondary\" | \"tertiary\" | \"full\", string>;\r\n boxshadow: Record<\r\n \"primary\" | \"secondary\" | \"tertiary\" | \"inset\" | \"hover\",\r\n string\r\n >;\r\n brightness: Record<\"primary\" | \"secondary\" | \"tertiary\", string>;\r\n saturation: Record<\"primary\" | \"secondary\" | \"tertiary\", string>;\r\n border: Record<\"primary\" | \"secondary\" | \"tertiary\", string>;\r\n separator: string;\r\n\r\n /** Motion: duration and easing for consistent, themeable transitions */\r\n motion?: {\r\n duration?: Record<\"instant\" | \"fast\" | \"normal\" | \"slow\", string>;\r\n ease?: Record<\"default\" | \"in\" | \"out\" | \"inOut\" | \"bounce\", string>;\r\n };\r\n /** Z-index scale for predictable stacking (dropdown, modal, toast, etc.) */\r\n zIndex?: Record<\r\n \"base\" | \"dropdown\" | \"sticky\" | \"fixed\" | \"modal\" | \"popover\" | \"toast\" | \"max\",\r\n number\r\n >;\r\n /** Opacity tokens for disabled/muted states */\r\n opacity?: Record<\"disabled\" | \"muted\" | \"subtle\", number>;\r\n /** Optional native scrollbar color tints; sizing stays platform-native. */\r\n scrollbar?: {\r\n thumb?: string;\r\n thumbHover?: string;\r\n track?: string;\r\n };\r\n}\r\n\r\nconst THEME_KEY = \"theme\";\r\n\r\n/* ---------- default theme (now with typography + spacing) ---------- */\r\nexport const defaultTheme: ThemeConfig = {\r\n light: {\r\n glass: {\r\n /* Lower opacity lets backdrop blur read; hierarchy still comes from shade mixing */\r\n baseColor: \"#F5F7FA\",\r\n opacities: { primary: 0.34, secondary: 0.34, tertiary: 0.34, solid: 1.0 },\r\n },\r\n overlay: {\r\n color: \"#F5F7FA\",\r\n opacities: { primary: 0.75, secondary: 0.33, tertiary: 0.19, solid: 1.0 },\r\n },\r\n glassHover: {\r\n color: \"#000000\",\r\n opacity: { primary: 0.08, secondary: 0.11, tertiary: 0.14, solid: 1.0 },\r\n },\r\n fontFamily: \"'SF Pro Text', 'Poppins', Arial, sans-serif\",\r\n fontFamilyMono: \"ui-monospace, 'SF Mono', 'Cascadia Code', Consolas, monospace\",\r\n fontSize: {\r\n xs: \"0.75rem\",\r\n sm: \"0.875rem\",\r\n md: \"1rem\",\r\n lg: \"1.125rem\",\r\n xl: \"1.25rem\",\r\n \"2xl\": \"1.5rem\",\r\n \"3xl\": \"1.875rem\",\r\n \"4xl\": \"2.25rem\",\r\n \"5xl\": \"3rem\",\r\n \"6xl\": \"3.75rem\",\r\n },\r\n fontWeight: {\r\n thin: \"100\",\r\n light: \"300\",\r\n normal: \"400\",\r\n medium: \"500\",\r\n semibold: \"600\",\r\n bold: \"700\",\r\n extrabold: \"800\",\r\n },\r\n lineHeight: {\r\n tight: \"1.1\",\r\n snug: \"1.25\",\r\n normal: \"1.5\",\r\n relaxed: \"1.75\",\r\n loose: \"2\",\r\n },\r\n letterSpacing: {\r\n tighter: \"-0.05em\",\r\n tight: \"-0.025em\",\r\n normal: \"0em\",\r\n wide: \"0.025em\",\r\n wider: \"0.05em\",\r\n },\r\n spacing: {\r\n \"0\": \"0px\",\r\n px: \"1px\",\r\n \"0.5\": \"0.125rem\",\r\n \"1\": \"0.25rem\",\r\n \"1.5\": \"0.375rem\",\r\n \"2\": \"0.5rem\",\r\n \"2.5\": \"0.625rem\",\r\n \"3\": \"0.75rem\",\r\n \"3.5\": \"0.875rem\",\r\n \"4\": \"1rem\",\r\n \"5\": \"1.25rem\",\r\n \"6\": \"1.5rem\",\r\n \"8\": \"2rem\",\r\n \"10\": \"2.5rem\",\r\n \"12\": \"3rem\",\r\n \"16\": \"4rem\",\r\n \"20\": \"5rem\",\r\n \"24\": \"6rem\",\r\n \"32\": \"8rem\",\r\n \"40\": \"10rem\",\r\n \"48\": \"12rem\",\r\n \"56\": \"14rem\",\r\n \"64\": \"16rem\",\r\n },\r\n\r\n /* Simplified color configuration - only primaries needed */\r\n color: {\r\n background: \"#FAFAFA\",\r\n foreground: \"#1A1A1A\",\r\n active: \"#0485f7\",\r\n success: \"#17C964\",\r\n warning: \"#F5A524\",\r\n danger: \"#Ff383c\",\r\n info: \"#9353D3\",\r\n },\r\n\r\n blur: { primary: \"10px\", secondary: \"20px\", tertiary: \"28px\" },\r\n radius: {\r\n primary: \"8px\",\r\n secondary: \"12px\",\r\n tertiary: \"16px\",\r\n full: \"9999px\",\r\n },\r\n boxshadow: {\r\n primary: \"0 6px 18px rgba(0,0,0,0.05)\",\r\n secondary: \"0 10px 28px rgba(0,0,0,0.08)\",\r\n tertiary: \"0 16px 40px rgba(0,0,0,0.10)\",\r\n inset:\r\n \"inset 0 1px 0 rgba(255,255,255,0.55), inset 0 -1px 0 rgba(0,0,0,0.04)\",\r\n hover: \"0 8px 24px rgba(0,0,0,0.10)\",\r\n },\r\n brightness: { primary: \"1.02\", secondary: \"1.06\", tertiary: \"1.08\" },\r\n saturation: { primary: \"1.05\", secondary: \"1.12\", tertiary: \"1.18\" },\r\n separator: \"rgba(0,0,0,0.10)\",\r\n border: {\r\n primary: \"1px solid rgba(0,0,0,0.10)\",\r\n secondary: \"1px solid rgba(0,0,0,0.08)\",\r\n tertiary: \"1px solid rgba(0,0,0,0.06)\",\r\n },\r\n glassSurface: { top: 0.24, bottom: 0.06 },\r\n motion: {\r\n duration: { instant: \"0ms\", fast: \"120ms\", normal: \"200ms\", slow: \"300ms\" },\r\n ease: {\r\n default: \"cubic-bezier(0.4, 0, 0.2, 1)\",\r\n in: \"cubic-bezier(0.4, 0, 1, 1)\",\r\n out: \"cubic-bezier(0, 0, 0.2, 1)\",\r\n inOut: \"cubic-bezier(0.4, 0, 0.2, 1)\",\r\n bounce: \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\r\n },\r\n },\r\n zIndex: {\r\n base: 0,\r\n dropdown: 1000,\r\n sticky: 1100,\r\n fixed: 1200,\r\n modal: 1300,\r\n popover: 1400,\r\n toast: 1500,\r\n max: 9999,\r\n },\r\n opacity: { disabled: 0.5, muted: 0.7, subtle: 0.85 },\r\n },\r\n\r\n dark: {\r\n glass: {\r\n /* Lower opacity keeps dark frosted panels translucent over the canvas */\r\n baseColor: \"#181A1B\",\r\n opacities: { primary: 0.40, secondary: 0.40, tertiary: 0.40, solid: 1.0 },\r\n },\r\n overlay: {\r\n color: \"#181A1B\",\r\n opacities: { primary: 0.75, secondary: 0.33, tertiary: 0.19, solid: 1.0 },\r\n },\r\n glassHover: {\r\n color: \"#FFFFFF\",\r\n opacity: { primary: 0.10, secondary: 0.14, tertiary: 0.18, solid: 1.0 },\r\n },\r\n fontFamily: \"'SF Pro Text', 'Poppins', Arial, sans-serif\",\r\n fontFamilyMono: \"ui-monospace, 'SF Mono', 'Cascadia Code', Consolas, monospace\",\r\n fontSize: {\r\n xs: \"0.75rem\",\r\n sm: \"0.875rem\",\r\n md: \"1rem\",\r\n lg: \"1.125rem\",\r\n xl: \"1.25rem\",\r\n \"2xl\": \"1.5rem\",\r\n \"3xl\": \"1.875rem\",\r\n \"4xl\": \"2.25rem\",\r\n \"5xl\": \"3rem\",\r\n \"6xl\": \"3.75rem\",\r\n },\r\n fontWeight: {\r\n thin: \"100\",\r\n light: \"300\",\r\n normal: \"400\",\r\n medium: \"500\",\r\n semibold: \"600\",\r\n bold: \"700\",\r\n extrabold: \"800\",\r\n },\r\n lineHeight: {\r\n tight: \"1.1\",\r\n snug: \"1.25\",\r\n normal: \"1.5\",\r\n relaxed: \"1.75\",\r\n loose: \"2\",\r\n },\r\n letterSpacing: {\r\n tighter: \"-0.05em\",\r\n tight: \"-0.025em\",\r\n normal: \"0em\",\r\n wide: \"0.025em\",\r\n wider: \"0.05em\",\r\n },\r\n spacing: {\r\n \"0\": \"0px\",\r\n px: \"1px\",\r\n \"0.5\": \"0.125rem\",\r\n \"1\": \"0.25rem\",\r\n \"1.5\": \"0.375rem\",\r\n \"2\": \"0.5rem\",\r\n \"2.5\": \"0.625rem\",\r\n \"3\": \"0.75rem\",\r\n \"3.5\": \"0.875rem\",\r\n \"4\": \"1rem\",\r\n \"5\": \"1.25rem\",\r\n \"6\": \"1.5rem\",\r\n \"8\": \"2rem\",\r\n \"10\": \"2.5rem\",\r\n \"12\": \"3rem\",\r\n \"16\": \"4rem\",\r\n \"20\": \"5rem\",\r\n \"24\": \"6rem\",\r\n \"32\": \"8rem\",\r\n \"40\": \"10rem\",\r\n \"48\": \"12rem\",\r\n \"56\": \"14rem\",\r\n \"64\": \"16rem\",\r\n },\r\n\r\n /* Simplified color configuration - only primaries needed */\r\n color: {\r\n background: \"#181A1B\",\r\n foreground: \"#E5E5E5\",\r\n active: \"#0485f7\",\r\n success: \"#17C964\",\r\n warning: \"#f7b750\",\r\n danger: \"#db3b3e\",\r\n info: \"#9353D3\",\r\n },\r\n\r\n blur: { primary: \"10px\", secondary: \"20px\", tertiary: \"28px\" },\r\n radius: {\r\n primary: \"8px\",\r\n secondary: \"12px\",\r\n tertiary: \"16px\",\r\n full: \"9999px\",\r\n },\r\n boxshadow: {\r\n primary: \"0 6px 18px rgba(0,0,0,0.28)\",\r\n secondary: \"0 10px 28px rgba(0,0,0,0.32)\",\r\n tertiary: \"0 16px 40px rgba(0,0,0,0.36)\",\r\n inset:\r\n \"inset 0 1px 0 rgba(255,255,255,0.10), inset 0 -1px 0 rgba(0,0,0,0.22)\",\r\n hover: \"0 8px 24px rgba(0,0,0,0.38)\",\r\n },\r\n brightness: { primary: \"1.0\", secondary: \"1.04\", tertiary: \"1.06\" },\r\n saturation: { primary: \"1.08\", secondary: \"1.15\", tertiary: \"1.22\" },\r\n separator: \"rgba(255,255,255,0.10)\",\r\n border: {\r\n primary: \"1px solid rgba(255,255,255,0.12)\",\r\n secondary: \"1px solid rgba(255,255,255,0.10)\",\r\n tertiary: \"1px solid rgba(255,255,255,0.08)\",\r\n },\r\n glassSurface: { top: 0.26, bottom: 0.08 },\r\n motion: {\r\n duration: { instant: \"0ms\", fast: \"120ms\", normal: \"200ms\", slow: \"300ms\" },\r\n ease: {\r\n default: \"cubic-bezier(0.4, 0, 0.2, 1)\",\r\n in: \"cubic-bezier(0.4, 0, 1, 1)\",\r\n out: \"cubic-bezier(0, 0, 0.2, 1)\",\r\n inOut: \"cubic-bezier(0.4, 0, 0.2, 1)\",\r\n bounce: \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\r\n },\r\n },\r\n zIndex: {\r\n base: 0,\r\n dropdown: 1000,\r\n sticky: 1100,\r\n fixed: 1200,\r\n modal: 1300,\r\n popover: 1400,\r\n toast: 1500,\r\n max: 9999,\r\n },\r\n opacity: { disabled: 0.5, muted: 0.7, subtle: 0.85 },\r\n },\r\n};\r\n\r\nexport function getThemePreference(): ThemePreference {\r\n try {\r\n if (typeof localStorage !== \"undefined\") {\r\n const v = localStorage.getItem(THEME_KEY) as ThemePreference | null;\r\n return v === \"light\" || v === \"dark\" || v === \"system\" ? v : \"system\";\r\n }\r\n } catch { }\r\n return \"system\";\r\n}\r\n\r\nexport function resolveActualTheme(pref: ThemePreference): \"light\" | \"dark\" {\r\n if (typeof window === \"undefined\") return \"light\";\r\n if (pref === \"system\") {\r\n try {\r\n if (window.matchMedia) {\r\n return window.matchMedia(\"(prefers-color-scheme: dark)\").matches\r\n ? \"dark\"\r\n : \"light\";\r\n }\r\n } catch { }\r\n return \"light\";\r\n }\r\n return pref;\r\n}\r\n\r\n/** Returns \"light\" | \"dark\" (prefers provider, falls back to system). SSR-safe: returns \"light\" when document is undefined. */\r\nexport function getCurrentTheme(): \"light\" | \"dark\" {\r\n if (typeof document === \"undefined\") return \"light\";\r\n const de = document.documentElement;\r\n const v = de.getAttribute(\"data-theme\");\r\n if (v === \"light\" || v === \"dark\") return v;\r\n return typeof matchMedia !== \"undefined\" && matchMedia(\"(prefers-color-scheme: dark)\").matches\r\n ? \"dark\"\r\n : \"light\";\r\n}\r\n\r\n/** Subscribe to theme changes. Returns an unsubscribe function. SSR-safe: returns no-op when window is undefined. */\r\nexport function onThemeChange(\r\n cb: (mode: \"light\" | \"dark\", preference?: ThemePreference) => void,\r\n) {\r\n if (typeof window === \"undefined\") return () => {};\r\n const handler = (e: Event) => {\r\n const { mode, preference } = (e as CustomEvent).detail || {};\r\n if (mode === \"light\" || mode === \"dark\") cb(mode, preference);\r\n else cb(getCurrentTheme(), undefined);\r\n };\r\n window.addEventListener(\"sky-theme\", handler);\r\n\r\n queueMicrotask(() => cb(getCurrentTheme(), undefined));\r\n return () => window.removeEventListener(\"sky-theme\", handler);\r\n}\r\n\r\nfunction deepMerge<T>(target: T, source: Partial<T>): T {\r\n const t: any = Array.isArray(target)\r\n ? [...(target as any)]\r\n : { ...(target as any) };\r\n for (const k in source) {\r\n const sv: any = (source as any)[k];\r\n if (sv && typeof sv === \"object\" && !Array.isArray(sv)) {\r\n t[k] = deepMerge((target as any)[k], sv);\r\n } else {\r\n t[k] = sv ?? (target as any)[k];\r\n }\r\n }\r\n return t;\r\n}\r\n\r\nexport function mergeTheme(userTheme: Partial<ThemeConfig>): ThemeConfig {\r\n return {\r\n light: deepMerge(defaultTheme.light, userTheme.light ?? {}),\r\n dark: deepMerge(defaultTheme.dark, userTheme.dark ?? {}),\r\n };\r\n}\r\n\r\n/* ---------- color & glass helpers ---------- */\r\n\r\nfunction clampAlpha(alpha: number | undefined, fallback = 1): number {\r\n const value =\r\n typeof alpha === \"number\" && Number.isFinite(alpha) ? alpha : fallback;\r\n\r\n return Math.max(0, Math.min(1, value));\r\n}\r\n\r\nfunction clampPercent(value: number): number {\r\n if (!Number.isFinite(value)) return 100;\r\n return Math.max(0, Math.min(100, Math.round(value)));\r\n}\r\n\r\nfunction isOKLCH(value: string): boolean {\r\n return /^oklch\\(\\s*[\\d.]+\\s+[\\d.]+\\s+[\\d.]+(?:deg)?(?:\\s*\\/\\s*[\\d.]+%?)?\\s*\\)$/i.test(\r\n value.trim(),\r\n );\r\n}\r\n\r\nfunction toOKLCH(hexOrOKLCH: string): string {\r\n if (isOKLCH(hexOrOKLCH)) return hexOrOKLCH;\r\n return hexOrOKLCH;\r\n}\r\n\r\nfunction toOKLCHAlpha(hexOrOKLCH: string, alpha: number): string {\r\n const safeAlpha = clampAlpha(alpha);\r\n const alphaPct = clampPercent(safeAlpha * 100);\r\n\r\n if (safeAlpha <= 0) return \"transparent\";\r\n if (safeAlpha >= 1) return toOKLCH(hexOrOKLCH);\r\n\r\n if (isOKLCH(hexOrOKLCH)) {\r\n const value = hexOrOKLCH.trim();\r\n\r\n return value.includes(\"/\")\r\n ? value\r\n : value.replace(/\\)$/, ` / ${alphaPct}%)`);\r\n }\r\n\r\n return `color-mix(in oklch, ${hexOrOKLCH} ${alphaPct}%, transparent)`;\r\n}\r\n\r\nfunction mixOKLCH(colorA: string, amountA: number, colorB: string): string {\r\n return `color-mix(in oklch, ${colorA} ${clampPercent(amountA)}%, ${colorB})`;\r\n}\r\n\r\n/**\r\n * generateVarMap emits typography & spacing tokens and semantic role tokens.\r\n *\r\n * Glass hierarchy is shade-based with optional per-tier fill opacity:\r\n * - primary = base/default glass shade\r\n * - secondary = raised/elevated glass shade\r\n * - tertiary = floating/modal/popover glass shade\r\n * - Fill strength: glass.opacities.primary | secondary | tertiary\r\n * (secondary/tertiary fall back to primary when omitted).\r\n */\r\nfunction generateVarMap(\r\n theme: ThemeModeConfig,\r\n isDark: boolean,\r\n): Record<string, string> {\r\n const out: Record<string, string> = {};\r\n\r\n const set = (k: string, v?: string) => {\r\n if (v != null) out[`--${k}`] = v;\r\n };\r\n\r\n /* ---------- base contrast tokens ---------- */\r\n\r\n set(\"sky-text-dark\", toOKLCH(isDark ? \"#FFFFFF\" : \"#0B1020\"));\r\n set(\"sky-text-light\", toOKLCH(isDark ? \"#030712\" : \"#FFFFFF\"));\r\n\r\n /* ---------- font family tokens ---------- */\r\n\r\n const fontSans = theme.fontFamily;\r\n const fontMono = theme.fontFamilyMono ?? \"ui-monospace, monospace\";\r\n\r\n set(\"sky-font\", fontSans);\r\n set(\"sky-font-sans\", fontSans);\r\n set(\"sky-font-mono\", fontMono);\r\n\r\n /* ---------- background + text tokens ---------- */\r\n\r\n set(\"sky-background-color\", toOKLCH(theme.color.background));\r\n set(\"sky-text-primary\", toOKLCH(theme.color.foreground));\r\n\r\n const textSteps: Record<\r\n \"secondary\" | \"tertiary\" | \"quaternary\" | \"quinary\",\r\n number\r\n > = isDark\r\n ? {\r\n secondary: 82,\r\n tertiary: 66,\r\n quaternary: 50,\r\n quinary: 36,\r\n }\r\n : {\r\n secondary: 76,\r\n tertiary: 60,\r\n quaternary: 44,\r\n quinary: 30,\r\n };\r\n\r\n Object.entries(textSteps).forEach(([level, pct]) => {\r\n set(\r\n `sky-text-${level}`,\r\n `color-mix(in oklch, var(--sky-text-primary) ${pct}%, var(--sky-background-color))`,\r\n );\r\n });\r\n\r\n [\"primary\", \"secondary\", \"tertiary\", \"quaternary\", \"quinary\"].forEach(\r\n (level) => {\r\n set(\r\n `sky-text-${level}-hover`,\r\n `color-mix(in oklch, var(--sky-text-${level}) 86%, var(--sky-text-dark))`,\r\n );\r\n },\r\n );\r\n\r\n /* ---------- shade-based glass generation ---------- */\r\n\r\n const { baseColor, baseShades, opacities: op } = theme.glass;\r\n\r\n const glassShadeAnchor = theme.color.foreground;\r\n\r\n const glassShadeSteps = isDark\r\n ? {\r\n primary: 96,\r\n secondary: 88,\r\n tertiary: 78,\r\n }\r\n : {\r\n primary: 96,\r\n secondary: 90,\r\n tertiary: 82,\r\n };\r\n\r\n const glassPrimaryShade =\r\n baseShades?.primary ??\r\n mixOKLCH(\r\n baseColor,\r\n glassShadeSteps.primary,\r\n glassShadeAnchor,\r\n );\r\n\r\n const glassSecondaryShade =\r\n baseShades?.secondary ??\r\n mixOKLCH(baseColor, glassShadeSteps.secondary, glassShadeAnchor);\r\n\r\n const glassTertiaryShade =\r\n baseShades?.tertiary ??\r\n mixOKLCH(baseColor, glassShadeSteps.tertiary, glassShadeAnchor);\r\n\r\n const glassStrengthFallback = isDark ? 0.4 : 0.34;\r\n const glassStrength = {\r\n primary: clampAlpha(op.primary, glassStrengthFallback),\r\n secondary: clampAlpha(\r\n op.secondary ?? op.primary,\r\n glassStrengthFallback\r\n ),\r\n tertiary: clampAlpha(op.tertiary ?? op.primary, glassStrengthFallback),\r\n // Solid surface fill (inputs / actions). Defaults fully opaque, but themes\r\n // can lower `opacities.solid` for a translucent \"frosted solid\" look.\r\n solid: clampAlpha(op.solid, 1),\r\n };\r\n\r\n set(\r\n \"sky-glass-primary\",\r\n toOKLCHAlpha(glassPrimaryShade, glassStrength.primary)\r\n );\r\n set(\r\n \"sky-glass-secondary\",\r\n toOKLCHAlpha(glassSecondaryShade, glassStrength.secondary)\r\n );\r\n set(\r\n \"sky-glass-tertiary\",\r\n toOKLCHAlpha(glassTertiaryShade, glassStrength.tertiary)\r\n );\r\n\r\n set(\"sky-glass-solid\", toOKLCHAlpha(baseColor, glassStrength.solid));\r\n\r\n const glassSurfaceTopAlpha = clampAlpha(\r\n theme.glassSurface?.top,\r\n isDark ? 0.26 : 0.24,\r\n );\r\n\r\n const glassSurfaceBottomAlpha = clampAlpha(\r\n theme.glassSurface?.bottom,\r\n isDark ? 0.08 : 0.06,\r\n );\r\n\r\n set(\r\n \"sky-glass-surface\",\r\n `linear-gradient(\r\n 180deg,\r\n ${toOKLCHAlpha(glassSecondaryShade, glassSurfaceTopAlpha)},\r\n ${toOKLCHAlpha(glassPrimaryShade, glassSurfaceBottomAlpha)}\r\n )`,\r\n );\r\n\r\n /* ---------- overlay tokens ---------- */\r\n\r\n Object.entries(theme.overlay.opacities).forEach(([k, v]) => {\r\n set(`sky-overlay-${k}`, toOKLCHAlpha(theme.overlay.color, v));\r\n });\r\n\r\n /* ---------- hover overlay tokens ---------- */\r\n\r\n Object.entries(theme.glassHover.opacity).forEach(([k, v]) => {\r\n set(`sky-hover-${k}`, toOKLCHAlpha(theme.glassHover.color, v));\r\n });\r\n\r\n /* ---------- border / radius / blur / effects ---------- */\r\n\r\n Object.entries(theme.border).forEach(([k, v]) => {\r\n set(`sky-border-${k}`, v);\r\n });\r\n\r\n Object.entries(theme.radius).forEach(([k, v]) => {\r\n set(`sky-radius-${k}`, v);\r\n });\r\n\r\n Object.entries(theme.blur).forEach(([k, v]) => {\r\n set(`sky-blur-${k}`, `blur(${v})`);\r\n });\r\n\r\n Object.entries(theme.brightness).forEach(([k, v]) => {\r\n set(`sky-brightness-${k}`, `brightness(${v})`);\r\n });\r\n\r\n Object.entries(theme.saturation).forEach(([k, v]) => {\r\n set(`sky-saturation-${k}`, `saturate(${v})`);\r\n });\r\n\r\n Object.entries(theme.boxshadow).forEach(([k, v]) => {\r\n set(`sky-box-shadow-${k}`, v);\r\n });\r\n\r\n set(\"sky-border-light\", theme.separator);\r\n\r\n /* ---------- motion tokens ---------- */\r\n\r\n Object.entries(theme.motion?.duration ?? {}).forEach(([k, v]) => {\r\n set(`sky-duration-${k}`, v);\r\n });\r\n\r\n Object.entries(theme.motion?.ease ?? {}).forEach(([k, v]) => {\r\n set(`sky-ease-${k}`, v);\r\n });\r\n\r\n set(\r\n \"sky-transition-default\",\r\n [\r\n \"background-color var(--sky-duration-normal, 200ms) var(--sky-ease-default, cubic-bezier(0.4, 0, 0.2, 1))\",\r\n \"border-color var(--sky-duration-normal, 200ms) var(--sky-ease-default, cubic-bezier(0.4, 0, 0.2, 1))\",\r\n \"color var(--sky-duration-normal, 200ms) var(--sky-ease-default, cubic-bezier(0.4, 0, 0.2, 1))\",\r\n \"box-shadow var(--sky-duration-normal, 200ms) var(--sky-ease-default, cubic-bezier(0.4, 0, 0.2, 1))\",\r\n \"transform var(--sky-duration-normal, 200ms) var(--sky-ease-default, cubic-bezier(0.4, 0, 0.2, 1))\",\r\n \"opacity var(--sky-duration-normal, 200ms) var(--sky-ease-default, cubic-bezier(0.4, 0, 0.2, 1))\",\r\n ].join(\", \"),\r\n );\r\n\r\n set(\r\n \"sky-transition-fast\",\r\n [\r\n \"background-color var(--sky-duration-fast, 120ms) var(--sky-ease-default, cubic-bezier(0.4, 0, 0.2, 1))\",\r\n \"border-color var(--sky-duration-fast, 120ms) var(--sky-ease-default, cubic-bezier(0.4, 0, 0.2, 1))\",\r\n \"color var(--sky-duration-fast, 120ms) var(--sky-ease-default, cubic-bezier(0.4, 0, 0.2, 1))\",\r\n \"box-shadow var(--sky-duration-fast, 120ms) var(--sky-ease-default, cubic-bezier(0.4, 0, 0.2, 1))\",\r\n \"opacity var(--sky-duration-fast, 120ms) var(--sky-ease-default, cubic-bezier(0.4, 0, 0.2, 1))\",\r\n ].join(\", \"),\r\n );\r\n\r\n /* ---------- z-index tokens ---------- */\r\n\r\n Object.entries(theme.zIndex ?? {}).forEach(([k, v]) => {\r\n set(`sky-z-${k}`, String(v));\r\n });\r\n\r\n /* ---------- opacity tokens ---------- */\r\n\r\n Object.entries(theme.opacity ?? {}).forEach(([k, v]) => {\r\n set(`sky-opacity-${k}`, String(v));\r\n });\r\n\r\n /* ---------- native scrollbar color tokens (size stays OS-native) ---------- */\r\n\r\n const scrollbar = theme.scrollbar;\r\n set(\"sky-scrollbar-track\", scrollbar?.track ?? \"transparent\");\r\n set(\r\n \"sky-scrollbar-thumb\",\r\n scrollbar?.thumb ??\r\n (isDark\r\n ? \"color-mix(in oklch, var(--sky-text-tertiary) 78%, transparent)\"\r\n : \"color-mix(in oklch, var(--sky-text-tertiary) 68%, transparent)\"),\r\n );\r\n set(\r\n \"sky-scrollbar-thumb-hover\",\r\n scrollbar?.thumbHover ??\r\n (isDark\r\n ? \"color-mix(in oklch, var(--sky-text-secondary) 52%, var(--sky-active-primary))\"\r\n : \"color-mix(in oklch, var(--sky-text-secondary) 44%, var(--sky-active-primary))\"),\r\n );\r\n\r\n /* ---------- text shadow ---------- */\r\n\r\n set(\r\n \"sky-text-shadow-on-glass\",\r\n isDark\r\n ? \"0 1px 2px rgba(0,0,0,0.45)\"\r\n : \"0 1px 1px rgba(255,255,255,0.55)\",\r\n );\r\n\r\n /* ---------- semantic color scales ---------- */\r\n\r\n const semanticColors = [\r\n \"active\",\r\n \"success\",\r\n \"warning\",\r\n \"danger\",\r\n \"info\",\r\n ] as const;\r\n\r\n semanticColors.forEach((key) => {\r\n const baseColor = theme.color[key];\r\n\r\n set(`sky-${key}-primary`, baseColor);\r\n\r\n set(\r\n `sky-${key}-secondary`,\r\n `color-mix(in oklch, var(--sky-${key}-primary) 82%, var(--sky-background-color))`,\r\n );\r\n\r\n set(\r\n `sky-${key}-tertiary`,\r\n `color-mix(in oklch, var(--sky-${key}-primary) 62%, var(--sky-background-color))`,\r\n );\r\n\r\n set(\r\n `sky-${key}-quaternary`,\r\n `color-mix(in oklch, var(--sky-${key}-primary) 42%, var(--sky-background-color))`,\r\n );\r\n\r\n set(\r\n `sky-${key}-quinary`,\r\n `color-mix(in oklch, var(--sky-${key}-primary) 24%, var(--sky-background-color))`,\r\n );\r\n\r\n set(\r\n `sky-${key}-primary-dark`,\r\n `color-mix(in oklch, var(--sky-${key}-primary) 88%, var(--sky-text-dark))`,\r\n );\r\n\r\n set(\r\n `sky-${key}-secondary-dark`,\r\n `color-mix(in oklch, var(--sky-${key}-primary) 72%, var(--sky-text-dark))`,\r\n );\r\n\r\n set(\r\n `sky-${key}-tertiary-dark`,\r\n `color-mix(in oklch, var(--sky-${key}-primary) 56%, var(--sky-text-dark))`,\r\n );\r\n\r\n set(\r\n `sky-${key}-quaternary-dark`,\r\n `color-mix(in oklch, var(--sky-${key}-primary) 40%, var(--sky-text-dark))`,\r\n );\r\n\r\n set(\r\n `sky-${key}-quinary-dark`,\r\n `color-mix(in oklch, var(--sky-${key}-primary) 28%, var(--sky-text-dark))`,\r\n );\r\n\r\n set(\r\n `sky-${key}-g0`,\r\n `color-mix(in oklch, var(--sky-${key}-primary) 12%, transparent)`,\r\n );\r\n\r\n set(\r\n `sky-${key}-g1`,\r\n `color-mix(in oklch, var(--sky-${key}-primary) 24%, transparent)`,\r\n );\r\n\r\n set(\r\n `sky-${key}-g2`,\r\n `color-mix(in oklch, var(--sky-${key}-primary) 48%, transparent)`,\r\n );\r\n });\r\n\r\n /* ---------- semantic hover tokens ---------- */\r\n\r\n semanticColors.forEach((key) => {\r\n set(\r\n `sky-${key}-primary-hover`,\r\n `color-mix(in oklch, var(--sky-${key}-primary) 86%, var(--sky-text-dark))`,\r\n );\r\n\r\n set(\r\n `sky-${key}-secondary-hover`,\r\n `color-mix(in oklch, var(--sky-${key}-secondary) 86%, var(--sky-text-dark))`,\r\n );\r\n\r\n set(\r\n `sky-${key}-tertiary-hover`,\r\n `color-mix(in oklch, var(--sky-${key}-tertiary) 86%, var(--sky-text-dark))`,\r\n );\r\n\r\n set(\r\n `sky-${key}-quaternary-hover`,\r\n `color-mix(in oklch, var(--sky-${key}-quaternary) 86%, var(--sky-text-dark))`,\r\n );\r\n\r\n set(\r\n `sky-${key}-quinary-hover`,\r\n `color-mix(in oklch, var(--sky-${key}-quinary) 86%, var(--sky-text-dark))`,\r\n );\r\n });\r\n\r\n /* ---------- ring tokens ---------- */\r\n\r\n semanticColors.forEach((key) => {\r\n set(`sky-ring-${key}-1`, `0 0 0 1px var(--sky-${key}-primary)`);\r\n set(`sky-ring-${key}-2`, `0 0 0 2px var(--sky-${key}-primary)`);\r\n set(`sky-ring-${key}-3`, `0 0 0 3px var(--sky-${key}-primary)`);\r\n set(`sky-ring-${key}-4`, `0 0 0 4px var(--sky-${key}-primary)`);\r\n set(`sky-ring-${key}-5`, `0 0 0 5px var(--sky-${key}-primary)`);\r\n\r\n set(\r\n `sky-ring-${key}-inset-1`,\r\n `inset 0 0 0 1px var(--sky-${key}-primary)`,\r\n );\r\n\r\n set(\r\n `sky-ring-${key}-inset-2`,\r\n `inset 0 0 0 2px var(--sky-${key}-primary)`,\r\n );\r\n\r\n set(\r\n `sky-ring-${key}-inset-3`,\r\n `inset 0 0 0 3px var(--sky-${key}-primary)`,\r\n );\r\n });\r\n\r\n set(\r\n \"sky-focus-ring\",\r\n \"0 0 0 3px color-mix(in oklch, var(--sky-active-primary) 42%, transparent)\",\r\n );\r\n\r\n set(\"sky-focus-ring-offset\", \"2px\");\r\n\r\n set(\"sky-text-white\", \"oklch(1 0 0)\");\r\n set(\"sky-text-black\", \"oklch(0 0 0)\");\r\n\r\n /* ---------- typography scale tokens ---------- */\r\n\r\n Object.entries(theme.fontSize ?? {}).forEach(([k, v]) => {\r\n set(`sky-font-size-${k}`, v);\r\n });\r\n\r\n Object.entries(theme.fontWeight ?? {}).forEach(([k, v]) => {\r\n set(`sky-font-weight-${k}`, v);\r\n });\r\n\r\n Object.entries(theme.lineHeight ?? {}).forEach(([k, v]) => {\r\n set(`sky-line-height-${k}`, v);\r\n });\r\n\r\n Object.entries(theme.letterSpacing ?? {}).forEach(([k, v]) => {\r\n set(`sky-letter-spacing-${k}`, v);\r\n });\r\n\r\n /* ---------- font shorthand presets ---------- */\r\n\r\n const getFontSize = (key: string, fallback: string) =>\r\n (theme.fontSize as Record<string, string> | undefined)?.[key] ?? fallback;\r\n\r\n const getLineHeight = (key: string, fallback: string) =>\r\n (theme.lineHeight as Record<string, string> | undefined)?.[key] ??\r\n fallback;\r\n\r\n const fontPresets: Array<{ key: string; size: string; line: string }> = [\r\n { key: \"xs\", size: \"xs\", line: \"tight\" },\r\n { key: \"sm\", size: \"sm\", line: \"snug\" },\r\n { key: \"md\", size: \"md\", line: \"normal\" },\r\n { key: \"lg\", size: \"lg\", line: \"snug\" },\r\n { key: \"xl\", size: \"xl\", line: \"snug\" },\r\n { key: \"2xl\", size: \"2xl\", line: \"tight\" },\r\n { key: \"3xl\", size: \"3xl\", line: \"tight\" },\r\n { key: \"4xl\", size: \"4xl\", line: \"tight\" },\r\n ];\r\n\r\n for (const { key, size, line } of fontPresets) {\r\n const sizeVal = getFontSize(size, \"1rem\");\r\n const lineVal = getLineHeight(line, \"1.5\");\r\n\r\n set(`sky-font-${key}`, `${sizeVal} / ${lineVal} var(--sky-font-sans)`);\r\n set(`sky-font-mono-${key}`, `${sizeVal} / ${lineVal} var(--sky-font-mono)`);\r\n }\r\n\r\n /* ---------- spacing tokens ---------- */\r\n\r\n Object.entries(theme.spacing ?? {}).forEach(([k, v]) => {\r\n set(`sky-space-${k}`, v);\r\n });\r\n\r\n /* ---------- semantic typography role tokens ---------- */\r\n\r\n const roleMap = {\r\n body: { size: \"md\", weight: \"normal\", line: \"normal\" },\r\n label: { size: \"sm\", weight: \"medium\", line: \"snug\" },\r\n caption: { size: \"xs\", weight: \"normal\", line: \"tight\" },\r\n title: { size: \"lg\", weight: \"semibold\", line: \"snug\" },\r\n heading: { size: \"2xl\", weight: \"bold\", line: \"tight\" },\r\n display: { size: \"4xl\", weight: \"bold\", line: \"tight\" },\r\n } as const;\r\n\r\n const getFontWeight = (key: string, fallback: string) =>\r\n (theme.fontWeight as Record<string, string> | undefined)?.[key] ??\r\n fallback;\r\n\r\n for (const [role, cfg] of Object.entries(roleMap)) {\r\n const sizeVal = getFontSize(cfg.size, \"1rem\");\r\n const weightVal = getFontWeight(cfg.weight, \"400\");\r\n const lineVal = getLineHeight(cfg.line, \"1.5\");\r\n\r\n set(\r\n `sky-text-${role}`,\r\n `${weightVal} ${sizeVal}/${lineVal} var(--sky-font-sans)`,\r\n );\r\n }\r\n\r\n return out;\r\n}\r\n\r\n/** Expand comma-separated selectors so pseudo-elements attach to each branch. */\r\nfunction withPseudoSelectors(selector: string, pseudo: string): string {\r\n return selector\r\n .split(\",\")\r\n .map((part) => `${part.trim()}${pseudo}`)\r\n .join(\",\\n\");\r\n}\r\n\r\n/** Tints native scrollbars from `--sky-scrollbar-*` tokens; width/thickness stay OS-native. */\r\nfunction buildNativeScrollbarCSS(selector: string): string {\r\n const webkitTrack = withPseudoSelectors(selector, \"::-webkit-scrollbar-track\");\r\n const webkitThumb = withPseudoSelectors(selector, \"::-webkit-scrollbar-thumb\");\r\n const webkitThumbHover = withPseudoSelectors(\r\n selector,\r\n \"::-webkit-scrollbar-thumb:hover\",\r\n );\r\n\r\n return `\r\n${selector} {\r\n scrollbar-color: var(--sky-scrollbar-thumb) var(--sky-scrollbar-track);\r\n}\r\n${webkitTrack} {\r\n background: var(--sky-scrollbar-track);\r\n}\r\n${webkitThumb} {\r\n background-color: var(--sky-scrollbar-thumb);\r\n}\r\n${webkitThumbHover} {\r\n background-color: var(--sky-scrollbar-thumb-hover);\r\n}\r\n`.trim();\r\n}\r\n\r\nconst NATIVE_SCROLLBAR_ROOT_SELECTOR = \"html, body, *\";\r\nconst NATIVE_SCROLLBAR_HOST_SELECTOR =\r\n \"sky-theme-provider[sky-native-scrollbars], sky-theme-provider[sky-native-scrollbars] *\";\r\n\r\n/* buildVarCSS keeps same semantics */\r\nfunction buildVarCSS(vars: Record<string, string>, selector: string) {\r\n // Custom-property names containing \".\" (e.g. --sky-space-2.5) are invalid CSS\r\n // idents unless the dot is escaped. Without this, fractional spacing tokens are\r\n // dropped by the parser and never defined. Escape the dot in the name only.\r\n const body = Object.entries(vars)\r\n .map(([k, v]) => `${k.replace(/\\./g, \"\\\\.\")}:${v};`)\r\n .join(\"\");\r\n return `${selector}{${body}}`;\r\n}\r\n\r\nfunction ensureStyleTag(id: string, cssText: string): HTMLStyleElement {\r\n let tag = document.getElementById(id) as HTMLStyleElement | null;\r\n if (!tag) {\r\n tag = document.createElement(\"style\");\r\n tag.id = id;\r\n document.head.appendChild(tag);\r\n }\r\n tag.textContent = cssText;\r\n return tag;\r\n}\r\n\r\n/* ---------- context + provider implementation (unchanged except for token emission) ---------- */\r\nexport interface ThemeContextValue {\r\n mode: \"light\" | \"dark\";\r\n preference: ThemePreference;\r\n theme: ThemeConfig;\r\n setPreference: (pref: ThemePreference) => void;\r\n togglePreference: () => ThemePreference;\r\n}\r\nexport const themeContext = createContext<ThemeContextValue>(\"sky/theme\");\r\ntype ThemeScope = \"root\" | \"host\" | \"both\";\r\nexport type SkyThemeProviderScope = ThemeScope;\r\nexport type SkyThemeProviderGlobalChangeDetail = {\r\n mode: \"light\" | \"dark\";\r\n preference: ThemePreference;\r\n};\r\n\r\n\r\n/**\r\n * @element sky-theme-provider\r\n *\r\n * @summary Theme provider for light, dark, and system preferences with CSS variable generation.\r\n *\r\n * @status stable\r\n * @since 1.0.0\r\n *\r\n * @documentation https://library.sky-ui.com/components/theme-provider\r\n *\r\n * @slot - Default slot for content that will receive theme context.\r\n *\r\n * @csspart container - The theme provider container element.\r\n *\r\n * @property {Partial<ThemeConfig>} userTheme - Custom theme overrides.\r\n * @property {SkyThemeProviderScope} scope - Where CSS variables are applied.\r\n * @property {\"light\"|\"dark\"|\"system\"} preference - Theme preference.\r\n * @property {boolean} persist - Persists preference in localStorage.\r\n * @property {boolean} broadcast - Broadcasts theme changes through events.\r\n *\r\n * @fires {CustomEvent<SkyThemeProviderGlobalChangeDetail>} theme-change-global - Fired when theme changes globally.\r\n * @fires {CustomEvent<SkyThemeProviderGlobalChangeDetail>} sky-theme - Fired on global theme updates.\r\n *\r\n * @Behavior\r\n * - Resolves light/dark mode from explicit or system preference.\r\n * - Emits CSS custom properties for color, typography, spacing, and motion tokens.\r\n * - Provides theme context for descendant components.\r\n *\r\n * @example\r\n * ```html\r\n * <sky-theme-provider preference=\"system\" scope=\"both\">\r\n * <app-content></app-content>\r\n * </sky-theme-provider>\r\n * ```\r\n * ```vue\r\n * <template>\r\n * <sky-theme-provider :user-theme=\"theme\" preference=\"dark\" scope=\"both\">\r\n * <app-content />\r\n * </sky-theme-provider>\r\n * </template>\r\n * ```\r\n * ```jsx\r\n * export default function Demo() {\r\n * return <sky-theme-provider userTheme={theme} preference=\"dark\" scope=\"both\"><app-content /></sky-theme-provider>;\r\n * }\r\n * ```\r\n */\r\n@customElement(\"sky-theme-provider\")\r\nexport class SkyThemeProvider extends LitElement {\r\n /** User theme overrides. From HTML pass JSON, e.g. usertheme='{\"primary\":\"#0af\"}'. */\r\n @property({ type: Object }) userTheme?: PartialTheme;\r\n\r\n /** Where to apply CSS vars and global CSS. Default: \"root\". */\r\n @property({ type: String, reflect: true }) scope: ThemeScope = \"root\";\r\n\r\n @property({ type: String, reflect: true })\r\n preference: ThemePreference = getThemePreference();\r\n\r\n @state() private mode: \"light\" | \"dark\" = \"light\";\r\n\r\n @provide({ context: themeContext })\r\n private _ctx!: ThemeContextValue;\r\n\r\n @property({ type: Boolean }) persist: boolean = true;\r\n @property({ type: Boolean }) broadcast: boolean = true;\r\n\r\n private media: MediaQueryList | null = null;\r\n private globalStyleId = \"sky-theme-provider-global-style\";\r\n private hostScrollbarStyleId = \"sky-theme-provider-host-scrollbar\";\r\n private hostSheet: CSSStyleSheet | null = null;\r\n private hostStyleEl: HTMLStyleElement | null = null;\r\n private rootVarsStyleId = \"sky-theme-vars-root\";\r\n\r\n static styles = css`\r\n :host {\r\n display: contents;\r\n }\r\n\r\n :host {\r\n font-family: var(--sky-font);\r\n color: var(--sky-text-primary);\r\n background: var(--sky-background-color);\r\n }\r\n `;\r\n\r\n connectedCallback(): void {\r\n super.connectedCallback();\r\n this.mode = resolveActualTheme(this.preference);\r\n this.pushContext();\r\n this.setupSystemWatcher();\r\n if (this.scope === \"host\") {\r\n this.applyVariables();\r\n }\r\n }\r\n\r\n disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n this.media?.removeEventListener(\"change\", this.onSystemChange);\r\n\r\n if (this.hostStyleEl && this.hostStyleEl.parentNode) {\r\n this.hostStyleEl.parentNode.removeChild(this.hostStyleEl);\r\n this.hostStyleEl = null;\r\n }\r\n\r\n if (this.scope === \"host\") {\r\n const s = document.getElementById(this.globalStyleId);\r\n if (s) s.remove();\r\n const hostScrollbar = document.getElementById(this.hostScrollbarStyleId);\r\n if (hostScrollbar) hostScrollbar.remove();\r\n }\r\n }\r\n\r\n protected firstUpdated(): void {\r\n if (this.scope === \"root\" || this.scope === \"both\") {\r\n this.applyVariables();\r\n }\r\n }\r\n\r\n override updated(changedProperties: Map<string | number | symbol, unknown>): void {\r\n super.updated(changedProperties);\r\n\r\n // Ensure context is updated after DOM updates\r\n if (\r\n changedProperties.has(\"userTheme\") ||\r\n changedProperties.has(\"mode\") ||\r\n changedProperties.has(\"preference\") ||\r\n changedProperties.has(\"scope\")\r\n ) {\r\n this.pushContext();\r\n }\r\n }\r\n\r\n protected override willUpdate(changed: Map<string, unknown>): void {\r\n const prefChanged = changed.has(\"preference\");\r\n const scopeChanged = changed.has(\"scope\");\r\n const userThemeChanged = changed.has(\"userTheme\");\r\n\r\n let modeChanged = false;\r\n\r\n if (prefChanged || scopeChanged) {\r\n const nextMode = resolveActualTheme(this.preference);\r\n if (nextMode !== this.mode) {\r\n this.mode = nextMode;\r\n modeChanged = true;\r\n }\r\n }\r\n\r\n const hydrated = !!this.hasUpdated;\r\n const canApplyNow = this.scope === \"host\" || hydrated;\r\n if (canApplyNow && (modeChanged || scopeChanged || userThemeChanged)) {\r\n this.applyVariables();\r\n }\r\n\r\n if (prefChanged || modeChanged || userThemeChanged || scopeChanged) {\r\n this.pushContext();\r\n\r\n // Avoid broadcasting before hydration when scope touches root. Host-only providers still broadcast\r\n // when userTheme / mode / preference updates so consumers (e.g. sky-chart mono palette) can refresh.\r\n const hostThemeChanged =\r\n this.scope === \"host\" &&\r\n hydrated &&\r\n (userThemeChanged || prefChanged || modeChanged || scopeChanged);\r\n if (\r\n this.broadcast &&\r\n ((this.scope === \"root\" || this.scope === \"both\") || hostThemeChanged)\r\n ) {\r\n this.broadcastTheme();\r\n }\r\n }\r\n }\r\n\r\n private setRootThemeAttrs() {\r\n const de = document.documentElement;\r\n de.toggleAttribute(\"data-theme-light\", this.mode === \"light\");\r\n de.toggleAttribute(\"data-theme-dark\", this.mode === \"dark\");\r\n de.setAttribute(\"data-theme\", this.mode);\r\n (de.style as any).colorScheme = this.mode;\r\n de.classList.toggle(\"dark\", this.mode === \"dark\");\r\n }\r\n\r\n private broadcastTheme() {\r\n const detail = { mode: this.mode, preference: this.preference };\r\n window.dispatchEvent(new CustomEvent(\"sky-theme\", { detail }));\r\n\r\n window.dispatchEvent(new CustomEvent(\"theme-change-global\", { detail }));\r\n }\r\n\r\n public setPreference(pref: ThemePreference) {\r\n try {\r\n if (this.persist && (this.scope === \"root\" || this.scope === \"both\")) {\r\n localStorage.setItem(\"theme\", pref);\r\n }\r\n } catch { }\r\n this.preference = pref;\r\n\r\n if (this.broadcast && (this.scope === \"root\" || this.scope === \"both\")) {\r\n this.dispatchEvent(\r\n new CustomEvent(\"theme-change-global\", {\r\n bubbles: true,\r\n composed: true,\r\n }),\r\n );\r\n }\r\n }\r\n\r\n public togglePreference(): ThemePreference {\r\n const current = this.preference ?? getThemePreference();\r\n const next: ThemePreference =\r\n current === \"light\" ? \"dark\" : current === \"dark\" ? \"system\" : \"light\";\r\n this.setPreference(next);\r\n return next;\r\n }\r\n\r\n private onSystemChange = () => {\r\n if ((this.preference ?? getThemePreference()) === \"system\") {\r\n this.mode = resolveActualTheme(\"system\");\r\n this.applyVariables();\r\n this.pushContext();\r\n this.dispatchEvent(\r\n new CustomEvent(\"theme-change-global\", {\r\n bubbles: true,\r\n composed: true,\r\n }),\r\n );\r\n }\r\n };\r\n\r\n private setupSystemWatcher() {\r\n if (typeof window === \"undefined\" || !window.matchMedia) return;\r\n this.media = window.matchMedia(\"(prefers-color-scheme: dark)\");\r\n this.media.addEventListener(\"change\", this.onSystemChange);\r\n }\r\n\r\n /** Ensure global body + dialog + native scrollbar rules when scope touches root. */\r\n private ensureGlobalStyle() {\r\n if (typeof document === \"undefined\") return;\r\n const cssText = `\r\n body {\r\n font-family: var(--sky-font);\r\n margin: 0;\r\n padding: 0;\r\n background: var(--sky-background-color);\r\n color: var(--sky-text-primary);\r\n }\r\n\r\n html[data-sky-dialog-open=\"true\"] {\r\n overflow: hidden !important;\r\n position: relative;\r\n height: 100%;\r\n }\r\n\r\n ${buildNativeScrollbarCSS(NATIVE_SCROLLBAR_ROOT_SELECTOR)}\r\n `.trim();\r\n\r\n let tag = document.getElementById(\r\n this.globalStyleId,\r\n ) as HTMLStyleElement | null;\r\n if (!tag) {\r\n tag = document.createElement(\"style\");\r\n tag.id = this.globalStyleId;\r\n tag.textContent = cssText;\r\n document.head.appendChild(tag);\r\n } else {\r\n tag.textContent = cssText;\r\n }\r\n }\r\n\r\n private applyHostNativeScrollbars(enabled: boolean) {\r\n if (typeof document === \"undefined\") return;\r\n this.toggleAttribute(\"sky-native-scrollbars\", enabled);\r\n if (!enabled) {\r\n const tag = document.getElementById(this.hostScrollbarStyleId);\r\n if (tag) tag.remove();\r\n return;\r\n }\r\n ensureStyleTag(\r\n this.hostScrollbarStyleId,\r\n buildNativeScrollbarCSS(NATIVE_SCROLLBAR_HOST_SELECTOR),\r\n );\r\n }\r\n\r\n private applyVariables() {\r\n const full = mergeTheme(this.userTheme || {});\r\n const modeTheme = full[this.mode];\r\n const isDark = this.mode === \"dark\";\r\n const vars = generateVarMap(modeTheme, isDark);\r\n\r\n this.toggleAttribute(\"data-theme-light\", this.mode === \"light\");\r\n this.toggleAttribute(\"data-theme-dark\", this.mode === \"dark\");\r\n\r\n if (this.scope === \"host\" || this.scope === \"both\") {\r\n const cssText = buildVarCSS(vars, \":host\");\r\n\r\n if (\r\n \"adoptedStyleSheets\" in Document.prototype &&\r\n \"replaceSync\" in CSSStyleSheet.prototype\r\n ) {\r\n if (!this.hostSheet) {\r\n this.hostSheet = new CSSStyleSheet();\r\n\r\n const current =\r\n (this.renderRoot as ShadowRoot).adoptedStyleSheets ?? [];\r\n (this.renderRoot as ShadowRoot).adoptedStyleSheets = [\r\n ...current,\r\n this.hostSheet,\r\n ];\r\n }\r\n this.hostSheet.replaceSync(cssText);\r\n } else {\r\n if (!this.hostStyleEl) {\r\n this.hostStyleEl = document.createElement(\"style\");\r\n this.renderRoot.appendChild(this.hostStyleEl);\r\n }\r\n this.hostStyleEl.textContent = cssText;\r\n }\r\n\r\n this.style.removeProperty(\"color\");\r\n this.style.removeProperty(\"background\");\r\n\r\n this.applyHostNativeScrollbars(true);\r\n } else {\r\n this.applyHostNativeScrollbars(false);\r\n }\r\n\r\n if (this.scope === \"root\" || this.scope === \"both\") {\r\n const cssText = buildVarCSS(vars, \":root\");\r\n ensureStyleTag(this.rootVarsStyleId, cssText);\r\n\r\n this.setRootThemeAttrs();\r\n this.ensureGlobalStyle();\r\n\r\n if (document.body) {\r\n document.body.style.removeProperty(\"color\");\r\n document.body.style.removeProperty(\"background\");\r\n document.body.style.removeProperty(\"font-family\");\r\n }\r\n\r\n this.broadcastTheme();\r\n }\r\n }\r\n\r\n private pushContext() {\r\n const mergedTheme = mergeTheme(this.userTheme ?? {});\r\n\r\n this._ctx = {\r\n mode: this.mode,\r\n preference: this.preference,\r\n theme: mergedTheme,\r\n setPreference: (pref: ThemePreference) => this.setPreference(pref),\r\n togglePreference: () => this.togglePreference(),\r\n };\r\n }\r\n\r\n override render() {\r\n return html`<slot></slot>`;\r\n }\r\n}\r\n"],"names":["defaultTheme","light","glass","baseColor","opacities","primary","secondary","tertiary","solid","overlay","color","glassHover","opacity","fontFamily","fontFamilyMono","fontSize","xs","sm","md","lg","xl","fontWeight","thin","normal","medium","semibold","bold","extrabold","lineHeight","tight","snug","relaxed","loose","letterSpacing","tighter","wide","wider","spacing","px","background","foreground","active","success","warning","danger","info","blur","radius","full","boxshadow","inset","hover","brightness","saturation","separator","border","glassSurface","top","bottom","motion","duration","instant","fast","slow","ease","default","in","out","inOut","bounce","zIndex","base","dropdown","sticky","fixed","modal","popover","toast","max","disabled","muted","subtle","dark","getThemePreference","localStorage","v","getItem","resolveActualTheme","pref","window","matchMedia","matches","getCurrentTheme","document","documentElement","getAttribute","onThemeChange","cb","handler","e","mode","preference","detail","addEventListener","queueMicrotask","removeEventListener","deepMerge","target","source","t","Array","isArray","k","sv","mergeTheme","userTheme","clampAlpha","alpha","fallback","value","Number","isFinite","Math","min","clampPercent","round","isOKLCH","test","trim","toOKLCH","hexOrOKLCH","toOKLCHAlpha","safeAlpha","alphaPct","includes","replace","mixOKLCH","colorA","amountA","colorB","withPseudoSelectors","selector","pseudo","split","map","part","join","buildNativeScrollbarCSS","buildVarCSS","vars","Object","entries","ensureStyleTag","id","cssText","tag","getElementById","createElement","head","appendChild","textContent","themeContext","createContext","SkyThemeProvider","LitElement","constructor","super","arguments","this","scope","persist","broadcast","media","globalStyleId","hostScrollbarStyleId","hostSheet","hostStyleEl","rootVarsStyleId","onSystemChange","applyVariables","pushContext","dispatchEvent","CustomEvent","bubbles","composed","connectedCallback","setupSystemWatcher","disconnectedCallback","parentNode","removeChild","s","remove","hostScrollbar","firstUpdated","updated","changedProperties","has","willUpdate","changed","prefChanged","scopeChanged","userThemeChanged","modeChanged","nextMode","hydrated","hasUpdated","hostThemeChanged","broadcastTheme","setRootThemeAttrs","de","toggleAttribute","setAttribute","style","colorScheme","classList","toggle","setPreference","setItem","togglePreference","current","next","ensureGlobalStyle","applyHostNativeScrollbars","enabled","theme","isDark","set","fontSans","fontMono","textSteps","quaternary","quinary","forEach","level","pct","baseShades","op","glassShadeAnchor","glassShadeSteps","glassPrimaryShade","glassSecondaryShade","glassTertiaryShade","glassStrengthFallback","glassStrength","glassSurfaceTopAlpha","glassSurfaceBottomAlpha","String","scrollbar","track","thumb","thumbHover","semanticColors","key","getFontSize","getLineHeight","fontPresets","size","line","sizeVal","lineVal","roleMap","body","weight","label","caption","title","heading","display","getFontWeight","role","cfg","weightVal","generateVarMap","Document","prototype","CSSStyleSheet","renderRoot","adoptedStyleSheets","replaceSync","removeProperty","mergedTheme","_ctx","render","html","styles","css","__decorateClass","property","type","reflect","state","provide","context","Boolean","customElement"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sky.ui/core",
3
- "version": "0.0.23",
3
+ "version": "0.0.25",
4
4
  "description": "Sky UI web components built with Lit — 70+ components, bundler plugins, and custom elements.",
5
5
  "keywords": [
6
6
  "sky-ui",
@@ -221,7 +221,7 @@
221
221
  "build:workers": "node scripts/build-workers.mjs",
222
222
  "build:esbuild": "node esbuild.config.mjs",
223
223
  "watch:esbuild": "node esbuild.config.mjs --watch",
224
- "build:plugins": "tsup --config tsup.plugins.config.ts"
224
+ "build:plugins": "tsup --config tsup.plugins.config.ts && node ../../../scripts/emit-declarations.mjs tsconfig.plugins.json plugins plugins"
225
225
  },
226
226
  "peerDependencies": {
227
227
  "@lit-labs/motion": "^1.0.9",
@@ -1,19 +1,16 @@
1
- import { Plugin } from 'rollup';
2
-
3
- interface SkyUIMainRollupSideEffectsOptions {
1
+ import type { Plugin } from "rollup";
2
+ export interface SkyUIMainRollupSideEffectsOptions {
4
3
  treeShake?: boolean;
5
4
  }
6
- interface SkyUIMainAutoImportRollupOptions {
5
+ export interface SkyUIMainAutoImportRollupOptions {
7
6
  packageName?: string;
8
7
  entryHtml?: string;
9
8
  entryPath?: string | null;
10
9
  }
11
- interface SkyUIMainRollupPluginOptions extends SkyUIMainRollupSideEffectsOptions {
10
+ export interface SkyUIMainRollupPluginOptions extends SkyUIMainRollupSideEffectsOptions {
12
11
  mode?: "default" | "auto-import";
13
12
  packageName?: string;
14
13
  entryHtml?: string;
15
14
  entryPath?: string | null;
16
15
  }
17
- declare function SkyUIMainRollupPlugin(options?: SkyUIMainRollupPluginOptions): Plugin | Plugin[];
18
-
19
- export { type SkyUIMainAutoImportRollupOptions, SkyUIMainRollupPlugin, type SkyUIMainRollupPluginOptions, type SkyUIMainRollupSideEffectsOptions };
16
+ export declare function SkyUIMainRollupPlugin(options?: SkyUIMainRollupPluginOptions): Plugin | Plugin[];
@@ -1,22 +1,19 @@
1
- import { Plugin } from 'vite';
2
-
3
- interface SkyUIMainAutoImportPluginOptions {
1
+ import type { Plugin } from "vite";
2
+ export interface SkyUIMainAutoImportPluginOptions {
4
3
  packageName?: string;
5
4
  entryHtml?: string;
6
5
  entryScript?: string | null;
7
6
  treeShake?: boolean;
8
7
  }
9
- interface SkyUIMainPluginOptions {
8
+ export interface SkyUIMainPluginOptions {
10
9
  resolverOptions?: Record<string, unknown>;
11
10
  dts?: boolean;
12
11
  componentsOptions?: Record<string, unknown>;
13
12
  }
14
- interface SkyUIMainVitePluginOptions extends SkyUIMainAutoImportPluginOptions {
13
+ export interface SkyUIMainVitePluginOptions extends SkyUIMainAutoImportPluginOptions {
15
14
  mode?: "vue" | "auto-import";
16
15
  resolverOptions?: Record<string, unknown>;
17
16
  dts?: boolean;
18
17
  componentsOptions?: Record<string, unknown>;
19
18
  }
20
- declare function SkyUIMainVitePlugin(options?: SkyUIMainVitePluginOptions): Plugin | Plugin[];
21
-
22
- export { type SkyUIMainAutoImportPluginOptions, type SkyUIMainPluginOptions, SkyUIMainVitePlugin, type SkyUIMainVitePluginOptions };
19
+ export declare function SkyUIMainVitePlugin(options?: SkyUIMainVitePluginOptions): Plugin | Plugin[];
@@ -1,12 +1,8 @@
1
- import { WebpackPluginInstance } from 'webpack';
2
-
3
1
  /**
4
2
  * Webpack plugin for @sky.ui/core.
5
3
  */
6
-
7
- interface SkyUIMainWebpackPluginOptions {
4
+ import type { WebpackPluginInstance } from "webpack";
5
+ export interface SkyUIMainWebpackPluginOptions {
8
6
  treeShake?: boolean;
9
7
  }
10
- declare function SkyUIMainWebpackPlugin(options?: SkyUIMainWebpackPluginOptions): WebpackPluginInstance;
11
-
12
- export { SkyUIMainWebpackPlugin, type SkyUIMainWebpackPluginOptions };
8
+ export declare function SkyUIMainWebpackPlugin(options?: SkyUIMainWebpackPluginOptions): WebpackPluginInstance;