@nldd/design-system 0.8.63 → 0.8.65

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 (737) hide show
  1. package/dist/assets/styles/{slotted-reset.d.ts → style-resets.d.ts} +1 -1
  2. package/dist/assets/styles/style-resets.d.ts.map +1 -0
  3. package/dist/assets/styles/{slotted-reset.fixtures.d.ts → style-resets.fixtures.d.ts} +4 -4
  4. package/dist/assets/styles/style-resets.fixtures.d.ts.map +1 -0
  5. package/dist/assets/styles/{slotted-reset.fixtures.js → style-resets.fixtures.js} +4 -4
  6. package/dist/assets/styles/style-resets.fixtures.js.map +1 -0
  7. package/dist/assets/styles/{slotted-reset.js → style-resets.js} +1 -1
  8. package/dist/assets/styles/style-resets.js.map +1 -0
  9. package/dist/components/actions/button/button.d.ts.map +1 -1
  10. package/dist/components/actions/button/button.js +7 -6
  11. package/dist/components/actions/button/button.js.map +1 -1
  12. package/dist/components/actions/button/button.styles.d.ts.map +1 -1
  13. package/dist/components/actions/button/button.styles.js +16 -12
  14. package/dist/components/actions/button/button.styles.js.map +1 -1
  15. package/dist/components/actions/button-bar/button-bar.d.ts.map +1 -1
  16. package/dist/components/actions/button-bar/button-bar.js +3 -2
  17. package/dist/components/actions/button-bar/button-bar.js.map +1 -1
  18. package/dist/components/actions/button-bar/button-bar.styles.d.ts.map +1 -1
  19. package/dist/components/actions/button-bar/button-bar.styles.js +3 -0
  20. package/dist/components/actions/button-bar/button-bar.styles.js.map +1 -1
  21. package/dist/components/actions/button-group/button-group.d.ts.map +1 -1
  22. package/dist/components/actions/button-group/button-group.js +3 -2
  23. package/dist/components/actions/button-group/button-group.js.map +1 -1
  24. package/dist/components/actions/button-group/button-group.styles.d.ts.map +1 -1
  25. package/dist/components/actions/button-group/button-group.styles.js +3 -0
  26. package/dist/components/actions/button-group/button-group.styles.js.map +1 -1
  27. package/dist/components/actions/icon-button/icon-button.d.ts +4 -0
  28. package/dist/components/actions/icon-button/icon-button.d.ts.map +1 -1
  29. package/dist/components/actions/icon-button/icon-button.js +13 -5
  30. package/dist/components/actions/icon-button/icon-button.js.map +1 -1
  31. package/dist/components/actions/icon-button/icon-button.styles.d.ts.map +1 -1
  32. package/dist/components/actions/icon-button/icon-button.styles.js +19 -11
  33. package/dist/components/actions/icon-button/icon-button.styles.js.map +1 -1
  34. package/dist/components/actions/icon-button/icon-button.template.d.ts.map +1 -1
  35. package/dist/components/actions/icon-button/icon-button.template.js +2 -0
  36. package/dist/components/actions/icon-button/icon-button.template.js.map +1 -1
  37. package/dist/components/actions/menu/menu.d.ts +1 -0
  38. package/dist/components/actions/menu/menu.d.ts.map +1 -1
  39. package/dist/components/actions/menu/menu.js +33 -15
  40. package/dist/components/actions/menu/menu.js.map +1 -1
  41. package/dist/components/actions/menu/menu.styles.d.ts.map +1 -1
  42. package/dist/components/actions/menu/menu.styles.js +12 -1
  43. package/dist/components/actions/menu/menu.styles.js.map +1 -1
  44. package/dist/components/actions/split-button/split-button.d.ts.map +1 -1
  45. package/dist/components/actions/split-button/split-button.js +5 -4
  46. package/dist/components/actions/split-button/split-button.js.map +1 -1
  47. package/dist/components/actions/split-button/split-button.styles.d.ts.map +1 -1
  48. package/dist/components/actions/split-button/split-button.styles.js +4 -1
  49. package/dist/components/actions/split-button/split-button.styles.js.map +1 -1
  50. package/dist/components/actions/toolbar/toolbar.d.ts +11 -0
  51. package/dist/components/actions/toolbar/toolbar.d.ts.map +1 -1
  52. package/dist/components/actions/toolbar/toolbar.js +112 -40
  53. package/dist/components/actions/toolbar/toolbar.js.map +1 -1
  54. package/dist/components/actions/toolbar/toolbar.styles.d.ts.map +1 -1
  55. package/dist/components/actions/toolbar/toolbar.styles.js +7 -13
  56. package/dist/components/actions/toolbar/toolbar.styles.js.map +1 -1
  57. package/dist/components/components.js +104 -101
  58. package/dist/components/content/blockquote/blockquote.styles.js +4 -4
  59. package/dist/components/content/blockquote/blockquote.styles.js.map +1 -1
  60. package/dist/components/content/byline/byline.d.ts.map +1 -1
  61. package/dist/components/content/byline/byline.js +3 -2
  62. package/dist/components/content/byline/byline.js.map +1 -1
  63. package/dist/components/content/byline/byline.styles.d.ts.map +1 -1
  64. package/dist/components/content/byline/byline.styles.js +4 -1
  65. package/dist/components/content/byline/byline.styles.js.map +1 -1
  66. package/dist/components/content/code-viewer/code-viewer.d.ts +24 -64
  67. package/dist/components/content/code-viewer/code-viewer.d.ts.map +1 -1
  68. package/dist/components/content/code-viewer/code-viewer.js +239 -156
  69. package/dist/components/content/code-viewer/code-viewer.js.map +1 -1
  70. package/dist/components/content/code-viewer/code-viewer.styles.d.ts.map +1 -1
  71. package/dist/components/content/code-viewer/code-viewer.styles.js +37 -93
  72. package/dist/components/content/code-viewer/code-viewer.styles.js.map +1 -1
  73. package/dist/components/content/code-viewer/code-viewer.template.d.ts.map +1 -1
  74. package/dist/components/content/code-viewer/code-viewer.template.js +10 -29
  75. package/dist/components/content/code-viewer/code-viewer.template.js.map +1 -1
  76. package/dist/components/content/icon/icon-aliases.d.ts.map +1 -1
  77. package/dist/components/content/icon/icon-aliases.js +23 -2
  78. package/dist/components/content/icon/icon-aliases.js.map +1 -1
  79. package/dist/components/content/icon/icon-registry.d.ts.map +1 -1
  80. package/dist/components/content/icon/icon-registry.js +18 -0
  81. package/dist/components/content/icon/icon-registry.js.map +1 -1
  82. package/dist/components/content/icon/icon.d.ts.map +1 -1
  83. package/dist/components/content/icon/icon.js +3 -2
  84. package/dist/components/content/icon/icon.js.map +1 -1
  85. package/dist/components/content/icon/icon.styles.d.ts.map +1 -1
  86. package/dist/components/content/icon/icon.styles.js +3 -0
  87. package/dist/components/content/icon/icon.styles.js.map +1 -1
  88. package/dist/components/content/image/image.d.ts.map +1 -1
  89. package/dist/components/content/image/image.js +7 -6
  90. package/dist/components/content/image/image.js.map +1 -1
  91. package/dist/components/content/image/image.styles.d.ts.map +1 -1
  92. package/dist/components/content/image/image.styles.js +6 -7
  93. package/dist/components/content/image/image.styles.js.map +1 -1
  94. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.d.ts.map +1 -1
  95. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.js +8 -7
  96. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  97. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.styles.d.ts.map +1 -1
  98. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.styles.js +9 -2
  99. package/dist/components/content/keyboard-shortcut/keyboard-shortcut.styles.js.map +1 -1
  100. package/dist/components/content/rich-text/rich-text.d.ts.map +1 -1
  101. package/dist/components/content/rich-text/rich-text.js +3 -2
  102. package/dist/components/content/rich-text/rich-text.js.map +1 -1
  103. package/dist/components/content/tag/tag.d.ts.map +1 -1
  104. package/dist/components/content/tag/tag.js +5 -4
  105. package/dist/components/content/tag/tag.js.map +1 -1
  106. package/dist/components/content/tag/tag.styles.d.ts.map +1 -1
  107. package/dist/components/content/tag/tag.styles.js +4 -1
  108. package/dist/components/content/tag/tag.styles.js.map +1 -1
  109. package/dist/components/content/title/title.d.ts.map +1 -1
  110. package/dist/components/content/title/title.js +2 -1
  111. package/dist/components/content/title/title.js.map +1 -1
  112. package/dist/components/content/title/title.styles.d.ts.map +1 -1
  113. package/dist/components/content/title/title.styles.js +4 -1
  114. package/dist/components/content/title/title.styles.js.map +1 -1
  115. package/dist/components/content/token/token.d.ts +70 -0
  116. package/dist/components/content/token/token.d.ts.map +1 -0
  117. package/dist/components/content/token/token.js +170 -0
  118. package/dist/components/content/token/token.js.map +1 -0
  119. package/dist/components/content/token/token.styles.d.ts.map +1 -0
  120. package/dist/components/content/token/token.styles.js +122 -0
  121. package/dist/components/content/token/token.styles.js.map +1 -0
  122. package/dist/components/content/token/token.template.d.ts +6 -0
  123. package/dist/components/content/token/token.template.d.ts.map +1 -0
  124. package/dist/components/content/token/token.template.js +47 -0
  125. package/dist/components/content/token/token.template.js.map +1 -0
  126. package/dist/components/content/tooltip/tooltip.d.ts.map +1 -1
  127. package/dist/components/content/tooltip/tooltip.js +14 -5
  128. package/dist/components/content/tooltip/tooltip.js.map +1 -1
  129. package/dist/components/content/tooltip/tooltip.styles.d.ts.map +1 -1
  130. package/dist/components/content/tooltip/tooltip.styles.js +15 -1
  131. package/dist/components/content/tooltip/tooltip.styles.js.map +1 -1
  132. package/dist/components/forms/form-actions/form-actions.styles.d.ts.map +1 -1
  133. package/dist/components/forms/form-actions/form-actions.styles.js +3 -0
  134. package/dist/components/forms/form-actions/form-actions.styles.js.map +1 -1
  135. package/dist/components/forms/form-field/form-field.styles.d.ts.map +1 -1
  136. package/dist/components/forms/form-field/form-field.styles.js +4 -1
  137. package/dist/components/forms/form-field/form-field.styles.js.map +1 -1
  138. package/dist/components/gherkin-DhZlEZiy.js +115 -0
  139. package/dist/components/index-BI4lrehT.js +66595 -0
  140. package/dist/components/index-BcdqzZql.js +703 -0
  141. package/dist/components/index-BlMqctke.js +81 -0
  142. package/dist/components/index-BseMFLNF.js +688 -0
  143. package/dist/components/index-ChjtFo6I.js +177 -0
  144. package/dist/components/index-D3NSlPL5.js +405 -0
  145. package/dist/components/index-D7B3n3QJ.js +384 -0
  146. package/dist/components/index.d.ts +21 -18
  147. package/dist/components/index.d.ts.map +1 -1
  148. package/dist/components/index.js +21 -18
  149. package/dist/components/index.js.map +1 -1
  150. package/dist/components/inputs/checkbox/checkbox.styles.d.ts.map +1 -1
  151. package/dist/components/inputs/checkbox/checkbox.styles.js +3 -0
  152. package/dist/components/inputs/checkbox/checkbox.styles.js.map +1 -1
  153. package/dist/components/inputs/checkbox-field/checkbox-field.styles.d.ts.map +1 -1
  154. package/dist/components/inputs/checkbox-field/checkbox-field.styles.js +4 -1
  155. package/dist/components/inputs/checkbox-field/checkbox-field.styles.js.map +1 -1
  156. package/dist/components/inputs/code-editor/code-editor.d.ts +58 -29
  157. package/dist/components/inputs/code-editor/code-editor.d.ts.map +1 -1
  158. package/dist/components/inputs/code-editor/code-editor.js +241 -52
  159. package/dist/components/inputs/code-editor/code-editor.js.map +1 -1
  160. package/dist/components/inputs/code-editor/code-editor.styles.d.ts.map +1 -1
  161. package/dist/components/inputs/code-editor/code-editor.styles.js +62 -47
  162. package/dist/components/inputs/code-editor/code-editor.styles.js.map +1 -1
  163. package/dist/components/inputs/code-editor/code-editor.template.d.ts +1 -1
  164. package/dist/components/inputs/code-editor/code-editor.template.d.ts.map +1 -1
  165. package/dist/components/inputs/code-editor/code-editor.template.js +5 -22
  166. package/dist/components/inputs/code-editor/code-editor.template.js.map +1 -1
  167. package/dist/components/inputs/combo-box/combo-box.d.ts +15 -4
  168. package/dist/components/inputs/combo-box/combo-box.d.ts.map +1 -1
  169. package/dist/components/inputs/combo-box/combo-box.js +53 -9
  170. package/dist/components/inputs/combo-box/combo-box.js.map +1 -1
  171. package/dist/components/inputs/combo-box/combo-box.styles.d.ts.map +1 -1
  172. package/dist/components/inputs/combo-box/combo-box.styles.js +4 -1
  173. package/dist/components/inputs/combo-box/combo-box.styles.js.map +1 -1
  174. package/dist/components/inputs/dropdown/dropdown.d.ts.map +1 -1
  175. package/dist/components/inputs/dropdown/dropdown.js +2 -1
  176. package/dist/components/inputs/dropdown/dropdown.js.map +1 -1
  177. package/dist/components/inputs/dropdown/dropdown.styles.d.ts.map +1 -1
  178. package/dist/components/inputs/dropdown/dropdown.styles.js +4 -1
  179. package/dist/components/inputs/dropdown/dropdown.styles.js.map +1 -1
  180. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.d.ts +1 -1
  181. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.d.ts.map +1 -1
  182. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.js +6 -5
  183. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.js.map +1 -1
  184. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.styles.js +12 -12
  185. package/dist/components/inputs/multi-line-text-field/multi-line-text-field.styles.js.map +1 -1
  186. package/dist/components/inputs/number-field/number-field.d.ts.map +1 -1
  187. package/dist/components/inputs/number-field/number-field.js +2 -1
  188. package/dist/components/inputs/number-field/number-field.js.map +1 -1
  189. package/dist/components/inputs/number-field/number-field.styles.d.ts.map +1 -1
  190. package/dist/components/inputs/number-field/number-field.styles.js +4 -1
  191. package/dist/components/inputs/number-field/number-field.styles.js.map +1 -1
  192. package/dist/components/inputs/password-field/password-field.d.ts.map +1 -1
  193. package/dist/components/inputs/password-field/password-field.js +3 -2
  194. package/dist/components/inputs/password-field/password-field.js.map +1 -1
  195. package/dist/components/inputs/password-field/password-field.styles.d.ts.map +1 -1
  196. package/dist/components/inputs/password-field/password-field.styles.js +4 -1
  197. package/dist/components/inputs/password-field/password-field.styles.js.map +1 -1
  198. package/dist/components/inputs/radio-button/radio-button.styles.d.ts.map +1 -1
  199. package/dist/components/inputs/radio-button/radio-button.styles.js +3 -0
  200. package/dist/components/inputs/radio-button/radio-button.styles.js.map +1 -1
  201. package/dist/components/inputs/radio-button-field/radio-button-field.styles.d.ts.map +1 -1
  202. package/dist/components/inputs/radio-button-field/radio-button-field.styles.js +4 -1
  203. package/dist/components/inputs/radio-button-field/radio-button-field.styles.js.map +1 -1
  204. package/dist/components/inputs/radio-button-group/radio-button-group.js +1 -1
  205. package/dist/components/inputs/radio-button-group/radio-button-group.js.map +1 -1
  206. package/dist/components/inputs/radio-button-group/radio-button-group.styles.d.ts.map +1 -1
  207. package/dist/components/inputs/radio-button-group/radio-button-group.styles.js +4 -1
  208. package/dist/components/inputs/radio-button-group/radio-button-group.styles.js.map +1 -1
  209. package/dist/components/inputs/search-field/search-field.d.ts.map +1 -1
  210. package/dist/components/inputs/search-field/search-field.js +2 -1
  211. package/dist/components/inputs/search-field/search-field.js.map +1 -1
  212. package/dist/components/inputs/search-field/search-field.styles.d.ts.map +1 -1
  213. package/dist/components/inputs/search-field/search-field.styles.js +13 -1
  214. package/dist/components/inputs/search-field/search-field.styles.js.map +1 -1
  215. package/dist/components/inputs/search-field/search-field.template.d.ts.map +1 -1
  216. package/dist/components/inputs/search-field/search-field.template.js +47 -39
  217. package/dist/components/inputs/search-field/search-field.template.js.map +1 -1
  218. package/dist/components/inputs/segmented-control/segmented-control.d.ts +1 -1
  219. package/dist/components/inputs/segmented-control/segmented-control.d.ts.map +1 -1
  220. package/dist/components/inputs/segmented-control/segmented-control.js +10 -9
  221. package/dist/components/inputs/segmented-control/segmented-control.js.map +1 -1
  222. package/dist/components/inputs/segmented-control/segmented-control.styles.d.ts.map +1 -1
  223. package/dist/components/inputs/segmented-control/segmented-control.styles.js +74 -37
  224. package/dist/components/inputs/segmented-control/segmented-control.styles.js.map +1 -1
  225. package/dist/components/inputs/stepper/stepper.d.ts.map +1 -1
  226. package/dist/components/inputs/stepper/stepper.js +2 -1
  227. package/dist/components/inputs/stepper/stepper.js.map +1 -1
  228. package/dist/components/inputs/stepper/stepper.styles.d.ts.map +1 -1
  229. package/dist/components/inputs/stepper/stepper.styles.js +3 -0
  230. package/dist/components/inputs/stepper/stepper.styles.js.map +1 -1
  231. package/dist/components/inputs/switch/switch.d.ts.map +1 -1
  232. package/dist/components/inputs/switch/switch.js +2 -1
  233. package/dist/components/inputs/switch/switch.js.map +1 -1
  234. package/dist/components/inputs/switch/switch.styles.d.ts.map +1 -1
  235. package/dist/components/inputs/switch/switch.styles.js +3 -0
  236. package/dist/components/inputs/switch/switch.styles.js.map +1 -1
  237. package/dist/components/inputs/switch-field/switch-field.styles.d.ts.map +1 -1
  238. package/dist/components/inputs/switch-field/switch-field.styles.js +4 -1
  239. package/dist/components/inputs/switch-field/switch-field.styles.js.map +1 -1
  240. package/dist/components/inputs/text-editor/text-editor.annotation-sentinels.d.ts +51 -0
  241. package/dist/components/inputs/text-editor/text-editor.annotation-sentinels.d.ts.map +1 -0
  242. package/dist/components/inputs/text-editor/text-editor.annotation-sentinels.js +148 -0
  243. package/dist/components/inputs/text-editor/text-editor.annotation-sentinels.js.map +1 -0
  244. package/dist/components/inputs/text-editor/text-editor.annotations.d.ts +47 -0
  245. package/dist/components/inputs/text-editor/text-editor.annotations.d.ts.map +1 -0
  246. package/dist/components/inputs/text-editor/text-editor.annotations.js +327 -0
  247. package/dist/components/inputs/text-editor/text-editor.annotations.js.map +1 -0
  248. package/dist/components/inputs/text-editor/text-editor.caret.d.ts +13 -0
  249. package/dist/components/inputs/text-editor/text-editor.caret.d.ts.map +1 -0
  250. package/dist/components/inputs/text-editor/text-editor.caret.js +27 -0
  251. package/dist/components/inputs/text-editor/text-editor.caret.js.map +1 -0
  252. package/dist/components/inputs/text-editor/text-editor.commands.d.ts +61 -0
  253. package/dist/components/inputs/text-editor/text-editor.commands.d.ts.map +1 -0
  254. package/dist/components/inputs/text-editor/text-editor.commands.js +376 -0
  255. package/dist/components/inputs/text-editor/text-editor.commands.js.map +1 -0
  256. package/dist/components/inputs/text-editor/text-editor.d.ts +241 -0
  257. package/dist/components/inputs/text-editor/text-editor.d.ts.map +1 -0
  258. package/dist/components/inputs/text-editor/text-editor.drag.d.ts +30 -0
  259. package/dist/components/inputs/text-editor/text-editor.drag.d.ts.map +1 -0
  260. package/dist/components/inputs/text-editor/text-editor.drag.js +231 -0
  261. package/dist/components/inputs/text-editor/text-editor.drag.js.map +1 -0
  262. package/dist/components/inputs/text-editor/text-editor.i18n.d.ts +8 -0
  263. package/dist/components/inputs/text-editor/text-editor.i18n.d.ts.map +1 -0
  264. package/dist/components/inputs/text-editor/text-editor.i18n.js +13 -0
  265. package/dist/components/inputs/text-editor/text-editor.i18n.js.map +1 -0
  266. package/dist/components/inputs/text-editor/text-editor.js +782 -0
  267. package/dist/components/inputs/text-editor/text-editor.js.map +1 -0
  268. package/dist/components/inputs/text-editor/text-editor.links.d.ts +18 -0
  269. package/dist/components/inputs/text-editor/text-editor.links.d.ts.map +1 -0
  270. package/dist/components/inputs/text-editor/text-editor.links.js +147 -0
  271. package/dist/components/inputs/text-editor/text-editor.links.js.map +1 -0
  272. package/dist/components/inputs/text-editor/text-editor.markdown.d.ts +20 -0
  273. package/dist/components/inputs/text-editor/text-editor.markdown.d.ts.map +1 -0
  274. package/dist/components/inputs/text-editor/text-editor.markdown.js +372 -0
  275. package/dist/components/inputs/text-editor/text-editor.markdown.js.map +1 -0
  276. package/dist/components/inputs/text-editor/text-editor.mentions.d.ts +32 -0
  277. package/dist/components/inputs/text-editor/text-editor.mentions.d.ts.map +1 -0
  278. package/dist/components/inputs/text-editor/text-editor.mentions.js +153 -0
  279. package/dist/components/inputs/text-editor/text-editor.mentions.js.map +1 -0
  280. package/dist/components/inputs/text-editor/text-editor.ordered-list.d.ts +12 -0
  281. package/dist/components/inputs/text-editor/text-editor.ordered-list.d.ts.map +1 -0
  282. package/dist/components/inputs/text-editor/text-editor.ordered-list.js +85 -0
  283. package/dist/components/inputs/text-editor/text-editor.ordered-list.js.map +1 -0
  284. package/dist/components/inputs/text-editor/text-editor.styles.d.ts +2 -0
  285. package/dist/components/inputs/text-editor/text-editor.styles.d.ts.map +1 -0
  286. package/dist/components/inputs/text-editor/text-editor.styles.js +592 -0
  287. package/dist/components/inputs/text-editor/text-editor.styles.js.map +1 -0
  288. package/dist/components/inputs/text-editor/text-editor.template.d.ts +4 -0
  289. package/dist/components/inputs/text-editor/text-editor.template.d.ts.map +1 -0
  290. package/dist/components/inputs/text-editor/text-editor.template.js +7 -0
  291. package/dist/components/inputs/text-editor/text-editor.template.js.map +1 -0
  292. package/dist/components/inputs/text-field/text-field.d.ts.map +1 -1
  293. package/dist/components/inputs/text-field/text-field.js +3 -2
  294. package/dist/components/inputs/text-field/text-field.js.map +1 -1
  295. package/dist/components/inputs/text-field/text-field.styles.d.ts.map +1 -1
  296. package/dist/components/inputs/text-field/text-field.styles.js +4 -1
  297. package/dist/components/inputs/text-field/text-field.styles.js.map +1 -1
  298. package/dist/components/inputs/toggle-button/toggle-button.d.ts.map +1 -1
  299. package/dist/components/inputs/toggle-button/toggle-button.js +4 -3
  300. package/dist/components/inputs/toggle-button/toggle-button.js.map +1 -1
  301. package/dist/components/inputs/toggle-button/toggle-button.styles.d.ts.map +1 -1
  302. package/dist/components/inputs/toggle-button/toggle-button.styles.js +18 -11
  303. package/dist/components/inputs/toggle-button/toggle-button.styles.js.map +1 -1
  304. package/dist/components/inputs/toggle-button-group/toggle-button-group.d.ts +1 -1
  305. package/dist/components/inputs/toggle-button-group/toggle-button-group.d.ts.map +1 -1
  306. package/dist/components/inputs/toggle-button-group/toggle-button-group.js +5 -4
  307. package/dist/components/inputs/toggle-button-group/toggle-button-group.js.map +1 -1
  308. package/dist/components/inputs/toggle-button-group/toggle-button-group.styles.d.ts.map +1 -1
  309. package/dist/components/inputs/toggle-button-group/toggle-button-group.styles.js +3 -0
  310. package/dist/components/inputs/toggle-button-group/toggle-button-group.styles.js.map +1 -1
  311. package/dist/components/inputs/token-field/token-field.d.ts +257 -0
  312. package/dist/components/inputs/token-field/token-field.d.ts.map +1 -0
  313. package/dist/components/inputs/token-field/token-field.i18n.d.ts +9 -0
  314. package/dist/components/inputs/token-field/token-field.i18n.d.ts.map +1 -0
  315. package/dist/components/inputs/token-field/token-field.i18n.js +8 -0
  316. package/dist/components/inputs/token-field/token-field.i18n.js.map +1 -0
  317. package/dist/components/inputs/token-field/token-field.js +877 -0
  318. package/dist/components/inputs/token-field/token-field.js.map +1 -0
  319. package/dist/components/inputs/token-field/token-field.styles.d.ts +2 -0
  320. package/dist/components/inputs/token-field/token-field.styles.d.ts.map +1 -0
  321. package/dist/components/inputs/token-field/token-field.styles.js +194 -0
  322. package/dist/components/inputs/token-field/token-field.styles.js.map +1 -0
  323. package/dist/components/inputs/token-field/token-field.template.d.ts +8 -0
  324. package/dist/components/inputs/token-field/token-field.template.d.ts.map +1 -0
  325. package/dist/components/inputs/token-field/token-field.template.js +136 -0
  326. package/dist/components/inputs/token-field/token-field.template.js.map +1 -0
  327. package/dist/components/layout/app-view/app-view.d.ts.map +1 -1
  328. package/dist/components/layout/app-view/app-view.js +2 -1
  329. package/dist/components/layout/app-view/app-view.js.map +1 -1
  330. package/dist/components/layout/app-view/app-view.styles.d.ts.map +1 -1
  331. package/dist/components/layout/app-view/app-view.styles.js +3 -0
  332. package/dist/components/layout/app-view/app-view.styles.js.map +1 -1
  333. package/dist/components/layout/box/box.d.ts.map +1 -1
  334. package/dist/components/layout/box/box.js +2 -1
  335. package/dist/components/layout/box/box.js.map +1 -1
  336. package/dist/components/layout/box/box.styles.d.ts.map +1 -1
  337. package/dist/components/layout/box/box.styles.js +4 -6
  338. package/dist/components/layout/box/box.styles.js.map +1 -1
  339. package/dist/components/layout/card/card.d.ts +28 -2
  340. package/dist/components/layout/card/card.d.ts.map +1 -1
  341. package/dist/components/layout/card/card.i18n.d.ts +5 -0
  342. package/dist/components/layout/card/card.i18n.d.ts.map +1 -0
  343. package/dist/components/layout/card/card.i18n.js +4 -0
  344. package/dist/components/layout/card/card.i18n.js.map +1 -0
  345. package/dist/components/layout/card/card.js +54 -2
  346. package/dist/components/layout/card/card.js.map +1 -1
  347. package/dist/components/layout/card/card.styles.d.ts.map +1 -1
  348. package/dist/components/layout/card/card.styles.js +20 -0
  349. package/dist/components/layout/card/card.styles.js.map +1 -1
  350. package/dist/components/layout/card/card.template.d.ts.map +1 -1
  351. package/dist/components/layout/card/card.template.js +17 -1
  352. package/dist/components/layout/card/card.template.js.map +1 -1
  353. package/dist/components/layout/collection/collection.d.ts +10 -5
  354. package/dist/components/layout/collection/collection.d.ts.map +1 -1
  355. package/dist/components/layout/collection/collection.js +21 -5
  356. package/dist/components/layout/collection/collection.js.map +1 -1
  357. package/dist/components/layout/collection/collection.styles.d.ts.map +1 -1
  358. package/dist/components/layout/collection/collection.styles.js +23 -19
  359. package/dist/components/layout/collection/collection.styles.js.map +1 -1
  360. package/dist/components/layout/container/container.d.ts +7 -3
  361. package/dist/components/layout/container/container.d.ts.map +1 -1
  362. package/dist/components/layout/container/container.js +15 -3
  363. package/dist/components/layout/container/container.js.map +1 -1
  364. package/dist/components/layout/container/container.styles.d.ts.map +1 -1
  365. package/dist/components/layout/container/container.styles.js +42 -1
  366. package/dist/components/layout/container/container.styles.js.map +1 -1
  367. package/dist/components/layout/divider/divider.styles.d.ts.map +1 -1
  368. package/dist/components/layout/divider/divider.styles.js +3 -0
  369. package/dist/components/layout/divider/divider.styles.js.map +1 -1
  370. package/dist/components/layout/page/page.styles.d.ts.map +1 -1
  371. package/dist/components/layout/page/page.styles.js +3 -0
  372. package/dist/components/layout/page/page.styles.js.map +1 -1
  373. package/dist/components/layout/page-footer/page-footer.d.ts.map +1 -1
  374. package/dist/components/layout/page-footer/page-footer.js +2 -1
  375. package/dist/components/layout/page-footer/page-footer.js.map +1 -1
  376. package/dist/components/layout/page-footer/page-footer.styles.d.ts.map +1 -1
  377. package/dist/components/layout/page-footer/page-footer.styles.js +4 -1
  378. package/dist/components/layout/page-footer/page-footer.styles.js.map +1 -1
  379. package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.styles.d.ts.map +1 -1
  380. package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.styles.js +3 -0
  381. package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.styles.js.map +1 -1
  382. package/dist/components/layout/page-sections/hero/hero.d.ts +29 -25
  383. package/dist/components/layout/page-sections/hero/hero.d.ts.map +1 -1
  384. package/dist/components/layout/page-sections/hero/hero.js +64 -76
  385. package/dist/components/layout/page-sections/hero/hero.js.map +1 -1
  386. package/dist/components/layout/page-sections/hero/hero.styles.d.ts.map +1 -1
  387. package/dist/components/layout/page-sections/hero/hero.styles.js +28 -163
  388. package/dist/components/layout/page-sections/hero/hero.styles.js.map +1 -1
  389. package/dist/components/layout/page-sections/hero/hero.template.d.ts.map +1 -1
  390. package/dist/components/layout/page-sections/hero/hero.template.js +13 -1
  391. package/dist/components/layout/page-sections/hero/hero.template.js.map +1 -1
  392. package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.styles.d.ts.map +1 -1
  393. package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.styles.js +3 -0
  394. package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.styles.js.map +1 -1
  395. package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.styles.d.ts.map +1 -1
  396. package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.styles.js +3 -0
  397. package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.styles.js.map +1 -1
  398. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.d.ts +119 -0
  399. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.d.ts.map +1 -0
  400. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.i18n.d.ts +6 -0
  401. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.i18n.d.ts.map +1 -0
  402. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.i18n.js +5 -0
  403. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.i18n.js.map +1 -0
  404. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.js +219 -0
  405. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.js.map +1 -0
  406. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.styles.d.ts +2 -0
  407. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.styles.d.ts.map +1 -0
  408. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.styles.js +157 -0
  409. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.styles.js.map +1 -0
  410. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.template.d.ts +4 -0
  411. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.template.d.ts.map +1 -0
  412. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.template.js +57 -0
  413. package/dist/components/layout/page-sections/sidebar-section/sidebar-section.template.js.map +1 -0
  414. package/dist/components/layout/page-sections/simple-section/simple-section.styles.d.ts.map +1 -1
  415. package/dist/components/layout/page-sections/simple-section/simple-section.styles.js +3 -0
  416. package/dist/components/layout/page-sections/simple-section/simple-section.styles.js.map +1 -1
  417. package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.styles.d.ts.map +1 -1
  418. package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.styles.js +3 -0
  419. package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.styles.js.map +1 -1
  420. package/dist/components/layout/popover/popover.d.ts +1 -0
  421. package/dist/components/layout/popover/popover.d.ts.map +1 -1
  422. package/dist/components/layout/popover/popover.js +14 -1
  423. package/dist/components/layout/popover/popover.js.map +1 -1
  424. package/dist/components/layout/popover/popover.styles.d.ts.map +1 -1
  425. package/dist/components/layout/popover/popover.styles.js +14 -0
  426. package/dist/components/layout/popover/popover.styles.js.map +1 -1
  427. package/dist/components/layout/sheet/sheet.d.ts +1 -1
  428. package/dist/components/layout/sheet/sheet.d.ts.map +1 -1
  429. package/dist/components/layout/sheet/sheet.js +16 -6
  430. package/dist/components/layout/sheet/sheet.js.map +1 -1
  431. package/dist/components/layout/sheet/sheet.styles.d.ts.map +1 -1
  432. package/dist/components/layout/sheet/sheet.styles.js +63 -83
  433. package/dist/components/layout/sheet/sheet.styles.js.map +1 -1
  434. package/dist/components/layout/spacer/spacer.d.ts.map +1 -1
  435. package/dist/components/layout/spacer/spacer.js +2 -1
  436. package/dist/components/layout/spacer/spacer.js.map +1 -1
  437. package/dist/components/layout/spacer/spacer.styles.d.ts.map +1 -1
  438. package/dist/components/layout/spacer/spacer.styles.js +3 -1
  439. package/dist/components/layout/spacer/spacer.styles.js.map +1 -1
  440. package/dist/components/layout/split-views/bar-split-view/bar-split-view.styles.d.ts.map +1 -1
  441. package/dist/components/layout/split-views/bar-split-view/bar-split-view.styles.js +3 -0
  442. package/dist/components/layout/split-views/bar-split-view/bar-split-view.styles.js.map +1 -1
  443. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.d.ts +47 -19
  444. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.d.ts.map +1 -1
  445. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.js +123 -73
  446. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.js.map +1 -1
  447. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.styles.d.ts.map +1 -1
  448. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.styles.js +17 -14
  449. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.styles.js.map +1 -1
  450. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.template.d.ts.map +1 -1
  451. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.template.js +10 -8
  452. package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.template.js.map +1 -1
  453. package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.styles.d.ts.map +1 -1
  454. package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.styles.js +3 -0
  455. package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.styles.js.map +1 -1
  456. package/dist/components/layout/split-views/split-view-divider/split-view-divider.d.ts.map +1 -1
  457. package/dist/components/layout/split-views/split-view-divider/split-view-divider.js +2 -1
  458. package/dist/components/layout/split-views/split-view-divider/split-view-divider.js.map +1 -1
  459. package/dist/components/layout/split-views/split-view-divider/split-view-divider.styles.d.ts.map +1 -1
  460. package/dist/components/layout/split-views/split-view-divider/split-view-divider.styles.js +13 -10
  461. package/dist/components/layout/split-views/split-view-divider/split-view-divider.styles.js.map +1 -1
  462. package/dist/components/layout/split-views/split-view-pane/split-view-pane.styles.d.ts.map +1 -1
  463. package/dist/components/layout/split-views/split-view-pane/split-view-pane.styles.js +3 -0
  464. package/dist/components/layout/split-views/split-view-pane/split-view-pane.styles.js.map +1 -1
  465. package/dist/components/layout/split-views/stacked-split-view/stacked-split-view.styles.d.ts.map +1 -1
  466. package/dist/components/layout/split-views/stacked-split-view/stacked-split-view.styles.js +3 -0
  467. package/dist/components/layout/split-views/stacked-split-view/stacked-split-view.styles.js.map +1 -1
  468. package/dist/components/layout/window/window.d.ts +1 -19
  469. package/dist/components/layout/window/window.d.ts.map +1 -1
  470. package/dist/components/layout/window/window.js +11 -188
  471. package/dist/components/layout/window/window.js.map +1 -1
  472. package/dist/components/layout/window/window.styles.d.ts.map +1 -1
  473. package/dist/components/layout/window/window.styles.js +5 -28
  474. package/dist/components/layout/window/window.styles.js.map +1 -1
  475. package/dist/components/layout/window/window.template.d.ts.map +1 -1
  476. package/dist/components/layout/window/window.template.js +1 -2
  477. package/dist/components/layout/window/window.template.js.map +1 -1
  478. package/dist/components/lists-and-tables/cells/cell/cell.d.ts.map +1 -1
  479. package/dist/components/lists-and-tables/cells/cell/cell.js +4 -3
  480. package/dist/components/lists-and-tables/cells/cell/cell.js.map +1 -1
  481. package/dist/components/lists-and-tables/cells/cell/cell.styles.d.ts.map +1 -1
  482. package/dist/components/lists-and-tables/cells/cell/cell.styles.js +4 -1
  483. package/dist/components/lists-and-tables/cells/cell/cell.styles.js.map +1 -1
  484. package/dist/components/lists-and-tables/cells/description-cell/description-cell.d.ts.map +1 -1
  485. package/dist/components/lists-and-tables/cells/description-cell/description-cell.js +3 -2
  486. package/dist/components/lists-and-tables/cells/description-cell/description-cell.js.map +1 -1
  487. package/dist/components/lists-and-tables/cells/description-cell/description-cell.styles.d.ts.map +1 -1
  488. package/dist/components/lists-and-tables/cells/description-cell/description-cell.styles.js +4 -1
  489. package/dist/components/lists-and-tables/cells/description-cell/description-cell.styles.js.map +1 -1
  490. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.d.ts.map +1 -1
  491. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.js +2 -1
  492. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.js.map +1 -1
  493. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.styles.d.ts.map +1 -1
  494. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.styles.js +3 -0
  495. package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.styles.js.map +1 -1
  496. package/dist/components/lists-and-tables/cells/icon-cell/icon-cell.d.ts.map +1 -1
  497. package/dist/components/lists-and-tables/cells/icon-cell/icon-cell.js +3 -2
  498. package/dist/components/lists-and-tables/cells/icon-cell/icon-cell.js.map +1 -1
  499. package/dist/components/lists-and-tables/cells/icon-cell/icon-cell.styles.d.ts.map +1 -1
  500. package/dist/components/lists-and-tables/cells/icon-cell/icon-cell.styles.js +3 -0
  501. package/dist/components/lists-and-tables/cells/icon-cell/icon-cell.styles.js.map +1 -1
  502. package/dist/components/lists-and-tables/cells/spacer-cell/spacer-cell.styles.d.ts.map +1 -1
  503. package/dist/components/lists-and-tables/cells/spacer-cell/spacer-cell.styles.js +3 -0
  504. package/dist/components/lists-and-tables/cells/spacer-cell/spacer-cell.styles.js.map +1 -1
  505. package/dist/components/lists-and-tables/cells/text-cell/text-cell.d.ts.map +1 -1
  506. package/dist/components/lists-and-tables/cells/text-cell/text-cell.js +10 -9
  507. package/dist/components/lists-and-tables/cells/text-cell/text-cell.js.map +1 -1
  508. package/dist/components/lists-and-tables/cells/text-cell/text-cell.styles.d.ts.map +1 -1
  509. package/dist/components/lists-and-tables/cells/text-cell/text-cell.styles.js +4 -1
  510. package/dist/components/lists-and-tables/cells/text-cell/text-cell.styles.js.map +1 -1
  511. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.d.ts.map +1 -1
  512. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.js +3 -2
  513. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.js.map +1 -1
  514. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.styles.d.ts.map +1 -1
  515. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.styles.js +3 -0
  516. package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.styles.js.map +1 -1
  517. package/dist/components/lists-and-tables/cells/title-cell/title-cell.d.ts.map +1 -1
  518. package/dist/components/lists-and-tables/cells/title-cell/title-cell.js +9 -8
  519. package/dist/components/lists-and-tables/cells/title-cell/title-cell.js.map +1 -1
  520. package/dist/components/lists-and-tables/cells/title-cell/title-cell.styles.d.ts.map +1 -1
  521. package/dist/components/lists-and-tables/cells/title-cell/title-cell.styles.js +4 -1
  522. package/dist/components/lists-and-tables/cells/title-cell/title-cell.styles.js.map +1 -1
  523. package/dist/components/lists-and-tables/list/list.d.ts +138 -8
  524. package/dist/components/lists-and-tables/list/list.d.ts.map +1 -1
  525. package/dist/components/lists-and-tables/list/list.i18n.d.ts +2 -0
  526. package/dist/components/lists-and-tables/list/list.i18n.d.ts.map +1 -1
  527. package/dist/components/lists-and-tables/list/list.i18n.js +2 -0
  528. package/dist/components/lists-and-tables/list/list.i18n.js.map +1 -1
  529. package/dist/components/lists-and-tables/list/list.js +373 -20
  530. package/dist/components/lists-and-tables/list/list.js.map +1 -1
  531. package/dist/components/lists-and-tables/list/list.styles.d.ts.map +1 -1
  532. package/dist/components/lists-and-tables/list/list.styles.js +164 -25
  533. package/dist/components/lists-and-tables/list/list.styles.js.map +1 -1
  534. package/dist/components/lists-and-tables/list/list.template.d.ts +26 -1
  535. package/dist/components/lists-and-tables/list/list.template.d.ts.map +1 -1
  536. package/dist/components/lists-and-tables/list/list.template.js +76 -18
  537. package/dist/components/lists-and-tables/list/list.template.js.map +1 -1
  538. package/dist/components/lists-and-tables/list-item/list-item.d.ts +20 -7
  539. package/dist/components/lists-and-tables/list-item/list-item.d.ts.map +1 -1
  540. package/dist/components/lists-and-tables/list-item/list-item.js +51 -25
  541. package/dist/components/lists-and-tables/list-item/list-item.js.map +1 -1
  542. package/dist/components/lists-and-tables/list-item/list-item.styles.d.ts.map +1 -1
  543. package/dist/components/lists-and-tables/list-item/list-item.styles.js +50 -28
  544. package/dist/components/lists-and-tables/list-item/list-item.styles.js.map +1 -1
  545. package/dist/components/lists-and-tables/list-item/list-item.template.d.ts +1 -1
  546. package/dist/components/lists-and-tables/list-item/list-item.template.d.ts.map +1 -1
  547. package/dist/components/lists-and-tables/list-item/list-item.template.js +9 -6
  548. package/dist/components/lists-and-tables/list-item/list-item.template.js.map +1 -1
  549. package/dist/components/lists-and-tables/table/table.d.ts.map +1 -1
  550. package/dist/components/lists-and-tables/table/table.js +4 -3
  551. package/dist/components/lists-and-tables/table/table.js.map +1 -1
  552. package/dist/components/lists-and-tables/table/table.styles.d.ts.map +1 -1
  553. package/dist/components/lists-and-tables/table/table.styles.js +4 -1
  554. package/dist/components/lists-and-tables/table/table.styles.js.map +1 -1
  555. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +0 -44
  556. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts.map +1 -1
  557. package/dist/components/navigation/breadcrumbs/breadcrumbs.i18n.d.ts +0 -1
  558. package/dist/components/navigation/breadcrumbs/breadcrumbs.i18n.d.ts.map +1 -1
  559. package/dist/components/navigation/breadcrumbs/breadcrumbs.i18n.js +0 -1
  560. package/dist/components/navigation/breadcrumbs/breadcrumbs.i18n.js.map +1 -1
  561. package/dist/components/navigation/breadcrumbs/breadcrumbs.js +3 -85
  562. package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  563. package/dist/components/navigation/breadcrumbs/breadcrumbs.styles.d.ts.map +1 -1
  564. package/dist/components/navigation/breadcrumbs/breadcrumbs.styles.js +6 -52
  565. package/dist/components/navigation/breadcrumbs/breadcrumbs.styles.js.map +1 -1
  566. package/dist/components/navigation/breadcrumbs/breadcrumbs.template.d.ts.map +1 -1
  567. package/dist/components/navigation/breadcrumbs/breadcrumbs.template.js +1 -17
  568. package/dist/components/navigation/breadcrumbs/breadcrumbs.template.js.map +1 -1
  569. package/dist/components/navigation/document-tab-bar/document-tab-bar.d.ts.map +1 -1
  570. package/dist/components/navigation/document-tab-bar/document-tab-bar.js +5 -4
  571. package/dist/components/navigation/document-tab-bar/document-tab-bar.js.map +1 -1
  572. package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.d.ts.map +1 -1
  573. package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.js +4 -1
  574. package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.js.map +1 -1
  575. package/dist/components/navigation/link/link.d.ts.map +1 -1
  576. package/dist/components/navigation/link/link.js +2 -1
  577. package/dist/components/navigation/link/link.js.map +1 -1
  578. package/dist/components/navigation/link/link.styles.d.ts.map +1 -1
  579. package/dist/components/navigation/link/link.styles.js +4 -1
  580. package/dist/components/navigation/link/link.styles.js.map +1 -1
  581. package/dist/components/navigation/menu-bar/menu-bar.d.ts.map +1 -1
  582. package/dist/components/navigation/menu-bar/menu-bar.js +2 -1
  583. package/dist/components/navigation/menu-bar/menu-bar.js.map +1 -1
  584. package/dist/components/navigation/menu-bar/menu-bar.styles.d.ts.map +1 -1
  585. package/dist/components/navigation/menu-bar/menu-bar.styles.js +4 -1
  586. package/dist/components/navigation/menu-bar/menu-bar.styles.js.map +1 -1
  587. package/dist/components/navigation/menu-bar-item/menu-bar-item.d.ts.map +1 -1
  588. package/dist/components/navigation/menu-bar-item/menu-bar-item.js +4 -3
  589. package/dist/components/navigation/menu-bar-item/menu-bar-item.js.map +1 -1
  590. package/dist/components/navigation/menu-bar-item/menu-bar-item.styles.d.ts.map +1 -1
  591. package/dist/components/navigation/menu-bar-item/menu-bar-item.styles.js +4 -1
  592. package/dist/components/navigation/menu-bar-item/menu-bar-item.styles.js.map +1 -1
  593. package/dist/components/navigation/pagination/pagination.styles.d.ts.map +1 -1
  594. package/dist/components/navigation/pagination/pagination.styles.js +4 -1
  595. package/dist/components/navigation/pagination/pagination.styles.js.map +1 -1
  596. package/dist/components/navigation/skip-link/skip-link.d.ts.map +1 -1
  597. package/dist/components/navigation/skip-link/skip-link.js +2 -1
  598. package/dist/components/navigation/skip-link/skip-link.js.map +1 -1
  599. package/dist/components/navigation/skip-link/skip-link.styles.d.ts.map +1 -1
  600. package/dist/components/navigation/skip-link/skip-link.styles.js +4 -1
  601. package/dist/components/navigation/skip-link/skip-link.styles.js.map +1 -1
  602. package/dist/components/navigation/tab-bar/tab-bar.d.ts +7 -0
  603. package/dist/components/navigation/tab-bar/tab-bar.d.ts.map +1 -1
  604. package/dist/components/navigation/tab-bar/tab-bar.js +31 -5
  605. package/dist/components/navigation/tab-bar/tab-bar.js.map +1 -1
  606. package/dist/components/navigation/tab-bar/tab-bar.styles.d.ts.map +1 -1
  607. package/dist/components/navigation/tab-bar/tab-bar.styles.js +78 -79
  608. package/dist/components/navigation/tab-bar/tab-bar.styles.js.map +1 -1
  609. package/dist/components/navigation/tab-bar/tab-bar.template.d.ts.map +1 -1
  610. package/dist/components/navigation/tab-bar/tab-bar.template.js +8 -1
  611. package/dist/components/navigation/tab-bar/tab-bar.template.js.map +1 -1
  612. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.d.ts +5 -0
  613. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.d.ts.map +1 -1
  614. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.js +24 -6
  615. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.js.map +1 -1
  616. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.d.ts.map +1 -1
  617. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js +32 -16
  618. package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js.map +1 -1
  619. package/dist/components/navigation/top-title-bar/top-title-bar.d.ts.map +1 -1
  620. package/dist/components/navigation/top-title-bar/top-title-bar.js +5 -4
  621. package/dist/components/navigation/top-title-bar/top-title-bar.js.map +1 -1
  622. package/dist/components/navigation/top-title-bar/top-title-bar.styles.d.ts.map +1 -1
  623. package/dist/components/navigation/top-title-bar/top-title-bar.styles.js +4 -1
  624. package/dist/components/navigation/top-title-bar/top-title-bar.styles.js.map +1 -1
  625. package/dist/components/shell-BlsXDxCn.js +222 -0
  626. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.d.ts.map +1 -1
  627. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.js +4 -3
  628. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.js.map +1 -1
  629. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.styles.d.ts.map +1 -1
  630. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.styles.js +4 -2
  631. package/dist/components/status-and-feedback/activity-indicator/activity-indicator.styles.js.map +1 -1
  632. package/dist/components/status-and-feedback/badge/badge.d.ts.map +1 -1
  633. package/dist/components/status-and-feedback/badge/badge.js +4 -3
  634. package/dist/components/status-and-feedback/badge/badge.js.map +1 -1
  635. package/dist/components/status-and-feedback/badge/badge.styles.d.ts.map +1 -1
  636. package/dist/components/status-and-feedback/badge/badge.styles.js +4 -1
  637. package/dist/components/status-and-feedback/badge/badge.styles.js.map +1 -1
  638. package/dist/components/status-and-feedback/banner/banner.d.ts +0 -1
  639. package/dist/components/status-and-feedback/banner/banner.d.ts.map +1 -1
  640. package/dist/components/status-and-feedback/banner/banner.js +13 -13
  641. package/dist/components/status-and-feedback/banner/banner.js.map +1 -1
  642. package/dist/components/status-and-feedback/banner/banner.styles.d.ts.map +1 -1
  643. package/dist/components/status-and-feedback/banner/banner.styles.js +4 -1
  644. package/dist/components/status-and-feedback/banner/banner.styles.js.map +1 -1
  645. package/dist/components/status-and-feedback/inline-dialog/inline-dialog.d.ts.map +1 -1
  646. package/dist/components/status-and-feedback/inline-dialog/inline-dialog.js +5 -4
  647. package/dist/components/status-and-feedback/inline-dialog/inline-dialog.js.map +1 -1
  648. package/dist/components/status-and-feedback/inline-dialog/inline-dialog.styles.d.ts.map +1 -1
  649. package/dist/components/status-and-feedback/inline-dialog/inline-dialog.styles.js +4 -1
  650. package/dist/components/status-and-feedback/inline-dialog/inline-dialog.styles.js.map +1 -1
  651. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.d.ts +6 -4
  652. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.d.ts.map +1 -1
  653. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.js +40 -9
  654. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.js.map +1 -1
  655. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.styles.d.ts.map +1 -1
  656. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.styles.js +16 -2
  657. package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.styles.js.map +1 -1
  658. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.d.ts.map +1 -1
  659. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.js +4 -3
  660. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.js.map +1 -1
  661. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.styles.d.ts.map +1 -1
  662. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.styles.js +4 -1
  663. package/dist/components/status-and-feedback/modal-dialog/modal-dialog.styles.js.map +1 -1
  664. package/dist/components/status-and-feedback/progress-bar/progress-bar.d.ts.map +1 -1
  665. package/dist/components/status-and-feedback/progress-bar/progress-bar.js +9 -8
  666. package/dist/components/status-and-feedback/progress-bar/progress-bar.js.map +1 -1
  667. package/dist/components/status-and-feedback/progress-bar/progress-bar.styles.d.ts.map +1 -1
  668. package/dist/components/status-and-feedback/progress-bar/progress-bar.styles.js +4 -7
  669. package/dist/components/status-and-feedback/progress-bar/progress-bar.styles.js.map +1 -1
  670. package/dist/components/status-and-feedback/progress-circle/progress-circle.d.ts.map +1 -1
  671. package/dist/components/status-and-feedback/progress-circle/progress-circle.js +8 -7
  672. package/dist/components/status-and-feedback/progress-circle/progress-circle.js.map +1 -1
  673. package/dist/components/status-and-feedback/progress-circle/progress-circle.styles.d.ts.map +1 -1
  674. package/dist/components/status-and-feedback/progress-circle/progress-circle.styles.js +4 -3
  675. package/dist/components/status-and-feedback/progress-circle/progress-circle.styles.js.map +1 -1
  676. package/dist/components/status-and-feedback/status-bar/status-bar.d.ts.map +1 -1
  677. package/dist/components/status-and-feedback/status-bar/status-bar.js +3 -2
  678. package/dist/components/status-and-feedback/status-bar/status-bar.js.map +1 -1
  679. package/dist/components/status-and-feedback/status-bar/status-bar.styles.d.ts.map +1 -1
  680. package/dist/components/status-and-feedback/status-bar/status-bar.styles.js +4 -1
  681. package/dist/components/status-and-feedback/status-bar/status-bar.styles.js.map +1 -1
  682. package/dist/components/toml-BOuWGMcf.js +76 -0
  683. package/dist/css/fouc.css +30 -0
  684. package/dist/css/global.css +1 -0
  685. package/dist/css/rich-text.css +63 -5
  686. package/dist/css/settings.css +35 -13
  687. package/dist/utilities/codemirror/codemirror-element.d.ts +66 -0
  688. package/dist/utilities/codemirror/codemirror-element.d.ts.map +1 -0
  689. package/dist/utilities/codemirror/codemirror-element.js +121 -0
  690. package/dist/utilities/codemirror/codemirror-element.js.map +1 -0
  691. package/dist/utilities/codemirror/languages.d.ts +4 -0
  692. package/dist/utilities/codemirror/languages.d.ts.map +1 -0
  693. package/dist/utilities/codemirror/languages.js +39 -0
  694. package/dist/utilities/codemirror/languages.js.map +1 -0
  695. package/dist/utilities/codemirror/theme.d.ts +4 -0
  696. package/dist/utilities/codemirror/theme.d.ts.map +1 -0
  697. package/dist/utilities/codemirror/theme.js +84 -0
  698. package/dist/utilities/codemirror/theme.js.map +1 -0
  699. package/dist/utilities/dismiss-from-title-bar.d.ts +19 -0
  700. package/dist/utilities/dismiss-from-title-bar.d.ts.map +1 -0
  701. package/dist/utilities/dismiss-from-title-bar.js +21 -0
  702. package/dist/utilities/dismiss-from-title-bar.js.map +1 -0
  703. package/dist/utilities/reflect-non-default.d.ts +30 -0
  704. package/dist/utilities/reflect-non-default.d.ts.map +1 -0
  705. package/dist/utilities/reflect-non-default.js +34 -0
  706. package/dist/utilities/reflect-non-default.js.map +1 -0
  707. package/package.json +96 -68
  708. package/dist/assets/styles/slotted-reset.d.ts.map +0 -1
  709. package/dist/assets/styles/slotted-reset.fixtures.d.ts.map +0 -1
  710. package/dist/assets/styles/slotted-reset.fixtures.js.map +0 -1
  711. package/dist/assets/styles/slotted-reset.js.map +0 -1
  712. package/dist/components/index-BVaijKe_.js +0 -35785
  713. package/dist/components/inputs/token/token.d.ts +0 -42
  714. package/dist/components/inputs/token/token.d.ts.map +0 -1
  715. package/dist/components/inputs/token/token.js +0 -86
  716. package/dist/components/inputs/token/token.js.map +0 -1
  717. package/dist/components/inputs/token/token.styles.d.ts.map +0 -1
  718. package/dist/components/inputs/token/token.styles.js +0 -139
  719. package/dist/components/inputs/token/token.styles.js.map +0 -1
  720. package/dist/components/inputs/token/token.template.d.ts +0 -4
  721. package/dist/components/inputs/token/token.template.d.ts.map +0 -1
  722. package/dist/components/inputs/token/token.template.js +0 -41
  723. package/dist/components/inputs/token/token.template.js.map +0 -1
  724. package/dist/components/prism-bash-vbqaw3JR.js +0 -226
  725. package/dist/components/prism-css-B93tXdOU.js +0 -59
  726. package/dist/components/prism-gherkin-CMPYyXOQ.js +0 -82
  727. package/dist/components/prism-javascript-DeC_17Pw.js +0 -140
  728. package/dist/components/prism-json-DIMpow89.js +0 -25
  729. package/dist/components/prism-markdown-D-uFBkiz.js +0 -339
  730. package/dist/components/prism-markup-DfJYPYHA.js +0 -177
  731. package/dist/components/prism-python-Tr_Ff1KJ.js +0 -99
  732. package/dist/components/prism-rust-CxUpjfK5.js +0 -157
  733. package/dist/components/prism-sql-BGqCBMyJ.js +0 -33
  734. package/dist/components/prism-toml-Ubdq-a5x.js +0 -45
  735. package/dist/components/prism-typescript-zaF4YQWN.js +0 -87
  736. package/dist/components/prism-yaml-DO0f9pf6.js +0 -71
  737. /package/dist/components/{inputs → content}/token/token.styles.d.ts +0 -0
