@hashicorp/design-system-components 3.5.0 → 4.0.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 (967) hide show
  1. package/README.md +2 -0
  2. package/addon-main.js +7 -0
  3. package/dist/LICENSE.md +375 -0
  4. package/dist/README.md +69 -0
  5. package/dist/_app_/components/hds/accordion/index.js +1 -0
  6. package/dist/_app_/components/hds/accordion/item/button.js +1 -0
  7. package/dist/_app_/components/hds/accordion/item/index.js +1 -0
  8. package/dist/_app_/components/hds/alert/description.js +1 -0
  9. package/dist/_app_/components/hds/alert/index.js +1 -0
  10. package/dist/_app_/components/hds/alert/title.js +1 -0
  11. package/dist/_app_/components/hds/app-footer/copyright.js +1 -0
  12. package/dist/_app_/components/hds/app-footer/index.js +1 -0
  13. package/dist/_app_/components/hds/app-footer/item.js +1 -0
  14. package/dist/_app_/components/hds/app-footer/legal-links.js +1 -0
  15. package/dist/_app_/components/hds/app-footer/link.js +1 -0
  16. package/dist/_app_/components/hds/app-footer/status-link.js +1 -0
  17. package/dist/_app_/components/hds/app-frame/index.js +1 -0
  18. package/dist/_app_/components/hds/app-frame/parts/footer.js +1 -0
  19. package/dist/_app_/components/hds/app-frame/parts/header.js +1 -0
  20. package/dist/_app_/components/hds/app-frame/parts/main.js +1 -0
  21. package/dist/_app_/components/hds/app-frame/parts/modals.js +1 -0
  22. package/dist/_app_/components/hds/app-frame/parts/sidebar.js +1 -0
  23. package/dist/_app_/components/hds/application-state/body.js +1 -0
  24. package/dist/_app_/components/hds/application-state/footer.js +1 -0
  25. package/dist/_app_/components/hds/application-state/header.js +1 -0
  26. package/dist/_app_/components/hds/application-state/index.js +1 -0
  27. package/dist/_app_/components/hds/badge/index.js +1 -0
  28. package/dist/_app_/components/hds/badge-count/index.js +1 -0
  29. package/dist/_app_/components/hds/breadcrumb/index.js +1 -0
  30. package/dist/_app_/components/hds/breadcrumb/item.js +1 -0
  31. package/dist/_app_/components/hds/breadcrumb/truncation.js +1 -0
  32. package/dist/_app_/components/hds/button/index.js +1 -0
  33. package/dist/_app_/components/hds/button-set/index.js +1 -0
  34. package/dist/_app_/components/hds/card/container.js +1 -0
  35. package/dist/_app_/components/hds/code-block/copy-button.js +1 -0
  36. package/dist/_app_/components/hds/code-block/description.js +1 -0
  37. package/dist/_app_/components/hds/code-block/index.js +1 -0
  38. package/dist/_app_/components/hds/code-block/title.js +1 -0
  39. package/dist/_app_/components/hds/copy/button/index.js +1 -0
  40. package/dist/_app_/components/hds/copy/snippet/index.js +1 -0
  41. package/dist/_app_/components/hds/disclosure-primitive/index.js +1 -0
  42. package/dist/_app_/components/hds/dismiss-button/index.js +1 -0
  43. package/dist/_app_/components/hds/dropdown/footer.js +1 -0
  44. package/dist/_app_/components/hds/dropdown/header.js +1 -0
  45. package/dist/_app_/components/hds/dropdown/index.js +1 -0
  46. package/dist/_app_/components/hds/dropdown/list-item/checkbox.js +1 -0
  47. package/dist/_app_/components/hds/dropdown/list-item/checkmark.js +1 -0
  48. package/dist/_app_/components/hds/dropdown/list-item/copy-item.js +1 -0
  49. package/dist/_app_/components/hds/dropdown/list-item/description.js +1 -0
  50. package/dist/_app_/components/hds/dropdown/list-item/generic.js +1 -0
  51. package/dist/_app_/components/hds/dropdown/list-item/interactive.js +1 -0
  52. package/dist/_app_/components/hds/dropdown/list-item/radio.js +1 -0
  53. package/dist/_app_/components/hds/dropdown/list-item/separator.js +1 -0
  54. package/dist/_app_/components/hds/dropdown/list-item/title.js +1 -0
  55. package/dist/_app_/components/hds/dropdown/toggle/button.js +1 -0
  56. package/dist/_app_/components/hds/dropdown/toggle/chevron.js +1 -0
  57. package/dist/_app_/components/hds/dropdown/toggle/icon.js +1 -0
  58. package/dist/_app_/components/hds/flyout/body.js +1 -0
  59. package/dist/_app_/components/hds/flyout/description.js +1 -0
  60. package/dist/_app_/components/hds/flyout/footer.js +1 -0
  61. package/dist/_app_/components/hds/flyout/header.js +1 -0
  62. package/dist/_app_/components/hds/flyout/index.js +1 -0
  63. package/dist/_app_/components/hds/form/character-count/index.js +1 -0
  64. package/dist/_app_/components/hds/form/checkbox/base.js +1 -0
  65. package/dist/_app_/components/hds/form/checkbox/field.js +1 -0
  66. package/dist/_app_/components/hds/form/checkbox/group.js +1 -0
  67. package/dist/_app_/components/hds/form/error/index.js +1 -0
  68. package/dist/_app_/components/hds/form/error/message.js +1 -0
  69. package/dist/_app_/components/hds/form/field/index.js +1 -0
  70. package/dist/_app_/components/hds/form/fieldset/index.js +1 -0
  71. package/dist/_app_/components/hds/form/file-input/base.js +1 -0
  72. package/dist/_app_/components/hds/form/file-input/field.js +1 -0
  73. package/dist/_app_/components/hds/form/helper-text/index.js +1 -0
  74. package/dist/_app_/components/hds/form/indicator/index.js +1 -0
  75. package/dist/_app_/components/hds/form/label/index.js +1 -0
  76. package/dist/_app_/components/hds/form/legend/index.js +1 -0
  77. package/dist/_app_/components/hds/form/masked-input/base.js +1 -0
  78. package/dist/_app_/components/hds/form/masked-input/field.js +1 -0
  79. package/dist/_app_/components/hds/form/radio/base.js +1 -0
  80. package/dist/_app_/components/hds/form/radio/field.js +1 -0
  81. package/dist/_app_/components/hds/form/radio/group.js +1 -0
  82. package/dist/_app_/components/hds/form/radio-card/description.js +1 -0
  83. package/dist/_app_/components/hds/form/radio-card/group.js +1 -0
  84. package/dist/_app_/components/hds/form/radio-card/index.js +1 -0
  85. package/dist/_app_/components/hds/form/radio-card/label.js +1 -0
  86. package/dist/_app_/components/hds/form/select/base.js +1 -0
  87. package/dist/_app_/components/hds/form/select/field.js +1 -0
  88. package/dist/_app_/components/hds/form/text-input/base.js +1 -0
  89. package/dist/_app_/components/hds/form/text-input/field.js +1 -0
  90. package/dist/_app_/components/hds/form/textarea/base.js +1 -0
  91. package/dist/_app_/components/hds/form/textarea/field.js +1 -0
  92. package/dist/_app_/components/hds/form/toggle/base.js +1 -0
  93. package/dist/_app_/components/hds/form/toggle/field.js +1 -0
  94. package/dist/_app_/components/hds/form/toggle/group.js +1 -0
  95. package/dist/_app_/components/hds/form/visibility-toggle/index.js +1 -0
  96. package/dist/_app_/components/hds/icon-tile/index.js +1 -0
  97. package/dist/_app_/components/hds/interactive/index.js +1 -0
  98. package/dist/_app_/components/hds/link/inline.js +1 -0
  99. package/dist/_app_/components/hds/link/standalone.js +1 -0
  100. package/dist/_app_/components/hds/menu-primitive/index.js +1 -0
  101. package/dist/_app_/components/hds/modal/body.js +1 -0
  102. package/dist/_app_/components/hds/modal/footer.js +1 -0
  103. package/dist/_app_/components/hds/modal/header.js +1 -0
  104. package/dist/_app_/components/hds/modal/index.js +1 -0
  105. package/dist/_app_/components/hds/page-header/actions.js +1 -0
  106. package/dist/_app_/components/hds/page-header/badges.js +1 -0
  107. package/dist/_app_/components/hds/page-header/description.js +1 -0
  108. package/dist/_app_/components/hds/page-header/index.js +1 -0
  109. package/dist/_app_/components/hds/page-header/subtitle.js +1 -0
  110. package/dist/_app_/components/hds/page-header/title.js +1 -0
  111. package/dist/_app_/components/hds/pagination/compact/index.js +1 -0
  112. package/dist/_app_/components/hds/pagination/info/index.js +1 -0
  113. package/dist/_app_/components/hds/pagination/nav/arrow.js +1 -0
  114. package/dist/_app_/components/hds/pagination/nav/ellipsis.js +1 -0
  115. package/dist/_app_/components/hds/pagination/nav/number.js +1 -0
  116. package/dist/_app_/components/hds/pagination/numbered/index.js +1 -0
  117. package/dist/_app_/components/hds/pagination/size-selector/index.js +1 -0
  118. package/dist/_app_/components/hds/reveal/index.js +1 -0
  119. package/dist/_app_/components/hds/reveal/toggle/button.js +1 -0
  120. package/dist/_app_/components/hds/segmented-group/index.js +1 -0
  121. package/dist/_app_/components/hds/separator/index.js +1 -0
  122. package/dist/_app_/components/hds/side-nav/base.js +1 -0
  123. package/dist/_app_/components/hds/side-nav/header/home-link.js +1 -0
  124. package/dist/_app_/components/hds/side-nav/header/icon-button.js +1 -0
  125. package/dist/_app_/components/hds/side-nav/header/index.js +1 -0
  126. package/dist/_app_/components/hds/side-nav/index.js +1 -0
  127. package/dist/_app_/components/hds/side-nav/list/back-link.js +1 -0
  128. package/dist/_app_/components/hds/side-nav/list/index.js +1 -0
  129. package/dist/_app_/components/hds/side-nav/list/item.js +1 -0
  130. package/dist/_app_/components/hds/side-nav/list/link.js +1 -0
  131. package/dist/_app_/components/hds/side-nav/list/title.js +1 -0
  132. package/dist/_app_/components/hds/side-nav/portal/index.js +1 -0
  133. package/dist/_app_/components/hds/side-nav/portal/target.js +1 -0
  134. package/dist/_app_/components/hds/side-nav/toggle-button.js +1 -0
  135. package/dist/_app_/components/hds/stepper/step/indicator.js +1 -0
  136. package/dist/_app_/components/hds/stepper/task/indicator.js +1 -0
  137. package/dist/_app_/components/hds/table/index.js +1 -0
  138. package/dist/_app_/components/hds/table/td.js +1 -0
  139. package/dist/_app_/components/hds/table/th-button-sort.js +1 -0
  140. package/dist/_app_/components/hds/table/th-button-tooltip.js +1 -0
  141. package/dist/_app_/components/hds/table/th-selectable.js +1 -0
  142. package/dist/_app_/components/hds/table/th-sort.js +1 -0
  143. package/dist/_app_/components/hds/table/th.js +1 -0
  144. package/dist/_app_/components/hds/table/tr.js +1 -0
  145. package/dist/_app_/components/hds/tabs/index.js +1 -0
  146. package/dist/_app_/components/hds/tabs/panel.js +1 -0
  147. package/dist/_app_/components/hds/tabs/tab.js +1 -0
  148. package/dist/_app_/components/hds/tag/index.js +1 -0
  149. package/dist/_app_/components/hds/text/body.js +1 -0
  150. package/dist/_app_/components/hds/text/code.js +1 -0
  151. package/dist/_app_/components/hds/text/display.js +1 -0
  152. package/dist/_app_/components/hds/text/index.js +1 -0
  153. package/dist/_app_/components/hds/toast/index.js +1 -0
  154. package/dist/_app_/components/hds/tooltip-button/index.js +1 -0
  155. package/dist/_app_/components/hds/yield/index.js +1 -0
  156. package/dist/_app_/helpers/hds-link-to-models.js +1 -0
  157. package/dist/_app_/helpers/hds-link-to-query.js +1 -0
  158. package/dist/_app_/modifiers/hds-clipboard.js +1 -0
  159. package/dist/_app_/modifiers/hds-tooltip.js +1 -0
  160. package/dist/_rollupPluginBabelHelpers-lqPQKyNs.js +78 -0
  161. package/dist/_rollupPluginBabelHelpers-lqPQKyNs.js.map +1 -0
  162. package/dist/components/hds/accordion/index.js +10 -0
  163. package/dist/components/hds/accordion/index.js.map +1 -0
  164. package/dist/components/hds/accordion/item/button.js +36 -0
  165. package/dist/components/hds/accordion/item/button.js.map +1 -0
  166. package/dist/components/hds/accordion/item/index.js +62 -0
  167. package/dist/components/hds/accordion/item/index.js.map +1 -0
  168. package/dist/components/hds/alert/description.js +10 -0
  169. package/dist/components/hds/alert/description.js.map +1 -0
  170. package/dist/components/hds/alert/index.js +153 -0
  171. package/dist/components/hds/alert/index.js.map +1 -0
  172. package/dist/components/hds/alert/title.js +10 -0
  173. package/dist/components/hds/alert/title.js.map +1 -0
  174. package/dist/components/hds/app-footer/copyright.js +26 -0
  175. package/dist/components/hds/app-footer/copyright.js.map +1 -0
  176. package/dist/components/hds/app-footer/index.js +48 -0
  177. package/dist/components/hds/app-footer/index.js.map +1 -0
  178. package/dist/components/hds/app-footer/item.js +10 -0
  179. package/dist/components/hds/app-footer/item.js.map +1 -0
  180. package/dist/components/hds/app-footer/legal-links.js +70 -0
  181. package/dist/components/hds/app-footer/legal-links.js.map +1 -0
  182. package/dist/components/hds/app-footer/link.js +10 -0
  183. package/dist/components/hds/app-footer/link.js.map +1 -0
  184. package/dist/components/hds/app-footer/status-link.js +116 -0
  185. package/dist/components/hds/app-footer/status-link.js.map +1 -0
  186. package/dist/components/hds/app-frame/index.js +60 -0
  187. package/dist/components/hds/app-frame/index.js.map +1 -0
  188. package/dist/components/hds/app-frame/parts/footer.js +10 -0
  189. package/dist/components/hds/app-frame/parts/footer.js.map +1 -0
  190. package/dist/components/hds/app-frame/parts/header.js +10 -0
  191. package/dist/components/hds/app-frame/parts/header.js.map +1 -0
  192. package/dist/components/hds/app-frame/parts/main.js +10 -0
  193. package/dist/components/hds/app-frame/parts/main.js.map +1 -0
  194. package/dist/components/hds/app-frame/parts/modals.js +10 -0
  195. package/dist/components/hds/app-frame/parts/modals.js.map +1 -0
  196. package/dist/components/hds/app-frame/parts/sidebar.js +10 -0
  197. package/dist/components/hds/app-frame/parts/sidebar.js.map +1 -0
  198. package/dist/components/hds/application-state/body.js +10 -0
  199. package/dist/components/hds/application-state/body.js.map +1 -0
  200. package/dist/components/hds/application-state/footer.js +42 -0
  201. package/dist/components/hds/application-state/footer.js.map +1 -0
  202. package/dist/components/hds/application-state/header.js +10 -0
  203. package/dist/components/hds/application-state/header.js.map +1 -0
  204. package/dist/components/hds/application-state/index.js +10 -0
  205. package/dist/components/hds/application-state/index.js.map +1 -0
  206. package/dist/components/hds/badge/index.js +127 -0
  207. package/dist/components/hds/badge/index.js.map +1 -0
  208. package/dist/components/hds/badge-count/index.js +90 -0
  209. package/dist/components/hds/badge-count/index.js.map +1 -0
  210. package/dist/components/hds/breadcrumb/index.js +66 -0
  211. package/dist/components/hds/breadcrumb/index.js.map +1 -0
  212. package/dist/components/hds/breadcrumb/item.js +59 -0
  213. package/dist/components/hds/breadcrumb/item.js.map +1 -0
  214. package/dist/components/hds/breadcrumb/truncation.js +25 -0
  215. package/dist/components/hds/breadcrumb/truncation.js.map +1 -0
  216. package/dist/components/hds/button/index.js +157 -0
  217. package/dist/components/hds/button/index.js.map +1 -0
  218. package/dist/components/hds/button-set/index.js +10 -0
  219. package/dist/components/hds/button-set/index.js.map +1 -0
  220. package/dist/components/hds/card/container.js +130 -0
  221. package/dist/components/hds/card/container.js.map +1 -0
  222. package/dist/components/hds/code-block/copy-button.js +10 -0
  223. package/dist/components/hds/code-block/copy-button.js.map +1 -0
  224. package/dist/components/hds/code-block/description.js +10 -0
  225. package/dist/components/hds/code-block/description.js.map +1 -0
  226. package/dist/components/hds/code-block/index.js +160 -0
  227. package/dist/components/hds/code-block/index.js.map +1 -0
  228. package/dist/components/hds/code-block/title.js +10 -0
  229. package/dist/components/hds/code-block/title.js.map +1 -0
  230. package/dist/components/hds/copy/button/index.js +109 -0
  231. package/dist/components/hds/copy/button/index.js.map +1 -0
  232. package/dist/components/hds/copy/snippet/index.js +142 -0
  233. package/dist/components/hds/copy/snippet/index.js.map +1 -0
  234. package/dist/components/hds/disclosure-primitive/index.js +41 -0
  235. package/dist/components/hds/disclosure-primitive/index.js.map +1 -0
  236. package/dist/components/hds/dismiss-button/index.js +25 -0
  237. package/dist/components/hds/dismiss-button/index.js.map +1 -0
  238. package/dist/components/hds/dropdown/footer.js +10 -0
  239. package/dist/components/hds/dropdown/footer.js.map +1 -0
  240. package/dist/components/hds/dropdown/header.js +10 -0
  241. package/dist/components/hds/dropdown/header.js.map +1 -0
  242. package/dist/components/hds/dropdown/index.js +72 -0
  243. package/dist/components/hds/dropdown/index.js.map +1 -0
  244. package/dist/components/hds/dropdown/list-item/checkbox.js +24 -0
  245. package/dist/components/hds/dropdown/list-item/checkbox.js.map +1 -0
  246. package/dist/components/hds/dropdown/list-item/checkmark.js +31 -0
  247. package/dist/components/hds/dropdown/list-item/checkmark.js.map +1 -0
  248. package/dist/components/hds/dropdown/list-item/copy-item.js +53 -0
  249. package/dist/components/hds/dropdown/list-item/copy-item.js.map +1 -0
  250. package/dist/components/hds/dropdown/list-item/description.js +30 -0
  251. package/dist/components/hds/dropdown/list-item/description.js.map +1 -0
  252. package/dist/components/hds/dropdown/list-item/generic.js +10 -0
  253. package/dist/components/hds/dropdown/list-item/generic.js.map +1 -0
  254. package/dist/components/hds/dropdown/list-item/interactive.js +59 -0
  255. package/dist/components/hds/dropdown/list-item/interactive.js.map +1 -0
  256. package/dist/components/hds/dropdown/list-item/radio.js +24 -0
  257. package/dist/components/hds/dropdown/list-item/radio.js.map +1 -0
  258. package/dist/components/hds/dropdown/list-item/separator.js +10 -0
  259. package/dist/components/hds/dropdown/list-item/separator.js.map +1 -0
  260. package/dist/components/hds/dropdown/list-item/title.js +30 -0
  261. package/dist/components/hds/dropdown/list-item/title.js.map +1 -0
  262. package/dist/components/hds/dropdown/toggle/button.js +134 -0
  263. package/dist/components/hds/dropdown/toggle/button.js.map +1 -0
  264. package/dist/components/hds/dropdown/toggle/chevron.js +10 -0
  265. package/dist/components/hds/dropdown/toggle/chevron.js.map +1 -0
  266. package/dist/components/hds/dropdown/toggle/icon.js +116 -0
  267. package/dist/components/hds/dropdown/toggle/icon.js.map +1 -0
  268. package/dist/components/hds/flyout/body.js +10 -0
  269. package/dist/components/hds/flyout/body.js.map +1 -0
  270. package/dist/components/hds/flyout/description.js +10 -0
  271. package/dist/components/hds/flyout/description.js.map +1 -0
  272. package/dist/components/hds/flyout/footer.js +10 -0
  273. package/dist/components/hds/flyout/footer.js.map +1 -0
  274. package/dist/components/hds/flyout/header.js +10 -0
  275. package/dist/components/hds/flyout/header.js.map +1 -0
  276. package/dist/components/hds/flyout/index.js +156 -0
  277. package/dist/components/hds/flyout/index.js.map +1 -0
  278. package/dist/components/hds/form/character-count/index.js +149 -0
  279. package/dist/components/hds/form/character-count/index.js.map +1 -0
  280. package/dist/components/hds/form/checkbox/base.js +10 -0
  281. package/dist/components/hds/form/checkbox/base.js.map +1 -0
  282. package/dist/components/hds/form/checkbox/field.js +10 -0
  283. package/dist/components/hds/form/checkbox/field.js.map +1 -0
  284. package/dist/components/hds/form/checkbox/group.js +10 -0
  285. package/dist/components/hds/form/checkbox/group.js.map +1 -0
  286. package/dist/components/hds/form/error/index.js +68 -0
  287. package/dist/components/hds/form/error/index.js.map +1 -0
  288. package/dist/components/hds/form/error/message.js +10 -0
  289. package/dist/components/hds/form/error/message.js.map +1 -0
  290. package/dist/components/hds/form/field/index.js +107 -0
  291. package/dist/components/hds/form/field/index.js.map +1 -0
  292. package/dist/components/hds/form/fieldset/index.js +93 -0
  293. package/dist/components/hds/form/fieldset/index.js.map +1 -0
  294. package/dist/components/hds/form/file-input/base.js +10 -0
  295. package/dist/components/hds/form/file-input/base.js.map +1 -0
  296. package/dist/components/hds/form/file-input/field.js +10 -0
  297. package/dist/components/hds/form/file-input/field.js.map +1 -0
  298. package/dist/components/hds/form/helper-text/index.js +68 -0
  299. package/dist/components/hds/form/helper-text/index.js.map +1 -0
  300. package/dist/components/hds/form/indicator/index.js +30 -0
  301. package/dist/components/hds/form/indicator/index.js.map +1 -0
  302. package/dist/components/hds/form/label/index.js +36 -0
  303. package/dist/components/hds/form/label/index.js.map +1 -0
  304. package/dist/components/hds/form/legend/index.js +36 -0
  305. package/dist/components/hds/form/legend/index.js.map +1 -0
  306. package/dist/components/hds/form/masked-input/base.js +96 -0
  307. package/dist/components/hds/form/masked-input/base.js.map +1 -0
  308. package/dist/components/hds/form/masked-input/field.js +10 -0
  309. package/dist/components/hds/form/masked-input/field.js.map +1 -0
  310. package/dist/components/hds/form/radio/base.js +10 -0
  311. package/dist/components/hds/form/radio/base.js.map +1 -0
  312. package/dist/components/hds/form/radio/field.js +10 -0
  313. package/dist/components/hds/form/radio/field.js.map +1 -0
  314. package/dist/components/hds/form/radio/group.js +10 -0
  315. package/dist/components/hds/form/radio/group.js.map +1 -0
  316. package/dist/components/hds/form/radio-card/description.js +10 -0
  317. package/dist/components/hds/form/radio-card/description.js.map +1 -0
  318. package/dist/components/hds/form/radio-card/group.js +10 -0
  319. package/dist/components/hds/form/radio-card/group.js.map +1 -0
  320. package/dist/components/hds/form/radio-card/index.js +107 -0
  321. package/dist/components/hds/form/radio-card/index.js.map +1 -0
  322. package/dist/components/hds/form/radio-card/label.js +10 -0
  323. package/dist/components/hds/form/radio-card/label.js.map +1 -0
  324. package/dist/components/hds/form/select/base.js +34 -0
  325. package/dist/components/hds/form/select/base.js.map +1 -0
  326. package/dist/components/hds/form/select/field.js +10 -0
  327. package/dist/components/hds/form/select/field.js.map +1 -0
  328. package/dist/components/hds/form/text-input/base.js +62 -0
  329. package/dist/components/hds/form/text-input/base.js.map +1 -0
  330. package/dist/components/hds/form/text-input/field.js +85 -0
  331. package/dist/components/hds/form/text-input/field.js.map +1 -0
  332. package/dist/components/hds/form/textarea/base.js +34 -0
  333. package/dist/components/hds/form/textarea/base.js.map +1 -0
  334. package/dist/components/hds/form/textarea/field.js +10 -0
  335. package/dist/components/hds/form/textarea/field.js.map +1 -0
  336. package/dist/components/hds/form/toggle/base.js +10 -0
  337. package/dist/components/hds/form/toggle/base.js.map +1 -0
  338. package/dist/components/hds/form/toggle/field.js +10 -0
  339. package/dist/components/hds/form/toggle/field.js.map +1 -0
  340. package/dist/components/hds/form/toggle/group.js +10 -0
  341. package/dist/components/hds/form/toggle/group.js.map +1 -0
  342. package/dist/components/hds/form/visibility-toggle/index.js +10 -0
  343. package/dist/components/hds/form/visibility-toggle/index.js.map +1 -0
  344. package/dist/components/hds/icon-tile/index.js +158 -0
  345. package/dist/components/hds/icon-tile/index.js.map +1 -0
  346. package/dist/components/hds/interactive/index.js +41 -0
  347. package/dist/components/hds/interactive/index.js.map +1 -0
  348. package/dist/components/hds/link/inline.js +72 -0
  349. package/dist/components/hds/link/inline.js.map +1 -0
  350. package/dist/components/hds/link/standalone.js +132 -0
  351. package/dist/components/hds/link/standalone.js.map +1 -0
  352. package/dist/components/hds/menu-primitive/index.js +68 -0
  353. package/dist/components/hds/menu-primitive/index.js.map +1 -0
  354. package/dist/components/hds/modal/body.js +10 -0
  355. package/dist/components/hds/modal/body.js.map +1 -0
  356. package/dist/components/hds/modal/footer.js +10 -0
  357. package/dist/components/hds/modal/footer.js.map +1 -0
  358. package/dist/components/hds/modal/header.js +10 -0
  359. package/dist/components/hds/modal/header.js.map +1 -0
  360. package/dist/components/hds/modal/index.js +196 -0
  361. package/dist/components/hds/modal/index.js.map +1 -0
  362. package/dist/components/hds/page-header/actions.js +10 -0
  363. package/dist/components/hds/page-header/actions.js.map +1 -0
  364. package/dist/components/hds/page-header/badges.js +10 -0
  365. package/dist/components/hds/page-header/badges.js.map +1 -0
  366. package/dist/components/hds/page-header/description.js +10 -0
  367. package/dist/components/hds/page-header/description.js.map +1 -0
  368. package/dist/components/hds/page-header/index.js +10 -0
  369. package/dist/components/hds/page-header/index.js.map +1 -0
  370. package/dist/components/hds/page-header/subtitle.js +10 -0
  371. package/dist/components/hds/page-header/subtitle.js.map +1 -0
  372. package/dist/components/hds/page-header/title.js +10 -0
  373. package/dist/components/hds/page-header/title.js.map +1 -0
  374. package/dist/components/hds/pagination/compact/index.js +159 -0
  375. package/dist/components/hds/pagination/compact/index.js.map +1 -0
  376. package/dist/components/hds/pagination/info/index.js +25 -0
  377. package/dist/components/hds/pagination/info/index.js.map +1 -0
  378. package/dist/components/hds/pagination/nav/arrow.js +70 -0
  379. package/dist/components/hds/pagination/nav/arrow.js.map +1 -0
  380. package/dist/components/hds/pagination/nav/ellipsis.js +10 -0
  381. package/dist/components/hds/pagination/nav/ellipsis.js.map +1 -0
  382. package/dist/components/hds/pagination/nav/number.js +44 -0
  383. package/dist/components/hds/pagination/nav/number.js.map +1 -0
  384. package/dist/components/hds/pagination/numbered/index.js +305 -0
  385. package/dist/components/hds/pagination/numbered/index.js.map +1 -0
  386. package/dist/components/hds/pagination/size-selector/index.js +72 -0
  387. package/dist/components/hds/pagination/size-selector/index.js.map +1 -0
  388. package/dist/components/hds/reveal/index.js +36 -0
  389. package/dist/components/hds/reveal/index.js.map +1 -0
  390. package/dist/components/hds/reveal/toggle/button.js +31 -0
  391. package/dist/components/hds/reveal/toggle/button.js.map +1 -0
  392. package/dist/components/hds/segmented-group/index.js +10 -0
  393. package/dist/components/hds/segmented-group/index.js.map +1 -0
  394. package/dist/components/hds/separator/index.js +48 -0
  395. package/dist/components/hds/separator/index.js.map +1 -0
  396. package/dist/components/hds/side-nav/base.js +10 -0
  397. package/dist/components/hds/side-nav/base.js.map +1 -0
  398. package/dist/components/hds/side-nav/header/home-link.js +30 -0
  399. package/dist/components/hds/side-nav/header/home-link.js.map +1 -0
  400. package/dist/components/hds/side-nav/header/icon-button.js +30 -0
  401. package/dist/components/hds/side-nav/header/icon-button.js.map +1 -0
  402. package/dist/components/hds/side-nav/header/index.js +10 -0
  403. package/dist/components/hds/side-nav/header/index.js.map +1 -0
  404. package/dist/components/hds/side-nav/index.js +176 -0
  405. package/dist/components/hds/side-nav/index.js.map +1 -0
  406. package/dist/components/hds/side-nav/list/back-link.js +10 -0
  407. package/dist/components/hds/side-nav/list/back-link.js.map +1 -0
  408. package/dist/components/hds/side-nav/list/index.js +10 -0
  409. package/dist/components/hds/side-nav/list/index.js.map +1 -0
  410. package/dist/components/hds/side-nav/list/item.js +10 -0
  411. package/dist/components/hds/side-nav/list/item.js.map +1 -0
  412. package/dist/components/hds/side-nav/list/link.js +10 -0
  413. package/dist/components/hds/side-nav/list/link.js.map +1 -0
  414. package/dist/components/hds/side-nav/list/title.js +10 -0
  415. package/dist/components/hds/side-nav/list/title.js.map +1 -0
  416. package/dist/components/hds/side-nav/portal/index.js +10 -0
  417. package/dist/components/hds/side-nav/portal/index.js.map +1 -0
  418. package/dist/components/hds/side-nav/portal/target.js +173 -0
  419. package/dist/components/hds/side-nav/portal/target.js.map +1 -0
  420. package/dist/components/hds/side-nav/toggle-button.js +10 -0
  421. package/dist/components/hds/side-nav/toggle-button.js.map +1 -0
  422. package/dist/components/hds/stepper/step/indicator.js +59 -0
  423. package/dist/components/hds/stepper/step/indicator.js.map +1 -0
  424. package/dist/components/hds/stepper/task/indicator.js +74 -0
  425. package/dist/components/hds/stepper/task/indicator.js.map +1 -0
  426. package/dist/components/hds/table/index.js +269 -0
  427. package/dist/components/hds/table/index.js.map +1 -0
  428. package/dist/components/hds/table/td.js +48 -0
  429. package/dist/components/hds/table/td.js.map +1 -0
  430. package/dist/components/hds/table/th-button-sort.js +82 -0
  431. package/dist/components/hds/table/th-button-sort.js.map +1 -0
  432. package/dist/components/hds/table/th-button-tooltip.js +32 -0
  433. package/dist/components/hds/table/th-button-tooltip.js.map +1 -0
  434. package/dist/components/hds/table/th-selectable.js +81 -0
  435. package/dist/components/hds/table/th-selectable.js.map +1 -0
  436. package/dist/components/hds/table/th-sort.js +73 -0
  437. package/dist/components/hds/table/th-sort.js.map +1 -0
  438. package/dist/components/hds/table/th.js +54 -0
  439. package/dist/components/hds/table/th.js.map +1 -0
  440. package/dist/components/hds/table/tr.js +30 -0
  441. package/dist/components/hds/table/tr.js.map +1 -0
  442. package/dist/components/hds/tabs/index.js +242 -0
  443. package/dist/components/hds/tabs/index.js.map +1 -0
  444. package/dist/components/hds/tabs/panel.js +60 -0
  445. package/dist/components/hds/tabs/panel.js.map +1 -0
  446. package/dist/components/hds/tabs/tab.js +94 -0
  447. package/dist/components/hds/tabs/tab.js.map +1 -0
  448. package/dist/components/hds/tag/index.js +92 -0
  449. package/dist/components/hds/tag/index.js.map +1 -0
  450. package/dist/components/hds/text/body.js +63 -0
  451. package/dist/components/hds/text/body.js.map +1 -0
  452. package/dist/components/hds/text/code.js +63 -0
  453. package/dist/components/hds/text/code.js.map +1 -0
  454. package/dist/components/hds/text/display.js +76 -0
  455. package/dist/components/hds/text/display.js.map +1 -0
  456. package/dist/components/hds/text/index.js +131 -0
  457. package/dist/components/hds/text/index.js.map +1 -0
  458. package/dist/components/hds/toast/index.js +10 -0
  459. package/dist/components/hds/toast/index.js.map +1 -0
  460. package/dist/components/hds/tooltip-button/index.js +74 -0
  461. package/dist/components/hds/tooltip-button/index.js.map +1 -0
  462. package/dist/components/hds/yield/index.js +10 -0
  463. package/dist/components/hds/yield/index.js.map +1 -0
  464. package/dist/helpers/hds-link-to-models.js +34 -0
  465. package/dist/helpers/hds-link-to-models.js.map +1 -0
  466. package/dist/helpers/hds-link-to-query.js +29 -0
  467. package/dist/helpers/hds-link-to-query.js.map +1 -0
  468. package/dist/modifiers/hds-clipboard.js +152 -0
  469. package/dist/modifiers/hds-clipboard.js.map +1 -0
  470. package/dist/modifiers/hds-tooltip.js +153 -0
  471. package/dist/modifiers/hds-tooltip.js.map +1 -0
  472. package/dist/styles/@hashicorp/design-system-components.css +6600 -0
  473. package/dist/styles/@hashicorp/design-system-components.scss +67 -0
  474. package/dist/styles/@hashicorp/design-system-components.scss.map +1 -0
  475. package/dist/styles/components/flyout.scss +113 -0
  476. package/dist/styles/components/table.scss +277 -0
  477. package/dist/styles/components/tabs.scss +152 -0
  478. package/dist/template-registry.js +2 -0
  479. package/dist/template-registry.js.map +1 -0
  480. package/dist/utils/hds-get-element-id.js +22 -0
  481. package/dist/utils/hds-get-element-id.js.map +1 -0
  482. package/dist/utils/hds-set-aria-described-by.js +17 -0
  483. package/dist/utils/hds-set-aria-described-by.js.map +1 -0
  484. package/package.json +196 -62
  485. package/.stylelintignore +0 -26
  486. package/CHANGELOG-FIGMA-COMPONENTS.md +0 -191
  487. package/CHANGELOG-FIGMA-FOUNDATIONS.md +0 -13
  488. package/CHANGELOG.md +0 -1597
  489. package/HOW-TO-TEST-A-COMPONENT-IN-CLOUD-UI.md +0 -100
  490. package/NEW-COMPONENT-CHECKLIST.md +0 -166
  491. package/RELEASE.md +0 -40
  492. package/addon/components/hds/accordion/index.hbs +0 -8
  493. package/addon/components/hds/accordion/item/button.hbs +0 -16
  494. package/addon/components/hds/accordion/item/button.js +0 -31
  495. package/addon/components/hds/accordion/item/index.hbs +0 -41
  496. package/addon/components/hds/accordion/item/index.js +0 -58
  497. package/addon/components/hds/alert/description.hbs +0 -5
  498. package/addon/components/hds/alert/index.hbs +0 -38
  499. package/addon/components/hds/alert/index.js +0 -164
  500. package/addon/components/hds/alert/title.hbs +0 -5
  501. package/addon/components/hds/app-footer/copyright.hbs +0 -9
  502. package/addon/components/hds/app-footer/copyright.js +0 -18
  503. package/addon/components/hds/app-footer/index.hbs +0 -20
  504. package/addon/components/hds/app-footer/index.js +0 -41
  505. package/addon/components/hds/app-footer/item.hbs +0 -8
  506. package/addon/components/hds/app-footer/legal-links.hbs +0 -14
  507. package/addon/components/hds/app-footer/legal-links.js +0 -67
  508. package/addon/components/hds/app-footer/link.hbs +0 -22
  509. package/addon/components/hds/app-footer/status-link.hbs +0 -20
  510. package/addon/components/hds/app-footer/status-link.js +0 -121
  511. package/addon/components/hds/app-frame/index.hbs +0 -24
  512. package/addon/components/hds/app-frame/index.js +0 -52
  513. package/addon/components/hds/app-frame/parts/footer.hbs +0 -7
  514. package/addon/components/hds/app-frame/parts/header.hbs +0 -7
  515. package/addon/components/hds/app-frame/parts/main.hbs +0 -7
  516. package/addon/components/hds/app-frame/parts/modals.hbs +0 -6
  517. package/addon/components/hds/app-frame/parts/sidebar.hbs +0 -7
  518. package/addon/components/hds/application-state/body.hbs +0 -13
  519. package/addon/components/hds/application-state/footer.hbs +0 -7
  520. package/addon/components/hds/application-state/footer.js +0 -35
  521. package/addon/components/hds/application-state/header.hbs +0 -20
  522. package/addon/components/hds/application-state/index.hbs +0 -13
  523. package/addon/components/hds/badge/index.hbs +0 -18
  524. package/addon/components/hds/badge/index.js +0 -146
  525. package/addon/components/hds/badge-count/index.hbs +0 -7
  526. package/addon/components/hds/badge-count/index.js +0 -99
  527. package/addon/components/hds/breadcrumb/index.hbs +0 -9
  528. package/addon/components/hds/breadcrumb/index.js +0 -59
  529. package/addon/components/hds/breadcrumb/item.hbs +0 -50
  530. package/addon/components/hds/breadcrumb/item.js +0 -55
  531. package/addon/components/hds/breadcrumb/truncation.hbs +0 -26
  532. package/addon/components/hds/breadcrumb/truncation.js +0 -17
  533. package/addon/components/hds/button/index.hbs +0 -45
  534. package/addon/components/hds/button/index.ts +0 -199
  535. package/addon/components/hds/button-set/index.hbs +0 -7
  536. package/addon/components/hds/card/container.hbs +0 -7
  537. package/addon/components/hds/card/container.js +0 -161
  538. package/addon/components/hds/code-block/copy-button.hbs +0 -13
  539. package/addon/components/hds/code-block/description.hbs +0 -8
  540. package/addon/components/hds/code-block/index.hbs +0 -27
  541. package/addon/components/hds/code-block/index.js +0 -167
  542. package/addon/components/hds/code-block/title.hbs +0 -8
  543. package/addon/components/hds/copy/button/index.hbs +0 -16
  544. package/addon/components/hds/copy/button/index.js +0 -103
  545. package/addon/components/hds/copy/snippet/index.hbs +0 -15
  546. package/addon/components/hds/copy/snippet/index.js +0 -135
  547. package/addon/components/hds/disclosure-primitive/index.hbs +0 -14
  548. package/addon/components/hds/disclosure-primitive/index.js +0 -30
  549. package/addon/components/hds/dismiss-button/index.hbs +0 -7
  550. package/addon/components/hds/dismiss-button/index.js +0 -17
  551. package/addon/components/hds/dropdown/footer.hbs +0 -8
  552. package/addon/components/hds/dropdown/header.hbs +0 -8
  553. package/addon/components/hds/dropdown/index.hbs +0 -36
  554. package/addon/components/hds/dropdown/index.js +0 -80
  555. package/addon/components/hds/dropdown/list-item/checkbox.hbs +0 -20
  556. package/addon/components/hds/dropdown/list-item/checkbox.js +0 -16
  557. package/addon/components/hds/dropdown/list-item/checkmark.hbs +0 -46
  558. package/addon/components/hds/dropdown/list-item/checkmark.js +0 -28
  559. package/addon/components/hds/dropdown/list-item/copy-item.hbs +0 -16
  560. package/addon/components/hds/dropdown/list-item/copy-item.js +0 -51
  561. package/addon/components/hds/dropdown/list-item/description.hbs +0 -14
  562. package/addon/components/hds/dropdown/list-item/description.js +0 -25
  563. package/addon/components/hds/dropdown/list-item/generic.hbs +0 -7
  564. package/addon/components/hds/dropdown/list-item/interactive.hbs +0 -37
  565. package/addon/components/hds/dropdown/list-item/interactive.js +0 -64
  566. package/addon/components/hds/dropdown/list-item/radio.hbs +0 -25
  567. package/addon/components/hds/dropdown/list-item/radio.js +0 -16
  568. package/addon/components/hds/dropdown/list-item/separator.hbs +0 -10
  569. package/addon/components/hds/dropdown/list-item/title.hbs +0 -14
  570. package/addon/components/hds/dropdown/list-item/title.js +0 -25
  571. package/addon/components/hds/dropdown/toggle/button.hbs +0 -38
  572. package/addon/components/hds/dropdown/toggle/button.js +0 -134
  573. package/addon/components/hds/dropdown/toggle/chevron.hbs +0 -8
  574. package/addon/components/hds/dropdown/toggle/icon.hbs +0 -23
  575. package/addon/components/hds/dropdown/toggle/icon.js +0 -119
  576. package/addon/components/hds/flyout/body.hbs +0 -7
  577. package/addon/components/hds/flyout/description.hbs +0 -7
  578. package/addon/components/hds/flyout/footer.hbs +0 -7
  579. package/addon/components/hds/flyout/header.hbs +0 -18
  580. package/addon/components/hds/flyout/index.hbs +0 -20
  581. package/addon/components/hds/flyout/index.js +0 -168
  582. package/addon/components/hds/form/character-count/index.hbs +0 -28
  583. package/addon/components/hds/form/character-count/index.js +0 -178
  584. package/addon/components/hds/form/checkbox/base.hbs +0 -5
  585. package/addon/components/hds/form/checkbox/field.hbs +0 -24
  586. package/addon/components/hds/form/checkbox/group.hbs +0 -29
  587. package/addon/components/hds/form/error/index.hbs +0 -10
  588. package/addon/components/hds/form/error/index.js +0 -58
  589. package/addon/components/hds/form/error/message.hbs +0 -7
  590. package/addon/components/hds/form/field/index.hbs +0 -47
  591. package/addon/components/hds/form/field/index.js +0 -97
  592. package/addon/components/hds/form/fieldset/index.hbs +0 -33
  593. package/addon/components/hds/form/fieldset/index.js +0 -76
  594. package/addon/components/hds/form/file-input/base.hbs +0 -6
  595. package/addon/components/hds/form/file-input/field.hbs +0 -24
  596. package/addon/components/hds/form/helper-text/index.hbs +0 -15
  597. package/addon/components/hds/form/helper-text/index.js +0 -58
  598. package/addon/components/hds/form/indicator/index.hbs +0 -10
  599. package/addon/components/hds/form/indicator/index.js +0 -24
  600. package/addon/components/hds/form/label/index.hbs +0 -8
  601. package/addon/components/hds/form/label/index.js +0 -29
  602. package/addon/components/hds/form/legend/index.hbs +0 -8
  603. package/addon/components/hds/form/legend/index.js +0 -29
  604. package/addon/components/hds/form/masked-input/base.hbs +0 -40
  605. package/addon/components/hds/form/masked-input/base.js +0 -85
  606. package/addon/components/hds/form/masked-input/field.hbs +0 -33
  607. package/addon/components/hds/form/radio/base.hbs +0 -5
  608. package/addon/components/hds/form/radio/field.hbs +0 -24
  609. package/addon/components/hds/form/radio/group.hbs +0 -29
  610. package/addon/components/hds/form/radio-card/description.hbs +0 -10
  611. package/addon/components/hds/form/radio-card/group.hbs +0 -30
  612. package/addon/components/hds/form/radio-card/index.hbs +0 -24
  613. package/addon/components/hds/form/radio-card/index.js +0 -100
  614. package/addon/components/hds/form/radio-card/label.hbs +0 -11
  615. package/addon/components/hds/form/select/base.hbs +0 -7
  616. package/addon/components/hds/form/select/base.js +0 -27
  617. package/addon/components/hds/form/select/field.hbs +0 -30
  618. package/addon/components/hds/form/text-input/base.hbs +0 -5
  619. package/addon/components/hds/form/text-input/base.js +0 -72
  620. package/addon/components/hds/form/text-input/field.hbs +0 -41
  621. package/addon/components/hds/form/text-input/field.js +0 -59
  622. package/addon/components/hds/form/textarea/base.hbs +0 -6
  623. package/addon/components/hds/form/textarea/base.js +0 -27
  624. package/addon/components/hds/form/textarea/field.hbs +0 -28
  625. package/addon/components/hds/form/toggle/base.hbs +0 -8
  626. package/addon/components/hds/form/toggle/field.hbs +0 -23
  627. package/addon/components/hds/form/toggle/group.hbs +0 -21
  628. package/addon/components/hds/form/visibility-toggle/index.hbs +0 -8
  629. package/addon/components/hds/icon-tile/index.hbs +0 -23
  630. package/addon/components/hds/icon-tile/index.js +0 -189
  631. package/addon/components/hds/interactive/index.hbs +0 -32
  632. package/addon/components/hds/interactive/index.ts +0 -63
  633. package/addon/components/hds/link/inline.hbs +0 -22
  634. package/addon/components/hds/link/inline.js +0 -76
  635. package/addon/components/hds/link/standalone.hbs +0 -28
  636. package/addon/components/hds/link/standalone.js +0 -147
  637. package/addon/components/hds/menu-primitive/index.hbs +0 -22
  638. package/addon/components/hds/menu-primitive/index.js +0 -59
  639. package/addon/components/hds/modal/body.hbs +0 -7
  640. package/addon/components/hds/modal/footer.hbs +0 -7
  641. package/addon/components/hds/modal/header.hbs +0 -18
  642. package/addon/components/hds/modal/index.hbs +0 -19
  643. package/addon/components/hds/modal/index.js +0 -209
  644. package/addon/components/hds/page-header/actions.hbs +0 -5
  645. package/addon/components/hds/page-header/badges.hbs +0 -5
  646. package/addon/components/hds/page-header/description.hbs +0 -11
  647. package/addon/components/hds/page-header/index.hbs +0 -28
  648. package/addon/components/hds/page-header/subtitle.hbs +0 -11
  649. package/addon/components/hds/page-header/title.hbs +0 -11
  650. package/addon/components/hds/pagination/compact/index.hbs +0 -39
  651. package/addon/components/hds/pagination/compact/index.js +0 -163
  652. package/addon/components/hds/pagination/info/index.hbs +0 -11
  653. package/addon/components/hds/pagination/info/index.js +0 -17
  654. package/addon/components/hds/pagination/nav/arrow.hbs +0 -44
  655. package/addon/components/hds/pagination/nav/arrow.js +0 -77
  656. package/addon/components/hds/pagination/nav/ellipsis.hbs +0 -5
  657. package/addon/components/hds/pagination/nav/number.hbs +0 -17
  658. package/addon/components/hds/pagination/nav/number.js +0 -45
  659. package/addon/components/hds/pagination/numbered/index.hbs +0 -70
  660. package/addon/components/hds/pagination/numbered/index.js +0 -341
  661. package/addon/components/hds/pagination/size-selector/index.hbs +0 -16
  662. package/addon/components/hds/pagination/size-selector/index.js +0 -73
  663. package/addon/components/hds/reveal/index.hbs +0 -21
  664. package/addon/components/hds/reveal/index.js +0 -33
  665. package/addon/components/hds/reveal/toggle/button.hbs +0 -13
  666. package/addon/components/hds/reveal/toggle/button.js +0 -24
  667. package/addon/components/hds/segmented-group/index.hbs +0 -15
  668. package/addon/components/hds/separator/index.hbs +0 -5
  669. package/addon/components/hds/separator/index.js +0 -47
  670. package/addon/components/hds/side-nav/base.hbs +0 -19
  671. package/addon/components/hds/side-nav/header/home-link.hbs +0 -20
  672. package/addon/components/hds/side-nav/header/home-link.js +0 -25
  673. package/addon/components/hds/side-nav/header/icon-button.hbs +0 -20
  674. package/addon/components/hds/side-nav/header/icon-button.js +0 -25
  675. package/addon/components/hds/side-nav/header/index.hbs +0 -13
  676. package/addon/components/hds/side-nav/index.hbs +0 -42
  677. package/addon/components/hds/side-nav/index.js +0 -147
  678. package/addon/components/hds/side-nav/list/back-link.hbs +0 -24
  679. package/addon/components/hds/side-nav/list/index.hbs +0 -19
  680. package/addon/components/hds/side-nav/list/item.hbs +0 -8
  681. package/addon/components/hds/side-nav/list/link.hbs +0 -50
  682. package/addon/components/hds/side-nav/list/title.hbs +0 -8
  683. package/addon/components/hds/side-nav/portal/index.hbs +0 -12
  684. package/addon/components/hds/side-nav/portal/target.hbs +0 -14
  685. package/addon/components/hds/side-nav/portal/target.js +0 -162
  686. package/addon/components/hds/side-nav/toggle-button.hbs +0 -7
  687. package/addon/components/hds/stepper/step/indicator.hbs +0 -28
  688. package/addon/components/hds/stepper/step/indicator.js +0 -59
  689. package/addon/components/hds/stepper/task/indicator.hbs +0 -7
  690. package/addon/components/hds/stepper/task/indicator.js +0 -74
  691. package/addon/components/hds/table/index.hbs +0 -78
  692. package/addon/components/hds/table/index.js +0 -182
  693. package/addon/components/hds/table/td.hbs +0 -7
  694. package/addon/components/hds/table/td.js +0 -50
  695. package/addon/components/hds/table/th-sort.hbs +0 -18
  696. package/addon/components/hds/table/th-sort.js +0 -94
  697. package/addon/components/hds/table/th.hbs +0 -11
  698. package/addon/components/hds/table/th.js +0 -50
  699. package/addon/components/hds/table/tr.hbs +0 -7
  700. package/addon/components/hds/tabs/index.hbs +0 -47
  701. package/addon/components/hds/tabs/index.js +0 -211
  702. package/addon/components/hds/tabs/panel.hbs +0 -16
  703. package/addon/components/hds/tabs/panel.js +0 -59
  704. package/addon/components/hds/tabs/tab.hbs +0 -31
  705. package/addon/components/hds/tabs/tab.js +0 -98
  706. package/addon/components/hds/tag/index.hbs +0 -30
  707. package/addon/components/hds/tag/index.js +0 -91
  708. package/addon/components/hds/text/body.hbs +0 -13
  709. package/addon/components/hds/text/body.js +0 -73
  710. package/addon/components/hds/text/code.hbs +0 -13
  711. package/addon/components/hds/text/code.js +0 -73
  712. package/addon/components/hds/text/display.hbs +0 -13
  713. package/addon/components/hds/text/display.js +0 -85
  714. package/addon/components/hds/text/index.hbs +0 -10
  715. package/addon/components/hds/text/index.js +0 -146
  716. package/addon/components/hds/toast/index.hbs +0 -17
  717. package/addon/components/hds/tooltip-button/index.hbs +0 -11
  718. package/addon/components/hds/tooltip-button/index.js +0 -86
  719. package/addon/components/hds/yield/index.hbs +0 -6
  720. package/addon/helpers/hds-link-to-models.js +0 -35
  721. package/addon/helpers/hds-link-to-query.js +0 -26
  722. package/addon/modifiers/hds-clipboard.js +0 -163
  723. package/addon/modifiers/hds-tooltip.js +0 -164
  724. package/addon/template-registry.ts +0 -12
  725. package/addon/utils/hds-get-element-id.js +0 -19
  726. package/addon/utils/hds-set-aria-described-by.js +0 -15
  727. package/app/components/hds/accordion/index.js +0 -6
  728. package/app/components/hds/accordion/item/button.js +0 -6
  729. package/app/components/hds/accordion/item/index.js +0 -6
  730. package/app/components/hds/alert/description.js +0 -6
  731. package/app/components/hds/alert/index.js +0 -6
  732. package/app/components/hds/alert/title.js +0 -6
  733. package/app/components/hds/app-footer/copyright.js +0 -6
  734. package/app/components/hds/app-footer/index.js +0 -6
  735. package/app/components/hds/app-footer/item.js +0 -6
  736. package/app/components/hds/app-footer/legal-links.js +0 -6
  737. package/app/components/hds/app-footer/link.js +0 -6
  738. package/app/components/hds/app-footer/status-link.js +0 -6
  739. package/app/components/hds/app-frame/index.js +0 -6
  740. package/app/components/hds/app-frame/parts/footer.js +0 -6
  741. package/app/components/hds/app-frame/parts/header.js +0 -6
  742. package/app/components/hds/app-frame/parts/main.js +0 -6
  743. package/app/components/hds/app-frame/parts/modals.js +0 -6
  744. package/app/components/hds/app-frame/parts/sidebar.js +0 -6
  745. package/app/components/hds/application-state/body.js +0 -6
  746. package/app/components/hds/application-state/footer.js +0 -6
  747. package/app/components/hds/application-state/header.js +0 -6
  748. package/app/components/hds/application-state/index.js +0 -6
  749. package/app/components/hds/badge/index.js +0 -6
  750. package/app/components/hds/badge-count/index.js +0 -6
  751. package/app/components/hds/breadcrumb/index.js +0 -6
  752. package/app/components/hds/breadcrumb/item.js +0 -6
  753. package/app/components/hds/breadcrumb/truncation.js +0 -6
  754. package/app/components/hds/button/index.js +0 -6
  755. package/app/components/hds/button-set/index.js +0 -6
  756. package/app/components/hds/card/container.js +0 -6
  757. package/app/components/hds/code-block/copy-button.js +0 -6
  758. package/app/components/hds/code-block/description.js +0 -6
  759. package/app/components/hds/code-block/index.js +0 -6
  760. package/app/components/hds/code-block/title.js +0 -6
  761. package/app/components/hds/copy/button/index.js +0 -6
  762. package/app/components/hds/copy/snippet/index.js +0 -6
  763. package/app/components/hds/disclosure-primitive/index.js +0 -6
  764. package/app/components/hds/dismiss-button/index.js +0 -6
  765. package/app/components/hds/dropdown/footer.js +0 -6
  766. package/app/components/hds/dropdown/header.js +0 -6
  767. package/app/components/hds/dropdown/index.js +0 -6
  768. package/app/components/hds/dropdown/list-item/checkbox.js +0 -6
  769. package/app/components/hds/dropdown/list-item/checkmark.js +0 -6
  770. package/app/components/hds/dropdown/list-item/copy-item.js +0 -6
  771. package/app/components/hds/dropdown/list-item/description.js +0 -6
  772. package/app/components/hds/dropdown/list-item/generic.js +0 -6
  773. package/app/components/hds/dropdown/list-item/interactive.js +0 -6
  774. package/app/components/hds/dropdown/list-item/radio.js +0 -6
  775. package/app/components/hds/dropdown/list-item/separator.js +0 -6
  776. package/app/components/hds/dropdown/list-item/title.js +0 -6
  777. package/app/components/hds/dropdown/toggle/button.js +0 -6
  778. package/app/components/hds/dropdown/toggle/chevron.js +0 -6
  779. package/app/components/hds/dropdown/toggle/icon.js +0 -6
  780. package/app/components/hds/flyout/body.js +0 -6
  781. package/app/components/hds/flyout/description.js +0 -6
  782. package/app/components/hds/flyout/footer.js +0 -6
  783. package/app/components/hds/flyout/header.js +0 -6
  784. package/app/components/hds/flyout/index.js +0 -6
  785. package/app/components/hds/form/character-count/index.js +0 -6
  786. package/app/components/hds/form/checkbox/base.js +0 -6
  787. package/app/components/hds/form/checkbox/field.js +0 -6
  788. package/app/components/hds/form/checkbox/group.js +0 -6
  789. package/app/components/hds/form/error/index.js +0 -6
  790. package/app/components/hds/form/error/message.js +0 -6
  791. package/app/components/hds/form/field/index.js +0 -6
  792. package/app/components/hds/form/fieldset/index.js +0 -6
  793. package/app/components/hds/form/file-input/base.js +0 -6
  794. package/app/components/hds/form/file-input/field.js +0 -6
  795. package/app/components/hds/form/helper-text/index.js +0 -6
  796. package/app/components/hds/form/indicator/index.js +0 -6
  797. package/app/components/hds/form/label/index.js +0 -6
  798. package/app/components/hds/form/legend/index.js +0 -6
  799. package/app/components/hds/form/masked-input/base.js +0 -6
  800. package/app/components/hds/form/masked-input/field.js +0 -6
  801. package/app/components/hds/form/radio/base.js +0 -6
  802. package/app/components/hds/form/radio/field.js +0 -6
  803. package/app/components/hds/form/radio/group.js +0 -6
  804. package/app/components/hds/form/radio-card/description.js +0 -6
  805. package/app/components/hds/form/radio-card/group.js +0 -6
  806. package/app/components/hds/form/radio-card/index.js +0 -6
  807. package/app/components/hds/form/radio-card/label.js +0 -6
  808. package/app/components/hds/form/select/base.js +0 -6
  809. package/app/components/hds/form/select/field.js +0 -6
  810. package/app/components/hds/form/text-input/base.js +0 -6
  811. package/app/components/hds/form/text-input/field.js +0 -6
  812. package/app/components/hds/form/textarea/base.js +0 -6
  813. package/app/components/hds/form/textarea/field.js +0 -6
  814. package/app/components/hds/form/toggle/base.js +0 -6
  815. package/app/components/hds/form/toggle/field.js +0 -6
  816. package/app/components/hds/form/toggle/group.js +0 -6
  817. package/app/components/hds/form/visibility-toggle/index.js +0 -6
  818. package/app/components/hds/icon-tile/index.js +0 -6
  819. package/app/components/hds/interactive/index.js +0 -6
  820. package/app/components/hds/link/inline.js +0 -6
  821. package/app/components/hds/link/standalone.js +0 -6
  822. package/app/components/hds/menu-primitive/index.js +0 -6
  823. package/app/components/hds/modal/body.js +0 -6
  824. package/app/components/hds/modal/footer.js +0 -6
  825. package/app/components/hds/modal/header.js +0 -6
  826. package/app/components/hds/modal/index.js +0 -6
  827. package/app/components/hds/page-header/actions.js +0 -6
  828. package/app/components/hds/page-header/badges.js +0 -6
  829. package/app/components/hds/page-header/description.js +0 -6
  830. package/app/components/hds/page-header/index.js +0 -6
  831. package/app/components/hds/page-header/subtitle.js +0 -6
  832. package/app/components/hds/page-header/title.js +0 -6
  833. package/app/components/hds/pagination/compact/index.js +0 -6
  834. package/app/components/hds/pagination/info.js +0 -6
  835. package/app/components/hds/pagination/nav/arrow.js +0 -6
  836. package/app/components/hds/pagination/nav/ellipsis.js +0 -6
  837. package/app/components/hds/pagination/nav/number.js +0 -6
  838. package/app/components/hds/pagination/numbered/index.js +0 -6
  839. package/app/components/hds/pagination/size-selector.js +0 -6
  840. package/app/components/hds/reveal/index.js +0 -6
  841. package/app/components/hds/reveal/toggle/button.js +0 -6
  842. package/app/components/hds/segmented-group/index.js +0 -6
  843. package/app/components/hds/separator/index.js +0 -6
  844. package/app/components/hds/side-nav/base.js +0 -6
  845. package/app/components/hds/side-nav/header/home-link.js +0 -6
  846. package/app/components/hds/side-nav/header/icon-button.js +0 -6
  847. package/app/components/hds/side-nav/header/index.js +0 -6
  848. package/app/components/hds/side-nav/index.js +0 -6
  849. package/app/components/hds/side-nav/list/back-link.js +0 -6
  850. package/app/components/hds/side-nav/list/index.js +0 -6
  851. package/app/components/hds/side-nav/list/item.js +0 -6
  852. package/app/components/hds/side-nav/list/link.js +0 -6
  853. package/app/components/hds/side-nav/list/title.js +0 -6
  854. package/app/components/hds/side-nav/portal/index.js +0 -6
  855. package/app/components/hds/side-nav/portal/target.js +0 -6
  856. package/app/components/hds/side-nav/toggle-button.js +0 -6
  857. package/app/components/hds/stepper/step/indicator.js +0 -6
  858. package/app/components/hds/stepper/task/indicator.js +0 -6
  859. package/app/components/hds/table/index.js +0 -6
  860. package/app/components/hds/table/td.js +0 -6
  861. package/app/components/hds/table/th-sort.js +0 -6
  862. package/app/components/hds/table/th.js +0 -6
  863. package/app/components/hds/table/tr.js +0 -6
  864. package/app/components/hds/tabs/index.js +0 -6
  865. package/app/components/hds/tabs/panel.js +0 -6
  866. package/app/components/hds/tabs/tab.js +0 -6
  867. package/app/components/hds/tag/index.js +0 -6
  868. package/app/components/hds/text/body.js +0 -6
  869. package/app/components/hds/text/code.js +0 -6
  870. package/app/components/hds/text/display.js +0 -6
  871. package/app/components/hds/text/index.js +0 -6
  872. package/app/components/hds/toast/index.js +0 -6
  873. package/app/components/hds/tooltip-button/index.js +0 -6
  874. package/app/components/hds/yield/index.js +0 -6
  875. package/app/helpers/hds-link-to-models.js +0 -6
  876. package/app/helpers/hds-link-to-query.js +0 -6
  877. package/app/modifiers/hds-clipboard.js +0 -6
  878. package/app/modifiers/hds-tooltip.js +0 -6
  879. package/app/styles/@hashicorp/design-system-components.scss +0 -64
  880. package/app/styles/components/flyout.scss +0 -111
  881. package/app/styles/components/table.scss +0 -208
  882. package/app/styles/components/tabs.scss +0 -117
  883. package/blueprints/hds-component/files/addon/components/hds/__name__/index.hbs +0 -8
  884. package/blueprints/hds-component/files/addon/components/hds/__name__/index.js +0 -28
  885. package/blueprints/hds-component/files/app/components/hds/__name__/index.js +0 -6
  886. package/blueprints/hds-component/files/app/styles/components/__name__.scss +0 -12
  887. package/blueprints/hds-component/index.js +0 -65
  888. package/blueprints/hds-component-test/files/tests/acceptance/components/hds/__name__.js +0 -21
  889. package/blueprints/hds-component-test/files/tests/dummy/app/routes/components/__name__.js +0 -8
  890. package/blueprints/hds-component-test/files/tests/dummy/app/styles/showcase-pages/__dummyCSSFileName__.scss +0 -6
  891. package/blueprints/hds-component-test/files/tests/dummy/app/templates/components/__name__.hbs +0 -17
  892. package/blueprints/hds-component-test/files/tests/integration/components/hds/__name__/index-test.js +0 -25
  893. package/blueprints/hds-component-test/index.js +0 -151
  894. package/config/environment.js +0 -10
  895. package/index.js +0 -32
  896. package/tsconfig.declarations.json +0 -10
  897. package/tsconfig.json +0 -47
  898. package/types/dummy/index.d.ts +0 -7
  899. package/types/global.d.ts +0 -12
  900. package/vercel.json +0 -13
  901. /package/{app → dist}/styles/@hashicorp/design-system-power-select-overrides.scss +0 -0
  902. /package/{app → dist}/styles/components/accordion.scss +0 -0
  903. /package/{app → dist}/styles/components/alert.scss +0 -0
  904. /package/{app → dist}/styles/components/app-footer.scss +0 -0
  905. /package/{app → dist}/styles/components/app-frame.scss +0 -0
  906. /package/{app → dist}/styles/components/application-state.scss +0 -0
  907. /package/{app → dist}/styles/components/badge-count.scss +0 -0
  908. /package/{app → dist}/styles/components/badge.scss +0 -0
  909. /package/{app → dist}/styles/components/breadcrumb.scss +0 -0
  910. /package/{app → dist}/styles/components/button-set.scss +0 -0
  911. /package/{app → dist}/styles/components/button.scss +0 -0
  912. /package/{app → dist}/styles/components/card/container.scss +0 -0
  913. /package/{app → dist}/styles/components/card/index.scss +0 -0
  914. /package/{app → dist}/styles/components/code-block/index.scss +0 -0
  915. /package/{app → dist}/styles/components/code-block/theme.scss +0 -0
  916. /package/{app → dist}/styles/components/copy/button.scss +0 -0
  917. /package/{app → dist}/styles/components/copy/index.scss +0 -0
  918. /package/{app → dist}/styles/components/copy/snippet.scss +0 -0
  919. /package/{app → dist}/styles/components/disclosure-primitive.scss +0 -0
  920. /package/{app → dist}/styles/components/dismiss-button.scss +0 -0
  921. /package/{app → dist}/styles/components/dropdown.scss +0 -0
  922. /package/{app → dist}/styles/components/form/character-count.scss +0 -0
  923. /package/{app → dist}/styles/components/form/checkbox.scss +0 -0
  924. /package/{app → dist}/styles/components/form/error.scss +0 -0
  925. /package/{app → dist}/styles/components/form/field.scss +0 -0
  926. /package/{app → dist}/styles/components/form/file-input.scss +0 -0
  927. /package/{app → dist}/styles/components/form/group.scss +0 -0
  928. /package/{app → dist}/styles/components/form/helper-text.scss +0 -0
  929. /package/{app → dist}/styles/components/form/index.scss +0 -0
  930. /package/{app → dist}/styles/components/form/indicator.scss +0 -0
  931. /package/{app → dist}/styles/components/form/label.scss +0 -0
  932. /package/{app → dist}/styles/components/form/legend.scss +0 -0
  933. /package/{app → dist}/styles/components/form/masked-input.scss +0 -0
  934. /package/{app → dist}/styles/components/form/radio-card.scss +0 -0
  935. /package/{app → dist}/styles/components/form/radio.scss +0 -0
  936. /package/{app → dist}/styles/components/form/select.scss +0 -0
  937. /package/{app → dist}/styles/components/form/text-input.scss +0 -0
  938. /package/{app → dist}/styles/components/form/textarea.scss +0 -0
  939. /package/{app → dist}/styles/components/form/toggle.scss +0 -0
  940. /package/{app → dist}/styles/components/form/visibility-toggle.scss +0 -0
  941. /package/{app → dist}/styles/components/icon-tile.scss +0 -0
  942. /package/{app → dist}/styles/components/link/index.scss +0 -0
  943. /package/{app → dist}/styles/components/link/inline.scss +0 -0
  944. /package/{app → dist}/styles/components/link/standalone.scss +0 -0
  945. /package/{app → dist}/styles/components/menu-primitive.scss +0 -0
  946. /package/{app → dist}/styles/components/modal.scss +0 -0
  947. /package/{app → dist}/styles/components/page-header.scss +0 -0
  948. /package/{app → dist}/styles/components/pagination.scss +0 -0
  949. /package/{app → dist}/styles/components/reveal.scss +0 -0
  950. /package/{app → dist}/styles/components/segmented-group.scss +0 -0
  951. /package/{app → dist}/styles/components/separator.scss +0 -0
  952. /package/{app → dist}/styles/components/side-nav/a11y-refocus.scss +0 -0
  953. /package/{app → dist}/styles/components/side-nav/content.scss +0 -0
  954. /package/{app → dist}/styles/components/side-nav/header.scss +0 -0
  955. /package/{app → dist}/styles/components/side-nav/index.scss +0 -0
  956. /package/{app → dist}/styles/components/side-nav/main.scss +0 -0
  957. /package/{app → dist}/styles/components/side-nav/toggle-button.scss +0 -0
  958. /package/{app → dist}/styles/components/side-nav/vars.scss +0 -0
  959. /package/{app → dist}/styles/components/stepper/index.scss +0 -0
  960. /package/{app → dist}/styles/components/stepper/step-indicator.scss +0 -0
  961. /package/{app → dist}/styles/components/stepper/task-indicator.scss +0 -0
  962. /package/{app → dist}/styles/components/tag.scss +0 -0
  963. /package/{app → dist}/styles/components/text.scss +0 -0
  964. /package/{app → dist}/styles/components/toast.scss +0 -0
  965. /package/{app → dist}/styles/components/tooltip.scss +0 -0
  966. /package/{app → dist}/styles/mixins/_button.scss +0 -0
  967. /package/{app → dist}/styles/mixins/_focus-ring.scss +0 -0
