@canonical/react-ds-app-launchpad 0.9.0 → 0.9.1-experimental.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.
@@ -157,12 +157,12 @@
157
157
 
158
158
  .hljs-deletion {
159
159
  color: #dc3023;
160
- background-color: #490202;
160
+ background-color: transparent;
161
161
  }
162
162
 
163
163
  .hljs-addition {
164
164
  color: #0e811f;
165
- background-color: #04260f;
165
+ background-color: transparent;
166
166
  }
167
167
 
168
168
  .hljs-link {
@@ -15,6 +15,37 @@ function highlight(code, fileExtension) {
15
15
  // Fall back to auto-detection if no match found
16
16
  return hljs.highlightAuto(code).value;
17
17
  }
18
+ /**
19
+ * Splits HTML spans that contain newline characters into separate spans for each line.
20
+ * This is useful for diff viewers where each line needs to be highlighted individually
21
+ * while preserving the original syntax highlighting CSS classes.
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * // Input HTML with multiline comment span
26
+ * const input = '<span class="hljs-comment">/**\\n * Description\\n *\/</span>';
27
+ *
28
+ * const output = splitMultilineSpans(input);
29
+ * // Returns: '<span class="hljs-comment">/**</span>\\n<span class="hljs-comment"> * Description</span>\\n<span class="hljs-comment"> *\/</span>'
30
+ * ```
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * // Input with multiple multiline spans
35
+ * const input = '<span class="hljs-keyword">function</span> <span class="hljs-title">test() {\\n console.log("hello");\\n}</span>';
36
+ *
37
+ * const output = splitMultilineSpans(input);
38
+ * // Returns: '<span class="hljs-keyword">function</span> <span class="hljs-title">test() {</span>\\n<span class="hljs-title"> console.log("hello");</span>\\n<span class="hljs-title">}</span>'
39
+ * ```
40
+ */
41
+ function splitMultilineSpans(html) {
42
+ return html.replace(/<span([^>]*)>([^<]*?\n[^<]*?)<\/span>/g, (match, attributes, content) => {
43
+ const lines = content.split("\n");
44
+ return lines
45
+ .map((line) => `<span${attributes}>${line}</span>`)
46
+ .join("\n");
47
+ });
48
+ }
18
49
  function highlightDiffHunkLines(filePath, hunkLines) {
19
50
  const fileExtension = filePath.split(".").pop();
20
51
  const hunkContentAddedVersion = hunkLines
@@ -25,8 +56,8 @@ function highlightDiffHunkLines(filePath, hunkLines) {
25
56
  .filter((line) => line.type === "remove" || line.type === "context")
26
57
  .map((line) => line.content)
27
58
  .join("\n");
28
- const highlightedHunkAddedVersion = highlight(hunkContentAddedVersion, fileExtension).split("\n");
29
- const highlightedHunkDeletedVersion = highlight(hunkContentDeletedVersion, fileExtension).split("\n");
59
+ const highlightedHunkAddedVersion = splitMultilineSpans(highlight(hunkContentAddedVersion, fileExtension)).split("\n");
60
+ const highlightedHunkDeletedVersion = splitMultilineSpans(highlight(hunkContentDeletedVersion, fileExtension)).split("\n");
30
61
  const highlightedLines = [];
31
62
  let addedOffset = 0;
32
63
  let removedOffset = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"highlightDiffHunkLines.js","sourceRoot":"","sources":["../../../../../src/ui/GitDiffViewer/utils/highlightDiffHunkLines.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"highlightDiffHunkLines.js","sourceRoot":"","sources":["../../../../../src/ui/GitDiffViewer/utils/highlightDiffHunkLines.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"highlightDiffHunkLines.d.ts","sourceRoot":"","sources":["../../../../../src/ui/GitDiffViewer/utils/highlightDiffHunkLines.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AA0BxC,iBAAS,sBAAsB,CAC7B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,GACvB,MAAM,EAAE,CA0CV;AAED,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"highlightDiffHunkLines.d.ts","sourceRoot":"","sources":["../../../../../src/ui/GitDiffViewer/utils/highlightDiffHunkLines.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AA8DxC,iBAAS,sBAAsB,CAC7B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,GACvB,MAAM,EAAE,CAwCV;AAED,eAAe,sBAAsB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canonical/react-ds-app-launchpad",
3
- "version": "0.9.0",
3
+ "version": "0.9.1-experimental.0",
4
4
  "type": "module",
5
5
  "module": "dist/esm/index.js",
6
6
  "types": "dist/types/index.d.ts",
@@ -71,5 +71,5 @@
71
71
  "vite-tsconfig-paths": "^5.1.4",
72
72
  "vitest": "^3.2.3"
73
73
  },
74
- "gitHead": "59f31f7d58a1794d36dae3cf99691b6eeb3f4042"
74
+ "gitHead": "573b33cfbe04ff6b7e869b2c1d7d6f939001da0c"
75
75
  }