@hashicorp/design-system-components 4.2.0 → 4.3.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 (221) hide show
  1. package/dist/_app_/components/hds/form/super-select/after-options.js +1 -0
  2. package/dist/_app_/components/hds/form/super-select/multiple/base.js +1 -0
  3. package/dist/_app_/components/hds/form/super-select/multiple/field.js +1 -0
  4. package/dist/_app_/components/hds/form/super-select/option-group.js +1 -0
  5. package/dist/_app_/components/hds/form/super-select/placeholder.js +1 -0
  6. package/dist/_app_/components/hds/form/super-select/single/base.js +1 -0
  7. package/dist/_app_/components/hds/form/super-select/single/field.js +1 -0
  8. package/dist/_app_/components/hds/{link/types.js → popover-primitive/index.js} +1 -1
  9. package/dist/_app_/components/hds/{card/types.js → rich-tooltip/bubble.js} +1 -1
  10. package/dist/_app_/components/hds/{alert/types.js → rich-tooltip/index.js} +1 -1
  11. package/dist/_app_/components/hds/{interactive/types.js → rich-tooltip/toggle.js} +1 -1
  12. package/dist/_app_/modifiers/hds-anchored-position.js +1 -0
  13. package/dist/_app_/modifiers/hds-register-event.js +1 -0
  14. package/dist/{_rollupPluginBabelHelpers-lqPQKyNs.js → _rollupPluginBabelHelpers-NoJJJNhk.js} +7 -9
  15. package/dist/{_rollupPluginBabelHelpers-lqPQKyNs.js.map → _rollupPluginBabelHelpers-NoJJJNhk.js.map} +1 -1
  16. package/dist/components/hds/accordion/index.js +8 -2
  17. package/dist/components/hds/accordion/index.js.map +1 -1
  18. package/dist/components/hds/accordion/item/button.js +12 -8
  19. package/dist/components/hds/accordion/item/button.js.map +1 -1
  20. package/dist/components/hds/accordion/item/index.js +6 -6
  21. package/dist/components/hds/accordion/item/index.js.map +1 -1
  22. package/dist/components/hds/alert/description.js +9 -4
  23. package/dist/components/hds/alert/description.js.map +1 -1
  24. package/dist/components/hds/alert/index.js +4 -6
  25. package/dist/components/hds/alert/index.js.map +1 -1
  26. package/dist/components/hds/alert/title.js +9 -4
  27. package/dist/components/hds/alert/title.js.map +1 -1
  28. package/dist/components/hds/alert/types.js +5 -0
  29. package/dist/components/hds/alert/types.js.map +1 -1
  30. package/dist/components/hds/app-footer/copyright.js +1 -1
  31. package/dist/components/hds/app-footer/copyright.js.map +1 -1
  32. package/dist/components/hds/app-footer/index.js +6 -6
  33. package/dist/components/hds/app-footer/index.js.map +1 -1
  34. package/dist/components/hds/app-footer/item.js +10 -4
  35. package/dist/components/hds/app-footer/item.js.map +1 -1
  36. package/dist/components/hds/app-footer/legal-links.js +1 -1
  37. package/dist/components/hds/app-footer/legal-links.js.map +1 -1
  38. package/dist/components/hds/app-footer/link.js +10 -4
  39. package/dist/components/hds/app-footer/link.js.map +1 -1
  40. package/dist/components/hds/app-footer/status-link.js +12 -27
  41. package/dist/components/hds/app-footer/status-link.js.map +1 -1
  42. package/dist/components/hds/app-footer/types.js +38 -0
  43. package/dist/components/hds/app-footer/types.js.map +1 -0
  44. package/dist/components/hds/app-frame/index.js +4 -4
  45. package/dist/components/hds/app-frame/index.js.map +1 -1
  46. package/dist/components/hds/app-frame/parts/footer.js +10 -4
  47. package/dist/components/hds/app-frame/parts/footer.js.map +1 -1
  48. package/dist/components/hds/app-frame/parts/header.js +10 -4
  49. package/dist/components/hds/app-frame/parts/header.js.map +1 -1
  50. package/dist/components/hds/app-frame/parts/main.js +10 -4
  51. package/dist/components/hds/app-frame/parts/main.js.map +1 -1
  52. package/dist/components/hds/app-frame/parts/modals.js +10 -4
  53. package/dist/components/hds/app-frame/parts/modals.js.map +1 -1
  54. package/dist/components/hds/app-frame/parts/sidebar.js +10 -4
  55. package/dist/components/hds/app-frame/parts/sidebar.js.map +1 -1
  56. package/dist/components/hds/badge/index.js +19 -18
  57. package/dist/components/hds/badge/index.js.map +1 -1
  58. package/dist/components/hds/badge/types.js +29 -0
  59. package/dist/components/hds/badge/types.js.map +1 -0
  60. package/dist/components/hds/badge-count/index.js +15 -14
  61. package/dist/components/hds/badge-count/index.js.map +1 -1
  62. package/dist/components/hds/badge-count/types.js +25 -0
  63. package/dist/components/hds/badge-count/types.js.map +1 -0
  64. package/dist/components/hds/button/index.js +3 -3
  65. package/dist/components/hds/button/index.js.map +1 -1
  66. package/dist/components/hds/button-set/index.js +8 -2
  67. package/dist/components/hds/button-set/index.js.map +1 -1
  68. package/dist/components/hds/card/container.js.map +1 -1
  69. package/dist/components/hds/card/types.js +5 -0
  70. package/dist/components/hds/card/types.js.map +1 -1
  71. package/dist/components/hds/code-block/index.js +1 -1
  72. package/dist/components/hds/code-block/index.js.map +1 -1
  73. package/dist/components/hds/copy/button/index.js +1 -1
  74. package/dist/components/hds/copy/button/index.js.map +1 -1
  75. package/dist/components/hds/copy/snippet/index.js +1 -1
  76. package/dist/components/hds/copy/snippet/index.js.map +1 -1
  77. package/dist/components/hds/disclosure-primitive/index.js +2 -2
  78. package/dist/components/hds/disclosure-primitive/index.js.map +1 -1
  79. package/dist/components/hds/dismiss-button/index.js +3 -3
  80. package/dist/components/hds/dismiss-button/index.js.map +1 -1
  81. package/dist/components/hds/dropdown/index.js +1 -1
  82. package/dist/components/hds/dropdown/index.js.map +1 -1
  83. package/dist/components/hds/dropdown/list-item/checkmark.js +1 -1
  84. package/dist/components/hds/dropdown/list-item/checkmark.js.map +1 -1
  85. package/dist/components/hds/dropdown/list-item/interactive.js +1 -1
  86. package/dist/components/hds/dropdown/list-item/interactive.js.map +1 -1
  87. package/dist/components/hds/dropdown/toggle/button.js +1 -1
  88. package/dist/components/hds/dropdown/toggle/icon.js +1 -1
  89. package/dist/components/hds/dropdown/toggle/icon.js.map +1 -1
  90. package/dist/components/hds/flyout/index.js +1 -1
  91. package/dist/components/hds/flyout/index.js.map +1 -1
  92. package/dist/components/hds/form/field/index.js +1 -1
  93. package/dist/components/hds/form/field/index.js.map +1 -1
  94. package/dist/components/hds/form/fieldset/index.js +1 -1
  95. package/dist/components/hds/form/fieldset/index.js.map +1 -1
  96. package/dist/components/hds/form/label/index.js +18 -2
  97. package/dist/components/hds/form/label/index.js.map +1 -1
  98. package/dist/components/hds/form/masked-input/base.js +1 -1
  99. package/dist/components/hds/form/masked-input/base.js.map +1 -1
  100. package/dist/components/hds/form/radio-card/index.js +1 -1
  101. package/dist/components/hds/form/radio-card/index.js.map +1 -1
  102. package/dist/components/hds/form/super-select/after-options.js +10 -0
  103. package/dist/components/hds/form/super-select/after-options.js.map +1 -0
  104. package/dist/components/hds/form/super-select/multiple/base.js +159 -0
  105. package/dist/components/hds/form/super-select/multiple/base.js.map +1 -0
  106. package/dist/components/hds/form/super-select/multiple/field.js +21 -0
  107. package/dist/components/hds/form/super-select/multiple/field.js.map +1 -0
  108. package/dist/components/hds/form/super-select/option-group.js +22 -0
  109. package/dist/components/hds/form/super-select/option-group.js.map +1 -0
  110. package/dist/components/hds/form/super-select/placeholder.js +10 -0
  111. package/dist/components/hds/form/super-select/placeholder.js.map +1 -0
  112. package/dist/components/hds/form/super-select/single/base.js +86 -0
  113. package/dist/components/hds/form/super-select/single/base.js.map +1 -0
  114. package/dist/components/hds/form/super-select/single/field.js +21 -0
  115. package/dist/components/hds/form/super-select/single/field.js.map +1 -0
  116. package/dist/components/hds/form/text-input/field.js +1 -1
  117. package/dist/components/hds/form/text-input/field.js.map +1 -1
  118. package/dist/components/hds/icon-tile/index.js +15 -11
  119. package/dist/components/hds/icon-tile/index.js.map +1 -1
  120. package/dist/components/hds/icon-tile/types.js +32 -0
  121. package/dist/components/hds/icon-tile/types.js.map +1 -0
  122. package/dist/components/hds/interactive/index.js +4 -4
  123. package/dist/components/hds/interactive/index.js.map +1 -1
  124. package/dist/components/hds/link/inline.js.map +1 -1
  125. package/dist/components/hds/link/standalone.js.map +1 -1
  126. package/dist/components/hds/link/types.js +5 -0
  127. package/dist/components/hds/link/types.js.map +1 -1
  128. package/dist/components/hds/menu-primitive/index.js +1 -1
  129. package/dist/components/hds/menu-primitive/index.js.map +1 -1
  130. package/dist/components/hds/modal/index.js +1 -1
  131. package/dist/components/hds/modal/index.js.map +1 -1
  132. package/dist/components/hds/pagination/compact/index.js +1 -1
  133. package/dist/components/hds/pagination/compact/index.js.map +1 -1
  134. package/dist/components/hds/pagination/nav/arrow.js +1 -1
  135. package/dist/components/hds/pagination/nav/arrow.js.map +1 -1
  136. package/dist/components/hds/pagination/nav/number.js +1 -1
  137. package/dist/components/hds/pagination/nav/number.js.map +1 -1
  138. package/dist/components/hds/pagination/numbered/index.js +1 -1
  139. package/dist/components/hds/pagination/numbered/index.js.map +1 -1
  140. package/dist/components/hds/pagination/size-selector/index.js +1 -1
  141. package/dist/components/hds/pagination/size-selector/index.js.map +1 -1
  142. package/dist/components/hds/popover-primitive/index.js +238 -0
  143. package/dist/components/hds/popover-primitive/index.js.map +1 -0
  144. package/dist/components/hds/reveal/index.js +21 -17
  145. package/dist/components/hds/reveal/index.js.map +1 -1
  146. package/dist/components/hds/reveal/toggle/button.js +5 -5
  147. package/dist/components/hds/reveal/toggle/button.js.map +1 -1
  148. package/dist/components/hds/rich-tooltip/bubble.js +60 -0
  149. package/dist/components/hds/rich-tooltip/bubble.js.map +1 -0
  150. package/dist/components/hds/rich-tooltip/index.js +26 -0
  151. package/dist/components/hds/rich-tooltip/index.js.map +1 -0
  152. package/dist/components/hds/rich-tooltip/toggle.js +85 -0
  153. package/dist/components/hds/rich-tooltip/toggle.js.map +1 -0
  154. package/dist/components/hds/separator/index.js +9 -8
  155. package/dist/components/hds/separator/index.js.map +1 -1
  156. package/dist/components/hds/separator/types.js +13 -0
  157. package/dist/components/hds/separator/types.js.map +1 -0
  158. package/dist/components/hds/side-nav/index.js +1 -1
  159. package/dist/components/hds/side-nav/index.js.map +1 -1
  160. package/dist/components/hds/side-nav/portal/target.js +1 -1
  161. package/dist/components/hds/side-nav/portal/target.js.map +1 -1
  162. package/dist/components/hds/stepper/step/indicator.js +9 -8
  163. package/dist/components/hds/stepper/step/indicator.js.map +1 -1
  164. package/dist/components/hds/stepper/task/indicator.js +10 -14
  165. package/dist/components/hds/stepper/task/indicator.js.map +1 -1
  166. package/dist/components/hds/stepper/types.js +21 -0
  167. package/dist/components/hds/stepper/types.js.map +1 -0
  168. package/dist/components/hds/table/index.js +1 -1
  169. package/dist/components/hds/table/index.js.map +1 -1
  170. package/dist/components/hds/table/th-button-sort.js +1 -1
  171. package/dist/components/hds/table/th-button-tooltip.js +1 -1
  172. package/dist/components/hds/table/th-selectable.js +1 -1
  173. package/dist/components/hds/table/th-selectable.js.map +1 -1
  174. package/dist/components/hds/table/th-sort.js +1 -1
  175. package/dist/components/hds/table/th.js +1 -1
  176. package/dist/components/hds/tabs/index.js +1 -1
  177. package/dist/components/hds/tabs/index.js.map +1 -1
  178. package/dist/components/hds/tabs/panel.js +1 -1
  179. package/dist/components/hds/tabs/panel.js.map +1 -1
  180. package/dist/components/hds/tabs/tab.js +1 -1
  181. package/dist/components/hds/tabs/tab.js.map +1 -1
  182. package/dist/components/hds/tag/index.js +11 -10
  183. package/dist/components/hds/tag/index.js.map +1 -1
  184. package/dist/components/hds/tag/types.js +13 -0
  185. package/dist/components/hds/tag/types.js.map +1 -0
  186. package/dist/components/hds/text/body.js.map +1 -1
  187. package/dist/components/hds/text/code.js.map +1 -1
  188. package/dist/components/hds/text/display.js.map +1 -1
  189. package/dist/components/hds/text/index.js +3 -3
  190. package/dist/components/hds/text/index.js.map +1 -1
  191. package/dist/components/hds/toast/index.js +8 -2
  192. package/dist/components/hds/toast/index.js.map +1 -1
  193. package/dist/components/hds/yield/index.js +4 -4
  194. package/dist/components/hds/yield/index.js.map +1 -1
  195. package/dist/modifiers/hds-anchored-position.js +175 -0
  196. package/dist/modifiers/hds-anchored-position.js.map +1 -0
  197. package/dist/modifiers/hds-register-event.js +40 -0
  198. package/dist/modifiers/hds-register-event.js.map +1 -0
  199. package/dist/modifiers/hds-tooltip.js +10 -14
  200. package/dist/modifiers/hds-tooltip.js.map +1 -1
  201. package/dist/styles/@hashicorp/design-system-components.css +565 -3
  202. package/dist/styles/@hashicorp/design-system-components.scss +1 -0
  203. package/dist/styles/@hashicorp/design-system-power-select-overrides.scss +0 -1
  204. package/dist/styles/components/code-block/theme.scss +1 -1
  205. package/dist/styles/components/dropdown.scss +7 -0
  206. package/dist/styles/components/form/index.scss +1 -0
  207. package/dist/styles/components/form/select.scss +0 -1
  208. package/dist/styles/components/form/super-select.scss +515 -0
  209. package/dist/styles/components/form/text-input.scss +0 -1
  210. package/dist/styles/components/form/textarea.scss +0 -1
  211. package/dist/styles/components/page-header.scss +1 -0
  212. package/dist/styles/components/rich-tooltip.scss +247 -0
  213. package/dist/styles/components/tabs.scss +2 -1
  214. package/dist/styles/components/tooltip.scss +1 -1
  215. package/package.json +54 -28
  216. package/dist/_app_/components/hds/text/types.js +0 -1
  217. package/dist/_app_/components/hds/yield/types.js +0 -1
  218. package/dist/components/hds/interactive/types.js +0 -2
  219. package/dist/components/hds/interactive/types.js.map +0 -1
  220. package/dist/components/hds/yield/types.js +0 -2
  221. package/dist/components/hds/yield/types.js.map +0 -1
