@carbon/ai-chat-components 1.1.0 → 1.2.0-rc.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.
Files changed (140) hide show
  1. package/custom-elements.json +3999 -4626
  2. package/es/components/carousel/src/carousel.d.ts +1 -1
  3. package/es/components/carousel/src/carousel.js +5 -3
  4. package/es/components/carousel/src/carousel.js.map +1 -1
  5. package/es/components/chat-button/src/chat-button.scss.js +1 -1
  6. package/es/components/chat-history/src/chat-history.scss.js +1 -1
  7. package/es/components/chat-history/src/history-delete-panel.d.ts +10 -0
  8. package/es/components/chat-history/src/history-delete-panel.js +39 -0
  9. package/es/components/chat-history/src/history-delete-panel.js.map +1 -1
  10. package/es/components/chat-history/src/history-panel-item.js +1 -1
  11. package/es/components/chat-history/src/history-panel-item.js.map +1 -1
  12. package/es/components/chat-history/src/history-shell.d.ts +7 -0
  13. package/es/components/chat-history/src/history-shell.js +43 -0
  14. package/es/components/chat-history/src/history-shell.js.map +1 -1
  15. package/es/components/code-snippet/src/code-snippet.js +1 -0
  16. package/es/components/code-snippet/src/code-snippet.js.map +1 -1
  17. package/es/components/code-snippet/src/code-snippet.scss.js +1 -1
  18. package/es/components/code-snippet/src/codemirror/base-setup.d.ts +1 -0
  19. package/es/components/code-snippet/src/codemirror/base-setup.js +4 -1
  20. package/es/components/code-snippet/src/codemirror/base-setup.js.map +1 -1
  21. package/es/components/code-snippet/src/codemirror/codemirror-runtime.d.ts +1 -0
  22. package/es/components/code-snippet/src/codemirror/codemirror-runtime.js +1 -0
  23. package/es/components/code-snippet/src/codemirror/codemirror-runtime.js.map +1 -1
  24. package/es/components/code-snippet/src/codemirror/diff-decorator.d.ts +30 -0
  25. package/es/components/code-snippet/src/codemirror/diff-decorator.js +80 -0
  26. package/es/components/code-snippet/src/codemirror/diff-decorator.js.map +1 -0
  27. package/es/components/code-snippet/src/codemirror/editor-manager.d.ts +2 -1
  28. package/es/components/code-snippet/src/codemirror/editor-manager.js +7 -2
  29. package/es/components/code-snippet/src/codemirror/editor-manager.js.map +1 -1
  30. package/es/components/markdown/src/markdown-token-tree.js +2 -10
  31. package/es/components/markdown/src/markdown-token-tree.js.map +1 -1
  32. package/es/components/markdown/src/plugins/markdown-it-attrs.d.ts +3 -3
  33. package/es/components/markdown/src/plugins/markdown-it-attrs.js +171 -57
  34. package/es/components/markdown/src/plugins/markdown-it-attrs.js.map +1 -1
  35. package/es/components/table/src/table.template.d.ts +1 -1
  36. package/es/components/table/src/table.template.js +6 -6
  37. package/es/components/table/src/table.template.js.map +1 -1
  38. package/es/globals/utils/focus-utils.d.ts +13 -1
  39. package/es/globals/utils/focus-utils.js +25 -1
  40. package/es/globals/utils/focus-utils.js.map +1 -1
  41. package/es/react/carousel.d.ts +4 -0
  42. package/es/react/carousel.js +31 -0
  43. package/es/react/carousel.js.map +1 -0
  44. package/es-custom/components/carousel/src/carousel.d.ts +1 -1
  45. package/es-custom/components/carousel/src/carousel.js +5 -3
  46. package/es-custom/components/carousel/src/carousel.js.map +1 -1
  47. package/es-custom/components/chat-button/src/chat-button.scss.js +1 -1
  48. package/es-custom/components/chat-history/src/chat-history.scss.js +1 -1
  49. package/es-custom/components/chat-history/src/history-delete-panel.d.ts +10 -0
  50. package/es-custom/components/chat-history/src/history-delete-panel.js +39 -0
  51. package/es-custom/components/chat-history/src/history-delete-panel.js.map +1 -1
  52. package/es-custom/components/chat-history/src/history-panel-item.js +1 -1
  53. package/es-custom/components/chat-history/src/history-panel-item.js.map +1 -1
  54. package/es-custom/components/chat-history/src/history-shell.d.ts +7 -0
  55. package/es-custom/components/chat-history/src/history-shell.js +43 -0
  56. package/es-custom/components/chat-history/src/history-shell.js.map +1 -1
  57. package/es-custom/components/code-snippet/src/code-snippet.js +1 -0
  58. package/es-custom/components/code-snippet/src/code-snippet.js.map +1 -1
  59. package/es-custom/components/code-snippet/src/code-snippet.scss.js +1 -1
  60. package/es-custom/components/code-snippet/src/codemirror/base-setup.d.ts +1 -0
  61. package/es-custom/components/code-snippet/src/codemirror/base-setup.js +4 -1
  62. package/es-custom/components/code-snippet/src/codemirror/base-setup.js.map +1 -1
  63. package/es-custom/components/code-snippet/src/codemirror/codemirror-runtime.d.ts +1 -0
  64. package/es-custom/components/code-snippet/src/codemirror/codemirror-runtime.js +1 -0
  65. package/es-custom/components/code-snippet/src/codemirror/codemirror-runtime.js.map +1 -1
  66. package/es-custom/components/code-snippet/src/codemirror/diff-decorator.d.ts +30 -0
  67. package/es-custom/components/code-snippet/src/codemirror/diff-decorator.js +80 -0
  68. package/es-custom/components/code-snippet/src/codemirror/diff-decorator.js.map +1 -0
  69. package/es-custom/components/code-snippet/src/codemirror/editor-manager.d.ts +2 -1
  70. package/es-custom/components/code-snippet/src/codemirror/editor-manager.js +7 -2
  71. package/es-custom/components/code-snippet/src/codemirror/editor-manager.js.map +1 -1
  72. package/es-custom/components/markdown/src/markdown-token-tree.js +2 -10
  73. package/es-custom/components/markdown/src/markdown-token-tree.js.map +1 -1
  74. package/es-custom/components/markdown/src/plugins/markdown-it-attrs.d.ts +3 -3
  75. package/es-custom/components/markdown/src/plugins/markdown-it-attrs.js +171 -57
  76. package/es-custom/components/markdown/src/plugins/markdown-it-attrs.js.map +1 -1
  77. package/es-custom/components/table/src/table.template.d.ts +1 -1
  78. package/es-custom/components/table/src/table.template.js +6 -6
  79. package/es-custom/components/table/src/table.template.js.map +1 -1
  80. package/es-custom/globals/utils/focus-utils.d.ts +13 -1
  81. package/es-custom/globals/utils/focus-utils.js +25 -1
  82. package/es-custom/globals/utils/focus-utils.js.map +1 -1
  83. package/es-custom/react/carousel.d.ts +4 -0
  84. package/es-custom/react/carousel.js +31 -0
  85. package/es-custom/react/carousel.js.map +1 -0
  86. package/package.json +4 -4
  87. package/es/components/markdown/src/plugins/markdownItAttrs/core.d.ts +0 -26
  88. package/es/components/markdown/src/plugins/markdownItAttrs/core.js +0 -330
  89. package/es/components/markdown/src/plugins/markdownItAttrs/core.js.map +0 -1
  90. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/blocks.d.ts +0 -6
  91. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/blocks.js +0 -63
  92. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/blocks.js.map +0 -1
  93. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/code.d.ts +0 -6
  94. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/code.js +0 -43
  95. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/code.js.map +0 -1
  96. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/index.d.ts +0 -5
  97. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/index.js +0 -55
  98. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/index.js.map +0 -1
  99. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/inline.d.ts +0 -19
  100. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/inline.js +0 -210
  101. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/inline.js.map +0 -1
  102. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/lists.d.ts +0 -13
  103. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/lists.js +0 -156
  104. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/lists.js.map +0 -1
  105. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/tables.d.ts +0 -13
  106. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/tables.js +0 -216
  107. package/es/components/markdown/src/plugins/markdownItAttrs/patterns/tables.js.map +0 -1
  108. package/es/components/markdown/src/plugins/markdownItAttrs/types.d.ts +0 -34
  109. package/es/components/markdown/src/plugins/markdownItAttrs/types.js +0 -8
  110. package/es/components/markdown/src/plugins/markdownItAttrs/types.js.map +0 -1
  111. package/es/components/markdown/src/plugins/markdownItAttrs/utils.d.ts +0 -25
  112. package/es/components/markdown/src/plugins/markdownItAttrs/utils.js +0 -62
  113. package/es/components/markdown/src/plugins/markdownItAttrs/utils.js.map +0 -1
  114. package/es-custom/components/markdown/src/plugins/markdownItAttrs/core.d.ts +0 -26
  115. package/es-custom/components/markdown/src/plugins/markdownItAttrs/core.js +0 -330
  116. package/es-custom/components/markdown/src/plugins/markdownItAttrs/core.js.map +0 -1
  117. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/blocks.d.ts +0 -6
  118. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/blocks.js +0 -63
  119. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/blocks.js.map +0 -1
  120. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/code.d.ts +0 -6
  121. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/code.js +0 -43
  122. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/code.js.map +0 -1
  123. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/index.d.ts +0 -5
  124. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/index.js +0 -55
  125. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/index.js.map +0 -1
  126. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/inline.d.ts +0 -19
  127. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/inline.js +0 -210
  128. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/inline.js.map +0 -1
  129. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/lists.d.ts +0 -13
  130. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/lists.js +0 -156
  131. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/lists.js.map +0 -1
  132. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/tables.d.ts +0 -13
  133. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/tables.js +0 -216
  134. package/es-custom/components/markdown/src/plugins/markdownItAttrs/patterns/tables.js.map +0 -1
  135. package/es-custom/components/markdown/src/plugins/markdownItAttrs/types.d.ts +0 -34
  136. package/es-custom/components/markdown/src/plugins/markdownItAttrs/types.js +0 -8
  137. package/es-custom/components/markdown/src/plugins/markdownItAttrs/types.js.map +0 -1
  138. package/es-custom/components/markdown/src/plugins/markdownItAttrs/utils.d.ts +0 -25
  139. package/es-custom/components/markdown/src/plugins/markdownItAttrs/utils.js +0 -62
  140. package/es-custom/components/markdown/src/plugins/markdownItAttrs/utils.js.map +0 -1
