@hashicorp/design-system-components 5.1.0-rc-20251202110410 → 5.1.0-rc-20251205193010

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 (1026) hide show
  1. package/README.md +1 -1
  2. package/declarations/components/hds/accordion/index.d.ts +1 -1
  3. package/declarations/components/hds/accordion/item/button.d.ts +1 -1
  4. package/declarations/components/hds/accordion/item/index.d.ts +1 -1
  5. package/declarations/components/hds/accordion/types.d.ts +1 -1
  6. package/declarations/components/hds/advanced-table/expandable-tr-group.d.ts +1 -1
  7. package/declarations/components/hds/advanced-table/index.d.ts +1 -11
  8. package/declarations/components/hds/advanced-table/models/column.d.ts +1 -1
  9. package/declarations/components/hds/advanced-table/models/row.d.ts +1 -1
  10. package/declarations/components/hds/advanced-table/models/table.d.ts +1 -1
  11. package/declarations/components/hds/advanced-table/td.d.ts +1 -1
  12. package/declarations/components/hds/advanced-table/th-button-expand.d.ts +1 -1
  13. package/declarations/components/hds/advanced-table/th-button-sort.d.ts +1 -1
  14. package/declarations/components/hds/advanced-table/th-button-tooltip.d.ts +1 -1
  15. package/declarations/components/hds/advanced-table/th-context-menu.d.ts +1 -1
  16. package/declarations/components/hds/advanced-table/th-reorder-drop-target.d.ts +1 -1
  17. package/declarations/components/hds/advanced-table/th-reorder-handle.d.ts +1 -1
  18. package/declarations/components/hds/advanced-table/th-resize-handle.d.ts +1 -1
  19. package/declarations/components/hds/advanced-table/th-selectable.d.ts +1 -1
  20. package/declarations/components/hds/advanced-table/th-sort.d.ts +1 -1
  21. package/declarations/components/hds/advanced-table/th.d.ts +1 -1
  22. package/declarations/components/hds/advanced-table/tr.d.ts +1 -1
  23. package/declarations/components/hds/advanced-table/types.d.ts +1 -1
  24. package/declarations/components/hds/advanced-table/utils.d.ts +1 -1
  25. package/declarations/components/hds/alert/description.d.ts +1 -1
  26. package/declarations/components/hds/alert/index.d.ts +1 -1
  27. package/declarations/components/hds/alert/title.d.ts +1 -1
  28. package/declarations/components/hds/alert/types.d.ts +1 -1
  29. package/declarations/components/hds/app-footer/copyright.d.ts +1 -1
  30. package/declarations/components/hds/app-footer/index.d.ts +1 -1
  31. package/declarations/components/hds/app-footer/item.d.ts +1 -1
  32. package/declarations/components/hds/app-footer/legal-links.d.ts +1 -1
  33. package/declarations/components/hds/app-footer/link.d.ts +1 -1
  34. package/declarations/components/hds/app-footer/status-link.d.ts +1 -1
  35. package/declarations/components/hds/app-footer/types.d.ts +1 -1
  36. package/declarations/components/hds/app-frame/index.d.ts +1 -1
  37. package/declarations/components/hds/app-frame/parts/footer.d.ts +1 -1
  38. package/declarations/components/hds/app-frame/parts/header.d.ts +1 -1
  39. package/declarations/components/hds/app-frame/parts/main.d.ts +1 -1
  40. package/declarations/components/hds/app-frame/parts/modals.d.ts +1 -1
  41. package/declarations/components/hds/app-frame/parts/sidebar.d.ts +1 -1
  42. package/declarations/components/hds/app-header/home-link.d.ts +1 -1
  43. package/declarations/components/hds/app-header/index.d.ts +1 -1
  44. package/declarations/components/hds/app-header/menu-button.d.ts +1 -1
  45. package/declarations/components/hds/app-side-nav/index.d.ts +1 -1
  46. package/declarations/components/hds/app-side-nav/list/back-link.d.ts +1 -1
  47. package/declarations/components/hds/app-side-nav/list/index.d.ts +1 -1
  48. package/declarations/components/hds/app-side-nav/list/item.d.ts +1 -1
  49. package/declarations/components/hds/app-side-nav/list/link.d.ts +1 -1
  50. package/declarations/components/hds/app-side-nav/list/title.d.ts +1 -1
  51. package/declarations/components/hds/app-side-nav/portal/index.d.ts +1 -1
  52. package/declarations/components/hds/app-side-nav/portal/target.d.ts +1 -1
  53. package/declarations/components/hds/app-side-nav/toggle-button.d.ts +1 -1
  54. package/declarations/components/hds/application-state/body.d.ts +1 -1
  55. package/declarations/components/hds/application-state/footer.d.ts +1 -1
  56. package/declarations/components/hds/application-state/header.d.ts +1 -1
  57. package/declarations/components/hds/application-state/index.d.ts +1 -1
  58. package/declarations/components/hds/application-state/media.d.ts +1 -1
  59. package/declarations/components/hds/application-state/types.d.ts +1 -1
  60. package/declarations/components/hds/badge/index.d.ts +1 -1
  61. package/declarations/components/hds/badge/types.d.ts +1 -1
  62. package/declarations/components/hds/badge-count/index.d.ts +1 -1
  63. package/declarations/components/hds/badge-count/types.d.ts +1 -1
  64. package/declarations/components/hds/breadcrumb/index.d.ts +1 -1
  65. package/declarations/components/hds/breadcrumb/item.d.ts +1 -1
  66. package/declarations/components/hds/breadcrumb/truncation.d.ts +1 -1
  67. package/declarations/components/hds/button/index.d.ts +1 -1
  68. package/declarations/components/hds/button/types.d.ts +1 -1
  69. package/declarations/components/hds/button-set/index.d.ts +1 -1
  70. package/declarations/components/hds/card/container.d.ts +1 -1
  71. package/declarations/components/hds/card/types.d.ts +1 -1
  72. package/declarations/components/hds/code-block/copy-button.d.ts +1 -1
  73. package/declarations/components/hds/code-block/description.d.ts +1 -1
  74. package/declarations/components/hds/code-block/index.d.ts +1 -1
  75. package/declarations/components/hds/code-block/title.d.ts +1 -1
  76. package/declarations/components/hds/code-block/types.d.ts +1 -1
  77. package/declarations/components/hds/code-editor/description.d.ts +1 -1
  78. package/declarations/components/hds/code-editor/full-screen-button.d.ts +1 -1
  79. package/declarations/components/hds/code-editor/generic.d.ts +1 -1
  80. package/declarations/components/hds/code-editor/index.d.ts +1 -1
  81. package/declarations/components/hds/code-editor/title.d.ts +1 -1
  82. package/declarations/components/hds/copy/button/index.d.ts +1 -1
  83. package/declarations/components/hds/copy/button/types.d.ts +1 -1
  84. package/declarations/components/hds/copy/snippet/index.d.ts +1 -1
  85. package/declarations/components/hds/copy/snippet/types.d.ts +1 -1
  86. package/declarations/components/hds/dialog-primitive/body.d.ts +1 -1
  87. package/declarations/components/hds/dialog-primitive/description.d.ts +1 -1
  88. package/declarations/components/hds/dialog-primitive/footer.d.ts +1 -1
  89. package/declarations/components/hds/dialog-primitive/header.d.ts +1 -1
  90. package/declarations/components/hds/dialog-primitive/overlay.d.ts +1 -1
  91. package/declarations/components/hds/dialog-primitive/types.d.ts +1 -1
  92. package/declarations/components/hds/dialog-primitive/wrapper.d.ts +1 -1
  93. package/declarations/components/hds/disclosure-primitive/index.d.ts +1 -1
  94. package/declarations/components/hds/dismiss-button/index.d.ts +1 -1
  95. package/declarations/components/hds/dropdown/footer.d.ts +1 -1
  96. package/declarations/components/hds/dropdown/header.d.ts +1 -1
  97. package/declarations/components/hds/dropdown/index.d.ts +1 -1
  98. package/declarations/components/hds/dropdown/list-item/checkbox.d.ts +1 -1
  99. package/declarations/components/hds/dropdown/list-item/checkmark.d.ts +1 -1
  100. package/declarations/components/hds/dropdown/list-item/copy-item.d.ts +1 -1
  101. package/declarations/components/hds/dropdown/list-item/description.d.ts +1 -1
  102. package/declarations/components/hds/dropdown/list-item/generic.d.ts +1 -1
  103. package/declarations/components/hds/dropdown/list-item/interactive.d.ts +1 -1
  104. package/declarations/components/hds/dropdown/list-item/radio.d.ts +1 -1
  105. package/declarations/components/hds/dropdown/list-item/separator.d.ts +1 -1
  106. package/declarations/components/hds/dropdown/list-item/title.d.ts +1 -1
  107. package/declarations/components/hds/dropdown/list-item/types.d.ts +1 -1
  108. package/declarations/components/hds/dropdown/toggle/button.d.ts +1 -1
  109. package/declarations/components/hds/dropdown/toggle/chevron.d.ts +1 -1
  110. package/declarations/components/hds/dropdown/toggle/icon.d.ts +1 -1
  111. package/declarations/components/hds/dropdown/toggle/types.d.ts +1 -1
  112. package/declarations/components/hds/dropdown/types.d.ts +1 -1
  113. package/declarations/components/hds/flyout/index.d.ts +1 -1
  114. package/declarations/components/hds/flyout/types.d.ts +1 -1
  115. package/declarations/components/hds/form/character-count/index.d.ts +1 -1
  116. package/declarations/components/hds/form/checkbox/base.d.ts +1 -1
  117. package/declarations/components/hds/form/checkbox/field.d.ts +1 -1
  118. package/declarations/components/hds/form/checkbox/group.d.ts +1 -1
  119. package/declarations/components/hds/form/error/index.d.ts +1 -1
  120. package/declarations/components/hds/form/error/message.d.ts +1 -1
  121. package/declarations/components/hds/form/field/index.d.ts +1 -1
  122. package/declarations/components/hds/form/field/types.d.ts +1 -1
  123. package/declarations/components/hds/form/fieldset/index.d.ts +1 -1
  124. package/declarations/components/hds/form/fieldset/types.d.ts +1 -1
  125. package/declarations/components/hds/form/file-input/base.d.ts +1 -1
  126. package/declarations/components/hds/form/file-input/field.d.ts +1 -1
  127. package/declarations/components/hds/form/footer/index.d.ts +1 -1
  128. package/declarations/components/hds/form/header/description.d.ts +1 -1
  129. package/declarations/components/hds/form/header/index.d.ts +1 -1
  130. package/declarations/components/hds/form/header/title.d.ts +1 -1
  131. package/declarations/components/hds/form/helper-text/index.d.ts +1 -1
  132. package/declarations/components/hds/form/index.d.ts +1 -1
  133. package/declarations/components/hds/form/indicator/index.d.ts +1 -1
  134. package/declarations/components/hds/form/key-value-inputs/add-row-button.d.ts +1 -1
  135. package/declarations/components/hds/form/key-value-inputs/delete-row-button.d.ts +1 -1
  136. package/declarations/components/hds/form/key-value-inputs/field.d.ts +1 -1
  137. package/declarations/components/hds/form/key-value-inputs/generic.d.ts +1 -1
  138. package/declarations/components/hds/form/key-value-inputs/index.d.ts +1 -1
  139. package/declarations/components/hds/form/label/index.d.ts +1 -1
  140. package/declarations/components/hds/form/legend/index.d.ts +1 -1
  141. package/declarations/components/hds/form/masked-input/base.d.ts +1 -1
  142. package/declarations/components/hds/form/masked-input/field.d.ts +1 -1
  143. package/declarations/components/hds/form/radio/base.d.ts +1 -1
  144. package/declarations/components/hds/form/radio/field.d.ts +1 -1
  145. package/declarations/components/hds/form/radio/group.d.ts +1 -1
  146. package/declarations/components/hds/form/radio-card/description.d.ts +1 -1
  147. package/declarations/components/hds/form/radio-card/group.d.ts +1 -1
  148. package/declarations/components/hds/form/radio-card/index.d.ts +1 -1
  149. package/declarations/components/hds/form/radio-card/label.d.ts +1 -1
  150. package/declarations/components/hds/form/radio-card/types.d.ts +1 -1
  151. package/declarations/components/hds/form/section/header.d.ts +1 -1
  152. package/declarations/components/hds/form/section/index.d.ts +1 -1
  153. package/declarations/components/hds/form/section/multi-field-group/index.d.ts +1 -1
  154. package/declarations/components/hds/form/section/multi-field-group/item.d.ts +1 -1
  155. package/declarations/components/hds/form/select/base.d.ts +1 -1
  156. package/declarations/components/hds/form/select/field.d.ts +1 -1
  157. package/declarations/components/hds/form/separator/index.d.ts +1 -1
  158. package/declarations/components/hds/form/super-select/after-options.d.ts +1 -1
  159. package/declarations/components/hds/form/super-select/multiple/base.d.ts +1 -1
  160. package/declarations/components/hds/form/super-select/multiple/field.d.ts +1 -1
  161. package/declarations/components/hds/form/super-select/option-group.d.ts +1 -1
  162. package/declarations/components/hds/form/super-select/placeholder.d.ts +1 -1
  163. package/declarations/components/hds/form/super-select/single/base.d.ts +1 -1
  164. package/declarations/components/hds/form/super-select/single/field.d.ts +1 -1
  165. package/declarations/components/hds/form/super-select/types.d.ts +1 -1
  166. package/declarations/components/hds/form/text-input/base.d.ts +1 -1
  167. package/declarations/components/hds/form/text-input/field.d.ts +2 -2
  168. package/declarations/components/hds/form/text-input/types.d.ts +1 -1
  169. package/declarations/components/hds/form/textarea/base.d.ts +1 -1
  170. package/declarations/components/hds/form/textarea/field.d.ts +1 -1
  171. package/declarations/components/hds/form/toggle/base.d.ts +1 -1
  172. package/declarations/components/hds/form/toggle/field.d.ts +1 -1
  173. package/declarations/components/hds/form/toggle/group.d.ts +1 -1
  174. package/declarations/components/hds/form/types.d.ts +1 -1
  175. package/declarations/components/hds/form/visibility-toggle/index.d.ts +1 -1
  176. package/declarations/components/hds/icon/index.d.ts +2 -2
  177. package/declarations/components/hds/icon/types.d.ts +1 -1
  178. package/declarations/components/hds/icon-tile/index.d.ts +1 -1
  179. package/declarations/components/hds/icon-tile/types.d.ts +1 -1
  180. package/declarations/components/hds/interactive/index.d.ts +1 -1
  181. package/declarations/components/hds/layout/flex/index.d.ts +1 -1
  182. package/declarations/components/hds/layout/flex/item.d.ts +1 -1
  183. package/declarations/components/hds/layout/flex/types.d.ts +1 -1
  184. package/declarations/components/hds/layout/grid/index.d.ts +1 -1
  185. package/declarations/components/hds/layout/grid/item.d.ts +1 -1
  186. package/declarations/components/hds/layout/grid/types.d.ts +1 -1
  187. package/declarations/components/hds/link/inline.d.ts +1 -1
  188. package/declarations/components/hds/link/standalone.d.ts +1 -1
  189. package/declarations/components/hds/link/types.d.ts +1 -1
  190. package/declarations/components/hds/modal/index.d.ts +1 -1
  191. package/declarations/components/hds/modal/types.d.ts +1 -1
  192. package/declarations/components/hds/page-header/actions.d.ts +1 -1
  193. package/declarations/components/hds/page-header/badges.d.ts +1 -1
  194. package/declarations/components/hds/page-header/description.d.ts +1 -1
  195. package/declarations/components/hds/page-header/index.d.ts +1 -1
  196. package/declarations/components/hds/page-header/subtitle.d.ts +1 -1
  197. package/declarations/components/hds/page-header/title.d.ts +1 -1
  198. package/declarations/components/hds/pagination/compact/index.d.ts +1 -1
  199. package/declarations/components/hds/pagination/info/index.d.ts +1 -1
  200. package/declarations/components/hds/pagination/nav/arrow.d.ts +1 -1
  201. package/declarations/components/hds/pagination/nav/number.d.ts +1 -1
  202. package/declarations/components/hds/pagination/numbered/index.d.ts +1 -1
  203. package/declarations/components/hds/pagination/size-selector/index.d.ts +1 -1
  204. package/declarations/components/hds/pagination/types.d.ts +1 -1
  205. package/declarations/components/hds/popover-primitive/index.d.ts +1 -1
  206. package/declarations/components/hds/reveal/index.d.ts +1 -1
  207. package/declarations/components/hds/reveal/toggle/button.d.ts +1 -1
  208. package/declarations/components/hds/rich-tooltip/bubble.d.ts +1 -1
  209. package/declarations/components/hds/rich-tooltip/index.d.ts +1 -1
  210. package/declarations/components/hds/rich-tooltip/toggle.d.ts +1 -1
  211. package/declarations/components/hds/rich-tooltip/types.d.ts +1 -1
  212. package/declarations/components/hds/segmented-group/index.d.ts +1 -1
  213. package/declarations/components/hds/separator/index.d.ts +1 -1
  214. package/declarations/components/hds/separator/types.d.ts +1 -1
  215. package/declarations/components/hds/side-nav/base.d.ts +1 -1
  216. package/declarations/components/hds/side-nav/header/home-link.d.ts +1 -1
  217. package/declarations/components/hds/side-nav/header/index.d.ts +1 -1
  218. package/declarations/components/hds/side-nav/index.d.ts +1 -1
  219. package/declarations/components/hds/side-nav/list/back-link.d.ts +1 -1
  220. package/declarations/components/hds/side-nav/list/index.d.ts +1 -1
  221. package/declarations/components/hds/side-nav/list/item.d.ts +1 -1
  222. package/declarations/components/hds/side-nav/list/link.d.ts +1 -1
  223. package/declarations/components/hds/side-nav/list/title.d.ts +1 -1
  224. package/declarations/components/hds/side-nav/portal/index.d.ts +1 -1
  225. package/declarations/components/hds/side-nav/portal/target.d.ts +1 -1
  226. package/declarations/components/hds/side-nav/toggle-button.d.ts +1 -1
  227. package/declarations/components/hds/stepper/list/index.d.ts +1 -1
  228. package/declarations/components/hds/stepper/list/step.d.ts +1 -1
  229. package/declarations/components/hds/stepper/nav/index.d.ts +1 -1
  230. package/declarations/components/hds/stepper/nav/panel.d.ts +1 -1
  231. package/declarations/components/hds/stepper/nav/step.d.ts +1 -1
  232. package/declarations/components/hds/stepper/step/indicator.d.ts +1 -1
  233. package/declarations/components/hds/stepper/task/indicator.d.ts +2 -2
  234. package/declarations/components/hds/stepper/types.d.ts +1 -1
  235. package/declarations/components/hds/table/index.d.ts +1 -1
  236. package/declarations/components/hds/table/td.d.ts +1 -1
  237. package/declarations/components/hds/table/th-button-sort.d.ts +1 -1
  238. package/declarations/components/hds/table/th-button-tooltip.d.ts +1 -1
  239. package/declarations/components/hds/table/th-selectable.d.ts +1 -1
  240. package/declarations/components/hds/table/th-sort.d.ts +1 -1
  241. package/declarations/components/hds/table/th.d.ts +1 -1
  242. package/declarations/components/hds/table/tr.d.ts +1 -1
  243. package/declarations/components/hds/table/types.d.ts +1 -1
  244. package/declarations/components/hds/tabs/index.d.ts +1 -1
  245. package/declarations/components/hds/tabs/panel.d.ts +1 -1
  246. package/declarations/components/hds/tabs/tab.d.ts +1 -1
  247. package/declarations/components/hds/tabs/types.d.ts +1 -1
  248. package/declarations/components/hds/tag/index.d.ts +1 -1
  249. package/declarations/components/hds/tag/types.d.ts +1 -1
  250. package/declarations/components/hds/text/body.d.ts +1 -1
  251. package/declarations/components/hds/text/code.d.ts +1 -1
  252. package/declarations/components/hds/text/display.d.ts +1 -1
  253. package/declarations/components/hds/text/index.d.ts +1 -1
  254. package/declarations/components/hds/text/types.d.ts +1 -1
  255. package/declarations/components/hds/time/index.d.ts +1 -1
  256. package/declarations/components/hds/time/range.d.ts +1 -1
  257. package/declarations/components/hds/time/single.d.ts +1 -1
  258. package/declarations/components/hds/toast/index.d.ts +1 -1
  259. package/declarations/components/hds/tooltip-button/index.d.ts +1 -1
  260. package/declarations/components/hds/tooltip-button/types.d.ts +1 -1
  261. package/declarations/components/hds/yield/index.d.ts +1 -1
  262. package/declarations/components.d.ts +1 -13
  263. package/declarations/helpers/hds-format-date.d.ts +1 -1
  264. package/declarations/helpers/hds-format-relative.d.ts +1 -1
  265. package/declarations/helpers/hds-link-to-models.d.ts +1 -1
  266. package/declarations/helpers/hds-link-to-query.d.ts +1 -1
  267. package/declarations/helpers/hds-t.d.ts +1 -1
  268. package/declarations/helpers.d.ts +1 -1
  269. package/declarations/instance-initializers/load-sprite.d.ts +1 -1
  270. package/declarations/modifiers/hds-advanced-table-cell/dom-management.d.ts +1 -1
  271. package/declarations/modifiers/hds-advanced-table-cell/keyboard-navigation.d.ts +1 -1
  272. package/declarations/modifiers/hds-advanced-table-cell.d.ts +1 -1
  273. package/declarations/modifiers/hds-anchored-position.d.ts +1 -1
  274. package/declarations/modifiers/hds-clipboard.d.ts +1 -1
  275. package/declarations/modifiers/hds-code-editor/highlight-styles/hds-dark-highlight-style.d.ts +1 -1
  276. package/declarations/modifiers/hds-code-editor/languages/rego.d.ts +1 -1
  277. package/declarations/modifiers/hds-code-editor/languages/sentinel.d.ts +1 -1
  278. package/declarations/modifiers/hds-code-editor/linters/json-linter.d.ts +1 -1
  279. package/declarations/modifiers/hds-code-editor/palettes/hds-dark-palette.d.ts +1 -1
  280. package/declarations/modifiers/hds-code-editor/themes/hds-dark-theme.d.ts +1 -1
  281. package/declarations/modifiers/hds-code-editor/types.d.ts +1 -1
  282. package/declarations/modifiers/hds-code-editor.d.ts +4 -2
  283. package/declarations/modifiers/hds-register-event.d.ts +1 -1
  284. package/declarations/modifiers/hds-tooltip.d.ts +1 -1
  285. package/declarations/modifiers.d.ts +1 -1
  286. package/declarations/re-exports/codemirror.d.ts +5 -0
  287. package/declarations/services/hds-intl.d.ts +1 -1
  288. package/declarations/services/hds-time-types.d.ts +1 -1
  289. package/declarations/services/hds-time.d.ts +1 -1
  290. package/declarations/services.d.ts +1 -1
  291. package/declarations/template-registry.d.ts +1 -34
  292. package/declarations/utils/hds-aria-described-by.d.ts +1 -1
  293. package/declarations/utils/hds-breakpoints.d.ts +1 -1
  294. package/declarations/utils/hds-get-element-id.d.ts +1 -1
  295. package/declarations/utils/hds-resolve-link-to-external.d.ts +1 -1
  296. package/dist/README.md +1 -1
  297. package/dist/components/hds/accordion/index.js +2 -2
  298. package/dist/components/hds/accordion/index.js.map +1 -1
  299. package/dist/components/hds/accordion/item/button.js +2 -2
  300. package/dist/components/hds/accordion/item/button.js.map +1 -1
  301. package/dist/components/hds/accordion/item/index.js +2 -2
  302. package/dist/components/hds/accordion/item/index.js.map +1 -1
  303. package/dist/components/hds/accordion/types.js +1 -1
  304. package/dist/components/hds/accordion/types.js.map +1 -1
  305. package/dist/components/hds/advanced-table/expandable-tr-group.js +2 -2
  306. package/dist/components/hds/advanced-table/expandable-tr-group.js.map +1 -1
  307. package/dist/components/hds/advanced-table/index.js +10 -12
  308. package/dist/components/hds/advanced-table/index.js.map +1 -1
  309. package/dist/components/hds/advanced-table/models/column.js +1 -1
  310. package/dist/components/hds/advanced-table/models/column.js.map +1 -1
  311. package/dist/components/hds/advanced-table/models/row.js +1 -1
  312. package/dist/components/hds/advanced-table/models/row.js.map +1 -1
  313. package/dist/components/hds/advanced-table/models/table.js +1 -1
  314. package/dist/components/hds/advanced-table/models/table.js.map +1 -1
  315. package/dist/components/hds/advanced-table/td.js +2 -2
  316. package/dist/components/hds/advanced-table/td.js.map +1 -1
  317. package/dist/components/hds/advanced-table/th-button-expand.js +2 -2
  318. package/dist/components/hds/advanced-table/th-button-expand.js.map +1 -1
  319. package/dist/components/hds/advanced-table/th-button-sort.js +2 -2
  320. package/dist/components/hds/advanced-table/th-button-sort.js.map +1 -1
  321. package/dist/components/hds/advanced-table/th-button-tooltip.js +2 -2
  322. package/dist/components/hds/advanced-table/th-button-tooltip.js.map +1 -1
  323. package/dist/components/hds/advanced-table/th-context-menu.js +2 -2
  324. package/dist/components/hds/advanced-table/th-context-menu.js.map +1 -1
  325. package/dist/components/hds/advanced-table/th-reorder-drop-target.js +2 -2
  326. package/dist/components/hds/advanced-table/th-reorder-drop-target.js.map +1 -1
  327. package/dist/components/hds/advanced-table/th-reorder-handle.js +2 -2
  328. package/dist/components/hds/advanced-table/th-reorder-handle.js.map +1 -1
  329. package/dist/components/hds/advanced-table/th-resize-handle.js +2 -2
  330. package/dist/components/hds/advanced-table/th-resize-handle.js.map +1 -1
  331. package/dist/components/hds/advanced-table/th-selectable.js +2 -2
  332. package/dist/components/hds/advanced-table/th-selectable.js.map +1 -1
  333. package/dist/components/hds/advanced-table/th-sort.js +2 -2
  334. package/dist/components/hds/advanced-table/th-sort.js.map +1 -1
  335. package/dist/components/hds/advanced-table/th.js +2 -2
  336. package/dist/components/hds/advanced-table/th.js.map +1 -1
  337. package/dist/components/hds/advanced-table/tr.js +2 -2
  338. package/dist/components/hds/advanced-table/tr.js.map +1 -1
  339. package/dist/components/hds/advanced-table/types.js +1 -1
  340. package/dist/components/hds/advanced-table/types.js.map +1 -1
  341. package/dist/components/hds/advanced-table/utils.js +1 -1
  342. package/dist/components/hds/advanced-table/utils.js.map +1 -1
  343. package/dist/components/hds/alert/description.js +2 -2
  344. package/dist/components/hds/alert/description.js.map +1 -1
  345. package/dist/components/hds/alert/index.js +2 -2
  346. package/dist/components/hds/alert/index.js.map +1 -1
  347. package/dist/components/hds/alert/title.js +2 -2
  348. package/dist/components/hds/alert/title.js.map +1 -1
  349. package/dist/components/hds/alert/types.js +1 -1
  350. package/dist/components/hds/alert/types.js.map +1 -1
  351. package/dist/components/hds/app-footer/copyright.js +2 -2
  352. package/dist/components/hds/app-footer/copyright.js.map +1 -1
  353. package/dist/components/hds/app-footer/index.js +2 -2
  354. package/dist/components/hds/app-footer/index.js.map +1 -1
  355. package/dist/components/hds/app-footer/item.js +2 -2
  356. package/dist/components/hds/app-footer/item.js.map +1 -1
  357. package/dist/components/hds/app-footer/legal-links.js +2 -2
  358. package/dist/components/hds/app-footer/legal-links.js.map +1 -1
  359. package/dist/components/hds/app-footer/link.js +2 -2
  360. package/dist/components/hds/app-footer/link.js.map +1 -1
  361. package/dist/components/hds/app-footer/status-link.js +2 -2
  362. package/dist/components/hds/app-footer/status-link.js.map +1 -1
  363. package/dist/components/hds/app-footer/types.js +1 -1
  364. package/dist/components/hds/app-footer/types.js.map +1 -1
  365. package/dist/components/hds/app-frame/index.js +2 -2
  366. package/dist/components/hds/app-frame/index.js.map +1 -1
  367. package/dist/components/hds/app-frame/parts/footer.js +2 -2
  368. package/dist/components/hds/app-frame/parts/footer.js.map +1 -1
  369. package/dist/components/hds/app-frame/parts/header.js +2 -2
  370. package/dist/components/hds/app-frame/parts/header.js.map +1 -1
  371. package/dist/components/hds/app-frame/parts/main.js +2 -2
  372. package/dist/components/hds/app-frame/parts/main.js.map +1 -1
  373. package/dist/components/hds/app-frame/parts/modals.js +2 -2
  374. package/dist/components/hds/app-frame/parts/modals.js.map +1 -1
  375. package/dist/components/hds/app-frame/parts/sidebar.js +2 -2
  376. package/dist/components/hds/app-frame/parts/sidebar.js.map +1 -1
  377. package/dist/components/hds/app-header/home-link.js +2 -2
  378. package/dist/components/hds/app-header/home-link.js.map +1 -1
  379. package/dist/components/hds/app-header/index.js +2 -2
  380. package/dist/components/hds/app-header/index.js.map +1 -1
  381. package/dist/components/hds/app-header/menu-button.js +2 -2
  382. package/dist/components/hds/app-header/menu-button.js.map +1 -1
  383. package/dist/components/hds/app-side-nav/index.js +2 -2
  384. package/dist/components/hds/app-side-nav/index.js.map +1 -1
  385. package/dist/components/hds/app-side-nav/list/back-link.js +2 -2
  386. package/dist/components/hds/app-side-nav/list/back-link.js.map +1 -1
  387. package/dist/components/hds/app-side-nav/list/index.js +2 -2
  388. package/dist/components/hds/app-side-nav/list/index.js.map +1 -1
  389. package/dist/components/hds/app-side-nav/list/item.js +2 -2
  390. package/dist/components/hds/app-side-nav/list/item.js.map +1 -1
  391. package/dist/components/hds/app-side-nav/list/link.js +2 -2
  392. package/dist/components/hds/app-side-nav/list/link.js.map +1 -1
  393. package/dist/components/hds/app-side-nav/list/title.js +2 -2
  394. package/dist/components/hds/app-side-nav/list/title.js.map +1 -1
  395. package/dist/components/hds/app-side-nav/portal/index.js +2 -2
  396. package/dist/components/hds/app-side-nav/portal/index.js.map +1 -1
  397. package/dist/components/hds/app-side-nav/portal/target.js +2 -2
  398. package/dist/components/hds/app-side-nav/portal/target.js.map +1 -1
  399. package/dist/components/hds/app-side-nav/toggle-button.js +2 -2
  400. package/dist/components/hds/app-side-nav/toggle-button.js.map +1 -1
  401. package/dist/components/hds/application-state/body.js +2 -2
  402. package/dist/components/hds/application-state/body.js.map +1 -1
  403. package/dist/components/hds/application-state/footer.js +2 -2
  404. package/dist/components/hds/application-state/footer.js.map +1 -1
  405. package/dist/components/hds/application-state/header.js +2 -2
  406. package/dist/components/hds/application-state/header.js.map +1 -1
  407. package/dist/components/hds/application-state/index.js +2 -2
  408. package/dist/components/hds/application-state/index.js.map +1 -1
  409. package/dist/components/hds/application-state/media.js +2 -2
  410. package/dist/components/hds/application-state/media.js.map +1 -1
  411. package/dist/components/hds/application-state/types.js +1 -1
  412. package/dist/components/hds/application-state/types.js.map +1 -1
  413. package/dist/components/hds/badge/index.js +2 -2
  414. package/dist/components/hds/badge/index.js.map +1 -1
  415. package/dist/components/hds/badge/types.js +1 -1
  416. package/dist/components/hds/badge/types.js.map +1 -1
  417. package/dist/components/hds/badge-count/index.js +2 -2
  418. package/dist/components/hds/badge-count/index.js.map +1 -1
  419. package/dist/components/hds/badge-count/types.js +1 -1
  420. package/dist/components/hds/badge-count/types.js.map +1 -1
  421. package/dist/components/hds/breadcrumb/index.js +2 -2
  422. package/dist/components/hds/breadcrumb/index.js.map +1 -1
  423. package/dist/components/hds/breadcrumb/item.js +2 -2
  424. package/dist/components/hds/breadcrumb/item.js.map +1 -1
  425. package/dist/components/hds/breadcrumb/truncation.js +2 -2
  426. package/dist/components/hds/breadcrumb/truncation.js.map +1 -1
  427. package/dist/components/hds/button/index.js +2 -2
  428. package/dist/components/hds/button/index.js.map +1 -1
  429. package/dist/components/hds/button/types.js +1 -1
  430. package/dist/components/hds/button/types.js.map +1 -1
  431. package/dist/components/hds/button-set/index.js +2 -2
  432. package/dist/components/hds/button-set/index.js.map +1 -1
  433. package/dist/components/hds/card/container.js +2 -2
  434. package/dist/components/hds/card/container.js.map +1 -1
  435. package/dist/components/hds/card/types.js +1 -1
  436. package/dist/components/hds/card/types.js.map +1 -1
  437. package/dist/components/hds/code-block/copy-button.js +2 -2
  438. package/dist/components/hds/code-block/copy-button.js.map +1 -1
  439. package/dist/components/hds/code-block/description.js +2 -2
  440. package/dist/components/hds/code-block/description.js.map +1 -1
  441. package/dist/components/hds/code-block/index.js +2 -2
  442. package/dist/components/hds/code-block/index.js.map +1 -1
  443. package/dist/components/hds/code-block/title.js +2 -2
  444. package/dist/components/hds/code-block/title.js.map +1 -1
  445. package/dist/components/hds/code-block/types.js +1 -1
  446. package/dist/components/hds/code-block/types.js.map +1 -1
  447. package/dist/components/hds/code-editor/description.js +2 -2
  448. package/dist/components/hds/code-editor/description.js.map +1 -1
  449. package/dist/components/hds/code-editor/full-screen-button.js +2 -2
  450. package/dist/components/hds/code-editor/full-screen-button.js.map +1 -1
  451. package/dist/components/hds/code-editor/generic.js +2 -2
  452. package/dist/components/hds/code-editor/generic.js.map +1 -1
  453. package/dist/components/hds/code-editor/index.js +2 -2
  454. package/dist/components/hds/code-editor/index.js.map +1 -1
  455. package/dist/components/hds/code-editor/title.js +2 -2
  456. package/dist/components/hds/code-editor/title.js.map +1 -1
  457. package/dist/components/hds/copy/button/index.js +2 -2
  458. package/dist/components/hds/copy/button/index.js.map +1 -1
  459. package/dist/components/hds/copy/button/types.js +1 -1
  460. package/dist/components/hds/copy/button/types.js.map +1 -1
  461. package/dist/components/hds/copy/snippet/index.js +2 -2
  462. package/dist/components/hds/copy/snippet/index.js.map +1 -1
  463. package/dist/components/hds/copy/snippet/types.js +1 -1
  464. package/dist/components/hds/copy/snippet/types.js.map +1 -1
  465. package/dist/components/hds/dialog-primitive/body.js +2 -2
  466. package/dist/components/hds/dialog-primitive/body.js.map +1 -1
  467. package/dist/components/hds/dialog-primitive/description.js +2 -2
  468. package/dist/components/hds/dialog-primitive/description.js.map +1 -1
  469. package/dist/components/hds/dialog-primitive/footer.js +2 -2
  470. package/dist/components/hds/dialog-primitive/footer.js.map +1 -1
  471. package/dist/components/hds/dialog-primitive/header.js +2 -2
  472. package/dist/components/hds/dialog-primitive/header.js.map +1 -1
  473. package/dist/components/hds/dialog-primitive/overlay.js +2 -2
  474. package/dist/components/hds/dialog-primitive/overlay.js.map +1 -1
  475. package/dist/components/hds/dialog-primitive/types.js +1 -1
  476. package/dist/components/hds/dialog-primitive/types.js.map +1 -1
  477. package/dist/components/hds/dialog-primitive/wrapper.js +2 -2
  478. package/dist/components/hds/dialog-primitive/wrapper.js.map +1 -1
  479. package/dist/components/hds/disclosure-primitive/index.js +2 -2
  480. package/dist/components/hds/disclosure-primitive/index.js.map +1 -1
  481. package/dist/components/hds/dismiss-button/index.js +2 -2
  482. package/dist/components/hds/dismiss-button/index.js.map +1 -1
  483. package/dist/components/hds/dropdown/footer.js +2 -2
  484. package/dist/components/hds/dropdown/footer.js.map +1 -1
  485. package/dist/components/hds/dropdown/header.js +2 -2
  486. package/dist/components/hds/dropdown/header.js.map +1 -1
  487. package/dist/components/hds/dropdown/index.js +2 -2
  488. package/dist/components/hds/dropdown/index.js.map +1 -1
  489. package/dist/components/hds/dropdown/list-item/checkbox.js +2 -2
  490. package/dist/components/hds/dropdown/list-item/checkbox.js.map +1 -1
  491. package/dist/components/hds/dropdown/list-item/checkmark.js +2 -2
  492. package/dist/components/hds/dropdown/list-item/checkmark.js.map +1 -1
  493. package/dist/components/hds/dropdown/list-item/copy-item.js +2 -2
  494. package/dist/components/hds/dropdown/list-item/copy-item.js.map +1 -1
  495. package/dist/components/hds/dropdown/list-item/description.js +2 -2
  496. package/dist/components/hds/dropdown/list-item/description.js.map +1 -1
  497. package/dist/components/hds/dropdown/list-item/generic.js +2 -2
  498. package/dist/components/hds/dropdown/list-item/generic.js.map +1 -1
  499. package/dist/components/hds/dropdown/list-item/interactive.js +2 -2
  500. package/dist/components/hds/dropdown/list-item/interactive.js.map +1 -1
  501. package/dist/components/hds/dropdown/list-item/radio.js +2 -2
  502. package/dist/components/hds/dropdown/list-item/radio.js.map +1 -1
  503. package/dist/components/hds/dropdown/list-item/separator.js +2 -2
  504. package/dist/components/hds/dropdown/list-item/separator.js.map +1 -1
  505. package/dist/components/hds/dropdown/list-item/title.js +2 -2
  506. package/dist/components/hds/dropdown/list-item/title.js.map +1 -1
  507. package/dist/components/hds/dropdown/list-item/types.js +1 -1
  508. package/dist/components/hds/dropdown/list-item/types.js.map +1 -1
  509. package/dist/components/hds/dropdown/toggle/button.js +2 -2
  510. package/dist/components/hds/dropdown/toggle/button.js.map +1 -1
  511. package/dist/components/hds/dropdown/toggle/chevron.js +2 -2
  512. package/dist/components/hds/dropdown/toggle/chevron.js.map +1 -1
  513. package/dist/components/hds/dropdown/toggle/icon.js +2 -2
  514. package/dist/components/hds/dropdown/toggle/icon.js.map +1 -1
  515. package/dist/components/hds/dropdown/toggle/types.js +1 -1
  516. package/dist/components/hds/dropdown/toggle/types.js.map +1 -1
  517. package/dist/components/hds/dropdown/types.js +1 -1
  518. package/dist/components/hds/dropdown/types.js.map +1 -1
  519. package/dist/components/hds/flyout/index.js +2 -2
  520. package/dist/components/hds/flyout/index.js.map +1 -1
  521. package/dist/components/hds/flyout/types.js +1 -1
  522. package/dist/components/hds/flyout/types.js.map +1 -1
  523. package/dist/components/hds/form/character-count/index.js +2 -2
  524. package/dist/components/hds/form/character-count/index.js.map +1 -1
  525. package/dist/components/hds/form/checkbox/base.js +2 -2
  526. package/dist/components/hds/form/checkbox/base.js.map +1 -1
  527. package/dist/components/hds/form/checkbox/field.js +2 -2
  528. package/dist/components/hds/form/checkbox/field.js.map +1 -1
  529. package/dist/components/hds/form/checkbox/group.js +2 -2
  530. package/dist/components/hds/form/checkbox/group.js.map +1 -1
  531. package/dist/components/hds/form/error/index.js +2 -2
  532. package/dist/components/hds/form/error/index.js.map +1 -1
  533. package/dist/components/hds/form/error/message.js +2 -2
  534. package/dist/components/hds/form/error/message.js.map +1 -1
  535. package/dist/components/hds/form/field/index.js +2 -2
  536. package/dist/components/hds/form/field/index.js.map +1 -1
  537. package/dist/components/hds/form/field/types.js +1 -1
  538. package/dist/components/hds/form/field/types.js.map +1 -1
  539. package/dist/components/hds/form/fieldset/index.js +2 -2
  540. package/dist/components/hds/form/fieldset/index.js.map +1 -1
  541. package/dist/components/hds/form/fieldset/types.js +1 -1
  542. package/dist/components/hds/form/fieldset/types.js.map +1 -1
  543. package/dist/components/hds/form/file-input/base.js +2 -2
  544. package/dist/components/hds/form/file-input/base.js.map +1 -1
  545. package/dist/components/hds/form/file-input/field.js +2 -2
  546. package/dist/components/hds/form/file-input/field.js.map +1 -1
  547. package/dist/components/hds/form/footer/index.js +2 -2
  548. package/dist/components/hds/form/footer/index.js.map +1 -1
  549. package/dist/components/hds/form/header/description.js +2 -2
  550. package/dist/components/hds/form/header/description.js.map +1 -1
  551. package/dist/components/hds/form/header/index.js +2 -2
  552. package/dist/components/hds/form/header/index.js.map +1 -1
  553. package/dist/components/hds/form/header/title.js +2 -2
  554. package/dist/components/hds/form/header/title.js.map +1 -1
  555. package/dist/components/hds/form/helper-text/index.js +2 -2
  556. package/dist/components/hds/form/helper-text/index.js.map +1 -1
  557. package/dist/components/hds/form/index.js +2 -2
  558. package/dist/components/hds/form/index.js.map +1 -1
  559. package/dist/components/hds/form/indicator/index.js +2 -2
  560. package/dist/components/hds/form/indicator/index.js.map +1 -1
  561. package/dist/components/hds/form/key-value-inputs/add-row-button.js +2 -2
  562. package/dist/components/hds/form/key-value-inputs/add-row-button.js.map +1 -1
  563. package/dist/components/hds/form/key-value-inputs/delete-row-button.js +2 -2
  564. package/dist/components/hds/form/key-value-inputs/delete-row-button.js.map +1 -1
  565. package/dist/components/hds/form/key-value-inputs/field.js +2 -2
  566. package/dist/components/hds/form/key-value-inputs/field.js.map +1 -1
  567. package/dist/components/hds/form/key-value-inputs/generic.js +2 -2
  568. package/dist/components/hds/form/key-value-inputs/generic.js.map +1 -1
  569. package/dist/components/hds/form/key-value-inputs/index.js +2 -2
  570. package/dist/components/hds/form/key-value-inputs/index.js.map +1 -1
  571. package/dist/components/hds/form/label/index.js +2 -2
  572. package/dist/components/hds/form/label/index.js.map +1 -1
  573. package/dist/components/hds/form/legend/index.js +2 -2
  574. package/dist/components/hds/form/legend/index.js.map +1 -1
  575. package/dist/components/hds/form/masked-input/base.js +2 -2
  576. package/dist/components/hds/form/masked-input/base.js.map +1 -1
  577. package/dist/components/hds/form/masked-input/field.js +2 -2
  578. package/dist/components/hds/form/masked-input/field.js.map +1 -1
  579. package/dist/components/hds/form/radio/base.js +2 -2
  580. package/dist/components/hds/form/radio/base.js.map +1 -1
  581. package/dist/components/hds/form/radio/field.js +2 -2
  582. package/dist/components/hds/form/radio/field.js.map +1 -1
  583. package/dist/components/hds/form/radio/group.js +2 -2
  584. package/dist/components/hds/form/radio/group.js.map +1 -1
  585. package/dist/components/hds/form/radio-card/description.js +2 -2
  586. package/dist/components/hds/form/radio-card/description.js.map +1 -1
  587. package/dist/components/hds/form/radio-card/group.js +2 -2
  588. package/dist/components/hds/form/radio-card/group.js.map +1 -1
  589. package/dist/components/hds/form/radio-card/index.js +2 -2
  590. package/dist/components/hds/form/radio-card/index.js.map +1 -1
  591. package/dist/components/hds/form/radio-card/label.js +2 -2
  592. package/dist/components/hds/form/radio-card/label.js.map +1 -1
  593. package/dist/components/hds/form/radio-card/types.js +1 -1
  594. package/dist/components/hds/form/radio-card/types.js.map +1 -1
  595. package/dist/components/hds/form/section/header.js +2 -2
  596. package/dist/components/hds/form/section/header.js.map +1 -1
  597. package/dist/components/hds/form/section/index.js +2 -2
  598. package/dist/components/hds/form/section/index.js.map +1 -1
  599. package/dist/components/hds/form/section/multi-field-group/index.js +2 -2
  600. package/dist/components/hds/form/section/multi-field-group/index.js.map +1 -1
  601. package/dist/components/hds/form/section/multi-field-group/item.js +2 -2
  602. package/dist/components/hds/form/section/multi-field-group/item.js.map +1 -1
  603. package/dist/components/hds/form/select/base.js +2 -2
  604. package/dist/components/hds/form/select/base.js.map +1 -1
  605. package/dist/components/hds/form/select/field.js +2 -2
  606. package/dist/components/hds/form/select/field.js.map +1 -1
  607. package/dist/components/hds/form/separator/index.js +2 -2
  608. package/dist/components/hds/form/separator/index.js.map +1 -1
  609. package/dist/components/hds/form/super-select/after-options.js +2 -2
  610. package/dist/components/hds/form/super-select/after-options.js.map +1 -1
  611. package/dist/components/hds/form/super-select/multiple/base.js +2 -2
  612. package/dist/components/hds/form/super-select/multiple/base.js.map +1 -1
  613. package/dist/components/hds/form/super-select/multiple/field.js +2 -2
  614. package/dist/components/hds/form/super-select/multiple/field.js.map +1 -1
  615. package/dist/components/hds/form/super-select/option-group.js +2 -2
  616. package/dist/components/hds/form/super-select/option-group.js.map +1 -1
  617. package/dist/components/hds/form/super-select/placeholder.js +2 -2
  618. package/dist/components/hds/form/super-select/placeholder.js.map +1 -1
  619. package/dist/components/hds/form/super-select/single/base.js +2 -2
  620. package/dist/components/hds/form/super-select/single/base.js.map +1 -1
  621. package/dist/components/hds/form/super-select/single/field.js +2 -2
  622. package/dist/components/hds/form/super-select/single/field.js.map +1 -1
  623. package/dist/components/hds/form/super-select/types.js +1 -1
  624. package/dist/components/hds/form/super-select/types.js.map +1 -1
  625. package/dist/components/hds/form/text-input/base.js +2 -2
  626. package/dist/components/hds/form/text-input/base.js.map +1 -1
  627. package/dist/components/hds/form/text-input/field.js +2 -2
  628. package/dist/components/hds/form/text-input/field.js.map +1 -1
  629. package/dist/components/hds/form/text-input/types.js +1 -1
  630. package/dist/components/hds/form/text-input/types.js.map +1 -1
  631. package/dist/components/hds/form/textarea/base.js +2 -2
  632. package/dist/components/hds/form/textarea/base.js.map +1 -1
  633. package/dist/components/hds/form/textarea/field.js +2 -2
  634. package/dist/components/hds/form/textarea/field.js.map +1 -1
  635. package/dist/components/hds/form/toggle/base.js +2 -2
  636. package/dist/components/hds/form/toggle/base.js.map +1 -1
  637. package/dist/components/hds/form/toggle/field.js +2 -2
  638. package/dist/components/hds/form/toggle/field.js.map +1 -1
  639. package/dist/components/hds/form/toggle/group.js +2 -2
  640. package/dist/components/hds/form/toggle/group.js.map +1 -1
  641. package/dist/components/hds/form/types.js +1 -1
  642. package/dist/components/hds/form/types.js.map +1 -1
  643. package/dist/components/hds/form/visibility-toggle/index.js +2 -2
  644. package/dist/components/hds/form/visibility-toggle/index.js.map +1 -1
  645. package/dist/components/hds/icon/index.js +2 -2
  646. package/dist/components/hds/icon/index.js.map +1 -1
  647. package/dist/components/hds/icon/types.js +1 -1
  648. package/dist/components/hds/icon/types.js.map +1 -1
  649. package/dist/components/hds/icon-tile/index.js +2 -2
  650. package/dist/components/hds/icon-tile/index.js.map +1 -1
  651. package/dist/components/hds/icon-tile/types.js +1 -1
  652. package/dist/components/hds/icon-tile/types.js.map +1 -1
  653. package/dist/components/hds/interactive/index.js +1 -1
  654. package/dist/components/hds/interactive/index.js.map +1 -1
  655. package/dist/components/hds/layout/flex/index.js +2 -2
  656. package/dist/components/hds/layout/flex/index.js.map +1 -1
  657. package/dist/components/hds/layout/flex/item.js +2 -2
  658. package/dist/components/hds/layout/flex/item.js.map +1 -1
  659. package/dist/components/hds/layout/flex/types.js +1 -1
  660. package/dist/components/hds/layout/flex/types.js.map +1 -1
  661. package/dist/components/hds/layout/grid/index.js +2 -2
  662. package/dist/components/hds/layout/grid/index.js.map +1 -1
  663. package/dist/components/hds/layout/grid/item.js +2 -2
  664. package/dist/components/hds/layout/grid/item.js.map +1 -1
  665. package/dist/components/hds/layout/grid/types.js +1 -1
  666. package/dist/components/hds/layout/grid/types.js.map +1 -1
  667. package/dist/components/hds/link/inline.js +1 -1
  668. package/dist/components/hds/link/inline.js.map +1 -1
  669. package/dist/components/hds/link/standalone.js +1 -1
  670. package/dist/components/hds/link/standalone.js.map +1 -1
  671. package/dist/components/hds/link/types.js +1 -1
  672. package/dist/components/hds/link/types.js.map +1 -1
  673. package/dist/components/hds/modal/index.js +2 -2
  674. package/dist/components/hds/modal/index.js.map +1 -1
  675. package/dist/components/hds/modal/types.js +1 -1
  676. package/dist/components/hds/modal/types.js.map +1 -1
  677. package/dist/components/hds/page-header/actions.js +2 -2
  678. package/dist/components/hds/page-header/actions.js.map +1 -1
  679. package/dist/components/hds/page-header/badges.js +2 -2
  680. package/dist/components/hds/page-header/badges.js.map +1 -1
  681. package/dist/components/hds/page-header/description.js +2 -2
  682. package/dist/components/hds/page-header/description.js.map +1 -1
  683. package/dist/components/hds/page-header/index.js +2 -2
  684. package/dist/components/hds/page-header/index.js.map +1 -1
  685. package/dist/components/hds/page-header/subtitle.js +2 -2
  686. package/dist/components/hds/page-header/subtitle.js.map +1 -1
  687. package/dist/components/hds/page-header/title.js +2 -2
  688. package/dist/components/hds/page-header/title.js.map +1 -1
  689. package/dist/components/hds/pagination/compact/index.js +2 -2
  690. package/dist/components/hds/pagination/compact/index.js.map +1 -1
  691. package/dist/components/hds/pagination/info/index.js +2 -2
  692. package/dist/components/hds/pagination/info/index.js.map +1 -1
  693. package/dist/components/hds/pagination/nav/arrow.js +2 -2
  694. package/dist/components/hds/pagination/nav/arrow.js.map +1 -1
  695. package/dist/components/hds/pagination/nav/ellipsis.js +2 -2
  696. package/dist/components/hds/pagination/nav/ellipsis.js.map +1 -1
  697. package/dist/components/hds/pagination/nav/number.js +2 -2
  698. package/dist/components/hds/pagination/nav/number.js.map +1 -1
  699. package/dist/components/hds/pagination/numbered/index.js +2 -2
  700. package/dist/components/hds/pagination/numbered/index.js.map +1 -1
  701. package/dist/components/hds/pagination/size-selector/index.js +2 -2
  702. package/dist/components/hds/pagination/size-selector/index.js.map +1 -1
  703. package/dist/components/hds/pagination/types.js +1 -1
  704. package/dist/components/hds/pagination/types.js.map +1 -1
  705. package/dist/components/hds/popover-primitive/index.js +2 -2
  706. package/dist/components/hds/popover-primitive/index.js.map +1 -1
  707. package/dist/components/hds/reveal/index.js +2 -2
  708. package/dist/components/hds/reveal/index.js.map +1 -1
  709. package/dist/components/hds/reveal/toggle/button.js +2 -2
  710. package/dist/components/hds/reveal/toggle/button.js.map +1 -1
  711. package/dist/components/hds/rich-tooltip/bubble.js +1 -1
  712. package/dist/components/hds/rich-tooltip/bubble.js.map +1 -1
  713. package/dist/components/hds/rich-tooltip/index.js +1 -1
  714. package/dist/components/hds/rich-tooltip/index.js.map +1 -1
  715. package/dist/components/hds/rich-tooltip/toggle.js +2 -2
  716. package/dist/components/hds/rich-tooltip/toggle.js.map +1 -1
  717. package/dist/components/hds/rich-tooltip/types.js +1 -1
  718. package/dist/components/hds/rich-tooltip/types.js.map +1 -1
  719. package/dist/components/hds/segmented-group/index.js +2 -2
  720. package/dist/components/hds/segmented-group/index.js.map +1 -1
  721. package/dist/components/hds/separator/index.js +2 -2
  722. package/dist/components/hds/separator/index.js.map +1 -1
  723. package/dist/components/hds/separator/types.js +1 -1
  724. package/dist/components/hds/separator/types.js.map +1 -1
  725. package/dist/components/hds/side-nav/base.js +2 -2
  726. package/dist/components/hds/side-nav/base.js.map +1 -1
  727. package/dist/components/hds/side-nav/header/home-link.js +2 -2
  728. package/dist/components/hds/side-nav/header/home-link.js.map +1 -1
  729. package/dist/components/hds/side-nav/header/index.js +2 -2
  730. package/dist/components/hds/side-nav/header/index.js.map +1 -1
  731. package/dist/components/hds/side-nav/index.js +2 -2
  732. package/dist/components/hds/side-nav/index.js.map +1 -1
  733. package/dist/components/hds/side-nav/list/back-link.js +2 -2
  734. package/dist/components/hds/side-nav/list/back-link.js.map +1 -1
  735. package/dist/components/hds/side-nav/list/index.js +2 -2
  736. package/dist/components/hds/side-nav/list/index.js.map +1 -1
  737. package/dist/components/hds/side-nav/list/item.js +2 -2
  738. package/dist/components/hds/side-nav/list/item.js.map +1 -1
  739. package/dist/components/hds/side-nav/list/link.js +2 -2
  740. package/dist/components/hds/side-nav/list/link.js.map +1 -1
  741. package/dist/components/hds/side-nav/list/title.js +2 -2
  742. package/dist/components/hds/side-nav/list/title.js.map +1 -1
  743. package/dist/components/hds/side-nav/portal/index.js +2 -2
  744. package/dist/components/hds/side-nav/portal/index.js.map +1 -1
  745. package/dist/components/hds/side-nav/portal/target.js +2 -2
  746. package/dist/components/hds/side-nav/portal/target.js.map +1 -1
  747. package/dist/components/hds/side-nav/toggle-button.js +2 -2
  748. package/dist/components/hds/side-nav/toggle-button.js.map +1 -1
  749. package/dist/components/hds/stepper/list/index.js +2 -2
  750. package/dist/components/hds/stepper/list/index.js.map +1 -1
  751. package/dist/components/hds/stepper/list/step.js +2 -2
  752. package/dist/components/hds/stepper/list/step.js.map +1 -1
  753. package/dist/components/hds/stepper/nav/index.js +2 -2
  754. package/dist/components/hds/stepper/nav/index.js.map +1 -1
  755. package/dist/components/hds/stepper/nav/panel.js +2 -2
  756. package/dist/components/hds/stepper/nav/panel.js.map +1 -1
  757. package/dist/components/hds/stepper/nav/step.js +2 -2
  758. package/dist/components/hds/stepper/nav/step.js.map +1 -1
  759. package/dist/components/hds/stepper/step/indicator.js +2 -2
  760. package/dist/components/hds/stepper/step/indicator.js.map +1 -1
  761. package/dist/components/hds/stepper/task/indicator.js +2 -2
  762. package/dist/components/hds/stepper/task/indicator.js.map +1 -1
  763. package/dist/components/hds/stepper/types.js +1 -1
  764. package/dist/components/hds/stepper/types.js.map +1 -1
  765. package/dist/components/hds/table/index.js +2 -2
  766. package/dist/components/hds/table/index.js.map +1 -1
  767. package/dist/components/hds/table/td.js +2 -2
  768. package/dist/components/hds/table/td.js.map +1 -1
  769. package/dist/components/hds/table/th-button-sort.js +2 -2
  770. package/dist/components/hds/table/th-button-sort.js.map +1 -1
  771. package/dist/components/hds/table/th-button-tooltip.js +2 -2
  772. package/dist/components/hds/table/th-button-tooltip.js.map +1 -1
  773. package/dist/components/hds/table/th-selectable.js +2 -2
  774. package/dist/components/hds/table/th-selectable.js.map +1 -1
  775. package/dist/components/hds/table/th-sort.js +2 -2
  776. package/dist/components/hds/table/th-sort.js.map +1 -1
  777. package/dist/components/hds/table/th.js +2 -2
  778. package/dist/components/hds/table/th.js.map +1 -1
  779. package/dist/components/hds/table/tr.js +2 -2
  780. package/dist/components/hds/table/tr.js.map +1 -1
  781. package/dist/components/hds/table/types.js +1 -1
  782. package/dist/components/hds/table/types.js.map +1 -1
  783. package/dist/components/hds/tabs/index.js +2 -2
  784. package/dist/components/hds/tabs/index.js.map +1 -1
  785. package/dist/components/hds/tabs/panel.js +2 -2
  786. package/dist/components/hds/tabs/panel.js.map +1 -1
  787. package/dist/components/hds/tabs/tab.js +2 -2
  788. package/dist/components/hds/tabs/tab.js.map +1 -1
  789. package/dist/components/hds/tabs/types.js +1 -1
  790. package/dist/components/hds/tabs/types.js.map +1 -1
  791. package/dist/components/hds/tag/index.js +2 -2
  792. package/dist/components/hds/tag/index.js.map +1 -1
  793. package/dist/components/hds/tag/types.js +1 -1
  794. package/dist/components/hds/tag/types.js.map +1 -1
  795. package/dist/components/hds/text/body.js +2 -2
  796. package/dist/components/hds/text/body.js.map +1 -1
  797. package/dist/components/hds/text/code.js +2 -2
  798. package/dist/components/hds/text/code.js.map +1 -1
  799. package/dist/components/hds/text/display.js +2 -2
  800. package/dist/components/hds/text/display.js.map +1 -1
  801. package/dist/components/hds/text/index.js +2 -2
  802. package/dist/components/hds/text/index.js.map +1 -1
  803. package/dist/components/hds/text/types.js +1 -1
  804. package/dist/components/hds/text/types.js.map +1 -1
  805. package/dist/components/hds/time/index.js +2 -2
  806. package/dist/components/hds/time/index.js.map +1 -1
  807. package/dist/components/hds/time/range.js +2 -2
  808. package/dist/components/hds/time/range.js.map +1 -1
  809. package/dist/components/hds/time/single.js +2 -2
  810. package/dist/components/hds/time/single.js.map +1 -1
  811. package/dist/components/hds/toast/index.js +2 -2
  812. package/dist/components/hds/toast/index.js.map +1 -1
  813. package/dist/components/hds/tooltip-button/index.js +2 -2
  814. package/dist/components/hds/tooltip-button/index.js.map +1 -1
  815. package/dist/components/hds/tooltip-button/types.js +1 -1
  816. package/dist/components/hds/tooltip-button/types.js.map +1 -1
  817. package/dist/components/hds/yield/index.js +2 -2
  818. package/dist/components/hds/yield/index.js.map +1 -1
  819. package/dist/components.js +0 -12
  820. package/dist/components.js.map +1 -1
  821. package/dist/helpers/hds-format-date.js +1 -1
  822. package/dist/helpers/hds-format-date.js.map +1 -1
  823. package/dist/helpers/hds-format-relative.js +1 -1
  824. package/dist/helpers/hds-format-relative.js.map +1 -1
  825. package/dist/helpers/hds-link-to-models.js +1 -1
  826. package/dist/helpers/hds-link-to-models.js.map +1 -1
  827. package/dist/helpers/hds-link-to-query.js +1 -1
  828. package/dist/helpers/hds-link-to-query.js.map +1 -1
  829. package/dist/helpers/hds-t.js +1 -1
  830. package/dist/helpers/hds-t.js.map +1 -1
  831. package/dist/instance-initializers/load-sprite.js +1 -1
  832. package/dist/instance-initializers/load-sprite.js.map +1 -1
  833. package/dist/modifiers/hds-advanced-table-cell/dom-management.js +1 -1
  834. package/dist/modifiers/hds-advanced-table-cell/dom-management.js.map +1 -1
  835. package/dist/modifiers/hds-advanced-table-cell/keyboard-navigation.js +1 -1
  836. package/dist/modifiers/hds-advanced-table-cell/keyboard-navigation.js.map +1 -1
  837. package/dist/modifiers/hds-advanced-table-cell.js +1 -1
  838. package/dist/modifiers/hds-advanced-table-cell.js.map +1 -1
  839. package/dist/modifiers/hds-anchored-position.js +1 -1
  840. package/dist/modifiers/hds-anchored-position.js.map +1 -1
  841. package/dist/modifiers/hds-clipboard.js +1 -1
  842. package/dist/modifiers/hds-clipboard.js.map +1 -1
  843. package/dist/modifiers/hds-code-editor/highlight-styles/hds-dark-highlight-style.js +1 -1
  844. package/dist/modifiers/hds-code-editor/highlight-styles/hds-dark-highlight-style.js.map +1 -1
  845. package/dist/modifiers/hds-code-editor/languages/rego.js +1 -1
  846. package/dist/modifiers/hds-code-editor/languages/rego.js.map +1 -1
  847. package/dist/modifiers/hds-code-editor/languages/sentinel.js +1 -1
  848. package/dist/modifiers/hds-code-editor/languages/sentinel.js.map +1 -1
  849. package/dist/modifiers/hds-code-editor/linters/json-linter.js +1 -1
  850. package/dist/modifiers/hds-code-editor/linters/json-linter.js.map +1 -1
  851. package/dist/modifiers/hds-code-editor/palettes/hds-dark-palette.js +1 -1
  852. package/dist/modifiers/hds-code-editor/palettes/hds-dark-palette.js.map +1 -1
  853. package/dist/modifiers/hds-code-editor/themes/hds-dark-theme.js +1 -1
  854. package/dist/modifiers/hds-code-editor/themes/hds-dark-theme.js.map +1 -1
  855. package/dist/modifiers/hds-code-editor/types.js +1 -1
  856. package/dist/modifiers/hds-code-editor/types.js.map +1 -1
  857. package/dist/modifiers/hds-code-editor.js +9 -8
  858. package/dist/modifiers/hds-code-editor.js.map +1 -1
  859. package/dist/modifiers/hds-register-event.js +1 -1
  860. package/dist/modifiers/hds-register-event.js.map +1 -1
  861. package/dist/modifiers/hds-tooltip.js +1 -1
  862. package/dist/modifiers/hds-tooltip.js.map +1 -1
  863. package/dist/re-exports/codemirror.js +6 -0
  864. package/dist/re-exports/codemirror.js.map +1 -0
  865. package/dist/services/hds-intl.js +1 -1
  866. package/dist/services/hds-intl.js.map +1 -1
  867. package/dist/services/hds-time.js.map +1 -1
  868. package/dist/styles/@hashicorp/design-system-components.css +110 -329
  869. package/dist/styles/@hashicorp/design-system-components.scss +1 -2
  870. package/dist/styles/@hashicorp/design-system-power-select-overrides.scss +1 -1
  871. package/dist/styles/components/accordion.scss +1 -1
  872. package/dist/styles/components/advanced-table.scss +2 -68
  873. package/dist/styles/components/alert.scss +1 -1
  874. package/dist/styles/components/app-footer.scss +1 -1
  875. package/dist/styles/components/app-frame.scss +1 -1
  876. package/dist/styles/components/app-header.scss +1 -1
  877. package/dist/styles/components/app-side-nav/content.scss +1 -1
  878. package/dist/styles/components/app-side-nav/index.scss +1 -1
  879. package/dist/styles/components/app-side-nav/main.scss +1 -1
  880. package/dist/styles/components/app-side-nav/toggle-button.scss +1 -1
  881. package/dist/styles/components/app-side-nav/vars.scss +1 -1
  882. package/dist/styles/components/application-state.scss +1 -1
  883. package/dist/styles/components/badge-count.scss +1 -1
  884. package/dist/styles/components/badge.scss +1 -1
  885. package/dist/styles/components/breadcrumb.scss +1 -1
  886. package/dist/styles/components/button-set.scss +1 -1
  887. package/dist/styles/components/button.scss +1 -1
  888. package/dist/styles/components/card/container.scss +1 -1
  889. package/dist/styles/components/card/index.scss +1 -1
  890. package/dist/styles/components/code-block/index.scss +1 -1
  891. package/dist/styles/components/code-block/theme.scss +1 -1
  892. package/dist/styles/components/code-editor/index.scss +1 -1
  893. package/dist/styles/components/code-editor/theme.scss +1 -1
  894. package/dist/styles/components/copy/button.scss +1 -1
  895. package/dist/styles/components/copy/index.scss +1 -1
  896. package/dist/styles/components/copy/snippet.scss +1 -1
  897. package/dist/styles/components/dialog-primitive.scss +1 -1
  898. package/dist/styles/components/disclosure-primitive.scss +1 -1
  899. package/dist/styles/components/dismiss-button.scss +1 -1
  900. package/dist/styles/components/dropdown.scss +1 -1
  901. package/dist/styles/components/flyout.scss +1 -1
  902. package/dist/styles/components/form/character-count.scss +1 -1
  903. package/dist/styles/components/form/checkbox.scss +1 -1
  904. package/dist/styles/components/form/error.scss +1 -1
  905. package/dist/styles/components/form/field.scss +1 -1
  906. package/dist/styles/components/form/file-input.scss +1 -1
  907. package/dist/styles/components/form/group.scss +1 -1
  908. package/dist/styles/components/form/helper-text.scss +1 -1
  909. package/dist/styles/components/form/index.scss +1 -1
  910. package/dist/styles/components/form/indicator.scss +1 -1
  911. package/dist/styles/components/form/key-value-inputs.scss +1 -1
  912. package/dist/styles/components/form/label.scss +1 -1
  913. package/dist/styles/components/form/layout.scss +1 -1
  914. package/dist/styles/components/form/legend.scss +1 -1
  915. package/dist/styles/components/form/masked-input.scss +1 -1
  916. package/dist/styles/components/form/radio-card.scss +1 -1
  917. package/dist/styles/components/form/radio.scss +1 -1
  918. package/dist/styles/components/form/select.scss +1 -1
  919. package/dist/styles/components/form/super-select.scss +1 -1
  920. package/dist/styles/components/form/text-input.scss +1 -1
  921. package/dist/styles/components/form/textarea.scss +1 -1
  922. package/dist/styles/components/form/toggle.scss +1 -1
  923. package/dist/styles/components/form/visibility-toggle.scss +1 -1
  924. package/dist/styles/components/icon-tile.scss +1 -1
  925. package/dist/styles/components/icon.scss +1 -1
  926. package/dist/styles/components/layout/flex.scss +1 -1
  927. package/dist/styles/components/layout/grid.scss +1 -1
  928. package/dist/styles/components/layout/index.scss +1 -1
  929. package/dist/styles/components/link/index.scss +1 -1
  930. package/dist/styles/components/link/inline.scss +1 -1
  931. package/dist/styles/components/link/standalone.scss +1 -1
  932. package/dist/styles/components/modal.scss +1 -1
  933. package/dist/styles/components/page-header.scss +1 -1
  934. package/dist/styles/components/pagination.scss +1 -1
  935. package/dist/styles/components/reveal.scss +1 -1
  936. package/dist/styles/components/rich-tooltip.scss +1 -1
  937. package/dist/styles/components/segmented-group.scss +1 -1
  938. package/dist/styles/components/separator.scss +1 -1
  939. package/dist/styles/components/side-nav/a11y-refocus.scss +1 -1
  940. package/dist/styles/components/side-nav/content.scss +1 -1
  941. package/dist/styles/components/side-nav/header.scss +1 -1
  942. package/dist/styles/components/side-nav/index.scss +1 -1
  943. package/dist/styles/components/side-nav/main.scss +1 -1
  944. package/dist/styles/components/side-nav/toggle-button.scss +1 -1
  945. package/dist/styles/components/side-nav/vars.scss +1 -1
  946. package/dist/styles/components/stepper/index.scss +1 -1
  947. package/dist/styles/components/stepper/list.scss +1 -1
  948. package/dist/styles/components/stepper/nav.scss +1 -1
  949. package/dist/styles/components/stepper/step-indicator.scss +1 -1
  950. package/dist/styles/components/stepper/task-indicator.scss +1 -1
  951. package/dist/styles/components/table.scss +1 -1
  952. package/dist/styles/components/tabs.scss +1 -1
  953. package/dist/styles/components/tag.scss +1 -1
  954. package/dist/styles/components/text.scss +1 -1
  955. package/dist/styles/components/time.scss +1 -1
  956. package/dist/styles/components/toast.scss +1 -1
  957. package/dist/styles/components/tooltip.scss +1 -1
  958. package/dist/styles/mixins/_breakpoints.scss +1 -1
  959. package/dist/styles/mixins/_button.scss +1 -1
  960. package/dist/styles/mixins/_focus-ring.scss +1 -1
  961. package/dist/styles/mixins/_interactive-dark-theme.scss +1 -1
  962. package/dist/styles/mixins/_screen-reader-only.scss +1 -1
  963. package/dist/utils/hds-aria-described-by.js +1 -1
  964. package/dist/utils/hds-aria-described-by.js.map +1 -1
  965. package/dist/utils/hds-breakpoints.js +1 -1
  966. package/dist/utils/hds-breakpoints.js.map +1 -1
  967. package/dist/utils/hds-get-element-id.js +1 -1
  968. package/dist/utils/hds-get-element-id.js.map +1 -1
  969. package/dist/utils/hds-resolve-link-to-external.js +1 -1
  970. package/dist/utils/hds-resolve-link-to-external.js.map +1 -1
  971. package/package.json +7 -14
  972. package/translations/hds/components/advanced-table/en-us.yaml +0 -3
  973. package/declarations/components/hds/filter-bar/checkbox.d.ts +0 -21
  974. package/declarations/components/hds/filter-bar/date.d.ts +0 -47
  975. package/declarations/components/hds/filter-bar/filter-group.d.ts +0 -51
  976. package/declarations/components/hds/filter-bar/filters-dropdown.d.ts +0 -38
  977. package/declarations/components/hds/filter-bar/generic.d.ts +0 -24
  978. package/declarations/components/hds/filter-bar/index.d.ts +0 -48
  979. package/declarations/components/hds/filter-bar/radio.d.ts +0 -21
  980. package/declarations/components/hds/filter-bar/range.d.ts +0 -45
  981. package/declarations/components/hds/filter-bar/tabs/index.d.ts +0 -43
  982. package/declarations/components/hds/filter-bar/tabs/panel.d.ts +0 -28
  983. package/declarations/components/hds/filter-bar/tabs/tab.d.ts +0 -34
  984. package/declarations/components/hds/filter-bar/types.d.ts +0 -86
  985. package/dist/_app_/components/hds/filter-bar/checkbox.js +0 -1
  986. package/dist/_app_/components/hds/filter-bar/date.js +0 -1
  987. package/dist/_app_/components/hds/filter-bar/filter-group.js +0 -1
  988. package/dist/_app_/components/hds/filter-bar/filters-dropdown.js +0 -1
  989. package/dist/_app_/components/hds/filter-bar/generic.js +0 -1
  990. package/dist/_app_/components/hds/filter-bar/radio.js +0 -1
  991. package/dist/_app_/components/hds/filter-bar/range.js +0 -1
  992. package/dist/_app_/components/hds/filter-bar/tabs/panel.js +0 -1
  993. package/dist/_app_/components/hds/filter-bar/tabs/tab.js +0 -1
  994. package/dist/_app_/components/hds/filter-bar/tabs.js +0 -1
  995. package/dist/_app_/components/hds/filter-bar.js +0 -1
  996. package/dist/components/hds/filter-bar/checkbox.js +0 -40
  997. package/dist/components/hds/filter-bar/checkbox.js.map +0 -1
  998. package/dist/components/hds/filter-bar/date.js +0 -164
  999. package/dist/components/hds/filter-bar/date.js.map +0 -1
  1000. package/dist/components/hds/filter-bar/filter-group.js +0 -226
  1001. package/dist/components/hds/filter-bar/filter-group.js.map +0 -1
  1002. package/dist/components/hds/filter-bar/filters-dropdown.js +0 -120
  1003. package/dist/components/hds/filter-bar/filters-dropdown.js.map +0 -1
  1004. package/dist/components/hds/filter-bar/generic.js +0 -43
  1005. package/dist/components/hds/filter-bar/generic.js.map +0 -1
  1006. package/dist/components/hds/filter-bar/index.js +0 -237
  1007. package/dist/components/hds/filter-bar/index.js.map +0 -1
  1008. package/dist/components/hds/filter-bar/radio.js +0 -40
  1009. package/dist/components/hds/filter-bar/radio.js.map +0 -1
  1010. package/dist/components/hds/filter-bar/range.js +0 -163
  1011. package/dist/components/hds/filter-bar/range.js.map +0 -1
  1012. package/dist/components/hds/filter-bar/tabs/index.js +0 -181
  1013. package/dist/components/hds/filter-bar/tabs/index.js.map +0 -1
  1014. package/dist/components/hds/filter-bar/tabs/panel.js +0 -67
  1015. package/dist/components/hds/filter-bar/tabs/panel.js.map +0 -1
  1016. package/dist/components/hds/filter-bar/tabs/tab.js +0 -98
  1017. package/dist/components/hds/filter-bar/tabs/tab.js.map +0 -1
  1018. package/dist/components/hds/filter-bar/types.js +0 -35
  1019. package/dist/components/hds/filter-bar/types.js.map +0 -1
  1020. package/dist/styles/components/filter-bar.scss +0 -180
  1021. package/translations/hds/components/filter-bar/date/en-us.yaml +0 -18
  1022. package/translations/hds/components/filter-bar/en-us.yaml +0 -9
  1023. package/translations/hds/components/filter-bar/filter-group/en-us.yaml +0 -1
  1024. package/translations/hds/components/filter-bar/filter-options/en-us.yaml +0 -1
  1025. package/translations/hds/components/filter-bar/filters-dropdown/en-us.yaml +0 -7
  1026. package/translations/hds/components/filter-bar/range/en-us.yaml +0 -15
