@hashicorp/design-system-components 4.14.0 → 4.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (690) hide show
  1. package/declarations/components/hds/accordion/item/index.d.ts +3 -3
  2. package/declarations/components/hds/accordion/item/index.d.ts.map +1 -1
  3. package/declarations/components/hds/advanced-table/expandable-tr-group.d.ts +44 -0
  4. package/declarations/components/hds/advanced-table/expandable-tr-group.d.ts.map +1 -0
  5. package/declarations/components/hds/advanced-table/helpers.d.ts +11 -0
  6. package/declarations/components/hds/advanced-table/helpers.d.ts.map +1 -0
  7. package/declarations/components/hds/advanced-table/index.d.ts +84 -0
  8. package/declarations/components/hds/advanced-table/index.d.ts.map +1 -0
  9. package/declarations/components/hds/advanced-table/td.d.ts +36 -0
  10. package/declarations/components/hds/advanced-table/td.d.ts.map +1 -0
  11. package/declarations/components/hds/advanced-table/th-button-expand.d.ts +22 -0
  12. package/declarations/components/hds/advanced-table/th-button-expand.d.ts.map +1 -0
  13. package/declarations/components/hds/advanced-table/th-button-sort.d.ts +23 -0
  14. package/declarations/components/hds/advanced-table/th-button-sort.d.ts.map +1 -0
  15. package/declarations/components/hds/advanced-table/th-button-tooltip.d.ts +18 -0
  16. package/declarations/components/hds/advanced-table/th-button-tooltip.d.ts.map +1 -0
  17. package/declarations/components/hds/advanced-table/th-selectable.d.ts +36 -0
  18. package/declarations/components/hds/advanced-table/th-selectable.d.ts.map +1 -0
  19. package/declarations/components/hds/advanced-table/th-sort.d.ts +40 -0
  20. package/declarations/components/hds/advanced-table/th-sort.d.ts.map +1 -0
  21. package/declarations/components/hds/advanced-table/th.d.ts +49 -0
  22. package/declarations/components/hds/advanced-table/th.d.ts.map +1 -0
  23. package/declarations/components/hds/advanced-table/tr.d.ts +44 -0
  24. package/declarations/components/hds/advanced-table/tr.d.ts.map +1 -0
  25. package/declarations/components/hds/advanced-table/types.d.ts +85 -0
  26. package/declarations/components/hds/advanced-table/types.d.ts.map +1 -0
  27. package/declarations/components/hds/alert/description.d.ts +0 -1
  28. package/declarations/components/hds/alert/description.d.ts.map +1 -1
  29. package/declarations/components/hds/alert/index.d.ts +2 -2
  30. package/declarations/components/hds/alert/index.d.ts.map +1 -1
  31. package/declarations/components/hds/app-footer/item.d.ts +0 -1
  32. package/declarations/components/hds/app-footer/item.d.ts.map +1 -1
  33. package/declarations/components/hds/app-footer/link.d.ts +0 -1
  34. package/declarations/components/hds/app-footer/link.d.ts.map +1 -1
  35. package/declarations/components/hds/app-footer/status-link.d.ts +1 -1
  36. package/declarations/components/hds/app-footer/status-link.d.ts.map +1 -1
  37. package/declarations/components/hds/app-frame/parts/footer.d.ts +0 -1
  38. package/declarations/components/hds/app-frame/parts/footer.d.ts.map +1 -1
  39. package/declarations/components/hds/app-frame/parts/header.d.ts +0 -1
  40. package/declarations/components/hds/app-frame/parts/header.d.ts.map +1 -1
  41. package/declarations/components/hds/app-frame/parts/main.d.ts +0 -1
  42. package/declarations/components/hds/app-frame/parts/main.d.ts.map +1 -1
  43. package/declarations/components/hds/app-frame/parts/modals.d.ts +0 -1
  44. package/declarations/components/hds/app-frame/parts/modals.d.ts.map +1 -1
  45. package/declarations/components/hds/app-frame/parts/sidebar.d.ts +0 -1
  46. package/declarations/components/hds/app-frame/parts/sidebar.d.ts.map +1 -1
  47. package/declarations/components/hds/app-header/index.d.ts +7 -7
  48. package/declarations/components/hds/app-header/index.d.ts.map +1 -1
  49. package/declarations/components/hds/app-side-nav/index.d.ts +8 -8
  50. package/declarations/components/hds/app-side-nav/index.d.ts.map +1 -1
  51. package/declarations/components/hds/app-side-nav/list/back-link.d.ts +0 -1
  52. package/declarations/components/hds/app-side-nav/list/back-link.d.ts.map +1 -1
  53. package/declarations/components/hds/app-side-nav/list/index.d.ts +1 -1
  54. package/declarations/components/hds/app-side-nav/list/index.d.ts.map +1 -1
  55. package/declarations/components/hds/app-side-nav/list/item.d.ts +0 -1
  56. package/declarations/components/hds/app-side-nav/list/item.d.ts.map +1 -1
  57. package/declarations/components/hds/app-side-nav/list/link.d.ts +0 -1
  58. package/declarations/components/hds/app-side-nav/list/link.d.ts.map +1 -1
  59. package/declarations/components/hds/app-side-nav/list/title.d.ts +1 -1
  60. package/declarations/components/hds/app-side-nav/list/title.d.ts.map +1 -1
  61. package/declarations/components/hds/app-side-nav/portal/index.d.ts +0 -1
  62. package/declarations/components/hds/app-side-nav/portal/index.d.ts.map +1 -1
  63. package/declarations/components/hds/app-side-nav/portal/target.d.ts +3 -3
  64. package/declarations/components/hds/app-side-nav/portal/target.d.ts.map +1 -1
  65. package/declarations/components/hds/app-side-nav/toggle-button.d.ts +0 -1
  66. package/declarations/components/hds/app-side-nav/toggle-button.d.ts.map +1 -1
  67. package/declarations/components/hds/application-state/body.d.ts +0 -1
  68. package/declarations/components/hds/application-state/body.d.ts.map +1 -1
  69. package/declarations/components/hds/application-state/footer.d.ts +0 -1
  70. package/declarations/components/hds/application-state/footer.d.ts.map +1 -1
  71. package/declarations/components/hds/application-state/media.d.ts +0 -1
  72. package/declarations/components/hds/application-state/media.d.ts.map +1 -1
  73. package/declarations/components/hds/button-set/index.d.ts +0 -1
  74. package/declarations/components/hds/button-set/index.d.ts.map +1 -1
  75. package/declarations/components/hds/code-block/copy-button.d.ts +0 -1
  76. package/declarations/components/hds/code-block/copy-button.d.ts.map +1 -1
  77. package/declarations/components/hds/code-block/description.d.ts +0 -1
  78. package/declarations/components/hds/code-block/description.d.ts.map +1 -1
  79. package/declarations/components/hds/code-block/index.d.ts +3 -4
  80. package/declarations/components/hds/code-block/index.d.ts.map +1 -1
  81. package/declarations/components/hds/code-editor/description.d.ts +22 -0
  82. package/declarations/components/hds/code-editor/description.d.ts.map +1 -0
  83. package/declarations/components/hds/code-editor/full-screen-button.d.ts +18 -0
  84. package/declarations/components/hds/code-editor/full-screen-button.d.ts.map +1 -0
  85. package/declarations/components/hds/code-editor/generic.d.ts +13 -0
  86. package/declarations/components/hds/code-editor/generic.d.ts.map +1 -0
  87. package/declarations/components/hds/code-editor/index.d.ts +50 -0
  88. package/declarations/components/hds/code-editor/index.d.ts.map +1 -0
  89. package/declarations/components/hds/code-editor/title.d.ts +24 -0
  90. package/declarations/components/hds/code-editor/title.d.ts.map +1 -0
  91. package/declarations/components/hds/copy/button/index.d.ts +2 -2
  92. package/declarations/components/hds/copy/button/index.d.ts.map +1 -1
  93. package/declarations/components/hds/copy/snippet/index.d.ts +2 -2
  94. package/declarations/components/hds/copy/snippet/index.d.ts.map +1 -1
  95. package/declarations/components/hds/dialog-primitive/body.d.ts +0 -1
  96. package/declarations/components/hds/dialog-primitive/body.d.ts.map +1 -1
  97. package/declarations/components/hds/dialog-primitive/description.d.ts +0 -1
  98. package/declarations/components/hds/dialog-primitive/description.d.ts.map +1 -1
  99. package/declarations/components/hds/dialog-primitive/overlay.d.ts +0 -1
  100. package/declarations/components/hds/dialog-primitive/overlay.d.ts.map +1 -1
  101. package/declarations/components/hds/dialog-primitive/wrapper.d.ts +0 -1
  102. package/declarations/components/hds/dialog-primitive/wrapper.d.ts.map +1 -1
  103. package/declarations/components/hds/disclosure-primitive/index.d.ts +2 -2
  104. package/declarations/components/hds/disclosure-primitive/index.d.ts.map +1 -1
  105. package/declarations/components/hds/dropdown/footer.d.ts +0 -1
  106. package/declarations/components/hds/dropdown/footer.d.ts.map +1 -1
  107. package/declarations/components/hds/dropdown/header.d.ts +0 -1
  108. package/declarations/components/hds/dropdown/header.d.ts.map +1 -1
  109. package/declarations/components/hds/dropdown/list-item/generic.d.ts +0 -1
  110. package/declarations/components/hds/dropdown/list-item/generic.d.ts.map +1 -1
  111. package/declarations/components/hds/dropdown/list-item/separator.d.ts +0 -1
  112. package/declarations/components/hds/dropdown/list-item/separator.d.ts.map +1 -1
  113. package/declarations/components/hds/dropdown/toggle/button.d.ts +2 -2
  114. package/declarations/components/hds/dropdown/toggle/button.d.ts.map +1 -1
  115. package/declarations/components/hds/dropdown/toggle/chevron.d.ts +0 -1
  116. package/declarations/components/hds/dropdown/toggle/chevron.d.ts.map +1 -1
  117. package/declarations/components/hds/dropdown/toggle/icon.d.ts +1 -1
  118. package/declarations/components/hds/dropdown/toggle/icon.d.ts.map +1 -1
  119. package/declarations/components/hds/flyout/index.d.ts +3 -3
  120. package/declarations/components/hds/flyout/index.d.ts.map +1 -1
  121. package/declarations/components/hds/form/checkbox/base.d.ts +0 -1
  122. package/declarations/components/hds/form/checkbox/base.d.ts.map +1 -1
  123. package/declarations/components/hds/form/checkbox/field.d.ts +0 -1
  124. package/declarations/components/hds/form/checkbox/field.d.ts.map +1 -1
  125. package/declarations/components/hds/form/checkbox/group.d.ts +0 -1
  126. package/declarations/components/hds/form/checkbox/group.d.ts.map +1 -1
  127. package/declarations/components/hds/form/error/message.d.ts +0 -1
  128. package/declarations/components/hds/form/error/message.d.ts.map +1 -1
  129. package/declarations/components/hds/form/file-input/base.d.ts +0 -1
  130. package/declarations/components/hds/form/file-input/base.d.ts.map +1 -1
  131. package/declarations/components/hds/form/file-input/field.d.ts +0 -1
  132. package/declarations/components/hds/form/file-input/field.d.ts.map +1 -1
  133. package/declarations/components/hds/form/masked-input/field.d.ts +0 -1
  134. package/declarations/components/hds/form/masked-input/field.d.ts.map +1 -1
  135. package/declarations/components/hds/form/radio/base.d.ts +0 -1
  136. package/declarations/components/hds/form/radio/base.d.ts.map +1 -1
  137. package/declarations/components/hds/form/radio/field.d.ts +0 -1
  138. package/declarations/components/hds/form/radio/field.d.ts.map +1 -1
  139. package/declarations/components/hds/form/radio/group.d.ts +0 -1
  140. package/declarations/components/hds/form/radio/group.d.ts.map +1 -1
  141. package/declarations/components/hds/form/radio-card/description.d.ts +0 -1
  142. package/declarations/components/hds/form/radio-card/description.d.ts.map +1 -1
  143. package/declarations/components/hds/form/radio-card/group.d.ts +0 -1
  144. package/declarations/components/hds/form/radio-card/group.d.ts.map +1 -1
  145. package/declarations/components/hds/form/radio-card/label.d.ts +0 -1
  146. package/declarations/components/hds/form/radio-card/label.d.ts.map +1 -1
  147. package/declarations/components/hds/form/select/field.d.ts +0 -1
  148. package/declarations/components/hds/form/select/field.d.ts.map +1 -1
  149. package/declarations/components/hds/form/super-select/after-options.d.ts +0 -1
  150. package/declarations/components/hds/form/super-select/after-options.d.ts.map +1 -1
  151. package/declarations/components/hds/form/super-select/multiple/base.d.ts +3 -3
  152. package/declarations/components/hds/form/super-select/multiple/base.d.ts.map +1 -1
  153. package/declarations/components/hds/form/super-select/option-group.d.ts +2 -1
  154. package/declarations/components/hds/form/super-select/option-group.d.ts.map +1 -1
  155. package/declarations/components/hds/form/super-select/placeholder.d.ts +0 -1
  156. package/declarations/components/hds/form/super-select/placeholder.d.ts.map +1 -1
  157. package/declarations/components/hds/form/text-input/field.d.ts +1 -1
  158. package/declarations/components/hds/form/text-input/field.d.ts.map +1 -1
  159. package/declarations/components/hds/form/textarea/field.d.ts +0 -1
  160. package/declarations/components/hds/form/textarea/field.d.ts.map +1 -1
  161. package/declarations/components/hds/form/toggle/base.d.ts +0 -1
  162. package/declarations/components/hds/form/toggle/base.d.ts.map +1 -1
  163. package/declarations/components/hds/form/toggle/field.d.ts +0 -1
  164. package/declarations/components/hds/form/toggle/field.d.ts.map +1 -1
  165. package/declarations/components/hds/form/toggle/group.d.ts +0 -1
  166. package/declarations/components/hds/form/toggle/group.d.ts.map +1 -1
  167. package/declarations/components/hds/form/visibility-toggle/index.d.ts +0 -1
  168. package/declarations/components/hds/form/visibility-toggle/index.d.ts.map +1 -1
  169. package/declarations/components/hds/icon/index.d.ts +2 -2
  170. package/declarations/components/hds/icon/index.d.ts.map +1 -1
  171. package/declarations/components/hds/modal/index.d.ts +4 -4
  172. package/declarations/components/hds/modal/index.d.ts.map +1 -1
  173. package/declarations/components/hds/page-header/actions.d.ts +0 -1
  174. package/declarations/components/hds/page-header/actions.d.ts.map +1 -1
  175. package/declarations/components/hds/page-header/badges.d.ts +0 -1
  176. package/declarations/components/hds/page-header/badges.d.ts.map +1 -1
  177. package/declarations/components/hds/page-header/description.d.ts +0 -1
  178. package/declarations/components/hds/page-header/description.d.ts.map +1 -1
  179. package/declarations/components/hds/page-header/index.d.ts +0 -1
  180. package/declarations/components/hds/page-header/index.d.ts.map +1 -1
  181. package/declarations/components/hds/page-header/subtitle.d.ts +0 -1
  182. package/declarations/components/hds/page-header/subtitle.d.ts.map +1 -1
  183. package/declarations/components/hds/page-header/title.d.ts +0 -1
  184. package/declarations/components/hds/page-header/title.d.ts.map +1 -1
  185. package/declarations/components/hds/pagination/compact/index.d.ts +2 -2
  186. package/declarations/components/hds/pagination/compact/index.d.ts.map +1 -1
  187. package/declarations/components/hds/pagination/nav/ellipsis.d.ts +0 -1
  188. package/declarations/components/hds/pagination/nav/ellipsis.d.ts.map +1 -1
  189. package/declarations/components/hds/pagination/numbered/index.d.ts +3 -3
  190. package/declarations/components/hds/pagination/numbered/index.d.ts.map +1 -1
  191. package/declarations/components/hds/pagination/size-selector/index.d.ts +1 -1
  192. package/declarations/components/hds/pagination/size-selector/index.d.ts.map +1 -1
  193. package/declarations/components/hds/popover-primitive/index.d.ts +8 -8
  194. package/declarations/components/hds/popover-primitive/index.d.ts.map +1 -1
  195. package/declarations/components/hds/reveal/index.d.ts +2 -2
  196. package/declarations/components/hds/reveal/index.d.ts.map +1 -1
  197. package/declarations/components/hds/rich-tooltip/index.d.ts +3 -3
  198. package/declarations/components/hds/rich-tooltip/index.d.ts.map +1 -1
  199. package/declarations/components/hds/rich-tooltip/toggle.d.ts.map +1 -1
  200. package/declarations/components/hds/segmented-group/index.d.ts +0 -1
  201. package/declarations/components/hds/segmented-group/index.d.ts.map +1 -1
  202. package/declarations/components/hds/side-nav/base.d.ts +0 -1
  203. package/declarations/components/hds/side-nav/base.d.ts.map +1 -1
  204. package/declarations/components/hds/side-nav/header/index.d.ts +0 -1
  205. package/declarations/components/hds/side-nav/header/index.d.ts.map +1 -1
  206. package/declarations/components/hds/side-nav/list/back-link.d.ts +0 -1
  207. package/declarations/components/hds/side-nav/list/back-link.d.ts.map +1 -1
  208. package/declarations/components/hds/side-nav/list/item.d.ts +0 -1
  209. package/declarations/components/hds/side-nav/list/item.d.ts.map +1 -1
  210. package/declarations/components/hds/side-nav/list/link.d.ts +0 -1
  211. package/declarations/components/hds/side-nav/list/link.d.ts.map +1 -1
  212. package/declarations/components/hds/side-nav/portal/index.d.ts +0 -1
  213. package/declarations/components/hds/side-nav/portal/index.d.ts.map +1 -1
  214. package/declarations/components/hds/side-nav/toggle-button.d.ts +0 -1
  215. package/declarations/components/hds/side-nav/toggle-button.d.ts.map +1 -1
  216. package/declarations/components/hds/stepper/task/indicator.d.ts +1 -1
  217. package/declarations/components/hds/stepper/task/indicator.d.ts.map +1 -1
  218. package/declarations/components/hds/table/index.d.ts +5 -4
  219. package/declarations/components/hds/table/index.d.ts.map +1 -1
  220. package/declarations/components/hds/table/th-button-sort.d.ts +2 -2
  221. package/declarations/components/hds/table/th-button-sort.d.ts.map +1 -1
  222. package/declarations/components/hds/table/th-button-tooltip.d.ts +1 -1
  223. package/declarations/components/hds/table/th-button-tooltip.d.ts.map +1 -1
  224. package/declarations/components/hds/table/th-selectable.d.ts +3 -3
  225. package/declarations/components/hds/table/th-selectable.d.ts.map +1 -1
  226. package/declarations/components/hds/table/th-sort.d.ts +2 -2
  227. package/declarations/components/hds/table/th-sort.d.ts.map +1 -1
  228. package/declarations/components/hds/table/th.d.ts +2 -2
  229. package/declarations/components/hds/table/th.d.ts.map +1 -1
  230. package/declarations/components/hds/tabs/index.d.ts +8 -8
  231. package/declarations/components/hds/tabs/index.d.ts.map +1 -1
  232. package/declarations/components/hds/tabs/panel.d.ts +3 -2
  233. package/declarations/components/hds/tabs/panel.d.ts.map +1 -1
  234. package/declarations/components/hds/tabs/tab.d.ts +9 -2
  235. package/declarations/components/hds/tabs/tab.d.ts.map +1 -1
  236. package/declarations/components/hds/time/index.d.ts +35 -0
  237. package/declarations/components/hds/time/index.d.ts.map +1 -0
  238. package/declarations/components/hds/time/range.d.ts +35 -0
  239. package/declarations/components/hds/time/range.d.ts.map +1 -0
  240. package/declarations/components/hds/time/single.d.ts +18 -0
  241. package/declarations/components/hds/time/single.d.ts.map +1 -0
  242. package/declarations/components/hds/toast/index.d.ts +0 -1
  243. package/declarations/components/hds/toast/index.d.ts.map +1 -1
  244. package/declarations/components/hds/yield/index.d.ts +0 -1
  245. package/declarations/components/hds/yield/index.d.ts.map +1 -1
  246. package/declarations/components.d.ts +19 -0
  247. package/declarations/components.d.ts.map +1 -1
  248. package/declarations/helpers/hds-format-date.d.ts +18 -0
  249. package/declarations/helpers/hds-format-date.d.ts.map +1 -0
  250. package/declarations/helpers/hds-format-relative.d.ts +11 -0
  251. package/declarations/helpers/hds-format-relative.d.ts.map +1 -0
  252. package/declarations/modifiers/hds-anchored-position.d.ts +1 -1
  253. package/declarations/modifiers/hds-anchored-position.d.ts.map +1 -1
  254. package/declarations/modifiers/hds-clipboard.d.ts +4 -4
  255. package/declarations/modifiers/hds-clipboard.d.ts.map +1 -1
  256. package/declarations/modifiers/hds-code-editor/highlight-styles/hds-dark-highlight-style.d.ts +8 -0
  257. package/declarations/modifiers/hds-code-editor/highlight-styles/hds-dark-highlight-style.d.ts.map +1 -0
  258. package/declarations/modifiers/hds-code-editor/languages/sentinel.d.ts +44 -0
  259. package/declarations/modifiers/hds-code-editor/languages/sentinel.d.ts.map +1 -0
  260. package/declarations/modifiers/hds-code-editor/palettes/hds-dark-palette.d.ts +21 -0
  261. package/declarations/modifiers/hds-code-editor/palettes/hds-dark-palette.d.ts.map +1 -0
  262. package/declarations/modifiers/hds-code-editor/themes/hds-dark-theme.d.ts +7 -0
  263. package/declarations/modifiers/hds-code-editor/themes/hds-dark-theme.d.ts.map +1 -0
  264. package/declarations/modifiers/hds-code-editor/types.d.ts +16 -0
  265. package/declarations/modifiers/hds-code-editor/types.d.ts.map +1 -0
  266. package/declarations/modifiers/hds-code-editor.d.ts +43 -0
  267. package/declarations/modifiers/hds-code-editor.d.ts.map +1 -0
  268. package/declarations/modifiers/hds-register-event.d.ts +1 -1
  269. package/declarations/modifiers/hds-register-event.d.ts.map +1 -1
  270. package/declarations/modifiers/hds-tooltip.d.ts +4 -4
  271. package/declarations/modifiers/hds-tooltip.d.ts.map +1 -1
  272. package/declarations/services/hds-time-types.d.ts +31 -0
  273. package/declarations/services/hds-time-types.d.ts.map +1 -0
  274. package/declarations/services/hds-time.d.ts +80 -0
  275. package/declarations/services/hds-time.d.ts.map +1 -0
  276. package/declarations/services.d.ts +5 -0
  277. package/declarations/services.d.ts.map +1 -0
  278. package/declarations/template-registry.d.ts +60 -0
  279. package/declarations/template-registry.d.ts.map +1 -1
  280. package/dist/_app_/components/hds/advanced-table/expandable-tr-group.js +1 -0
  281. package/dist/_app_/components/hds/advanced-table/helpers.js +1 -0
  282. package/dist/_app_/components/hds/advanced-table/index.js +1 -0
  283. package/dist/_app_/components/hds/advanced-table/td.js +1 -0
  284. package/dist/_app_/components/hds/advanced-table/th-button-expand.js +1 -0
  285. package/dist/_app_/components/hds/advanced-table/th-button-sort.js +1 -0
  286. package/dist/_app_/components/hds/advanced-table/th-button-tooltip.js +1 -0
  287. package/dist/_app_/components/hds/advanced-table/th-selectable.js +1 -0
  288. package/dist/_app_/components/hds/advanced-table/th-sort.js +1 -0
  289. package/dist/_app_/components/hds/advanced-table/th.js +1 -0
  290. package/dist/_app_/components/hds/advanced-table/tr.js +1 -0
  291. package/dist/_app_/components/hds/code-editor/description.js +1 -0
  292. package/dist/_app_/components/hds/code-editor/full-screen-button.js +1 -0
  293. package/dist/_app_/components/hds/code-editor/generic.js +1 -0
  294. package/dist/_app_/components/hds/code-editor/index.js +1 -0
  295. package/dist/_app_/components/hds/code-editor/title.js +1 -0
  296. package/dist/_app_/components/hds/time/index.js +1 -0
  297. package/dist/_app_/components/hds/time/range.js +1 -0
  298. package/dist/_app_/components/hds/time/single.js +1 -0
  299. package/dist/_app_/helpers/hds-format-date.js +1 -0
  300. package/dist/_app_/helpers/hds-format-relative.js +1 -0
  301. package/dist/_app_/modifiers/hds-code-editor/highlight-styles/hds-dark-highlight-style.js +1 -0
  302. package/dist/_app_/modifiers/hds-code-editor/languages/sentinel.js +1 -0
  303. package/dist/_app_/modifiers/hds-code-editor/palettes/hds-dark-palette.js +1 -0
  304. package/dist/_app_/modifiers/hds-code-editor/themes/hds-dark-theme.js +1 -0
  305. package/dist/_app_/modifiers/hds-code-editor/types.js +1 -0
  306. package/dist/_app_/modifiers/hds-code-editor.js +1 -0
  307. package/dist/_app_/services/hds-time.js +1 -0
  308. package/dist/{_rollupPluginBabelHelpers-KIi_qCIU.js → _rollupPluginBabelHelpers-C_TsMG3M.js} +15 -9
  309. package/dist/_rollupPluginBabelHelpers-C_TsMG3M.js.map +1 -0
  310. package/dist/components/hds/accordion/index.js.map +1 -1
  311. package/dist/components/hds/accordion/item/button.js +2 -2
  312. package/dist/components/hds/accordion/item/button.js.map +1 -1
  313. package/dist/components/hds/accordion/item/index.js +6 -6
  314. package/dist/components/hds/accordion/item/index.js.map +1 -1
  315. package/dist/components/hds/accordion/types.js.map +1 -1
  316. package/dist/components/hds/advanced-table/expandable-tr-group.js +70 -0
  317. package/dist/components/hds/advanced-table/expandable-tr-group.js.map +1 -0
  318. package/dist/components/hds/advanced-table/helpers.js +144 -0
  319. package/dist/components/hds/advanced-table/helpers.js.map +1 -0
  320. package/dist/components/hds/advanced-table/index.js +312 -0
  321. package/dist/components/hds/advanced-table/index.js.map +1 -0
  322. package/dist/components/hds/advanced-table/td.js +95 -0
  323. package/dist/components/hds/advanced-table/td.js.map +1 -0
  324. package/dist/components/hds/advanced-table/th-button-expand.js +49 -0
  325. package/dist/components/hds/advanced-table/th-button-expand.js.map +1 -0
  326. package/dist/components/hds/advanced-table/th-button-sort.js +57 -0
  327. package/dist/components/hds/advanced-table/th-button-sort.js.map +1 -0
  328. package/dist/components/hds/advanced-table/th-button-tooltip.js +28 -0
  329. package/dist/components/hds/advanced-table/th-button-tooltip.js.map +1 -0
  330. package/dist/components/hds/advanced-table/th-selectable.js +92 -0
  331. package/dist/components/hds/advanced-table/th-selectable.js.map +1 -0
  332. package/dist/components/hds/advanced-table/th-sort.js +95 -0
  333. package/dist/components/hds/advanced-table/th-sort.js.map +1 -0
  334. package/dist/components/hds/advanced-table/th.js +112 -0
  335. package/dist/components/hds/advanced-table/th.js.map +1 -0
  336. package/dist/components/hds/advanced-table/tr.js +39 -0
  337. package/dist/components/hds/advanced-table/tr.js.map +1 -0
  338. package/dist/components/hds/advanced-table/types.js +54 -0
  339. package/dist/components/hds/advanced-table/types.js.map +1 -0
  340. package/dist/components/hds/alert/description.js.map +1 -1
  341. package/dist/components/hds/alert/index.js +10 -10
  342. package/dist/components/hds/alert/index.js.map +1 -1
  343. package/dist/components/hds/alert/title.js.map +1 -1
  344. package/dist/components/hds/alert/types.js.map +1 -1
  345. package/dist/components/hds/app-footer/copyright.js.map +1 -1
  346. package/dist/components/hds/app-footer/index.js.map +1 -1
  347. package/dist/components/hds/app-footer/item.js.map +1 -1
  348. package/dist/components/hds/app-footer/legal-links.js.map +1 -1
  349. package/dist/components/hds/app-footer/link.js.map +1 -1
  350. package/dist/components/hds/app-footer/status-link.js.map +1 -1
  351. package/dist/components/hds/app-footer/types.js.map +1 -1
  352. package/dist/components/hds/app-frame/index.js.map +1 -1
  353. package/dist/components/hds/app-frame/parts/footer.js.map +1 -1
  354. package/dist/components/hds/app-frame/parts/header.js.map +1 -1
  355. package/dist/components/hds/app-frame/parts/main.js.map +1 -1
  356. package/dist/components/hds/app-frame/parts/modals.js.map +1 -1
  357. package/dist/components/hds/app-frame/parts/sidebar.js.map +1 -1
  358. package/dist/components/hds/app-header/home-link.js.map +1 -1
  359. package/dist/components/hds/app-header/index.js +27 -27
  360. package/dist/components/hds/app-header/index.js.map +1 -1
  361. package/dist/components/hds/app-header/menu-button.js +2 -2
  362. package/dist/components/hds/app-header/menu-button.js.map +1 -1
  363. package/dist/components/hds/app-side-nav/index.js +48 -48
  364. package/dist/components/hds/app-side-nav/index.js.map +1 -1
  365. package/dist/components/hds/app-side-nav/list/back-link.js.map +1 -1
  366. package/dist/components/hds/app-side-nav/list/index.js +3 -3
  367. package/dist/components/hds/app-side-nav/list/index.js.map +1 -1
  368. package/dist/components/hds/app-side-nav/list/item.js.map +1 -1
  369. package/dist/components/hds/app-side-nav/list/link.js.map +1 -1
  370. package/dist/components/hds/app-side-nav/list/title.js +4 -4
  371. package/dist/components/hds/app-side-nav/list/title.js.map +1 -1
  372. package/dist/components/hds/app-side-nav/portal/index.js.map +1 -1
  373. package/dist/components/hds/app-side-nav/portal/target.js +14 -14
  374. package/dist/components/hds/app-side-nav/portal/target.js.map +1 -1
  375. package/dist/components/hds/app-side-nav/toggle-button.js.map +1 -1
  376. package/dist/components/hds/application-state/body.js.map +1 -1
  377. package/dist/components/hds/application-state/footer.js.map +1 -1
  378. package/dist/components/hds/application-state/header.js.map +1 -1
  379. package/dist/components/hds/application-state/index.js.map +1 -1
  380. package/dist/components/hds/application-state/media.js.map +1 -1
  381. package/dist/components/hds/application-state/types.js.map +1 -1
  382. package/dist/components/hds/badge/index.js.map +1 -1
  383. package/dist/components/hds/badge/types.js.map +1 -1
  384. package/dist/components/hds/badge-count/index.js.map +1 -1
  385. package/dist/components/hds/badge-count/types.js.map +1 -1
  386. package/dist/components/hds/breadcrumb/index.js.map +1 -1
  387. package/dist/components/hds/breadcrumb/item.js.map +1 -1
  388. package/dist/components/hds/breadcrumb/truncation.js.map +1 -1
  389. package/dist/components/hds/button/index.js.map +1 -1
  390. package/dist/components/hds/button/types.js.map +1 -1
  391. package/dist/components/hds/button-set/index.js.map +1 -1
  392. package/dist/components/hds/card/container.js.map +1 -1
  393. package/dist/components/hds/card/types.js.map +1 -1
  394. package/dist/components/hds/code-block/copy-button.js.map +1 -1
  395. package/dist/components/hds/code-block/description.js.map +1 -1
  396. package/dist/components/hds/code-block/index.js +9 -9
  397. package/dist/components/hds/code-block/index.js.map +1 -1
  398. package/dist/components/hds/code-block/title.js.map +1 -1
  399. package/dist/components/hds/code-block/types.js.map +1 -1
  400. package/dist/components/hds/code-editor/description.js +17 -0
  401. package/dist/components/hds/code-editor/description.js.map +1 -0
  402. package/dist/components/hds/code-editor/full-screen-button.js +26 -0
  403. package/dist/components/hds/code-editor/full-screen-button.js.map +1 -0
  404. package/dist/components/hds/code-editor/generic.js +16 -0
  405. package/dist/components/hds/code-editor/generic.js.map +1 -0
  406. package/dist/components/hds/code-editor/index.js +120 -0
  407. package/dist/components/hds/code-editor/index.js.map +1 -0
  408. package/dist/components/hds/code-editor/title.js +20 -0
  409. package/dist/components/hds/code-editor/title.js.map +1 -0
  410. package/dist/components/hds/copy/button/index.js +14 -14
  411. package/dist/components/hds/copy/button/index.js.map +1 -1
  412. package/dist/components/hds/copy/button/types.js.map +1 -1
  413. package/dist/components/hds/copy/snippet/index.js +14 -14
  414. package/dist/components/hds/copy/snippet/index.js.map +1 -1
  415. package/dist/components/hds/copy/snippet/types.js.map +1 -1
  416. package/dist/components/hds/dialog-primitive/body.js.map +1 -1
  417. package/dist/components/hds/dialog-primitive/description.js.map +1 -1
  418. package/dist/components/hds/dialog-primitive/footer.js.map +1 -1
  419. package/dist/components/hds/dialog-primitive/header.js.map +1 -1
  420. package/dist/components/hds/dialog-primitive/overlay.js.map +1 -1
  421. package/dist/components/hds/dialog-primitive/types.js.map +1 -1
  422. package/dist/components/hds/dialog-primitive/wrapper.js.map +1 -1
  423. package/dist/components/hds/disclosure-primitive/index.js +3 -3
  424. package/dist/components/hds/disclosure-primitive/index.js.map +1 -1
  425. package/dist/components/hds/dismiss-button/index.js.map +1 -1
  426. package/dist/components/hds/dropdown/footer.js.map +1 -1
  427. package/dist/components/hds/dropdown/header.js.map +1 -1
  428. package/dist/components/hds/dropdown/index.js +2 -2
  429. package/dist/components/hds/dropdown/index.js.map +1 -1
  430. package/dist/components/hds/dropdown/list-item/checkbox.js.map +1 -1
  431. package/dist/components/hds/dropdown/list-item/checkmark.js.map +1 -1
  432. package/dist/components/hds/dropdown/list-item/copy-item.js.map +1 -1
  433. package/dist/components/hds/dropdown/list-item/description.js.map +1 -1
  434. package/dist/components/hds/dropdown/list-item/generic.js.map +1 -1
  435. package/dist/components/hds/dropdown/list-item/interactive.js.map +1 -1
  436. package/dist/components/hds/dropdown/list-item/radio.js.map +1 -1
  437. package/dist/components/hds/dropdown/list-item/separator.js.map +1 -1
  438. package/dist/components/hds/dropdown/list-item/title.js.map +1 -1
  439. package/dist/components/hds/dropdown/list-item/types.js.map +1 -1
  440. package/dist/components/hds/dropdown/toggle/button.js +4 -4
  441. package/dist/components/hds/dropdown/toggle/button.js.map +1 -1
  442. package/dist/components/hds/dropdown/toggle/chevron.js.map +1 -1
  443. package/dist/components/hds/dropdown/toggle/icon.js +7 -7
  444. package/dist/components/hds/dropdown/toggle/icon.js.map +1 -1
  445. package/dist/components/hds/dropdown/toggle/types.js.map +1 -1
  446. package/dist/components/hds/dropdown/types.js.map +1 -1
  447. package/dist/components/hds/flyout/body.js.map +1 -1
  448. package/dist/components/hds/flyout/description.js.map +1 -1
  449. package/dist/components/hds/flyout/footer.js.map +1 -1
  450. package/dist/components/hds/flyout/header.js.map +1 -1
  451. package/dist/components/hds/flyout/index.js +22 -20
  452. package/dist/components/hds/flyout/index.js.map +1 -1
  453. package/dist/components/hds/flyout/types.js.map +1 -1
  454. package/dist/components/hds/form/character-count/index.js.map +1 -1
  455. package/dist/components/hds/form/checkbox/base.js.map +1 -1
  456. package/dist/components/hds/form/checkbox/field.js.map +1 -1
  457. package/dist/components/hds/form/checkbox/group.js.map +1 -1
  458. package/dist/components/hds/form/error/index.js.map +1 -1
  459. package/dist/components/hds/form/error/message.js.map +1 -1
  460. package/dist/components/hds/form/field/index.js +2 -2
  461. package/dist/components/hds/form/field/index.js.map +1 -1
  462. package/dist/components/hds/form/field/types.js.map +1 -1
  463. package/dist/components/hds/form/fieldset/index.js +2 -2
  464. package/dist/components/hds/form/fieldset/index.js.map +1 -1
  465. package/dist/components/hds/form/fieldset/types.js.map +1 -1
  466. package/dist/components/hds/form/file-input/base.js.map +1 -1
  467. package/dist/components/hds/form/file-input/field.js.map +1 -1
  468. package/dist/components/hds/form/helper-text/index.js.map +1 -1
  469. package/dist/components/hds/form/indicator/index.js.map +1 -1
  470. package/dist/components/hds/form/label/index.js.map +1 -1
  471. package/dist/components/hds/form/legend/index.js.map +1 -1
  472. package/dist/components/hds/form/masked-input/base.js +3 -3
  473. package/dist/components/hds/form/masked-input/base.js.map +1 -1
  474. package/dist/components/hds/form/masked-input/field.js.map +1 -1
  475. package/dist/components/hds/form/radio/base.js.map +1 -1
  476. package/dist/components/hds/form/radio/field.js.map +1 -1
  477. package/dist/components/hds/form/radio/group.js.map +1 -1
  478. package/dist/components/hds/form/radio-card/description.js.map +1 -1
  479. package/dist/components/hds/form/radio-card/group.js.map +1 -1
  480. package/dist/components/hds/form/radio-card/index.js.map +1 -1
  481. package/dist/components/hds/form/radio-card/label.js.map +1 -1
  482. package/dist/components/hds/form/radio-card/types.js.map +1 -1
  483. package/dist/components/hds/form/select/base.js.map +1 -1
  484. package/dist/components/hds/form/select/field.js.map +1 -1
  485. package/dist/components/hds/form/super-select/after-options.js.map +1 -1
  486. package/dist/components/hds/form/super-select/multiple/base.js +20 -20
  487. package/dist/components/hds/form/super-select/multiple/base.js.map +1 -1
  488. package/dist/components/hds/form/super-select/multiple/field.js +1 -1
  489. package/dist/components/hds/form/super-select/multiple/field.js.map +1 -1
  490. package/dist/components/hds/form/super-select/option-group.js +4 -3
  491. package/dist/components/hds/form/super-select/option-group.js.map +1 -1
  492. package/dist/components/hds/form/super-select/placeholder.js.map +1 -1
  493. package/dist/components/hds/form/super-select/single/base.js +4 -4
  494. package/dist/components/hds/form/super-select/single/base.js.map +1 -1
  495. package/dist/components/hds/form/super-select/single/field.js +1 -1
  496. package/dist/components/hds/form/super-select/single/field.js.map +1 -1
  497. package/dist/components/hds/form/super-select/types.js.map +1 -1
  498. package/dist/components/hds/form/text-input/base.js.map +1 -1
  499. package/dist/components/hds/form/text-input/field.js +9 -9
  500. package/dist/components/hds/form/text-input/field.js.map +1 -1
  501. package/dist/components/hds/form/text-input/types.js.map +1 -1
  502. package/dist/components/hds/form/textarea/base.js.map +1 -1
  503. package/dist/components/hds/form/textarea/field.js.map +1 -1
  504. package/dist/components/hds/form/toggle/base.js.map +1 -1
  505. package/dist/components/hds/form/toggle/field.js.map +1 -1
  506. package/dist/components/hds/form/toggle/group.js.map +1 -1
  507. package/dist/components/hds/form/visibility-toggle/index.js.map +1 -1
  508. package/dist/components/hds/icon/index.js +5 -5
  509. package/dist/components/hds/icon/index.js.map +1 -1
  510. package/dist/components/hds/icon/types.js.map +1 -1
  511. package/dist/components/hds/icon-tile/index.js.map +1 -1
  512. package/dist/components/hds/icon-tile/types.js.map +1 -1
  513. package/dist/components/hds/interactive/index.js +2 -2
  514. package/dist/components/hds/interactive/index.js.map +1 -1
  515. package/dist/components/hds/link/inline.js.map +1 -1
  516. package/dist/components/hds/link/standalone.js.map +1 -1
  517. package/dist/components/hds/link/types.js.map +1 -1
  518. package/dist/components/hds/menu-primitive/index.js +3 -3
  519. package/dist/components/hds/menu-primitive/index.js.map +1 -1
  520. package/dist/components/hds/modal/body.js.map +1 -1
  521. package/dist/components/hds/modal/footer.js.map +1 -1
  522. package/dist/components/hds/modal/header.js.map +1 -1
  523. package/dist/components/hds/modal/index.js +32 -32
  524. package/dist/components/hds/modal/index.js.map +1 -1
  525. package/dist/components/hds/modal/types.js.map +1 -1
  526. package/dist/components/hds/page-header/actions.js.map +1 -1
  527. package/dist/components/hds/page-header/badges.js.map +1 -1
  528. package/dist/components/hds/page-header/description.js.map +1 -1
  529. package/dist/components/hds/page-header/index.js.map +1 -1
  530. package/dist/components/hds/page-header/subtitle.js.map +1 -1
  531. package/dist/components/hds/page-header/title.js.map +1 -1
  532. package/dist/components/hds/pagination/compact/index.js +11 -11
  533. package/dist/components/hds/pagination/compact/index.js.map +1 -1
  534. package/dist/components/hds/pagination/info/index.js.map +1 -1
  535. package/dist/components/hds/pagination/nav/arrow.js +2 -2
  536. package/dist/components/hds/pagination/nav/arrow.js.map +1 -1
  537. package/dist/components/hds/pagination/nav/ellipsis.js.map +1 -1
  538. package/dist/components/hds/pagination/nav/number.js +2 -2
  539. package/dist/components/hds/pagination/nav/number.js.map +1 -1
  540. package/dist/components/hds/pagination/numbered/index.js +15 -15
  541. package/dist/components/hds/pagination/numbered/index.js.map +1 -1
  542. package/dist/components/hds/pagination/size-selector/index.js +4 -4
  543. package/dist/components/hds/pagination/size-selector/index.js.map +1 -1
  544. package/dist/components/hds/pagination/types.js.map +1 -1
  545. package/dist/components/hds/popover-primitive/index.js +61 -57
  546. package/dist/components/hds/popover-primitive/index.js.map +1 -1
  547. package/dist/components/hds/reveal/index.js +4 -4
  548. package/dist/components/hds/reveal/index.js.map +1 -1
  549. package/dist/components/hds/reveal/toggle/button.js.map +1 -1
  550. package/dist/components/hds/rich-tooltip/bubble.js.map +1 -1
  551. package/dist/components/hds/rich-tooltip/index.js +5 -5
  552. package/dist/components/hds/rich-tooltip/index.js.map +1 -1
  553. package/dist/components/hds/rich-tooltip/toggle.js +1 -1
  554. package/dist/components/hds/rich-tooltip/toggle.js.map +1 -1
  555. package/dist/components/hds/rich-tooltip/types.js.map +1 -1
  556. package/dist/components/hds/segmented-group/index.js.map +1 -1
  557. package/dist/components/hds/separator/index.js.map +1 -1
  558. package/dist/components/hds/separator/types.js.map +1 -1
  559. package/dist/components/hds/side-nav/base.js.map +1 -1
  560. package/dist/components/hds/side-nav/header/home-link.js.map +1 -1
  561. package/dist/components/hds/side-nav/header/icon-button.js.map +1 -1
  562. package/dist/components/hds/side-nav/header/index.js.map +1 -1
  563. package/dist/components/hds/side-nav/index.js +5 -5
  564. package/dist/components/hds/side-nav/index.js.map +1 -1
  565. package/dist/components/hds/side-nav/list/back-link.js.map +1 -1
  566. package/dist/components/hds/side-nav/list/index.js +3 -3
  567. package/dist/components/hds/side-nav/list/index.js.map +1 -1
  568. package/dist/components/hds/side-nav/list/item.js.map +1 -1
  569. package/dist/components/hds/side-nav/list/link.js.map +1 -1
  570. package/dist/components/hds/side-nav/list/title.js +2 -2
  571. package/dist/components/hds/side-nav/list/title.js.map +1 -1
  572. package/dist/components/hds/side-nav/portal/index.js.map +1 -1
  573. package/dist/components/hds/side-nav/portal/target.js +3 -3
  574. package/dist/components/hds/side-nav/portal/target.js.map +1 -1
  575. package/dist/components/hds/side-nav/toggle-button.js.map +1 -1
  576. package/dist/components/hds/stepper/step/indicator.js.map +1 -1
  577. package/dist/components/hds/stepper/task/indicator.js.map +1 -1
  578. package/dist/components/hds/stepper/types.js.map +1 -1
  579. package/dist/components/hds/table/index.js +26 -26
  580. package/dist/components/hds/table/index.js.map +1 -1
  581. package/dist/components/hds/table/td.js.map +1 -1
  582. package/dist/components/hds/table/th-button-sort.js +4 -4
  583. package/dist/components/hds/table/th-button-sort.js.map +1 -1
  584. package/dist/components/hds/table/th-button-tooltip.js +3 -3
  585. package/dist/components/hds/table/th-button-tooltip.js.map +1 -1
  586. package/dist/components/hds/table/th-selectable.js +9 -14
  587. package/dist/components/hds/table/th-selectable.js.map +1 -1
  588. package/dist/components/hds/table/th-sort.js +4 -4
  589. package/dist/components/hds/table/th-sort.js.map +1 -1
  590. package/dist/components/hds/table/th.js +4 -4
  591. package/dist/components/hds/table/th.js.map +1 -1
  592. package/dist/components/hds/table/tr.js.map +1 -1
  593. package/dist/components/hds/table/types.js.map +1 -1
  594. package/dist/components/hds/tabs/index.js +40 -40
  595. package/dist/components/hds/tabs/index.js.map +1 -1
  596. package/dist/components/hds/tabs/panel.js +9 -8
  597. package/dist/components/hds/tabs/panel.js.map +1 -1
  598. package/dist/components/hds/tabs/tab.js +14 -5
  599. package/dist/components/hds/tabs/tab.js.map +1 -1
  600. package/dist/components/hds/tabs/types.js.map +1 -1
  601. package/dist/components/hds/tag/index.js.map +1 -1
  602. package/dist/components/hds/tag/types.js.map +1 -1
  603. package/dist/components/hds/text/body.js.map +1 -1
  604. package/dist/components/hds/text/code.js.map +1 -1
  605. package/dist/components/hds/text/display.js.map +1 -1
  606. package/dist/components/hds/text/index.js.map +1 -1
  607. package/dist/components/hds/text/types.js.map +1 -1
  608. package/dist/components/hds/time/index.js +128 -0
  609. package/dist/components/hds/time/index.js.map +1 -0
  610. package/dist/components/hds/time/range.js +66 -0
  611. package/dist/components/hds/time/range.js.map +1 -0
  612. package/dist/components/hds/time/single.js +16 -0
  613. package/dist/components/hds/time/single.js.map +1 -0
  614. package/dist/components/hds/toast/index.js.map +1 -1
  615. package/dist/components/hds/tooltip-button/index.js.map +1 -1
  616. package/dist/components/hds/tooltip-button/types.js.map +1 -1
  617. package/dist/components/hds/yield/index.js.map +1 -1
  618. package/dist/components.js +18 -0
  619. package/dist/components.js.map +1 -1
  620. package/dist/helpers/hds-format-date.js +29 -0
  621. package/dist/helpers/hds-format-date.js.map +1 -0
  622. package/dist/helpers/hds-format-relative.js +29 -0
  623. package/dist/helpers/hds-format-relative.js.map +1 -0
  624. package/dist/helpers/hds-link-to-models.js.map +1 -1
  625. package/dist/helpers/hds-link-to-query.js.map +1 -1
  626. package/dist/instance-initializers/load-sprite.js.map +1 -1
  627. package/dist/modifiers/hds-anchored-position.js +12 -8
  628. package/dist/modifiers/hds-anchored-position.js.map +1 -1
  629. package/dist/modifiers/hds-clipboard.js.map +1 -1
  630. package/dist/modifiers/hds-code-editor/highlight-styles/hds-dark-highlight-style.js +80 -0
  631. package/dist/modifiers/hds-code-editor/highlight-styles/hds-dark-highlight-style.js.map +1 -0
  632. package/dist/modifiers/hds-code-editor/languages/sentinel.js +143 -0
  633. package/dist/modifiers/hds-code-editor/languages/sentinel.js.map +1 -0
  634. package/dist/modifiers/hds-code-editor/palettes/hds-dark-palette.js +24 -0
  635. package/dist/modifiers/hds-code-editor/palettes/hds-dark-palette.js.map +1 -0
  636. package/dist/modifiers/hds-code-editor/themes/hds-dark-theme.js +62 -0
  637. package/dist/modifiers/hds-code-editor/themes/hds-dark-theme.js.map +1 -0
  638. package/dist/modifiers/hds-code-editor/types.js +19 -0
  639. package/dist/modifiers/hds-code-editor/types.js.map +1 -0
  640. package/dist/modifiers/hds-code-editor.js +266 -0
  641. package/dist/modifiers/hds-code-editor.js.map +1 -0
  642. package/dist/modifiers/hds-register-event.js +4 -4
  643. package/dist/modifiers/hds-register-event.js.map +1 -1
  644. package/dist/modifiers/hds-tooltip.js +19 -19
  645. package/dist/modifiers/hds-tooltip.js.map +1 -1
  646. package/dist/services/hds-time-types.js +2 -0
  647. package/dist/services/hds-time-types.js.map +1 -0
  648. package/dist/services/hds-time.js +215 -0
  649. package/dist/services/hds-time.js.map +1 -0
  650. package/dist/services.js +2 -0
  651. package/dist/services.js.map +1 -0
  652. package/dist/styles/@hashicorp/design-system-components.css +565 -174
  653. package/dist/styles/@hashicorp/design-system-components.scss +3 -0
  654. package/dist/styles/@hashicorp/design-system-power-select-overrides.scss +3 -3
  655. package/dist/styles/components/accordion.scss +1 -1
  656. package/dist/styles/components/advanced-table.scss +349 -0
  657. package/dist/styles/components/alert.scss +2 -3
  658. package/dist/styles/components/app-header.scss +1 -1
  659. package/dist/styles/components/app-side-nav/index.scss +4 -4
  660. package/dist/styles/components/badge-count.scss +6 -5
  661. package/dist/styles/components/badge.scss +12 -10
  662. package/dist/styles/components/breadcrumb.scss +2 -2
  663. package/dist/styles/components/card/container.scss +1 -1
  664. package/dist/styles/components/code-block/index.scss +2 -2
  665. package/dist/styles/components/code-editor/index.scss +113 -0
  666. package/dist/styles/components/code-editor/theme.scss +20 -0
  667. package/dist/styles/components/copy/index.scss +2 -2
  668. package/dist/styles/components/copy/snippet.scss +1 -1
  669. package/dist/styles/components/dropdown.scss +18 -10
  670. package/dist/styles/components/form/select.scss +1 -1
  671. package/dist/styles/components/icon-tile.scss +20 -24
  672. package/dist/styles/components/link/index.scss +2 -2
  673. package/dist/styles/components/link/standalone.scss +6 -5
  674. package/dist/styles/components/modal.scss +1 -1
  675. package/dist/styles/components/page-header.scss +4 -1
  676. package/dist/styles/components/rich-tooltip.scss +1 -1
  677. package/dist/styles/components/side-nav/a11y-refocus.scss +1 -1
  678. package/dist/styles/components/side-nav/index.scss +6 -6
  679. package/dist/styles/components/stepper/index.scss +2 -2
  680. package/dist/styles/components/stepper/step-indicator.scss +14 -12
  681. package/dist/styles/components/stepper/task-indicator.scss +5 -3
  682. package/dist/styles/components/table.scss +10 -33
  683. package/dist/styles/components/tabs.scss +4 -3
  684. package/dist/styles/components/time.scss +13 -0
  685. package/dist/styles/mixins/_button.scss +14 -12
  686. package/dist/utils/hds-aria-described-by.js +3 -3
  687. package/dist/utils/hds-aria-described-by.js.map +1 -1
  688. package/dist/utils/hds-get-element-id.js.map +1 -1
  689. package/package.json +90 -50
  690. package/dist/_rollupPluginBabelHelpers-KIi_qCIU.js.map +0 -1
