-
Notifications
You must be signed in to change notification settings - Fork 59
/
__styles.ts
26 lines (22 loc) · 879 Bytes
/
__styles.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import { __styles as vanillaStyles } from '@griffel/core';
import type { CSSClassesMapBySlot, CSSRulesByBucket } from '@griffel/core';
import { insertionFactory } from './insertionFactory';
import { useRenderer } from './RendererContext';
import { useTextDirection } from './TextDirectionContext';
/**
* A version of makeStyles() that accepts build output as an input and skips all runtime transforms.
*
* @internal
*/
// eslint-disable-next-line @typescript-eslint/naming-convention
export function __styles<Slots extends string>(
classesMapBySlot: CSSClassesMapBySlot<Slots>,
cssRules: CSSRulesByBucket,
) {
const getStyles = vanillaStyles(classesMapBySlot, cssRules, insertionFactory);
return function useClasses(): Record<Slots, string> {
const dir = useTextDirection();
const renderer = useRenderer();
return getStyles({ dir, renderer });
};
}