@@ -0,0 +1,242 @@
1
+ import { a as _applyDecoratedDescriptor, b as _initializerDefineProperty } from '../../../_rollupPluginBabelHelpers-lqPQKyNs.js';
2
+ import Component from '@glimmer/component';
3
+ import { tracked } from '@glimmer/tracking';
4
+ import { action } from '@ember/object';
5
+ import { assert, warn } from '@ember/debug';
6
+ import { schedule, next } from '@ember/runloop';
7
+ import { precompileTemplate } from '@ember/template-compilation';
8
+ import { setComponentTemplate } from '@ember/component';
9
+
10
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n{{! template-lint-disable no-invalid-role }}\n<div\n class={{this.classNames}}\n {{did-insert this.didInsert}}\n {{did-update this.didUpdateSelectedTabIndex this.selectedTabIndex}}\n {{did-update this.didUpdateSelectedTabId this.selectedTabId}}\n {{did-update this.didUpdateParentVisibility @isParentVisible}}\n ...attributes\n>\n <div class=\"hds-tabs__tablist-wrapper\">\n <ul class=\"hds-tabs__tablist\" role=\"tablist\">\n {{yield\n (hash\n Tab=(component\n \"hds/tabs/tab\"\n didInsertNode=this.didInsertTab\n didUpdateNode=this.didUpdateTab\n willDestroyNode=this.willDestroyTab\n tabIds=this.tabIds\n selectedTabIndex=this.selectedTabIndex\n onClick=this.onClick\n onKeyUp=this.onKeyUp\n )\n )\n }}\n <li class=\"hds-tabs__tab-indicator\" role=\"presentation\"></li>\n </ul>\n </div>\n\n {{yield\n (hash\n Panel=(component\n \"hds/tabs/panel\"\n didInsertNode=this.didInsertPanel\n willDestroyNode=this.willDestroyPanel\n tabIds=this.tabIds\n panelIds=this.panelIds\n selectedTabIndex=this.selectedTabIndex\n )\n )\n }}\n</div>\n{{! template-lint-enable no-invalid-role }}");
11
+
12
+ var _class, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7;
13
+ const DEFAULT_SIZE = 'medium';
14
+ const SIZES = ['medium', 'large'];
15
+ let HdsTabsIndexComponent = (_class = class HdsTabsIndexComponent extends Component {
16
+ /**
17
+ * Sets the size of Tabs
18
+ * Accepted values: medium, large
19
+ *
20
+ * @param size
21
+ * @type {string}
22
+ * @default 'medium'
23
+ */
24
+ get size() {
25
+ let {
26
+ size = DEFAULT_SIZE
27
+ } = this.args;
28
+ assert(`@size for "Hds::Tabs" must be one of the following: ${SIZES.join(', ')}; received: ${size}`, SIZES.includes(size));
29
+ return size;
30
+ }
31
+ constructor() {
32
+ super(...arguments);
33
+
34
+ // this is to determine if the "selected" tab logic is controlled in the consumers' code or is maintained as an internal state
35
+ _initializerDefineProperty(this, "tabNodes", _descriptor, this);
36
+ _initializerDefineProperty(this, "tabIds", _descriptor2, this);
37
+ _initializerDefineProperty(this, "panelNodes", _descriptor3, this);
38
+ _initializerDefineProperty(this, "panelIds", _descriptor4, this);
39
+ _initializerDefineProperty(this, "_selectedTabIndex", _descriptor5, this);
40
+ _initializerDefineProperty(this, "selectedTabId", _descriptor6, this);
41
+ _initializerDefineProperty(this, "isControlled", _descriptor7, this);
42
+ this.isControlled = this.args.selectedTabIndex !== undefined;
43
+ }
44
+ get selectedTabIndex() {
45
+ if (this.isControlled) {
46
+ return this.args.selectedTabIndex;
47
+ } else {
48
+ return this._selectedTabIndex;
49
+ }
50
+ }
51
+ set selectedTabIndex(value) {
52
+ if (this.isControlled) ; else {
53
+ this._selectedTabIndex = value;
54
+ }
55
+ }
56
+
57
+ /**
58
+ * Get the class names to apply to the component.
59
+ * @method classNames
60
+ * @return {string} The "class" attribute to apply to the component.
61
+ */
62
+ get classNames() {
63
+ let classes = ['hds-tabs'];
64
+
65
+ // add a class based on the @size argument
66
+ classes.push(`hds-tabs--size-${this.size}`);
67
+ return classes.join(' ');
68
+ }
69
+ didInsert() {
70
+ assert('The number of Tabs must be equal to the number of Panels', this.tabNodes.length === this.panelNodes.length);
71
+ if (this.selectedTabId) {
72
+ this.selectedTabIndex = this.tabIds.indexOf(this.selectedTabId);
73
+ }
74
+ schedule('afterRender', () => {
75
+ this.setTabIndicator();
76
+ });
77
+ }
78
+ didUpdateSelectedTabIndex() {
79
+ schedule('afterRender', () => {
80
+ this.setTabIndicator();
81
+ });
82
+ }
83
+ didUpdateSelectedTabId() {
84
+ // if the selected tab is set dynamically (eg. in a `each` loop)
85
+ // the `Tab` nodes will be re-inserted/rendered, which means the `this.selectedTabId` variable changes
86
+ // but the parent `Tabs` component has already been rendered/inserted but doesn't re-render
87
+ // so the value of the `selectedTabIndex` is not updated, unless we trigger a recalculation
88
+ // using the `did-update` modifier that checks for changes in the `this.selectedTabId` variable
89
+ if (this.selectedTabId) {
90
+ this.selectedTabIndex = this.tabIds.indexOf(this.selectedTabId);
91
+ }
92
+ }
93
+ didUpdateParentVisibility() {
94
+ schedule('afterRender', () => {
95
+ this.setTabIndicator();
96
+ });
97
+ }
98
+ didInsertTab(element, isSelected) {
99
+ this.tabNodes = [...this.tabNodes, element];
100
+ this.tabIds = [...this.tabIds, element.id];
101
+ if (isSelected) {
102
+ this.selectedTabId = element.id;
103
+ }
104
+ }
105
+ didUpdateTab(tabIndex, isSelected) {
106
+ if (isSelected) {
107
+ this.selectedTabIndex = tabIndex;
108
+ }
109
+ this.setTabIndicator();
110
+ }
111
+ willDestroyTab(element) {
112
+ this.tabNodes = this.tabNodes.filter(node => node.id !== element.id);
113
+ this.tabIds = this.tabIds.filter(tabId => tabId !== element.id);
114
+ }
115
+ didInsertPanel(element, panelId) {
116
+ this.panelNodes = [...this.panelNodes, element];
117
+ this.panelIds = [...this.panelIds, panelId];
118
+ }
119
+ willDestroyPanel(element) {
120
+ this.panelNodes = this.panelNodes.filter(node => node.id !== element.id);
121
+ this.panelIds = this.panelIds.filter(panelId => panelId !== element.id);
122
+ }
123
+ onClick(event, tabIndex) {
124
+ this.selectedTabIndex = tabIndex;
125
+ this.setTabIndicator();
126
+
127
+ // invoke the callback function if it's provided as argument
128
+ if (typeof this.args.onClickTab === 'function') {
129
+ this.args.onClickTab(event, tabIndex);
130
+ }
131
+ }
132
+ onKeyUp(tabIndex, event) {
133
+ const leftArrow = 37;
134
+ const rightArrow = 39;
135
+ const enterKey = 13;
136
+ const spaceKey = 32;
137
+ if (event.keyCode === rightArrow) {
138
+ const nextTabIndex = (tabIndex + 1) % this.tabIds.length;
139
+ this.focusTab(nextTabIndex, event);
140
+ } else if (event.keyCode === leftArrow) {
141
+ const prevTabIndex = (tabIndex + this.tabIds.length - 1) % this.tabIds.length;
142
+ this.focusTab(prevTabIndex, event);
143
+ } else if (event.keyCode === enterKey || event.keyCode === spaceKey) {
144
+ this.selectedTabIndex = tabIndex;
145
+ }
146
+ // scroll selected tab into view (it may be out of view when activated using a keyboard with `prev/next`)
147
+ this.tabNodes[this.selectedTabIndex].parentNode.scrollIntoView({
148
+ behavior: 'smooth',
149
+ block: 'nearest',
150
+ inline: 'nearest'
151
+ });
152
+ }
153
+
154
+ // Focus tab for keyboard & mouse navigation:
155
+ focusTab(tabIndex, e) {
156
+ e.preventDefault();
157
+ this.tabNodes[tabIndex].focus();
158
+ }
159
+ setSelectedPanelFocus(tabIndex, e) {
160
+ e.preventDefault();
161
+ this.panelNodes[tabIndex].focus();
162
+ }
163
+ setTabIndicator() {
164
+ next(() => {
165
+ const tabElem = this.tabNodes[this.selectedTabIndex];
166
+ if (tabElem) {
167
+ const tabsParentElem = tabElem.closest('.hds-tabs__tablist');
168
+
169
+ // this condition is `null` if any of the parents has `display: none`
170
+ if (tabElem.parentNode.offsetParent) {
171
+ const tabLeftPos = tabElem.parentNode.offsetLeft;
172
+ const tabWidth = tabElem.parentNode.offsetWidth;
173
+
174
+ // Set CSS custom properties for indicator
175
+ tabsParentElem.style.setProperty('--indicator-left-pos', tabLeftPos + 'px');
176
+ tabsParentElem.style.setProperty('--indicator-width', tabWidth + 'px');
177
+ }
178
+ } else {
179
+ let message;
180
+ message += '"Hds::Tabs" has tried to set the indicator for an element that doesn\'t exist';
181
+ if (this.tabNodes.length === 0) {
182
+ message += ' (the array `this.tabNodes` is empty, there are no tabs, probably already destroyed)';
183
+ } else {
184
+ message += ` (the value ${this.selectedTabIndex} of \`this.selectedTabIndex\` is out of bound for the array \`this.tabNodes\`, whose index range is [0 - ${this.tabNodes.length - 1}])`;
185
+ }
186
+ // https://api.emberjs.com/ember/5.3/classes/@ember%2Fdebug/methods/warn?anchor=warn
187
+ warn(message, true, {
188
+ id: 'hds-debug.tabs.setTabIndicator-tabElem-not-available'
189
+ });
190
+ }
191
+ });
192
+ }
193
+ }, (_descriptor = _applyDecoratedDescriptor(_class.prototype, "tabNodes", [tracked], {
194
+ configurable: true,
195
+ enumerable: true,
196
+ writable: true,
197
+ initializer: function () {
198
+ return [];
199
+ }
200
+ }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, "tabIds", [tracked], {
201
+ configurable: true,
202
+ enumerable: true,
203
+ writable: true,
204
+ initializer: function () {
205
+ return [];
206
+ }
207
+ }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, "panelNodes", [tracked], {
208
+ configurable: true,
209
+ enumerable: true,
210
+ writable: true,
211
+ initializer: function () {
212
+ return [];
213
+ }
214
+ }), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, "panelIds", [tracked], {
215
+ configurable: true,
216
+ enumerable: true,
217
+ writable: true,
218
+ initializer: function () {
219
+ return [];
220
+ }
221
+ }), _descriptor5 = _applyDecoratedDescriptor(_class.prototype, "_selectedTabIndex", [tracked], {
222
+ configurable: true,
223
+ enumerable: true,
224
+ writable: true,
225
+ initializer: function () {
226
+ return this.args.selectedTabIndex ?? 0;
227
+ }
228
+ }), _descriptor6 = _applyDecoratedDescriptor(_class.prototype, "selectedTabId", [tracked], {
229
+ configurable: true,
230
+ enumerable: true,
231
+ writable: true,
232
+ initializer: null
233
+ }), _descriptor7 = _applyDecoratedDescriptor(_class.prototype, "isControlled", [tracked], {
234
+ configurable: true,
235
+ enumerable: true,
236
+ writable: true,
237
+ initializer: null
238
+ }), _applyDecoratedDescriptor(_class.prototype, "didInsert", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsert"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didUpdateSelectedTabIndex", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didUpdateSelectedTabIndex"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didUpdateSelectedTabId", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didUpdateSelectedTabId"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didUpdateParentVisibility", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didUpdateParentVisibility"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didInsertTab", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsertTab"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didUpdateTab", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didUpdateTab"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "willDestroyTab", [action], Object.getOwnPropertyDescriptor(_class.prototype, "willDestroyTab"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didInsertPanel", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsertPanel"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "willDestroyPanel", [action], Object.getOwnPropertyDescriptor(_class.prototype, "willDestroyPanel"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onClick", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onClick"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onKeyUp", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onKeyUp"), _class.prototype)), _class);
239
+ setComponentTemplate(TEMPLATE, HdsTabsIndexComponent);
240
+
241
+ export { DEFAULT_SIZE, SIZES, HdsTabsIndexComponent as default };
242
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/tabs/index.hbs","../../../../src/components/hds/tabs/index.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n{{! template-lint-disable no-invalid-role }}\\n<div\\n class={{this.classNames}}\\n {{did-insert this.didInsert}}\\n {{did-update this.didUpdateSelectedTabIndex this.selectedTabIndex}}\\n {{did-update this.didUpdateSelectedTabId this.selectedTabId}}\\n {{did-update this.didUpdateParentVisibility @isParentVisible}}\\n ...attributes\\n>\\n <div class=\\\"hds-tabs__tablist-wrapper\\\">\\n <ul class=\\\"hds-tabs__tablist\\\" role=\\\"tablist\\\">\\n {{yield\\n (hash\\n Tab=(component\\n \\\"hds/tabs/tab\\\"\\n didInsertNode=this.didInsertTab\\n didUpdateNode=this.didUpdateTab\\n willDestroyNode=this.willDestroyTab\\n tabIds=this.tabIds\\n selectedTabIndex=this.selectedTabIndex\\n onClick=this.onClick\\n onKeyUp=this.onKeyUp\\n )\\n )\\n }}\\n <li class=\\\"hds-tabs__tab-indicator\\\" role=\\\"presentation\\\"></li>\\n </ul>\\n </div>\\n\\n {{yield\\n (hash\\n Panel=(component\\n \\\"hds/tabs/panel\\\"\\n didInsertNode=this.didInsertPanel\\n willDestroyNode=this.willDestroyPanel\\n tabIds=this.tabIds\\n panelIds=this.panelIds\\n selectedTabIndex=this.selectedTabIndex\\n )\\n )\\n }}\\n</div>\\n{{! template-lint-enable no-invalid-role }}\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { assert, warn } from '@ember/debug';\nimport { next, schedule } from '@ember/runloop';\n\nexport const DEFAULT_SIZE = 'medium';\nexport const SIZES = ['medium', 'large'];\n\nexport default class HdsTabsIndexComponent extends Component {\n @tracked tabNodes = [];\n @tracked tabIds = [];\n @tracked panelNodes = [];\n @tracked panelIds = [];\n @tracked _selectedTabIndex = this.args.selectedTabIndex ?? 0;\n @tracked selectedTabId;\n @tracked isControlled;\n\n /**\n * Sets the size of Tabs\n * Accepted values: medium, large\n *\n * @param size\n * @type {string}\n * @default 'medium'\n */\n get size() {\n let { size = DEFAULT_SIZE } = this.args;\n\n assert(\n `@size for \"Hds::Tabs\" must be one of the following: ${SIZES.join(\n ', '\n )}; received: ${size}`,\n SIZES.includes(size)\n );\n\n return size;\n }\n\n constructor() {\n super(...arguments);\n\n // this is to determine if the \"selected\" tab logic is controlled in the consumers' code or is maintained as an internal state\n this.isControlled = this.args.selectedTabIndex !== undefined;\n }\n\n get selectedTabIndex() {\n if (this.isControlled) {\n return this.args.selectedTabIndex;\n } else {\n return this._selectedTabIndex;\n }\n }\n\n set selectedTabIndex(value) {\n if (this.isControlled) {\n // noop\n } else {\n this._selectedTabIndex = value;\n }\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = ['hds-tabs'];\n\n // add a class based on the @size argument\n classes.push(`hds-tabs--size-${this.size}`);\n\n return classes.join(' ');\n }\n\n @action\n didInsert() {\n assert(\n 'The number of Tabs must be equal to the number of Panels',\n this.tabNodes.length === this.panelNodes.length\n );\n\n if (this.selectedTabId) {\n this.selectedTabIndex = this.tabIds.indexOf(this.selectedTabId);\n }\n\n schedule('afterRender', () => {\n this.setTabIndicator();\n });\n }\n\n @action\n didUpdateSelectedTabIndex() {\n schedule('afterRender', () => {\n this.setTabIndicator();\n });\n }\n\n @action\n didUpdateSelectedTabId() {\n // if the selected tab is set dynamically (eg. in a `each` loop)\n // the `Tab` nodes will be re-inserted/rendered, which means the `this.selectedTabId` variable changes\n // but the parent `Tabs` component has already been rendered/inserted but doesn't re-render\n // so the value of the `selectedTabIndex` is not updated, unless we trigger a recalculation\n // using the `did-update` modifier that checks for changes in the `this.selectedTabId` variable\n if (this.selectedTabId) {\n this.selectedTabIndex = this.tabIds.indexOf(this.selectedTabId);\n }\n }\n\n @action\n didUpdateParentVisibility() {\n schedule('afterRender', () => {\n this.setTabIndicator();\n });\n }\n\n @action\n didInsertTab(element, isSelected) {\n this.tabNodes = [...this.tabNodes, element];\n this.tabIds = [...this.tabIds, element.id];\n if (isSelected) {\n this.selectedTabId = element.id;\n }\n }\n\n @action\n didUpdateTab(tabIndex, isSelected) {\n if (isSelected) {\n this.selectedTabIndex = tabIndex;\n }\n this.setTabIndicator();\n }\n\n @action\n willDestroyTab(element) {\n this.tabNodes = this.tabNodes.filter((node) => node.id !== element.id);\n this.tabIds = this.tabIds.filter((tabId) => tabId !== element.id);\n }\n\n @action\n didInsertPanel(element, panelId) {\n this.panelNodes = [...this.panelNodes, element];\n this.panelIds = [...this.panelIds, panelId];\n }\n\n @action\n willDestroyPanel(element) {\n this.panelNodes = this.panelNodes.filter((node) => node.id !== element.id);\n this.panelIds = this.panelIds.filter((panelId) => panelId !== element.id);\n }\n\n @action\n onClick(event, tabIndex) {\n this.selectedTabIndex = tabIndex;\n this.setTabIndicator();\n\n // invoke the callback function if it's provided as argument\n if (typeof this.args.onClickTab === 'function') {\n this.args.onClickTab(event, tabIndex);\n }\n }\n\n @action\n onKeyUp(tabIndex, event) {\n const leftArrow = 37;\n const rightArrow = 39;\n const enterKey = 13;\n const spaceKey = 32;\n\n if (event.keyCode === rightArrow) {\n const nextTabIndex = (tabIndex + 1) % this.tabIds.length;\n this.focusTab(nextTabIndex, event);\n } else if (event.keyCode === leftArrow) {\n const prevTabIndex =\n (tabIndex + this.tabIds.length - 1) % this.tabIds.length;\n this.focusTab(prevTabIndex, event);\n } else if (event.keyCode === enterKey || event.keyCode === spaceKey) {\n this.selectedTabIndex = tabIndex;\n }\n // scroll selected tab into view (it may be out of view when activated using a keyboard with `prev/next`)\n this.tabNodes[this.selectedTabIndex].parentNode.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'nearest',\n });\n }\n\n // Focus tab for keyboard & mouse navigation:\n focusTab(tabIndex, e) {\n e.preventDefault();\n this.tabNodes[tabIndex].focus();\n }\n\n setSelectedPanelFocus(tabIndex, e) {\n e.preventDefault();\n this.panelNodes[tabIndex].focus();\n }\n\n setTabIndicator() {\n next(() => {\n const tabElem = this.tabNodes[this.selectedTabIndex];\n\n if (tabElem) {\n const tabsParentElem = tabElem.closest('.hds-tabs__tablist');\n\n // this condition is `null` if any of the parents has `display: none`\n if (tabElem.parentNode.offsetParent) {\n const tabLeftPos = tabElem.parentNode.offsetLeft;\n const tabWidth = tabElem.parentNode.offsetWidth;\n\n // Set CSS custom properties for indicator\n tabsParentElem.style.setProperty(\n '--indicator-left-pos',\n tabLeftPos + 'px'\n );\n tabsParentElem.style.setProperty(\n '--indicator-width',\n tabWidth + 'px'\n );\n }\n } else {\n let message;\n message +=\n '\"Hds::Tabs\" has tried to set the indicator for an element that doesn\\'t exist';\n if (this.tabNodes.length === 0) {\n message +=\n ' (the array `this.tabNodes` is empty, there are no tabs, probably already destroyed)';\n } else {\n message += ` (the value ${\n this.selectedTabIndex\n } of \\`this.selectedTabIndex\\` is out of bound for the array \\`this.tabNodes\\`, whose index range is [0 - ${\n this.tabNodes.length - 1\n }])`;\n }\n // https://api.emberjs.com/ember/5.3/classes/@ember%2Fdebug/methods/warn?anchor=warn\n warn(message, true, {\n id: 'hds-debug.tabs.setTabIndicator-tabElem-not-available',\n });\n }\n });\n }\n}\n"],"names":["DEFAULT_SIZE","SIZES","HdsTabsIndexComponent","_class","Component","size","args","assert","join","includes","constructor","arguments","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_descriptor4","_descriptor5","_descriptor6","_descriptor7","isControlled","selectedTabIndex","undefined","_selectedTabIndex","value","classNames","classes","push","didInsert","tabNodes","length","panelNodes","selectedTabId","tabIds","indexOf","schedule","setTabIndicator","didUpdateSelectedTabIndex","didUpdateSelectedTabId","didUpdateParentVisibility","didInsertTab","element","isSelected","id","didUpdateTab","tabIndex","willDestroyTab","filter","node","tabId","didInsertPanel","panelId","panelIds","willDestroyPanel","onClick","event","onClickTab","onKeyUp","leftArrow","rightArrow","enterKey","spaceKey","keyCode","nextTabIndex","focusTab","prevTabIndex","parentNode","scrollIntoView","behavior","block","inline","e","preventDefault","focus","setSelectedPanelFocus","next","tabElem","tabsParentElem","closest","offsetParent","tabLeftPos","offsetLeft","tabWidth","offsetWidth","style","setProperty","message","warn","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import { a as _applyDecoratedDescriptor, _ as _defineProperty } from '../../../_rollupPluginBabelHelpers-lqPQKyNs.js';
2
+ import Component from '@glimmer/component';
3
+ import { guidFor } from '@ember/object/internals';
4
+ import { action } from '@ember/object';
5
+ import { precompileTemplate } from '@ember/template-compilation';
6
+ import { setComponentTemplate } from '@ember/component';
7
+
8
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<section\n class=\"hds-tabs__panel\"\n ...attributes\n role=\"tabpanel\"\n id={{this.panelId}}\n hidden={{not this.isVisible}}\n aria-labelledby={{this.coupledTabId}}\n {{did-insert this.didInsertNode}}\n {{will-destroy this.willDestroyNode}}\n>\n {{yield (hash isVisible=this.isVisible)}}\n</section>");
9
+
10
+ var _class;
11
+ let HdsTabsPanelComponent = (_class = class HdsTabsPanelComponent extends Component {
12
+ constructor(...args) {
13
+ super(...args);
14
+ /**
15
+ * Generate a unique ID for the Panel
16
+ * @return {string}
17
+ */
18
+ _defineProperty(this, "panelId", 'panel-' + guidFor(this));
19
+ }
20
+ get nodeIndex() {
21
+ return this.args.panelIds ? this.args.panelIds.indexOf(this.panelId) : undefined;
22
+ }
23
+
24
+ /**
25
+ * Check the condition if the panel is visible (because the coupled/associated tab is selected) or not
26
+ * @returns {boolean}
27
+ */
28
+ get isVisible() {
29
+ return this.nodeIndex === this.args.selectedTabIndex;
30
+ }
31
+
32
+ /**
33
+ * Get the ID of the tab coupled/associated with the panel (it's used by the `aria-labelledby` attribute)
34
+ * @returns string}
35
+ */
36
+ get coupledTabId() {
37
+ return this.nodeIndex !== undefined ? this.args.tabIds[this.nodeIndex] : undefined;
38
+ }
39
+ didInsertNode(element) {
40
+ let {
41
+ didInsertNode
42
+ } = this.args;
43
+ if (typeof didInsertNode === 'function') {
44
+ this.elementId = element.id;
45
+ didInsertNode(element, this.elementId);
46
+ }
47
+ }
48
+ willDestroyNode(element) {
49
+ let {
50
+ willDestroyNode
51
+ } = this.args;
52
+ if (typeof willDestroyNode === 'function') {
53
+ willDestroyNode(element);
54
+ }
55
+ }
56
+ }, (_applyDecoratedDescriptor(_class.prototype, "didInsertNode", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsertNode"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "willDestroyNode", [action], Object.getOwnPropertyDescriptor(_class.prototype, "willDestroyNode"), _class.prototype)), _class);
57
+ setComponentTemplate(TEMPLATE, HdsTabsPanelComponent);
58
+
59
+ export { HdsTabsPanelComponent as default };
60
+ //# sourceMappingURL=panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panel.js","sources":["../../../../src/components/hds/tabs/panel.hbs","../../../../src/components/hds/tabs/panel.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<section\\n class=\\\"hds-tabs__panel\\\"\\n ...attributes\\n role=\\\"tabpanel\\\"\\n id={{this.panelId}}\\n hidden={{not this.isVisible}}\\n aria-labelledby={{this.coupledTabId}}\\n {{did-insert this.didInsertNode}}\\n {{will-destroy this.willDestroyNode}}\\n>\\n {{yield (hash isVisible=this.isVisible)}}\\n</section>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { action } from '@ember/object';\n\nexport default class HdsTabsPanelComponent extends Component {\n /**\n * Generate a unique ID for the Panel\n * @return {string}\n */\n panelId = 'panel-' + guidFor(this);\n\n get nodeIndex() {\n return this.args.panelIds\n ? this.args.panelIds.indexOf(this.panelId)\n : undefined;\n }\n\n /**\n * Check the condition if the panel is visible (because the coupled/associated tab is selected) or not\n * @returns {boolean}\n */\n get isVisible() {\n return this.nodeIndex === this.args.selectedTabIndex;\n }\n\n /**\n * Get the ID of the tab coupled/associated with the panel (it's used by the `aria-labelledby` attribute)\n * @returns string}\n */\n get coupledTabId() {\n return this.nodeIndex !== undefined\n ? this.args.tabIds[this.nodeIndex]\n : undefined;\n }\n\n @action\n didInsertNode(element) {\n let { didInsertNode } = this.args;\n\n if (typeof didInsertNode === 'function') {\n this.elementId = element.id;\n didInsertNode(element, this.elementId);\n }\n }\n\n @action\n willDestroyNode(element) {\n let { willDestroyNode } = this.args;\n\n if (typeof willDestroyNode === 'function') {\n willDestroyNode(element);\n }\n }\n}\n"],"names":["HdsTabsPanelComponent","_class","Component","constructor","args","_defineProperty","guidFor","nodeIndex","panelIds","indexOf","panelId","undefined","isVisible","selectedTabIndex","coupledTabId","tabIds","didInsertNode","element","elementId","id","willDestroyNode","_applyDecoratedDescriptor","prototype","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AACA,eAAe,kBAAkB,CAAC,sYAAsY;;;ACQnZA,IAAAA,qBAAqB,IAAAC,MAAA,GAA3B,MAAMD,qBAAqB,SAASE,SAAS,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAC3D;AACF;AACA;AACA;AAHEC,IAAAA,eAAA,kBAIU,QAAQ,GAAGC,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;AAAA,GAAA;EAElC,IAAIC,SAASA,GAAG;AACd,IAAA,OAAO,IAAI,CAACH,IAAI,CAACI,QAAQ,GACrB,IAAI,CAACJ,IAAI,CAACI,QAAQ,CAACC,OAAO,CAAC,IAAI,CAACC,OAAO,CAAC,GACxCC,SAAS,CAAA;AACf,GAAA;;AAEA;AACF;AACA;AACA;EACE,IAAIC,SAASA,GAAG;IACd,OAAO,IAAI,CAACL,SAAS,KAAK,IAAI,CAACH,IAAI,CAACS,gBAAgB,CAAA;AACtD,GAAA;;AAEA;AACF;AACA;AACA;EACE,IAAIC,YAAYA,GAAG;AACjB,IAAA,OAAO,IAAI,CAACP,SAAS,KAAKI,SAAS,GAC/B,IAAI,CAACP,IAAI,CAACW,MAAM,CAAC,IAAI,CAACR,SAAS,CAAC,GAChCI,SAAS,CAAA;AACf,GAAA;EAGAK,aAAaA,CAACC,OAAO,EAAE;IACrB,IAAI;AAAED,MAAAA,aAAAA;KAAe,GAAG,IAAI,CAACZ,IAAI,CAAA;AAEjC,IAAA,IAAI,OAAOY,aAAa,KAAK,UAAU,EAAE;AACvC,MAAA,IAAI,CAACE,SAAS,GAAGD,OAAO,CAACE,EAAE,CAAA;AAC3BH,MAAAA,aAAa,CAACC,OAAO,EAAE,IAAI,CAACC,SAAS,CAAC,CAAA;AACxC,KAAA;AACF,GAAA;EAGAE,eAAeA,CAACH,OAAO,EAAE;IACvB,IAAI;AAAEG,MAAAA,eAAAA;KAAiB,GAAG,IAAI,CAAChB,IAAI,CAAA;AAEnC,IAAA,IAAI,OAAOgB,eAAe,KAAK,UAAU,EAAE;MACzCA,eAAe,CAACH,OAAO,CAAC,CAAA;AAC1B,KAAA;AACF,GAAA;AACF,CAAC,GAAAI,yBAAA,CAAApB,MAAA,CAAAqB,SAAA,oBAlBEC,MAAM,CAAA,EAAAC,MAAA,CAAAC,wBAAA,CAAAxB,MAAA,CAAAqB,SAAA,EAAA,eAAA,CAAA,EAAArB,MAAA,CAAAqB,SAAA,CAAAD,EAAAA,yBAAA,CAAApB,MAAA,CAAAqB,SAAA,EAUNC,iBAAAA,EAAAA,CAAAA,MAAM,GAAAC,MAAA,CAAAC,wBAAA,CAAAxB,MAAA,CAAAqB,SAAA,EAAA,iBAAA,CAAA,EAAArB,MAAA,CAAAqB,SAAA,IAAArB,MAAA,EAAA;AAzCiCyB,oBAAA,CAAAC,QAAA,EAAA3B,qBAAA,CAAA;;;;"}
@@ -0,0 +1,94 @@
1
+ import { a as _applyDecoratedDescriptor, _ as _defineProperty } from '../../../_rollupPluginBabelHelpers-lqPQKyNs.js';
2
+ import Component from '@glimmer/component';
3
+ import { guidFor } from '@ember/object/internals';
4
+ import { action } from '@ember/object';
5
+ import { precompileTemplate } from '@ember/template-compilation';
6
+ import { setComponentTemplate } from '@ember/component';
7
+
8
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n{{! template-lint-disable require-context-role no-invalid-role }}\n<li class={{this.classNames}} ...attributes role=\"presentation\">\n <button\n class=\"hds-tabs__tab-button\"\n role=\"tab\"\n type=\"button\"\n id={{this.tabId}}\n aria-selected={{if this.isSelected \"true\" \"false\"}}\n tabindex={{unless this.isSelected \"-1\"}}\n {{did-insert this.didInsertNode @isSelected}}\n {{did-update this.didUpdateNode @count @isSelected}}\n {{will-destroy this.willDestroyNode}}\n {{on \"click\" this.onClick}}\n {{on \"keyup\" this.onKeyUp}}\n >\n {{#if @icon}}\n <FlightIcon @name={{@icon}} class=\"hds-tabs__tab-icon\" role=\"presentation\" />\n {{/if}}\n\n {{yield}}\n\n {{#if @count}}\n <Hds::BadgeCount @text={{@count}} @size=\"small\" class=\"hds-tabs__tab-count\" role=\"presentation\" />\n {{/if}}\n </button>\n</li>\n{{! template-lint-enable require-context-role no-invalid-role }}");
9
+
10
+ var _class;
11
+ let HdsTabsTabComponent = (_class = class HdsTabsTabComponent extends Component {
12
+ constructor(...args) {
13
+ super(...args);
14
+ /**
15
+ * Generate a unique ID for the Tab
16
+ * @return {string}
17
+ */
18
+ _defineProperty(this, "tabId", 'tab-' + guidFor(this));
19
+ }
20
+ get nodeIndex() {
21
+ return this.args.tabIds ? this.args.tabIds.indexOf(this.tabId) : undefined;
22
+ }
23
+
24
+ /**
25
+ * Determine if the tab is the selected tab
26
+ * @return {boolean}
27
+ * @default false (1st tab is selected by default)
28
+ */
29
+ get isSelected() {
30
+ return this.nodeIndex !== undefined && this.nodeIndex === this.args.selectedTabIndex;
31
+ }
32
+ didInsertNode(element, positional) {
33
+ let {
34
+ didInsertNode
35
+ } = this.args;
36
+ const isSelected = positional[0];
37
+ if (typeof didInsertNode === 'function') {
38
+ didInsertNode(element, isSelected);
39
+ }
40
+ }
41
+ didUpdateNode() {
42
+ let {
43
+ didUpdateNode
44
+ } = this.args;
45
+ if (typeof didUpdateNode === 'function') {
46
+ didUpdateNode(this.nodeIndex, this.args.isSelected);
47
+ }
48
+ }
49
+ willDestroyNode(element) {
50
+ let {
51
+ willDestroyNode
52
+ } = this.args;
53
+ if (typeof willDestroyNode === 'function') {
54
+ willDestroyNode(element);
55
+ }
56
+ }
57
+ onClick(event) {
58
+ let {
59
+ onClick
60
+ } = this.args;
61
+ if (typeof onClick === 'function') {
62
+ onClick(event, this.nodeIndex);
63
+ } else {
64
+ return false;
65
+ }
66
+ }
67
+ onKeyUp(event) {
68
+ let {
69
+ onKeyUp
70
+ } = this.args;
71
+ if (typeof onKeyUp === 'function') {
72
+ onKeyUp(this.nodeIndex, event);
73
+ } else {
74
+ return false;
75
+ }
76
+ }
77
+
78
+ /**
79
+ * Get the class names to apply to the component.
80
+ * @method classNames
81
+ * @return {string} The "class" attribute to apply to the component.
82
+ */
83
+ get classNames() {
84
+ let classes = ['hds-tabs__tab'];
85
+ if (this.isSelected) {
86
+ classes.push(`hds-tabs__tab--is-selected`);
87
+ }
88
+ return classes.join(' ');
89
+ }
90
+ }, (_applyDecoratedDescriptor(_class.prototype, "didInsertNode", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didInsertNode"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "didUpdateNode", [action], Object.getOwnPropertyDescriptor(_class.prototype, "didUpdateNode"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "willDestroyNode", [action], Object.getOwnPropertyDescriptor(_class.prototype, "willDestroyNode"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onClick", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onClick"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onKeyUp", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onKeyUp"), _class.prototype)), _class);
91
+ setComponentTemplate(TEMPLATE, HdsTabsTabComponent);
92
+
93
+ export { HdsTabsTabComponent as default };
94
+ //# sourceMappingURL=tab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab.js","sources":["../../../../src/components/hds/tabs/tab.hbs","../../../../src/components/hds/tabs/tab.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n{{! template-lint-disable require-context-role no-invalid-role }}\\n<li class={{this.classNames}} ...attributes role=\\\"presentation\\\">\\n <button\\n class=\\\"hds-tabs__tab-button\\\"\\n role=\\\"tab\\\"\\n type=\\\"button\\\"\\n id={{this.tabId}}\\n aria-selected={{if this.isSelected \\\"true\\\" \\\"false\\\"}}\\n tabindex={{unless this.isSelected \\\"-1\\\"}}\\n {{did-insert this.didInsertNode @isSelected}}\\n {{did-update this.didUpdateNode @count @isSelected}}\\n {{will-destroy this.willDestroyNode}}\\n {{on \\\"click\\\" this.onClick}}\\n {{on \\\"keyup\\\" this.onKeyUp}}\\n >\\n {{#if @icon}}\\n <FlightIcon @name={{@icon}} class=\\\"hds-tabs__tab-icon\\\" role=\\\"presentation\\\" />\\n {{/if}}\\n\\n {{yield}}\\n\\n {{#if @count}}\\n <Hds::BadgeCount @text={{@count}} @size=\\\"small\\\" class=\\\"hds-tabs__tab-count\\\" role=\\\"presentation\\\" />\\n {{/if}}\\n </button>\\n</li>\\n{{! template-lint-enable require-context-role no-invalid-role }}\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { guidFor } from '@ember/object/internals';\nimport { action } from '@ember/object';\n\nexport default class HdsTabsTabComponent extends Component {\n /**\n * Generate a unique ID for the Tab\n * @return {string}\n */\n tabId = 'tab-' + guidFor(this);\n\n get nodeIndex() {\n return this.args.tabIds ? this.args.tabIds.indexOf(this.tabId) : undefined;\n }\n\n /**\n * Determine if the tab is the selected tab\n * @return {boolean}\n * @default false (1st tab is selected by default)\n */\n get isSelected() {\n return (\n this.nodeIndex !== undefined &&\n this.nodeIndex === this.args.selectedTabIndex\n );\n }\n\n @action\n didInsertNode(element, positional) {\n let { didInsertNode } = this.args;\n\n const isSelected = positional[0];\n\n if (typeof didInsertNode === 'function') {\n didInsertNode(element, isSelected);\n }\n }\n\n @action\n didUpdateNode() {\n let { didUpdateNode } = this.args;\n\n if (typeof didUpdateNode === 'function') {\n didUpdateNode(this.nodeIndex, this.args.isSelected);\n }\n }\n\n @action\n willDestroyNode(element) {\n let { willDestroyNode } = this.args;\n\n if (typeof willDestroyNode === 'function') {\n willDestroyNode(element);\n }\n }\n\n @action\n onClick(event) {\n let { onClick } = this.args;\n\n if (typeof onClick === 'function') {\n onClick(event, this.nodeIndex);\n } else {\n return false;\n }\n }\n\n @action\n onKeyUp(event) {\n let { onKeyUp } = this.args;\n\n if (typeof onKeyUp === 'function') {\n onKeyUp(this.nodeIndex, event);\n } else {\n return false;\n }\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = ['hds-tabs__tab'];\n\n if (this.isSelected) {\n classes.push(`hds-tabs__tab--is-selected`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["HdsTabsTabComponent","_class","Component","constructor","args","_defineProperty","guidFor","nodeIndex","tabIds","indexOf","tabId","undefined","isSelected","selectedTabIndex","didInsertNode","element","positional","didUpdateNode","willDestroyNode","onClick","event","onKeyUp","classNames","classes","push","join","_applyDecoratedDescriptor","prototype","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ import Component from '@glimmer/component';
2
+ import { assert } from '@ember/debug';
3
+ import { precompileTemplate } from '@ember/template-compilation';
4
+ import { setComponentTemplate } from '@ember/component';
5
+
6
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<Hds::Text::Body class={{this.classNames}} @tag=\"span\" @size=\"100\" @weight=\"medium\" @color=\"primary\" ...attributes>\n {{#if this.onDismiss}}\n <button class=\"hds-tag__dismiss\" type=\"button\" aria-label={{this.ariaLabel}} {{on \"click\" this.onDismiss}}>\n <FlightIcon class=\"hds-tag__dismiss-icon\" @name=\"x\" @size=\"16\" @isInlineBlock={{false}} />\n </button>\n {{/if}}\n {{#if (or @href @route)}}\n <Hds::Interactive\n class=\"hds-tag__link\"\n @current-when={{@current-when}}\n @models={{hds-link-to-models @model @models}}\n @query={{hds-link-to-query @query}}\n @replace={{@replace}}\n @route={{@route}}\n @isRouteExternal={{@isRouteExternal}}\n @href={{@href}}\n @isHrefExternal={{@isHrefExternal}}\n >\n {{this.text}}\n </Hds::Interactive>\n {{else}}\n <span class=\"hds-tag__text\">\n {{this.text}}\n </span>\n {{/if}}\n</Hds::Text::Body>");
7
+
8
+ /**
9
+ * Copyright (c) HashiCorp, Inc.
10
+ * SPDX-License-Identifier: MPL-2.0
11
+ */
12
+
13
+ const DEFAULT_COLOR = 'primary';
14
+ const COLORS = ['primary', 'secondary'];
15
+ class HdsTagIndexComponent extends Component {
16
+ /**
17
+ * @param onDismiss
18
+ * @type {function}
19
+ * @default () => {}
20
+ */
21
+ get onDismiss() {
22
+ let {
23
+ onDismiss
24
+ } = this.args;
25
+ if (typeof onDismiss === 'function') {
26
+ return onDismiss;
27
+ } else {
28
+ return false;
29
+ }
30
+ }
31
+
32
+ /**
33
+ * @param text
34
+ * @type {string}
35
+ * @description The text of the tag. If no text value is defined, an error will be thrown.
36
+ */
37
+ get text() {
38
+ let {
39
+ text
40
+ } = this.args;
41
+ assert('@text for "Hds::Tag" must have a valid value', text !== undefined);
42
+ return text;
43
+ }
44
+
45
+ /**
46
+ * @param ariaLabel
47
+ * @type {string}
48
+ * @default 'Dismiss'
49
+ */
50
+ get ariaLabel() {
51
+ let tagAriaLabel = this.args.ariaLabel ?? 'Dismiss';
52
+ return tagAriaLabel + ' ' + this.args.text;
53
+ }
54
+
55
+ /**
56
+ * @param color
57
+ * @type {string}
58
+ * @default primary
59
+ * @description Determines the color of link to be used; acceptable values are `primary` and `secondary`
60
+ */
61
+ get color() {
62
+ if (this.args.href || this.args.route) {
63
+ let {
64
+ color = DEFAULT_COLOR
65
+ } = this.args;
66
+ assert(`@color for "Hds::Tag" must be one of the following: ${COLORS.join(', ')}; received: ${color}`, COLORS.includes(color));
67
+ return color;
68
+ } else if (this.args.color) {
69
+ assert('@color can only be applied to "Hds::Tag" along with either @href or @route', this.args.href || this.args.route);
70
+ }
71
+ return false;
72
+ }
73
+
74
+ /**
75
+ * Get the class names to apply to the component.
76
+ * @method classNames
77
+ * @return {string} The "class" attribute to apply to the component.
78
+ */
79
+ get classNames() {
80
+ let classes = ['hds-tag'];
81
+
82
+ // add a class based on the @color argument
83
+ if (this.color) {
84
+ classes.push(`hds-tag--color-${this.color}`);
85
+ }
86
+ return classes.join(' ');
87
+ }
88
+ }
89
+ setComponentTemplate(TEMPLATE, HdsTagIndexComponent);
90
+
91
+ export { COLORS, DEFAULT_COLOR, HdsTagIndexComponent as default };
92
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/hds/tag/index.hbs","../../../../src/components/hds/tag/index.js"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{!\\n Copyright (c) HashiCorp, Inc.\\n SPDX-License-Identifier: MPL-2.0\\n}}\\n<Hds::Text::Body class={{this.classNames}} @tag=\\\"span\\\" @size=\\\"100\\\" @weight=\\\"medium\\\" @color=\\\"primary\\\" ...attributes>\\n {{#if this.onDismiss}}\\n <button class=\\\"hds-tag__dismiss\\\" type=\\\"button\\\" aria-label={{this.ariaLabel}} {{on \\\"click\\\" this.onDismiss}}>\\n <FlightIcon class=\\\"hds-tag__dismiss-icon\\\" @name=\\\"x\\\" @size=\\\"16\\\" @isInlineBlock={{false}} />\\n </button>\\n {{/if}}\\n {{#if (or @href @route)}}\\n <Hds::Interactive\\n class=\\\"hds-tag__link\\\"\\n @current-when={{@current-when}}\\n @models={{hds-link-to-models @model @models}}\\n @query={{hds-link-to-query @query}}\\n @replace={{@replace}}\\n @route={{@route}}\\n @isRouteExternal={{@isRouteExternal}}\\n @href={{@href}}\\n @isHrefExternal={{@isHrefExternal}}\\n >\\n {{this.text}}\\n </Hds::Interactive>\\n {{else}}\\n <span class=\\\"hds-tag__text\\\">\\n {{this.text}}\\n </span>\\n {{/if}}\\n</Hds::Text::Body>\")","/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { assert } from '@ember/debug';\n\nexport const DEFAULT_COLOR = 'primary';\nexport const COLORS = ['primary', 'secondary'];\n\nexport default class HdsTagIndexComponent extends Component {\n /**\n * @param onDismiss\n * @type {function}\n * @default () => {}\n */\n get onDismiss() {\n let { onDismiss } = this.args;\n\n if (typeof onDismiss === 'function') {\n return onDismiss;\n } else {\n return false;\n }\n }\n\n /**\n * @param text\n * @type {string}\n * @description The text of the tag. If no text value is defined, an error will be thrown.\n */\n get text() {\n let { text } = this.args;\n\n assert('@text for \"Hds::Tag\" must have a valid value', text !== undefined);\n\n return text;\n }\n\n /**\n * @param ariaLabel\n * @type {string}\n * @default 'Dismiss'\n */\n get ariaLabel() {\n let tagAriaLabel = this.args.ariaLabel ?? 'Dismiss';\n return tagAriaLabel + ' ' + this.args.text;\n }\n\n /**\n * @param color\n * @type {string}\n * @default primary\n * @description Determines the color of link to be used; acceptable values are `primary` and `secondary`\n */\n get color() {\n if (this.args.href || this.args.route) {\n let { color = DEFAULT_COLOR } = this.args;\n assert(\n `@color for \"Hds::Tag\" must be one of the following: ${COLORS.join(\n ', '\n )}; received: ${color}`,\n COLORS.includes(color)\n );\n return color;\n } else if (this.args.color) {\n assert(\n '@color can only be applied to \"Hds::Tag\" along with either @href or @route',\n this.args.href || this.args.route\n );\n }\n return false;\n }\n\n /**\n * Get the class names to apply to the component.\n * @method classNames\n * @return {string} The \"class\" attribute to apply to the component.\n */\n get classNames() {\n let classes = ['hds-tag'];\n\n // add a class based on the @color argument\n if (this.color) {\n classes.push(`hds-tag--color-${this.color}`);\n }\n\n return classes.join(' ');\n }\n}\n"],"names":["DEFAULT_COLOR","COLORS","HdsTagIndexComponent","Component","onDismiss","args","text","assert","undefined","ariaLabel","tagAriaLabel","color","href","route","join","includes","classNames","classes","push","setComponentTemplate","TEMPLATE"],"mappings":";;;;;AACA,eAAe,kBAAkB,CAAC,mgCAAmgC;;ACDriC;AACA;AACA;AACA;;AAKO,MAAMA,aAAa,GAAG,UAAS;MACzBC,MAAM,GAAG,CAAC,SAAS,EAAE,WAAW,EAAC;AAE/B,MAAMC,oBAAoB,SAASC,SAAS,CAAC;AAC1D;AACF;AACA;AACA;AACA;EACE,IAAIC,SAASA,GAAG;IACd,IAAI;AAAEA,MAAAA,SAAAA;KAAW,GAAG,IAAI,CAACC,IAAI,CAAA;AAE7B,IAAA,IAAI,OAAOD,SAAS,KAAK,UAAU,EAAE;AACnC,MAAA,OAAOA,SAAS,CAAA;AAClB,KAAC,MAAM;AACL,MAAA,OAAO,KAAK,CAAA;AACd,KAAA;AACF,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIE,IAAIA,GAAG;IACT,IAAI;AAAEA,MAAAA,IAAAA;KAAM,GAAG,IAAI,CAACD,IAAI,CAAA;AAExBE,IAAAA,MAAM,CAAC,8CAA8C,EAAED,IAAI,KAAKE,SAAS,CAAC,CAAA;AAE1E,IAAA,OAAOF,IAAI,CAAA;AACb,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIG,SAASA,GAAG;IACd,IAAIC,YAAY,GAAG,IAAI,CAACL,IAAI,CAACI,SAAS,IAAI,SAAS,CAAA;IACnD,OAAOC,YAAY,GAAG,GAAG,GAAG,IAAI,CAACL,IAAI,CAACC,IAAI,CAAA;AAC5C,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,IAAIK,KAAKA,GAAG;IACV,IAAI,IAAI,CAACN,IAAI,CAACO,IAAI,IAAI,IAAI,CAACP,IAAI,CAACQ,KAAK,EAAE;MACrC,IAAI;AAAEF,QAAAA,KAAK,GAAGX,aAAAA;OAAe,GAAG,IAAI,CAACK,IAAI,CAAA;AACzCE,MAAAA,MAAM,CACH,CAAsDN,oDAAAA,EAAAA,MAAM,CAACa,IAAI,CAChE,IACF,CAAE,CAAA,YAAA,EAAcH,KAAM,CAAA,CAAC,EACvBV,MAAM,CAACc,QAAQ,CAACJ,KAAK,CACvB,CAAC,CAAA;AACD,MAAA,OAAOA,KAAK,CAAA;AACd,KAAC,MAAM,IAAI,IAAI,CAACN,IAAI,CAACM,KAAK,EAAE;AAC1BJ,MAAAA,MAAM,CACJ,4EAA4E,EAC5E,IAAI,CAACF,IAAI,CAACO,IAAI,IAAI,IAAI,CAACP,IAAI,CAACQ,KAC9B,CAAC,CAAA;AACH,KAAA;AACA,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACE,IAAIG,UAAUA,GAAG;AACf,IAAA,IAAIC,OAAO,GAAG,CAAC,SAAS,CAAC,CAAA;;AAEzB;IACA,IAAI,IAAI,CAACN,KAAK,EAAE;MACdM,OAAO,CAACC,IAAI,CAAE,CAAA,eAAA,EAAiB,IAAI,CAACP,KAAM,EAAC,CAAC,CAAA;AAC9C,KAAA;AAEA,IAAA,OAAOM,OAAO,CAACH,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,GAAA;AACF,CAAA;AAACK,oBAAA,CAAAC,QAAA,EA/EoBlB,oBAAoB,CAAA;;;;"}
@@ -0,0 +1,63 @@
1
+ import Component from '@glimmer/component';
2
+ import { assert } from '@ember/debug';
3
+ import { precompileTemplate } from '@ember/template-compilation';
4
+ import { setComponentTemplate } from '@ember/component';
5
+
6
+ var TEMPLATE = precompileTemplate("{{!\n Copyright (c) HashiCorp, Inc.\n SPDX-License-Identifier: MPL-2.0\n}}\n<Hds::Text\n @group=\"body\"\n @size={{this.size}}\n @weight={{this.weight}}\n @align={{@align}}\n @color={{@color}}\n @tag={{@tag}}\n ...attributes\n>{{yield}}</Hds::Text>");
7
+
8
+ /**
9
+ * Copyright (c) HashiCorp, Inc.
10
+ * SPDX-License-Identifier: MPL-2.0
11
+ */
12
+
13
+ const DEFAULT_SIZE = '200';
14
+ const AVAILABLE_SIZES = [300, 200, 100];
15
+ const DEFAULT_WEIGHT = 'regular';
16
+ const AVAILABLE_WEIGHTS_PER_SIZE = {
17
+ 300: ['regular', 'medium', 'semibold'],
18
+ 200: ['regular', 'medium', 'semibold'],
19
+ 100: ['regular', 'medium', 'semibold']
20
+ };
21
+ class HdsTextBodyComponent extends Component {
22
+ /**
23
+ * Sets the "size" for the text
24
+ * Accepted values: see AVAILABLE_SIZES
25
+ *
26
+ * @type {string}
27
+ *
28
+ * @param size
29
+ */
30
+ get size() {
31
+ let {
32
+ size = DEFAULT_SIZE
33
+ } = this.args;
34
+
35
+ // let's be a bit forgiving with the consumers
36
+ if (typeof size === 'string') {
37
+ size = parseInt(size, 10);
38
+ }
39
+ assert(`@size for "Hds::Text::Body" must be one of the following: ${AVAILABLE_SIZES.join(', ')}; received: ${size}`, AVAILABLE_SIZES.includes(size));
40
+ return size;
41
+ }
42
+
43
+ /**
44
+ * Sets the "weight" for the text
45
+ * Accepted values: see AVAILABLE_WEIGHTS_PER_SIZE
46
+ *
47
+ * @type {string}
48
+ *
49
+ * @param variant
50
+ */
51
+ get weight() {
52
+ let {
53
+ weight = DEFAULT_WEIGHT
54
+ } = this.args;
55
+ const availableWeights = AVAILABLE_WEIGHTS_PER_SIZE[this.size];
56
+ assert(`@weight for "Hds::Text::Body" with @size=${this.size} must be one of the following: ${availableWeights.join(', ')}; received: ${weight}`, availableWeights.includes(weight));
57
+ return weight;
58
+ }
59
+ }
60
+ setComponentTemplate(TEMPLATE, HdsTextBodyComponent);
61
+
62
+ export { AVAILABLE_SIZES, AVAILABLE_WEIGHTS_PER_SIZE, DEFAULT_SIZE, DEFAULT_WEIGHT, HdsTextBodyComponent as default };
63
+ //# sourceMappingURL=body.js.map