@@ -1 +1 @@
1
- {"version":3,"file":"sentinel.js","sources":["../../../../src/modifiers/hds-code-editor/languages/sentinel.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport type { StringStream } from '@codemirror/language';\n\ntype Quote = '\"' | \"'\";\n\ninterface ParserConfig {\n delimiters?: RegExp;\n operators?: RegExp;\n}\n\ninterface SentinelState {\n tokenize: (stream: StringStream, state: SentinelState) => string | null;\n}\n\nfunction wordRegexp(words: string[]): RegExp {\n return new RegExp('^((' + words.join(')|(') + '))\\\\b');\n}\n\n// logical operators\nconst wordOperators = wordRegexp([\n 'and',\n 'contains',\n 'else',\n 'in',\n 'is',\n 'matches',\n 'not',\n 'or',\n 'xor',\n]);\n\n// keywords\nconst sentinelKeywords = [\n 'all',\n 'any',\n 'as',\n 'break',\n 'case',\n 'continue',\n 'default',\n 'else',\n 'empty',\n 'filter',\n 'for',\n 'func',\n 'if',\n 'import',\n 'map',\n 'param',\n 'return',\n 'rule',\n 'when',\n];\n\n// built-ins / constants\nconst sentinelBuiltins = [\n 'true',\n 'false',\n 'null',\n 'undefined',\n 'length',\n 'append',\n 'delete',\n 'keys',\n 'values',\n 'range',\n 'print',\n 'int',\n 'float',\n 'string',\n 'bool',\n];\n\nconst keywords = wordRegexp(sentinelKeywords);\nconst builtins = wordRegexp(sentinelBuiltins);\n\nexport function mkSentinel(parserConf: ParserConfig) {\n const ERRORCLASS = 'error';\n\n // delimiters, operators, etc.\n const delimiters = parserConf.delimiters ?? /^[()[\\]{},:;=.]/;\n const operators = [\n parserConf.operators ?? /^(\\+|-|\\*|\\/|%|<=|>=|<|>|==|!=|!|&&|\\|\\|)/,\n ];\n\n // tokenizer\n function tokenBase(\n stream: StringStream,\n state: SentinelState\n ): string | null {\n return tokenBaseInner(stream, state);\n }\n\n function tokenBaseInner(\n stream: StringStream,\n state: SentinelState\n ): string | null {\n if (stream.eatSpace()) {\n return null;\n }\n\n // comments\n // single-line `//`\n if (stream.match('//')) {\n stream.skipToEnd();\n return 'comment';\n }\n // multi-line `/* ... */`\n if (stream.match('/*')) {\n state.tokenize = tokenComment;\n return state.tokenize(stream, state);\n }\n\n // strings\n if (stream.match(/\"/) || stream.match(/'/)) {\n // We’ve just consumed either \" or '\n const quote = stream.current();\n state.tokenize = tokenString(quote as Quote);\n return state.tokenize(stream, state);\n }\n\n // numbers\n if (stream.match(/^[0-9]+(\\.[0-9]+)?/)) {\n return 'number';\n }\n\n // operators\n for (let i = 0; i < operators.length; i++) {\n if (stream.match(operators[i]!)) {\n return 'operator';\n }\n }\n\n // delimiters/punctuation\n if (stream.match(delimiters)) {\n return 'punctuation';\n }\n\n // keywords, operators, builtins\n if (stream.match(keywords) || stream.match(wordOperators)) {\n return 'keyword';\n }\n if (stream.match(builtins)) {\n return 'builtin';\n }\n\n // identifiers (variables, function names, etc.)\n if (stream.match(/^[_A-Za-z][_A-Za-z0-9]*/)) {\n return 'variable';\n }\n\n // if nothing matched, consume one character and mark it as error\n stream.next();\n\n return ERRORCLASS;\n }\n\n // multi-line comment tokenizer\n function tokenComment(stream: StringStream, state: SentinelState): string {\n while (!stream.eol()) {\n if (stream.match('*/')) {\n state.tokenize = tokenBase;\n break;\n }\n stream.next();\n }\n return 'comment';\n }\n\n // string tokenizer factory\n function tokenString(\n quote: Quote\n ): (stream: StringStream, state: SentinelState) => string {\n return function (stream: StringStream, state: SentinelState) {\n let escaped = false;\n let ch = null;\n\n while ((ch = stream.next()) != null) {\n if (ch === quote && !escaped) {\n // end of string\n state.tokenize = tokenBase;\n break;\n }\n escaped = !escaped && ch === '\\\\';\n }\n\n return 'string';\n };\n }\n\n // CodeMirror API\n return {\n name: 'sentinel',\n\n startState: function (): SentinelState {\n return {\n tokenize: tokenBase,\n };\n },\n\n token: function (\n stream: StringStream,\n state: SentinelState\n ): string | null {\n return state.tokenize(stream, state);\n },\n\n languageData: {\n commentTokens: { line: '//', block: { open: '/*', close: '*/' } },\n closeBrackets: { brackets: ['(', '[', '{', '\"', \"'\"] },\n },\n };\n}\n\nexport const sentinel = mkSentinel({});\n"],"names":["wordRegexp","words","RegExp","join","wordOperators","sentinelKeywords","sentinelBuiltins","keywords","builtins","mkSentinel","parserConf","ERRORCLASS","delimiters","operators","tokenBase","stream","state","tokenBaseInner","eatSpace","match","skipToEnd","tokenize","tokenComment","quote","current","tokenString","i","length","next","eol","escaped","ch","name","startState","token","languageData","commentTokens","line","block","open","close","closeBrackets","brackets","sentinel"],"mappings":"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"}
1
+ {"version":3,"file":"sentinel.js","sources":["../../../../src/modifiers/hds-code-editor/languages/sentinel.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport type { StringStream } from '@codemirror/language';\n\ntype Quote = '\"' | \"'\";\n\ninterface ParserConfig {\n delimiters?: RegExp;\n operators?: RegExp;\n}\n\ninterface SentinelState {\n tokenize: (stream: StringStream, state: SentinelState) => string | null;\n}\n\nfunction wordRegexp(words: string[]): RegExp {\n return new RegExp('^((' + words.join(')|(') + '))\\\\b');\n}\n\n// logical operators\nconst wordOperators = wordRegexp([\n 'and',\n 'contains',\n 'else',\n 'in',\n 'is',\n 'matches',\n 'not',\n 'or',\n 'xor',\n]);\n\n// keywords\nconst sentinelKeywords = [\n 'all',\n 'any',\n 'as',\n 'break',\n 'case',\n 'continue',\n 'default',\n 'else',\n 'empty',\n 'filter',\n 'for',\n 'func',\n 'if',\n 'import',\n 'map',\n 'param',\n 'return',\n 'rule',\n 'when',\n];\n\n// built-ins / constants\nconst sentinelBuiltins = [\n 'true',\n 'false',\n 'null',\n 'undefined',\n 'length',\n 'append',\n 'delete',\n 'keys',\n 'values',\n 'range',\n 'print',\n 'int',\n 'float',\n 'string',\n 'bool',\n];\n\nconst keywords = wordRegexp(sentinelKeywords);\nconst builtins = wordRegexp(sentinelBuiltins);\n\nexport function mkSentinel(parserConf: ParserConfig) {\n const ERRORCLASS = 'error';\n\n // delimiters, operators, etc.\n const delimiters = parserConf.delimiters ?? /^[()[\\]{},:;=.]/;\n const operators = [\n parserConf.operators ?? /^(\\+|-|\\*|\\/|%|<=|>=|<|>|==|!=|!|&&|\\|\\|)/,\n ];\n\n // tokenizer\n function tokenBase(\n stream: StringStream,\n state: SentinelState\n ): string | null {\n return tokenBaseInner(stream, state);\n }\n\n function tokenBaseInner(\n stream: StringStream,\n state: SentinelState\n ): string | null {\n if (stream.eatSpace()) {\n return null;\n }\n\n // comments\n // single-line `//`\n if (stream.match('//')) {\n stream.skipToEnd();\n return 'comment';\n }\n // multi-line `/* ... */`\n if (stream.match('/*')) {\n state.tokenize = tokenComment;\n return state.tokenize(stream, state);\n }\n\n // strings\n if (stream.match(/\"/) || stream.match(/'/)) {\n // We’ve just consumed either \" or '\n const quote = stream.current();\n state.tokenize = tokenString(quote as Quote);\n return state.tokenize(stream, state);\n }\n\n // numbers\n if (stream.match(/^[0-9]+(\\.[0-9]+)?/)) {\n return 'number';\n }\n\n // operators\n for (let i = 0; i < operators.length; i++) {\n if (stream.match(operators[i]!)) {\n return 'operator';\n }\n }\n\n // delimiters/punctuation\n if (stream.match(delimiters)) {\n return 'punctuation';\n }\n\n // keywords, operators, builtins\n if (stream.match(keywords) || stream.match(wordOperators)) {\n return 'keyword';\n }\n if (stream.match(builtins)) {\n return 'builtin';\n }\n\n // identifiers (variables, function names, etc.)\n if (stream.match(/^[_A-Za-z][_A-Za-z0-9]*/)) {\n return 'variable';\n }\n\n // if nothing matched, consume one character and mark it as error\n stream.next();\n\n return ERRORCLASS;\n }\n\n // multi-line comment tokenizer\n function tokenComment(stream: StringStream, state: SentinelState): string {\n while (!stream.eol()) {\n if (stream.match('*/')) {\n state.tokenize = tokenBase;\n break;\n }\n stream.next();\n }\n return 'comment';\n }\n\n // string tokenizer factory\n function tokenString(\n quote: Quote\n ): (stream: StringStream, state: SentinelState) => string {\n return function (stream: StringStream, state: SentinelState) {\n let escaped = false;\n let ch = null;\n\n while ((ch = stream.next()) != null) {\n if (ch === quote && !escaped) {\n // end of string\n state.tokenize = tokenBase;\n break;\n }\n escaped = !escaped && ch === '\\\\';\n }\n\n return 'string';\n };\n }\n\n // CodeMirror API\n return {\n name: 'sentinel',\n\n startState: function (): SentinelState {\n return {\n tokenize: tokenBase,\n };\n },\n\n token: function (\n stream: StringStream,\n state: SentinelState\n ): string | null {\n return state.tokenize(stream, state);\n },\n\n languageData: {\n commentTokens: { line: '//', block: { open: '/*', close: '*/' } },\n closeBrackets: { brackets: ['(', '[', '{', '\"', \"'\"] },\n },\n };\n}\n\nexport const sentinel = mkSentinel({});\n"],"names":["wordRegexp","words","RegExp","join","wordOperators","sentinelKeywords","sentinelBuiltins","keywords","builtins","mkSentinel","parserConf","ERRORCLASS","delimiters","operators","tokenBase","stream","state","tokenBaseInner","eatSpace","match","skipToEnd","tokenize","tokenComment","quote","current","tokenString","i","length","next","eol","escaped","ch","name","startState","token","languageData","commentTokens","line","block","open","close","closeBrackets","brackets","sentinel"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) HashiCorp, Inc.
2
+ * Copyright IBM Corp. 2021, 2025
3
3
  * SPDX-License-Identifier: MPL-2.0
4
4
  */
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"json-linter.js","sources":["../../../../src/modifiers/hds-code-editor/linters/json-linter.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport type { Diagnostic as DiagnosticType } from '@codemirror/lint';\nimport type { HdsCodeEditorSignature } from '../../hds-code-editor';\nimport type { Extension, Text } from '@codemirror/state';\n\nexport enum HdsCodeEditorJsonLintingError {\n InvalidSyntax = 'Invalid syntax',\n KeyExpected = 'Key expected',\n KeyMustBeDoubleQuoted = 'Key must be double quoted',\n MissingComma = 'Missing comma',\n TrailingComma = 'Trailing comma',\n ValueExpected = 'Value expected',\n}\n\nexport function findNextToken(\n doc: Text,\n index: number,\n step: number = 1\n): string {\n while (index >= 0 && index < doc.length) {\n const token = doc.sliceString(index, index + 1);\n\n if (token.trim() !== '') {\n return token;\n }\n\n index += step;\n }\n return '';\n}\n\nexport function determineErrorMessage({\n previousToken,\n nextToken,\n errorToken,\n}: {\n previousToken: string;\n nextToken: string;\n errorToken: string;\n}): HdsCodeEditorJsonLintingError {\n let message: HdsCodeEditorJsonLintingError =\n HdsCodeEditorJsonLintingError.InvalidSyntax;\n\n if (errorToken === '') {\n if (previousToken === '{' && nextToken === ':') {\n message = HdsCodeEditorJsonLintingError.KeyExpected;\n } else if (previousToken === '\"' && nextToken === '\"') {\n message = HdsCodeEditorJsonLintingError.MissingComma;\n } else if (\n previousToken === ',' &&\n (nextToken === '}' || nextToken === ']')\n ) {\n message = HdsCodeEditorJsonLintingError.TrailingComma;\n }\n } else {\n if (\n (previousToken === '{' || previousToken === ',') &&\n (nextToken === '\"' || nextToken === ':')\n ) {\n message = HdsCodeEditorJsonLintingError.KeyMustBeDoubleQuoted;\n } else if (\n previousToken === ':' &&\n (nextToken === ',' || nextToken === '}' || nextToken === ']')\n ) {\n message = HdsCodeEditorJsonLintingError.ValueExpected;\n }\n }\n\n return message;\n}\n\n// this renders the error message for both the tooltip and the drawer item\nexport function renderErrorMessage(\n message: string,\n lineNumber: number\n): HTMLElement {\n const wrapper = document.createElement('div');\n wrapper.classList.add('cm-diagnosticText-inner');\n\n const icon = document.createElement('div');\n icon.classList.add('cm-lint-marker-error');\n icon.setAttribute('aria-hidden', 'true');\n\n const text = document.createElement('span');\n text.textContent = `Line ${lineNumber}: ${message}`;\n\n wrapper.append(icon, text);\n\n return wrapper;\n}\n\n// lezer JSON parser uses '⚠' as a placeholder for syntax errors\nconst errorNodeName = '⚠';\n\nexport default async function jsonLinter(\n onLint: HdsCodeEditorSignature['Args']['Named']['onLint']\n): Promise<Extension[]> {\n const [\n { EditorView, keymap },\n { syntaxTree },\n { linter, lintGutter, lintKeymap },\n ] = await Promise.all([\n import('@codemirror/view'),\n import('@codemirror/language'),\n import('@codemirror/lint'),\n ]);\n\n const jsonLinter = linter((editor) => {\n const diagnostics: DiagnosticType[] = [];\n const doc = editor.state.doc;\n const tree = syntaxTree(editor.state);\n const seenLines = new Set();\n\n tree.cursor().iterate((node) => {\n if (node.name === errorNodeName) {\n const lineNumber = doc.lineAt(node.from).number;\n\n if (seenLines.has(lineNumber)) {\n return;\n }\n\n const message = determineErrorMessage({\n previousToken: findNextToken(doc, node.from - 1, -1),\n nextToken: findNextToken(doc, node.to),\n errorToken: doc.sliceString(node.from, node.to),\n });\n\n diagnostics.push({\n from: node.from,\n to: node.to,\n message,\n severity: 'error',\n renderMessage: () => renderErrorMessage(message, lineNumber),\n });\n\n seenLines.add(lineNumber);\n }\n });\n\n onLint?.(diagnostics, doc.toString(), editor);\n\n return diagnostics;\n });\n\n return [\n jsonLinter,\n lintGutter(),\n keymap.of([...lintKeymap]),\n EditorView.editorAttributes.of({ class: 'cm-lintingEnabled' }),\n ];\n}\n"],"names":["HdsCodeEditorJsonLintingError","findNextToken","doc","index","step","length","token","sliceString","trim","determineErrorMessage","previousToken","nextToken","errorToken","message","InvalidSyntax","KeyExpected","MissingComma","TrailingComma","KeyMustBeDoubleQuoted","ValueExpected","renderErrorMessage","lineNumber","wrapper","document","createElement","classList","add","icon","setAttribute","text","textContent","append","errorNodeName","jsonLinter","onLint","EditorView","keymap","syntaxTree","linter","lintGutter","lintKeymap","Promise","all","editor","diagnostics","state","tree","seenLines","Set","cursor","iterate","node","name","lineAt","from","number","has","to","push","severity","renderMessage","toString","of","editorAttributes","class"],"mappings":"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"}
1
+ {"version":3,"file":"json-linter.js","sources":["../../../../src/modifiers/hds-code-editor/linters/json-linter.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport type { Diagnostic as DiagnosticType } from '@codemirror/lint';\nimport type { HdsCodeEditorSignature } from '../../hds-code-editor';\nimport type { Extension, Text } from '@codemirror/state';\n\nexport enum HdsCodeEditorJsonLintingError {\n InvalidSyntax = 'Invalid syntax',\n KeyExpected = 'Key expected',\n KeyMustBeDoubleQuoted = 'Key must be double quoted',\n MissingComma = 'Missing comma',\n TrailingComma = 'Trailing comma',\n ValueExpected = 'Value expected',\n}\n\nexport function findNextToken(\n doc: Text,\n index: number,\n step: number = 1\n): string {\n while (index >= 0 && index < doc.length) {\n const token = doc.sliceString(index, index + 1);\n\n if (token.trim() !== '') {\n return token;\n }\n\n index += step;\n }\n return '';\n}\n\nexport function determineErrorMessage({\n previousToken,\n nextToken,\n errorToken,\n}: {\n previousToken: string;\n nextToken: string;\n errorToken: string;\n}): HdsCodeEditorJsonLintingError {\n let message: HdsCodeEditorJsonLintingError =\n HdsCodeEditorJsonLintingError.InvalidSyntax;\n\n if (errorToken === '') {\n if (previousToken === '{' && nextToken === ':') {\n message = HdsCodeEditorJsonLintingError.KeyExpected;\n } else if (previousToken === '\"' && nextToken === '\"') {\n message = HdsCodeEditorJsonLintingError.MissingComma;\n } else if (\n previousToken === ',' &&\n (nextToken === '}' || nextToken === ']')\n ) {\n message = HdsCodeEditorJsonLintingError.TrailingComma;\n }\n } else {\n if (\n (previousToken === '{' || previousToken === ',') &&\n (nextToken === '\"' || nextToken === ':')\n ) {\n message = HdsCodeEditorJsonLintingError.KeyMustBeDoubleQuoted;\n } else if (\n previousToken === ':' &&\n (nextToken === ',' || nextToken === '}' || nextToken === ']')\n ) {\n message = HdsCodeEditorJsonLintingError.ValueExpected;\n }\n }\n\n return message;\n}\n\n// this renders the error message for both the tooltip and the drawer item\nexport function renderErrorMessage(\n message: string,\n lineNumber: number\n): HTMLElement {\n const wrapper = document.createElement('div');\n wrapper.classList.add('cm-diagnosticText-inner');\n\n const icon = document.createElement('div');\n icon.classList.add('cm-lint-marker-error');\n icon.setAttribute('aria-hidden', 'true');\n\n const text = document.createElement('span');\n text.textContent = `Line ${lineNumber}: ${message}`;\n\n wrapper.append(icon, text);\n\n return wrapper;\n}\n\n// lezer JSON parser uses '⚠' as a placeholder for syntax errors\nconst errorNodeName = '⚠';\n\nexport default async function jsonLinter(\n onLint: HdsCodeEditorSignature['Args']['Named']['onLint']\n): Promise<Extension[]> {\n const [\n { EditorView, keymap },\n { syntaxTree },\n { linter, lintGutter, lintKeymap },\n ] = await Promise.all([\n import('@codemirror/view'),\n import('@codemirror/language'),\n import('@codemirror/lint'),\n ]);\n\n const jsonLinter = linter((editor) => {\n const diagnostics: DiagnosticType[] = [];\n const doc = editor.state.doc;\n const tree = syntaxTree(editor.state);\n const seenLines = new Set();\n\n tree.cursor().iterate((node) => {\n if (node.name === errorNodeName) {\n const lineNumber = doc.lineAt(node.from).number;\n\n if (seenLines.has(lineNumber)) {\n return;\n }\n\n const message = determineErrorMessage({\n previousToken: findNextToken(doc, node.from - 1, -1),\n nextToken: findNextToken(doc, node.to),\n errorToken: doc.sliceString(node.from, node.to),\n });\n\n diagnostics.push({\n from: node.from,\n to: node.to,\n message,\n severity: 'error',\n renderMessage: () => renderErrorMessage(message, lineNumber),\n });\n\n seenLines.add(lineNumber);\n }\n });\n\n onLint?.(diagnostics, doc.toString(), editor);\n\n return diagnostics;\n });\n\n return [\n jsonLinter,\n lintGutter(),\n keymap.of([...lintKeymap]),\n EditorView.editorAttributes.of({ class: 'cm-lintingEnabled' }),\n ];\n}\n"],"names":["HdsCodeEditorJsonLintingError","findNextToken","doc","index","step","length","token","sliceString","trim","determineErrorMessage","previousToken","nextToken","errorToken","message","InvalidSyntax","KeyExpected","MissingComma","TrailingComma","KeyMustBeDoubleQuoted","ValueExpected","renderErrorMessage","lineNumber","wrapper","document","createElement","classList","add","icon","setAttribute","text","textContent","append","errorNodeName","jsonLinter","onLint","EditorView","keymap","syntaxTree","linter","lintGutter","lintKeymap","Promise","all","editor","diagnostics","state","tree","seenLines","Set","cursor","iterate","node","name","lineAt","from","number","has","to","push","severity","renderMessage","toString","of","editorAttributes","class"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) HashiCorp, Inc.
2
+ * Copyright IBM Corp. 2021, 2025
3
3
  * SPDX-License-Identifier: MPL-2.0
4
4
  */
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"hds-dark-palette.js","sources":["../../../../src/modifiers/hds-code-editor/palettes/hds-dark-palette.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nexport const HDS_CODE_BLOCK_WHITE = '#efeff1';\nexport const HDS_CODE_BLOCK_BLUE = '#2d8eff';\nexport const HDS_CODE_BLOCK_GREEN = '#86ff13';\nexport const HDS_CODE_BLOCK_ORANGE = '#ffa800';\nexport const HDS_CODE_BLOCK_PURPLE = '#c76cff';\nexport const HDS_CODE_BLOCK_RED = '#ff3b20';\nexport const HDS_CODE_BLOCK_CYAN = '#32fff7';\n\nexport const HDS_CODE_BLOCK_LINE_HIGHLIGHT = 'rgba(0, 74, 222, 0.2)';\nexport const HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER = '#1b5fe5';\n\nexport const HDS_CODE_EDITOR_COLOR_FOREGROUND_PRIMARY = '#d5d7db';\nexport const HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT = '#878a8f';\nexport const HDS_CODE_EDITOR_COLOR_FOREGROUND_CRITICAL = '#EF3016';\n\nexport const HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY = '#0D0E12';\nexport const HDS_CODE_EDITOR_COLOR_SURFACE_FAINT = '#15181e';\nexport const HDS_CODE_EDITOR_COLOR_SURFACE_INTERACTIVE_ACTIVE = '#2B303C';\nexport const HDS_CODE_EDITOR_COLOR_FOCUS_ACTION_INTERNAL = '#9BC7FD';\nexport const HDS_CODE_EDITOR_COLOR_FOCUS_ACTION_EXTERNAL = '#0D69F2';\n"],"names":["HDS_CODE_BLOCK_WHITE","HDS_CODE_BLOCK_BLUE","HDS_CODE_BLOCK_GREEN","HDS_CODE_BLOCK_ORANGE","HDS_CODE_BLOCK_PURPLE","HDS_CODE_BLOCK_RED","HDS_CODE_BLOCK_CYAN","HDS_CODE_BLOCK_LINE_HIGHLIGHT","HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER","HDS_CODE_EDITOR_COLOR_FOREGROUND_PRIMARY","HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT","HDS_CODE_EDITOR_COLOR_FOREGROUND_CRITICAL","HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY","HDS_CODE_EDITOR_COLOR_SURFACE_FAINT","HDS_CODE_EDITOR_COLOR_SURFACE_INTERACTIVE_ACTIVE","HDS_CODE_EDITOR_COLOR_FOCUS_ACTION_INTERNAL","HDS_CODE_EDITOR_COLOR_FOCUS_ACTION_EXTERNAL"],"mappings":"AAAA;AACA;AACA;AACA;;AAEO,MAAMA,oBAAoB,GAAG;AAC7B,MAAMC,mBAAmB,GAAG;AAC5B,MAAMC,oBAAoB,GAAG;AAC7B,MAAMC,qBAAqB,GAAG;AAC9B,MAAMC,qBAAqB,GAAG;AAC9B,MAAMC,kBAAkB,GAAG;AAC3B,MAAMC,mBAAmB,GAAG;AAE5B,MAAMC,6BAA6B,GAAG;AACtC,MAAMC,oCAAoC,GAAG;AAE7C,MAAMC,wCAAwC,GAAG;AACjD,MAAMC,sCAAsC,GAAG;AAC/C,MAAMC,yCAAyC,GAAG;AAElD,MAAMC,qCAAqC,GAAG;AAC9C,MAAMC,mCAAmC,GAAG;AAC5C,MAAMC,gDAAgD,GAAG;AACzD,MAAMC,2CAA2C,GAAG;AACpD,MAAMC,2CAA2C,GAAG;;;;"}
1
+ {"version":3,"file":"hds-dark-palette.js","sources":["../../../../src/modifiers/hds-code-editor/palettes/hds-dark-palette.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nexport const HDS_CODE_BLOCK_WHITE = '#efeff1';\nexport const HDS_CODE_BLOCK_BLUE = '#2d8eff';\nexport const HDS_CODE_BLOCK_GREEN = '#86ff13';\nexport const HDS_CODE_BLOCK_ORANGE = '#ffa800';\nexport const HDS_CODE_BLOCK_PURPLE = '#c76cff';\nexport const HDS_CODE_BLOCK_RED = '#ff3b20';\nexport const HDS_CODE_BLOCK_CYAN = '#32fff7';\n\nexport const HDS_CODE_BLOCK_LINE_HIGHLIGHT = 'rgba(0, 74, 222, 0.2)';\nexport const HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER = '#1b5fe5';\n\nexport const HDS_CODE_EDITOR_COLOR_FOREGROUND_PRIMARY = '#d5d7db';\nexport const HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT = '#878a8f';\nexport const HDS_CODE_EDITOR_COLOR_FOREGROUND_CRITICAL = '#EF3016';\n\nexport const HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY = '#0D0E12';\nexport const HDS_CODE_EDITOR_COLOR_SURFACE_FAINT = '#15181e';\nexport const HDS_CODE_EDITOR_COLOR_SURFACE_INTERACTIVE_ACTIVE = '#2B303C';\nexport const HDS_CODE_EDITOR_COLOR_FOCUS_ACTION_INTERNAL = '#9BC7FD';\nexport const HDS_CODE_EDITOR_COLOR_FOCUS_ACTION_EXTERNAL = '#0D69F2';\n"],"names":["HDS_CODE_BLOCK_WHITE","HDS_CODE_BLOCK_BLUE","HDS_CODE_BLOCK_GREEN","HDS_CODE_BLOCK_ORANGE","HDS_CODE_BLOCK_PURPLE","HDS_CODE_BLOCK_RED","HDS_CODE_BLOCK_CYAN","HDS_CODE_BLOCK_LINE_HIGHLIGHT","HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER","HDS_CODE_EDITOR_COLOR_FOREGROUND_PRIMARY","HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT","HDS_CODE_EDITOR_COLOR_FOREGROUND_CRITICAL","HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY","HDS_CODE_EDITOR_COLOR_SURFACE_FAINT","HDS_CODE_EDITOR_COLOR_SURFACE_INTERACTIVE_ACTIVE","HDS_CODE_EDITOR_COLOR_FOCUS_ACTION_INTERNAL","HDS_CODE_EDITOR_COLOR_FOCUS_ACTION_EXTERNAL"],"mappings":"AAAA;AACA;AACA;AACA;;AAEO,MAAMA,oBAAoB,GAAG;AAC7B,MAAMC,mBAAmB,GAAG;AAC5B,MAAMC,oBAAoB,GAAG;AAC7B,MAAMC,qBAAqB,GAAG;AAC9B,MAAMC,qBAAqB,GAAG;AAC9B,MAAMC,kBAAkB,GAAG;AAC3B,MAAMC,mBAAmB,GAAG;AAE5B,MAAMC,6BAA6B,GAAG;AACtC,MAAMC,oCAAoC,GAAG;AAE7C,MAAMC,wCAAwC,GAAG;AACjD,MAAMC,sCAAsC,GAAG;AAC/C,MAAMC,yCAAyC,GAAG;AAElD,MAAMC,qCAAqC,GAAG;AAC9C,MAAMC,mCAAmC,GAAG;AAC5C,MAAMC,gDAAgD,GAAG;AACzD,MAAMC,2CAA2C,GAAG;AACpD,MAAMC,2CAA2C,GAAG;;;;"}
@@ -2,7 +2,7 @@ import { EditorView } from '@codemirror/view';
2
2
  import { HDS_CODE_EDITOR_COLOR_SURFACE_INTERACTIVE_ACTIVE, HDS_CODE_EDITOR_COLOR_FOCUS_ACTION_INTERNAL, HDS_CODE_EDITOR_COLOR_FOCUS_ACTION_EXTERNAL, HDS_CODE_EDITOR_COLOR_SURFACE_FAINT, HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY, HDS_CODE_BLOCK_WHITE, HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER, HDS_CODE_BLOCK_LINE_HIGHLIGHT, HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT, HDS_CODE_BLOCK_GREEN, HDS_CODE_EDITOR_COLOR_FOREGROUND_CRITICAL } from '../palettes/hds-dark-palette.js';
