Skip to content

Commit 06176d1

Browse files
authored
Use ?url imports on svgs to fix production build issue with rich text component icons (#27)
Fixes #24
1 parent 99c05ca commit 06176d1

2 files changed

Lines changed: 15 additions & 16 deletions

File tree

packages/design/src/FormManager/FormEdit/AddPatternDropdown.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@ import React, { useState, useRef, useEffect } from 'react';
22
import { defaultFormConfig, type PatternConfig } from '@flexion/forms-core';
33
import { useFormManagerStore } from '../store.js';
44
import styles from './formEditStyles.module.css';
5-
import blockIcon from './images/block-icon.svg';
6-
import checkboxIcon from './images/checkbox-icon.svg';
7-
import longAnswerIcon from './images/long-answer-icon.svg';
8-
import pageIcon from './images/page-icon.svg';
9-
import shortAnswerIcon from './images/short-answer-icon.svg';
10-
import multipleChoiceIcon from './images/radio-options-icon.svg';
11-
import templateIcon from './images/template-icon.svg';
5+
import blockIcon from './images/block-icon.svg?url';
6+
import checkboxIcon from './images/checkbox-icon.svg?url';
7+
import longAnswerIcon from './images/long-answer-icon.svg?url';
8+
import pageIcon from './images/page-icon.svg?url';
9+
import shortAnswerIcon from './images/short-answer-icon.svg?url';
10+
import multipleChoiceIcon from './images/radio-options-icon.svg?url';
11+
import templateIcon from './images/template-icon.svg?url';
1212

1313
import classNames from 'classnames';
1414
import { enLocale as message } from '@flexion/forms-common';

packages/design/src/FormManager/FormEdit/components/RichTextPatternEdit/RichTextPatternEdit.tsx

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,14 @@ import { useFormManagerStore } from '../../../store.js';
2121
import { PatternEditComponent } from '../../types.js';
2222
import styles from './richTextPatternEditStyles.module.css';
2323

24-
import boldSvg from './images/format_bold.svg';
25-
import italicSvg from './images/format_italic.svg';
26-
import bulletListSvg from './images/format_list_bulleted.svg';
27-
import orderedListSvg from './images/format_list_numbered.svg';
28-
import headingSvg from './images/format_h2.svg';
29-
import subheadingSvg from './images/format_h3.svg';
24+
import boldSvg from './images/format_bold.svg?url';
25+
import italicSvg from './images/format_italic.svg?url';
26+
import bulletListSvg from './images/format_list_bulleted.svg?url';
27+
import orderedListSvg from './images/format_list_numbered.svg?url';
28+
import headingSvg from './images/format_h2.svg?url';
29+
import subheadingSvg from './images/format_h3.svg?url';
3030

31-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
32-
const icons: Record<string, string | any> = {
31+
const icons: Record<string, string> = {
3332
'format_h2.svg': headingSvg,
3433
'format_h3.svg': subheadingSvg,
3534
'format_bold.svg': boldSvg,
@@ -39,7 +38,7 @@ const icons: Record<string, string | any> = {
3938
};
4039

4140
const getIconPath = (iconPath: string) => {
42-
return Object.values(icons[iconPath])[0] as string;
41+
return icons[iconPath];
4342
};
4443

4544
interface MenuBarProps {

0 commit comments

Comments
 (0)