@@ -0,0 +1,247 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+
6
+ //
7
+ // RICH-TOOLTIP
8
+ //
9
+
10
+ @use "../mixins/focus-ring" as *;
11
+
12
+ .hds-rich-tooltip {
13
+ display: contents;
14
+ }
15
+
16
+ // TOGGLE
17
+
18
+ // The special declarations below are used to allow the button to inherit styles from the parent element
19
+ // without preventing the consumers from applying these styles via HDS or custom classes if they want
20
+ //
21
+ // Since the `:where()` selector has a specificity of `0` (see https://developer.mozilla.org/en-US/docs/Web/CSS/:where)
22
+ // the styles declared below are applied to the `<button>` element, but are overwritten by any other style applied via classname
23
+
24
+ :where(.hds-rich-tooltip__toggle) {
25
+ width: fit-content;
26
+ height: fit-content;
27
+ margin: 0;
28
+ padding: 0;
29
+ color: inherit;
30
+ font: inherit;
31
+ text-align: inherit;
32
+ background-color: inherit;
33
+ border: none;
34
+ cursor: pointer;
35
+ }
36
+
37
+ .hds-rich-tooltip__toggle {
38
+ // we don't want to apply styles to the yielded content
39
+ // so we use these variables that allow us to target only
40
+ // the (decorated) text and the icon
41
+ --text-color: var(--token-color-foreground-strong);
42
+ --icon-color: var(--token-color-foreground-strong);
43
+
44
+ &:hover,
45
+ &.mock-hover {
46
+ --text-color: var(--token-color-foreground-primary);
47
+ --icon-color: var(--token-color-foreground-primary);
48
+ }
49
+
50
+ &:active,
51
+ &.mock-active {
52
+ --text-color: var(--token-color-foreground-faint);
53
+ --icon-color: var(--token-color-foreground-faint);
54
+ }
55
+
56
+ @include hds-focus-ring-with-pseudo-element(
57
+ $top: -2px,
58
+ $right: -2px,
59
+ $bottom: -2px,
60
+ $left: -2px
61
+ );
62
+ }
63
+
64
+ // decorated text
65
+
66
+ .hds-rich-tooltip__toggle-text {
67
+ color: var(--text-color);
68
+ text-decoration: underline dotted;
69
+ }
70
+
71
+ // icon
72
+
73
+ .hds-rich-tooltip__toggle-icon {
74
+ flex: none;
75
+ width: 1em;
76
+ height: 1em;
77
+ color: var(--icon-color);
78
+
79
+ &:first-child:not(:only-child) {
80
+ margin-right: 0.25rem;
81
+ }
82
+
83
+ &:last-child:not(:only-child) {
84
+ margin-left: 0.25rem;
85
+ }
86
+ }
87
+
88
+ // DISPLAY
89
+
90
+ :where(.hds-rich-tooltip__toggle--is-inline) {
91
+ // it's a button, can't be `inline`
92
+ display: inline-flex;
93
+ align-items: center;
94
+ // this is needed to make sure the inline text is aligned with the other text before/after
95
+ vertical-align: bottom;
96
+
97
+ // when it's inline and it contains only an icon we need to align it at the middle of the text otherwise it "falls" down
98
+ &:has(.hds-rich-tooltip__toggle-icon:only-child) {
99
+ vertical-align: middle;
100
+ }
101
+ }
102
+
103
+ :where(.hds-rich-tooltip__toggle--is-block) {
104
+ display: flex;
105
+ align-items: center;
106
+ }
107
+
108
+ // SIZES
109
+
110
+ .hds-rich-tooltip__toggle--size-small {
111
+ font-weight: var(--token-typography-font-weight-regular);
112
+ font-size: var(--token-typography-body-100-font-size);
113
+ font-family: var(--token-typography-body-100-font-family);
114
+ line-height: var(--token-typography-body-100-line-height);
115
+ }
116
+
117
+ .hds-rich-tooltip__toggle--size-medium {
118
+ font-weight: var(--token-typography-font-weight-regular);
119
+ font-size: var(--token-typography-body-200-font-size);
120
+ font-family: var(--token-typography-body-200-font-family);
121
+ line-height: var(--token-typography-body-200-line-height);
122
+ }
123
+
124
+ .hds-rich-tooltip__toggle--size-large {
125
+ font-weight: var(--token-typography-font-weight-regular);
126
+ font-size: var(--token-typography-body-300-font-size);
127
+ font-family: var(--token-typography-body-300-font-family);
128
+ line-height: var(--token-typography-body-300-line-height);
129
+ }
130
+
131
+ // BUBBLE
132
+
133
+ .hds-rich-tooltip__bubble {
134
+ position: relative;
135
+ width: fit-content;
136
+ max-width: var(--token-tooltip-max-width);
137
+ height: fit-content;
138
+ max-height: none;
139
+ padding: 16px;
140
+ background: var(--token-color-surface-primary);
141
+ border-radius: 5px;
142
+ box-shadow: var(--token-surface-higher-box-shadow);
143
+
144
+ // fade-in animation (we can't do fade-out because `isOpen` removes the content of the bubble immediately from the DOM)
145
+ // see: https://developer.mozilla.org/en-US/docs/Web/API/Popover_API/Using#animating_popovers
146
+ opacity: 0;
147
+ transition: opacity 0.3s;
148
+ will-change: opacity;
149
+
150
+ // the "popover" attributes comes with pre-defined styling so we need to override it
151
+ :where(&[popover]) {
152
+ width: fit-content;
153
+ height: fit-content;
154
+ margin: 0;
155
+ padding: 0;
156
+ overflow: visible;
157
+ color: inherit;
158
+ background: none;
159
+ border: none;
160
+ inset: 0;
161
+ }
162
+ }
163
+
164
+ // arrow
165
+
166
+ .hds-rich-tooltip__bubble-arrow {
167
+ // notice: floating-ui assumes the "arrow" container is square
168
+ $arrow-size: 20px;
169
+ position: absolute;
170
+ z-index: 1;
171
+ display: block;
172
+ width: $arrow-size;
173
+ height: $arrow-size;
174
+ background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none"><path fill="%23fff" d="M9.056 11.607.398 20h19.091l-8.37-8.393S10.69 11 10.089 11c-.602 0-1.032.608-1.032.608Z"/><path fill="%23656A76" fill-opacity=".2" fill-rule="evenodd" d="M9.359 11.308 1.423 19H0l8.674-8.417.342.362-.342-.362v-.001l.002-.001.003-.003.007-.007a1.622 1.622 0 0 1 .103-.087c.066-.053.16-.122.277-.191.224-.134.571-.293.977-.293a2.158 2.158 0 0 1 1.374.492 1.658 1.658 0 0 1 .107.098l.004.004L20 19h-1.518l-7.665-7.707-.004-.003-.002-.002a1.069 1.069 0 0 0-.18-.131 1.167 1.167 0 0 0-.588-.157.958.958 0 0 0-.47.153 1.527 1.527 0 0 0-.208.15l-.006.005Z" clip-rule="evenodd"/></svg>')
175
+ no-repeat 0 0 / #{$arrow-size} #{$arrow-size};
176
+ pointer-events: none;
177
+
178
+ &[data-hds-anchored-arrow-placement^="top"] {
179
+ bottom: (-1 * $arrow-size);
180
+ transform: rotate(180deg);
181
+ }
182
+
183
+ &[data-hds-anchored-arrow-placement^="right"] {
184
+ left: (-1 * $arrow-size);
185
+ transform: rotate(-90deg);
186
+ }
187
+
188
+ &[data-hds-anchored-arrow-placement^="bottom"] {
189
+ top: (-1 * $arrow-size);
190
+ transform: rotate(0deg); // this fixes a rendering issue in Safari
191
+ }
192
+
193
+ &[data-hds-anchored-arrow-placement^="left"] {
194
+ right: (-1 * $arrow-size);
195
+ transform: rotate(90deg);
196
+ }
197
+ }
198
+
199
+ // inner content
200
+
201
+ .hds-rich-tooltip__bubble-inner-content {
202
+ // we need to reset the content to avoid it inheriting the styles from the parents of the component or the component's wrapping element
203
+ all: initial;
204
+ // IMPORTANT: we don't want the element to have a `layout`, to create a "box", to avoid issues with Safari
205
+ // see: https://hashicorp.slack.com/archives/C025N5V4PFZ/p1715247858351399
206
+ display: contents;
207
+ box-sizing: border-box;
208
+
209
+ *,
210
+ *::before,
211
+ *::after {
212
+ box-sizing: inherit;
213
+ }
214
+ }
215
+
216
+ // ANIMATION
217
+
218
+ // these start/end comments are needed to avoid that clean-css mangles the generated code (it happens in "production" build/code)
219
+ // (probably it doesn't understand the @starting-style directive or thinks the `.\:popover-open` is not valid)
220
+
221
+ /* clean-css ignore:start */
222
+
223
+ .hds-rich-tooltip__bubble {
224
+ &[popover]:popover-open {
225
+ opacity: 1;
226
+ }
227
+
228
+ @starting-style {
229
+ &[popover]:popover-open {
230
+ opacity: 0;
231
+ }
232
+ }
233
+
234
+ // polyfilled `:popover-open` selector
235
+ // see: https://github.com/oddbird/popover-polyfill?tab=readme-ov-file#caveats
236
+ &[popover].\:popover-open {
237
+ opacity: 1;
238
+ }
239
+
240
+ @starting-style {
241
+ &[popover].\:popover-open {
242
+ opacity: 0;
243
+ }
244
+ }
245
+ }
246
+
247
+ /* clean-css ignore:end */
@@ -34,6 +34,7 @@ $hds-tabs-sizes: ( "medium", "large" );
34
34
  margin: 0;
