@@ -4,34 +4,40 @@ import React, { memo, useMemo, useState } from 'react';
44import type { Meta } from '@storybook/react' ;
55import { Direction } from 'radix-ui' ;
66import Fuse from 'fuse.js' ;
7- import type { AxoSymbolName } from './AxoSymbol.js' ;
8- import {
9- AxoSymbol ,
10- _getAllAxoSymbolNames ,
11- _getAxoSymbol ,
12- } from './AxoSymbol.js' ;
7+ import { AxoSymbol } from './AxoSymbol.js' ;
138import { tw } from './tw.js' ;
9+ import {
10+ _getAllAxoSymbolInlineGlyphNames ,
11+ getAxoSymbolInlineGlyph ,
12+ } from './_internal/AxoSymbolDefs.generated.js' ;
1413
1514export default {
1615 title : 'Axo/AxoSymbol' ,
1716} satisfies Meta ;
1817
18+ const allAxoSymbolNames = _getAllAxoSymbolInlineGlyphNames ( )
19+ . slice ( )
20+ . sort ( ( a , b ) => a . localeCompare ( b ) ) ;
21+ const fuse = new Fuse ( allAxoSymbolNames ) ;
22+
1923const SymbolInfo = memo ( function SymbolInfo ( props : {
20- symbolName : AxoSymbolName ;
24+ symbolName : AxoSymbol . InlineGlyphName ;
2125} ) : JSX . Element {
22- const ltr = _getAxoSymbol ( props . symbolName , 'ltr' ) ;
23- const rtl = _getAxoSymbol ( props . symbolName , 'rtl' ) ;
26+ const ltr = getAxoSymbolInlineGlyph ( props . symbolName , 'ltr' ) ;
27+ const rtl = getAxoSymbolInlineGlyph ( props . symbolName , 'rtl' ) ;
2428
25- const variants =
29+ type Variant = { title : string ; dir : 'ltr' | 'rtl' ; text : string } ;
30+
31+ const variants : ReadonlyArray < Variant > =
2632 ltr === rtl
27- ? ( [
33+ ? [
2834 // same
2935 { title : 'LTR/RTL' , dir : 'ltr' , text : ltr } ,
30- ] as const )
31- : ( [
36+ ]
37+ : [
3238 { title : 'LTR' , dir : 'ltr' , text : ltr } ,
3339 { title : 'RTL' , dir : 'rtl' , text : rtl } ,
34- ] as const ) ;
40+ ] ;
3541
3642 return (
3743 < figure
@@ -75,11 +81,6 @@ const SymbolInfo = memo(function SymbolInfo(props: {
7581 ) ;
7682} ) ;
7783
78- const allAxoSymbolNames = _getAllAxoSymbolNames ( )
79- . slice ( )
80- . sort ( ( a , b ) => a . localeCompare ( b ) ) ;
81- const fuse = new Fuse ( allAxoSymbolNames ) ;
82-
8384export function All ( ) : JSX . Element {
8485 const [ input , setInput ] = useState ( '' ) ;
8586
0 commit comments