3
3
 
4
4
  /**
5
- * Copyright (c) HashiCorp, Inc.
5
+ * Copyright IBM Corp. 2021, 2025
6
6
  * SPDX-License-Identifier: MPL-2.0
7
7
  */
8
8
 
@@ -1 +1 @@
1
- {"version":3,"file":"hds-dark-theme.js","sources":["../../../../src/modifiers/hds-code-editor/themes/hds-dark-theme.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport { EditorView } from '@codemirror/view';\nimport {\n HDS_CODE_BLOCK_LINE_HIGHLIGHT,\n HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER,\n HDS_CODE_BLOCK_GREEN,\n HDS_CODE_BLOCK_WHITE,\n HDS_CODE_EDITOR_COLOR_SURFACE_FAINT,\n HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n HDS_CODE_EDITOR_COLOR_SURFACE_INTERACTIVE_ACTIVE,\n HDS_CODE_EDITOR_COLOR_FOREGROUND_CRITICAL,\n HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT,\n HDS_CODE_EDITOR_COLOR_FOCUS_ACTION_INTERNAL,\n HDS_CODE_EDITOR_COLOR_FOCUS_ACTION_EXTERNAL,\n} from '../palettes/hds-dark-palette.ts';\n\nconst CLOSE_BUTTON_SELECTOR = '.cm-panel.cm-panel-lint button[name=\"close\"]';\nconst PANEL_DIAGNOSTIC_ITEM_SELECTOR =\n '.cm-panel.cm-panel-lint ul li.cm-diagnostic';\n\nconst hdsDark = EditorView.theme(\n {\n '&': {\n color: HDS_CODE_BLOCK_WHITE,\n backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n height: '100%',\n },\n '.cm-content': {\n borderLeft: `1px solid var(--token-color-palette-neutral-500)`,\n height: '100%',\n padding: '16px 0',\n },\n '.cm-content ::selection': {\n backgroundColor: HDS_CODE_BLOCK_GREEN,\n color: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n },\n '.cm-gutters': {\n backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n },\n '.cm-gutter:first-of-type .cm-gutterElement': {\n borderLeft: '4px solid transparent',\n },\n '.cm-lineNumbers': {\n color: HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT,\n },\n '.cm-lineNumbers .cm-gutterElement': {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'end',\n padding: '0px 16px',\n },\n '.cm-gutterElement.cm-activeLineGutter': {\n backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n },\n '&:not(.cm-hasSelection).cm-focused .cm-gutterElement.cm-activeLineGutter':\n {\n borderColor: HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER,\n backgroundColor: HDS_CODE_BLOCK_LINE_HIGHLIGHT,\n color: 'var(--token-color-foreground-high-contrast)',\n outline: `1px solid ${HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER}`,\n },\n '.cm-line': {\n padding: '4px 16px',\n },\n '.cm-activeLine': {\n backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n },\n '&:not(.cm-hasSelection).cm-focused .cm-activeLine': {\n backgroundColor: HDS_CODE_BLOCK_LINE_HIGHLIGHT,\n outline: `1px solid ${HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER}`,\n },\n '.cm-matchingBracket': {\n outline: `1px solid ${HDS_CODE_BLOCK_WHITE}`,\n },\n\n // set a minimum height on the editor content when linting is enabled\n '&.cm-lintingEnabled .cm-content': {\n minHeight: '160px',\n },\n\n // replace the underline svg\n '.cm-lintRange-error': {\n backgroundImage: `url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"6\" height=\"3\">%3Cpath%20d%3D%22m0%202.5%20l2%20-1.5%20l1%200%20l2%201.5%20l1%200%22%20stroke%3D%22${encodeURIComponent(HDS_CODE_EDITOR_COLOR_FOREGROUND_CRITICAL)}%22%20fill%3D%22none%22%20stroke-width%3D%22.7%22%2F%3E</svg>')`,\n },\n\n // linting gutter\n '&.cm-lintingEnabled .cm-lineNumbers .cm-gutterElement': {\n paddingLeft: '8px',\n },\n '.cm-gutter-lint': {\n width: '28px',\n },\n '.cm-gutter-lint .cm-gutterElement': {\n padding: '0',\n },\n '.cm-lint-marker-error': {\n width: '24px',\n height: '24px',\n padding: '6px',\n content: `url('data:image/svg+xml,<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M9.56912 0.752289C8.69045 -0.126408 7.26581 -0.126415 6.38713 0.752272L0.730298 6.40911C-0.148388 7.28779 -0.148379 8.71243 0.730316 9.5911L6.38715 15.2478C7.26583 16.1265 8.69044 16.1265 9.56911 15.2478L15.2258 9.59109C16.1045 8.71241 16.1045 7.2878 15.2258 6.40912L9.56912 0.752289ZM5.21967 5.21955C5.51256 4.92665 5.98744 4.92665 6.28033 5.21955L8 6.93922L9.71967 5.21955C10.0126 4.92665 10.4874 4.92665 10.7803 5.21955C11.0732 5.51244 11.0732 5.98731 10.7803 6.28021L9.06066 7.99988L10.7803 9.71955C11.0732 10.0124 11.0732 10.4873 10.7803 10.7802C10.4874 11.0731 10.0126 11.0731 9.71967 10.7802L8 9.06054L6.28033 10.7802C5.98744 11.0731 5.51256 11.0731 5.21967 10.7802C4.92678 10.4873 4.92678 10.0124 5.21967 9.71955L6.93934 7.99988L5.21967 6.28021C4.92678 5.98731 4.92678 5.51244 5.21967 5.21955Z\" fill=\"${encodeURIComponent(HDS_CODE_EDITOR_COLOR_FOREGROUND_CRITICAL)}\"/></svg>');`,\n },\n\n // linter diagnostics panel\n '.cm-panel.cm-panel-lint ul': {\n backgroundColor: 'var(--token-color-palette-neutral-500)',\n maxHeight: '85px',\n },\n [`${PANEL_DIAGNOSTIC_ITEM_SELECTOR}`]: {\n backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n border: '4px solid transparent',\n color: 'var(--token-color-foreground-high-contrast)',\n fontFamily: 'var(--token-typography-body-100-font-family)',\n fontSize: '13px',\n marginBottom: '1px',\n padding: '16px 12px',\n },\n [`${PANEL_DIAGNOSTIC_ITEM_SELECTOR}:last-of-type`]: {\n marginBottom: '0',\n },\n [`${PANEL_DIAGNOSTIC_ITEM_SELECTOR}:hover`]: {\n backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_FAINT,\n },\n '.cm-panel.cm-panel-lint ul:focus li.cm-diagnostic[aria-selected]': {\n background: 'none',\n backgroundColor: 'var(--token-color-palette-neutral-700)',\n border: `4px solid ${HDS_CODE_EDITOR_COLOR_FOCUS_ACTION_EXTERNAL}`,\n boxShadow: `inset 0 0 0 1px ${HDS_CODE_EDITOR_COLOR_FOCUS_ACTION_INTERNAL}`,\n color: 'var(--token-color-foreground-high-contrast)',\n },\n '.cm-panels-bottom .cm-panel.cm-panel-lint': {\n borderTop: `3px solid var(--token-color-palette-neutral-500)`,\n },\n '.cm-diagnostic': {\n borderLeft: 'none',\n },\n '.cm-diagnosticText-inner': {\n alignItems: 'center',\n display: 'flex',\n gap: '16px',\n },\n '.cm-diagnosticText-inner .cm-lint-marker-error': {\n width: '16px',\n height: '16px',\n padding: '0',\n },\n // linter diagnostics panel close button\n [`${CLOSE_BUTTON_SELECTOR}`]: {\n alignItems: 'center',\n borderRadius: 'var(--token-border-radius-small)',\n color: 'var(--token-color-palette-neutral-300)',\n cursor: 'pointer',\n display: 'flex',\n fontFamily: 'var(--token-typography-body-100-font-family)',\n fontSize: '20px',\n height: '20px',\n lineHeight: '20px',\n paddingBottom: '3px',\n justifyContent: 'center',\n right: '22px',\n top: '6px',\n width: '20px',\n },\n [`${CLOSE_BUTTON_SELECTOR}:hover, ${CLOSE_BUTTON_SELECTOR}:active, ${CLOSE_BUTTON_SELECTOR}:focus`]:\n {\n backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_INTERACTIVE_ACTIVE,\n border: '1px solid transparent',\n color: 'var(--token-color-palette-neutral-400)',\n },\n [`${CLOSE_BUTTON_SELECTOR}:focus`]: {\n borderColor: 'var(--token-color-focus-action-internal)',\n outline: `3px solid var(--token-color-focus-action-external)`,\n },\n\n // tooltips\n '.cm-tooltip': {\n backgroundColor: 'var(--token-color-palette-neutral-600)',\n borderRadius: 'var(--token-border-radius-small)',\n color: 'var(--token-color-foreground-high-contrast)',\n fontFamily: 'var(--token-typography-body-100-font-family)',\n fontSize: '13px',\n padding: '8px 12px',\n },\n '.cm-tooltip-above': {\n transform: 'translateX(-4px) translateY(-6px)',\n },\n '.cm-tooltip-below': {\n transform: 'translateX(-4px) translateY(6px)',\n },\n // tooltips arrow\n '.cm-tooltip::before': {\n borderLeft: '8px solid transparent',\n borderRight: '8px solid transparent',\n content: '\"\"',\n left: '16px',\n position: 'absolute',\n transform: 'translateX(-50%)',\n },\n '.cm-tooltip-above::before': {\n borderTop: `8px solid var(--token-color-palette-neutral-600)`,\n bottom: '-8px',\n },\n '.cm-tooltip-below::before': {\n borderBottom: `8px solid var(--token-color-palette-neutral-600)`,\n top: '-8px',\n },\n // only show the marker within the diagnostics panel\n '.cm-tooltip .cm-lint-marker-error': {\n display: 'none',\n },\n },\n { dark: true }\n);\n\nexport default hdsDark;\n"],"names":["CLOSE_BUTTON_SELECTOR","PANEL_DIAGNOSTIC_ITEM_SELECTOR","hdsDark","EditorView","theme","color","HDS_CODE_BLOCK_WHITE","backgroundColor","HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY","height","borderLeft","padding","HDS_CODE_BLOCK_GREEN","HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT","display","alignItems","justifyContent","borderColor","HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER","HDS_CODE_BLOCK_LINE_HIGHLIGHT","outline","minHeight","backgroundImage","encodeURIComponent","HDS_CODE_EDITOR_COLOR_FOREGROUND_CRITICAL","paddingLeft","width","content","maxHeight","border","fontFamily","fontSize","marginBottom","HDS_CODE_EDITOR_COLOR_SURFACE_FAINT","background","HDS_CODE_EDITOR_COLOR_FOCUS_ACTION_EXTERNAL","boxShadow","HDS_CODE_EDITOR_COLOR_FOCUS_ACTION_INTERNAL","borderTop","gap","borderRadius","cursor","lineHeight","paddingBottom","right","top","HDS_CODE_EDITOR_COLOR_SURFACE_INTERACTIVE_ACTIVE","transform","borderRight","left","position","bottom","borderBottom","dark"],"mappings":"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"}
1
+ {"version":3,"file":"hds-dark-theme.js","sources":["../../../../src/modifiers/hds-code-editor/themes/hds-dark-theme.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport { EditorView } from '@codemirror/view';\nimport {\n HDS_CODE_BLOCK_LINE_HIGHLIGHT,\n HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER,\n HDS_CODE_BLOCK_GREEN,\n HDS_CODE_BLOCK_WHITE,\n HDS_CODE_EDITOR_COLOR_SURFACE_FAINT,\n HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n HDS_CODE_EDITOR_COLOR_SURFACE_INTERACTIVE_ACTIVE,\n HDS_CODE_EDITOR_COLOR_FOREGROUND_CRITICAL,\n HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT,\n HDS_CODE_EDITOR_COLOR_FOCUS_ACTION_INTERNAL,\n HDS_CODE_EDITOR_COLOR_FOCUS_ACTION_EXTERNAL,\n} from '../palettes/hds-dark-palette.ts';\n\nconst CLOSE_BUTTON_SELECTOR = '.cm-panel.cm-panel-lint button[name=\"close\"]';\nconst PANEL_DIAGNOSTIC_ITEM_SELECTOR =\n '.cm-panel.cm-panel-lint ul li.cm-diagnostic';\n\nconst hdsDark = EditorView.theme(\n {\n '&': {\n color: HDS_CODE_BLOCK_WHITE,\n backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n height: '100%',\n },\n '.cm-content': {\n borderLeft: `1px solid var(--token-color-palette-neutral-500)`,\n height: '100%',\n padding: '16px 0',\n },\n '.cm-content ::selection': {\n backgroundColor: HDS_CODE_BLOCK_GREEN,\n color: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n },\n '.cm-gutters': {\n backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n },\n '.cm-gutter:first-of-type .cm-gutterElement': {\n borderLeft: '4px solid transparent',\n },\n '.cm-lineNumbers': {\n color: HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT,\n },\n '.cm-lineNumbers .cm-gutterElement': {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'end',\n padding: '0px 16px',\n },\n '.cm-gutterElement.cm-activeLineGutter': {\n backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n },\n '&:not(.cm-hasSelection).cm-focused .cm-gutterElement.cm-activeLineGutter':\n {\n borderColor: HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER,\n backgroundColor: HDS_CODE_BLOCK_LINE_HIGHLIGHT,\n color: 'var(--token-color-foreground-high-contrast)',\n outline: `1px solid ${HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER}`,\n },\n '.cm-line': {\n padding: '4px 16px',\n },\n '.cm-activeLine': {\n backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n },\n '&:not(.cm-hasSelection).cm-focused .cm-activeLine': {\n backgroundColor: HDS_CODE_BLOCK_LINE_HIGHLIGHT,\n outline: `1px solid ${HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER}`,\n },\n '.cm-matchingBracket': {\n outline: `1px solid ${HDS_CODE_BLOCK_WHITE}`,\n },\n\n // set a minimum height on the editor content when linting is enabled\n '&.cm-lintingEnabled .cm-content': {\n minHeight: '160px',\n },\n\n // replace the underline svg\n '.cm-lintRange-error': {\n backgroundImage: `url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"6\" height=\"3\">%3Cpath%20d%3D%22m0%202.5%20l2%20-1.5%20l1%200%20l2%201.5%20l1%200%22%20stroke%3D%22${encodeURIComponent(HDS_CODE_EDITOR_COLOR_FOREGROUND_CRITICAL)}%22%20fill%3D%22none%22%20stroke-width%3D%22.7%22%2F%3E</svg>')`,\n },\n\n // linting gutter\n '&.cm-lintingEnabled .cm-lineNumbers .cm-gutterElement': {\n paddingLeft: '8px',\n },\n '.cm-gutter-lint': {\n width: '28px',\n },\n '.cm-gutter-lint .cm-gutterElement': {\n padding: '0',\n },\n '.cm-lint-marker-error': {\n width: '24px',\n height: '24px',\n padding: '6px',\n content: `url('data:image/svg+xml,<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M9.56912 0.752289C8.69045 -0.126408 7.26581 -0.126415 6.38713 0.752272L0.730298 6.40911C-0.148388 7.28779 -0.148379 8.71243 0.730316 9.5911L6.38715 15.2478C7.26583 16.1265 8.69044 16.1265 9.56911 15.2478L15.2258 9.59109C16.1045 8.71241 16.1045 7.2878 15.2258 6.40912L9.56912 0.752289ZM5.21967 5.21955C5.51256 4.92665 5.98744 4.92665 6.28033 5.21955L8 6.93922L9.71967 5.21955C10.0126 4.92665 10.4874 4.92665 10.7803 5.21955C11.0732 5.51244 11.0732 5.98731 10.7803 6.28021L9.06066 7.99988L10.7803 9.71955C11.0732 10.0124 11.0732 10.4873 10.7803 10.7802C10.4874 11.0731 10.0126 11.0731 9.71967 10.7802L8 9.06054L6.28033 10.7802C5.98744 11.0731 5.51256 11.0731 5.21967 10.7802C4.92678 10.4873 4.92678 10.0124 5.21967 9.71955L6.93934 7.99988L5.21967 6.28021C4.92678 5.98731 4.92678 5.51244 5.21967 5.21955Z\" fill=\"${encodeURIComponent(HDS_CODE_EDITOR_COLOR_FOREGROUND_CRITICAL)}\"/></svg>');`,\n },\n\n // linter diagnostics panel\n '.cm-panel.cm-panel-lint ul': {\n backgroundColor: 'var(--token-color-palette-neutral-500)',\n maxHeight: '85px',\n },\n [`${PANEL_DIAGNOSTIC_ITEM_SELECTOR}`]: {\n backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n border: '4px solid transparent',\n color: 'var(--token-color-foreground-high-contrast)',\n fontFamily: 'var(--token-typography-body-100-font-family)',\n fontSize: '13px',\n marginBottom: '1px',\n padding: '16px 12px',\n },\n [`${PANEL_DIAGNOSTIC_ITEM_SELECTOR}:last-of-type`]: {\n marginBottom: '0',\n },\n [`${PANEL_DIAGNOSTIC_ITEM_SELECTOR}:hover`]: {\n backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_FAINT,\n },\n '.cm-panel.cm-panel-lint ul:focus li.cm-diagnostic[aria-selected]': {\n background: 'none',\n backgroundColor: 'var(--token-color-palette-neutral-700)',\n border: `4px solid ${HDS_CODE_EDITOR_COLOR_FOCUS_ACTION_EXTERNAL}`,\n boxShadow: `inset 0 0 0 1px ${HDS_CODE_EDITOR_COLOR_FOCUS_ACTION_INTERNAL}`,\n color: 'var(--token-color-foreground-high-contrast)',\n },\n '.cm-panels-bottom .cm-panel.cm-panel-lint': {\n borderTop: `3px solid var(--token-color-palette-neutral-500)`,\n },\n '.cm-diagnostic': {\n borderLeft: 'none',\n },\n '.cm-diagnosticText-inner': {\n alignItems: 'center',\n display: 'flex',\n gap: '16px',\n },\n '.cm-diagnosticText-inner .cm-lint-marker-error': {\n width: '16px',\n height: '16px',\n padding: '0',\n },\n // linter diagnostics panel close button\n [`${CLOSE_BUTTON_SELECTOR}`]: {\n alignItems: 'center',\n borderRadius: 'var(--token-border-radius-small)',\n color: 'var(--token-color-palette-neutral-300)',\n cursor: 'pointer',\n display: 'flex',\n fontFamily: 'var(--token-typography-body-100-font-family)',\n fontSize: '20px',\n height: '20px',\n lineHeight: '20px',\n paddingBottom: '3px',\n justifyContent: 'center',\n right: '22px',\n top: '6px',\n width: '20px',\n },\n [`${CLOSE_BUTTON_SELECTOR}:hover, ${CLOSE_BUTTON_SELECTOR}:active, ${CLOSE_BUTTON_SELECTOR}:focus`]:\n {\n backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_INTERACTIVE_ACTIVE,\n border: '1px solid transparent',\n color: 'var(--token-color-palette-neutral-400)',\n },\n [`${CLOSE_BUTTON_SELECTOR}:focus`]: {\n borderColor: 'var(--token-color-focus-action-internal)',\n outline: `3px solid var(--token-color-focus-action-external)`,\n },\n\n // tooltips\n '.cm-tooltip': {\n backgroundColor: 'var(--token-color-palette-neutral-600)',\n borderRadius: 'var(--token-border-radius-small)',\n color: 'var(--token-color-foreground-high-contrast)',\n fontFamily: 'var(--token-typography-body-100-font-family)',\n fontSize: '13px',\n padding: '8px 12px',\n },\n '.cm-tooltip-above': {\n transform: 'translateX(-4px) translateY(-6px)',\n },\n '.cm-tooltip-below': {\n transform: 'translateX(-4px) translateY(6px)',\n },\n // tooltips arrow\n '.cm-tooltip::before': {\n borderLeft: '8px solid transparent',\n borderRight: '8px solid transparent',\n content: '\"\"',\n left: '16px',\n position: 'absolute',\n transform: 'translateX(-50%)',\n },\n '.cm-tooltip-above::before': {\n borderTop: `8px solid var(--token-color-palette-neutral-600)`,\n bottom: '-8px',\n },\n '.cm-tooltip-below::before': {\n borderBottom: `8px solid var(--token-color-palette-neutral-600)`,\n top: '-8px',\n },\n // only show the marker within the diagnostics panel\n '.cm-tooltip .cm-lint-marker-error': {\n display: 'none',\n },\n },\n { dark: true }\n);\n\nexport default hdsDark;\n"],"names":["CLOSE_BUTTON_SELECTOR","PANEL_DIAGNOSTIC_ITEM_SELECTOR","hdsDark","EditorView","theme","color","HDS_CODE_BLOCK_WHITE","backgroundColor","HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY","height","borderLeft","padding","HDS_CODE_BLOCK_GREEN","HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT","display","alignItems","justifyContent","borderColor","HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER","HDS_CODE_BLOCK_LINE_HIGHLIGHT","outline","minHeight","backgroundImage","encodeURIComponent","HDS_CODE_EDITOR_COLOR_FOREGROUND_CRITICAL","paddingLeft","width","content","maxHeight","border","fontFamily","fontSize","marginBottom","HDS_CODE_EDITOR_COLOR_SURFACE_FAINT","background","HDS_CODE_EDITOR_COLOR_FOCUS_ACTION_EXTERNAL","boxShadow","HDS_CODE_EDITOR_COLOR_FOCUS_ACTION_INTERNAL","borderTop","gap","borderRadius","cursor","lineHeight","paddingBottom","right","top","HDS_CODE_EDITOR_COLOR_SURFACE_INTERACTIVE_ACTIVE","transform","borderRight","left","position","bottom","borderBottom","dark"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) HashiCorp, Inc.
2
+ * Copyright IBM Corp. 2021, 2025
3
3
  * SPDX-License-Identifier: MPL-2.0
4
4
  */
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../src/modifiers/hds-code-editor/types.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nexport enum HdsCodeEditorLanguageValues {\n Rego = 'rego',\n Ruby = 'ruby',\n Shell = 'shell',\n Go = 'go',\n Hcl = 'hcl',\n JavaScript = 'javascript',\n Json = 'json',\n Markdown = 'markdown',\n Sentinel = 'sentinel',\n Sql = 'sql',\n Yaml = 'yaml',\n}\n\nexport type HdsCodeEditorLanguages = `${HdsCodeEditorLanguageValues}`;\n"],"names":["HdsCodeEditorLanguageValues"],"mappings":"AAAA;AACA;AACA;AACA;;AAEA,IAAYA,2BAA2B,0BAA3BA,2BAA2B,EAAA;EAA3BA,2BAA2B,CAAA,MAAA,CAAA,GAAA,MAAA;EAA3BA,2BAA2B,CAAA,MAAA,CAAA,GAAA,MAAA;EAA3BA,2BAA2B,CAAA,OAAA,CAAA,GAAA,OAAA;EAA3BA,2BAA2B,CAAA,IAAA,CAAA,GAAA,IAAA;EAA3BA,2BAA2B,CAAA,KAAA,CAAA,GAAA,KAAA;EAA3BA,2BAA2B,CAAA,YAAA,CAAA,GAAA,YAAA;EAA3BA,2BAA2B,CAAA,MAAA,CAAA,GAAA,MAAA;EAA3BA,2BAA2B,CAAA,UAAA,CAAA,GAAA,UAAA;EAA3BA,2BAA2B,CAAA,UAAA,CAAA,GAAA,UAAA;EAA3BA,2BAA2B,CAAA,KAAA,CAAA,GAAA,KAAA;EAA3BA,2BAA2B,CAAA,MAAA,CAAA,GAAA,MAAA;AAAA,EAAA,OAA3BA,2BAA2B;AAAA,CAAA,CAAA,EAAA;;;;"}
1
+ {"version":3,"file":"types.js","sources":["../../../src/modifiers/hds-code-editor/types.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nexport enum HdsCodeEditorLanguageValues {\n Rego = 'rego',\n Ruby = 'ruby',\n Shell = 'shell',\n Go = 'go',\n Hcl = 'hcl',\n JavaScript = 'javascript',\n Json = 'json',\n Markdown = 'markdown',\n Sentinel = 'sentinel',\n Sql = 'sql',\n Yaml = 'yaml',\n}\n\nexport type HdsCodeEditorLanguages = `${HdsCodeEditorLanguageValues}`;\n"],"names":["HdsCodeEditorLanguageValues"],"mappings":"AAAA;AACA;AACA;AACA;;AAEA,IAAYA,2BAA2B,0BAA3BA,2BAA2B,EAAA;EAA3BA,2BAA2B,CAAA,MAAA,CAAA,GAAA,MAAA;EAA3BA,2BAA2B,CAAA,MAAA,CAAA,GAAA,MAAA;EAA3BA,2BAA2B,CAAA,OAAA,CAAA,GAAA,OAAA;EAA3BA,2BAA2B,CAAA,IAAA,CAAA,GAAA,IAAA;EAA3BA,2BAA2B,CAAA,KAAA,CAAA,GAAA,KAAA;EAA3BA,2BAA2B,CAAA,YAAA,CAAA,GAAA,YAAA;EAA3BA,2BAA2B,CAAA,MAAA,CAAA,GAAA,MAAA;EAA3BA,2BAA2B,CAAA,UAAA,CAAA,GAAA,UAAA;EAA3BA,2BAA2B,CAAA,UAAA,CAAA,GAAA,UAAA;EAA3BA,2BAA2B,CAAA,KAAA,CAAA,GAAA,KAAA;EAA3BA,2BAA2B,CAAA,MAAA,CAAA,GAAA,MAAA;AAAA,EAAA,OAA3BA,2BAA2B;AAAA,CAAA,CAAA,EAAA;;;;"}
@@ -243,6 +243,7 @@ class HdsCodeEditorModifier extends Modifier {
243
243
  language,
244
244
  hasLineWrapping,
245
245
  isLintingEnabled,
246
+ customExtensions,
246
247
  onLint
247
248
  }) {
248
249
  const [{
@@ -260,11 +261,8 @@ class HdsCodeEditorModifier extends Modifier {
260
261
  syntaxHighlighting
261
262
  }] = yield Promise.all([import('@codemirror/view'), import('@codemirror/commands'), import('@codemirror/language')]);
262
263
  const languageExtensions = yield this._loadLanguageExtensionsTask.perform({
263
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
264
264
  language,
265
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
266
265
  isLintingEnabled,
267
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
268
266
  onLint
269
267
  });
270
268
  const handleUpdateExtension = EditorView.updateListener.of(update => {
@@ -283,10 +281,11 @@ class HdsCodeEditorModifier extends Modifier {
283
281
  let extensions = [lineWrappingExtension, bracketMatching(), highlightActiveLine(), highlightActiveLineGutter(), highlightSpecialChars(), history(), keymap.of([...defaultKeymap, ...historyKeymap]),
284
282
  // custom extensions
285
283
  handleUpdateExtension,
284
+ // user-provided extensions
285
+ ...(customExtensions ?? []),
286
286
  // hds dark theme
287
287
  hdsDark, syntaxHighlighting(hdsDarkHighlightStyle)];
288
288
  if (extraKeys !== undefined) {
289
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
290
289
  const customKeyMap = Object.entries(extraKeys).map(([key, value]) => ({
291
290
  key: key,
292
291
  run: value
@@ -298,10 +297,8 @@ class HdsCodeEditorModifier extends Modifier {
298
297
  }
299
298
 
300
299
  // add nonce to the editor view if it exists
301
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
302
300
  const nonce = cspNonce ?? getCSPNonceFromMeta();
303
301
  if (nonce !== undefined) {
304
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
305
302
  extensions = [...extensions, EditorView.cspNonce.of(nonce)];
306
303
  }
307
304
 
@@ -321,6 +318,7 @@ class HdsCodeEditorModifier extends Modifier {
321
318
  value,
322
319
  hasLineWrapping,
323
320
  isLintingEnabled,
321
+ customExtensions,
324
322
  onLint
325
323
  }) {
326
324
  try {
@@ -333,6 +331,7 @@ class HdsCodeEditorModifier extends Modifier {
333
331
  language,
334
332
  hasLineWrapping: hasLineWrapping ?? false,
335
333
  isLintingEnabled,
334
+ customExtensions,
336
335
  onLint
337
336
  });
338
337
  const state = EditorState.create({
@@ -386,7 +385,8 @@ class HdsCodeEditorModifier extends Modifier {
386
385
  hasLineWrapping,
387
386
  isLintingEnabled,
388
387
  language,
389
- value
388
+ value,
389
+ customExtensions
390
390
  } = named;
391
391
  this.onInput = onInput;
392
392
  this.onBlur = onBlur;
@@ -399,7 +399,8 @@ class HdsCodeEditorModifier extends Modifier {
399
399
  isLintingEnabled,
400
400
  extraKeys,
401
401
  language,
402
- value
402
+ value,
403
+ customExtensions
403
404
  });
404
405
  if (editor === undefined) {
405
406
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"hds-code-editor.js","sources":["../../src/modifiers/hds-code-editor.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Modifier from 'ember-modifier';\nimport { assert, warn } from '@ember/debug';\nimport { registerDestructor } from '@ember/destroyable';\nimport { task } from 'ember-concurrency';\nimport { macroCondition, isTesting } from '@embroider/macros';\nimport { Compartment } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\nimport { guidFor } from '@ember/object/internals';\nimport { isEmpty } from '@ember/utils';\nimport { service } from '@ember/service';\n\n// hds-dark theme\nimport hdsDarkTheme from './hds-code-editor/themes/hds-dark-theme.ts';\nimport hdsDarkHighlightStyle from './hds-code-editor/highlight-styles/hds-dark-highlight-style.ts';\n\nimport type HdsIntlService from '../services/hds-intl.ts';\nimport type { HdsCodeEditorLanguages } from './hds-code-editor/types.ts';\nimport type { ArgsFor, PositionalArgs, NamedArgs } from 'ember-modifier';\nimport type {\n StreamLanguage as StreamLanguageType,\n StreamParser as StreamParserType,\n} from '@codemirror/language';\nimport type { Extension } from '@codemirror/state';\nimport type {\n EditorView as EditorViewType,\n KeyBinding,\n ViewUpdate,\n} from '@codemirror/view';\nimport type { Diagnostic as DiagnosticType } from '@codemirror/lint';\nimport type Owner from '@ember/owner';\n\ntype HTMLElementWithEditor = HTMLElement & { editor: EditorViewType };\n\ntype HdsCodeEditorBlurHandler = (\n editor: EditorViewType,\n event: FocusEvent\n) => void;\n\ninterface HdsCodeEditorExtraKeys {\n [key: string]: () => void;\n}\n\nexport interface HdsCodeEditorSignature {\n Args: {\n Named: {\n ariaDescribedBy?: string;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n cspNonce?: string;\n extraKeys?: HdsCodeEditorExtraKeys;\n hasLineWrapping?: boolean;\n isLintingEnabled?: boolean;\n language?: HdsCodeEditorLanguages;\n value?: string;\n onInput?: (newValue: string, editor: EditorViewType) => void;\n onBlur?: HdsCodeEditorBlurHandler;\n onLint?: (\n diagnostics: DiagnosticType[],\n newValue: string,\n editor: EditorViewType\n ) => void;\n onSetup?: (editor: EditorViewType) => unknown;\n };\n };\n}\n\nasync function defineStreamLanguage(streamParser: StreamParserType<unknown>) {\n const { StreamLanguage } = await import('@codemirror/language');\n\n return StreamLanguage.define(streamParser);\n}\n\nexport function getCSPNonceFromMeta(): string | undefined {\n const meta = document.querySelector(\n 'meta[http-equiv=\"Content-Security-Policy\"]'\n );\n\n if (meta === null) {\n return undefined;\n }\n\n const content = meta.getAttribute('content');\n\n if (content === null) {\n return undefined;\n }\n\n // searches for either \"style-src\" or \"script-src\" followed by anything until a token like 'nonce-<value>'\n const match = content.match(/(?:style-src|script-src)[^;]*'nonce-([^']+)'/);\n\n return match ? match[1] : undefined;\n}\n\nconst LOADER_HEIGHT = '164px';\n\nconst LANGUAGES: Record<\n HdsCodeEditorLanguages,\n {\n load: () => Promise<Extension | StreamLanguageType<unknown>>;\n loadLinter?: (\n onLint?: HdsCodeEditorSignature['Args']['Named']['onLint']\n ) => Promise<Extension>;\n }\n> = {\n rego: {\n load: async () => {\n const { rego } = await import('./hds-code-editor/languages/rego.ts');\n return defineStreamLanguage(rego);\n },\n },\n ruby: {\n load: async () => {\n const { ruby } = await import('@codemirror/legacy-modes/mode/ruby');\n return defineStreamLanguage(ruby);\n },\n },\n sentinel: {\n load: async () => {\n const { sentinel } = await import(\n './hds-code-editor/languages/sentinel.ts'\n );\n return defineStreamLanguage(sentinel);\n },\n },\n shell: {\n load: async () => {\n const { shell } = await import('@codemirror/legacy-modes/mode/shell');\n return defineStreamLanguage(shell);\n },\n },\n go: {\n load: async () => (await import('@codemirror/lang-go')).go(),\n },\n hcl: {\n load: async () => (await import('codemirror-lang-hcl')).hcl(),\n },\n javascript: {\n load: async () =>\n (await import('@codemirror/lang-javascript')).javascript(),\n },\n json: {\n load: async () => (await import('@codemirror/lang-json')).json(),\n loadLinter: async (onLint) => {\n const linter = await import('./hds-code-editor/linters/json-linter.ts');\n\n return linter.default(onLint);\n },\n },\n markdown: {\n load: async () => (await import('@codemirror/lang-markdown')).markdown(),\n },\n sql: {\n load: async () => (await import('@codemirror/lang-sql')).sql(),\n },\n yaml: {\n load: async () => (await import('@codemirror/lang-yaml')).yaml(),\n },\n} as const;\n\nexport default class HdsCodeEditorModifier extends Modifier<HdsCodeEditorSignature> {\n @service declare hdsIntl: HdsIntlService;\n\n editor!: EditorViewType;\n element!: HTMLElementWithEditor;\n\n onBlur: HdsCodeEditorSignature['Args']['Named']['onBlur'];\n onInput: HdsCodeEditorSignature['Args']['Named']['onInput'];\n\n blurHandler!: (event: FocusEvent) => void;\n intersectionObserver!: IntersectionObserver;\n mutationObserver!: MutationObserver;\n\n lineWrappingCompartment = new Compartment();\n\n constructor(owner: Owner, args: ArgsFor<HdsCodeEditorSignature>) {\n super(owner, args);\n\n registerDestructor(this, () => {\n this.intersectionObserver?.disconnect();\n this.mutationObserver?.disconnect();\n\n if (this.onBlur !== undefined) {\n this.element.removeEventListener('blur', this.blurHandler);\n }\n });\n }\n\n modify(\n element: HTMLElementWithEditor,\n positional: PositionalArgs<HdsCodeEditorSignature>,\n named: NamedArgs<HdsCodeEditorSignature>\n ): void {\n const { hasLineWrapping = false } = named;\n\n // if the editor already exists, update the line wrapping\n if (this.editor) {\n this.editor.dispatch({\n effects: this.lineWrappingCompartment.reconfigure(\n hasLineWrapping ? EditorView.lineWrapping : []\n ),\n });\n }\n // if the editor does not exist, setup the editor\n else {\n // the intersection observer makes loading unreliable in tests\n if (macroCondition(isTesting())) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this._setupTask.perform(element, positional, named);\n } else {\n this.intersectionObserver = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting && this.editor === undefined) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this._setupTask.perform(element, positional, named);\n }\n });\n },\n {\n rootMargin: LOADER_HEIGHT,\n }\n );\n\n this.intersectionObserver.observe(element);\n }\n }\n }\n\n private _setupEditorBlurHandler(\n element: HTMLElementWithEditor,\n onBlur: HdsCodeEditorBlurHandler\n ) {\n const inputElement = element.querySelector('.cm-content');\n\n if (inputElement === null) {\n return;\n }\n\n this.blurHandler = (event: FocusEvent) => onBlur(this.editor, event);\n\n (inputElement as HTMLElement).addEventListener('blur', this.blurHandler);\n }\n\n private _setupEditorAriaLabel(\n editor: EditorViewType,\n {\n ariaLabel,\n ariaLabelledBy,\n }: Pick<\n HdsCodeEditorSignature['Args']['Named'],\n 'ariaLabel' | 'ariaLabelledBy'\n >\n ) {\n assert(\n '`hds-code-editor` modifier - Either `ariaLabel` or `ariaLabelledBy` must be provided',\n ariaLabel !== undefined || ariaLabelledBy !== undefined\n );\n\n if (ariaLabel !== undefined) {\n editor.dom\n .querySelector('[role=\"textbox\"]')\n ?.setAttribute('aria-label', ariaLabel);\n } else if (ariaLabelledBy !== undefined) {\n editor.dom\n .querySelector('[role=\"textbox\"]')\n ?.setAttribute('aria-labelledby', ariaLabelledBy);\n }\n }\n\n private _setupEditorAriaDescribedBy(\n editor: EditorViewType,\n {\n ariaDescribedBy,\n lintingDescriptionElement,\n }: {\n ariaDescribedBy?: string;\n lintingDescriptionElement?: HTMLParagraphElement;\n }\n ) {\n if (\n ariaDescribedBy === undefined &&\n lintingDescriptionElement === undefined\n ) {\n return;\n }\n\n const ariaDescribedByArray = [];\n\n if (ariaDescribedBy !== undefined) {\n ariaDescribedByArray.push(ariaDescribedBy);\n }\n\n if (lintingDescriptionElement !== undefined) {\n ariaDescribedByArray.push(lintingDescriptionElement.id);\n }\n\n editor.dom\n .querySelector('[role=\"textbox\"]')\n ?.setAttribute('aria-describedby', ariaDescribedByArray.join(' '));\n }\n\n private _createLintingDescriptionElement(): HTMLParagraphElement {\n const element = document.createElement('p');\n\n element.id = `lint-panel-instructions-${this.element.id}`;\n element.classList.add('sr-only');\n element.textContent = this.hdsIntl.t(\n 'hds.modifiers.hds-code-editor.lint-panel-description',\n {\n default:\n 'Press `Ctrl-Shift-m` (`Cmd-Shift-m` on macOS) while focus is on the textbox to open the linting panel',\n }\n );\n\n this.element.insertAdjacentElement('beforebegin', element);\n\n return element;\n }\n\n private _setupEditorAriaAttributes(\n editor: EditorViewType,\n {\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n lintingDescriptionElement,\n }: Pick<\n HdsCodeEditorSignature['Args']['Named'],\n 'ariaDescribedBy' | 'ariaLabel' | 'ariaLabelledBy'\n > & { lintingDescriptionElement?: HTMLParagraphElement }\n ) {\n this._setupEditorAriaLabel(editor, { ariaLabel, ariaLabelledBy });\n this._setupEditorAriaDescribedBy(editor, {\n ariaDescribedBy,\n lintingDescriptionElement,\n });\n }\n\n private _loadLanguageExtensionsTask = task(\n { drop: true },\n async ({\n language,\n isLintingEnabled,\n onLint,\n }: {\n language?: HdsCodeEditorLanguages;\n isLintingEnabled?: boolean;\n onLint?: HdsCodeEditorSignature['Args']['Named']['onLint'];\n }) => {\n if (language === undefined) {\n return;\n }\n\n try {\n const validLanguageKeys = Object.keys(LANGUAGES);\n\n assert(\n `\\`hds-code-editor\\` modifier - \\`language\\` must be one of the following: ${validLanguageKeys.join(\n ', '\n )}; received: ${language}`,\n validLanguageKeys.includes(language)\n );\n\n let extensionPromises = [LANGUAGES[language].load()];\n\n if (isLintingEnabled && LANGUAGES[language].loadLinter) {\n extensionPromises = [\n ...extensionPromises,\n LANGUAGES[language].loadLinter(onLint),\n ];\n }\n\n return Promise.all(extensionPromises);\n } catch (error) {\n warn(\n `\\`hds-code-editor\\` modifier - Failed to dynamically import the CodeMirror language module for '${language}'. Error: ${JSON.stringify(\n error\n )}`,\n {\n id: 'hds-code-editor.load-language-task.import-failed',\n }\n );\n }\n }\n );\n\n private _buildExtensionsTask = task(\n { drop: true },\n async ({\n cspNonce,\n extraKeys,\n language,\n hasLineWrapping,\n isLintingEnabled,\n onLint,\n }) => {\n const [\n {\n keymap,\n lineNumbers,\n highlightActiveLineGutter,\n highlightSpecialChars,\n highlightActiveLine,\n },\n { defaultKeymap, history, historyKeymap },\n { bracketMatching, syntaxHighlighting },\n ] = await Promise.all([\n import('@codemirror/view'),\n import('@codemirror/commands'),\n import('@codemirror/language'),\n ]);\n\n const languageExtensions = await this._loadLanguageExtensionsTask.perform(\n {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n language,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n isLintingEnabled,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n onLint,\n }\n );\n\n const handleUpdateExtension = EditorView.updateListener.of(\n (update: ViewUpdate) => {\n // toggle a class if the update has/does not have a selection\n if (update.selectionSet) {\n update.view.dom.classList.toggle(\n 'cm-hasSelection',\n !update.state.selection.main.empty\n );\n }\n\n // call the onInput callback if the document has changed\n if (!update.docChanged || this.onInput === undefined) {\n return;\n }\n this.onInput(update.state.doc.toString(), update.view);\n }\n );\n\n const lineWrappingExtension = this.lineWrappingCompartment.of(\n hasLineWrapping ? EditorView.lineWrapping : []\n );\n\n let extensions = [\n lineWrappingExtension,\n bracketMatching(),\n highlightActiveLine(),\n highlightActiveLineGutter(),\n highlightSpecialChars(),\n history(),\n keymap.of([...defaultKeymap, ...historyKeymap]),\n // custom extensions\n handleUpdateExtension,\n // hds dark theme\n hdsDarkTheme,\n syntaxHighlighting(hdsDarkHighlightStyle),\n ];\n\n if (extraKeys !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n const customKeyMap = Object.entries(extraKeys).map(([key, value]) => ({\n key: key,\n run: value,\n }));\n\n extensions = [keymap.of(customKeyMap as KeyBinding[]), ...extensions];\n }\n\n if (languageExtensions !== undefined) {\n extensions = [...extensions, ...languageExtensions];\n }\n\n // add nonce to the editor view if it exists\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const nonce = cspNonce ?? getCSPNonceFromMeta();\n\n if (nonce !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n extensions = [...extensions, EditorView.cspNonce.of(nonce)];\n }\n\n // ensure we add lineNumber last in the stack to create the right gutter order for linting\n extensions = [...extensions, lineNumbers()];\n\n return extensions;\n }\n );\n\n private _createEditorTask = task(\n { drop: true },\n async (\n element: HTMLElementWithEditor,\n {\n cspNonce,\n language,\n extraKeys,\n value,\n hasLineWrapping,\n isLintingEnabled,\n onLint,\n }: Pick<\n HdsCodeEditorSignature['Args']['Named'],\n | 'cspNonce'\n | 'language'\n | 'extraKeys'\n | 'value'\n | 'hasLineWrapping'\n | 'isLintingEnabled'\n | 'onLint'\n >\n ) => {\n try {\n const { EditorState } = await import('@codemirror/state');\n\n const extensions = await this._buildExtensionsTask.perform({\n cspNonce,\n extraKeys,\n language,\n hasLineWrapping: hasLineWrapping ?? false,\n isLintingEnabled,\n onLint,\n });\n\n const state = EditorState.create({\n doc: value,\n extensions,\n });\n\n const editor = new EditorView({\n state,\n parent: element,\n });\n\n return editor;\n } catch (error) {\n console.error(\n `\\`hds-code-editor\\` modifier - Failed to setup the CodeMirror editor. Error: ${JSON.stringify(error)}`\n );\n }\n }\n );\n\n private _setupEditorMutationObserver() {\n this.mutationObserver = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n mutation.removedNodes.forEach((node) => {\n if (!(node instanceof HTMLElement)) {\n return;\n }\n\n const removedNodeContainsLintPanel =\n node.querySelector('.cm-panel-lint') !== null;\n\n if (removedNodeContainsLintPanel) {\n this.editor.focus();\n }\n });\n });\n });\n\n this.mutationObserver.observe(this.element, {\n childList: true,\n subtree: true,\n });\n }\n\n private _setupTask = task(\n { drop: true },\n async (\n element: HTMLElementWithEditor,\n _positional: PositionalArgs<HdsCodeEditorSignature>,\n named: NamedArgs<HdsCodeEditorSignature>\n ) => {\n const {\n onBlur,\n onInput,\n onLint,\n onSetup,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n cspNonce,\n extraKeys,\n hasLineWrapping,\n isLintingEnabled,\n language,\n value,\n } = named;\n\n this.onInput = onInput;\n this.onBlur = onBlur;\n\n this.element = element;\n this.element.id = isEmpty(this.element.id)\n ? guidFor(this)\n : this.element.id;\n\n const editor = await this._createEditorTask.perform(element, {\n onLint,\n cspNonce,\n hasLineWrapping,\n isLintingEnabled,\n extraKeys,\n language,\n value,\n });\n\n if (editor === undefined) {\n return;\n }\n\n this.editor = editor;\n element.editor = editor;\n\n if (onBlur !== undefined) {\n this._setupEditorBlurHandler(element, onBlur);\n }\n\n let lintingDescriptionElement: HTMLParagraphElement | null = null;\n\n if (\n isLintingEnabled &&\n language !== undefined &&\n LANGUAGES[language]?.loadLinter !== undefined\n ) {\n // insert a new dom element above the editor\n lintingDescriptionElement = this._createLintingDescriptionElement();\n\n this._setupEditorMutationObserver();\n }\n\n this._setupEditorAriaAttributes(editor, {\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n lintingDescriptionElement: lintingDescriptionElement ?? undefined,\n });\n\n onSetup?.(this.editor);\n }\n );\n}\n"],"names":["defineStreamLanguage","streamParser","StreamLanguage","define","getCSPNonceFromMeta","meta","document","querySelector","undefined","content","getAttribute","match","LOADER_HEIGHT","LANGUAGES","rego","load","ruby","sentinel","shell","go","hcl","javascript","json","loadLinter","onLint","linter","default","markdown","sql","yaml","HdsCodeEditorModifier","Modifier","g","prototype","service","i","void 0","editor","element","onBlur","onInput","blurHandler","intersectionObserver","mutationObserver","lineWrappingCompartment","Compartment","constructor","owner","args","registerDestructor","disconnect","removeEventListener","modify","positional","named","hasLineWrapping","dispatch","effects","reconfigure","EditorView","lineWrapping","macroCondition","isTesting","_setupTask","perform","IntersectionObserver","entries","forEach","entry","isIntersecting","rootMargin","observe","_setupEditorBlurHandler","inputElement","event","addEventListener","_setupEditorAriaLabel","ariaLabel","ariaLabelledBy","assert","dom","setAttribute","_setupEditorAriaDescribedBy","ariaDescribedBy","lintingDescriptionElement","ariaDescribedByArray","push","id","join","_createLintingDescriptionElement","createElement","classList","add","textContent","hdsIntl","t","insertAdjacentElement","_setupEditorAriaAttributes","_loadLanguageExtensionsTask","_buildTask","context","generator","language","isLintingEnabled","validLanguageKeys","Object","keys","includes","extensionPromises","Promise","all","error","warn","JSON","stringify","drop","_buildExtensionsTask","cspNonce","extraKeys","keymap","lineNumbers","highlightActiveLineGutter","highlightSpecialChars","highlightActiveLine","defaultKeymap","history","historyKeymap","bracketMatching","syntaxHighlighting","languageExtensions","handleUpdateExtension","updateListener","of","update","selectionSet","view","toggle","state","selection","main","empty","docChanged","doc","toString","lineWrappingExtension","extensions","hdsDarkTheme","hdsDarkHighlightStyle","customKeyMap","map","key","value","run","nonce","_createEditorTask","EditorState","create","parent","console","_setupEditorMutationObserver","MutationObserver","mutations","mutation","removedNodes","node","HTMLElement","removedNodeContainsLintPanel","focus","childList","subtree","_positional","onSetup","isEmpty","guidFor"],"mappings":"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"}
1
+ {"version":3,"file":"hds-code-editor.js","sources":["../../src/modifiers/hds-code-editor.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Modifier from 'ember-modifier';\nimport { assert, warn } from '@ember/debug';\nimport { registerDestructor } from '@ember/destroyable';\nimport { task } from 'ember-concurrency';\nimport { macroCondition, isTesting } from '@embroider/macros';\nimport { Compartment } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\nimport { guidFor } from '@ember/object/internals';\nimport { isEmpty } from '@ember/utils';\nimport { service } from '@ember/service';\n\n// hds-dark theme\nimport hdsDarkTheme from './hds-code-editor/themes/hds-dark-theme.ts';\nimport hdsDarkHighlightStyle from './hds-code-editor/highlight-styles/hds-dark-highlight-style.ts';\n\nimport type HdsIntlService from '../services/hds-intl.ts';\nimport type { HdsCodeEditorLanguages } from './hds-code-editor/types.ts';\nimport type { ArgsFor, PositionalArgs, NamedArgs } from 'ember-modifier';\nimport type {\n StreamLanguage as StreamLanguageType,\n StreamParser as StreamParserType,\n} from '@codemirror/language';\nimport type { Extension } from '@codemirror/state';\nimport type {\n EditorView as EditorViewType,\n KeyBinding,\n ViewUpdate,\n} from '@codemirror/view';\nimport type { Diagnostic as DiagnosticType } from '@codemirror/lint';\nimport type Owner from '@ember/owner';\n\ntype HTMLElementWithEditor = HTMLElement & { editor: EditorViewType };\n\ntype HdsCodeEditorBlurHandler = (\n editor: EditorViewType,\n event: FocusEvent\n) => void;\n\ninterface HdsCodeEditorExtraKeys {\n [key: string]: () => boolean;\n}\n\nexport interface HdsCodeEditorSignature {\n Args: {\n Named: {\n ariaDescribedBy?: string;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n cspNonce?: string;\n extraKeys?: HdsCodeEditorExtraKeys;\n customExtensions?: Extension[];\n hasLineWrapping?: boolean;\n isLintingEnabled?: boolean;\n language?: HdsCodeEditorLanguages;\n value?: string;\n onInput?: (newValue: string, editor: EditorViewType) => void;\n onBlur?: HdsCodeEditorBlurHandler;\n onLint?: (\n diagnostics: DiagnosticType[],\n newValue: string,\n editor: EditorViewType\n ) => void;\n onSetup?: (editor: EditorViewType) => unknown;\n };\n };\n}\n\nasync function defineStreamLanguage(streamParser: StreamParserType<unknown>) {\n const { StreamLanguage } = await import('@codemirror/language');\n\n return StreamLanguage.define(streamParser);\n}\n\nexport function getCSPNonceFromMeta(): string | undefined {\n const meta = document.querySelector(\n 'meta[http-equiv=\"Content-Security-Policy\"]'\n );\n\n if (meta === null) {\n return undefined;\n }\n\n const content = meta.getAttribute('content');\n\n if (content === null) {\n return undefined;\n }\n\n // searches for either \"style-src\" or \"script-src\" followed by anything until a token like 'nonce-<value>'\n const match = content.match(/(?:style-src|script-src)[^;]*'nonce-([^']+)'/);\n\n return match ? match[1] : undefined;\n}\n\nconst LOADER_HEIGHT = '164px';\n\nconst LANGUAGES: Record<\n HdsCodeEditorLanguages,\n {\n load: () => Promise<Extension | StreamLanguageType<unknown>>;\n loadLinter?: (\n onLint?: HdsCodeEditorSignature['Args']['Named']['onLint']\n ) => Promise<Extension>;\n }\n> = {\n rego: {\n load: async () => {\n const { rego } = await import('./hds-code-editor/languages/rego.ts');\n return defineStreamLanguage(rego);\n },\n },\n ruby: {\n load: async () => {\n const { ruby } = await import('@codemirror/legacy-modes/mode/ruby');\n return defineStreamLanguage(ruby);\n },\n },\n sentinel: {\n load: async () => {\n const { sentinel } = await import(\n './hds-code-editor/languages/sentinel.ts'\n );\n return defineStreamLanguage(sentinel);\n },\n },\n shell: {\n load: async () => {\n const { shell } = await import('@codemirror/legacy-modes/mode/shell');\n return defineStreamLanguage(shell);\n },\n },\n go: {\n load: async () => (await import('@codemirror/lang-go')).go(),\n },\n hcl: {\n load: async () => (await import('codemirror-lang-hcl')).hcl(),\n },\n javascript: {\n load: async () =>\n (await import('@codemirror/lang-javascript')).javascript(),\n },\n json: {\n load: async () => (await import('@codemirror/lang-json')).json(),\n loadLinter: async (onLint) => {\n const linter = await import('./hds-code-editor/linters/json-linter.ts');\n\n return linter.default(onLint);\n },\n },\n markdown: {\n load: async () => (await import('@codemirror/lang-markdown')).markdown(),\n },\n sql: {\n load: async () => (await import('@codemirror/lang-sql')).sql(),\n },\n yaml: {\n load: async () => (await import('@codemirror/lang-yaml')).yaml(),\n },\n} as const;\n\nexport default class HdsCodeEditorModifier extends Modifier<HdsCodeEditorSignature> {\n @service declare hdsIntl: HdsIntlService;\n\n editor!: EditorViewType;\n element!: HTMLElementWithEditor;\n\n onBlur: HdsCodeEditorSignature['Args']['Named']['onBlur'];\n onInput: HdsCodeEditorSignature['Args']['Named']['onInput'];\n\n blurHandler!: (event: FocusEvent) => void;\n intersectionObserver!: IntersectionObserver;\n mutationObserver!: MutationObserver;\n\n lineWrappingCompartment = new Compartment();\n\n constructor(owner: Owner, args: ArgsFor<HdsCodeEditorSignature>) {\n super(owner, args);\n\n registerDestructor(this, () => {\n this.intersectionObserver?.disconnect();\n this.mutationObserver?.disconnect();\n\n if (this.onBlur !== undefined) {\n this.element.removeEventListener('blur', this.blurHandler);\n }\n });\n }\n\n modify(\n element: HTMLElementWithEditor,\n positional: PositionalArgs<HdsCodeEditorSignature>,\n named: NamedArgs<HdsCodeEditorSignature>\n ): void {\n const { hasLineWrapping = false } = named;\n\n // if the editor already exists, update the line wrapping\n if (this.editor) {\n this.editor.dispatch({\n effects: this.lineWrappingCompartment.reconfigure(\n hasLineWrapping ? EditorView.lineWrapping : []\n ),\n });\n }\n // if the editor does not exist, setup the editor\n else {\n // the intersection observer makes loading unreliable in tests\n if (macroCondition(isTesting())) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this._setupTask.perform(element, positional, named);\n } else {\n this.intersectionObserver = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting && this.editor === undefined) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this._setupTask.perform(element, positional, named);\n }\n });\n },\n {\n rootMargin: LOADER_HEIGHT,\n }\n );\n\n this.intersectionObserver.observe(element);\n }\n }\n }\n\n private _setupEditorBlurHandler(\n element: HTMLElementWithEditor,\n onBlur: HdsCodeEditorBlurHandler\n ) {\n const inputElement = element.querySelector('.cm-content');\n\n if (inputElement === null) {\n return;\n }\n\n this.blurHandler = (event: FocusEvent) => onBlur(this.editor, event);\n\n (inputElement as HTMLElement).addEventListener('blur', this.blurHandler);\n }\n\n private _setupEditorAriaLabel(\n editor: EditorViewType,\n {\n ariaLabel,\n ariaLabelledBy,\n }: Pick<\n HdsCodeEditorSignature['Args']['Named'],\n 'ariaLabel' | 'ariaLabelledBy'\n >\n ) {\n assert(\n '`hds-code-editor` modifier - Either `ariaLabel` or `ariaLabelledBy` must be provided',\n ariaLabel !== undefined || ariaLabelledBy !== undefined\n );\n\n if (ariaLabel !== undefined) {\n editor.dom\n .querySelector('[role=\"textbox\"]')\n ?.setAttribute('aria-label', ariaLabel);\n } else if (ariaLabelledBy !== undefined) {\n editor.dom\n .querySelector('[role=\"textbox\"]')\n ?.setAttribute('aria-labelledby', ariaLabelledBy);\n }\n }\n\n private _setupEditorAriaDescribedBy(\n editor: EditorViewType,\n {\n ariaDescribedBy,\n lintingDescriptionElement,\n }: {\n ariaDescribedBy?: string;\n lintingDescriptionElement?: HTMLParagraphElement;\n }\n ) {\n if (\n ariaDescribedBy === undefined &&\n lintingDescriptionElement === undefined\n ) {\n return;\n }\n\n const ariaDescribedByArray = [];\n\n if (ariaDescribedBy !== undefined) {\n ariaDescribedByArray.push(ariaDescribedBy);\n }\n\n if (lintingDescriptionElement !== undefined) {\n ariaDescribedByArray.push(lintingDescriptionElement.id);\n }\n\n editor.dom\n .querySelector('[role=\"textbox\"]')\n ?.setAttribute('aria-describedby', ariaDescribedByArray.join(' '));\n }\n\n private _createLintingDescriptionElement(): HTMLParagraphElement {\n const element = document.createElement('p');\n\n element.id = `lint-panel-instructions-${this.element.id}`;\n element.classList.add('sr-only');\n element.textContent = this.hdsIntl.t(\n 'hds.modifiers.hds-code-editor.lint-panel-description',\n {\n default:\n 'Press `Ctrl-Shift-m` (`Cmd-Shift-m` on macOS) while focus is on the textbox to open the linting panel',\n }\n );\n\n this.element.insertAdjacentElement('beforebegin', element);\n\n return element;\n }\n\n private _setupEditorAriaAttributes(\n editor: EditorViewType,\n {\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n lintingDescriptionElement,\n }: Pick<\n HdsCodeEditorSignature['Args']['Named'],\n 'ariaDescribedBy' | 'ariaLabel' | 'ariaLabelledBy'\n > & { lintingDescriptionElement?: HTMLParagraphElement }\n ) {\n this._setupEditorAriaLabel(editor, { ariaLabel, ariaLabelledBy });\n this._setupEditorAriaDescribedBy(editor, {\n ariaDescribedBy,\n lintingDescriptionElement,\n });\n }\n\n private _loadLanguageExtensionsTask = task(\n { drop: true },\n async ({\n language,\n isLintingEnabled,\n onLint,\n }: {\n language?: HdsCodeEditorLanguages;\n isLintingEnabled?: boolean;\n onLint?: HdsCodeEditorSignature['Args']['Named']['onLint'];\n }) => {\n if (language === undefined) {\n return;\n }\n\n try {\n const validLanguageKeys = Object.keys(LANGUAGES);\n\n assert(\n `\\`hds-code-editor\\` modifier - \\`language\\` must be one of the following: ${validLanguageKeys.join(\n ', '\n )}; received: ${language}`,\n validLanguageKeys.includes(language)\n );\n\n let extensionPromises = [LANGUAGES[language].load()];\n\n if (isLintingEnabled && LANGUAGES[language].loadLinter) {\n extensionPromises = [\n ...extensionPromises,\n LANGUAGES[language].loadLinter(onLint),\n ];\n }\n\n return Promise.all(extensionPromises);\n } catch (error) {\n warn(\n `\\`hds-code-editor\\` modifier - Failed to dynamically import the CodeMirror language module for '${language}'. Error: ${JSON.stringify(\n error\n )}`,\n {\n id: 'hds-code-editor.load-language-task.import-failed',\n }\n );\n }\n }\n );\n\n private _buildExtensionsTask = task(\n { drop: true },\n async ({\n cspNonce,\n extraKeys,\n language,\n hasLineWrapping,\n isLintingEnabled,\n customExtensions,\n onLint,\n }: Pick<\n HdsCodeEditorSignature['Args']['Named'],\n | 'cspNonce'\n | 'extraKeys'\n | 'language'\n | 'hasLineWrapping'\n | 'isLintingEnabled'\n | 'customExtensions'\n | 'onLint'\n >) => {\n const [\n {\n keymap,\n lineNumbers,\n highlightActiveLineGutter,\n highlightSpecialChars,\n highlightActiveLine,\n },\n { defaultKeymap, history, historyKeymap },\n { bracketMatching, syntaxHighlighting },\n ] = await Promise.all([\n import('@codemirror/view'),\n import('@codemirror/commands'),\n import('@codemirror/language'),\n ]);\n\n const languageExtensions = await this._loadLanguageExtensionsTask.perform(\n {\n language,\n isLintingEnabled,\n onLint,\n }\n );\n\n const handleUpdateExtension = EditorView.updateListener.of(\n (update: ViewUpdate) => {\n // toggle a class if the update has/does not have a selection\n if (update.selectionSet) {\n update.view.dom.classList.toggle(\n 'cm-hasSelection',\n !update.state.selection.main.empty\n );\n }\n\n // call the onInput callback if the document has changed\n if (!update.docChanged || this.onInput === undefined) {\n return;\n }\n this.onInput(update.state.doc.toString(), update.view);\n }\n );\n\n const lineWrappingExtension = this.lineWrappingCompartment.of(\n hasLineWrapping ? EditorView.lineWrapping : []\n );\n\n let extensions: Extension[] = [\n lineWrappingExtension,\n bracketMatching(),\n highlightActiveLine(),\n highlightActiveLineGutter(),\n highlightSpecialChars(),\n history(),\n keymap.of([...defaultKeymap, ...historyKeymap]),\n // custom extensions\n handleUpdateExtension,\n // user-provided extensions\n ...(customExtensions ?? []),\n // hds dark theme\n hdsDarkTheme,\n syntaxHighlighting(hdsDarkHighlightStyle),\n ];\n\n if (extraKeys !== undefined) {\n const customKeyMap = Object.entries(extraKeys).map(([key, value]) => ({\n key: key,\n run: value,\n }));\n\n extensions = [keymap.of(customKeyMap as KeyBinding[]), ...extensions];\n }\n\n if (languageExtensions !== undefined) {\n extensions = [...extensions, ...languageExtensions];\n }\n\n // add nonce to the editor view if it exists\n const nonce = cspNonce ?? getCSPNonceFromMeta();\n\n if (nonce !== undefined) {\n extensions = [...extensions, EditorView.cspNonce.of(nonce)];\n }\n\n // ensure we add lineNumber last in the stack to create the right gutter order for linting\n extensions = [...extensions, lineNumbers()];\n\n return extensions;\n }\n );\n\n private _createEditorTask = task(\n { drop: true },\n async (\n element: HTMLElementWithEditor,\n {\n cspNonce,\n language,\n extraKeys,\n value,\n hasLineWrapping,\n isLintingEnabled,\n customExtensions,\n onLint,\n }: Pick<\n HdsCodeEditorSignature['Args']['Named'],\n | 'cspNonce'\n | 'language'\n | 'extraKeys'\n | 'value'\n | 'hasLineWrapping'\n | 'isLintingEnabled'\n | 'customExtensions'\n | 'onLint'\n >\n ) => {\n try {\n const { EditorState } = await import('@codemirror/state');\n\n const extensions = await this._buildExtensionsTask.perform({\n cspNonce,\n extraKeys,\n language,\n hasLineWrapping: hasLineWrapping ?? false,\n isLintingEnabled,\n customExtensions,\n onLint,\n });\n\n const state = EditorState.create({\n doc: value,\n extensions,\n });\n\n const editor = new EditorView({\n state,\n parent: element,\n });\n\n return editor;\n } catch (error) {\n console.error(\n `\\`hds-code-editor\\` modifier - Failed to setup the CodeMirror editor. Error: ${JSON.stringify(error)}`\n );\n }\n }\n );\n\n private _setupEditorMutationObserver() {\n this.mutationObserver = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n mutation.removedNodes.forEach((node) => {\n if (!(node instanceof HTMLElement)) {\n return;\n }\n\n const removedNodeContainsLintPanel =\n node.querySelector('.cm-panel-lint') !== null;\n\n if (removedNodeContainsLintPanel) {\n this.editor.focus();\n }\n });\n });\n });\n\n this.mutationObserver.observe(this.element, {\n childList: true,\n subtree: true,\n });\n }\n\n private _setupTask = task(\n { drop: true },\n async (\n element: HTMLElementWithEditor,\n _positional: PositionalArgs<HdsCodeEditorSignature>,\n named: NamedArgs<HdsCodeEditorSignature>\n ) => {\n const {\n onBlur,\n onInput,\n onLint,\n onSetup,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n cspNonce,\n extraKeys,\n hasLineWrapping,\n isLintingEnabled,\n language,\n value,\n customExtensions,\n } = named;\n\n this.onInput = onInput;\n this.onBlur = onBlur;\n\n this.element = element;\n this.element.id = isEmpty(this.element.id)\n ? guidFor(this)\n : this.element.id;\n\n const editor = await this._createEditorTask.perform(element, {\n onLint,\n cspNonce,\n hasLineWrapping,\n isLintingEnabled,\n extraKeys,\n language,\n value,\n customExtensions,\n });\n\n if (editor === undefined) {\n return;\n }\n\n this.editor = editor;\n element.editor = editor;\n\n if (onBlur !== undefined) {\n this._setupEditorBlurHandler(element, onBlur);\n }\n\n let lintingDescriptionElement: HTMLParagraphElement | null = null;\n\n if (\n isLintingEnabled &&\n language !== undefined &&\n LANGUAGES[language]?.loadLinter !== undefined\n ) {\n // insert a new dom element above the editor\n lintingDescriptionElement = this._createLintingDescriptionElement();\n\n this._setupEditorMutationObserver();\n }\n\n this._setupEditorAriaAttributes(editor, {\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n lintingDescriptionElement: lintingDescriptionElement ?? undefined,\n });\n\n onSetup?.(this.editor);\n }\n );\n}\n"],"names":["defineStreamLanguage","streamParser","StreamLanguage","define","getCSPNonceFromMeta","meta","document","querySelector","undefined","content","getAttribute","match","LOADER_HEIGHT","LANGUAGES","rego","load","ruby","sentinel","shell","go","hcl","javascript","json","loadLinter","onLint","linter","default","markdown","sql","yaml","HdsCodeEditorModifier","Modifier","g","prototype","service","i","void 0","editor","element","onBlur","onInput","blurHandler","intersectionObserver","mutationObserver","lineWrappingCompartment","Compartment","constructor","owner","args","registerDestructor","disconnect","removeEventListener","modify","positional","named","hasLineWrapping","dispatch","effects","reconfigure","EditorView","lineWrapping","macroCondition","isTesting","_setupTask","perform","IntersectionObserver","entries","forEach","entry","isIntersecting","rootMargin","observe","_setupEditorBlurHandler","inputElement","event","addEventListener","_setupEditorAriaLabel","ariaLabel","ariaLabelledBy","assert","dom","setAttribute","_setupEditorAriaDescribedBy","ariaDescribedBy","lintingDescriptionElement","ariaDescribedByArray","push","id","join","_createLintingDescriptionElement","createElement","classList","add","textContent","hdsIntl","t","insertAdjacentElement","_setupEditorAriaAttributes","_loadLanguageExtensionsTask","_buildTask","context","generator","language","isLintingEnabled","validLanguageKeys","Object","keys","includes","extensionPromises","Promise","all","error","warn","JSON","stringify","drop","_buildExtensionsTask","cspNonce","extraKeys","customExtensions","keymap","lineNumbers","highlightActiveLineGutter","highlightSpecialChars","highlightActiveLine","defaultKeymap","history","historyKeymap","bracketMatching","syntaxHighlighting","languageExtensions","handleUpdateExtension","updateListener","of","update","selectionSet","view","toggle","state","selection","main","empty","docChanged","doc","toString","lineWrappingExtension","extensions","hdsDarkTheme","hdsDarkHighlightStyle","customKeyMap","map","key","value","run","nonce","_createEditorTask","EditorState","create","parent","console","_setupEditorMutationObserver","MutationObserver","mutations","mutation","removedNodes","node","HTMLElement","removedNodeContainsLintPanel","focus","childList","subtree","_positional","onSetup","isEmpty","guidFor"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { modifier } from 'ember-modifier';
2
2
 
3
3
  /**
4
- * Copyright (c) HashiCorp, Inc.
4
+ * Copyright IBM Corp. 2021, 2025
5
5
  * SPDX-License-Identifier: MPL-2.0
6
6
  */
7
7
 
@@ -1 +1 @@
1
- {"version":3,"file":"hds-register-event.js","sources":["../../src/modifiers/hds-register-event.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport { modifier } from 'ember-modifier';\nexport interface HdsRegisterEventSignature {\n Element: HTMLElement;\n Args: {\n Positional: [keyof ElementEventMap, EventListener];\n Named: { useCapture?: boolean };\n };\n}\n\n// Notice: we use a function-based modifier here instead of a class-based one\n// because it's quite simple in its logic, and doesn't require injecting services\n// see: https://github.com/ember-modifier/ember-modifier#function-based-modifiers\n\n// this modifier is a \"replacement\" of the standard `{{on 'event' myFunction}}`\n// it's needed because the {{on}} modifier can't be applied conditionally, apparently\n// see: https://github.com/emberjs/ember.js/issues/19869#issuecomment-1909118910\n// see: https://github.com/emberjs/ember.js/pull/20629\n// see also: https://github.com/emberjs/ember.js/blob/main/packages/%40ember/-internals/glimmer/lib/modifiers/on.ts#L30\nexport default modifier<HdsRegisterEventSignature>(\n (element, positional, named = {}) => {\n // the \"target\" element the listeners are added to\n // notice: this is the element the Ember modifier is attached to\n const _targetElement = element;\n // the event name and handler to apply to the element\n // notice: it's expressed as \"positional\" argument (array) for the modifier\n const [_event, _eventHandler] = positional;\n // the options for the `addEventListener()` method\n // see: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener\n // notice: it's expressed as \"named\" argument (object) for the modifier\n const { useCapture = false } = named;\n\n _targetElement.addEventListener(_event, _eventHandler, useCapture);\n\n // this (teardown) function is run when the element is removed from the DOM\n return (): void => {\n _targetElement.removeEventListener(_event, _eventHandler, useCapture);\n };\n }\n);\n"],"names":["modifier","element","positional","named","_targetElement","_event","_eventHandler","useCapture","addEventListener","removeEventListener"],"mappings":";;AAAA;AACA;AACA;AACA;;AAWA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAeA,QAAQ,CACrB,CAACC,OAAO,EAAEC,UAAU,EAAEC,KAAK,GAAG,EAAE,KAAK;AACnC;AACA;EACA,MAAMC,cAAc,GAAGH,OAAO;AAC9B;AACA;AACA,EAAA,MAAM,CAACI,MAAM,EAAEC,aAAa,CAAC,GAAGJ,UAAU;AAC1C;AACA;AACA;EACA,MAAM;AAAEK,IAAAA,UAAU,GAAG;AAAM,GAAC,GAAGJ,KAAK;EAEpCC,cAAc,CAACI,gBAAgB,CAACH,MAAM,EAAEC,aAAa,EAAEC,UAAU,CAAC;;AAElE;AACA,EAAA,OAAO,MAAY;IACjBH,cAAc,CAACK,mBAAmB,CAACJ,MAAM,EAAEC,aAAa,EAAEC,UAAU,CAAC;EACvE,CAAC;AACH,CACF,CAAC;;;;"}
1
+ {"version":3,"file":"hds-register-event.js","sources":["../../src/modifiers/hds-register-event.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport { modifier } from 'ember-modifier';\nexport interface HdsRegisterEventSignature {\n Element: HTMLElement;\n Args: {\n Positional: [keyof ElementEventMap, EventListener];\n Named: { useCapture?: boolean };\n };\n}\n\n// Notice: we use a function-based modifier here instead of a class-based one\n// because it's quite simple in its logic, and doesn't require injecting services\n// see: https://github.com/ember-modifier/ember-modifier#function-based-modifiers\n\n// this modifier is a \"replacement\" of the standard `{{on 'event' myFunction}}`\n// it's needed because the {{on}} modifier can't be applied conditionally, apparently\n// see: https://github.com/emberjs/ember.js/issues/19869#issuecomment-1909118910\n// see: https://github.com/emberjs/ember.js/pull/20629\n// see also: https://github.com/emberjs/ember.js/blob/main/packages/%40ember/-internals/glimmer/lib/modifiers/on.ts#L30\nexport default modifier<HdsRegisterEventSignature>(\n (element, positional, named = {}) => {\n // the \"target\" element the listeners are added to\n // notice: this is the element the Ember modifier is attached to\n const _targetElement = element;\n // the event name and handler to apply to the element\n // notice: it's expressed as \"positional\" argument (array) for the modifier\n const [_event, _eventHandler] = positional;\n // the options for the `addEventListener()` method\n // see: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener\n // notice: it's expressed as \"named\" argument (object) for the modifier\n const { useCapture = false } = named;\n\n _targetElement.addEventListener(_event, _eventHandler, useCapture);\n\n // this (teardown) function is run when the element is removed from the DOM\n return (): void => {\n _targetElement.removeEventListener(_event, _eventHandler, useCapture);\n };\n }\n);\n"],"names":["modifier","element","positional","named","_targetElement","_event","_eventHandler","useCapture","addEventListener","removeEventListener"],"mappings":";;AAAA;AACA;AACA;AACA;;AAWA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oBAAeA,QAAQ,CACrB,CAACC,OAAO,EAAEC,UAAU,EAAEC,KAAK,GAAG,EAAE,KAAK;AACnC;AACA;EACA,MAAMC,cAAc,GAAGH,OAAO;AAC9B;AACA;AACA,EAAA,MAAM,CAACI,MAAM,EAAEC,aAAa,CAAC,GAAGJ,UAAU;AAC1C;AACA;AACA;EACA,MAAM;AAAEK,IAAAA,UAAU,GAAG;AAAM,GAAC,GAAGJ,KAAK;EAEpCC,cAAc,CAACI,gBAAgB,CAACH,MAAM,EAAEC,aAAa,EAAEC,UAAU,CAAC;;AAElE;AACA,EAAA,OAAO,MAAY;IACjBH,cAAc,CAACK,mBAAmB,CAACJ,MAAM,EAAEC,aAAa,EAAEC,UAAU,CAAC;EACvE,CAAC;AACH,CACF,CAAC;;;;"}
@@ -5,7 +5,7 @@ import { guidFor } from '@ember/object/internals';
5
5
  import tippy, { followCursor } from 'tippy.js';
6
6
 
7
7
  /**
8
- * Copyright (c) HashiCorp, Inc.
8
+ * Copyright IBM Corp. 2021, 2025
9
9
  * SPDX-License-Identifier: MPL-2.0
10
10
  */
11
11
 
@@ -1 +1 @@
1
- {"version":3,"file":"hds-tooltip.js","sources":["../../src/modifiers/hds-tooltip.ts"],"sourcesContent":["/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\n// Note: the majority of this code is a porting of the existing tooltip implementation in Cloud UI\n// (which was initially implemented in Structure)\n\nimport Modifier from 'ember-modifier';\nimport type { ArgsFor } from 'ember-modifier';\n\nimport { assert } from '@ember/debug';\nimport { registerDestructor } from '@ember/destroyable';\nimport { guidFor } from '@ember/object/internals';\n\nimport tippy, { followCursor } from 'tippy.js';\nimport type {\n HideAll as TippyHideAll,\n Instance as TippyInstance,\n Props as TippyProps,\n} from 'tippy.js';\n\nimport type Owner from '@ember/owner';\n\nexport interface HdsTooltipModifierSignature {\n Args: {\n Positional: [string];\n Named: {\n options?: Partial<TippyProps>;\n };\n };\n Element: HTMLElement;\n}\n\nfunction cleanup(instance: HdsTooltipModifier): void {\n const { _interval, _needsTabIndex, _tooltip, _containerElement } = instance;\n if (_needsTabIndex) {\n _tooltip?.reference?.removeAttribute('tabindex');\n }\n if (_containerElement) {\n _containerElement.remove();\n }\n clearInterval(_interval);\n _tooltip?.destroy();\n}\n\n/**\n *\n * `Tooltip` implements a modifier that uses Tippy.js to display a tooltip.\n *\n * Sample usage:\n * ```\n * <div {{hds-tooltip 'Text' options=(hash )}}>Hover me!</div>\n * ```\n *\n * @see https://atomiks.github.io/tippyjs\n * @class TooltipModifier\n *\n */\nexport default class HdsTooltipModifier extends Modifier<HdsTooltipModifierSignature> {\n private _didSetup = false;\n private _containerId: string = 'container-' + guidFor(this);\n _interval: number | undefined = undefined;\n _needsTabIndex = false;\n _tooltip: TippyInstance | undefined = undefined;\n _containerElement?: HTMLElement;\n\n constructor(owner: Owner, args: ArgsFor<HdsTooltipModifierSignature>) {\n super(owner, args);\n registerDestructor(this, cleanup);\n }\n\n hideOnEsc = {\n name: 'hideOnEsc',\n defaultValue: true,\n fn({ hide }: { hide: TippyHideAll }) {\n function onKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n hide();\n }\n }\n\n return {\n onShow() {\n document.addEventListener('keydown', onKeyDown);\n },\n onHide() {\n document.removeEventListener('keydown', onKeyDown);\n },\n };\n },\n };\n\n modify(\n element: HdsTooltipModifierSignature['Element'],\n positional: HdsTooltipModifierSignature['Args']['Positional'],\n named: HdsTooltipModifierSignature['Args']['Named']\n ): void {\n assert('Tooltip must have an element', element);\n\n if (!this._didSetup) {\n this.#setup(element, positional, named);\n this._didSetup = true;\n }\n\n this.#update(element, positional, named);\n }\n\n #setup(\n element: HdsTooltipModifierSignature['Element'],\n positional: HdsTooltipModifierSignature['Args']['Positional'],\n named: HdsTooltipModifierSignature['Args']['Named']\n ): void {\n this.#createPopoverContainer(element);\n const tooltipProps = this.#getTooltipProps(element, positional, named);\n this._tooltip = tippy(element, tooltipProps);\n }\n\n #update(\n element: HdsTooltipModifierSignature['Element'],\n positional: HdsTooltipModifierSignature['Args']['Positional'],\n named: HdsTooltipModifierSignature['Args']['Named']\n ): void {\n const tooltipProps = this.#getTooltipProps(element, positional, named);\n this._tooltip?.setProps(tooltipProps);\n }\n\n #createPopoverContainer(\n element: HdsTooltipModifierSignature['Element']\n ): void {\n const containerElement = document.createElement('div');\n containerElement.setAttribute('id', this._containerId);\n containerElement.classList.add('hds-tooltip-container');\n containerElement.style.setProperty('position', 'absolute');\n containerElement.style.setProperty('width', '100%');\n element.setAttribute('aria-controls', this._containerId);\n element.setAttribute('aria-describedby', this._containerId);\n element.after(containerElement);\n this._containerElement = containerElement;\n }\n\n #getTooltipProps(\n element: HdsTooltipModifierSignature['Element'],\n positional: HdsTooltipModifierSignature['Args']['Positional'],\n named: HdsTooltipModifierSignature['Args']['Named']\n ): Partial<TippyProps> {\n const { options } = named;\n let [content] = positional;\n\n let $anchor: HTMLElement | null = element; // Ensure $anchor can be null\n\n if (typeof options?.triggerTarget === 'string') {\n const $el = $anchor;\n if (options.triggerTarget === 'parentNode') {\n if ($anchor.parentNode instanceof HTMLElement) {\n // Type guard\n $anchor = $anchor.parentNode;\n }\n } else {\n const queryResult: HTMLElement | null = $anchor.querySelector(\n options.triggerTarget\n );\n if (queryResult) {\n $anchor = queryResult;\n }\n }\n if ($anchor instanceof HTMLElement) {\n // Ensure $anchor is an HTMLElement before cloning\n const clonedElement = $anchor.cloneNode(true) as HTMLElement; // Explicitly cast cloned node to HTMLElement\n content = clonedElement.outerHTML; // Now safely access outerHTML\n }\n $el?.remove(); // Use optional chaining in case $el is null\n options.triggerTarget = null;\n }\n\n // The {{hds-tooltip}} will just use the HTML content.\n if (typeof content === 'undefined' && $anchor instanceof HTMLElement) {\n // Ensure $anchor is an HTMLElement before accessing innerHTML\n content = $anchor.innerHTML;\n $anchor.innerHTML = '';\n }\n\n if (options?.trigger === 'manual') {\n // If we are manually triggering, a out delay means only show for the\n // amount of time specified by the delay.\n const delay = options.delay || [];\n\n if (Array.isArray(delay) && delay.length) {\n if (typeof delay[1] !== 'undefined') {\n options.onShown = (tooltip) => {\n clearInterval(this._interval);\n this._interval = setTimeout(() => {\n tooltip.hide();\n }, delay[1] ?? 0);\n };\n }\n }\n }\n\n const $trigger = $anchor;\n\n if (!$trigger.hasAttribute('tabindex')) {\n this._needsTabIndex = true;\n $trigger.setAttribute('tabindex', '0');\n }\n\n /* Typescript does not like the previous approach of adding an undefined value\n ** to the array and then filtering it out.\n */\n const plugins =\n options?.followCursor !== undefined\n ? [this.hideOnEsc, followCursor]\n : [this.hideOnEsc];\n\n return {\n theme: 'hds',\n triggerTarget: $trigger,\n arrow: `\n <svg class=\"hds-tooltip-pointer\" width=\"16\" height=\"7\" viewBox=\"0 0 16 7\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M0 7H16L9.11989 0.444571C8.49776 -0.148191 7.50224 -0.148191 6.88011 0.444572L0 7Z\" />\n </svg>`,\n // keeps tooltip itself open on hover:\n interactive: true,\n appendTo: this._containerElement,\n // fix accessibility features that get messed up with setting interactive: true\n aria: {\n expanded: false,\n },\n content: () => content,\n plugins,\n ...options,\n };\n }\n}\n"],"names":["cleanup","instance","_interval","_needsTabIndex","_tooltip","_containerElement","reference","removeAttribute","remove","clearInterval","destroy","HdsTooltipModifier","Modifier","_didSetup","_containerId","guidFor","undefined","constructor","owner","args","registerDestructor","hideOnEsc","name","defaultValue","fn","hide","onKeyDown","event","key","onShow","document","addEventListener","onHide","removeEventListener","modify","element","positional","named","assert","#setup","tooltipProps","tippy","#update","setProps","#createPopoverContainer","containerElement","createElement","setAttribute","classList","add","style","setProperty","after","#getTooltipProps","options","content","$anchor","triggerTarget","$el","parentNode","HTMLElement","queryResult","querySelector","clonedElement","cloneNode","outerHTML","innerHTML","trigger","delay","Array","isArray","length","onShown","tooltip","setTimeout","$trigger","hasAttribute","plugins","followCursor","theme","arrow","interactive","appendTo","aria","expanded"],"mappings":"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"}
1
+ {"version":3,"file":"hds-tooltip.js","sources":["../../src/modifiers/hds-tooltip.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\n// Note: the majority of this code is a porting of the existing tooltip implementation in Cloud UI\n// (which was initially implemented in Structure)\n\nimport Modifier from 'ember-modifier';\nimport type { ArgsFor } from 'ember-modifier';\n\nimport { assert } from '@ember/debug';\nimport { registerDestructor } from '@ember/destroyable';\nimport { guidFor } from '@ember/object/internals';\n\nimport tippy, { followCursor } from 'tippy.js';\nimport type {\n HideAll as TippyHideAll,\n Instance as TippyInstance,\n Props as TippyProps,\n} from 'tippy.js';\n\nimport type Owner from '@ember/owner';\n\nexport interface HdsTooltipModifierSignature {\n Args: {\n Positional: [string];\n Named: {\n options?: Partial<TippyProps>;\n };\n };\n Element: HTMLElement;\n}\n\nfunction cleanup(instance: HdsTooltipModifier): void {\n const { _interval, _needsTabIndex, _tooltip, _containerElement } = instance;\n if (_needsTabIndex) {\n _tooltip?.reference?.removeAttribute('tabindex');\n }\n if (_containerElement) {\n _containerElement.remove();\n }\n clearInterval(_interval);\n _tooltip?.destroy();\n}\n\n/**\n *\n * `Tooltip` implements a modifier that uses Tippy.js to display a tooltip.\n *\n * Sample usage:\n * ```\n * <div {{hds-tooltip 'Text' options=(hash )}}>Hover me!</div>\n * ```\n *\n * @see https://atomiks.github.io/tippyjs\n * @class TooltipModifier\n *\n */\nexport default class HdsTooltipModifier extends Modifier<HdsTooltipModifierSignature> {\n private _didSetup = false;\n private _containerId: string = 'container-' + guidFor(this);\n _interval: number | undefined = undefined;\n _needsTabIndex = false;\n _tooltip: TippyInstance | undefined = undefined;\n _containerElement?: HTMLElement;\n\n constructor(owner: Owner, args: ArgsFor<HdsTooltipModifierSignature>) {\n super(owner, args);\n registerDestructor(this, cleanup);\n }\n\n hideOnEsc = {\n name: 'hideOnEsc',\n defaultValue: true,\n fn({ hide }: { hide: TippyHideAll }) {\n function onKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n hide();\n }\n }\n\n return {\n onShow() {\n document.addEventListener('keydown', onKeyDown);\n },\n onHide() {\n document.removeEventListener('keydown', onKeyDown);\n },\n };\n },\n };\n\n modify(\n element: HdsTooltipModifierSignature['Element'],\n positional: HdsTooltipModifierSignature['Args']['Positional'],\n named: HdsTooltipModifierSignature['Args']['Named']\n ): void {\n assert('Tooltip must have an element', element);\n\n if (!this._didSetup) {\n this.#setup(element, positional, named);\n this._didSetup = true;\n }\n\n this.#update(element, positional, named);\n }\n\n #setup(\n element: HdsTooltipModifierSignature['Element'],\n positional: HdsTooltipModifierSignature['Args']['Positional'],\n named: HdsTooltipModifierSignature['Args']['Named']\n ): void {\n this.#createPopoverContainer(element);\n const tooltipProps = this.#getTooltipProps(element, positional, named);\n this._tooltip = tippy(element, tooltipProps);\n }\n\n #update(\n element: HdsTooltipModifierSignature['Element'],\n positional: HdsTooltipModifierSignature['Args']['Positional'],\n named: HdsTooltipModifierSignature['Args']['Named']\n ): void {\n const tooltipProps = this.#getTooltipProps(element, positional, named);\n this._tooltip?.setProps(tooltipProps);\n }\n\n #createPopoverContainer(\n element: HdsTooltipModifierSignature['Element']\n ): void {\n const containerElement = document.createElement('div');\n containerElement.setAttribute('id', this._containerId);\n containerElement.classList.add('hds-tooltip-container');\n containerElement.style.setProperty('position', 'absolute');\n containerElement.style.setProperty('width', '100%');\n element.setAttribute('aria-controls', this._containerId);\n element.setAttribute('aria-describedby', this._containerId);\n element.after(containerElement);\n this._containerElement = containerElement;\n }\n\n #getTooltipProps(\n element: HdsTooltipModifierSignature['Element'],\n positional: HdsTooltipModifierSignature['Args']['Positional'],\n named: HdsTooltipModifierSignature['Args']['Named']\n ): Partial<TippyProps> {\n const { options } = named;\n let [content] = positional;\n\n let $anchor: HTMLElement | null = element; // Ensure $anchor can be null\n\n if (typeof options?.triggerTarget === 'string') {\n const $el = $anchor;\n if (options.triggerTarget === 'parentNode') {\n if ($anchor.parentNode instanceof HTMLElement) {\n // Type guard\n $anchor = $anchor.parentNode;\n }\n } else {\n const queryResult: HTMLElement | null = $anchor.querySelector(\n options.triggerTarget\n );\n if (queryResult) {\n $anchor = queryResult;\n }\n }\n if ($anchor instanceof HTMLElement) {\n // Ensure $anchor is an HTMLElement before cloning\n const clonedElement = $anchor.cloneNode(true) as HTMLElement; // Explicitly cast cloned node to HTMLElement\n content = clonedElement.outerHTML; // Now safely access outerHTML\n }\n $el?.remove(); // Use optional chaining in case $el is null\n options.triggerTarget = null;\n }\n\n // The {{hds-tooltip}} will just use the HTML content.\n if (typeof content === 'undefined' && $anchor instanceof HTMLElement) {\n // Ensure $anchor is an HTMLElement before accessing innerHTML\n content = $anchor.innerHTML;\n $anchor.innerHTML = '';\n }\n\n if (options?.trigger === 'manual') {\n // If we are manually triggering, a out delay means only show for the\n // amount of time specified by the delay.\n const delay = options.delay || [];\n\n if (Array.isArray(delay) && delay.length) {\n if (typeof delay[1] !== 'undefined') {\n options.onShown = (tooltip) => {\n clearInterval(this._interval);\n this._interval = setTimeout(() => {\n tooltip.hide();\n }, delay[1] ?? 0);\n };\n }\n }\n }\n\n const $trigger = $anchor;\n\n if (!$trigger.hasAttribute('tabindex')) {\n this._needsTabIndex = true;\n $trigger.setAttribute('tabindex', '0');\n }\n\n /* Typescript does not like the previous approach of adding an undefined value\n ** to the array and then filtering it out.\n */\n const plugins =\n options?.followCursor !== undefined\n ? [this.hideOnEsc, followCursor]\n : [this.hideOnEsc];\n\n return {\n theme: 'hds',\n triggerTarget: $trigger,\n arrow: `\n <svg class=\"hds-tooltip-pointer\" width=\"16\" height=\"7\" viewBox=\"0 0 16 7\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M0 7H16L9.11989 0.444571C8.49776 -0.148191 7.50224 -0.148191 6.88011 0.444572L0 7Z\" />\n </svg>`,\n // keeps tooltip itself open on hover:\n interactive: true,\n appendTo: this._containerElement,\n // fix accessibility features that get messed up with setting interactive: true\n aria: {\n expanded: false,\n },\n content: () => content,\n plugins,\n ...options,\n };\n }\n}\n"],"names":["cleanup","instance","_interval","_needsTabIndex","_tooltip","_containerElement","reference","removeAttribute","remove","clearInterval","destroy","HdsTooltipModifier","Modifier","_didSetup","_containerId","guidFor","undefined","constructor","owner","args","registerDestructor","hideOnEsc","name","defaultValue","fn","hide","onKeyDown","event","key","onShow","document","addEventListener","onHide","removeEventListener","modify","element","positional","named","assert","#setup","tooltipProps","tippy","#update","setProps","#createPopoverContainer","containerElement","createElement","setAttribute","classList","add","style","setProperty","after","#getTooltipProps","options","content","$anchor","triggerTarget","$el","parentNode","HTMLElement","queryResult","querySelector","clonedElement","cloneNode","outerHTML","innerHTML","trigger","delay","Array","isArray","length","onShown","tooltip","setTimeout","$trigger","hasAttribute","plugins","followCursor","theme","arrow","interactive","appendTo","aria","expanded"],"mappings":"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"}