35
35
  padding: 0;
36
36
  overflow-x: auto;
37
+ isolation: isolate;
37
38
  -webkit-overflow-scrolling: touch;
38
39
  }
39
40
 
@@ -99,7 +100,7 @@ $hds-tabs-sizes: ( "medium", "large" );
99
100
  bottom: 0;
100
101
  // notice: this custom prop is set dynamically via JavaScript
101
102
  left: var(--indicator-left-pos, 0);
102
- z-index: 10;
103
+ z-index: 1;
103
104
  display: block;
104
105
  // notice: this custom prop is set dynamically via JavaScript
105
106
  width: var(--indicator-width, 0);
@@ -75,7 +75,7 @@
75
75
  z-index: 1;
76
76
  // This needs to go here because Tippy generates a javascript
77
77
  // max-width on .tippy-box.
78
- max-width: var(--token-tooltip-max-width);
78
+ max-width: calc(var(--token-tooltip-max-width) - 2 * var(--token-tooltip-padding-horizontal));
79
79
  // prevent this container from potentially inheriting other values
80
80
  // such as `white-space: nowrap` that would cause content overflow
81
81
  white-space: normal;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hashicorp/design-system-components",
3
- "version": "4.2.0",
3
+ "version": "4.3.0",
4
4
  "description": "Helios Design System Components",
