astralkit 0.5.0 → 0.7.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.
- package/CHANGELOG.md +21 -0
- package/LICENSE +73 -34
- package/README.md +31 -1
- package/astralkit-theme-v4.css +120 -66
- package/astralkit-theme.css +120 -66
- package/astralkit-utilities.css +587 -2
- package/lib/presets/appearance-presets.d.ts +12 -0
- package/lib/presets/appearance-presets.js +102 -0
- package/lib/presets/chart-palettes.d.ts +29 -0
- package/lib/presets/chart-palettes.js +99 -0
- package/lib/presets/dials.d.ts +31 -0
- package/lib/presets/dials.js +330 -0
- package/lib/presets/font-pairings.d.ts +29 -0
- package/lib/presets/font-pairings.js +123 -0
- package/lib/presets/fonts.d.ts +16 -0
- package/lib/presets/fonts.js +76 -0
- package/lib/presets/index.d.ts +7 -0
- package/lib/presets/index.js +24 -0
- package/lib/presets/materials.d.ts +15 -0
- package/lib/presets/materials.js +245 -0
- package/lib/presets/theme-palettes.d.ts +90 -0
- package/lib/presets/theme-palettes.js +720 -0
- package/lib/theme-context.d.ts +17 -0
- package/lib/theme-context.js +33 -0
- package/package.json +9 -3
- package/palettes.css +961 -90
- package/primitives/animations.css +43 -1
- package/primitives/effects.css +373 -115
- package/tailwind.cjs +11 -3
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from 'react'
|
|
2
|
+
|
|
3
|
+
export interface AkThemeContextValue {
|
|
4
|
+
dark: boolean
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Provides dark mode state to descendants — including Radix portaled content,
|
|
9
|
+
* which escapes the data-ak-dark-* attribute scope on ancestor elements.
|
|
10
|
+
*/
|
|
11
|
+
export declare function AkThemeProvider(props: {
|
|
12
|
+
dark: boolean
|
|
13
|
+
children: React.ReactNode
|
|
14
|
+
}): React.ReactElement
|
|
15
|
+
|
|
16
|
+
/** Read the nearest AkThemeProvider's dark flag. Defaults to { dark: false }. */
|
|
17
|
+
export declare function useAkTheme(): AkThemeContextValue
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import { createContext, createElement, useContext } from 'react'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* AkThemeContext — propagates dark mode state to Radix portaled content.
|
|
7
|
+
*
|
|
8
|
+
* Problem: Radix Dialog/DropdownMenu/Popover portal content to document.body,
|
|
9
|
+
* which exits the CSS custom property inheritance chain from data-ak-dark-*
|
|
10
|
+
* attributes on ancestor elements.
|
|
11
|
+
*
|
|
12
|
+
* Solution: Every component that uses Radix portals reads this context and
|
|
13
|
+
* applies the dark mode data attributes directly onto the portaled content.
|
|
14
|
+
*
|
|
15
|
+
* Usage:
|
|
16
|
+
* <AkThemeProvider dark={isDark}>
|
|
17
|
+
* <MyComponentWithRadixPortals />
|
|
18
|
+
* </AkThemeProvider>
|
|
19
|
+
*
|
|
20
|
+
* // Inside the component:
|
|
21
|
+
* const { dark } = useAkTheme()
|
|
22
|
+
* <DropdownMenu.Content data-ak-dark-panel={dark || undefined}>
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
const AkThemeContext = createContext({ dark: false })
|
|
26
|
+
|
|
27
|
+
export function AkThemeProvider({ dark, children }) {
|
|
28
|
+
return createElement(AkThemeContext.Provider, { value: { dark } }, children)
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export function useAkTheme() {
|
|
32
|
+
return useContext(AkThemeContext)
|
|
33
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "astralkit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Design tokens and component primitives for accessible UI — Tailwind CSS v3 & v4",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -11,8 +11,10 @@
|
|
|
11
11
|
"./tailwind.cjs": "./tailwind.cjs",
|
|
12
12
|
"./utils": "./lib/utils.js",
|
|
13
13
|
"./motion": "./lib/motion.js",
|
|
14
|
+
"./theme-context": "./lib/theme-context.js",
|
|
14
15
|
"./ai-rules": "./ai-rules.md",
|
|
15
|
-
"./palettes": "./palettes.css"
|
|
16
|
+
"./palettes": "./palettes.css",
|
|
17
|
+
"./presets": "./lib/presets/index.js"
|
|
16
18
|
},
|
|
17
19
|
"files": [
|
|
18
20
|
"astralkit-theme.css",
|
|
@@ -32,11 +34,15 @@
|
|
|
32
34
|
"tailwind-merge": "^2.2.0 || ^3.0.0"
|
|
33
35
|
},
|
|
34
36
|
"peerDependencies": {
|
|
35
|
-
"tailwindcss": ">=3.0.0"
|
|
37
|
+
"tailwindcss": ">=3.0.0",
|
|
38
|
+
"react": ">=18.0.0"
|
|
36
39
|
},
|
|
37
40
|
"peerDependenciesMeta": {
|
|
38
41
|
"tailwindcss": {
|
|
39
42
|
"optional": false
|
|
43
|
+
},
|
|
44
|
+
"react": {
|
|
45
|
+
"optional": true
|
|
40
46
|
}
|
|
41
47
|
},
|
|
42
48
|
"keywords": [
|