@mui/internal-docs-infra 0.3.1-canary.3 → 0.3.1-canary.4

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.
Files changed (102) hide show
  1. package/esm/CodeControllerContext/CodeControllerContext.js +2 -2
  2. package/esm/CodeExternalsContext/CodeExternalsContext.js +1 -1
  3. package/esm/CodeHighlighter/CodeHighlighter.js +247 -329
  4. package/esm/CodeHighlighter/CodeHighlighterClient.js +447 -653
  5. package/esm/CodeHighlighter/CodeHighlighterContext.js +2 -2
  6. package/esm/CodeHighlighter/CodeHighlighterFallbackContext.js +2 -2
  7. package/esm/CodeHighlighter/codeToFallbackProps.js +21 -37
  8. package/esm/CodeHighlighter/errors.js +248 -400
  9. package/esm/CodeHighlighter/parseControlledCode.js +12 -20
  10. package/esm/CodeProvider/CodeContext.js +3 -3
  11. package/esm/CodeProvider/CodeProvider.js +31 -40
  12. package/esm/abstractCreateDemo/abstractCreateDemo.js +13 -17
  13. package/esm/abstractCreateDemoClient/abstractCreateDemoClient.js +12 -12
  14. package/esm/cli/index.js +1 -1
  15. package/esm/cli/runValidate.js +160 -264
  16. package/esm/createDemoData/createDemoData.js +11 -12
  17. package/esm/createSitemap/createSitemap.js +2 -2
  18. package/esm/pipeline/getFileConventions/fileConventions.js +1 -1
  19. package/esm/pipeline/getFileConventions/getFileConventions.js +2 -15
  20. package/esm/pipeline/hastUtils/hastUtils.js +16 -17
  21. package/esm/pipeline/loadCodeVariant/addCodeVariantPaths.js +24 -24
  22. package/esm/pipeline/loadCodeVariant/applyCodeTransform.js +12 -22
  23. package/esm/pipeline/loadCodeVariant/calculateMainFilePath.js +30 -37
  24. package/esm/pipeline/loadCodeVariant/computeHastDeltas.js +107 -185
  25. package/esm/pipeline/loadCodeVariant/diffHast.js +18 -53
  26. package/esm/pipeline/loadCodeVariant/examineCodeVariant.js +24 -27
  27. package/esm/pipeline/loadCodeVariant/flattenCodeVariant.js +9 -10
  28. package/esm/pipeline/loadCodeVariant/hasAllCodeVariants.js +5 -5
  29. package/esm/pipeline/loadCodeVariant/loadCodeFallback.js +516 -731
  30. package/esm/pipeline/loadCodeVariant/loadCodeVariant.js +679 -1079
  31. package/esm/pipeline/loadCodeVariant/maybeCodeInitialData.js +14 -20
  32. package/esm/pipeline/loadCodeVariant/mergeCodeMetadata.js +53 -63
  33. package/esm/pipeline/loadCodeVariant/parseCode.js +40 -48
  34. package/esm/pipeline/loadCodeVariant/pathUtils.js +43 -64
  35. package/esm/pipeline/loadCodeVariant/transformSource.js +55 -125
  36. package/esm/pipeline/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.js +160 -221
  37. package/esm/pipeline/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.js +377 -479
  38. package/esm/pipeline/loadPrecomputedCodeHighlighter/parseFunctionArguments.js +171 -173
  39. package/esm/pipeline/loadPrecomputedCodeHighlighter/performanceLogger.js +14 -30
  40. package/esm/pipeline/loadPrecomputedCodeHighlighter/replacePrecomputeValue.js +19 -21
  41. package/esm/pipeline/loadPrecomputedCodeHighlighter/serializeFunctionArguments.js +37 -71
  42. package/esm/pipeline/loadPrecomputedCodeHighlighterClient/filterRuntimeExternals.js +3 -9
  43. package/esm/pipeline/loadPrecomputedCodeHighlighterClient/generateImportStatements.js +54 -80
  44. package/esm/pipeline/loadPrecomputedCodeHighlighterClient/generateResolvedExternals.js +71 -98
  45. package/esm/pipeline/loadPrecomputedCodeHighlighterClient/injectImportsIntoSource.js +5 -5
  46. package/esm/pipeline/loadPrecomputedCodeHighlighterClient/loadPrecomputedCodeHighlighterClient.js +161 -211
  47. package/esm/pipeline/loadPrecomputedSitemap/loadPrecomputedSitemap.js +159 -207
  48. package/esm/pipeline/loadServerCodeMeta/loadServerCodeMeta.js +42 -64
  49. package/esm/pipeline/loadServerCodeMeta/resolveModulePathWithFs.js +20 -96
  50. package/esm/pipeline/loadServerPageIndex/loadServerPageIndex.js +66 -85
  51. package/esm/pipeline/loadServerSitemap/loadServerSitemap.js +71 -118
  52. package/esm/pipeline/loadServerSource/loadServerSource.js +121 -148
  53. package/esm/pipeline/loaderUtils/externalsToPackages.js +7 -7
  54. package/esm/pipeline/loaderUtils/extractNameAndSlugFromUrl.js +8 -12
  55. package/esm/pipeline/loaderUtils/fileUrlToPortablePath.js +5 -5
  56. package/esm/pipeline/loaderUtils/getFileNameFromUrl.js +19 -29
  57. package/esm/pipeline/loaderUtils/getLanguageFromExtension.js +3 -4
  58. package/esm/pipeline/loaderUtils/mergeExternals.js +15 -35
  59. package/esm/pipeline/loaderUtils/parseImportsAndComments.js +413 -433
  60. package/esm/pipeline/loaderUtils/processRelativeImports.js +153 -239
  61. package/esm/pipeline/loaderUtils/resolveModulePath.js +544 -1303
  62. package/esm/pipeline/loaderUtils/rewriteImports.js +73 -111
  63. package/esm/pipeline/parseSource/addLineGutters.js +33 -45
  64. package/esm/pipeline/parseSource/grammars.js +3 -3
  65. package/esm/pipeline/parseSource/parseSource.js +13 -31
  66. package/esm/pipeline/syncPageIndex/createMarkdownNodes.js +32 -55
  67. package/esm/pipeline/syncPageIndex/mergeMetadataMarkdown.js +107 -160
  68. package/esm/pipeline/syncPageIndex/metadataToMarkdown.js +846 -1033
  69. package/esm/pipeline/syncPageIndex/syncPageIndex.js +291 -438
  70. package/esm/pipeline/transformHtmlCodePrecomputed/transformHtmlCodePrecomputed.js +213 -311
  71. package/esm/pipeline/transformMarkdownBlockquoteCallouts/transformMarkdownBlockquoteCallouts.js +10 -10
  72. package/esm/pipeline/transformMarkdownCode/transformMarkdownCode.js +133 -193
  73. package/esm/pipeline/transformMarkdownDemoLinks/transformMarkdownDemoLinks.js +25 -27
  74. package/esm/pipeline/transformMarkdownMetadata/transformMarkdownMetadata.js +572 -717
  75. package/esm/pipeline/transformMarkdownRelativePaths/transformMarkdownRelativePaths.js +8 -8
  76. package/esm/pipeline/transformTypescriptToJavascript/removeTypes.js +84 -113
  77. package/esm/pipeline/transformTypescriptToJavascript/transformTypescriptToJavascript.js +10 -26
  78. package/esm/useCode/Pre.js +58 -62
  79. package/esm/useCode/useCode.js +59 -61
  80. package/esm/useCode/useCodeUtils.js +54 -63
  81. package/esm/useCode/useCopyFunctionality.js +10 -9
  82. package/esm/useCode/useFileNavigation.js +150 -212
  83. package/esm/useCode/useSourceEditing.js +17 -14
  84. package/esm/useCode/useTransformManagement.js +23 -26
  85. package/esm/useCode/useUIState.js +12 -20
  86. package/esm/useCode/useVariantSelection.js +62 -79
  87. package/esm/useCopier/index.js +29 -56
  88. package/esm/useDemo/createCodeSandbox.js +12 -15
  89. package/esm/useDemo/createStackBlitz.js +14 -20
  90. package/esm/useDemo/exportVariant.js +200 -180
  91. package/esm/useDemo/exportVariantAsCra.js +22 -25
  92. package/esm/useDemo/useDemo.js +80 -84
  93. package/esm/useErrors/ErrorsContext.js +1 -1
  94. package/esm/useErrors/useErrors.js +3 -3
  95. package/esm/useLocalStorageState/useLocalStorageState.js +23 -39
  96. package/esm/usePreference/PreferencesProvider.js +1 -1
  97. package/esm/usePreference/usePreference.js +9 -11
  98. package/esm/useSearch/useSearch.js +290 -387
  99. package/esm/useUrlHashState/useUrlHashState.js +11 -14
  100. package/esm/withDocsInfra/withDeploymentConfig.js +26 -21
  101. package/esm/withDocsInfra/withDocsInfra.js +99 -101
  102. package/package.json +7 -4