5
5
  "keywords": [
6
6
  "hashicorp",
@@ -14,31 +14,34 @@
14
14
  "url": "https://github.com/hashicorp/design-system.git",
15
15
  "directory": "packages/components"
16
16
  },
17
- "types": "dist/index.d.ts",
18
17
  "license": "MPL-2.0",
19
18
  "author": "HashiCorp Design Systems <design-systems@hashicorp.com>",
20
19
  "scripts": {
21
- "build": "rollup --config",
20
+ "build": "concurrently 'npm:build:*'",
21
+ "build:js": "rollup --config",
22
+ "build:types": "glint --declaration",
22
23
  "prepublishOnly": "yarn workspace @hashicorp/ember-flight-icons build && rollup --config && test -f 'dist/styles/@hashicorp/design-system-components.css' || (echo 'The pre-compiled CSS file was not found' && exit 1)",
23
24
  "start": "rollup --config --watch --environment development",
24
25
  "lint": "npm-run-all --aggregate-output --continue-on-error --parallel \"lint:!(fix)\"",
25
26
  "lint:fix": "npm-run-all --aggregate-output --continue-on-error --parallel lint:*:fix",
26
27
  "lint:css": "stylelint \"src/styles/**/*.scss\"",
27
28
  "lint:css:fix": "npm-run-all \"lint:css --fix\"",
28
- "lint:glint": "glint",
29
+ "lint:types": "glint",
29
30
  "lint:hbs": "ember-template-lint .",
30
31
  "lint:hbs:fix": "ember-template-lint . --fix",
31
32
  "lint:js": "eslint . --cache",
32
- "lint:js:fix": "eslint . --fix",
33
- "lint:types": "tsc --noEmit"
33
+ "lint:js:fix": "eslint . --fix"
34
34
  },
