@camunda8/docusaurus-theme-openapi-docs 4.5.3 → 4.6.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.
@@ -170,13 +170,21 @@ function CodeSnippets({
170
170
  });
171
171
  });
172
172
  // Merge user-defined langs into languageSet
173
- const mergedLangs = (0, languages_1.mergeCodeSampleLanguage)(
173
+ const mergedLangsRaw = (0, languages_1.mergeCodeSampleLanguage)(
174
174
  (0, languages_1.mergeArraysbyLanguage)(
175
175
  userDefinedLanguageSet,
176
176
  filteredLanguageSet
177
177
  ),
178
178
  codeSamples
179
179
  );
180
+ // Remove Node.js when TypeScript SDK examples exist (avoid confusion
181
+ // between raw Node.js calls and the supported TypeScript SDK)
182
+ const hasTypeScriptSdk = mergedLangsRaw.some(
183
+ (lang) => lang.language === "typescript" && lang.samples
184
+ );
185
+ const mergedLangs = hasTypeScriptSdk
186
+ ? mergedLangsRaw.filter((lang) => lang.language !== "nodejs")
187
+ : mergedLangsRaw;
180
188
  // Read defaultLang from localStorage
181
189
  const defaultLang = mergedLangs.filter(
182
190
  (lang) =>
@@ -326,68 +334,36 @@ function CodeSnippets({
326
334
  setSelectedVariant: setSelectedVariant,
327
335
  },
328
336
  includeSample: true,
329
- includeVariant: !(
330
- lang.variants.length === 1 &&
331
- lang.variants[0] === lang.language
332
- ),
337
+ includeVariant: false,
333
338
  currentLanguage: lang,
334
339
  defaultValue: lang.samples[0],
335
340
  languageSet: mergedLangs,
336
341
  lazy: true,
337
342
  },
338
- [
339
- ...lang.samples.map((sample, index) =>
343
+ lang.samples.map((sample, index) =>
344
+ react_1.default.createElement(
345
+ CodeTab,
346
+ {
347
+ value: sample,
348
+ label: lang.samplesLabels
349
+ ? lang.samplesLabels[index]
350
+ : sample,
351
+ key: `${lang.language}-sample-${index}`,
352
+ attributes: {
353
+ className: `openapi-tabs__code-item--sample`,
354
+ },
355
+ },
340
356
  react_1.default.createElement(
341
- CodeTab,
357
+ ApiCodeBlock_1.default,
342
358
  {
343
- value: sample,
344
- label: lang.samplesLabels
345
- ? lang.samplesLabels[index]
346
- : sample,
347
- key: `${lang.language}-sample-${index}`,
348
- attributes: {
349
- className: `openapi-tabs__code-item--sample`,
350
- },
359
+ language: lang.highlight,
360
+ className: "openapi-explorer__code-block",
361
+ showLineNumbers: true,
351
362
  },
352
- react_1.default.createElement(
353
- ApiCodeBlock_1.default,
354
- {
355
- language: lang.highlight,
356
- className: "openapi-explorer__code-block",
357
- showLineNumbers: true,
358
- },
359
- codeSampleCodeText
360
- )
363
+ codeSampleCodeText
361
364
  )
362
- ),
363
- ...(!(
364
- lang.variants.length === 1 &&
365
- lang.variants[0] === lang.language
366
365
  )
367
- ? lang.variants.map((variant, index) =>
368
- react_1.default.createElement(
369
- CodeTab,
370
- {
371
- value: variant.toLowerCase(),
372
- label: variant.toUpperCase(),
373
- key: `${lang.language}-variant-${index}`,
374
- attributes: {
375
- className: `openapi-tabs__code-item--variant`,
376
- },
377
- },
378
- react_1.default.createElement(
379
- ApiCodeBlock_1.default,
380
- {
381
- language: lang.highlight,
382
- className: "openapi-explorer__code-block",
383
- showLineNumbers: true,
384
- },
385
- codeText
386
- )
387
- )
388
- )
389
- : []),
390
- ]
366
+ )
391
367
  )
392
368
  : /* Variant-only inner tabs */
393
369
  react_1.default.createElement(
@@ -400,7 +376,13 @@ function CodeSnippets({
400
376
  },
401
377
  includeVariant: true,
402
378
  currentLanguage: lang,
403
- defaultValue: selectedVariant,
379
+ defaultValue:
380
+ selectedVariant &&
381
+ lang.variants
382
+ .map((v) => v.toLowerCase())
383
+ .includes(selectedVariant)
384
+ ? selectedVariant
385
+ : lang.variants[0]?.toLowerCase(),
404
386
  languageSet: mergedLangs,
405
387
  lazy: true,
406
388
  },
@@ -410,7 +392,7 @@ function CodeSnippets({
410
392
  {
411
393
  value: variant.toLowerCase(),
412
394
  label: variant.toUpperCase(),
413
- key: `${lang.language}-${lang.variant}`,
395
+ key: `${lang.language}-${variant}`,
414
396
  attributes: {
415
397
  className: `openapi-tabs__code-item--variant`,
416
398
  },
@@ -74,6 +74,8 @@
74
74
  max-height: 200px;
75
75
  font-size: var(--openapi-explorer-font-size-code);
76
76
  padding-top: var(--ifm-pre-padding);
77
+ white-space: pre-wrap;
78
+ word-break: break-all;
77
79
  }
78
80
 
79
81
  body[class="ReactModal__Body--open"] {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@camunda8/docusaurus-theme-openapi-docs",
3
3
  "description": "OpenAPI theme for Docusaurus.",
4
- "version": "4.5.3",
4
+ "version": "4.6.0",
5
5
  "license": "MIT",
6
6
  "keywords": [
7
7
  "openapi",
@@ -120,11 +120,20 @@ function CodeSnippets({
120
120
  });
121
121
 
122
122
  // Merge user-defined langs into languageSet
123
- const mergedLangs = mergeCodeSampleLanguage(
123
+ const mergedLangsRaw = mergeCodeSampleLanguage(
124
124
  mergeArraysbyLanguage(userDefinedLanguageSet, filteredLanguageSet),
125
125
  codeSamples
126
126
  );
127
127
 
128
+ // Remove Node.js when TypeScript SDK examples exist (avoid confusion
129
+ // between raw Node.js calls and the supported TypeScript SDK)
130
+ const hasTypeScriptSdk = mergedLangsRaw.some(
131
+ (lang) => lang.language === "typescript" && lang.samples
132
+ );
133
+ const mergedLangs = hasTypeScriptSdk
134
+ ? mergedLangsRaw.filter((lang) => lang.language !== "nodejs")
135
+ : mergedLangsRaw;
136
+
128
137
  // Read defaultLang from localStorage
129
138
  const defaultLang: Language[] = mergedLangs.filter(
130
139
  (lang) =>
@@ -274,66 +283,33 @@ function CodeSnippets({
274
283
  setSelectedVariant: setSelectedVariant,
275
284
  }}
276
285
  includeSample={true}
277
- includeVariant={
278
- !(
279
- lang.variants.length === 1 &&
280
- lang.variants[0] === lang.language
281
- )
282
- }
286
+ includeVariant={false}
283
287
  currentLanguage={lang}
284
288
  defaultValue={lang.samples[0]}
285
289
  languageSet={mergedLangs}
286
290
  lazy
287
291
  >
288
- {[
289
- ...lang.samples.map((sample, index) => (
290
- <CodeTab
291
- value={sample}
292
- label={
293
- lang.samplesLabels
294
- ? lang.samplesLabels[index]
295
- : sample
296
- }
297
- key={`${lang.language}-sample-${index}`}
298
- attributes={{
299
- className: `openapi-tabs__code-item--sample`,
300
- }}
292
+ {lang.samples.map((sample, index) => (
293
+ <CodeTab
294
+ value={sample}
295
+ label={
296
+ lang.samplesLabels ? lang.samplesLabels[index] : sample
297
+ }
298
+ key={`${lang.language}-sample-${index}`}
299
+ attributes={{
300
+ className: `openapi-tabs__code-item--sample`,
301
+ }}
302
+ >
303
+ {/* @ts-ignore */}
304
+ <ApiCodeBlock
305
+ language={lang.highlight}
306
+ className="openapi-explorer__code-block"
307
+ showLineNumbers={true}
301
308
  >
302
- {/* @ts-ignore */}
303
- <ApiCodeBlock
304
- language={lang.highlight}
305
- className="openapi-explorer__code-block"
306
- showLineNumbers={true}
307
- >
308
- {codeSampleCodeText}
309
- </ApiCodeBlock>
310
- </CodeTab>
311
- )),
312
- ...(!(
313
- lang.variants.length === 1 &&
314
- lang.variants[0] === lang.language
315
- )
316
- ? lang.variants.map((variant, index) => (
317
- <CodeTab
318
- value={variant.toLowerCase()}
319
- label={variant.toUpperCase()}
320
- key={`${lang.language}-variant-${index}`}
321
- attributes={{
322
- className: `openapi-tabs__code-item--variant`,
323
- }}
324
- >
325
- {/* @ts-ignore */}
326
- <ApiCodeBlock
327
- language={lang.highlight}
328
- className="openapi-explorer__code-block"
329
- showLineNumbers={true}
330
- >
331
- {codeText}
332
- </ApiCodeBlock>
333
- </CodeTab>
334
- ))
335
- : []),
336
- ]}
309
+ {codeSampleCodeText}
310
+ </ApiCodeBlock>
311
+ </CodeTab>
312
+ ))}
337
313
  </CodeTabs>
338
314
  ) : (
339
315
  /* Variant-only inner tabs */
@@ -345,7 +321,14 @@ function CodeSnippets({
345
321
  }}
346
322
  includeVariant={true}
347
323
  currentLanguage={lang}
348
- defaultValue={selectedVariant}
324
+ defaultValue={
325
+ selectedVariant &&
326
+ lang.variants
327
+ .map((v) => v.toLowerCase())
328
+ .includes(selectedVariant)
329
+ ? selectedVariant
330
+ : lang.variants[0]?.toLowerCase()
331
+ }
349
332
  languageSet={mergedLangs}
350
333
  lazy
351
334
  >
@@ -354,7 +337,7 @@ function CodeSnippets({
354
337
  <CodeTab
355
338
  value={variant.toLowerCase()}
356
339
  label={variant.toUpperCase()}
357
- key={`${lang.language}-${lang.variant}`}
340
+ key={`${lang.language}-${variant}`}
358
341
  attributes={{
359
342
  className: `openapi-tabs__code-item--variant`,
360
343
  }}
@@ -74,6 +74,8 @@
74
74
  max-height: 200px;
75
75
  font-size: var(--openapi-explorer-font-size-code);
76
76
  padding-top: var(--ifm-pre-padding);
77
+ white-space: pre-wrap;
78
+ word-break: break-all;
77
79
  }
78
80
 
79
81
  body[class="ReactModal__Body--open"] {