@@ -1,6 +1,3 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
- import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
3
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
1
  import { visit } from 'unist-util-visit';
5
2
  import { normalizeLanguage } from "../loaderUtils/getLanguageFromExtension.js";
6
3
 
@@ -93,26 +90,22 @@ function getFileName(props) {
93
90
  * Parse meta string to extract variant and other properties
94
91
  */
95
92
  function parseMeta(meta) {
96
- var result = {
93
+ const result = {
97
94
  props: {}
98
95
  };
99
96
 
100
97
  // Parse key=value pairs first, handling quoted values
101
- var keyValueRegex = /([\w-]+)=("(?:[^"\\]|\\.)*"|[^\s]+)/g;
102
- var match = keyValueRegex.exec(meta);
103
- var processedPositions = [];
98
+ const keyValueRegex = /([\w-]+)=("(?:[^"\\]|\\.)*"|[^\s]+)/g;
99
+ let match = keyValueRegex.exec(meta);
100
+ const processedPositions = [];
104
101
  while (match !== null) {
105
- var _match = match,
106
- _match2 = _slicedToArray(_match, 3),
107
- fullMatch = _match2[0],
108
- key = _match2[1],
109
- rawValue = _match2[2];
110
- var startPos = match.index;
111
- var endPos = match.index + fullMatch.length;
102
+ const [fullMatch, key, rawValue] = match;
103
+ const startPos = match.index;
104
+ const endPos = match.index + fullMatch.length;
112
105
  processedPositions.push([startPos, endPos]);
113
106
 
114
107
  // Remove quotes if present
115
- var value = rawValue.startsWith('"') && rawValue.endsWith('"') ? rawValue.slice(1, -1) : rawValue;
108
+ const value = rawValue.startsWith('"') && rawValue.endsWith('"') ? rawValue.slice(1, -1) : rawValue;
116
109
  if (key === 'variant') {
117
110
  result.variant = value;
118
111
  } else if (key === 'variant-type') {
@@ -124,46 +117,32 @@ function parseMeta(meta) {
124
117
  }
125
118
 
126
119
  // Extract remaining parts as standalone flags
127
- var remainingMeta = meta;
120
+ let remainingMeta = meta;
128
121
  // Remove processed key=value pairs from the string (in reverse order to maintain positions)
129
- processedPositions.sort(function (a, b) {
130
- return b[0] - a[0];
131
- }).forEach(function (_ref) {
132
- var _ref2 = _slicedToArray(_ref, 2),
133
- start = _ref2[0],
134
- end = _ref2[1];
122
+ processedPositions.sort((a, b) => b[0] - a[0]).forEach(([start, end]) => {
135
123
  remainingMeta = remainingMeta.slice(0, start) + remainingMeta.slice(end);
136
124
  });
137
125
 
138
126
  // Process remaining standalone flags
139
- var remainingParts = remainingMeta.trim().split(/\s+/).filter(Boolean);
140
- var _iterator = _createForOfIteratorHelper(remainingParts),
141
- _step;
142
- try {
143
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
144
- var part = _step.value;
145
- if (part === 'variant') {
146
- // This shouldn't happen, but just in case
147
- result.variant = 'true';
148
- } else if (part === 'variant-type') {
149
- // This shouldn't happen, but just in case
150
- result.variantType = 'true';
151
- } else {
152
- // Handle standalone flags (e.g., "transform" becomes "transform": "true")
153
- result.props[part] = 'true';
154
- }
127
+ const remainingParts = remainingMeta.trim().split(/\s+/).filter(Boolean);
128
+ for (const part of remainingParts) {
129
+ if (part === 'variant') {
130
+ // This shouldn't happen, but just in case
131
+ result.variant = 'true';
132
+ } else if (part === 'variant-type') {
133
+ // This shouldn't happen, but just in case
134
+ result.variantType = 'true';
135
+ } else {
136
+ // Handle standalone flags (e.g., "transform" becomes "transform": "true")
137
+ result.props[part] = 'true';
155
138
  }
156
- } catch (err) {
157
- _iterator.e(err);
158
- } finally {
159
- _iterator.f();
160
139
  }
161
140
  return result;
162
141
  }
163
- export var transformMarkdownCode = function transformMarkdownCode() {
164
- return function (tree) {
165
- var processedIndices = new Set();
166
- visit(tree, function (node, index, parent) {
142
+ export const transformMarkdownCode = () => {
143
+ return tree => {
144
+ const processedIndices = new Set();
145
+ visit(tree, (node, index, parent) => {
167
146
  if (!parent || !Array.isArray(parent.children) || typeof index !== 'number') {
168
147
  return;
169
148
  }
@@ -172,15 +151,15 @@ export var transformMarkdownCode = function transformMarkdownCode() {
172
151
  if (processedIndices.has(index)) {
173
152
  return;
174
153
  }
175
- var parentNode = parent;
154
+ const parentNode = parent;
176
155
 
177
156
  // Look for code blocks with variant metadata or options
178
157
  if (node.type === 'code') {
179
- var codeNode = node;
158
+ const codeNode = node;
180
159
 
181
160
  // Check if variant metadata is in meta field or lang field (when no language is specified)
182
- var metaString = codeNode.meta;
183
- var langFromMeta = codeNode.lang || null;
161
+ let metaString = codeNode.meta;
162
+ let langFromMeta = codeNode.lang || null;
184
163
 
185
164
  // If meta is empty but lang contains '=', it means variant info is in lang
186
165
  if (!metaString && codeNode.lang && codeNode.lang.includes('=')) {
@@ -189,7 +168,7 @@ export var transformMarkdownCode = function transformMarkdownCode() {
189
168
  }
190
169
 
191
170
  // Check if we have variants/variant-types or individual options
192
- var metaData = {
171
+ let metaData = {
193
172
  props: {}
194
173
  };
195
174
  if (metaString) {
@@ -197,32 +176,27 @@ export var transformMarkdownCode = function transformMarkdownCode() {
197
176
  }
198
177
 
199
178
  // Use props from meta as the options for individual blocks
200
- var allProps = metaData.props;
179
+ const allProps = metaData.props;
201
180
 
202
181
  // Handle individual code blocks with options (but no variants)
203
182
  if (!metaData.variant && !metaData.variantType && Object.keys(allProps).length > 0) {
204
- var codeHProperties = {};
183
+ const codeHProperties = {};
205
184
 
206
185
  // Add normalized language as class
207
186
  if (langFromMeta) {
208
- codeHProperties.className = "language-".concat(normalizeLanguage(langFromMeta));
187
+ codeHProperties.className = `language-${normalizeLanguage(langFromMeta)}`;
209
188
  }
210
189
 
211
190
  // Add all props as data attributes (in camelCase)
212
- Object.entries(allProps).forEach(function (_ref3) {
213
- var _ref4 = _slicedToArray(_ref3, 2),
214
- key = _ref4[0],
215
- value = _ref4[1];
191
+ Object.entries(allProps).forEach(([key, value]) => {
216
192
  // Convert kebab-case to camelCase for data attributes
217
- var camelKey = key.includes('-') ? "data".concat(key.split('-').map(function (part) {
218
- return part.charAt(0).toUpperCase() + part.slice(1);
219
- }).join('')) : "data".concat(key.charAt(0).toUpperCase() + key.slice(1));
193
+ const camelKey = key.includes('-') ? `data${key.split('-').map(part => part.charAt(0).toUpperCase() + part.slice(1)).join('')}` : `data${key.charAt(0).toUpperCase() + key.slice(1)}`;
220
194
  codeHProperties[camelKey] = value;
221
195
  });
222
- var fileName = getFileName(allProps);
196
+ const fileName = getFileName(allProps);
223
197
 
224
198
  // Create pre > code element
225
- var preElement = {
199
+ const preElement = {
226
200
  type: 'element',
227
201
  tagName: 'pre',
228
202
  data: {
@@ -245,7 +219,7 @@ export var transformMarkdownCode = function transformMarkdownCode() {
245
219
 
246
220
  // If there's a filename, wrap in dl/dt/dd structure
247
221
  // Otherwise, just use pre > code directly
248
- var outputElement = fileName ? {
222
+ const outputElement = fileName ? {
249
223
  type: 'element',
250
224
  tagName: 'dl',
251
225
  data: {
@@ -294,24 +268,24 @@ export var transformMarkdownCode = function transformMarkdownCode() {
294
268
  }
295
269
  if (metaData.variant || metaData.variantType) {
296
270
  // Collect consecutive code blocks that belong together
297
- var codeBlocks = [];
298
- var currentIndex = index;
271
+ const codeBlocks = [];
272
+ let currentIndex = index;
299
273
 
300
274
  // For variant-type, look for pattern: [label] -> code block
301
275
  // For variant, look for adjacent code blocks only
302
276
 
303
277
  if (metaData.variantType) {
304
278
  // Add the current code block as the first one for variant-type
305
- var currentLabelFromPrevious;
279
+ let currentLabelFromPrevious;
306
280
  if (index > 0) {
307
- var prevNode = parentNode.children[index - 1];
281
+ const prevNode = parentNode.children[index - 1];
308
282
  if (prevNode.type === 'paragraph' && prevNode.children.length === 1 && prevNode.children[0].type === 'text') {
309
283
  currentLabelFromPrevious = prevNode.children[0].value.trim();
310
284
  }
311
285
  }
312
286
  codeBlocks.push({
313
287
  node: codeNode,
314
- index: index,
288
+ index,
315
289
  variant: currentLabelFromPrevious || metaData.variantType || 'default',
316
290
  props: allProps,
317
291
  actualLang: langFromMeta,
@@ -324,32 +298,32 @@ export var transformMarkdownCode = function transformMarkdownCode() {
324
298
 
325
299
  // Collect all blocks with the same variant-type
326
300
  while (currentIndex < parentNode.children.length) {
327
- var currentNode = parentNode.children[currentIndex];
301
+ const currentNode = parentNode.children[currentIndex];
328
302
 
329
303
  // Check if this is a potential label paragraph
330
304
  if (currentNode.type === 'paragraph' && currentNode.children.length === 1 && currentNode.children[0].type === 'text') {
331
305
  // Look for a code block after this paragraph
332
306
  if (currentIndex + 1 < parentNode.children.length) {
333
- var nextNode = parentNode.children[currentIndex + 1];
307
+ const nextNode = parentNode.children[currentIndex + 1];
334
308
  if (nextNode.type === 'code') {
335
309
  // Check if this code block has the same variant-type
336
- var nextMetaString = nextNode.meta;
337
- var nextActualLang = nextNode.lang;
310
+ let nextMetaString = nextNode.meta;
311
+ let nextActualLang = nextNode.lang;
338
312
  if (!nextMetaString && nextActualLang && nextActualLang.includes('=')) {
339
313
  nextMetaString = nextActualLang;
340
314
  nextActualLang = null;
341
315
  }
342
316
  if (nextMetaString) {
343
- var nextMetaData = parseMeta(nextMetaString);
317
+ const nextMetaData = parseMeta(nextMetaString);
344
318
  if (nextMetaData.variantType === metaData.variantType) {
345
- var labelFromPrevious = currentNode.children[0].value.trim();
319
+ const labelFromPrevious = currentNode.children[0].value.trim();
346
320
  codeBlocks.push({
347
321
  node: nextNode,
348
322
  index: currentIndex + 1,
349
323
  variant: labelFromPrevious || nextMetaData.variantType || 'default',
350
324
  props: nextMetaData.props,
351
325
  actualLang: nextActualLang,
352
- labelFromPrevious: labelFromPrevious
326
+ labelFromPrevious
353
327
  });
354
328
  processedIndices.add(currentIndex + 1);
355
329
 
@@ -365,30 +339,30 @@ export var transformMarkdownCode = function transformMarkdownCode() {
365
339
  }
366
340
  if (currentNode.type === 'code') {
367
341
  // Parse language and meta for current node
368
- var currentMetaString = currentNode.meta;
369
- var currentActualLang = currentNode.lang;
342
+ let currentMetaString = currentNode.meta;
343
+ let currentActualLang = currentNode.lang;
370
344
  if (!currentMetaString && currentActualLang && currentActualLang.includes('=')) {
371
345
  currentMetaString = currentActualLang;
372
346
  currentActualLang = null;
373
347
  }
374
348
  if (currentMetaString) {
375
- var currentMetaData = parseMeta(currentMetaString);
349
+ const currentMetaData = parseMeta(currentMetaString);
376
350
  if (currentMetaData.variantType === metaData.variantType) {
377
351
  // Look for label before this code block
378
- var _labelFromPrevious = void 0;
352
+ let labelFromPrevious;
379
353
  if (currentIndex > 0) {
380
- var _prevNode = parentNode.children[currentIndex - 1];
381
- if (_prevNode.type === 'paragraph' && _prevNode.children.length === 1 && _prevNode.children[0].type === 'text') {
382
- _labelFromPrevious = _prevNode.children[0].value.trim();
354
+ const prevNode = parentNode.children[currentIndex - 1];
355
+ if (prevNode.type === 'paragraph' && prevNode.children.length === 1 && prevNode.children[0].type === 'text') {
356
+ labelFromPrevious = prevNode.children[0].value.trim();
383
357
  }
384
358
  }
385
359
  codeBlocks.push({
386
360
  node: currentNode,
387
361
  index: currentIndex,
388
- variant: _labelFromPrevious || currentMetaData.variantType || 'default',
362
+ variant: labelFromPrevious || currentMetaData.variantType || 'default',
389
363
  props: currentMetaData.props,
390
364
  actualLang: currentActualLang,
391
- labelFromPrevious: _labelFromPrevious
365
+ labelFromPrevious
392
366
  });
393
367
  processedIndices.add(currentIndex);
394
368
 
@@ -397,8 +371,8 @@ export var transformMarkdownCode = function transformMarkdownCode() {
397
371
 
398
372
  // Skip ahead past any paragraph that could be a label
399
373
  if (currentIndex < parentNode.children.length) {
400
- var _nextNode = parentNode.children[currentIndex];
401
- if (_nextNode.type === 'paragraph' && _nextNode.children.length === 1 && _nextNode.children[0].type === 'text') {
374
+ const nextNode = parentNode.children[currentIndex];
375
+ if (nextNode.type === 'paragraph' && nextNode.children.length === 1 && nextNode.children[0].type === 'text') {
402
376
  currentIndex += 1; // Skip the potential label
403
377
  }
404
378
  }
@@ -416,7 +390,7 @@ export var transformMarkdownCode = function transformMarkdownCode() {
416
390
  // Add the current code block as the first one for variant
417
391
  codeBlocks.push({
418
392
  node: codeNode,
419
- index: index,
393
+ index,
420
394
  variant: metaData.variant,
421
395
  props: allProps,
422
396
  actualLang: langFromMeta
@@ -428,24 +402,24 @@ export var transformMarkdownCode = function transformMarkdownCode() {
428
402
 
429
403
  // Collect adjacent code blocks with variants
430
404
  while (currentIndex < parentNode.children.length) {
431
- var _currentNode = parentNode.children[currentIndex];
432
- if (_currentNode.type === 'code') {
405
+ const currentNode = parentNode.children[currentIndex];
406
+ if (currentNode.type === 'code') {
433
407
  // Parse language and meta for current node
434
- var _currentMetaString = _currentNode.meta;
435
- var _currentActualLang = _currentNode.lang;
436
- if (!_currentMetaString && _currentActualLang && _currentActualLang.includes('=')) {
437
- _currentMetaString = _currentActualLang;
438
- _currentActualLang = null;
408
+ let currentMetaString = currentNode.meta;
409
+ let currentActualLang = currentNode.lang;
410
+ if (!currentMetaString && currentActualLang && currentActualLang.includes('=')) {
411
+ currentMetaString = currentActualLang;
412
+ currentActualLang = null;
439
413
  }
440
- if (_currentMetaString) {
441
- var _currentMetaData = parseMeta(_currentMetaString);
442
- if (_currentMetaData.variant) {
414
+ if (currentMetaString) {
415
+ const currentMetaData = parseMeta(currentMetaString);
416
+ if (currentMetaData.variant) {
443
417
  codeBlocks.push({
444
- node: _currentNode,
418
+ node: currentNode,
445
419
  index: currentIndex,
446
- variant: _currentMetaData.variant,
447
- props: _currentMetaData.props,
448
- actualLang: _currentActualLang
420
+ variant: currentMetaData.variant,
421
+ props: currentMetaData.props,
422
+ actualLang: currentActualLang
449
423
  });
450
424
  processedIndices.add(currentIndex);
451
425
  currentIndex += 1;
@@ -464,37 +438,32 @@ export var transformMarkdownCode = function transformMarkdownCode() {
464
438
  // Only process if we have multiple blocks
465
439
  if (codeBlocks.length > 1) {
466
440
  // Create section with figure elements for each variant
467
- var sectionElement = {
441
+ const sectionElement = {
468
442
  type: 'element',
469
443
  tagName: 'section',
470
444
  data: {
471
445
  hName: 'section',
472
446
  hProperties: {}
473
447
  },
474
- children: codeBlocks.map(function (block) {
448
+ children: codeBlocks.map(block => {
475
449
  // Build hProperties for HTML attributes
476
- var codeHProperties = {};
450
+ const codeHProperties = {};
477
451
 
478
452
  // Add normalized language as class
479
453
  if (block.actualLang) {
480
- codeHProperties.className = "language-".concat(normalizeLanguage(block.actualLang));
454
+ codeHProperties.className = `language-${normalizeLanguage(block.actualLang)}`;
481
455
  }
482
456
 
483
457
  // Add additional props as data attributes (in camelCase)
484
- Object.entries(block.props).forEach(function (_ref5) {
485
- var _ref6 = _slicedToArray(_ref5, 2),
486
- key = _ref6[0],
487
- value = _ref6[1];
458
+ Object.entries(block.props).forEach(([key, value]) => {
488
459
  // Convert kebab-case to camelCase for data attributes
489
- var camelKey = key.includes('-') ? "data".concat(key.split('-').map(function (part) {
490
- return part.charAt(0).toUpperCase() + part.slice(1);
491
- }).join('')) : "data".concat(key.charAt(0).toUpperCase() + key.slice(1));
460
+ const camelKey = key.includes('-') ? `data${key.split('-').map(part => part.charAt(0).toUpperCase() + part.slice(1)).join('')}` : `data${key.charAt(0).toUpperCase() + key.slice(1)}`;
492
461
  codeHProperties[camelKey] = value;
493
462
  });
494
463
 
495
464
  // Add data-variant to track the variant
496
465
  codeHProperties.dataVariant = block.variant;
497
- var fileName = getFileName(block.props);
466
+ const fileName = getFileName(block.props);
498
467
  return {
499
468
  type: 'element',
500
469
  tagName: 'figure',
@@ -511,7 +480,7 @@ export var transformMarkdownCode = function transformMarkdownCode() {
511
480
  },
512
481
  children: [{
513
482
  type: 'text',
514
- value: "".concat(block.variant, " variant")
483
+ value: `${block.variant} variant`
515
484
  }]
516
485
  }, {
517
486
  type: 'element',
@@ -520,7 +489,7 @@ export var transformMarkdownCode = function transformMarkdownCode() {
520
489
  hName: 'dl',
521
490
  hProperties: {}
522
491
  },
523
- children: [].concat(_toConsumableArray(fileName ? [{
492
+ children: [...(fileName ? [{
524
493
  type: 'element',
525
494
  tagName: 'dt',
526
495
  data: {
@@ -539,7 +508,7 @@ export var transformMarkdownCode = function transformMarkdownCode() {
539
508
  value: fileName
540
509
  }]
541
510
  }]
542
- }] : []), [{
511
+ }] : []), {
543
512
  type: 'element',
544
513
  tagName: 'dd',
545
514
  data: {
@@ -559,12 +528,7 @@ export var transformMarkdownCode = function transformMarkdownCode() {
559
528
  data: {
560
529
  hName: 'code',
561
530
  hProperties: codeHProperties,
562
- meta: "variant=".concat(block.variant).concat(Object.entries(block.props).map(function (_ref7) {
563
- var _ref8 = _slicedToArray(_ref7, 2),
564
- key = _ref8[0],
565
- value = _ref8[1];
566
- return " ".concat(key, "=").concat(value);
567
- }).join(''))
531
+ meta: `variant=${block.variant}${Object.entries(block.props).map(([key, value]) => ` ${key}=${value}`).join('')}`
568
532
  },
569
533
  children: [{
570
534
  type: 'text',
@@ -572,7 +536,7 @@ export var transformMarkdownCode = function transformMarkdownCode() {
572
536
  }]
573
537
  }]
574
538
  }]
575
- }])
539
+ }]
576
540
  }]
577
541
  };
578
542
  })
@@ -582,62 +546,48 @@ export var transformMarkdownCode = function transformMarkdownCode() {
582
546
  parentNode.children[codeBlocks[0].index] = sectionElement;
583
547
 
584
548
  // Remove all other code blocks and their labels (in reverse order to maintain indices)
585
- var indicesToRemove = codeBlocks.slice(1).map(function (block) {
586
- var indices = [block.index];
549
+ const indicesToRemove = codeBlocks.slice(1).map(block => {
550
+ const indices = [block.index];
587
551
  // Also include label paragraph if it exists
588
552
  if (block.labelFromPrevious && block.index > 0) {
589
- var _prevNode2 = parentNode.children[block.index - 1];
590
- if (_prevNode2.type === 'paragraph') {
553
+ const prevNode = parentNode.children[block.index - 1];
554
+ if (prevNode.type === 'paragraph') {
591
555
  indices.push(block.index - 1);
592
556
  }
593
557
  }
594
558
  return indices;
595
- }).flat().sort(function (a, b) {
596
- return b - a;
597
- }); // Sort in descending order
559
+ }).flat().sort((a, b) => b - a); // Sort in descending order
598
560
 
599
561
  // Remove the marked indices
600
- var _iterator2 = _createForOfIteratorHelper(indicesToRemove),
601
- _step2;
602
- try {
603
- var _loop = function _loop() {
604
- var removeIdx = _step2.value;
605
- if (removeIdx < parentNode.children.length) {
606
- parentNode.children.splice(removeIdx, 1);
607
- // Update processed indices to account for removed elements
608
- var _updatedProcessedIndices = new Set();
609
- processedIndices.forEach(function (processedIdx) {
610
- if (processedIdx > removeIdx) {
611
- _updatedProcessedIndices.add(processedIdx - 1);
612
- } else if (processedIdx < removeIdx) {
613
- _updatedProcessedIndices.add(processedIdx);
614
- }
615
- // Don't add the removed index
616
- });
617
- processedIndices.clear();
618
- _updatedProcessedIndices.forEach(function (processedIdx) {
619
- processedIndices.add(processedIdx);
620
- });
621
- }
622
- };
623
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
624
- _loop();
562
+ for (const removeIdx of indicesToRemove) {
563
+ if (removeIdx < parentNode.children.length) {
564
+ parentNode.children.splice(removeIdx, 1);
565
+ // Update processed indices to account for removed elements
566
+ const updatedProcessedIndices = new Set();
567
+ processedIndices.forEach(processedIdx => {
568
+ if (processedIdx > removeIdx) {
569
+ updatedProcessedIndices.add(processedIdx - 1);
570
+ } else if (processedIdx < removeIdx) {
571
+ updatedProcessedIndices.add(processedIdx);
572
+ }
573
+ // Don't add the removed index
574
+ });
575
+ processedIndices.clear();
576
+ updatedProcessedIndices.forEach(processedIdx => {
577
+ processedIndices.add(processedIdx);
578
+ });
625
579
  }
626
-
627
- // Also remove the label of the first block if it exists
628
- } catch (err) {
629
- _iterator2.e(err);
630
- } finally {
631
- _iterator2.f();
632
580
  }
581
+
582
+ // Also remove the label of the first block if it exists
633
583
  if (codeBlocks[0].labelFromPrevious && codeBlocks[0].index > 0) {
634
- var labelIndex = codeBlocks[0].index - 1;
635
- var _prevNode3 = parentNode.children[labelIndex];
636
- if (_prevNode3 && _prevNode3.type === 'paragraph') {
584
+ const labelIndex = codeBlocks[0].index - 1;
585
+ const prevNode = parentNode.children[labelIndex];
586
+ if (prevNode && prevNode.type === 'paragraph') {
637
587
  parentNode.children.splice(labelIndex, 1);
638
588
  // Update processed indices
639
- var updatedProcessedIndices = new Set();
640
- processedIndices.forEach(function (processedIdx) {
589
+ const updatedProcessedIndices = new Set();
590
+ processedIndices.forEach(processedIdx => {
641
591
  if (processedIdx > labelIndex) {
642
592
  updatedProcessedIndices.add(processedIdx - 1);
643
593
  } else if (processedIdx < labelIndex) {
@@ -645,44 +595,39 @@ export var transformMarkdownCode = function transformMarkdownCode() {
645
595
  }
646
596
  });
647
597
  processedIndices.clear();
648
- updatedProcessedIndices.forEach(function (processedIdx) {
598
+ updatedProcessedIndices.forEach(processedIdx => {
649
599
  processedIndices.add(processedIdx);
650
600
  });
651
601
  }
652
602
  }
653
603
  } else if (codeBlocks.length === 1) {
654
604
  // Single code block with variant - create a simple dl without figure wrapper
655
- var block = codeBlocks[0];
656
- var _codeHProperties = {};
605
+ const block = codeBlocks[0];
606
+ const codeHProperties = {};
657
607
 
658
608
  // Add normalized language as class
659
609
  if (block.actualLang) {
660
- _codeHProperties.className = "language-".concat(normalizeLanguage(block.actualLang));
610
+ codeHProperties.className = `language-${normalizeLanguage(block.actualLang)}`;
661
611
  }
662
612
 
663
613
  // Add additional props as data attributes (in camelCase)
664
- Object.entries(block.props).forEach(function (_ref9) {
665
- var _ref0 = _slicedToArray(_ref9, 2),
666
- key = _ref0[0],
667
- value = _ref0[1];
614
+ Object.entries(block.props).forEach(([key, value]) => {
668
615
  // Convert kebab-case to camelCase for data attributes
669
- var camelKey = key.includes('-') ? "data".concat(key.split('-').map(function (part) {
670
- return part.charAt(0).toUpperCase() + part.slice(1);
671
- }).join('')) : "data".concat(key.charAt(0).toUpperCase() + key.slice(1));
672
- _codeHProperties[camelKey] = value;
616
+ const camelKey = key.includes('-') ? `data${key.split('-').map(part => part.charAt(0).toUpperCase() + part.slice(1)).join('')}` : `data${key.charAt(0).toUpperCase() + key.slice(1)}`;
617
+ codeHProperties[camelKey] = value;
673
618
  });
674
619
 
675
620
  // Add data-variant to track the variant
676
- _codeHProperties.dataVariant = block.variant;
677
- var _fileName = getFileName(block.props);
678
- var dlElement = {
621
+ codeHProperties.dataVariant = block.variant;
622
+ const fileName = getFileName(block.props);
623
+ const dlElement = {
679
624
  type: 'element',
680
625
  tagName: 'dl',
681
626
  data: {
682
627
  hName: 'dl',
683
628
  hProperties: {}
684
629
  },
685
- children: [].concat(_toConsumableArray(_fileName ? [{
630
+ children: [...(fileName ? [{
686
631
  type: 'element',
687
632
  tagName: 'dt',
688
633
  data: {
@@ -698,10 +643,10 @@ export var transformMarkdownCode = function transformMarkdownCode() {
698
643
  },
699
644
  children: [{
700
645
  type: 'text',
701
- value: _fileName
646
+ value: fileName
702
647
  }]
703
648
  }]
704
- }] : []), [{
649
+ }] : []), {
705
650
  type: 'element',
706
651
  tagName: 'dd',
707
652
  data: {
@@ -720,13 +665,8 @@ export var transformMarkdownCode = function transformMarkdownCode() {
720
665
  tagName: 'code',
721
666
  data: {
722
667
  hName: 'code',
723
- hProperties: _codeHProperties,
724
- meta: "variant=".concat(block.variant).concat(Object.entries(block.props).map(function (_ref1) {
725
- var _ref10 = _slicedToArray(_ref1, 2),
726
- key = _ref10[0],
727
- value = _ref10[1];
728
- return " ".concat(key, "=").concat(value);
729
- }).join(''))
668
+ hProperties: codeHProperties,
669
+ meta: `variant=${block.variant}${Object.entries(block.props).map(([key, value]) => ` ${key}=${value}`).join('')}`
730
670
  },
731
671
  children: [{
732
672
  type: 'text',
@@ -734,7 +674,7 @@ export var transformMarkdownCode = function transformMarkdownCode() {
734
674
  }]
735
675
  }]
736
676
  }]
737
- }])
677
+ }]
738
678
  };
739
679
 
740
680
  // Replace this single code block