35
35
  "dependencies": {
36
36
  "@ember/render-modifiers": "^2.0.5",
37
37
  "@ember/string": "^3.1.1",
38
38
  "@ember/test-waiters": "^3.1.0",
39
39
  "@embroider/addon-shim": "^1.8.7",
40
+ "@floating-ui/dom": "^1.6.3",
40
41
  "@hashicorp/design-system-tokens": "^2.1.0",
41
- "@hashicorp/ember-flight-icons": "^5.0.1",
42
+ "@hashicorp/ember-flight-icons": "^5.0.2",
43
+ "@oddbird/popover-polyfill": "^0.4.3",
44
+ "decorator-transforms": "^1.1.0",
42
45
  "ember-a11y-refocus": "^3.0.2",
43
46
  "ember-cli-sass": "^11.0.1",
44
47
  "ember-composable-helpers": "^5.0.0",
@@ -46,6 +49,7 @@
46
49
  "ember-focus-trap": "^1.1.0",
47
50
  "ember-keyboard": "^8.2.1",
48
51
  "ember-modifier": "^4.1.0",
52
+ "ember-power-select": "^8.2.0",
49
53
  "ember-stargate": "^0.4.3",
50
54
  "ember-style-modifier": "^3.0.1",
51
55
  "ember-truth-helpers": "^4.0.3",
@@ -54,24 +58,31 @@
54
58
  "tippy.js": "^6.3.7"
55
59
  },
