@namiml/expo-sdk 3.4.7-dev.202607241811 → 3.4.7-dev.202607242154
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@namiml/expo-sdk",
|
|
3
|
-
"version": "3.4.7-dev.
|
|
3
|
+
"version": "3.4.7-dev.202607242154",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Nami Expo SDK — paywall and subscription management for Expo apps",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"prepublishOnly": "yarn clean && yarn build:prod"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@namiml/expo-nami-iap": "3.4.7-dev.
|
|
33
|
-
"@namiml/sdk-core": "3.4.7-dev.
|
|
32
|
+
"@namiml/expo-nami-iap": "3.4.7-dev.202607242154",
|
|
33
|
+
"@namiml/sdk-core": "3.4.7-dev.202607242154",
|
|
34
34
|
"react-native-qrcode-svg": "^6.3.21",
|
|
35
35
|
"react-native-safe-area-context": "^5.6.0",
|
|
36
36
|
"react-native-svg": "^15.15.4"
|
|
@@ -4,6 +4,7 @@ import { Text, View } from 'react-native';
|
|
|
4
4
|
import { applyStyles, textStyles } from '../../utils/styles';
|
|
5
5
|
import { useInheritedFocusedStyle } from '../../context/FocusContext';
|
|
6
6
|
import { iconPathsByName } from '../../utils/iconMap';
|
|
7
|
+
import { resolveSymbolGlyph } from '../../utils/symbolGlyphs';
|
|
7
8
|
|
|
8
9
|
let SvgComponent: React.ComponentType<any> | null = null;
|
|
9
10
|
let SvgPathComponent: React.ComponentType<any> | null = null;
|
|
@@ -24,51 +25,12 @@ interface Props {
|
|
|
24
25
|
parentDirection?: string;
|
|
25
26
|
}
|
|
26
27
|
|
|
27
|
-
const SYMBOL_FALLBACK_MAP: Record<string, string> = {
|
|
28
|
-
check: '\u2713',
|
|
29
|
-
close: '\u2715',
|
|
30
|
-
plus: '+',
|
|
31
|
-
minus: '\u2212',
|
|
32
|
-
right: '\u203A',
|
|
33
|
-
left: '\u2039',
|
|
34
|
-
up: '\u2303',
|
|
35
|
-
down: '\u2304',
|
|
36
|
-
info: '\u2139',
|
|
37
|
-
question: '?',
|
|
38
|
-
play: '\u25B6',
|
|
39
|
-
pause: '\u23F8',
|
|
40
|
-
sound: '\uD83D\uDD0A',
|
|
41
|
-
volume: '\uD83D\uDD0A',
|
|
42
|
-
muted: '\uD83D\uDD07',
|
|
43
|
-
heart: '\u2665',
|
|
44
|
-
star: '\u2605',
|
|
45
|
-
like: '\uD83D\uDC4D',
|
|
46
|
-
unlock: '\uD83D\uDD13',
|
|
47
|
-
calendar: '\uD83D\uDCC5',
|
|
48
|
-
cloud: '\u2601',
|
|
49
|
-
fire: '\uD83D\uDD25',
|
|
50
|
-
bell: '\uD83D\uDD14',
|
|
51
|
-
message: '\uD83D\uDCAC',
|
|
52
|
-
smile: '\u263A',
|
|
53
|
-
caret: '\u25BE',
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
function resolveSymbol(name?: string): string {
|
|
57
|
-
if (!name) return '';
|
|
58
|
-
const key = name.toLowerCase();
|
|
59
|
-
const exact = SYMBOL_FALLBACK_MAP[key];
|
|
60
|
-
if (exact) return exact;
|
|
61
|
-
|
|
62
|
-
const match = Object.entries(SYMBOL_FALLBACK_MAP).find(([token]) => key.includes(token));
|
|
63
|
-
return match?.[1] ?? '';
|
|
64
|
-
}
|
|
65
|
-
|
|
66
28
|
export const NamiSymbol: React.FC<Props> = ({ component, scaleFactor, parentDirection }) => {
|
|
67
29
|
const isFocused = useInheritedFocusedStyle();
|
|
68
30
|
const containerStyle = applyStyles(component, scaleFactor, isFocused, parentDirection);
|
|
69
31
|
const symbolStyle = textStyles(component, scaleFactor, isFocused);
|
|
70
32
|
const svgPaths = useMemo(() => iconPathsByName(component.name), [component.name]);
|
|
71
|
-
const value =
|
|
33
|
+
const value = resolveSymbolGlyph(component.name) || (component.text ?? '');
|
|
72
34
|
const iconSize = typeof symbolStyle.fontSize === 'number' ? symbolStyle.fontSize : 16 * scaleFactor;
|
|
73
35
|
const iconColor = typeof symbolStyle.color === 'string' ? symbolStyle.color : '#ffffff';
|
|
74
36
|
const iconMarginTop = typeof symbolStyle.lineHeight === 'number'
|
|
@@ -7,6 +7,7 @@ import { buildSmartTextReplacements, interpolateSmartText } from '../../utils/sm
|
|
|
7
7
|
import { textAccessibilityRole } from '../../utils/rendering';
|
|
8
8
|
import { formatDate, isValidISODate } from '@namiml/sdk-core';
|
|
9
9
|
import { useInheritedFocusedStyle } from '../../context/FocusContext';
|
|
10
|
+
import { resolveSymbolGlyph } from '../../utils/symbolGlyphs';
|
|
10
11
|
|
|
11
12
|
interface Props {
|
|
12
13
|
component: any;
|
|
@@ -15,18 +16,6 @@ interface Props {
|
|
|
15
16
|
parentDirection?: string;
|
|
16
17
|
}
|
|
17
18
|
|
|
18
|
-
const SYMBOL_FALLBACK_MAP: Record<string, string> = {
|
|
19
|
-
check: '\u2713',
|
|
20
|
-
close: '\u2715',
|
|
21
|
-
plus: '+',
|
|
22
|
-
minus: '\u2212',
|
|
23
|
-
right: '\u203A',
|
|
24
|
-
left: '\u2039',
|
|
25
|
-
up: '\u2303',
|
|
26
|
-
down: '\u2304',
|
|
27
|
-
dot: '\u2022',
|
|
28
|
-
};
|
|
29
|
-
|
|
30
19
|
type MarkdownToken =
|
|
31
20
|
| { type: 'text'; value: string }
|
|
32
21
|
| { type: 'bold'; value: string }
|
|
@@ -196,9 +185,11 @@ export const NamiText: React.FC<Props> = ({ component, scaleFactor, isSymbol, pa
|
|
|
196
185
|
|
|
197
186
|
if (component.component === 'text-list') {
|
|
198
187
|
const bullet = component.bulletComponent;
|
|
188
|
+
// Resolve the bullet from its authored text, then its icon name (tolerant of
|
|
189
|
+
// Ant-style names like "CheckOutlined"), falling back to a dot. Previously an
|
|
190
|
+
// unmapped name (e.g. a checkmark) silently fell through to the dot.
|
|
199
191
|
const bulletText = bullet?.text
|
|
200
|
-
??
|
|
201
|
-
?? '\u2022';
|
|
192
|
+
?? (resolveSymbolGlyph(bullet?.name) || '\u2022');
|
|
202
193
|
const inlineGap = parseSize(component.spacing, scaleFactor) ?? 0;
|
|
203
194
|
|
|
204
195
|
return (
|
package/src/utils/iconMap.ts
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
// SVG icon path data. The path set is ported from the Web SDK's icon map
|
|
2
|
+
// (sdk/web/src/components/utils/iconMap.ts) and keyed by its Ant-Design names.
|
|
3
|
+
//
|
|
4
|
+
// The CMS sends Apple/SF-Symbol-style names to the Apple-family platforms
|
|
5
|
+
// (apple, expo iOS) — e.g. "chevron.left", "checkmark", "xmark.circle" — which
|
|
6
|
+
// the Apple SDK renders as real SF Symbols. React Native has no SF Symbols, so
|
|
7
|
+
// this module maps those names onto the ported path set. Names that resolve to
|
|
8
|
+
// nothing return undefined so NamiSymbol can fall back to a text glyph, rather
|
|
9
|
+
// than silently defaulting to a check-circle (which made a "chevron.left" close
|
|
10
|
+
// button render as a circled checkmark — NAM-3138).
|
|
2
11
|
|
|
3
12
|
const iconPathMap: Record<string, string[]> = {
|
|
13
|
+
CheckCircleFilled: [
|
|
14
|
+
'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z',
|
|
15
|
+
],
|
|
4
16
|
CheckCircleOutlined: [
|
|
5
17
|
'M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z',
|
|
6
18
|
'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z',
|
|
@@ -8,24 +20,111 @@ const iconPathMap: Record<string, string[]> = {
|
|
|
8
20
|
CheckOutlined: [
|
|
9
21
|
'M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z',
|
|
10
22
|
],
|
|
23
|
+
InfoCircleFilled: [
|
|
24
|
+
'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z',
|
|
25
|
+
],
|
|
26
|
+
InfoCircleOutlined: [
|
|
27
|
+
'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z',
|
|
28
|
+
'M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z',
|
|
29
|
+
],
|
|
30
|
+
PlusOutlined: [
|
|
31
|
+
'M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z',
|
|
32
|
+
'M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z',
|
|
33
|
+
],
|
|
34
|
+
PlusCircleFilled: [
|
|
35
|
+
'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm192 472c0 4.4-3.6 8-8 8H544v152c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V544H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h152V328c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v152h152c4.4 0 8 3.6 8 8v48z',
|
|
36
|
+
],
|
|
37
|
+
PlusCircleOutlined: [
|
|
38
|
+
'M696 480H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z',
|
|
39
|
+
'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z',
|
|
40
|
+
],
|
|
41
|
+
CloseCircleFilled: [
|
|
42
|
+
'M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z',
|
|
43
|
+
],
|
|
44
|
+
CloseCircleOutlined: [
|
|
45
|
+
'M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm0 76c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm128.01 198.83c.03 0 .05.01.09.06l45.02 45.01a.2.2 0 01.05.09.12.12 0 010 .07c0 .02-.01.04-.05.08L557.25 512l127.87 127.86a.27.27 0 01.05.06v.02a.12.12 0 010 .07c0 .03-.01.05-.05.09l-45.02 45.02a.2.2 0 01-.09.05.12.12 0 01-.07 0c-.02 0-.04-.01-.08-.05L512 557.25 384.14 685.12c-.04.04-.06.05-.08.05a.12.12 0 01-.07 0c-.03 0-.05-.01-.09-.05l-45.02-45.02a.2.2 0 01-.05-.09.12.12 0 010-.07c0-.02.01-.04.06-.08L466.75 512 338.88 384.14a.27.27 0 01-.05-.06l-.01-.02a.12.12 0 010-.07c0-.03.01-.05.05-.09l45.02-45.02a.2.2 0 01.09-.05.12.12 0 01.07 0c.02 0 .04.01.08.06L512 466.75l127.86-127.86c.04-.05.06-.06.08-.06a.12.12 0 01.07 0z',
|
|
46
|
+
],
|
|
11
47
|
CloseOutlined: [
|
|
12
48
|
'M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z',
|
|
13
49
|
],
|
|
14
|
-
|
|
15
|
-
'
|
|
50
|
+
QuestionCircleFilled: [
|
|
51
|
+
'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 708c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm62.9-219.5a48.3 48.3 0 00-30.9 44.8V620c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-21.5c0-23.1 6.7-45.9 19.9-64.9 12.9-18.6 30.9-32.8 52.1-40.9 34-13.1 56-41.6 56-72.7 0-44.1-43.1-80-96-80s-96 35.9-96 80v7.6c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V420c0-39.3 17.2-76 48.4-103.3C430.4 290.4 470 276 512 276s81.6 14.5 111.6 40.7C654.8 344 672 380.7 672 420c0 57.8-38.1 109.8-97.1 132.5z',
|
|
16
52
|
],
|
|
17
|
-
|
|
18
|
-
'
|
|
53
|
+
QuestionCircleOutlined: [
|
|
54
|
+
'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z',
|
|
55
|
+
'M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1080 0 40 40 0 10-80 0z',
|
|
19
56
|
],
|
|
20
|
-
|
|
21
|
-
'
|
|
57
|
+
QuestionOutlined: [
|
|
58
|
+
'M764 280.9c-14-30.6-33.9-58.1-59.3-81.6C653.1 151.4 584.6 125 512 125s-141.1 26.4-192.7 74.2c-25.4 23.6-45.3 51-59.3 81.7-14.6 32-22 65.9-22 100.9v27c0 6.2 5 11.2 11.2 11.2h54c6.2 0 11.2-5 11.2-11.2v-27c0-99.5 88.6-180.4 197.6-180.4s197.6 80.9 197.6 180.4c0 40.8-14.5 79.2-42 111.2-27.2 31.7-65.6 54.4-108.1 64-24.3 5.5-46.2 19.2-61.7 38.8a110.85 110.85 0 00-23.9 68.6v31.4c0 6.2 5 11.2 11.2 11.2h54c6.2 0 11.2-5 11.2-11.2v-31.4c0-15.7 10.9-29.5 26-32.9 58.4-13.2 111.4-44.7 149.3-88.7 19.1-22.3 34-47.1 44.3-74 10.7-27.9 16.1-57.2 16.1-87 0-35-7.4-69-22-100.9zM512 787c-30.9 0-56 25.1-56 56s25.1 56 56 56 56-25.1 56-56-25.1-56-56-56z',
|
|
22
59
|
],
|
|
23
|
-
|
|
24
|
-
'
|
|
60
|
+
BellFilled: [
|
|
61
|
+
'M816 768h-24V428c0-141.1-104.3-257.8-240-277.2V112c0-22.1-17.9-40-40-40s-40 17.9-40 40v38.8C336.3 170.2 232 286.9 232 428v340h-24c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h216c0 61.8 50.2 112 112 112s112-50.2 112-112h216c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM512 888c-26.5 0-48-21.5-48-48h96c0 26.5-21.5 48-48 48z',
|
|
25
62
|
],
|
|
26
|
-
|
|
27
|
-
'
|
|
28
|
-
|
|
63
|
+
BellOutlined: [
|
|
64
|
+
'M816 768h-24V428c0-141.1-104.3-257.7-240-277.1V112c0-22.1-17.9-40-40-40s-40 17.9-40 40v38.9c-135.7 19.4-240 136-240 277.1v340h-24c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h216c0 61.8 50.2 112 112 112s112-50.2 112-112h216c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM512 888c-26.5 0-48-21.5-48-48h96c0 26.5-21.5 48-48 48zM304 768V428c0-55.6 21.6-107.8 60.9-147.1S456.4 220 512 220c55.6 0 107.8 21.6 147.1 60.9S720 372.4 720 428v340H304z',
|
|
65
|
+
],
|
|
66
|
+
ThunderboltFilled: [
|
|
67
|
+
'M848 359.3H627.7L825.8 109c4.1-5.3.4-13-6.3-13H436c-2.8 0-5.5 1.5-6.9 4L170 547.5c-3.1 5.3.7 12 6.9 12h174.4l-89.4 357.6c-1.9 7.8 7.5 13.3 13.3 7.7L853.5 373c5.2-4.9 1.7-13.7-5.5-13.7z',
|
|
68
|
+
],
|
|
69
|
+
CalendarOutlined: [
|
|
70
|
+
'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z',
|
|
71
|
+
],
|
|
72
|
+
CloudFilled: [
|
|
73
|
+
'M811.4 418.7C765.6 297.9 648.9 212 512.2 212S258.8 297.8 213 418.6C127.3 441.1 64 519.1 64 612c0 110.5 89.5 200 199.9 200h496.2C870.5 812 960 722.5 960 612c0-92.7-63.1-170.7-148.6-193.3z',
|
|
74
|
+
],
|
|
75
|
+
CloudOutlined: [
|
|
76
|
+
'M811.4 418.7C765.6 297.9 648.9 212 512.2 212S258.8 297.8 213 418.6C127.3 441.1 64 519.1 64 612c0 110.5 89.5 200 199.9 200h496.2C870.5 812 960 722.5 960 612c0-92.7-63.1-170.7-148.6-193.3zm36.3 281a123.07 123.07 0 01-87.6 36.3H263.9c-33.1 0-64.2-12.9-87.6-36.3A123.3 123.3 0 01140 612c0-28 9.1-54.3 26.2-76.3a125.7 125.7 0 0166.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0152.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10c54.3 14.5 92.1 63.8 92.1 120 0 33.1-12.9 64.3-36.3 87.7z',
|
|
77
|
+
],
|
|
78
|
+
FireFilled: [
|
|
79
|
+
'M834.1 469.2A347.49 347.49 0 00751.2 354l-29.1-26.7a8.09 8.09 0 00-13 3.3l-13 37.3c-8.1 23.4-23 47.3-44.1 70.8-1.4 1.5-3 1.9-4.1 2-1.1.1-2.8-.1-4.3-1.5-1.4-1.2-2.1-3-2-4.8 3.7-60.2-14.3-128.1-53.7-202C555.3 171 510 123.1 453.4 89.7l-41.3-24.3c-5.4-3.2-12.3 1-12 7.3l2.2 48c1.5 32.8-2.3 61.8-11.3 85.9-11 29.5-26.8 56.9-47 81.5a295.64 295.64 0 01-47.5 46.1 352.6 352.6 0 00-100.3 121.5A347.75 347.75 0 00160 610c0 47.2 9.3 92.9 27.7 136a349.4 349.4 0 0075.5 110.9c32.4 32 70 57.2 111.9 74.7C418.5 949.8 464.5 959 512 959s93.5-9.2 136.9-27.3A348.6 348.6 0 00760.8 857c32.4-32 57.8-69.4 75.5-110.9a344.2 344.2 0 0027.7-136c0-48.8-10-96.2-29.9-140.9z',
|
|
80
|
+
],
|
|
81
|
+
FireOutlined: [
|
|
82
|
+
'M834.1 469.2A347.49 347.49 0 00751.2 354l-29.1-26.7a8.09 8.09 0 00-13 3.3l-13 37.3c-8.1 23.4-23 47.3-44.1 70.8-1.4 1.5-3 1.9-4.1 2-1.1.1-2.8-.1-4.3-1.5-1.4-1.2-2.1-3-2-4.8 3.7-60.2-14.3-128.1-53.7-202C555.3 171 510 123.1 453.4 89.7l-41.3-24.3c-5.4-3.2-12.3 1-12 7.3l2.2 48c1.5 32.8-2.3 61.8-11.3 85.9-11 29.5-26.8 56.9-47 81.5a295.64 295.64 0 01-47.5 46.1 352.6 352.6 0 00-100.3 121.5A347.75 347.75 0 00160 610c0 47.2 9.3 92.9 27.7 136a349.4 349.4 0 0075.5 110.9c32.4 32 70 57.2 111.9 74.7C418.5 949.8 464.5 959 512 959s93.5-9.2 136.9-27.3A348.6 348.6 0 00760.8 857c32.4-32 57.8-69.4 75.5-110.9a344.2 344.2 0 0027.7-136c0-48.8-10-96.2-29.9-140.9zM713 808.5c-53.7 53.2-125 82.4-201 82.4s-147.3-29.2-201-82.4c-53.5-53.1-83-123.5-83-198.4 0-43.5 9.8-85.2 29.1-124 18.8-37.9 46.8-71.8 80.8-97.9a349.6 349.6 0 0058.6-56.8c25-30.5 44.6-64.5 58.2-101a240 240 0 0012.1-46.5c24.1 22.2 44.3 49 61.2 80.4 33.4 62.6 48.8 118.3 45.8 165.7a74.01 74.01 0 0024.4 59.8 73.36 73.36 0 0053.4 18.8c19.7-1 37.8-9.7 51-24.4 13.3-14.9 24.8-30.1 34.4-45.6 14 17.9 25.7 37.4 35 58.4 15.9 35.8 24 73.9 24 113.1 0 74.9-29.5 145.4-83 198.4z',
|
|
83
|
+
],
|
|
84
|
+
HeartFilled: [
|
|
85
|
+
'M923 283.6a260.04 260.04 0 00-56.9-82.8 264.4 264.4 0 00-84-55.5A265.34 265.34 0 00679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 00-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9z',
|
|
86
|
+
],
|
|
87
|
+
HeartOutlined: [
|
|
88
|
+
'M923 283.6a260.04 260.04 0 00-56.9-82.8 264.4 264.4 0 00-84-55.5A265.34 265.34 0 00679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 00-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9zM512 814.8S156 586.7 156 385.5C156 283.6 240.3 201 344.3 201c73.1 0 136.5 40.8 167.7 100.4C543.2 241.8 606.6 201 679.7 201c104 0 188.3 82.6 188.3 184.5 0 201.2-356 429.3-356 429.3z',
|
|
89
|
+
],
|
|
90
|
+
BulbFilled: [
|
|
91
|
+
'M348 676.1C250 619.4 184 513.4 184 392c0-181.1 146.9-328 328-328s328 146.9 328 328c0 121.4-66 227.4-164 284.1V792c0 17.7-14.3 32-32 32H380c-17.7 0-32-14.3-32-32V676.1zM392 888h240c4.4 0 8 3.6 8 8v32c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32v-32c0-4.4 3.6-8 8-8z',
|
|
92
|
+
],
|
|
93
|
+
BulbOutlined: [
|
|
94
|
+
'M632 888H392c-4.4 0-8 3.6-8 8v32c0 17.7 14.3 32 32 32h192c17.7 0 32-14.3 32-32v-32c0-4.4-3.6-8-8-8zM512 64c-181.1 0-328 146.9-328 328 0 121.4 66 227.4 164 284.1V792c0 17.7 14.3 32 32 32h264c17.7 0 32-14.3 32-32V676.1c98-56.7 164-162.7 164-284.1 0-181.1-146.9-328-328-328zm127.9 549.8L604 634.6V752H420V634.6l-35.9-20.8C305.4 568.3 256 484.5 256 392c0-141.4 114.6-256 256-256s256 114.6 256 256c0 92.5-49.4 176.3-128.1 221.8z',
|
|
95
|
+
],
|
|
96
|
+
MessageFilled: [
|
|
97
|
+
'M924.3 338.4a447.57 447.57 0 00-96.1-143.3 443.09 443.09 0 00-143-96.3A443.91 443.91 0 00512 64h-2c-60.5.3-119 12.3-174.1 35.9a444.08 444.08 0 00-141.7 96.5 445 445 0 00-95 142.8A449.89 449.89 0 0065 514.1c.3 69.4 16.9 138.3 47.9 199.9v152c0 25.4 20.6 46 45.9 46h151.8a447.72 447.72 0 00199.5 48h2.1c59.8 0 117.7-11.6 172.3-34.3A443.2 443.2 0 00827 830.5c41.2-40.9 73.6-88.7 96.3-142 23.5-55.2 35.5-113.9 35.8-174.5.2-60.9-11.6-120-34.8-175.6zM312.4 560c-26.4 0-47.9-21.5-47.9-48s21.5-48 47.9-48 47.9 21.5 47.9 48-21.4 48-47.9 48zm199.6 0c-26.4 0-47.9-21.5-47.9-48s21.5-48 47.9-48 47.9 21.5 47.9 48-21.5 48-47.9 48zm199.6 0c-26.4 0-47.9-21.5-47.9-48s21.5-48 47.9-48 47.9 21.5 47.9 48-21.5 48-47.9 48z',
|
|
98
|
+
],
|
|
99
|
+
MessageOutlined: [
|
|
100
|
+
'M464 512a48 48 0 1096 0 48 48 0 10-96 0zm200 0a48 48 0 1096 0 48 48 0 10-96 0zm-400 0a48 48 0 1096 0 48 48 0 10-96 0zm661.2-173.6c-22.6-53.7-55-101.9-96.3-143.3a444.35 444.35 0 00-143.3-96.3C630.6 75.7 572.2 64 512 64h-2c-60.6.3-119.3 12.3-174.5 35.9a445.35 445.35 0 00-142 96.5c-40.9 41.3-73 89.3-95.2 142.8-23 55.4-34.6 114.3-34.3 174.9A449.4 449.4 0 00112 714v152a46 46 0 0046 46h152.1A449.4 449.4 0 00510 960h2.1c59.9 0 118-11.6 172.7-34.3a444.48 444.48 0 00142.8-95.2c41.3-40.9 73.8-88.7 96.5-142 23.6-55.2 35.6-113.9 35.9-174.5.3-60.9-11.5-120-34.8-175.6zm-151.1 438C704 845.8 611 884 512 884h-1.7c-60.3-.3-120.2-15.3-173.1-43.5l-8.4-4.5H188V695.2l-4.5-8.4C155.3 633.9 140.3 574 140 513.7c-.4-99.7 37.7-193.3 107.6-263.8 69.8-70.5 163.1-109.5 262.8-109.9h1.7c50 0 98.5 9.7 144.2 28.9 44.6 18.7 84.6 45.6 119 80 34.3 34.3 61.3 74.4 80 119 19.4 46.2 29.1 95.2 28.9 145.8-.6 99.6-39.7 192.9-110.1 262.7z',
|
|
101
|
+
],
|
|
102
|
+
SmileFilled: [
|
|
103
|
+
'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM288 421a48.01 48.01 0 0196 0 48.01 48.01 0 01-96 0zm224 272c-85.5 0-155.6-67.3-160-151.6a8 8 0 018-8.4h48.1c4.2 0 7.8 3.2 8.1 7.4C420 589.9 461.5 629 512 629s92.1-39.1 95.8-88.6c.3-4.2 3.9-7.4 8.1-7.4H664a8 8 0 018 8.4C667.6 625.7 597.5 693 512 693zm176-224a48.01 48.01 0 010-96 48.01 48.01 0 010 96z',
|
|
104
|
+
],
|
|
105
|
+
SmileOutlined: [
|
|
106
|
+
'M288 421a48 48 0 1096 0 48 48 0 10-96 0zm352 0a48 48 0 1096 0 48 48 0 10-96 0zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm263 711c-34.2 34.2-74 61-118.3 79.8C611 874.2 562.3 884 512 884c-50.3 0-99-9.8-144.8-29.2A370.4 370.4 0 01248.9 775c-34.2-34.2-61-74-79.8-118.3C149.8 611 140 562.3 140 512s9.8-99 29.2-144.8A370.4 370.4 0 01249 248.9c34.2-34.2 74-61 118.3-79.8C413 149.8 461.7 140 512 140c50.3 0 99 9.8 144.8 29.2A370.4 370.4 0 01775.1 249c34.2 34.2 61 74 79.8 118.3C874.2 413 884 461.7 884 512s-9.8 99-29.2 144.8A368.89 368.89 0 01775 775zM664 533h-48.1c-4.2 0-7.8 3.2-8.1 7.4C604 589.9 562.5 629 512 629s-92.1-39.1-95.8-88.6c-.3-4.2-3.9-7.4-8.1-7.4H360a8 8 0 00-8 8.4c4.4 84.3 74.5 151.6 160 151.6s155.6-67.3 160-151.6a8 8 0 00-8-8.4z',
|
|
107
|
+
],
|
|
108
|
+
StarFilled: [
|
|
109
|
+
'M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 00.6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0046.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3z',
|
|
110
|
+
],
|
|
111
|
+
StarOutlined: [
|
|
112
|
+
'M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 00.6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0046.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3zM664.8 561.6l36.1 210.3L512 672.7 323.1 772l36.1-210.3-152.8-149L417.6 382 512 190.7 606.4 382l211.2 30.7-152.8 148.9z',
|
|
113
|
+
],
|
|
114
|
+
StopOutlined: [
|
|
115
|
+
'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372 0-89 31.3-170.8 83.5-234.8l523.3 523.3C682.8 852.7 601 884 512 884zm288.5-137.2L277.2 223.5C341.2 171.3 423 140 512 140c205.4 0 372 166.6 372 372 0 89-31.3 170.8-83.5 234.8z',
|
|
116
|
+
],
|
|
117
|
+
LikeFilled: [
|
|
118
|
+
'M885.9 533.7c16.8-22.2 26.1-49.4 26.1-77.7 0-44.9-25.1-87.4-65.5-111.1a67.67 67.67 0 00-34.3-9.3H572.4l6-122.9c1.4-29.7-9.1-57.9-29.5-79.4A106.62 106.62 0 00471 99.9c-52 0-98 35-111.8 85.1l-85.9 311h-.3v428h472.3c9.2 0 18.2-1.8 26.5-5.4 47.6-20.3 78.3-66.8 78.3-118.4 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7-.2-12.6-2-25.1-5.6-37.1zM112 528v364c0 17.7 14.3 32 32 32h65V496h-65c-17.7 0-32 14.3-32 32z',
|
|
119
|
+
],
|
|
120
|
+
LikeOutlined: [
|
|
121
|
+
'M885.9 533.7c16.8-22.2 26.1-49.4 26.1-77.7 0-44.9-25.1-87.4-65.5-111.1a67.67 67.67 0 00-34.3-9.3H572.4l6-122.9c1.4-29.7-9.1-57.9-29.5-79.4A106.62 106.62 0 00471 99.9c-52 0-98 35-111.8 85.1l-85.9 311H144c-17.7 0-32 14.3-32 32v364c0 17.7 14.3 32 32 32h601.3c9.2 0 18.2-1.8 26.5-5.4 47.6-20.3 78.3-66.8 78.3-118.4 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7-.2-12.6-2-25.1-5.6-37.1zM184 852V568h81v284h-81zm636.4-353l-21.9 19 13.9 25.4a56.2 56.2 0 016.9 27.3c0 16.5-7.2 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 016.9 27.3c0 16.5-7.2 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 016.9 27.3c0 22.4-13.2 42.6-33.6 51.8H329V564.8l99.5-360.5a44.1 44.1 0 0142.2-32.3c7.6 0 15.1 2.2 21.1 6.7 9.9 7.4 15.2 18.6 14.6 30.5l-9.6 198.4h314.4C829 418.5 840 436.9 840 456c0 16.5-7.2 32.1-19.6 43z',
|
|
122
|
+
],
|
|
123
|
+
UnlockOutlined: [
|
|
124
|
+
'M832 464H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v68c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-68c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zm-40 376H232V536h560v304zM484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 10-56 0z',
|
|
125
|
+
],
|
|
126
|
+
UnlockFilled: [
|
|
127
|
+
'M832 464H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v68c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-68c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM540 701v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 1156 0z',
|
|
29
128
|
],
|
|
30
129
|
CaretDownOutlined: [
|
|
31
130
|
'M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z',
|
|
@@ -39,29 +138,143 @@ const iconPathMap: Record<string, string[]> = {
|
|
|
39
138
|
CaretUpOutlined: [
|
|
40
139
|
'M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z',
|
|
41
140
|
],
|
|
42
|
-
|
|
43
|
-
'
|
|
44
|
-
'M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z',
|
|
141
|
+
DownOutlined: [
|
|
142
|
+
'M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z',
|
|
45
143
|
],
|
|
46
|
-
|
|
47
|
-
'
|
|
144
|
+
LeftOutlined: [
|
|
145
|
+
'M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z',
|
|
146
|
+
],
|
|
147
|
+
RightOutlined: [
|
|
148
|
+
'M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z',
|
|
149
|
+
],
|
|
150
|
+
UpOutlined: [
|
|
151
|
+
'M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z',
|
|
48
152
|
],
|
|
49
153
|
PauseOutlined: [
|
|
50
154
|
'M304 176h80v672h-80zm408 0h-64c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8z',
|
|
51
155
|
],
|
|
156
|
+
PauseCircleOutlined: [
|
|
157
|
+
'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm-88-532h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zm224 0h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z',
|
|
158
|
+
],
|
|
159
|
+
PauseCircleFilled: [
|
|
160
|
+
'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-80 600c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304zm224 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304z',
|
|
161
|
+
],
|
|
52
162
|
PlayCircleOutlined: [
|
|
53
163
|
'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z',
|
|
54
164
|
'M719.4 499.1l-296.1-215A15.9 15.9 0 0 0 398 297v430c0 13.1 14.8 20.5 25.3 12.9l296.1-215a15.9 15.9 0 0 0 0-25.8zm-257.6 134V390.9L628.5 512 461.8 633.1z',
|
|
55
165
|
],
|
|
56
|
-
|
|
57
|
-
'
|
|
166
|
+
PlayCircleFilled: [
|
|
167
|
+
'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm144.1 454.9L437.7 677.8a8.02 8.02 0 0 1-12.7-6.5V353.7a8 8 0 0 1 12.7-6.5L656.1 506a7.9 7.9 0 0 1 0 12.9z',
|
|
58
168
|
],
|
|
59
169
|
MutedOutlined: [
|
|
60
170
|
'M771.915 115c-5.863 0-11.877 1.644-17.42 5.267L400 351.966H236c-8.837 0-16 7.165-16 16.003V656.03c0 8.838 7.163 16.003 16 16.003h164l354.495 231.7c5.542 3.621 11.558 5.267 17.42 5.267C788.566 909 804 895.749 804 876.94V147.06c0-18.808-15.436-32.06-32.085-32.06M732 220.997v582.005L439.386 611.75l-17.948-11.73H292V423.98h129.438l17.948-11.73z',
|
|
61
171
|
],
|
|
172
|
+
MutedFilled: [
|
|
173
|
+
'M771.915 115c-5.863 0-11.877 1.644-17.42 5.267L400 351.966H236c-8.837 0-16 7.165-16 16.003V656.03c0 8.838 7.163 16.003 16 16.003h164l354.495 231.7c5.542 3.621 11.558 5.267 17.42 5.267C788.566 909 804 895.749 804 876.94V147.06c0-18.808-15.436-32.06-32.085-32.06',
|
|
174
|
+
],
|
|
175
|
+
SoundOutlined: [
|
|
176
|
+
'M625.9 115c-5.9 0-11.9 1.6-17.4 5.3L254 352H90c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h164l354.5 231.7c5.5 3.6 11.6 5.3 17.4 5.3 16.7 0 32.1-13.3 32.1-32.1V147.1c0-18.8-15.4-32.1-32.1-32.1zM586 803L293.4 611.7l-18-11.7H146V424h129.4l17.9-11.7L586 221v582zm348-327H806c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16zm-41.9 261.8l-110.3-63.7a15.9 15.9 0 0 0-21.7 5.9l-19.9 34.5c-4.4 7.6-1.8 17.4 5.8 21.8L856.3 800a15.9 15.9 0 0 0 21.7-5.9l19.9-34.5c4.4-7.6 1.7-17.4-5.8-21.8zM760 344a15.9 15.9 0 0 0 21.7 5.9L892 286.2c7.6-4.4 10.2-14.2 5.8-21.8L878 230a15.9 15.9 0 0 0-21.7-5.9L746 287.8a15.99 15.99 0 0 0-5.8 21.8L760 344z',
|
|
177
|
+
],
|
|
178
|
+
SoundFilled: [
|
|
179
|
+
'M892.1 737.8l-110.3-63.7a15.9 15.9 0 0 0-21.7 5.9l-19.9 34.5c-4.4 7.6-1.8 17.4 5.8 21.8L856.3 800a15.9 15.9 0 0 0 21.7-5.9l19.9-34.5c4.4-7.6 1.7-17.4-5.8-21.8zM760 344a15.9 15.9 0 0 0 21.7 5.9L892 286.2c7.6-4.4 10.2-14.2 5.8-21.8L878 230a15.9 15.9 0 0 0-21.7-5.9L746 287.8a15.99 15.99 0 0 0-5.8 21.8L760 344zm174 132H806c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16zM625.9 115c-5.9 0-11.9 1.6-17.4 5.3L254 352H90c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h164l354.5 231.7c5.5 3.6 11.6 5.3 17.4 5.3 16.7 0 32.1-13.3 32.1-32.1V147.1c0-18.8-15.4-32.1-32.1-32.1z',
|
|
180
|
+
],
|
|
62
181
|
};
|
|
63
182
|
|
|
183
|
+
// SF-Symbol-style names (what the CMS emits for Apple-family platforms) mapped
|
|
184
|
+
// onto the Ant-named path set above. Base names only; a trailing ".fill" is
|
|
185
|
+
// stripped and retried so filled SF variants fall back to their outline path.
|
|
186
|
+
const SF_SYMBOL_ALIASES: Record<string, string> = {
|
|
187
|
+
checkmark: 'CheckOutlined',
|
|
188
|
+
'checkmark.circle': 'CheckCircleOutlined',
|
|
189
|
+
'checkmark.circle.fill': 'CheckCircleFilled',
|
|
190
|
+
'checkmark.seal': 'CheckCircleOutlined',
|
|
191
|
+
xmark: 'CloseOutlined',
|
|
192
|
+
multiply: 'CloseOutlined',
|
|
193
|
+
'xmark.circle': 'CloseCircleOutlined',
|
|
194
|
+
'xmark.circle.fill': 'CloseCircleFilled',
|
|
195
|
+
'multiply.circle': 'CloseCircleOutlined',
|
|
196
|
+
'multiply.circle.fill': 'CloseCircleFilled',
|
|
197
|
+
'chevron.left': 'LeftOutlined',
|
|
198
|
+
'chevron.right': 'RightOutlined',
|
|
199
|
+
'chevron.up': 'UpOutlined',
|
|
200
|
+
'chevron.down': 'DownOutlined',
|
|
201
|
+
'chevron.backward': 'LeftOutlined',
|
|
202
|
+
'chevron.forward': 'RightOutlined',
|
|
203
|
+
'arrow.left': 'LeftOutlined',
|
|
204
|
+
'arrow.right': 'RightOutlined',
|
|
205
|
+
'arrow.up': 'UpOutlined',
|
|
206
|
+
'arrow.down': 'DownOutlined',
|
|
207
|
+
plus: 'PlusOutlined',
|
|
208
|
+
'plus.circle': 'PlusCircleOutlined',
|
|
209
|
+
'plus.circle.fill': 'PlusCircleFilled',
|
|
210
|
+
info: 'InfoCircleOutlined',
|
|
211
|
+
'info.circle': 'InfoCircleOutlined',
|
|
212
|
+
'info.circle.fill': 'InfoCircleFilled',
|
|
213
|
+
questionmark: 'QuestionOutlined',
|
|
214
|
+
'questionmark.circle': 'QuestionCircleOutlined',
|
|
215
|
+
'questionmark.circle.fill': 'QuestionCircleFilled',
|
|
216
|
+
play: 'PlayCircleOutlined',
|
|
217
|
+
'play.circle': 'PlayCircleOutlined',
|
|
218
|
+
'play.circle.fill': 'PlayCircleFilled',
|
|
219
|
+
'play.fill': 'PlayCircleFilled',
|
|
220
|
+
pause: 'PauseOutlined',
|
|
221
|
+
'pause.circle': 'PauseCircleOutlined',
|
|
222
|
+
'pause.circle.fill': 'PauseCircleFilled',
|
|
223
|
+
'pause.fill': 'PauseOutlined',
|
|
224
|
+
speaker: 'SoundOutlined',
|
|
225
|
+
'speaker.fill': 'SoundFilled',
|
|
226
|
+
'speaker.wave.2': 'SoundOutlined',
|
|
227
|
+
'speaker.wave.3': 'SoundOutlined',
|
|
228
|
+
'speaker.wave.2.fill': 'SoundFilled',
|
|
229
|
+
'speaker.slash': 'MutedOutlined',
|
|
230
|
+
'speaker.slash.fill': 'MutedFilled',
|
|
231
|
+
heart: 'HeartOutlined',
|
|
232
|
+
'heart.fill': 'HeartFilled',
|
|
233
|
+
star: 'StarOutlined',
|
|
234
|
+
'star.fill': 'StarFilled',
|
|
235
|
+
bell: 'BellOutlined',
|
|
236
|
+
'bell.fill': 'BellFilled',
|
|
237
|
+
'hand.thumbsup': 'LikeOutlined',
|
|
238
|
+
'hand.thumbsup.fill': 'LikeFilled',
|
|
239
|
+
'lock.open': 'UnlockOutlined',
|
|
240
|
+
'lock.open.fill': 'UnlockFilled',
|
|
241
|
+
calendar: 'CalendarOutlined',
|
|
242
|
+
cloud: 'CloudOutlined',
|
|
243
|
+
'cloud.fill': 'CloudFilled',
|
|
244
|
+
flame: 'FireOutlined',
|
|
245
|
+
'flame.fill': 'FireFilled',
|
|
246
|
+
message: 'MessageOutlined',
|
|
247
|
+
'message.fill': 'MessageFilled',
|
|
248
|
+
'bubble.left': 'MessageOutlined',
|
|
249
|
+
'bubble.right': 'MessageOutlined',
|
|
250
|
+
'face.smiling': 'SmileOutlined',
|
|
251
|
+
'face.smiling.fill': 'SmileFilled',
|
|
252
|
+
bolt: 'ThunderboltFilled',
|
|
253
|
+
'bolt.fill': 'ThunderboltFilled',
|
|
254
|
+
lightbulb: 'BulbOutlined',
|
|
255
|
+
'lightbulb.fill': 'BulbFilled',
|
|
256
|
+
stop: 'StopOutlined',
|
|
257
|
+
'stop.circle': 'StopOutlined',
|
|
258
|
+
};
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* Resolve an icon name to its SVG path data. Tries the Ant name directly, then
|
|
262
|
+
* an SF-Symbol alias (with a ".fill" -> outline retry). Returns undefined when
|
|
263
|
+
* nothing matches so the caller can fall back to a text glyph — deliberately no
|
|
264
|
+
* check-circle default (see file header / NAM-3138).
|
|
265
|
+
*/
|
|
64
266
|
export function iconPathsByName(name?: string): string[] | undefined {
|
|
65
267
|
if (!name) return undefined;
|
|
66
|
-
|
|
268
|
+
const direct = iconPathMap[name];
|
|
269
|
+
if (direct) return direct;
|
|
270
|
+
|
|
271
|
+
const key = name.toLowerCase();
|
|
272
|
+
const aliased = SF_SYMBOL_ALIASES[key];
|
|
273
|
+
if (aliased && iconPathMap[aliased]) return iconPathMap[aliased];
|
|
274
|
+
|
|
275
|
+
if (key.endsWith('.fill')) {
|
|
276
|
+
const base = SF_SYMBOL_ALIASES[key.slice(0, -'.fill'.length)];
|
|
277
|
+
if (base && iconPathMap[base]) return iconPathMap[base];
|
|
278
|
+
}
|
|
279
|
+
return undefined;
|
|
67
280
|
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// Shared text-glyph fallbacks for symbol/icon names. Used when an SVG icon path
|
|
2
|
+
// isn't rendered — e.g. React Native without react-native-svg, or a text-only
|
|
3
|
+
// list bullet. Resolution tolerates both the Ant-Design-style PascalCase names
|
|
4
|
+
// the CMS emits ("CheckOutlined", "CloseCircleOutlined") and short lowercase
|
|
5
|
+
// tokens ("check", "close"), so a checkmark bullet no longer falls back to a dot.
|
|
6
|
+
|
|
7
|
+
export const SYMBOL_GLYPHS: Record<string, string> = {
|
|
8
|
+
check: '✓',
|
|
9
|
+
checkmark: '✓',
|
|
10
|
+
tick: '✓',
|
|
11
|
+
close: '✕',
|
|
12
|
+
xmark: '✕',
|
|
13
|
+
multiply: '✕',
|
|
14
|
+
plus: '+',
|
|
15
|
+
minus: '−',
|
|
16
|
+
right: '›',
|
|
17
|
+
left: '‹',
|
|
18
|
+
up: '⌃',
|
|
19
|
+
down: '⌄',
|
|
20
|
+
dot: '•',
|
|
21
|
+
bullet: '•',
|
|
22
|
+
info: 'ℹ',
|
|
23
|
+
question: '?',
|
|
24
|
+
play: '▶',
|
|
25
|
+
pause: '⏸',
|
|
26
|
+
sound: '🔊',
|
|
27
|
+
volume: '🔊',
|
|
28
|
+
muted: '🔇',
|
|
29
|
+
heart: '♥',
|
|
30
|
+
star: '★',
|
|
31
|
+
like: '👍',
|
|
32
|
+
unlock: '🔓',
|
|
33
|
+
calendar: '📅',
|
|
34
|
+
cloud: '☁',
|
|
35
|
+
fire: '🔥',
|
|
36
|
+
bell: '🔔',
|
|
37
|
+
message: '💬',
|
|
38
|
+
smile: '☺',
|
|
39
|
+
caret: '▾',
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Resolve a symbol/icon name to a single fallback glyph. Returns '' when nothing
|
|
44
|
+
* matches so callers can supply their own default (e.g. a bullet dot).
|
|
45
|
+
* Tries an exact key, then a punctuation-stripped key, then the longest token
|
|
46
|
+
* that is a substring of the normalized name (so "CheckCircleOutlined" → check).
|
|
47
|
+
*/
|
|
48
|
+
export function resolveSymbolGlyph(name?: string): string {
|
|
49
|
+
if (!name) return '';
|
|
50
|
+
const key = name.toLowerCase();
|
|
51
|
+
if (SYMBOL_GLYPHS[key]) return SYMBOL_GLYPHS[key];
|
|
52
|
+
|
|
53
|
+
const normalized = key.replace(/[^a-z0-9]/g, '');
|
|
54
|
+
if (SYMBOL_GLYPHS[normalized]) return SYMBOL_GLYPHS[normalized];
|
|
55
|
+
|
|
56
|
+
let best = '';
|
|
57
|
+
let bestLen = 0;
|
|
58
|
+
for (const token of Object.keys(SYMBOL_GLYPHS)) {
|
|
59
|
+
if (token.length > bestLen && normalized.includes(token)) {
|
|
60
|
+
best = SYMBOL_GLYPHS[token];
|
|
61
|
+
bestLen = token.length;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return best;
|
|
65
|
+
}
|