@phpsoftbox/react-softbox 1.15.0 → 1.16.0

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/README.md CHANGED
@@ -46,6 +46,12 @@ import {
46
46
  } from '@phpsoftbox/react-softbox';
47
47
  ```
48
48
 
49
+ ```ts
50
+ import { MarkdownEditor } from '@phpsoftbox/react-softbox/markdown';
51
+ ```
52
+
53
+ `MarkdownEditor` вынесен в отдельный entrypoint, чтобы основной пакет не подтягивал `shiki`.
54
+
49
55
  ## Тема
50
56
 
51
57
  ```ts
@@ -162,6 +168,8 @@ const columns = [
162
168
  />;
163
169
  ```
164
170
 
171
+ `selection.showFooterToggle: true` дублирует чекбокс выбора всех строк в `tfoot`.
172
+
165
173
  ### FileUploader
166
174
 
167
175
  ```tsx
@@ -1,4 +1,5 @@
1
1
  .wrapper {
2
+ --ui-float-label-background: var(--surface-input);
2
3
  position: relative;
3
4
  display: block;
4
5
  }
@@ -10,9 +11,10 @@
10
11
 
11
12
  .label {
12
13
  position: absolute;
13
- left: 16px;
14
- right: 16px;
14
+ left: 12px;
15
+ max-width: calc(100% - 24px);
15
16
  top: 16px;
17
+ box-sizing: border-box;
16
18
  color: var(--color-muted-2);
17
19
  font-size: var(--ui-control-font-size, var(--font-size-3));
18
20
  line-height: 1.2;
@@ -20,8 +22,8 @@
20
22
  transition: transform 0.2s ease, color 0.2s ease, opacity 0.2s ease;
21
23
  pointer-events: none;
22
24
  z-index: 1;
23
- background: var(--surface-input);
24
- padding: 0;
25
+ background: var(--ui-float-label-background);
26
+ padding: 0 4px;
25
27
  border-radius: 4px;
26
28
  white-space: nowrap;
27
29
  overflow: hidden;
@@ -29,7 +31,16 @@
29
31
  }
30
32
 
31
33
  .wrapperWithHint .label {
32
- right: 52px;
34
+ max-width: calc(100% - 64px);
35
+ }
36
+
37
+ .wrapper > textarea + .label {
38
+ background: var(--surface-input-solid);
39
+ }
40
+
41
+ .wrapper > input:disabled + .label,
42
+ .wrapper > textarea:disabled + .label {
43
+ background: var(--surface-input-disabled);
33
44
  }
34
45
 
35
46
  .requiredMark {
@@ -28,6 +28,7 @@ export default function Select({ label, id, name, required = false, options = []
28
28
  const shouldPortal = portal && canPortal;
29
29
  const [items, setItems] = React.useState(resolvedOptions);
30
30
  const [createdItems, setCreatedItems] = React.useState([]);
31
+ const containerRef = React.useRef(null);
31
32
  const controlRef = React.useRef(null);
32
33
  const optionRefs = React.useRef([]);
33
34
  const activeOptionSourceRef = React.useRef('sync');
@@ -35,10 +36,9 @@ export default function Select({ label, id, name, required = false, options = []
35
36
  gap: 6,
36
37
  align: 'left',
37
38
  placement,
38
- anchorRef: controlRef,
39
+ anchorRef: containerRef,
39
40
  strategy: shouldPortal ? 'fixed' : 'absolute',
40
41
  });
41
- const containerRef = React.useRef(null);
42
42
  const inputRef = React.useRef(null);
43
43
  const listRef = React.useRef(null);
44
44
  const generatedId = React.useId();
@@ -116,7 +116,8 @@ export default function Select({ label, id, name, required = false, options = []
116
116
  return;
117
117
  }
118
118
  const target = event.target;
119
- const insideControl = containerRef.current.contains(target);
119
+ const eventPath = typeof event.composedPath === 'function' ? event.composedPath() : [];
120
+ const insideControl = containerRef.current.contains(target) || eventPath.includes(containerRef.current);
120
121
  const insideDropdown = dropdownRef.current ? dropdownRef.current.contains(target) : false;
121
122
  if (!insideControl && !insideDropdown) {
122
123
  setOpen(false);
@@ -153,6 +154,11 @@ export default function Select({ label, id, name, required = false, options = []
153
154
  }
154
155
  }
155
156
  }, [open, searchable]);
157
+ React.useEffect(() => {
158
+ if (!open && query !== '') {
159
+ setQuery('');
160
+ }
161
+ }, [open, query]);
156
162
  const allOptions = React.useMemo(() => (emptyOption ? [emptyOption, ...mergedItems] : mergedItems), [emptyOption, mergedItems]);
157
163
  const optionMap = React.useMemo(() => {
158
164
  return new Map(allOptions.map((item) => [item.value, item]));
@@ -201,6 +207,14 @@ export default function Select({ label, id, name, required = false, options = []
201
207
  const hasValue = multiple ? selectedValues.length > 0 : selectedValues !== undefined;
202
208
  const isEmptySelection = !multiple && allowEmpty && selectedValues === resolvedEmptyValue;
203
209
  const floatActive = floatLabel && (open || hasValue);
210
+ const showInlineSearch = searchable && open;
211
+ const searchPlaceholder = React.useMemo(() => {
212
+ if (!hasValue) {
213
+ return placeholder;
214
+ }
215
+ const selectedLabel = selectedList.map((item) => item.label).filter(Boolean).join(', ');
216
+ return selectedLabel || placeholder;
217
+ }, [hasValue, selectedList, placeholder]);
204
218
  const displayedOptions = React.useMemo(() => {
205
219
  if (isRemote) {
206
220
  const filtered = mergedItems;
@@ -443,7 +457,7 @@ export default function Select({ label, id, name, required = false, options = []
443
457
  setCreating(false);
444
458
  }
445
459
  };
446
- const controlWidth = controlRef.current?.getBoundingClientRect().width;
460
+ const controlWidth = containerRef.current?.getBoundingClientRect().width;
447
461
  const resolvedDropdownStyle = shouldPortal
448
462
  ? {
449
463
  ...dropdownStyle,
@@ -451,49 +465,49 @@ export default function Select({ label, id, name, required = false, options = []
451
465
  minWidth: controlWidth ? `${controlWidth}px` : undefined,
452
466
  }
453
467
  : dropdownStyle;
454
- const dropdown = open ? (_jsxs("div", { className: [styles.dropdown, shouldPortal ? styles.dropdownPortal : null].filter(Boolean).join(' '), ref: dropdownRef, style: resolvedDropdownStyle, children: [searchable ? (_jsx("input", { ref: inputRef, className: styles.search, placeholder: "\u041F\u043E\u0438\u0441\u043A...", value: query, onChange: (event) => setQuery(event.target.value), onKeyDown: (event) => {
455
- if (event.key === 'Enter' && canCreate) {
468
+ const dropdown = open ? (_jsx("div", { className: [styles.dropdown, shouldPortal ? styles.dropdownPortal : null].filter(Boolean).join(' '), ref: dropdownRef, style: resolvedDropdownStyle, children: _jsxs("div", { className: styles.list, role: "listbox", id: listId, ref: listRef, children: [loading ? _jsx("div", { className: styles.status, children: loadingText }) : null, !loading && !canCreate && (allowEmpty ? displayedOptions.length <= 1 : displayedOptions.length === 0) ? (_jsx("div", { className: styles.status, children: emptyText })) : null, !loading && canCreate ? (_jsxs("button", { type: "button", className: [styles.option, styles.optionCreate].filter(Boolean).join(' '), onMouseDown: (event) => {
456
469
  event.preventDefault();
457
470
  void handleCreateOption();
458
- }
459
- } })) : null, _jsxs("div", { className: styles.list, role: "listbox", id: listId, ref: listRef, children: [loading ? _jsx("div", { className: styles.status, children: loadingText }) : null, !loading && !canCreate && (allowEmpty ? displayedOptions.length <= 1 : displayedOptions.length === 0) ? (_jsx("div", { className: styles.status, children: emptyText })) : null, !loading && canCreate ? (_jsxs("button", { type: "button", className: [styles.option, styles.optionCreate].filter(Boolean).join(' '), onMouseDown: (event) => {
460
- event.preventDefault();
471
+ }, onClick: (event) => {
472
+ if (event.detail === 0) {
461
473
  void handleCreateOption();
462
- }, onClick: (event) => {
463
- if (event.detail === 0) {
464
- void handleCreateOption();
465
- }
466
- }, disabled: creating, children: [_jsx("span", { children: creating ? creatingText : createLabel(trimmedQuery) }), _jsx("span", { className: styles.createMark, children: "+" })] })) : null, !loading
467
- ? displayedOptions.map((option, index) => {
468
- const selected = multiple
469
- ? option.value !== null && selectedValues.includes(option.value)
470
- : selectedValues === option.value;
471
- const active = index === activeOptionIndex;
472
- return (_jsxs("button", { type: "button", className: [
473
- styles.option,
474
- selected ? styles.optionSelected : null,
475
- active ? styles.optionActive : null,
476
- option.disabled ? styles.optionDisabled : null,
477
- ]
478
- .filter(Boolean)
479
- .join(' '), ref: (node) => {
480
- optionRefs.current[index] = node;
481
- }, role: "option", "aria-selected": selected, "aria-label": option.label, onMouseEnter: () => {
482
- activeOptionSourceRef.current = 'mouse';
483
- setActiveOptionIndex(index);
484
- }, onMouseDown: (event) => {
485
- event.preventDefault();
474
+ }
475
+ }, disabled: creating, children: [_jsx("span", { children: creating ? creatingText : createLabel(trimmedQuery) }), _jsx("span", { className: styles.createMark, children: "+" })] })) : null, !loading
476
+ ? displayedOptions.map((option, index) => {
477
+ const selected = multiple
478
+ ? option.value !== null && selectedValues.includes(option.value)
479
+ : selectedValues === option.value;
480
+ const active = index === activeOptionIndex;
481
+ return (_jsxs("button", { type: "button", className: [
482
+ styles.option,
483
+ selected ? styles.optionSelected : null,
484
+ active ? styles.optionActive : null,
485
+ option.disabled ? styles.optionDisabled : null,
486
+ ]
487
+ .filter(Boolean)
488
+ .join(' '), ref: (node) => {
489
+ optionRefs.current[index] = node;
490
+ }, role: "option", "aria-selected": selected, "aria-label": option.label, onMouseEnter: () => {
491
+ activeOptionSourceRef.current = 'mouse';
492
+ setActiveOptionIndex(index);
493
+ }, onMouseDown: (event) => {
494
+ event.preventDefault();
495
+ handleSelect(option);
496
+ }, onClick: (event) => {
497
+ if (event.detail === 0) {
486
498
  handleSelect(option);
487
- }, onClick: (event) => {
488
- if (event.detail === 0) {
489
- handleSelect(option);
490
- }
491
- }, disabled: option.disabled, children: [renderOption
492
- ? renderOption(option, { selected, active, multiple })
493
- : _jsx("span", { className: styles.optionLabel, children: option.label }), selected ? _jsx("span", { className: styles.check, children: "\u2713" }) : null] }, option.value ?? '__empty'));
494
- })
495
- : null] })] })) : null;
496
- return (_jsxs("div", { className: [styles.wrapper, className].filter(Boolean).join(' '), "data-open": open, "data-has-value": hasValue, "data-multiple": multiple ? 'true' : 'false', "data-has-query": query.length > 0, "data-has-label": hasLabel, "data-float-label": floatLabel ? 'true' : undefined, "data-float-active": floatActive ? 'true' : undefined, "data-has-clear": showClear ? 'true' : undefined, ref: containerRef, onKeyDown: handleKeyDown, children: [label ? (_jsx("span", { id: labelId, className: styles.label, children: label })) : null, _jsx("button", { type: "button", className: styles.control, style: controlStyle, "aria-haspopup": "listbox", "aria-expanded": open, "aria-controls": listId, "aria-labelledby": label ? labelId : undefined, id: controlId, onClick: () => !disabled && setOpen((prev) => !prev), disabled: disabled, ref: controlRef, children: _jsx("div", { className: styles.value, children: hasValue ? (multiple ? (selectedList.map((item) => (_jsxs("div", { className: styles.tag, children: [renderValue ? renderValue(item) : item.label, _jsx("span", { role: "button", tabIndex: 0, className: styles.remove, onClick: (event) => {
499
+ }
500
+ }, disabled: option.disabled, children: [renderOption
501
+ ? renderOption(option, { selected, active, multiple })
502
+ : _jsx("span", { className: styles.optionLabel, children: option.label }), selected ? _jsx("span", { className: styles.check, children: "\u2713" }) : null] }, option.value ?? '__empty'));
503
+ })
504
+ : null] }) })) : null;
505
+ return (_jsxs("div", { className: [styles.wrapper, className].filter(Boolean).join(' '), "data-open": open, "data-has-value": hasValue, "data-multiple": multiple ? 'true' : 'false', "data-has-query": query.length > 0, "data-has-label": hasLabel, "data-float-label": floatLabel ? 'true' : undefined, "data-float-active": floatActive ? 'true' : undefined, "data-has-clear": showClear ? 'true' : undefined, ref: containerRef, style: controlStyle, onKeyDown: handleKeyDown, children: [label ? (_jsx("span", { id: labelId, className: styles.label, children: label })) : null, showInlineSearch ? (_jsx("input", { ref: inputRef, id: controlId, className: styles.controlSearch, style: controlStyle, value: query, placeholder: searchPlaceholder, autoComplete: "off", spellCheck: false, role: "combobox", "aria-autocomplete": "list", "aria-expanded": open, "aria-controls": listId, "aria-labelledby": label ? labelId : undefined, disabled: disabled, onChange: (event) => setQuery(event.target.value), onKeyDown: (event) => {
506
+ if (event.key === 'Enter' && canCreate) {
507
+ event.preventDefault();
508
+ void handleCreateOption();
509
+ }
510
+ } })) : (_jsx("button", { type: "button", className: styles.control, style: controlStyle, "aria-haspopup": "listbox", "aria-expanded": open, "aria-controls": listId, "aria-labelledby": label ? labelId : undefined, id: controlId, onClick: () => !disabled && setOpen((prev) => !prev), disabled: disabled, ref: controlRef, children: _jsx("div", { className: styles.value, children: hasValue ? (multiple ? (selectedList.map((item) => (_jsxs("div", { className: styles.tag, children: [renderValue ? renderValue(item) : item.label, _jsx("span", { role: "button", tabIndex: 0, className: styles.remove, onClick: (event) => {
497
511
  event.stopPropagation();
498
512
  handleRemove(item.value);
499
513
  }, onKeyDown: (event) => {
@@ -502,7 +516,7 @@ export default function Select({ label, id, name, required = false, options = []
502
516
  event.stopPropagation();
503
517
  handleRemove(item.value);
504
518
  }
505
- }, "aria-label": `Удалить ${item.label}`, children: "\u00D7" })] }, String(item.value))))) : (_jsx("span", { className: styles.singleValue, children: selectedList[0] ? (renderValue ? renderValue(selectedList[0]) : selectedList[0].label) : null }))) : (_jsx("span", { className: [styles.placeholder, styles.singleValue].join(' '), children: placeholder })) }) }), _jsxs(ActionStack, { className: styles.controls, children: [endActions, showClear ? (_jsx("span", { role: "button", tabIndex: 0, className: styles.clearButton, "aria-label": clearLabel, onMouseDown: (event) => event.preventDefault(), onClick: handleClear, onKeyDown: (event) => {
519
+ }, "aria-label": `Удалить ${item.label}`, children: "\u00D7" })] }, String(item.value))))) : (_jsx("span", { className: styles.singleValue, children: selectedList[0] ? (renderValue ? renderValue(selectedList[0]) : selectedList[0].label) : null }))) : (_jsx("span", { className: [styles.placeholder, styles.singleValue].join(' '), children: placeholder })) }) })), _jsxs(ActionStack, { className: styles.controls, children: [endActions, showClear ? (_jsx("span", { role: "button", tabIndex: 0, className: styles.clearButton, "aria-label": clearLabel, onMouseDown: (event) => event.preventDefault(), onClick: handleClear, onKeyDown: (event) => {
506
520
  if (event.key === 'Enter' || event.key === ' ') {
507
521
  event.preventDefault();
508
522
  handleClear(event);
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../src/components/Input/Select/Select.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../src/components/Input/Select/Select.tsx"],"names":[],"mappings":"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"}
@@ -11,14 +11,25 @@
11
11
  .label {
12
12
  position: absolute;
13
13
  top: 8px;
14
- left: 16px;
14
+ left: 12px;
15
+ max-width: calc(
16
+ 100%
17
+ - var(--ui-select-controls-space, 26px)
18
+ - var(--ui-select-extra-right, 0px)
19
+ - 28px
20
+ );
21
+ box-sizing: border-box;
15
22
  font-size: 12px;
16
23
  line-height: 1.2;
17
24
  color: var(--color-muted-2);
18
25
  pointer-events: none;
19
26
  transition: transform 0.2s ease, color 0.2s ease;
20
- background: transparent;
27
+ background: var(--surface-input);
21
28
  padding: 0 4px;
29
+ border-radius: 4px;
30
+ white-space: nowrap;
31
+ overflow: hidden;
32
+ text-overflow: ellipsis;
22
33
  }
23
34
 
24
35
  .wrapper .label {
@@ -55,8 +66,28 @@
55
66
  position: relative;
56
67
  }
57
68
 
69
+ .controlSearch {
70
+ min-height: var(--ui-control-height, 48px);
71
+ width: 100%;
72
+ border-radius: var(--radius-sm);
73
+ border: 1px solid var(--color-line);
74
+ background: var(--surface-input);
75
+ color: var(--color-text);
76
+ padding: var(--ui-control-padding-y, 12px)
77
+ calc(
78
+ var(--ui-control-padding-x, 16px)
79
+ + var(--ui-select-controls-space, 26px)
80
+ + var(--ui-select-extra-right, 0px)
81
+ )
82
+ var(--ui-control-padding-y, 12px) var(--ui-control-padding-x, 16px);
83
+ font-size: var(--ui-control-font-size, var(--font-size-4));
84
+ line-height: var(--ui-control-line-height, 1.2);
85
+ }
86
+
58
87
  .wrapper[data-has-label="true"] .control,
59
- .wrapper[data-float-label="true"] .control {
88
+ .wrapper[data-float-label="true"] .control,
89
+ .wrapper[data-has-label="true"] .controlSearch,
90
+ .wrapper[data-float-label="true"] .controlSearch {
60
91
  padding-top: calc(var(--ui-control-padding-y, 12px) + 8px);
61
92
  padding-bottom: calc(var(--ui-control-padding-y, 12px) - 4px);
62
93
  }
@@ -76,7 +107,18 @@
76
107
  box-shadow: 0 0 0 3px rgba(20, 201, 214, 0.2);
77
108
  }
78
109
 
79
- .control:disabled {
110
+ .controlSearch:focus {
111
+ outline: none;
112
+ border-color: rgba(20, 201, 214, 0.8);
113
+ box-shadow: 0 0 0 3px rgba(20, 201, 214, 0.2);
114
+ }
115
+
116
+ .controlSearch::placeholder {
117
+ color: var(--color-muted-2);
118
+ }
119
+
120
+ .control:disabled,
121
+ .controlSearch:disabled {
80
122
  opacity: 0.6;
81
123
  cursor: not-allowed;
82
124
  }
@@ -207,19 +249,6 @@
207
249
  z-index: 60;
208
250
  }
209
251
 
210
- .search {
211
- width: 100%;
212
- border-radius: var(--radius-sm);
213
- border: 1px solid var(--color-line);
214
- background: var(--surface-input-muted);
215
- color: var(--color-text);
216
- min-height: var(--ui-control-height, 48px);
217
- padding: var(--ui-control-padding-y, 12px) var(--ui-control-padding-x, 16px);
218
- font-size: var(--ui-control-font-size, var(--font-size-4));
219
- line-height: var(--ui-control-line-height, 1.2);
220
- margin-bottom: 8px;
221
- }
222
-
223
252
  .list {
224
253
  display: flex;
225
254
  flex-direction: column;
@@ -4,7 +4,7 @@
4
4
  padding: 14px 16px;
5
5
  border-radius: var(--radius-sm);
6
6
  border: 1px solid rgba(30, 99, 233, 0.25);
7
- background: var(--surface-input);
7
+ background: var(--surface-input-solid);
8
8
  color: var(--color-text);
9
9
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
10
10
  resize: vertical;
@@ -1,6 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
- import { bundledLanguages, codeToHtml } from 'shiki';
4
3
  import Textarea from '../Input/Textarea/Textarea';
5
4
  import Hint from '../Input/Hint/Hint';
6
5
  import Tooltip from '../Tooltip/Tooltip';
@@ -9,7 +8,24 @@ import styles from './MarkdownEditor.module.css';
9
8
  const SHIKI_THEME = 'vitesse-dark';
10
9
  const SHIKI_LANGUAGE_FALLBACK = 'text';
11
10
  const SHIKI_CODE_WRAPPER_CLASS = 'md-shiki-code';
12
- const SHIKI_SUPPORTED_LANGUAGES = new Set(Object.keys(bundledLanguages));
11
+ const SHIKI_LANGUAGE_LOADERS = {
12
+ bash: () => import('shiki/langs/bash.mjs').then((module) => module.default),
13
+ css: () => import('shiki/langs/css.mjs').then((module) => module.default),
14
+ html: () => import('shiki/langs/html.mjs').then((module) => module.default),
15
+ javascript: () => import('shiki/langs/javascript.mjs').then((module) => module.default),
16
+ json: () => import('shiki/langs/json.mjs').then((module) => module.default),
17
+ jsx: () => import('shiki/langs/jsx.mjs').then((module) => module.default),
18
+ markdown: () => import('shiki/langs/markdown.mjs').then((module) => module.default),
19
+ php: () => import('shiki/langs/php.mjs').then((module) => module.default),
20
+ shellscript: () => import('shiki/langs/shellscript.mjs').then((module) => module.default),
21
+ tsx: () => import('shiki/langs/tsx.mjs').then((module) => module.default),
22
+ typescript: () => import('shiki/langs/typescript.mjs').then((module) => module.default),
23
+ yaml: () => import('shiki/langs/yaml.mjs').then((module) => module.default),
24
+ };
25
+ const SHIKI_SUPPORTED_LANGUAGES = new Set(Object.keys(SHIKI_LANGUAGE_LOADERS));
26
+ let shikiHighlighterPromise = null;
27
+ const loadedShikiLanguages = new Set();
28
+ const pendingShikiLanguages = new Map();
13
29
  const MarkdownEditorTextareaSlot = () => null;
14
30
  const MarkdownEditorPreviewSlot = () => null;
15
31
  MarkdownEditorTextareaSlot.displayName = 'MarkdownEditor.Textarea';
@@ -75,10 +91,48 @@ const renderFallbackCodeHtml = (code) => {
75
91
  .map((line, index) => (`<span class="md-code-line"><span class="md-code-num">${index + 1}</span><span class="md-code-text">${line || '&nbsp;'}</span></span>`))
76
92
  .join('')}</code></pre>`;
77
93
  };
94
+ const getShikiHighlighter = () => {
95
+ shikiHighlighterPromise ?? (shikiHighlighterPromise = Promise.all([
96
+ import('shiki/core'),
97
+ import('shiki/engine/javascript'),
98
+ import('shiki/themes/vitesse-dark.mjs'),
99
+ ]).then(([core, engine, theme]) => core.createHighlighterCore({
100
+ engine: engine.createJavaScriptRegexEngine(),
101
+ langs: [],
102
+ themes: [theme.default],
103
+ })));
104
+ return shikiHighlighterPromise;
105
+ };
106
+ const ensureShikiLanguage = (highlighter, language) => {
107
+ if (language === SHIKI_LANGUAGE_FALLBACK || loadedShikiLanguages.has(language)) {
108
+ return Promise.resolve();
109
+ }
110
+ const loader = SHIKI_LANGUAGE_LOADERS[language];
111
+ if (!loader) {
112
+ return Promise.resolve();
113
+ }
114
+ const pendingLanguage = pendingShikiLanguages.get(language);
115
+ if (pendingLanguage) {
116
+ return pendingLanguage;
117
+ }
118
+ const nextPendingLanguage = loader()
119
+ .then((languageDefinition) => highlighter.loadLanguage(languageDefinition))
120
+ .then(() => {
121
+ loadedShikiLanguages.add(language);
122
+ })
123
+ .finally(() => {
124
+ pendingShikiLanguages.delete(language);
125
+ });
126
+ pendingShikiLanguages.set(language, nextPendingLanguage);
127
+ return nextPendingLanguage;
128
+ };
78
129
  const highlightWithShiki = async (code, language) => {
79
130
  const normalizedCode = code || ' ';
80
- return codeToHtml(normalizedCode, {
81
- lang: resolveShikiLanguage(language),
131
+ const resolvedLanguage = resolveShikiLanguage(language);
132
+ const highlighter = await getShikiHighlighter();
133
+ await ensureShikiLanguage(highlighter, resolvedLanguage);
134
+ return highlighter.codeToHtml(normalizedCode, {
135
+ lang: resolvedLanguage,
82
136
  theme: SHIKI_THEME,
83
137
  });
84
138
  };