56
60
  "devDependencies": {
57
- "@babel/core": "^7.23.6",
58
- "@babel/plugin-proposal-decorators": "^7.23.6",
59
- "@babel/plugin-transform-class-properties": "^7.23.3",
60
- "@babel/plugin-transform-private-methods": "^7.23.3",
61
+ "@babel/core": "^7.24.5",
62
+ "@babel/plugin-proposal-decorators": "^7.24.1",
63
+ "@babel/plugin-transform-class-properties": "^7.24.1",
64
+ "@babel/plugin-transform-private-methods": "^7.24.1",
61
65
  "@babel/plugin-transform-typescript": "^7.23.6",
62
- "@babel/preset-typescript": "^7.23.3",
63
- "@embroider/addon-dev": "^4.1.3",
64
- "@glint/core": "^1.3.0",
65
- "@glint/environment-ember-loose": "^1.3.0",
66
- "@glint/template": "^1.3.0",
66
+ "@babel/runtime": "^7.24.5",
67
+ "@ember/test-helpers": "^3.3.0",
68
+ "@embroider/addon-dev": "^4.3.1",
69
+ "@glimmer/component": "^1.1.2",
70
+ "@glimmer/tracking": "^1.1.2",
71
+ "@glint/core": "^1.4.0",
72
+ "@glint/environment-ember-loose": "^1.4.0",
73
+ "@glint/template": "^1.4.0",
67
74
  "@rollup/plugin-babel": "^6.0.4",
68
- "@tsconfig/ember": "^3.0.2",
75
+ "@tsconfig/ember": "^3.0.6",
69
76
  "@types/ember-qunit": "^6.1.1",
70
77
  "@types/ember-resolver": "^9.0.0",
71
78
  "@types/qunit": "^2.19.7",
72
79
  "@types/rsvp": "^4.0.6",
73
80
  "@typescript-eslint/eslint-plugin": "^6.14.0",
74
81
  "@typescript-eslint/parser": "^6.14.0",
82
+ "babel-plugin-ember-template-compilation": "^2.2.4",
83
+ "concurrently": "^8.2.2",
84
+ "ember-basic-dropdown": "^8.1.0",
85
+ "ember-concurrency": "^4.0.2",
75
86
  "ember-template-lint": "^4.18.2",
76
87
  "ember-template-lint-plugin-prettier": "^4.2.0",
77
88
  "eslint": "^8.52.0",
@@ -82,13 +93,13 @@
82
93
  "eslint-plugin-qunit": "^8.0.1",
83
94
  "npm-run-all": "^4.1.5",
84
95
  "prettier": "^2.8.8",
85
- "rollup": "^4.9.0",
96
+ "rollup": "^4.17.2",
86
97
  "rollup-plugin-copy": "^3.5.0",
87
98
  "rollup-plugin-scss": "^4.0.0",
88
99
  "rollup-plugin-ts": "^3.4.5",
89
- "stylelint": "^15.11.0",
100
+ "stylelint": "^16.3.1",
90
101
  "stylelint-config-rational-order": "^0.1.2",
91
- "stylelint-config-standard-scss": "^11.1.0",
102
+ "stylelint-config-standard-scss": "^13.1.0",
92
103
  "typescript": "^5.3.3"
93
104
  },