@@ -0,0 +1,143 @@
1
+ function wordRegexp(words) {
2
+ return new RegExp('^((' + words.join(')|(') + '))\\b');
3
+ }
4
+
5
+ // logical operators
6
+ const wordOperators = wordRegexp(['and', 'contains', 'else', 'in', 'is', 'matches', 'not', 'or', 'xor']);
7
+
8
+ // keywords
9
+ const sentinelKeywords = ['all', 'any', 'as', 'break', 'case', 'continue', 'default', 'else', 'empty', 'filter', 'for', 'func', 'if', 'import', 'map', 'param', 'return', 'rule', 'when'];
10
+
11
+ // built-ins / constants
12
+ const sentinelBuiltins = ['true', 'false', 'null', 'undefined', 'length', 'append', 'delete', 'keys', 'values', 'range', 'print', 'int', 'float', 'string', 'bool'];
13
+ const keywords = wordRegexp(sentinelKeywords);
14
+ const builtins = wordRegexp(sentinelBuiltins);
15
+ function mkSentinel(parserConf) {
16
+ const ERRORCLASS = 'error';
17
+
18
+ // delimiters, operators, etc.
19
+ const delimiters = parserConf.delimiters ?? /^[()[\]{},:;=.]/;
20
+ const operators = [parserConf.operators ?? /^(\+|-|\*|\/|%|<=|>=|<|>|==|!=|!|&&|\|\|)/];
21
+
22
+ // tokenizer
23
+ function tokenBase(stream, state) {
24
+ return tokenBaseInner(stream, state);
25
+ }
26
+ function tokenBaseInner(stream, state) {
27
+ if (stream.eatSpace()) {
28
+ return null;
29
+ }
30
+
31
+ // comments
32
+ // single-line `//`
33
+ if (stream.match('//')) {
34
+ stream.skipToEnd();
35
+ return 'comment';
36
+ }
37
+ // multi-line `/* ... */`
38
+ if (stream.match('/*')) {
39
+ state.tokenize = tokenComment;
40
+ return state.tokenize(stream, state);
41
+ }
42
+
43
+ // strings
44
+ if (stream.match(/"/) || stream.match(/'/)) {
45
+ // We’ve just consumed either " or '
46
+ const quote = stream.current();
47
+ state.tokenize = tokenString(quote);
48
+ return state.tokenize(stream, state);
49
+ }
50
+
51
+ // numbers
52
+ if (stream.match(/^[0-9]+(\.[0-9]+)?/)) {
53
+ return 'number';
54
+ }
55
+
56
+ // operators
57
+ for (let i = 0; i < operators.length; i++) {
58
+ if (stream.match(operators[i])) {
59
+ return 'operator';
60
+ }
61
+ }
62
+
63
+ // delimiters/punctuation
64
+ if (stream.match(delimiters)) {
65
+ return 'punctuation';
66
+ }
67
+
68
+ // keywords, operators, builtins
69
+ if (stream.match(keywords) || stream.match(wordOperators)) {
70
+ return 'keyword';
71
+ }
72
+ if (stream.match(builtins)) {
73
+ return 'builtin';
74
+ }
75
+
76
+ // identifiers (variables, function names, etc.)
77
+ if (stream.match(/^[_A-Za-z][_A-Za-z0-9]*/)) {
78
+ return 'variable';
79
+ }
80
+
81
+ // if nothing matched, consume one character and mark it as error
82
+ stream.next();
83
+ return ERRORCLASS;
84
+ }
85
+
86
+ // multi-line comment tokenizer
87
+ function tokenComment(stream, state) {
88
+ while (!stream.eol()) {
89
+ if (stream.match('*/')) {
90
+ state.tokenize = tokenBase;
91
+ break;
92
+ }
93
+ stream.next();
94
+ }
95
+ return 'comment';
96
+ }
97
+
98
+ // string tokenizer factory
99
+ function tokenString(quote) {
100
+ return function (stream, state) {
101
+ let escaped = false;
102
+ let ch = null;
103
+ while ((ch = stream.next()) != null) {
104
+ if (ch === quote && !escaped) {
105
+ // end of string
106
+ state.tokenize = tokenBase;
107
+ break;
108
+ }
109
+ escaped = !escaped && ch === '\\';
110
+ }
111
+ return 'string';
112
+ };
113
+ }
114
+
115
+ // CodeMirror API
116
+ return {
117
+ name: 'sentinel',
118
+ startState: function () {
119
+ return {
120
+ tokenize: tokenBase
121
+ };
122
+ },
123
+ token: function (stream, state) {
124
+ return state.tokenize(stream, state);
125
+ },
126
+ languageData: {
127
+ commentTokens: {
128
+ line: '//',
129
+ block: {
130
+ open: '/*',
131
+ close: '*/'
132
+ }
133
+ },
134
+ closeBrackets: {
135
+ brackets: ['(', '[', '{', '"', "'"]
136
+ }
137
+ }
138
+ };
139
+ }
140
+ const sentinel = mkSentinel({});
141
+
142
+ export { mkSentinel, sentinel };
143
+ //# sourceMappingURL=sentinel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sentinel.js","sources":["../../../../src/modifiers/hds-code-editor/languages/sentinel.ts"],"sourcesContent":["import 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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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+
6
+ const HDS_CODE_BLOCK_WHITE = '#efeff1';
7
+ const HDS_CODE_BLOCK_BLUE = '#2d8eff';
8
+ const HDS_CODE_BLOCK_GREEN = '#86ff13';
9
+ const HDS_CODE_BLOCK_ORANGE = '#ffa800';
10
+ const HDS_CODE_BLOCK_PURPLE = '#c76cff';
11
+ const HDS_CODE_BLOCK_RED = '#ff3b20';
12
+ const HDS_CODE_BLOCK_CYAN = '#32fff7';
13
+ const HDS_CODE_BLOCK_LINE_HIGHLIGHT = 'rgba(0, 74, 222, 0.2)';
14
+ const HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER = '#1b5fe5';
15
+ const HDS_CODE_EDITOR_COLOR_BORDER_STRONG = 'rgba(178, 182, 189, 40%)';
16
+ const HDS_CODE_EDITOR_COLOR_BORDER_PRIMARY = 'rgba(178, 182, 189, 20%)';
17
+ const HDS_CODE_EDITOR_COLOR_FOREGROUND_PRIMARY = '#d5d7db';
18
+ const HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT = '#878a8f';
19
+ const HDS_CODE_EDITOR_COLOR_FOREGROUND_HIGH_CONTRAST = '#ffffff';
20
+ const HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY = '#0D0E12';
21
+ const HDS_CODE_EDITOR_COLOR_SURFACE_FAINT = '#15181e';
22
+
23
+ export { HDS_CODE_BLOCK_BLUE, HDS_CODE_BLOCK_CYAN, HDS_CODE_BLOCK_GREEN, HDS_CODE_BLOCK_LINE_HIGHLIGHT, HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER, HDS_CODE_BLOCK_ORANGE, HDS_CODE_BLOCK_PURPLE, HDS_CODE_BLOCK_RED, HDS_CODE_BLOCK_WHITE, HDS_CODE_EDITOR_COLOR_BORDER_PRIMARY, HDS_CODE_EDITOR_COLOR_BORDER_STRONG, HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT, HDS_CODE_EDITOR_COLOR_FOREGROUND_HIGH_CONTRAST, HDS_CODE_EDITOR_COLOR_FOREGROUND_PRIMARY, HDS_CODE_EDITOR_COLOR_SURFACE_FAINT, HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY };
24
+ //# sourceMappingURL=hds-dark-palette.js.map
@@ -0,0 +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_BORDER_STRONG = 'rgba(178, 182, 189, 40%)';\nexport const HDS_CODE_EDITOR_COLOR_BORDER_PRIMARY = 'rgba(178, 182, 189, 20%)';\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_HIGH_CONTRAST = '#ffffff';\nexport const HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY = '#0D0E12';\nexport const HDS_CODE_EDITOR_COLOR_SURFACE_FAINT = '#15181e';\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_BORDER_STRONG","HDS_CODE_EDITOR_COLOR_BORDER_PRIMARY","HDS_CODE_EDITOR_COLOR_FOREGROUND_PRIMARY","HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT","HDS_CODE_EDITOR_COLOR_FOREGROUND_HIGH_CONTRAST","HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY","HDS_CODE_EDITOR_COLOR_SURFACE_FAINT"],"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,mCAAmC,GAAG;AAC5C,MAAMC,oCAAoC,GAAG;AAC7C,MAAMC,wCAAwC,GAAG;AACjD,MAAMC,sCAAsC,GAAG;AAC/C,MAAMC,8CAA8C,GAAG;AACvD,MAAMC,qCAAqC,GAAG;AAC9C,MAAMC,mCAAmC,GAAG;;;;"}
@@ -0,0 +1,62 @@
1
+ import { EditorView } from '@codemirror/view';
2
+ import { HDS_CODE_BLOCK_WHITE, HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY, HDS_CODE_BLOCK_GREEN, HDS_CODE_EDITOR_COLOR_BORDER_PRIMARY, HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT, HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER, HDS_CODE_BLOCK_LINE_HIGHLIGHT, HDS_CODE_EDITOR_COLOR_FOREGROUND_HIGH_CONTRAST } from '../palettes/hds-dark-palette.js';
3
+
4
+ /**
5
+ * Copyright (c) HashiCorp, Inc.
6
+ * SPDX-License-Identifier: MPL-2.0
7
+ */
8
+
9
+ const hdsDark = EditorView.theme({
10
+ '&': {
11
+ color: HDS_CODE_BLOCK_WHITE,
12
+ backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,
13
+ height: '100%'
14
+ },
15
+ '& ::selection': {
16
+ backgroundColor: HDS_CODE_BLOCK_GREEN,
17
+ color: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY
18
+ },
19
+ '.cm-content': {
20
+ padding: '16px 0'
21
+ },
22
+ '.cm-gutters': {
23
+ backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY
24
+ },
25
+ '.cm-gutter': {
26
+ borderRight: `1px solid ${HDS_CODE_EDITOR_COLOR_BORDER_PRIMARY}`
27
+ },
28
+ '.cm-lineNumbers': {
29
+ color: HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT
30
+ },
31
+ '.cm-lineNumbers .cm-gutterElement': {
32
+ borderLeft: '4px solid transparent',
33
+ padding: '0 16px'
34
+ },
35
+ '.cm-gutterElement.cm-activeLineGutter': {
36
+ backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY
37
+ },
38
+ '&:not(.cm-hasSelection).cm-focused .cm-gutterElement.cm-activeLineGutter': {
39
+ borderColor: HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER,
40
+ backgroundColor: HDS_CODE_BLOCK_LINE_HIGHLIGHT,
41
+ color: HDS_CODE_EDITOR_COLOR_FOREGROUND_HIGH_CONTRAST,
42
+ outline: `1px solid ${HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER}`
43
+ },
44
+ '.cm-line': {
45
+ padding: '0 16px'
46
+ },
47
+ '.cm-activeLine': {
48
+ backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY
49
+ },
50
+ '&:not(.cm-hasSelection).cm-focused .cm-activeLine': {
51
+ backgroundColor: HDS_CODE_BLOCK_LINE_HIGHLIGHT,
52
+ outline: `1px solid ${HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER}`
53
+ },
54
+ '.cm-matchingBracket': {
55
+ outline: `1px solid ${HDS_CODE_BLOCK_WHITE}`
56
+ }
57
+ }, {
58
+ dark: true
59
+ });
60
+
61
+ export { hdsDark as default };
62
+ //# sourceMappingURL=hds-dark-theme.js.map
@@ -0,0 +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_BORDER_PRIMARY,\n HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT,\n HDS_CODE_EDITOR_COLOR_FOREGROUND_HIGH_CONTRAST,\n} from '../palettes/hds-dark-palette.ts';\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 '& ::selection': {\n backgroundColor: HDS_CODE_BLOCK_GREEN,\n color: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n },\n '.cm-content': {\n padding: '16px 0',\n },\n '.cm-gutters': {\n backgroundColor: HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY,\n },\n '.cm-gutter': {\n borderRight: `1px solid ${HDS_CODE_EDITOR_COLOR_BORDER_PRIMARY}`,\n },\n '.cm-lineNumbers': {\n color: HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT,\n },\n '.cm-lineNumbers .cm-gutterElement': {\n borderLeft: '4px solid transparent',\n padding: '0 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: HDS_CODE_EDITOR_COLOR_FOREGROUND_HIGH_CONTRAST,\n outline: `1px solid ${HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER}`,\n },\n '.cm-line': {\n padding: '0 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 { dark: true }\n);\n\nexport default hdsDark;\n"],"names":["hdsDark","EditorView","theme","color","HDS_CODE_BLOCK_WHITE","backgroundColor","HDS_CODE_EDITOR_COLOR_SURFACE_PRIMARY","height","HDS_CODE_BLOCK_GREEN","padding","borderRight","HDS_CODE_EDITOR_COLOR_BORDER_PRIMARY","HDS_CODE_EDITOR_COLOR_FOREGROUND_FAINT","borderLeft","borderColor","HDS_CODE_BLOCK_LINE_HIGHLIGHT_BORDER","HDS_CODE_BLOCK_LINE_HIGHLIGHT","HDS_CODE_EDITOR_COLOR_FOREGROUND_HIGH_CONTRAST","outline","dark"],"mappings":";;;AAAA;AACA;AACA;AACA;;AAcA,MAAMA,OAAO,GAAGC,UAAU,CAACC,KAAK,CAC9B;AACE,EAAA,GAAG,EAAE;AACHC,IAAAA,KAAK,EAAEC,oBAAoB;AAC3BC,IAAAA,eAAe,EAAEC,qCAAqC;AACtDC,IAAAA,MAAM,EAAE;GACT;AACD,EAAA,eAAe,EAAE;AACfF,IAAAA,eAAe,EAAEG,oBAAoB;AACrCL,IAAAA,KAAK,EAAEG;GACR;AACD,EAAA,aAAa,EAAE;AACbG,IAAAA,OAAO,EAAE;GACV;AACD,EAAA,aAAa,EAAE;AACbJ,IAAAA,eAAe,EAAEC;GAClB;AACD,EAAA,YAAY,EAAE;IACZI,WAAW,EAAE,aAAaC,oCAAoC,CAAA;GAC/D;AACD,EAAA,iBAAiB,EAAE;AACjBR,IAAAA,KAAK,EAAES;GACR;AACD,EAAA,mCAAmC,EAAE;AACnCC,IAAAA,UAAU,EAAE,uBAAuB;AACnCJ,IAAAA,OAAO,EAAE;GACV;AACD,EAAA,uCAAuC,EAAE;AACvCJ,IAAAA,eAAe,EAAEC;GAClB;AACD,EAAA,0EAA0E,EACxE;AACEQ,IAAAA,WAAW,EAAEC,oCAAoC;AACjDV,IAAAA,eAAe,EAAEW,6BAA6B;AAC9Cb,IAAAA,KAAK,EAAEc,8CAA8C;IACrDC,OAAO,EAAE,aAAaH,oCAAoC,CAAA;GAC3D;AACH,EAAA,UAAU,EAAE;AACVN,IAAAA,OAAO,EAAE;GACV;AACD,EAAA,gBAAgB,EAAE;AAChBJ,IAAAA,eAAe,EAAEC;GAClB;AACD,EAAA,mDAAmD,EAAE;AACnDD,IAAAA,eAAe,EAAEW,6BAA6B;IAC9CE,OAAO,EAAE,aAAaH,oCAAoC,CAAA;GAC3D;AACD,EAAA,qBAAqB,EAAE;IACrBG,OAAO,EAAE,aAAad,oBAAoB,CAAA;AAC5C;AACF,CAAC,EACD;AAAEe,EAAAA,IAAI,EAAE;AAAK,CACf;;;;"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+
6
+ let HdsCodeEditorLanguageValues = /*#__PURE__*/function (HdsCodeEditorLanguageValues) {
7
+ HdsCodeEditorLanguageValues["Ruby"] = "ruby";
8
+ HdsCodeEditorLanguageValues["Shell"] = "shell";
9
+ HdsCodeEditorLanguageValues["Go"] = "go";
10
+ HdsCodeEditorLanguageValues["Hcl"] = "hcl";
11
+ HdsCodeEditorLanguageValues["Json"] = "json";
12
+ HdsCodeEditorLanguageValues["Sentinel"] = "sentinel";
13
+ HdsCodeEditorLanguageValues["Sql"] = "sql";
14
+ HdsCodeEditorLanguageValues["Yaml"] = "yaml";
15
+ return HdsCodeEditorLanguageValues;
16
+ }({});
17
+
18
+ export { HdsCodeEditorLanguageValues };
19
+ //# sourceMappingURL=types.js.map
@@ -0,0 +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 Ruby = 'ruby',\n Shell = 'shell',\n Go = 'go',\n Hcl = 'hcl',\n Json = 'json',\n Sentinel = 'sentinel',\n Sql = 'sql',\n Yaml = 'yaml',\n}\n\nexport type HdsCodeEditorLanguages = `${HdsCodeEditorLanguageValues}`;\n"],"names":["HdsCodeEditorLanguageValues"],"mappings":"AAAA;AACA;AACA;AACA;;AAEYA,IAAAA,2BAA2B,0BAA3BA,2BAA2B,EAAA;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,MAAA,CAAA,GAAA,MAAA;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;;;;"}
@@ -0,0 +1,266 @@
1
+ import { a as _defineProperty } from '../_rollupPluginBabelHelpers-C_TsMG3M.js';
2
+ import { buildTask } from 'ember-concurrency/async-arrow-runtime';
3
+ import Modifier from 'ember-modifier';
4
+ import { assert, warn } from '@ember/debug';
5
+ import { registerDestructor } from '@ember/destroyable';
6
+ import 'ember-concurrency';
7
+ import config from 'ember-get-config';
8
+ import hdsDark from './hds-code-editor/themes/hds-dark-theme.js';
9
+ import hdsDarkHighlightStyle from './hds-code-editor/highlight-styles/hds-dark-highlight-style.js';
10
+
11
+ async function defineStreamLanguage(streamParser) {
12
+ const {
13
+ StreamLanguage
14
+ } = await import('@codemirror/language');
15
+ return StreamLanguage.define(streamParser);
16
+ }
17
+ const LOADER_HEIGHT = '164px';
18
+ const LANGUAGES = {
19
+ ruby: {
20
+ load: async () => {
21
+ const {
22
+ ruby
23
+ } = await import('@codemirror/legacy-modes/mode/ruby');
24
+ return defineStreamLanguage(ruby);
25
+ }
26
+ },
27
+ sentinel: {
28
+ load: async () => {
29
+ const {
30
+ sentinel
31
+ } = await import('./hds-code-editor/languages/sentinel.js');
32
+ return defineStreamLanguage(sentinel);
33
+ }
34
+ },
35
+ shell: {
36
+ load: async () => {
37
+ const {
38
+ shell
39
+ } = await import('@codemirror/legacy-modes/mode/shell');
40
+ return defineStreamLanguage(shell);
41
+ }
42
+ },
43
+ go: {
44
+ load: async () => (await import('@codemirror/lang-go')).go()
45
+ },
46
+ hcl: {
47
+ load: async () => (await import('codemirror-lang-hcl')).hcl()
48
+ },
49
+ json: {
50
+ load: async () => (await import('@codemirror/lang-json')).json()
51
+ },
52
+ sql: {
53
+ load: async () => (await import('@codemirror/lang-sql')).sql()
54
+ },
55
+ yaml: {
56
+ load: async () => (await import('@codemirror/lang-yaml')).yaml()
57
+ }
58
+ };
59
+ class HdsCodeEditorModifier extends Modifier {
60
+ constructor(owner, args) {
61
+ super(owner, args);
62
+ _defineProperty(this, "editor", undefined);
63
+ _defineProperty(this, "element", undefined);
64
+ _defineProperty(this, "onBlur", undefined);
65
+ _defineProperty(this, "onInput", undefined);
66
+ _defineProperty(this, "blurHandler", undefined);
67
+ _defineProperty(this, "observer", undefined);
68
+ _defineProperty(this, "_loadLanguageTask", buildTask(() => ({
69
+ context: this,
70
+ generator: function* (language) {
71
+ if (language === undefined) {
72
+ return;
73
+ }
74
+ try {
75
+ const validLanguageKeys = Object.keys(LANGUAGES);
76
+ assert(`\`hds-code-editor\` modifier - \`language\` must be one of the following: ${validLanguageKeys.join(', ')}; received: ${language}`, validLanguageKeys.includes(language));
77
+ return LANGUAGES[language].load();
78
+ } catch (error) {
79
+ warn(`\`hds-code-editor\` modifier - Failed to dynamically import the CodeMirror language module for '${language}'. Error: ${JSON.stringify(error)}`, {
80
+ id: 'hds-code-editor.load-language-task.import-failed'
81
+ });
82
+ }
83
+ }
84
+ }), {
85
+ drop: true
86
+ }, "_loadLanguageTask", null));
87
+ _defineProperty(this, "_buildExtensionsTask", buildTask(() => ({
88
+ context: this,
89
+ generator: function* ({
90
+ language
91
+ }) {
92
+ const [{
93
+ EditorView,
94
+ keymap,
95
+ lineNumbers,
96
+ highlightActiveLineGutter,
97
+ highlightSpecialChars,
98
+ highlightActiveLine
99
+ }, {
100
+ defaultKeymap,
101
+ history,
102
+ historyKeymap
103
+ }, {
104
+ bracketMatching,
105
+ syntaxHighlighting
106
+ }] = yield Promise.all([import('@codemirror/view'), import('@codemirror/commands'), import('@codemirror/language')]);
107
+ const languageExtension = yield this._loadLanguageTask.perform(language);
108
+ const handleUpdateExtension = EditorView.updateListener.of(update => {
109
+ // toggle a class if the update has/does not have a selection
110
+ if (update.selectionSet) {
111
+ update.view.dom.classList.toggle('cm-hasSelection', !update.state.selection.main.empty);
112
+ }
113
+
114
+ // call the onInput callback if the document has changed
115
+ if (!update.docChanged || this.onInput === undefined) {
116
+ return;
117
+ }
118
+ this.onInput(update.state.doc.toString());
119
+ });
120
+ let extensions = [bracketMatching(), highlightActiveLine(), highlightActiveLineGutter(), highlightSpecialChars(), history(), lineNumbers(), keymap.of([...defaultKeymap, ...historyKeymap]),
121
+ // custom extensions
122
+ handleUpdateExtension,
123
+ // hds dark theme
124
+ hdsDark, syntaxHighlighting(hdsDarkHighlightStyle)];
125
+ if (languageExtension !== undefined) {
126
+ extensions = [languageExtension, ...extensions];
127
+ }
128
+ return extensions;
129
+ }
130
+ }), {
131
+ drop: true
132
+ }, "_buildExtensionsTask", null));
133
+ _defineProperty(this, "_createEditorTask", buildTask(() => ({
134
+ context: this,
135
+ generator: function* (element, {
136
+ language,
137
+ value
138
+ }) {
139
+ try {
140
+ const {
141
+ EditorState
142
+ } = yield import('@codemirror/state');
143
+ const {
144
+ EditorView
145
+ } = yield import('@codemirror/view');
146
+ const extensions = yield this._buildExtensionsTask.perform({
147
+ language
148
+ });
149
+ const state = EditorState.create({
150
+ doc: value,
151
+ extensions
152
+ });
153
+ const editor = new EditorView({
154
+ state,
155
+ parent: element
156
+ });
157
+ return editor;
158
+ } catch (error) {
159
+ console.error(`\`hds-code-editor\` modifier - Failed to setup the CodeMirror editor. Error: ${JSON.stringify(error)}`);
160
+ }
161
+ }
162
+ }), {
163
+ drop: true
164
+ }, "_createEditorTask", null));
165
+ _defineProperty(this, "_setupTask", buildTask(() => ({
166
+ context: this,
167
+ generator: function* (element, _positional, named) {
168
+ const {
169
+ onBlur,
170
+ onInput,
171
+ onSetup,
172
+ ariaDescribedBy,
173
+ ariaLabel,
174
+ ariaLabelledBy,
175
+ language,
176
+ value
177
+ } = named;
178
+ this.onInput = onInput;
179
+ this.onBlur = onBlur;
180
+ this.element = element;
181
+ const editor = yield this._createEditorTask.perform(element, {
182
+ language,
183
+ value
184
+ });
185
+ if (editor === undefined) {
186
+ return;
187
+ }
188
+ this.editor = editor;
189
+ if (onBlur !== undefined) {
190
+ this._setupEditorBlurHandler(element, onBlur);
191
+ }
192
+ this._setupEditorAriaAttributes(editor, {
193
+ ariaDescribedBy,
194
+ ariaLabel,
195
+ ariaLabelledBy
196
+ });
197
+ onSetup?.(this.editor);
198
+ }
199
+ }), {
200
+ drop: true
201
+ }, "_setupTask", null));
202
+ registerDestructor(this, () => {
203
+ this.observer?.disconnect();
204
+ if (this.onBlur !== undefined) {
205
+ this.element.removeEventListener('blur', this.blurHandler);
206
+ }
207
+ });
208
+ }
209
+ modify(element, positional, named) {
210
+ // the intersection observer makes loading unreliable in tests
211
+ if (config.environment === 'test') {
212
+ this._setupTask.perform(element, positional, named);
213
+ } else {
214
+ this.observer = new IntersectionObserver(entries => {
215
+ entries.forEach(entry => {
216
+ const setupHasNotRun = this._setupTask.performCount === 0;
217
+ if (entry.isIntersecting && setupHasNotRun) {
218
+ this._setupTask.perform(element, positional, named);
219
+ }
220
+ });
221
+ }, {
222
+ rootMargin: LOADER_HEIGHT
223
+ });
224
+ this.observer.observe(element);
225
+ }
226
+ }
227
+ _setupEditorBlurHandler(element, onBlur) {
228
+ const inputElement = element.querySelector('.cm-content');
229
+ if (inputElement === null) {
230
+ return;
231
+ }
232
+ this.blurHandler = event => onBlur(this.editor, event);
233
+ inputElement.addEventListener('blur', this.blurHandler);
234
+ }
235
+ _setupEditorAriaLabel(editor, {
236
+ ariaLabel,
237
+ ariaLabelledBy
238
+ }) {
239
+ assert('`hds-code-editor` modifier - Either `ariaLabel` or `ariaLabelledBy` must be provided', ariaLabel !== undefined || ariaLabelledBy !== undefined);
240
+ if (ariaLabel !== undefined) {
241
+ editor.dom.querySelector('[role="textbox"]')?.setAttribute('aria-label', ariaLabel);
242
+ } else if (ariaLabelledBy !== undefined) {
243
+ editor.dom.querySelector('[role="textbox"]')?.setAttribute('aria-labelledby', ariaLabelledBy);
244
+ }
245
+ }
246
+ _setupEditorAriaDescribedBy(editor, ariaDescribedBy) {
247
+ if (ariaDescribedBy === undefined) {
248
+ return;
249
+ }
250
+ editor.dom.querySelector('[role="textbox"]')?.setAttribute('aria-describedby', ariaDescribedBy);
251
+ }
252
+ _setupEditorAriaAttributes(editor, {
253
+ ariaDescribedBy,
254
+ ariaLabel,
255
+ ariaLabelledBy
256
+ }) {
257
+ this._setupEditorAriaLabel(editor, {
258
+ ariaLabel,
259
+ ariaLabelledBy
260
+ });
261
+ this._setupEditorAriaDescribedBy(editor, ariaDescribedBy);
262
+ }
263
+ }
264
+
265
+ export { HdsCodeEditorModifier as default };
266
+ //# sourceMappingURL=hds-code-editor.js.map
@@ -0,0 +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 config from 'ember-get-config';\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 { 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 { EditorView, ViewUpdate } from '@codemirror/view';\n\ntype HdsCodeEditorBlurHandler = (editor: EditorView, event: FocusEvent) => void;\n\nexport interface HdsCodeEditorSignature {\n Args: {\n Named: {\n ariaDescribedBy?: string;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n language?: HdsCodeEditorLanguages;\n value?: string;\n onInput?: (newVal: string) => void;\n onBlur?: HdsCodeEditorBlurHandler;\n onSetup?: (editor: EditorView) => 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\nconst LOADER_HEIGHT = '164px';\n\nconst LANGUAGES: Record<\n HdsCodeEditorLanguages,\n { load: () => Promise<Extension | StreamLanguageType<unknown>> }\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 json: {\n load: async () => (await import('@codemirror/lang-json')).json(),\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 editor!: EditorView;\n element!: HTMLElement;\n\n onBlur: HdsCodeEditorSignature['Args']['Named']['onBlur'];\n onInput: HdsCodeEditorSignature['Args']['Named']['onInput'];\n\n blurHandler!: (event: FocusEvent) => void;\n observer!: IntersectionObserver;\n\n constructor(\n owner: HdsCodeEditorModifier,\n args: ArgsFor<HdsCodeEditorSignature>\n ) {\n super(owner, args);\n\n registerDestructor(this, () => {\n this.observer?.disconnect();\n\n if (this.onBlur !== undefined) {\n this.element.removeEventListener('blur', this.blurHandler);\n }\n });\n }\n\n modify(\n element: HTMLElement,\n positional: PositionalArgs<HdsCodeEditorSignature>,\n named: NamedArgs<HdsCodeEditorSignature>\n ): void {\n // the intersection observer makes loading unreliable in tests\n if (config.environment === 'test') {\n this._setupTask.perform(element, positional, named);\n } else {\n this.observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n const setupHasNotRun = this._setupTask.performCount === 0;\n\n if (entry.isIntersecting && setupHasNotRun) {\n this._setupTask.perform(element, positional, named);\n }\n });\n },\n {\n rootMargin: LOADER_HEIGHT,\n }\n );\n\n this.observer.observe(element);\n }\n }\n\n private _setupEditorBlurHandler(\n element: HTMLElement,\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: EditorView,\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: EditorView,\n ariaDescribedBy?: string\n ) {\n if (ariaDescribedBy === undefined) {\n return;\n }\n\n editor.dom\n .querySelector('[role=\"textbox\"]')\n ?.setAttribute('aria-describedby', ariaDescribedBy);\n }\n\n private _setupEditorAriaAttributes(\n editor: EditorView,\n {\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n }: Pick<\n HdsCodeEditorSignature['Args']['Named'],\n 'ariaDescribedBy' | 'ariaLabel' | 'ariaLabelledBy'\n >\n ) {\n this._setupEditorAriaLabel(editor, { ariaLabel, ariaLabelledBy });\n this._setupEditorAriaDescribedBy(editor, ariaDescribedBy);\n }\n\n private _loadLanguageTask = task(\n { drop: true },\n async (language?: HdsCodeEditorLanguages) => {\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 return LANGUAGES[language].load();\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({ drop: true }, async ({ language }) => {\n const [\n {\n EditorView,\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 languageExtension = await this._loadLanguageTask.perform(language);\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());\n }\n );\n\n let extensions = [\n bracketMatching(),\n highlightActiveLine(),\n highlightActiveLineGutter(),\n highlightSpecialChars(),\n history(),\n lineNumbers(),\n keymap.of([...defaultKeymap, ...historyKeymap]),\n // custom extensions\n handleUpdateExtension,\n // hds dark theme\n hdsDarkTheme,\n syntaxHighlighting(hdsDarkHighlightStyle),\n ];\n\n if (languageExtension !== undefined) {\n extensions = [languageExtension, ...extensions];\n }\n\n return extensions;\n });\n\n private _createEditorTask = task(\n { drop: true },\n async (\n element: HTMLElement,\n {\n language,\n value,\n }: Pick<HdsCodeEditorSignature['Args']['Named'], 'language' | 'value'>\n ) => {\n try {\n const { EditorState } = await import('@codemirror/state');\n const { EditorView } = await import('@codemirror/view');\n\n const extensions = await this._buildExtensionsTask.perform({\n language,\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 _setupTask = task(\n { drop: true },\n async (\n element: HTMLElement,\n _positional: PositionalArgs<HdsCodeEditorSignature>,\n named: NamedArgs<HdsCodeEditorSignature>\n ) => {\n const {\n onBlur,\n onInput,\n onSetup,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n language,\n value,\n } = named;\n\n this.onInput = onInput;\n this.onBlur = onBlur;\n\n this.element = element;\n\n const editor = await this._createEditorTask.perform(element, {\n language,\n value,\n });\n\n if (editor === undefined) {\n return;\n }\n\n this.editor = editor;\n\n if (onBlur !== undefined) {\n this._setupEditorBlurHandler(element, onBlur);\n }\n\n this._setupEditorAriaAttributes(editor, {\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n });\n\n onSetup?.(this.editor);\n }\n );\n}\n"],"names":["defineStreamLanguage","streamParser","StreamLanguage","define","LOADER_HEIGHT","LANGUAGES","ruby","load","sentinel","shell","go","hcl","json","sql","yaml","HdsCodeEditorModifier","Modifier","constructor","owner","args","_defineProperty","_buildTask","context","generator","language","undefined","validLanguageKeys","Object","keys","assert","join","includes","error","warn","JSON","stringify","id","drop","EditorView","keymap","lineNumbers","highlightActiveLineGutter","highlightSpecialChars","highlightActiveLine","defaultKeymap","history","historyKeymap","bracketMatching","syntaxHighlighting","Promise","all","languageExtension","_loadLanguageTask","perform","handleUpdateExtension","updateListener","of","update","selectionSet","view","dom","classList","toggle","state","selection","main","empty","docChanged","onInput","doc","toString","extensions","hdsDarkTheme","hdsDarkHighlightStyle","element","value","EditorState","_buildExtensionsTask","create","editor","parent","console","_positional","named","onBlur","onSetup","ariaDescribedBy","ariaLabel","ariaLabelledBy","_createEditorTask","_setupEditorBlurHandler","_setupEditorAriaAttributes","registerDestructor","observer","disconnect","removeEventListener","blurHandler","modify","positional","config","environment","_setupTask","IntersectionObserver","entries","forEach","entry","setupHasNotRun","performCount","isIntersecting","rootMargin","observe","inputElement","querySelector","event","addEventListener","_setupEditorAriaLabel","setAttribute","_setupEditorAriaDescribedBy"],"mappings":"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"}
@@ -17,21 +17,21 @@ import { modifier } from 'ember-modifier';
17
17
  var registerEvent = modifier((element, positional, named = {}) => {
18
18
  // the "target" element the listeners are added to
19
19
  // notice: this is the element the Ember modifier is attached to
20
- const targetElement = element;
20
+ const _targetElement = element;
21
21
  // the event name and handler to apply to the element
22
22
  // notice: it's expressed as "positional" argument (array) for the modifier
23
- const [event, eventHandler] = positional;
23
+ const [_event, _eventHandler] = positional;
24
24
  // the options for the `addEventListener()` method
25
25
  // see: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
26
26
  // notice: it's expressed as "named" argument (object) for the modifier
27
27
  const {
28
28
  useCapture = false
29
29
  } = named;
30
- targetElement.addEventListener(event, eventHandler, useCapture);
30
+ _targetElement.addEventListener(_event, _eventHandler, useCapture);
31
31
 
32
32
  // this (teardown) function is run when the element is removed from the DOM
33
33
  return () => {
34
- targetElement.removeEventListener(event, eventHandler, useCapture);
34
+ _targetElement.removeEventListener(_event, _eventHandler, useCapture);
35
35
  };
36
36
  });
37
37
 
@@ -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,aAAa,GAAGH,OAAO,CAAA;AAC7B;AACA;AACA,EAAA,MAAM,CAACI,KAAK,EAAEC,YAAY,CAAC,GAAGJ,UAAU,CAAA;AACxC;AACA;AACA;EACA,MAAM;AAAEK,IAAAA,UAAU,GAAG,KAAA;AAAM,GAAC,GAAGJ,KAAK,CAAA;EAEpCC,aAAa,CAACI,gBAAgB,CAACH,KAAK,EAAEC,YAAY,EAAEC,UAAU,CAAC,CAAA;;AAE/D;AACA,EAAA,OAAO,MAAY;IACjBH,aAAa,CAACK,mBAAmB,CAACJ,KAAK,EAAEC,YAAY,EAAEC,UAAU,CAAC,CAAA;GACnE,CAAA;AACH,CACF,CAAC;;;;"}
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;GACtE;AACH,CACF,CAAC;;;;"}