@@ -4,22 +4,28 @@ import { SolvedTheme } from '../styles'
44export type MakeKebabCase < S extends string , ReturnQueue extends string = '' > =
55 // Separate string into first character T and rest string U, only works if length >= 1
66 S extends `${infer T } ${infer U } `
7- // If it's the first character of whole string, just lowercase first character
8- ? ReturnQueue extends ''
9- ? MakeKebabCase < U , Lowercase < T > >
10- // if it's uppercased character, append -${Lowercase<T>} into return queue
11- : T extends Uppercase < T >
12- ? MakeKebabCase < U , `${ReturnQueue } -${Lowercase < T > } `>
13- // or, just append itself
14- : MakeKebabCase < U , `${ReturnQueue } ${T } `>
15- // It's else branch of the first length >= 1 check
16- : `${ReturnQueue } ${S } `
7+ ? // If it's the first character of whole string, just lowercase first character
8+ ReturnQueue extends ''
9+ ? MakeKebabCase < U , Lowercase < T > >
10+ : // if it's uppercased character, append -${Lowercase<T>} into return queue
11+ T extends Uppercase < T >
12+ ? MakeKebabCase < U , `${ReturnQueue } -${Lowercase < T > } `>
13+ : // or, just append itself
14+ MakeKebabCase < U , `${ReturnQueue } ${T } `>
15+ : // It's else branch of the first length >= 1 check
16+ `${ReturnQueue } ${S } `
1717
1818export const toCssName = < S extends string > ( name : S ) : MakeKebabCase < S > =>
19- name . replace ( / [ A - Z ] / g, ( m ) => `-${ m . toLowerCase ( ) } ` ) . replace ( / ^ - / , '' ) as MakeKebabCase < S >
19+ name
20+ . replace ( / [ A - Z ] / g, ( m ) => `-${ m . toLowerCase ( ) } ` )
21+ . replace ( / ^ - / , '' ) as MakeKebabCase < S >
2022
21- export type VariableName < Prefix extends string , Name > =
22- `--solvedac-${MakeKebabCase < Prefix > } -${MakeKebabCase < Name extends string ? Name : string > } `
23+ export type VariableName <
24+ Prefix extends string ,
25+ Name
26+ > = `--solvedac-${MakeKebabCase < Prefix > } -${MakeKebabCase <
27+ Name extends string ? Name : string
28+ > } `
2329
2430export const cssVariables = <
2531 T extends {
@@ -72,6 +78,7 @@ export const cssCentering = css`
7278`
7379
7480export const cssClickable = css `
81+ text-decoration : none;
7582 cursor : pointer;
7683 user-select : none;
7784 & : disabled {
0 commit comments