@@ -6,7 +6,7 @@ import {getRootEditorStore} from '@codeimage/store/editor';
6
6
import { getActiveEditorStore } from '@codeimage/store/editor/activeEditor' ;
7
7
import { dispatchUpdateTheme } from '@codeimage/store/effects/onThemeChange' ;
8
8
import { getThemeStore } from '@codeimage/store/theme/theme.store' ;
9
- import { createSelectOptions , Select } from '@codeui/kit' ;
9
+ import { createSelectOptions , Select , NumberField } from '@codeui/kit' ;
10
10
import { getUmami } from '@core/constants/umami' ;
11
11
import { DynamicSizedContainer } from '@ui/DynamicSizedContainer/DynamicSizedContainer' ;
12
12
import { SegmentedField } from '@ui/SegmentedField/SegmentedField' ;
@@ -18,6 +18,7 @@ import {PanelDivider} from './PanelDivider';
18
18
import { PanelHeader } from './PanelHeader' ;
19
19
import { PanelRow , TwoColumnPanelRow } from './PanelRow' ;
20
20
import { SuspenseEditorItem } from './SuspenseEditorItem' ;
21
+ import { appEnvironment } from '@core/configuration' ;
21
22
22
23
const languages : readonly LanguageDefinition [ ] = [ ...SUPPORTED_LANGUAGES ] . sort (
23
24
( a , b ) => {
@@ -35,9 +36,15 @@ const languages: readonly LanguageDefinition[] = [...SUPPORTED_LANGUAGES].sort(
35
36
36
37
export const EditorStyleForm : ParentComponent = ( ) => {
37
38
const { themeArray} = getThemeStore ( ) ;
39
+ const { lineNumbers : lineNumbersConfig } = appEnvironment ;
38
40
const [ t ] = useI18n < AppLocaleEntries > ( ) ;
39
- const { editor, setLanguageId, formatter, setFormatterName} =
40
- getActiveEditorStore ( ) ;
41
+ const {
42
+ editor,
43
+ setLanguageId,
44
+ formatter,
45
+ setFormatterName,
46
+ setLineNumberStart,
47
+ } = getActiveEditorStore ( ) ;
41
48
const {
42
49
state,
43
50
actions : { setShowLineNumbers, setFontWeight, setFontId, setEnableLigatures} ,
@@ -207,6 +214,28 @@ export const EditorStyleForm: ParentComponent = () => {
207
214
</ SuspenseEditorItem >
208
215
</ TwoColumnPanelRow >
209
216
</ PanelRow >
217
+
218
+ < Show when = { state . options . showLineNumbers } >
219
+ < PanelRow
220
+ for = { 'frameLineNumberStartField' }
221
+ label = { t ( 'frame.lineNumberStart' ) }
222
+ >
223
+ < TwoColumnPanelRow >
224
+ < SuspenseEditorItem
225
+ fallback = { < SkeletonLine width = { '100%' } height = { '26px' } /> }
226
+ >
227
+ < NumberField
228
+ size = { 'xs' }
229
+ min = { lineNumbersConfig . min }
230
+ max = { lineNumbersConfig . max }
231
+ id = { 'frameLineNumberStartField' }
232
+ value = { editor ( ) . lineNumberStart }
233
+ onChange = { setLineNumberStart }
234
+ />
235
+ </ SuspenseEditorItem >
236
+ </ TwoColumnPanelRow >
237
+ </ PanelRow >
238
+ </ Show >
210
239
</ DynamicSizedContainer >
211
240
212
241
< PanelDivider />
0 commit comments