@@ -1,210 +0,0 @@
1
- /**
2
- * Copyright IBM Corp. 2025
3
- *
4
- * This source code is licensed under the Apache-2.0 license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- import { getAttrs, addAttrs, hasDelimiters, getMatchingOpeningToken } from '../core.js';
9
- import { last } from '../utils.js';
10
-
11
- /*
12
- * Copyright IBM Corp. 2025
13
- *
14
- * This source code is licensed under the Apache-2.0 license found in the
15
- * LICENSE file in the root directory of this source tree.
16
- *
17
- * @license
18
- */
19
- /**
20
- * Pattern for inline elements with nesting level 0 (images, inline code).
21
- * Example: ![alt](img.jpg){.class} or `code`{.class}
22
- */
23
- function createInlineNesting0Pattern(options) {
24
- return {
25
- name: "inline nesting 0",
26
- tests: [
27
- {
28
- shift: 0,
29
- type: "inline",
30
- children: [
31
- {
32
- shift: -1,
33
- type: (str) => str === "image" || str === "code_inline",
34
- },
35
- {
36
- shift: 0,
37
- type: "text",
38
- content: hasDelimiters("start", options),
39
- },
40
- ],
41
- },
42
- ],
43
- transform: (tokens, tokenIndex, childIndex) => {
44
- if (childIndex === null ||
45
- childIndex === undefined ||
46
- !tokens[tokenIndex].children) {
47
- return;
48
- }
49
- const children = tokens[tokenIndex].children;
50
- const token = children[childIndex];
51
- const endChar = token.content.indexOf(options.rightDelimiter);
52
- const attrToken = children[childIndex - 1];
53
- const attrs = getAttrs(token.content, 0, options);
54
- addAttrs(attrs, attrToken);
55
- if (token.content.length === endChar + options.rightDelimiter.length) {
56
- children.splice(childIndex, 1);
57
- }
58
- else {
59
- token.content = token.content.slice(endChar + options.rightDelimiter.length);
60
- }
61
- },
62
- };
63
- }
64
- /**
65
- * Pattern for inline attributes on emphasized/strong text.
66
- * Example: **bold**{.class}
67
- */
68
- function createInlineAttributesPattern(options) {
69
- return {
70
- name: "inline attributes",
71
- tests: [
72
- {
73
- shift: 0,
74
- type: "inline",
75
- children: [
76
- {
77
- shift: -1,
78
- nesting: -1,
79
- },
80
- {
81
- shift: 0,
82
- type: "text",
83
- content: hasDelimiters("start", options),
84
- },
85
- ],
86
- },
87
- ],
88
- transform: (tokens, tokenIndex, childIndex) => {
89
- if (childIndex === null ||
90
- childIndex === undefined ||
91
- !tokens[tokenIndex].children) {
92
- return;
93
- }
94
- const children = tokens[tokenIndex].children;
95
- const token = children[childIndex];
96
- const content = token.content;
97
- const attrs = getAttrs(content, 0, options);
98
- const openingToken = getMatchingOpeningToken(children, childIndex - 1);
99
- if (!openingToken) {
100
- return;
101
- }
102
- addAttrs(attrs, openingToken);
103
- token.content = content.slice(content.indexOf(options.rightDelimiter) + options.rightDelimiter.length);
104
- },
105
- };
106
- }
107
- /**
108
- * Pattern for softbreak followed by attributes at start of line.
109
- */
110
- function createSoftbreakCurlyPattern(options) {
111
- return {
112
- name: "\n{.a} softbreak then curly in start",
113
- tests: [
114
- {
115
- shift: 0,
116
- type: "inline",
117
- children: [
118
- {
119
- position: -2,
120
- type: "softbreak",
121
- },
122
- {
123
- position: -1,
124
- type: "text",
125
- content: hasDelimiters("only", options),
126
- },
127
- ],
128
- },
129
- ],
130
- transform: (tokens, tokenIndex, childIndex) => {
131
- if (childIndex === null ||
132
- childIndex === undefined ||
133
- !tokens[tokenIndex].children) {
134
- return;
135
- }
136
- const children = tokens[tokenIndex].children;
137
- const token = children[childIndex];
138
- const attrs = getAttrs(token.content, 0, options);
139
- // Find the next closing token
140
- let closingTokenIndex = tokenIndex + 1;
141
- while (tokens[closingTokenIndex + 1] &&
142
- tokens[closingTokenIndex + 1].nesting === -1) {
143
- closingTokenIndex++;
144
- }
145
- // Find its matching opening token and apply attributes
146
- const openingToken = getMatchingOpeningToken(tokens, closingTokenIndex);
147
- if (!openingToken) {
148
- return;
149
- }
150
- addAttrs(attrs, openingToken);
151
- // Remove the softbreak and attributes from children
152
- tokens[tokenIndex].children = children.slice(0, -2);
153
- },
154
- };
155
- }
156
- /**
157
- * Pattern for attributes at the end of a block.
158
- */
159
- function createEndOfBlockPattern(options) {
160
- return {
161
- name: "end of block",
162
- tests: [
163
- {
164
- shift: 0,
165
- type: "inline",
166
- children: [
167
- {
168
- position: -1,
169
- content: hasDelimiters("end", options),
170
- type: (t) => t !== "code_inline" && t !== "math_inline",
171
- },
172
- ],
173
- },
174
- ],
175
- transform: (tokens, tokenIndex, childIndex) => {
176
- if (childIndex === null ||
177
- childIndex === undefined ||
178
- !tokens[tokenIndex].children) {
179
- return;
180
- }
181
- const children = tokens[tokenIndex].children;
182
- const token = children[childIndex];
183
- const content = token.content;
184
- // Extract attributes from the end of content
185
- const attrs = getAttrs(content, content.lastIndexOf(options.leftDelimiter), options);
186
- // Find the next closing token
187
- let closingTokenIndex = tokenIndex + 1;
188
- do {
189
- if (tokens[closingTokenIndex] &&
190
- tokens[closingTokenIndex].nesting === -1) {
191
- break;
192
- }
193
- } while (closingTokenIndex++ < tokens.length);
194
- // Find its matching opening token
195
- const openingToken = getMatchingOpeningToken(tokens, closingTokenIndex);
196
- if (!openingToken) {
197
- return;
198
- }
199
- addAttrs(attrs, openingToken);
200
- // Remove attributes from content, trimming trailing space if present
201
- const trimmed = content.slice(0, content.lastIndexOf(options.leftDelimiter));
202
- const trimmedChars = trimmed.split("");
203
- token.content =
204
- last(trimmedChars) !== " " ? trimmed : trimmed.slice(0, -1);
205
- },
206
- };
207
- }
208
-
209
- export { createEndOfBlockPattern, createInlineAttributesPattern, createInlineNesting0Pattern, createSoftbreakCurlyPattern };
210
- //# sourceMappingURL=inline.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inline.js","sources":["../../../../../../../src/components/markdown/src/plugins/markdownItAttrs/patterns/inline.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import type { MarkdownItAttrsOptions, CurlyAttrsPattern } from "../types.js";
2
- /**
3
- * Pattern for list items with attributes after softbreak.
4
- */
5
- export declare function createListSoftbreakPattern(options: Required<MarkdownItAttrsOptions>): CurlyAttrsPattern;
6
- /**
7
- * Pattern for lists with double softbreak before attributes.
8
- */
9
- export declare function createListDoubleSoftbreakPattern(options: Required<MarkdownItAttrsOptions>): CurlyAttrsPattern;
10
- /**
11
- * Pattern for list items with attributes at the end.
12
- */
13
- export declare function createListItemEndPattern(options: Required<MarkdownItAttrsOptions>): CurlyAttrsPattern;
@@ -1,156 +0,0 @@
1
- /**
2
- * Copyright IBM Corp. 2025
3
- *
4
- * This source code is licensed under the Apache-2.0 license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- import { getAttrs, addAttrs, hasDelimiters, getMatchingOpeningToken } from '../core.js';
9
- import { last } from '../utils.js';
10
-
11
- /*
12
- * Copyright IBM Corp. 2025
13
- *
14
- * This source code is licensed under the Apache-2.0 license found in the
15
- * LICENSE file in the root directory of this source tree.
16
- *
17
- * @license
18
- */
19
- /**
20
- * Pattern for list items with attributes after softbreak.
21
- */
22
- function createListSoftbreakPattern(options) {
23
- return {
24
- name: "list softbreak",
25
- tests: [
26
- {
27
- shift: -2,
28
- type: "list_item_open",
29
- },
30
- {
31
- shift: 0,
32
- type: "inline",
33
- children: [
34
- {
35
- position: -2,
36
- type: "softbreak",
37
- },
38
- {
39
- position: -1,
40
- type: "text",
41
- content: hasDelimiters("only", options),
42
- },
43
- ],
44
- },
45
- ],
46
- transform: (tokens, tokenIndex, childIndex) => {
47
- if (childIndex === null ||
48
- childIndex === undefined ||
49
- !tokens[tokenIndex].children) {
50
- return;
51
- }
52
- const children = tokens[tokenIndex].children;
53
- const token = children[childIndex];
54
- const content = token.content;
55
- const attrs = getAttrs(content, 0, options);
56
- // Find the list open token by walking backwards
57
- let listOpenIndex = tokenIndex - 2;
58
- while (tokens[listOpenIndex - 1] &&
59
- tokens[listOpenIndex - 1].type !== "ordered_list_open" &&
60
- tokens[listOpenIndex - 1].type !== "bullet_list_open") {
61
- listOpenIndex--;
62
- }
63
- // Apply attributes to the list
64
- addAttrs(attrs, tokens[listOpenIndex - 1]);
65
- tokens[tokenIndex].children = children.slice(0, -2);
66
- },
67
- };
68
- }
69
- /**
70
- * Pattern for lists with double softbreak before attributes.
71
- */
72
- function createListDoubleSoftbreakPattern(options) {
73
- return {
74
- name: "list double softbreak",
75
- tests: [
76
- {
77
- shift: 0,
78
- type: (str) => str === "bullet_list_close" || str === "ordered_list_close",
79
- },
80
- {
81
- shift: 1,
82
- type: "paragraph_open",
83
- },
84
- {
85
- shift: 2,
86
- type: "inline",
87
- content: hasDelimiters("only", options),
88
- children: (arr) => arr.length === 1,
89
- },
90
- {
91
- shift: 3,
92
- type: "paragraph_close",
93
- },
94
- ],
95
- transform: (tokens, tokenIndex) => {
96
- const token = tokens[tokenIndex + 2];
97
- const content = token.content;
98
- const attrs = getAttrs(content, 0, options);
99
- // Find the matching list open token
100
- const openingToken = getMatchingOpeningToken(tokens, tokenIndex);
101
- if (!openingToken) {
102
- return;
103
- }
104
- addAttrs(attrs, openingToken);
105
- // Remove the paragraph containing the attributes
106
- tokens.splice(tokenIndex + 1, 3);
107
- },
108
- };
109
- }
110
- /**
111
- * Pattern for list items with attributes at the end.
112
- */
113
- function createListItemEndPattern(options) {
114
- return {
115
- name: "list item end",
116
- tests: [
117
- {
118
- shift: -2,
119
- type: "list_item_open",
120
- },
121
- {
122
- shift: 0,
123
- type: "inline",
124
- children: [
125
- {
126
- position: -1,
127
- type: "text",
128
- content: hasDelimiters("end", options),
129
- },
130
- ],
131
- },
132
- ],
133
- transform: (tokens, tokenIndex, childIndex) => {
134
- if (childIndex === null ||
135
- childIndex === undefined ||
136
- !tokens[tokenIndex].children) {
137
- return;
138
- }
139
- const children = tokens[tokenIndex].children;
140
- const token = children[childIndex];
141
- const content = token.content;
142
- // Extract attributes from the end of the content
143
- const attrs = getAttrs(content, content.lastIndexOf(options.leftDelimiter), options);
144
- // Apply to list item
145
- addAttrs(attrs, tokens[tokenIndex - 2]);
146
- // Remove attributes from content, trimming trailing space if present
147
- const trimmed = content.slice(0, content.lastIndexOf(options.leftDelimiter));
148
- const trimmedChars = trimmed.split("");
149
- token.content =
150
- last(trimmedChars) !== " " ? trimmed : trimmed.slice(0, -1);
151
- },
152
- };
153
- }
154
-
155
- export { createListDoubleSoftbreakPattern, createListItemEndPattern, createListSoftbreakPattern };
156
- //# sourceMappingURL=lists.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lists.js","sources":["../../../../../../../src/components/markdown/src/plugins/markdownItAttrs/patterns/lists.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import type { MarkdownItAttrsOptions, CurlyAttrsPattern } from "../types.js";
2
- /**
3
- * Pattern for table attributes.
4
- */
5
- export declare function createTablePattern(options: Required<MarkdownItAttrsOptions>): CurlyAttrsPattern;
6
- /**
7
- * Pattern for table header metadata calculation (used for colspan/rowspan).
8
- */
9
- export declare function createTableTheadMetadataPattern(): CurlyAttrsPattern;
10
- /**
11
- * Pattern for table body calculation for handling colspan/rowspan.
12
- */
13
- export declare function createTableTbodyCalculatePattern(): CurlyAttrsPattern;
@@ -1,216 +0,0 @@
1
- /**
2
- * Copyright IBM Corp. 2025
3
- *
4
- * This source code is licensed under the Apache-2.0 license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- import { getMatchingOpeningToken, getAttrs, addAttrs, hasDelimiters } from '../core.js';
9
- import { hidden } from '../utils.js';
10
-
11
- /*
12
- * Copyright IBM Corp. 2025
13
- *
14
- * This source code is licensed under the Apache-2.0 license found in the
15
- * LICENSE file in the root directory of this source tree.
16
- *
17
- * @license
18
- */
19
- /**
20
- * Pattern for table attributes.
21
- */
22
- function createTablePattern(options) {
23
- return {
24
- name: "tables",
25
- tests: [
26
- {
27
- shift: 0,
28
- type: "table_close",
29
- },
30
- {
31
- shift: 1,
32
- type: "paragraph_open",
33
- },
34
- {
35
- shift: 2,
36
- type: "inline",
37
- content: hasDelimiters("only", options),
38
- },
39
- ],
40
- transform: (tokens, tokenIndex) => {
41
- const token = tokens[tokenIndex + 2];
42
- const tableOpen = getMatchingOpeningToken(tokens, tokenIndex);
43
- if (!tableOpen) {
44
- return;
45
- }
46
- const attrs = getAttrs(token.content, 0, options);
47
- addAttrs(attrs, tableOpen);
48
- tokens.splice(tokenIndex + 1, 3);
49
- },
50
- };
51
- }
52
- /**
53
- * Pattern for table header metadata calculation (used for colspan/rowspan).
54
- */
55
- function createTableTheadMetadataPattern() {
56
- return {
57
- name: "tables thead metadata",
58
- tests: [
59
- {
60
- shift: 0,
61
- type: "tr_close",
62
- },
63
- {
64
- shift: 1,
65
- type: "thead_close",
66
- },
67
- {
68
- shift: 2,
69
- type: "tbody_open",
70
- },
71
- ],
72
- transform: (tokens, tokenIndex) => {
73
- // Find the matching opening tr token
74
- const trOpen = getMatchingOpeningToken(tokens, tokenIndex);
75
- if (!trOpen) {
76
- return;
77
- }
78
- const thToken = tokens[tokenIndex - 1];
79
- let columnCount = 0;
80
- let currentIndex = tokenIndex;
81
- // Count the number of columns by walking backwards through table headers
82
- while (--currentIndex) {
83
- if (tokens[currentIndex] === trOpen) {
84
- // Store column count in metadata for use in tbody calculations
85
- tokens[currentIndex - 1].meta = Object.assign({}, tokens[currentIndex + 2].meta, {
86
- colsnum: columnCount,
87
- });
88
- break;
89
- }
90
- columnCount +=
91
- (tokens[currentIndex].level === thToken.level &&
92
- tokens[currentIndex].type === thToken.type
93
- ? 1
94
- : 0) >> 0;
95
- }
96
- // Also store column count in tbody metadata
97
- tokens[tokenIndex + 2].meta = Object.assign({}, tokens[tokenIndex + 2].meta, {
98
- colsnum: columnCount,
99
- });
100
- },
101
- };
102
- }
103
- /**
104
- * Pattern for table body calculation for handling colspan/rowspan.
105
- */
106
- function createTableTbodyCalculatePattern() {
107
- return {
108
- name: "tables tbody calculate",
109
- tests: [
110
- {
111
- shift: 0,
112
- type: "tbody_close",
113
- hidden: false,
114
- },
115
- ],
116
- transform: (tokens, tokenIndex) => {
117
- // Find the tbody_open token
118
- let tbodyOpenIndex = tokenIndex - 2;
119
- while (tbodyOpenIndex > 0 &&
120
- "tbody_open" !== tokens[--tbodyOpenIndex].type) {
121
- // Continue searching backwards
122
- }
123
- // Get the calculated column count from metadata
124
- const totalColumns = tokens[tbodyOpenIndex].meta?.colsnum ?? 0;
125
- if (totalColumns < 2) {
126
- return;
127
- }
128
- const targetLevel = tokens[tokenIndex].level + 2;
129
- // Process each token in the table body
130
- for (let currentTokenIndex = tbodyOpenIndex; currentTokenIndex < tokenIndex; currentTokenIndex++) {
131
- if (tokens[currentTokenIndex].level > targetLevel) {
132
- continue;
133
- }
134
- const token = tokens[currentTokenIndex];
135
- const rowspan = token.hidden
136
- ? 0
137
- : Number(token.attrGet("rowspan")) || 0;
138
- const colspan = token.hidden
139
- ? 0
140
- : Number(token.attrGet("colspan")) || 0;
141
- // Handle rowspan > 1: update metadata for affected rows
142
- if (rowspan > 1) {
143
- let availableColumns = totalColumns - (colspan > 0 ? colspan : 1);
144
- for (let searchIndex = currentTokenIndex, remainingRows = rowspan; searchIndex < tokenIndex && remainingRows > 1; searchIndex++) {
145
- if ("tr_open" == tokens[searchIndex].type) {
146
- tokens[searchIndex].meta = Object.assign({}, tokens[searchIndex].meta);
147
- if (tokens[searchIndex].meta &&
148
- tokens[searchIndex].meta.colsnum) {
149
- availableColumns -= 1;
150
- }
151
- tokens[searchIndex].meta.colsnum =
152
- availableColumns;
153
- remainingRows--;
154
- }
155
- }
156
- }
157
- // Hide cells that exceed the column count in a row
158
- if ("tr_open" == token.type &&
159
- token.meta &&
160
- token.meta.colsnum) {
161
- const maxColumns = token.meta.colsnum;
162
- for (let searchIndex = currentTokenIndex, cellCount = 0; searchIndex < tokenIndex; searchIndex++) {
163
- if ("td_open" == tokens[searchIndex].type) {
164
- cellCount += 1;
165
- }
166
- else if ("tr_close" == tokens[searchIndex].type) {
167
- break;
168
- }
169
- // Hide cells beyond the maximum column count
170
- if (cellCount > maxColumns) {
171
- tokens[searchIndex].hidden || hidden(tokens[searchIndex]);
172
- }
173
- }
174
- }
175
- // Handle colspan > 1: adjust colspan value and hide excess cells
176
- if (colspan > 1) {
177
- const cellIndices = [];
178
- let rowEndIndex = currentTokenIndex + 3;
179
- let columnsInRow = totalColumns;
180
- for (let searchIndex = currentTokenIndex; searchIndex > tbodyOpenIndex; searchIndex--) {
181
- if ("tr_open" == tokens[searchIndex].type) {
182
- columnsInRow =
183
- tokens[searchIndex].meta?.colsnum ??
184
- columnsInRow;
185
- break;
186
- }
187
- else if ("td_open" === tokens[searchIndex].type) {
188
- cellIndices.unshift(searchIndex);
189
- }
190
- }
191
- for (let searchIndex = currentTokenIndex + 2; searchIndex < tokenIndex; searchIndex++) {
192
- if ("tr_close" == tokens[searchIndex].type) {
193
- rowEndIndex = searchIndex;
194
- break;
195
- }
196
- else if ("td_open" == tokens[searchIndex].type) {
197
- cellIndices.push(searchIndex);
198
- }
199
- }
200
- const cellOffset = cellIndices.indexOf(currentTokenIndex);
201
- let actualColspan = columnsInRow - cellOffset;
202
- actualColspan = actualColspan > colspan ? colspan : actualColspan;
203
- if (colspan > actualColspan) {
204
- token.attrSet("colspan", actualColspan + "");
205
- }
206
- for (let hideIndex = cellIndices.slice(columnsInRow + 1 - totalColumns - actualColspan)[0]; hideIndex < rowEndIndex; hideIndex++) {
207
- tokens[hideIndex].hidden || hidden(tokens[hideIndex]);
208
- }
209
- }
210
- }
211
- },
212
- };
213
- }
214
-
215
- export { createTablePattern, createTableTbodyCalculatePattern, createTableTheadMetadataPattern };
216
- //# sourceMappingURL=tables.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tables.js","sources":["../../../../../../../src/components/markdown/src/plugins/markdownItAttrs/patterns/tables.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- import type { Token } from "markdown-it";
2
- export interface MarkdownItAttrsOptions {
3
- leftDelimiter?: string;
4
- rightDelimiter?: string;
5
- allowedAttributes?: (string | RegExp)[];
6
- }
7
- export type AttributePair = [string, string];
8
- export type DetectingStrRule = (str: string) => boolean;
9
- export interface DetectingRule {
10
- shift?: number;
11
- position?: number;
12
- type?: string | DetectingStrRule;
13
- tag?: string | DetectingStrRule;
14
- children?: DetectingRule[] | ((arr: unknown[]) => boolean);
15
- content?: string | DetectingStrRule;
16
- markup?: string | DetectingStrRule;
17
- info?: string | DetectingStrRule;
18
- nesting?: number;
19
- level?: number;
20
- block?: boolean;
21
- hidden?: boolean;
22
- attrs?: AttributePair[];
23
- map?: [number, number][];
24
- meta?: unknown;
25
- }
26
- export interface CurlyAttrsPattern {
27
- name: string;
28
- tests: DetectingRule[];
29
- transform: (tokens: Token[], i: number, j?: number) => void;
30
- }
31
- export interface MatchedResult {
32
- match: boolean;
33
- j: number | null;
34
- }