@@ -0,0 +1,148 @@
1
+ /* Annotation sentinels — the "fake character" machinery.
2
+ *
3
+ * To let the caret rest on BOTH sides of an annotation edge (outside it and just
4
+ * inside it), each annotation group carries a zero-width sentinel character in the
5
+ * document at its start and end: one real document offset on either side of the
6
+ * boundary, so the caret has two stops. The end sentinel is rendered as the count
7
+ * badge; the start sentinel is invisible.
8
+ *
9
+ * U+2060 (WORD JOINER) is the sentinel: zero-width, and CommonMark treats it as an
10
+ * ordinary character, so it does not break inline emphasis/code/links. (It DOES
11
+ * break a few constructs — GFM strikethrough, and line-start block markers when it
12
+ * sits right before them — so placement is guarded; see `canPlaceSentinel`.)
13
+ *
14
+ * The sentinel lives only in the CodeMirror document; it must never reach the
15
+ * exposed `value`, the clipboard, or the form. Everything here is pure and
16
+ * DOM-free so it can be unit-tested in isolation. */
17
+ export const ANNOTATION_SENTINEL = '⁠';
18
+ /** Remove every sentinel from a string (doc text -> clean value). */
19
+ export function stripSentinels(text) {
20
+ return text.split(ANNOTATION_SENTINEL).join('');
21
+ }
22
+ /** Whether `text` contains a sentinel. */
23
+ export function hasSentinel(text) {
24
+ return text.includes(ANNOTATION_SENTINEL);
25
+ }
26
+ /** Doc-offset positions of every sentinel in `doc`. */
27
+ export function sentinelPositions(doc) {
28
+ const out = [];
29
+ for (let i = 0; i < doc.length; i++)
30
+ if (doc[i] === ANNOTATION_SENTINEL)
31
+ out.push(i);
32
+ return out;
33
+ }
34
+ /** Number of sentinels at doc positions strictly before `docPos`. */
35
+ export function sentinelsBefore(doc, docPos) {
36
+ let n = 0;
37
+ for (let i = 0; i < docPos && i < doc.length; i++)
38
+ if (doc[i] === ANNOTATION_SENTINEL)
39
+ n++;
40
+ return n;
41
+ }
42
+ /** Doc offset -> clean offset (subtract the sentinels before it). */
43
+ export function docToClean(doc, docPos) {
44
+ return docPos - sentinelsBefore(doc, docPos);
45
+ }
46
+ /** Clean offset -> doc offset, given the doc's sorted sentinel positions. Sentinels
47
+ * at or before the growing doc position push it further right. */
48
+ export function cleanToDoc(sortedSentinelPositions, cleanPos) {
49
+ let docPos = cleanPos;
50
+ for (const s of sortedSentinelPositions)
51
+ if (s <= docPos)
52
+ docPos++;
53
+ return docPos;
54
+ }
55
+ /** The sentinels a set of groups wants, in clean offsets (start before the first
56
+ * char, end after the last), filtered by the guard. Positions may repeat when two
57
+ * groups touch (end of one, start of the next). */
58
+ export function desiredSentinels(groups, cleanText, canPlace = canPlaceSentinel) {
59
+ const out = [];
60
+ for (const g of groups) {
61
+ if (g.to <= g.from)
62
+ continue;
63
+ if (canPlace(cleanText, g.from, 'start'))
64
+ out.push({ pos: g.from, kind: 'start' });
65
+ if (canPlace(cleanText, g.to, 'end'))
66
+ out.push({ pos: g.to, kind: 'end' });
67
+ }
68
+ return out;
69
+ }
70
+ /** Build the desired doc text: `cleanText` with a sentinel inserted at each desired
71
+ * position (multiplicity honoured for touching groups). */
72
+ export function buildDesiredDoc(cleanText, desired) {
73
+ const counts = new Map();
74
+ for (const d of desired)
75
+ counts.set(d.pos, (counts.get(d.pos) ?? 0) + 1);
76
+ let out = '';
77
+ for (let i = 0; i <= cleanText.length; i++) {
78
+ const n = counts.get(i) ?? 0;
79
+ if (n)
80
+ out += ANNOTATION_SENTINEL.repeat(n);
81
+ if (i < cleanText.length)
82
+ out += cleanText[i];
83
+ }
84
+ return out;
85
+ }
86
+ /** Minimal changes (in current-doc coords) to turn `doc` into a document that holds
87
+ * exactly the sentinels the groups want — touching only sentinel characters, never
88
+ * the real text. `doc` and the target share the same clean text, so a two-pointer
89
+ * walk yields sentinel-only inserts/deletes. */
90
+ export function reconcileSentinels(doc, groups, canPlace = canPlaceSentinel) {
91
+ const cleanText = stripSentinels(doc);
92
+ const desired = buildDesiredDoc(cleanText, desiredSentinels(groups, cleanText, canPlace));
93
+ const changes = [];
94
+ let i = 0; // over doc
95
+ let j = 0; // over desired
96
+ while (i < doc.length || j < desired.length) {
97
+ const dc = i < doc.length ? doc[i] : '';
98
+ const ec = j < desired.length ? desired[j] : '';
99
+ if (dc === ec) {
100
+ i++;
101
+ j++;
102
+ }
103
+ else if (dc === ANNOTATION_SENTINEL) {
104
+ changes.push({ from: i, to: i + 1 }); // stray sentinel -> delete
105
+ i++;
106
+ }
107
+ else if (ec === ANNOTATION_SENTINEL) {
108
+ changes.push({ from: i, to: i, insert: ANNOTATION_SENTINEL }); // missing -> insert
109
+ j++;
110
+ }
111
+ else {
112
+ // Non-sentinel mismatch should be impossible (clean text is identical).
113
+ i++;
114
+ j++;
115
+ }
116
+ }
117
+ return changes;
118
+ }
119
+ const LINE_START_MARKER = /^(\s*)(#{1,6}\s|[-*+]\s|\d+[.)]\s|>|`{3,}|~{3,})/;
120
+ /** Default placement guard. Blocks the sentinel where U+2060 would break the
121
+ * markdown parse: right before a line-start block marker, and inside a GFM
122
+ * strikethrough run (`~~...~~`). Blocked edges fall back to a single caret stop. */
123
+ export function canPlaceSentinel(cleanText, pos, _kind) {
124
+ // Line start (or the whole leading marker) directly ahead -> a sentinel here
125
+ // pushes the marker off column 0 (or between marker and text) and kills the block.
126
+ const lineStart = cleanText.lastIndexOf('\n', pos - 1) + 1;
127
+ const rest = cleanText.slice(lineStart);
128
+ const marker = rest.match(LINE_START_MARKER);
129
+ if (marker) {
130
+ const markerEnd = lineStart + marker[0].length;
131
+ // Block only positions *within* the marker (before it, or between the marker
132
+ // char and its required space) — those push the marker off column 0 or split
133
+ // it and kill the block. A sentinel exactly at markerEnd sits at the start of
134
+ // the content, after the marker and its space, so the block stays intact and
135
+ // an annotation opening the line (e.g. right after "- ") keeps both caret stops.
136
+ if (pos < markerEnd)
137
+ return false;
138
+ }
139
+ // Inside a strikethrough run on this line: count unescaped `~~` before pos.
140
+ const lineText = cleanText.slice(lineStart, cleanText.indexOf('\n', pos) === -1 ? undefined : cleanText.indexOf('\n', pos));
141
+ const rel = pos - lineStart;
142
+ const before = lineText.slice(0, rel);
143
+ const strikes = (before.match(/~~/g) ?? []).length;
144
+ if (strikes % 2 === 1)
145
+ return false; // odd number of ~~ before -> inside a run
146
+ return true;
147
+ }
148
+ //# sourceMappingURL=text-editor.annotation-sentinels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-editor.annotation-sentinels.js","sourceRoot":"","sources":["../../../../src/components/inputs/text-editor/text-editor.annotation-sentinels.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import { EditorState, type Extension } from '@codemirror/state';
2
+ export interface Annotation {
3
+ /** Stable id, owned by the consumer. */
4
+ id: string;
5
+ /** Character offset range in the CLEAN document (W3C TextPositionSelector). */
6
+ start: number;
7
+ end: number;
8
+ /** The quoted text, kept for re-anchoring after edits (TextQuoteSelector). */
9
+ quote?: string;
10
+ }
11
+ /** An annotation anchored in CLEAN (sentinel-free) coordinates. */
12
+ interface CleanAnn {
13
+ id: string;
14
+ from: number;
15
+ to: number;
16
+ }
17
+ /** Replace the editor's annotation set (consumer offsets are clean). */
18
+ export declare const setAnnotations: import("@codemirror/state").StateEffectType<readonly Annotation[]>;
19
+ /** A drag-move, in CLEAN offsets: the block [from, to) is being relocated so its
20
+ * first character lands at `insertAt`. mapPos can't follow moved content, so the
21
+ * filter uses this to carry annotations inside the block along with their text. */
22
+ export declare const annotationMove: import("@codemirror/state").StateEffectType<{
23
+ from: number;
24
+ to: number;
25
+ insertAt: number;
26
+ }>;
27
+ /** A cut→paste inside the same editor: re-attach the annotations that were cut at the
28
+ * paste point. `at` is the CLEAN paste offset; each entry's from/to are relative to
29
+ * the pasted text. Carries the original ids, so a cut→paste is a move, not a copy. */
30
+ export declare const pasteAnnotations: import("@codemirror/state").StateEffectType<{
31
+ at: number;
32
+ anns: CleanAnn[];
33
+ }>;
34
+ /** The annotations currently anchored in the document, in clean offsets. Lets the
35
+ * host capture what sits inside a cut so it can re-attach them on paste. */
36
+ export declare function currentAnnotations(state: EditorState): readonly CleanAnn[];
37
+ /** Builds an annotation badge's accessible label from the count and the (already
38
+ * truncated) quoted text, choosing singular/plural. Supplied by the host so the
39
+ * string is localizable; defaults to Dutch at the call site. */
40
+ export type AnnotationCountLabel = (count: number, quote: string) => string;
41
+ /** The annotation overlay: clean-coordinate anchoring, sentinel maintenance, and
42
+ * tint/badge rendering with a caret stop on each side of every edge. `countLabel`
43
+ * builds each badge's accessible label (count + quote, singular/plural), so the
44
+ * host can localize it. */
45
+ export declare function annotations(countLabel: AnnotationCountLabel): Extension;
46
+ export {};
47
+ //# sourceMappingURL=text-editor.annotations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-editor.annotations.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/text-editor/text-editor.annotations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAiC,KAAK,SAAS,EAAc,MAAM,mBAAmB,CAAC;AAyB3G,MAAM,WAAW,UAAU;IAC1B,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,mEAAmE;AACnE,UAAU,QAAQ;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACX;AAED,wEAAwE;AACxE,eAAO,MAAM,cAAc,oEAA8C,CAAC;AAM1E;;oFAEoF;AACpF,eAAO,MAAM,cAAc;UAA8B,MAAM;QAAM,MAAM;cAAY,MAAM;EAAK,CAAC;AAEnG;;uFAEuF;AACvF,eAAO,MAAM,gBAAgB;QAA4B,MAAM;UAAQ,QAAQ,EAAE;EAAK,CAAC;AAEvF;6EAC6E;AAC7E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,QAAQ,EAAE,CAE1E;AA6DD;;iEAEiE;AACjE,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;AA0P5E;;;4BAG4B;AAI5B,wBAAgB,WAAW,CAAC,UAAU,EAAE,oBAAoB,GAAG,SAAS,CAWvE"}
@@ -0,0 +1,327 @@
1
+ import { Decoration, EditorView, WidgetType } from '@codemirror/view';
2
+ import { EditorState, Prec, StateEffect, StateField } from '@codemirror/state';
3
+ import { invertedEffects } from '@codemirror/commands';
4
+ import { ANNOTATION_SENTINEL as S, stripSentinels, sentinelPositions, docToClean, cleanToDoc, reconcileSentinels, } from './text-editor.annotation-sentinels.js';
5
+ import { textCaretBox } from './text-editor.caret.js';
6
+ /** Replace the editor's annotation set (consumer offsets are clean). */
7
+ export const setAnnotations = StateEffect.define();
8
+ /** Internal: the filter's freshly computed clean anchors. The field only ever
9
+ * updates from this, so anchoring lives in one place (the filter). */
10
+ const setAnchored = StateEffect.define();
11
+ /** A drag-move, in CLEAN offsets: the block [from, to) is being relocated so its
12
+ * first character lands at `insertAt`. mapPos can't follow moved content, so the
13
+ * filter uses this to carry annotations inside the block along with their text. */
14
+ export const annotationMove = StateEffect.define();
15
+ /** A cut→paste inside the same editor: re-attach the annotations that were cut at the
16
+ * paste point. `at` is the CLEAN paste offset; each entry's from/to are relative to
17
+ * the pasted text. Carries the original ids, so a cut→paste is a move, not a copy. */
18
+ export const pasteAnnotations = StateEffect.define();
19
+ /** The annotations currently anchored in the document, in clean offsets. Lets the
20
+ * host capture what sits inside a cut so it can re-attach them on paste. */
21
+ export function currentAnnotations(state) {
22
+ return state.field(annotationField, false) ?? [];
23
+ }
24
+ function anchorClean(list, cleanLength) {
25
+ return list
26
+ .map((a) => ({
27
+ id: a.id,
28
+ from: Math.max(0, Math.min(a.start, cleanLength)),
29
+ to: Math.max(0, Math.min(a.end, cleanLength)),
30
+ }))
31
+ .filter((a) => a.to > a.from);
32
+ }
33
+ /** A clean annotation's doc range: text start, and text end (just before the end
34
+ * sentinel). Used to map through a user edit in doc space, where the sentinel
35
+ * physically separates the inside edge from the outside one. */
36
+ function annToDoc(a, sents) {
37
+ return { from: cleanToDoc(sents, a.from), to: cleanToDoc(sents, a.to - 1) + 1 };
38
+ }
39
+ /** Annotations in clean coordinates. Updated only via `setAnchored`, which the
40
+ * transaction filter computes (mapping through edits in doc space). */
41
+ const annotationField = StateField.define({
42
+ create: () => [],
43
+ update: (value, tr) => {
44
+ const set = tr.effects.find((e) => e.is(setAnchored));
45
+ return set ? set.value : value;
46
+ },
47
+ });
48
+ function groupOverlapping(anns) {
49
+ const groups = [];
50
+ for (const a of [...anns].sort((x, y) => x.from - y.from || x.to - y.to)) {
51
+ const last = groups[groups.length - 1];
52
+ // Strict overlap only: two ranges that merely touch (one ends where the next
53
+ // begins, e.g. [0,3] and [3,6]) stay separate tints/badges. The sentinel
54
+ // machinery already places two sentinels at such a seam.
55
+ if (last && a.from < last.to) {
56
+ last.to = Math.max(last.to, a.to);
57
+ last.ids.push(a.id);
58
+ }
59
+ else {
60
+ groups.push({ from: a.from, to: a.to, ids: [a.id] });
61
+ }
62
+ }
63
+ return groups;
64
+ }
65
+ // The badge's accessible label quotes the annotated text, truncated so a long range
66
+ // can't produce a huge label. Screen-reader-only; the visible badge shows the count.
67
+ const ANNOTATION_LABEL_MAX = 40;
68
+ function truncateQuote(text) {
69
+ return text.length > ANNOTATION_LABEL_MAX ? `${text.slice(0, ANNOTATION_LABEL_MAX)}…` : text;
70
+ }
71
+ class AnnotationBadge extends WidgetType {
72
+ constructor(ids, quote, label) {
73
+ super();
74
+ this.ids = ids;
75
+ this.quote = quote;
76
+ this.label = label;
77
+ }
78
+ eq(other) {
79
+ return (other.quote === this.quote &&
80
+ other.ids.length === this.ids.length &&
81
+ other.ids.every((id, i) => id === this.ids[i]));
82
+ }
83
+ toDOM() {
84
+ const badge = document.createElement('button');
85
+ badge.className = 'cm-annotation-badge';
86
+ badge.type = 'button';
87
+ badge.dataset.annotations = this.ids.join(' ');
88
+ badge.textContent = String(this.ids.length);
89
+ badge.setAttribute('aria-label', this.label(this.ids.length, truncateQuote(this.quote)));
90
+ return badge;
91
+ }
92
+ /** Give the caret at either edge of the badge a stable, text-height rectangle.
93
+ * Without this, drawSelection measures the caret from the badge's own small font,
94
+ * so it renders short next to the badge and its height flips with the arrival
95
+ * direction (the queried side follows the cursor's assoc). */
96
+ coordsAt(dom, pos, _side) {
97
+ const badge = dom.getBoundingClientRect();
98
+ const cs = getComputedStyle(dom);
99
+ const box = textCaretBox(dom) ?? { top: badge.top, bottom: badge.bottom };
100
+ // Inside edge: the text's end (before the badge's left margin). Outside edge:
101
+ // just past the badge (its right edge + margin). The badge is a single inline
102
+ // box on the annotation's last line, so this stays correct for multi-line
103
+ // annotations — where the tint's bounding box would be the union of every
104
+ // line and push the caret to the far right edge.
105
+ const x = pos <= 0
106
+ ? badge.left - parseFloat(cs.marginLeft)
107
+ : badge.right + parseFloat(cs.marginRight);
108
+ return { left: x, right: x, top: box.top, bottom: box.bottom };
109
+ }
110
+ }
111
+ // inclusiveEnd lets the end sentinel's replace (the badge) nest inside the tint span.
112
+ const annotationMark = Decoration.mark({ class: 'cm-annotation', inclusiveEnd: true });
113
+ const annotationFullSelectedMark = Decoration.mark({ class: 'cm-annotation is-selected', inclusiveEnd: true });
114
+ const annotationSelectedMark = Decoration.mark({ class: 'is-selected' });
115
+ class AnnotationStart extends WidgetType {
116
+ eq(other) {
117
+ return other instanceof AnnotationStart;
118
+ }
119
+ toDOM() {
120
+ const span = document.createElement('span');
121
+ span.className = 'cm-annotation-start';
122
+ return span;
123
+ }
124
+ coordsAt(dom, pos, _side) {
125
+ // CodeMirror inserts a zero-width cm-widgetBuffer between the widget and the
126
+ // content, so skip it to reach the tint span.
127
+ let tint = dom.nextElementSibling;
128
+ while (tint instanceof HTMLElement && tint.classList.contains('cm-widgetBuffer'))
129
+ tint = tint.nextElementSibling;
130
+ if (!(tint instanceof HTMLElement) || !tint.classList.contains('cm-annotation'))
131
+ return null;
132
+ const padLeft = parseFloat(getComputedStyle(tint).paddingInlineStart || '0');
133
+ // The start sentinel sits on the tint's FIRST line, so measure that line, not
134
+ // tint.getBoundingClientRect() — which for a multi-line annotation is the union
135
+ // of every line and would draw a caret as tall as the whole token. textCaretBox
136
+ // gives the exact body caret, but it throws (→ null) during drawSelection's
137
+ // measure pass; the fallback then uses the first client rect, never the union.
138
+ const firstLine = tint.getClientRects()[0] ?? tint.getBoundingClientRect();
139
+ const box = textCaretBox(dom) ?? { top: firstLine.top, bottom: firstLine.bottom };
140
+ const x = pos <= 0 ? firstLine.left : firstLine.left + padLeft;
141
+ return { left: x, right: x, top: box.top, bottom: box.bottom };
142
+ }
143
+ }
144
+ // The start sentinel: an invisible widget that pins the caret to the token's edges.
145
+ const startSentinelDeco = Decoration.replace({ widget: new AnnotationStart() });
146
+ // Dummy value for the atomic-range set (positions only; never rendered).
147
+ const atomicMark = Decoration.mark({});
148
+ // Glues the annotated text's last word to the badge so the badge never wraps onto
149
+ // a line by itself (an orphan). Only the tail is nowrap, so a long annotation still
150
+ // wraps at its earlier spaces.
151
+ // inclusiveEnd so the mark wraps the trailing badge widget at its end boundary,
152
+ // keeping the badge inside the nowrap span (a plain mark would leave it a sibling).
153
+ const badgeTailMark = Decoration.mark({ class: 'cm-annotation-tail', inclusiveEnd: true });
154
+ /** Resolve a group's doc geometry: the text span, and where its sentinels actually
155
+ * sit (they may be absent when placement was guarded). */
156
+ function resolveGroup(group, doc, sents) {
157
+ const docFrom = cleanToDoc(sents, group.from);
158
+ const textTo = cleanToDoc(sents, group.to - 1) + 1; // just after the last text char
159
+ const startSent = docFrom - 1 >= 0 && doc[docFrom - 1] === S ? docFrom - 1 : null;
160
+ const endSent = textTo < doc.length && doc[textTo] === S ? textTo : null;
161
+ return { docFrom, textTo, startSent, endSent };
162
+ }
163
+ function buildAll(state, label) {
164
+ const doc = state.doc.toString();
165
+ const sel = state.selection.main;
166
+ const sents = sentinelPositions(doc);
167
+ // Clamp anchors to the CLEAN document length before building. The field and the
168
+ // document can be transiently inconsistent — most sharply on undo/redo, where
169
+ // history reverts the text (and any non-historized sentinels linger) while the
170
+ // field still holds pre-revert offsets. Building unclamped then emits decoration
171
+ // ranges past the document end, and CodeMirror throws "Position N out of range"
172
+ // diffing them. Clamping keeps every range in-bounds; the next consistent update
173
+ // re-renders the real anchors.
174
+ const cleanLen = doc.length - sents.length;
175
+ const clean = stripSentinels(doc);
176
+ const anns = state.field(annotationField)
177
+ .map((a) => ({ id: a.id, from: Math.min(a.from, cleanLen), to: Math.min(a.to, cleanLen) }))
178
+ .filter((a) => a.to > a.from);
179
+ const deco = [];
180
+ const atomic = [];
181
+ for (const group of groupOverlapping(anns)) {
182
+ if (group.to <= group.from)
183
+ continue;
184
+ const { docFrom, textTo, startSent, endSent } = resolveGroup(group, doc, sents);
185
+ // The annotated text (sentinel-free) for the badge's accessible label.
186
+ const quote = clean.slice(group.from, group.to);
187
+ // The tint covers the text, plus the end sentinel (badge) when present so the
188
+ // badge shares the tint.
189
+ const tintTo = endSent !== null ? textTo + 1 : textTo;
190
+ const fully = !sel.empty && sel.from <= docFrom && sel.to >= tintTo;
191
+ deco.push((fully ? annotationFullSelectedMark : annotationMark).range(docFrom, tintTo));
192
+ if (!fully && !sel.empty) {
193
+ const f = Math.max(docFrom, sel.from);
194
+ const t = Math.min(tintTo, sel.to);
195
+ if (t > f)
196
+ deco.push(annotationSelectedMark.range(f, t));
197
+ }
198
+ // The badge end (just past it): the sentinel slot when present, else the text end.
199
+ const badgeEnd = endSent !== null ? endSent + 1 : textTo;
200
+ // Start of the annotated text's last word — nowrap from here through the badge
201
+ // keeps the two together so the badge can't orphan onto the next line.
202
+ const tail = doc.slice(docFrom, textTo).match(/\S+$/);
203
+ if (tail)
204
+ deco.push(badgeTailMark.range(docFrom + (tail.index ?? 0), badgeEnd));
205
+ if (endSent !== null) {
206
+ // Two caret stops: the badge replaces the end sentinel, atomic so the caret
207
+ // treats it as a unit and stops just before (inside) and just after (outside).
208
+ deco.push(Decoration.replace({ widget: new AnnotationBadge(group.ids, quote, label) }).range(endSent, endSent + 1));
209
+ atomic.push(atomicMark.range(endSent, endSent + 1));
210
+ }
211
+ else {
212
+ // Guarded edge (would break the markdown parse): fall back to the old
213
+ // single-stop nub — a zero-width widget at the range end, inside the tint.
214
+ deco.push(Decoration.widget({ widget: new AnnotationBadge(group.ids, quote, label), side: -1 }).range(textTo));
215
+ }
216
+ if (startSent !== null) {
217
+ deco.push(startSentinelDeco.range(startSent, startSent + 1));
218
+ atomic.push(atomicMark.range(startSent, startSent + 1));
219
+ }
220
+ }
221
+ return { deco: Decoration.set(deco, true), atomic: Decoration.set(atomic, true) };
222
+ }
223
+ /** The render field carries the badge label so its accessible text is localizable.
224
+ * A fresh field per overlay keeps the two concerns (rendering, atomic ranges) reading
225
+ * the same instance. */
226
+ function makeAnnotationRender(label) {
227
+ return StateField.define({
228
+ create: (state) => buildAll(state, label),
229
+ update: (value, tr) => {
230
+ if (tr.docChanged || !tr.startState.selection.eq(tr.state.selection) || tr.effects.some((e) => e.is(setAnnotations))) {
231
+ return buildAll(tr.state, label);
232
+ }
233
+ return value;
234
+ },
235
+ provide: (f) => EditorView.decorations.from(f, (v) => v.deco),
236
+ });
237
+ }
238
+ /** Maintains the document sentinels: after any annotation or text change, ensures
239
+ * exactly one sentinel at each group's start and end (minus guarded edges). Runs in
240
+ * the same transaction (atomic, single undo step) via a transaction filter. */
241
+ const annotationSentinelFilter = EditorState.transactionFilter.of((tr) => {
242
+ const set = tr.effects.find((e) => e.is(setAnnotations));
243
+ if (!tr.docChanged && !set)
244
+ return tr;
245
+ const postUserDoc = tr.newDoc.toString(); // after the user's changes, before sentinels
246
+ const cleanLen = stripSentinels(postUserDoc).length;
247
+ let anns;
248
+ if (set) {
249
+ anns = anchorClean(set.value, cleanLen);
250
+ }
251
+ else {
252
+ // Map each annotation through the user edit in DOC space (to leans right, so a
253
+ // character typed just inside the end — before the sentinel — grows it, while
254
+ // one typed just outside — after the sentinel — does not), then back to clean.
255
+ const oldSents = sentinelPositions(tr.startState.doc.toString());
256
+ const move = tr.effects.find((e) => e.is(annotationMove))?.value;
257
+ anns = (tr.startState.field(annotationField, false) ?? [])
258
+ .map((a) => {
259
+ // A drag relocates whole annotations with their text. mapPos can't follow
260
+ // moved content (a delete + a separate insert), so an annotation sitting
261
+ // fully inside the moved block is translated to its landing spot instead of
262
+ // being collapsed by the delete.
263
+ if (move && a.from >= move.from && a.to <= move.to) {
264
+ return { id: a.id, from: move.insertAt + (a.from - move.from), to: move.insertAt + (a.to - move.from) };
265
+ }
266
+ const doc = annToDoc(a, oldSents);
267
+ const from = tr.changes.mapPos(doc.from, -1);
268
+ const to = tr.changes.mapPos(doc.to, 1);
269
+ return { id: a.id, from: docToClean(postUserDoc, from), to: docToClean(postUserDoc, to) };
270
+ })
271
+ .filter((a) => a.to > a.from);
272
+ // A cut→paste re-attaches the cut annotations at the paste point (clean offsets
273
+ // relative to the pasted text), clamped into the document.
274
+ const paste = tr.effects.find((e) => e.is(pasteAnnotations))?.value;
275
+ if (paste) {
276
+ anns = anns.concat(paste.anns
277
+ .map((a) => ({
278
+ id: a.id,
279
+ from: Math.max(0, Math.min(paste.at + a.from, cleanLen)),
280
+ to: Math.max(0, Math.min(paste.at + a.to, cleanLen)),
281
+ }))
282
+ .filter((a) => a.to > a.from));
283
+ }
284
+ }
285
+ const groups = groupOverlapping(anns);
286
+ const changes = reconcileSentinels(postUserDoc, groups);
287
+ // Re-anchor the field to the freshly computed clean annotations (authoritative).
288
+ return [tr, { changes, effects: [setAnchored.of(anns)], sequential: true }];
289
+ });
290
+ // The transaction filter re-anchors the field on live edits, but it does NOT run on
291
+ // history transactions — so on undo/redo the document (and its sentinels) revert while
292
+ // the clean anchors would keep their pre-undo positions, drifting the annotations.
293
+ // invertedEffects stores the field's prior value alongside each anchoring change, so
294
+ // history restores the anchors in step with the document it belongs to.
295
+ const annotationHistory = invertedEffects.of((tr) => {
296
+ if (!tr.effects.some((e) => e.is(setAnchored)))
297
+ return [];
298
+ const prior = tr.startState.field(annotationField, false) ?? [];
299
+ return [setAnchored.of(prior)];
300
+ });
301
+ // Keep sentinels out of the clipboard: copy/cut strip them from the outgoing text,
302
+ // and paste strips any that rode in from another editor instance. The document's own
303
+ // filter re-adds the sentinels it needs, so clipboard text stays clean either way.
304
+ const annotationClipboard = [
305
+ EditorView.clipboardOutputFilter.of((text) => stripSentinels(text)),
306
+ EditorView.clipboardInputFilter.of((text) => stripSentinels(text)),
307
+ ];
308
+ /** The annotation overlay: clean-coordinate anchoring, sentinel maintenance, and
309
+ * tint/badge rendering with a caret stop on each side of every edge. `countLabel`
310
+ * builds each badge's accessible label (count + quote, singular/plural), so the
311
+ * host can localize it. */
312
+ // Prec.low keeps the tint the INNERMOST mark, so it hugs the raw text and inherits
313
+ // its font (a heading, bold, etc.) — the token then scales with whatever it marks,
314
+ // instead of sitting at the base font size as an outer wrapper.
315
+ export function annotations(countLabel) {
316
+ const annotationRender = makeAnnotationRender(countLabel);
317
+ const annotationAtomic = EditorView.atomicRanges.of((view) => view.state.field(annotationRender).atomic);
318
+ return [
319
+ annotationField,
320
+ Prec.highest(annotationRender),
321
+ annotationAtomic,
322
+ annotationSentinelFilter,
323
+ annotationHistory,
324
+ annotationClipboard,
325
+ ];
326
+ }
327
+ //# sourceMappingURL=text-editor.annotations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-editor.annotations.js","sourceRoot":"","sources":["../../../../src/components/inputs/text-editor/text-editor.annotations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /** The caret rectangle CodeMirror renders for the plain text just before `dom` (an
2
+ * inline widget), taken from CodeMirror's own coordsAtPos. A widget's own box would
3
+ * otherwise make the caret beside it too tall or too short and flip its height with
4
+ * the cursor's arrival direction; measuring the neighbouring text gives the exact
5
+ * body caret for whatever font and line the widget sits on.
6
+ *
7
+ * Widgets use this in their `coordsAt` to place a stable, text-height caret at their
8
+ * edges. */
9
+ export declare function textCaretBox(dom: HTMLElement): {
10
+ top: number;
11
+ bottom: number;
12
+ } | null;
13
+ //# sourceMappingURL=text-editor.caret.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-editor.caret.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/text-editor/text-editor.caret.ts"],"names":[],"mappings":"AAEA;;;;;;;aAOa;AACb,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAcrF"}
@@ -0,0 +1,27 @@
1
+ import { EditorView } from '@codemirror/view';
2
+ /** The caret rectangle CodeMirror renders for the plain text just before `dom` (an
3
+ * inline widget), taken from CodeMirror's own coordsAtPos. A widget's own box would
4
+ * otherwise make the caret beside it too tall or too short and flip its height with
5
+ * the cursor's arrival direction; measuring the neighbouring text gives the exact
6
+ * body caret for whatever font and line the widget sits on.
7
+ *
8
+ * Widgets use this in their `coordsAt` to place a stable, text-height caret at their
9
+ * edges. */
10
+ export function textCaretBox(dom) {
11
+ const view = EditorView.findFromDOM(dom);
12
+ if (!view)
13
+ return null;
14
+ const pos = view.posAtDOM(dom);
15
+ const line = view.state.doc.lineAt(pos);
16
+ // coordsAtPos reads layout; when a widget's coordsAt is itself invoked during an
17
+ // update/measure pass, CM forbids that reentrant read and throws. Fall back to the
18
+ // caller's own rect in that case rather than letting the exception escape.
19
+ try {
20
+ const coords = view.coordsAtPos(Math.max(line.from, pos - 1), 1);
21
+ return coords ? { top: coords.top, bottom: coords.bottom } : null;
22
+ }
23
+ catch {
24
+ return null;
25
+ }
26
+ }
27
+ //# sourceMappingURL=text-editor.caret.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-editor.caret.js","sourceRoot":"","sources":["../../../../src/components/inputs/text-editor/text-editor.caret.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;aAOa;AACb,MAAM,UAAU,YAAY,CAAC,GAAgB;IAC5C,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxC,iFAAiF;IACjF,mFAAmF;IACnF,2EAA2E;IAC3E,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC"}