94
105
  "peerDependencies": {
@@ -108,7 +119,6 @@
108
119
  "./components/hds/alert/description.js": "./dist/_app_/components/hds/alert/description.js",
109
120
  "./components/hds/alert/index.js": "./dist/_app_/components/hds/alert/index.js",
110
121
  "./components/hds/alert/title.js": "./dist/_app_/components/hds/alert/title.js",
111
- "./components/hds/alert/types.js": "./dist/_app_/components/hds/alert/types.js",
112
122
  "./components/hds/app-footer/copyright.js": "./dist/_app_/components/hds/app-footer/copyright.js",
113
123
  "./components/hds/app-footer/index.js": "./dist/_app_/components/hds/app-footer/index.js",
114
124
  "./components/hds/app-footer/item.js": "./dist/_app_/components/hds/app-footer/item.js",
@@ -133,7 +143,6 @@
133
143
  "./components/hds/button-set/index.js": "./dist/_app_/components/hds/button-set/index.js",
134
144
  "./components/hds/button/index.js": "./dist/_app_/components/hds/button/index.js",
135
145
  "./components/hds/card/container.js": "./dist/_app_/components/hds/card/container.js",
136
- "./components/hds/card/types.js": "./dist/_app_/components/hds/card/types.js",
137
146
  "./components/hds/code-block/copy-button.js": "./dist/_app_/components/hds/code-block/copy-button.js",
138
147
  "./components/hds/code-block/description.js": "./dist/_app_/components/hds/code-block/description.js",
139
148
  "./components/hds/code-block/index.js": "./dist/_app_/components/hds/code-block/index.js",
@@ -187,6 +196,13 @@
187
196
  "./components/hds/form/radio/group.js": "./dist/_app_/components/hds/form/radio/group.js",
188
197
  "./components/hds/form/select/base.js": "./dist/_app_/components/hds/form/select/base.js",
189
198
  "./components/hds/form/select/field.js": "./dist/_app_/components/hds/form/select/field.js",
199
+ "./components/hds/form/super-select/after-options.js": "./dist/_app_/components/hds/form/super-select/after-options.js",
200
+ "./components/hds/form/super-select/multiple/base.js": "./dist/_app_/components/hds/form/super-select/multiple/base.js",
201
+ "./components/hds/form/super-select/multiple/field.js": "./dist/_app_/components/hds/form/super-select/multiple/field.js",
202
+ "./components/hds/form/super-select/option-group.js": "./dist/_app_/components/hds/form/super-select/option-group.js",
203
+ "./components/hds/form/super-select/placeholder.js": "./dist/_app_/components/hds/form/super-select/placeholder.js",
204
+ "./components/hds/form/super-select/single/base.js": "./dist/_app_/components/hds/form/super-select/single/base.js",
205
+ "./components/hds/form/super-select/single/field.js": "./dist/_app_/components/hds/form/super-select/single/field.js",
190
206
  "./components/hds/form/text-input/base.js": "./dist/_app_/components/hds/form/text-input/base.js",
191
207
  "./components/hds/form/text-input/field.js": "./dist/_app_/components/hds/form/text-input/field.js",
192
208
  "./components/hds/form/textarea/base.js": "./dist/_app_/components/hds/form/textarea/base.js",
@@ -197,10 +213,8 @@
197
213
  "./components/hds/form/visibility-toggle/index.js": "./dist/_app_/components/hds/form/visibility-toggle/index.js",
198
214
  "./components/hds/icon-tile/index.js": "./dist/_app_/components/hds/icon-tile/index.js",
199
215
  "./components/hds/interactive/index.js": "./dist/_app_/components/hds/interactive/index.js",
200
- "./components/hds/interactive/types.js": "./dist/_app_/components/hds/interactive/types.js",
201
216
  "./components/hds/link/inline.js": "./dist/_app_/components/hds/link/inline.js",
202
217
  "./components/hds/link/standalone.js": "./dist/_app_/components/hds/link/standalone.js",
203
- "./components/hds/link/types.js": "./dist/_app_/components/hds/link/types.js",
204
218
  "./components/hds/menu-primitive/index.js": "./dist/_app_/components/hds/menu-primitive/index.js",
205
219
  "./components/hds/modal/body.js": "./dist/_app_/components/hds/modal/body.js",
206
220
  "./components/hds/modal/footer.js": "./dist/_app_/components/hds/modal/footer.js",
@@ -219,8 +233,12 @@
219
233
  "./components/hds/pagination/nav/number.js": "./dist/_app_/components/hds/pagination/nav/number.js",
220
234
  "./components/hds/pagination/numbered/index.js": "./dist/_app_/components/hds/pagination/numbered/index.js",
221
235
  "./components/hds/pagination/size-selector/index.js": "./dist/_app_/components/hds/pagination/size-selector/index.js",
236
+ "./components/hds/popover-primitive/index.js": "./dist/_app_/components/hds/popover-primitive/index.js",
222
237
  "./components/hds/reveal/index.js": "./dist/_app_/components/hds/reveal/index.js",
223
238
  "./components/hds/reveal/toggle/button.js": "./dist/_app_/components/hds/reveal/toggle/button.js",
239
+ "./components/hds/rich-tooltip/bubble.js": "./dist/_app_/components/hds/rich-tooltip/bubble.js",
240
+ "./components/hds/rich-tooltip/index.js": "./dist/_app_/components/hds/rich-tooltip/index.js",
241
+ "./components/hds/rich-tooltip/toggle.js": "./dist/_app_/components/hds/rich-tooltip/toggle.js",
224
242
  "./components/hds/segmented-group/index.js": "./dist/_app_/components/hds/segmented-group/index.js",
225
243
  "./components/hds/separator/index.js": "./dist/_app_/components/hds/separator/index.js",
226
244
  "./components/hds/side-nav/base.js": "./dist/_app_/components/hds/side-nav/base.js",
@@ -254,30 +272,38 @@
254
272
  "./components/hds/text/code.js": "./dist/_app_/components/hds/text/code.js",
255
273
  "./components/hds/text/display.js": "./dist/_app_/components/hds/text/display.js",
256
274
  "./components/hds/text/index.js": "./dist/_app_/components/hds/text/index.js",
257
- "./components/hds/text/types.js": "./dist/_app_/components/hds/text/types.js",
258
275
  "./components/hds/toast/index.js": "./dist/_app_/components/hds/toast/index.js",
259
276
  "./components/hds/tooltip-button/index.js": "./dist/_app_/components/hds/tooltip-button/index.js",
260
277
  "./components/hds/yield/index.js": "./dist/_app_/components/hds/yield/index.js",
261
- "./components/hds/yield/types.js": "./dist/_app_/components/hds/yield/types.js",
262
278
  "./helpers/hds-link-to-models.js": "./dist/_app_/helpers/hds-link-to-models.js",
263
279
  "./helpers/hds-link-to-query.js": "./dist/_app_/helpers/hds-link-to-query.js",
280
+ "./modifiers/hds-anchored-position.js": "./dist/_app_/modifiers/hds-anchored-position.js",
264
281
  "./modifiers/hds-clipboard.js": "./dist/_app_/modifiers/hds-clipboard.js",
282
+ "./modifiers/hds-register-event.js": "./dist/_app_/modifiers/hds-register-event.js",
265
283
  "./modifiers/hds-tooltip.js": "./dist/_app_/modifiers/hds-tooltip.js"
266
284
  }
267
285
  },
268
286
  "exports": {
269
287
  ".": {
270
- "types": "./dist/index.d.ts",
288
+ "types": "./declarations/index.d.ts",
271
289
  "default": "./dist/index.js"
272
290
  },
273
291
  "./*": {
274
- "types": "./dist/*.d.ts",
292
+ "types": "./declarations/*.d.ts",
275
293
  "default": "./dist/*"
276
294
  },
277
295
  "./addon-main.js": "./addon-main.js"
278
296
  },
297
+ "typesVersions": {
298
+ "*": {
299
+ "*": [
300
+ "declarations/*"
301
+ ]
302
+ }
303
+ },
279
304
  "files": [
280
305
  "addon-main.js",
306
+ "declarations",
281
307
  "dist"
282
308
  ],
283
309
  "engines": {
@@ -1 +0,0 @@
1
- export { default } from "@hashicorp/design-system-components/components/hds/text/types";
@@ -1 +0,0 @@
1
- export { default } from "@hashicorp/design-system-components/components/hds/yield/types";
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}