@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,515 @@
1
+ /**
2
+ * Copyright (c) HashiCorp, Inc.
3
+ * SPDX-License-Identifier: MPL-2.0
4
+ */
5
+
6
+ // SUPER-SELECT
7
+
8
+ // Copied from components/src/styles/components/tag.scss styles
9
+ // we set a higher value than the line-height (~13px) to accommodate cases where the text wraps
10
+ $hds-tag-border-radius: 50px; // This variable is repeated from tag.scss
11
+ $hds-super-select-item-height: 36px;
12
+
13
+ // Style overrides:
14
+
15
+ .hds-form-super-select {
16
+ width: 100%;
17
+ }
18
+
19
+ .hds-form-super-select .ember-basic-dropdown {
20
+
21
+ // TRIGGER
22
+ .ember-basic-dropdown-trigger,
23
+ .ember-power-select-trigger {
24
+ display: flex;
25
+ align-items: center;
26
+ max-width: 100%;
27
+ min-height: $hds-super-select-item-height;
28
+ padding-top: 4px;
29
+ padding-right: calc(var(--token-form-control-padding) + 24px); // extra space for the icon
30
+ padding-bottom: 4px;
31
+ padding-left: 11px;
32
+ color: var(--token-form-control-base-foreground-value-color);
33
+ line-height: var(--token-typography-body-200-line-height);
34
+ background-color: var(--token-form-control-base-surface-color-default);
35
+ background-image: var(--token-form-select-background-image-data-url);
36
+ background-repeat: no-repeat;
37
+ // placing the selection indicator to middle-right, in contrast with the Select component where it's top-right
38
+ background-position: right var(--token-form-select-background-image-position-right-x) center, top var(--token-form-select-background-image-position-top-y) left 20px;
39
+ background-size: var(--token-form-select-background-image-size) var(--token-form-select-background-image-size);
40
+ border: var(--token-form-control-border-width) solid var(--token-form-control-base-border-color-default);
41
+ border-radius: var(--token-form-control-border-radius);
42
+ box-shadow: var(--token-elevation-low-box-shadow);
43
+
44
+ &:hover,
45
+ &.mock-hover {
46
+ border-color: var(--token-form-control-base-border-color-hover);
47
+ }
48
+
49
+ &:focus,
50
+ &.mock-focus {
51
+ border-color: var(--token-color-focus-action-internal);
52
+ outline: 3px solid var(--token-color-focus-action-external);
53
+ outline-offset: 0;
54
+ }
55
+
56
+ &[aria-expanded="true"] {
57
+ // override the `BasicDropdown` border radius when opened (it's square at the bottom)
58
+ &.ember-basic-dropdown-trigger--in-place {
59
+ border-radius: var(--token-form-control-border-radius);
60
+ }
61
+ }
62
+
63
+ // Hide the `BasicDropdown` default trigger arrow
64
+ .ember-power-select-status-icon {
65
+ display: none;
66
+ }
67
+
68
+ // Trigger content (Single Select):
69
+ .ember-power-select-placeholder,
70
+ .ember-power-select-selected-item {
71
+ flex: 1;
72
+ margin-left: 0;
73
+ }
74
+
75
+ .ember-power-select-placeholder {
76
+ color: var(--token-form-control-base-foreground-placeholder-color);
77
+ }
78
+
79
+ // `BasicDropdown` uses `aria-disabled` on the trigger, see: https://ember-basic-dropdown.com/docs/disabled
80
+ &[aria-disabled="true"] {
81
+ color: var(--token-form-control-disabled-foreground-color);
82
+ background-color: var(--token-form-control-disabled-surface-color);
83
+ background-image: var(--token-form-select-background-image-data-url-disabled);
84
+ border-color: var(--token-form-control-disabled-border-color);
85
+ box-shadow: none;
86
+ cursor: not-allowed;
87
+ opacity: 1;
88
+
89
+ .ember-power-select-selected-item {
90
+ opacity: inherit;
91
+ }
92
+ }
93
+ }
94
+
95
+ // DROPDOWN
96
+ .ember-basic-dropdown-content {
97
+ max-width: var(--hds-form-super-select-dropdown-max-width, none);
98
+ margin: 0;
99
+ border: var(--token-form-control-border-width) solid var(--token-form-control-base-border-color-default);
100
+ border-radius: var(--token-form-control-border-radius);
101
+
102
+ &.ember-basic-dropdown-content--in-place {
103
+ box-shadow: var(--token-elevation-high-box-shadow), var(--token-elevation-high-box-shadow);
104
+ }
105
+
106
+ &.ember-basic-dropdown-content--below {
107
+ margin-top: 4px;
108
+ }
109
+
110
+ &.ember-basic-dropdown-content--above {
111
+ top: unset !important; // override inline style
112
+ bottom: 100%;
113
+ margin-bottom: 4px;
114
+ }
115
+
116
+ // hide first group separator line
117
+ > .ember-power-select-options > .hds-form-super-select__option-group:first-child::before {
118
+ display: none;
119
+ }
120
+ }
121
+
122
+ // Options List
123
+ .ember-power-select-options {
124
+ padding: 3px 0;
125
+
126
+ .ember-power-select-options {
127
+ padding: 0;
128
+ }
129
+ }
130
+
131
+ // Options Item
132
+ .ember-power-select-option {
133
+ position: relative;
134
+ min-height: $hds-super-select-item-height;
135
+ padding: 7px 7px 7px 39px;
136
+ font-size: var(--token-typography-body-200-font-size);
137
+ font-family: var(--token-typography-body-200-font-family);
138
+ line-height: var(--token-typography-body-200-line-height);
139
+ overflow-wrap: break-word; // when used with flex parent, content may overflow (therefore not using flex layout on parent)
140
+ border: none; // guard against border in default theme
141
+
142
+ + .ember-power-select-option {
143
+ margin-top: 8px;
144
+ }
145
+
146
+ // states
147
+ &[aria-current="true"] {
148
+ color: var(--token-form-control-base-foreground-value-color);
149
+ background-color: var(--token-form-control-base-surface-color-default);
150
+ }
151
+
152
+ &[aria-selected="true"] {
153
+ background-color: var(--token-form-control-base-surface-color-default);
154
+ }
155
+
156
+ &[aria-current="true"],
157
+ &:hover,
158
+ &.mock-hover {
159
+ border: none; // guard against border in default theme
160
+
161
+ // left border
162
+ &::after {
163
+ position: absolute;
164
+ top: 6px;
165
+ bottom: 6px;
166
+ left: 3px;
167
+ width: 2px;
168
+ background-color: var(--token-color-foreground-action-hover);
169
+ border-radius: 500px; // Makes it look slightly rounded on the ends (doesn't match Figma exactly)
170
+ content: "";
171
+ }
172
+ }
173
+
174
+ &:active,
175
+ &.mock-active {
176
+ // left border
177
+ &::after{
178
+ background-color: var(--token-color-foreground-action-active);
179
+ }
180
+ }
181
+ }
182
+
183
+ // Option Groups (similar to HTML optgroup)
184
+
185
+ .hds-form-super-select__option-group {
186
+ &:first-child .hds-form-super-select__option-group-title {
187
+ margin-top: 0;
188
+ }
189
+
190
+ // group separator line
191
+ &::before {
192
+ display: block;
193
+ height: 5px;
194
+ margin: 7px 5px 9px 5px;
195
+ border-bottom: 1px solid var(--token-color-border-primary);
196
+ content: "";
197
+ }
198
+
199
+ .hds-form-super-select__option-group {
200
+ padding-left: 16px;
201
+
202
+ &:first-child::before {
203
+ display: none;
204
+ }
205
+ }
206
+ }
207
+
208
+ .hds-form-super-select__option-group-title {
209
+ margin: 8px 0;
210
+ padding: 6px 7px 2px 15px;
211
+ }
212
+
213
+ // SEARCH
214
+ // (Single select, to be added to Multiple | in @beforeOptionsComponent area)
215
+ .ember-power-select-search {
216
+ margin-bottom: 3px;
217
+ padding: 11px 11px 0 11px;
218
+ border-radius: var(--token-form-control-border-radius);
219
+ }
220
+
221
+ .ember-power-select-search-input {
222
+ width: 100%;
223
+ min-height: $hds-super-select-item-height;
224
+ padding: var(--token-form-control-padding);
225
+ color: var(--token-form-control-base-foreground-value-color);
226
+ font-size: var(--token-typography-body-200-font-size);
227
+ font-family: var(--token-typography-body-200-font-family);
228
+ line-height: 1rem;
229
+ background-color: var(--token-form-control-base-surface-color-default);
230
+ border: var(--token-form-control-border-width) solid var(--token-form-control-base-border-color-default);
231
+ border-radius: var(--token-form-control-border-radius);
232
+ box-shadow: var(--token-elevation-inset-box-shadow);
233
+
234
+ // placeholder
235
+ &::placeholder {
236
+ color: var(--token-form-control-base-foreground-placeholder-color);
237
+ }
238
+
239
+ // status
240
+ &:hover,
241
+ &.mock-hover {
242
+ border-color: var(--token-form-control-base-border-color-hover);
243
+ }
244
+
245
+ // focus (same for all the states)
246
+ &:focus,
247
+ &.mock-focus {
248
+ border-color: var(--token-color-focus-action-internal);
249
+ outline: 3px solid var(--token-color-focus-action-external);
250
+ outline-offset: 0;
251
+ }
252
+
253
+ &[type="search"] {
254
+ padding-left: calc(var(--token-form-control-padding) + 24px); // extra space for the icon
255
+ background-image: var(--token-form-text-input-background-image-data-url-search);
256
+ background-repeat: no-repeat;
257
+ background-position: var(--token-form-text-input-background-image-position-x) 50%;
258
+ background-size: var(--token-form-text-input-background-image-size);
259
+
260
+ &::-webkit-search-cancel-button {
261
+ width: var(--token-form-text-input-background-image-size);
262
+ height: var(--token-form-text-input-background-image-size);
263
+ background-image: var(--token-form-text-input-background-image-data-url-search-cancel);
264
+ background-position: center center;
265
+ background-size: var(--token-form-text-input-background-image-size);
266
+ appearance: none;
267
+ }
268
+ }
269
+ }
270
+
271
+ // MULTIPLE
272
+ // Tag List
273
+ .ember-power-select-multiple-options {
274
+ display: flex;
275
+ flex-wrap: wrap;
276
+ gap: 4px;
277
+ min-width: 0;
278
+ list-style: none;
279
+ }
280
+
281
+ // Tag item
282
+ .ember-power-select-multiple-option {
283
+ float: none;
284
+ min-width: 0;
285
+ margin: 0;
286
+ padding: 3px 10px 5px 10px;
287
+ font-size: var(--token-typography-body-100-font-size);
288
+ font-family: var(--token-typography-body-100-font-family);
289
+ line-height: 1rem; // 16px - override line height in `.ember-power-select-multiple-option`
290
+ vertical-align: middle;
291
+ overflow-wrap: break-word;
292
+ background-color: var(--token-color-surface-interactive);
293
+ border: 1px solid var(--token-color-border-strong);
294
+ border-radius: $hds-tag-border-radius;
295
+ }
296
+
297
+ // Tag close button ("X")
298
+ .ember-power-select-multiple-remove-btn {
299
+ display: none;
300
+ }
301
+
302
+ // Cancel button
303
+ .ember-power-select-trigger-multiple-input {
304
+ color: var(--token-form-control-base-foreground-value-color);
305
+ font-size: var(--token-typography-body-200-font-size);
306
+ font-family: var(--token-typography-body-200-font-family);
307
+
308
+ &::-webkit-search-cancel-button {
309
+ width: var(--token-form-text-input-background-image-size);
310
+ height: var(--token-form-text-input-background-image-size);
311
+ background-image: var(--token-form-text-input-background-image-data-url-search-cancel);
312
+ background-position: center center;
313
+ background-size: var(--token-form-text-input-background-image-size);
314
+ cursor: pointer;
315
+ // stylelint-disable-next-line property-no-vendor-prefix
316
+ -webkit-appearance: none;
317
+ }
318
+ }
319
+ }
320
+
321
+ // INVALID
322
+ .hds-form-super-select.hds-form-super-select--is-invalid .ember-basic-dropdown {
323
+ .ember-basic-dropdown-trigger,
324
+ .ember-power-select-trigger {
325
+ border-color: var(--token-form-control-invalid-border-color-default);
326
+
327
+ &:hover,
328
+ &.mock-hover {
329
+ border-color: var(--token-form-control-invalid-border-color-hover);
330
+ }
331
+
332
+ &:focus,
333
+ &.mock-focus {
334
+ border-color: var(--token-color-focus-critical-internal);
335
+ outline-color: var(--token-color-focus-critical-external);
336
+ }
337
+ }
338
+ }
339
+
340
+ // ONLY SELECTED
341
+ .hds-form-super-select.hds-form-super-select--show-only-selected .ember-basic-dropdown {
342
+ .ember-power-select-option {
343
+ &:not([aria-selected="true"]) {
344
+ display: none;
345
+ }
346
+ }
347
+ }
348
+
349
+ // VARIANT COMPONENTS
350
+
351
+ // SINGLE
352
+ .hds-form-super-select-single .ember-basic-dropdown {
353
+
354
+ // Options Item
355
+ .ember-power-select-option:not(.ember-power-select-option--no-matches-message) {
356
+ background-repeat: no-repeat;
357
+ background-position: 15px 10px;
358
+ background-size: var(--token-form-select-background-image-size) var(--token-form-select-background-image-size);
359
+
360
+ // checked
361
+ &[aria-selected="true"]:not([aria-disabled="true"]) {
362
+ color: var(--token-color-foreground-action);
363
+
364
+ // checkmark icon:
365
+ background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.78 4.28a.75.75 0 00-1.06-1.06l-7.97 7.97-3.47-3.47a.75.75 0 00-1.06 1.06l4 4a.75.75 0 001.06 0l8.5-8.5z' fill='%231060ff'/%3E%3C/svg%3E");
366
+ }
367
+
368
+ &[aria-current="true"],
369
+ &:hover,
370
+ &.mock-hover {
371
+ color: var(--token-color-foreground-action-hover);
372
+ }
373
+
374
+ &:active,
375
+ &.mock-active {
376
+ color: var(--token-color-foreground-action-active);
377
+ }
378
+
379
+ // checked, disabled:
380
+ &[aria-selected="true"][aria-disabled="true"] {
381
+ background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.7803 4.28033C15.0732 3.98744 15.0732 3.51256 14.7803 3.21967C14.4874 2.92678 14.0126 2.92678 13.7197 3.21967L5.75 11.1893L2.28033 7.71967C1.98744 7.42678 1.51256 7.42678 1.21967 7.71967C0.926777 8.01256 0.926777 8.48744 1.21967 8.78033L5.21967 12.7803C5.51256 13.0732 5.98744 13.0732 6.28033 12.7803L14.7803 4.28033Z' fill='%238C909C'/%3E%3C/svg%3E");
382
+ }
383
+ }
384
+ }
385
+
386
+ // MULTIPLE SELECT
387
+ .hds-form-super-select-multiple .ember-basic-dropdown {
388
+
389
+ // Options Item
390
+ .ember-power-select-option:not(.ember-power-select-option--no-matches-message) {
391
+ position: relative;
392
+
393
+ // pseudo checkbox
394
+ &::before {
395
+ position: absolute;
396
+ top: 9px;
397
+ left: 15px;
398
+ display: block;
399
+ width: var(--token-form-checkbox-size);
400
+ height: var(--token-form-checkbox-size);
401
+ background-position: center center;
402
+ background-size: var(--token-form-checkbox-background-image-size) var(--token-form-checkbox-background-image-size);
403
+ border-style: solid;
404
+ border-width: var(--token-form-checkbox-border-width);
405
+ border-radius: var(--token-form-checkbox-border-radius);
406
+ cursor: pointer;
407
+ content: "";
408
+ }
409
+
410
+ // unchecked checkbox:
411
+ &:not([aria-selected="true"]) {
412
+ &::before {
413
+ background-color: var(--token-form-control-base-surface-color-default);
414
+ border-color: var(--token-form-control-base-border-color-default);
415
+ box-shadow: var(--token-elevation-inset-box-shadow);
416
+ }
417
+ }
418
+
419
+ // unchecked checkbox, hovered:
420
+ &[aria-current="true"],
421
+ &:hover:not([aria-selected="true"]),
422
+ &.mock-hover:not([aria-selected="true"]) {
423
+ &::before {
424
+ background-color: var(--token-form-control-base-surface-color-hover);
425
+ border-color: var(--token-form-control-base-border-color-hover);
426
+ }
427
+ }
428
+
429
+ // unchecked checkbox, disabled:
430
+ &[aria-disabled="true"]:not([aria-selected="true"]) {
431
+ &::before {
432
+ background-color: var(--token-form-control-disabled-surface-color);
433
+ border-color: var(--token-form-control-disabled-border-color);
434
+ box-shadow: none;
435
+ cursor: not-allowed;
436
+ }
437
+ }
438
+
439
+ // checked checkbox:
440
+ &[aria-selected="true"] {
441
+ &:not([aria-disabled="true"]) {
442
+ &::before {
443
+ background-color: var(--token-form-control-checked-surface-color-default);
444
+ background-image: var(--token-form-checkbox-background-image-data-url);
445
+ border-color: var(--token-form-control-checked-border-color-default);
446
+ }
447
+ }
448
+
449
+ // checked checkbox, hovered:
450
+ &[aria-current="true"],
451
+ &:hover[aria-selected="true"],
452
+ &.mock-hover[aria-selected="true"] {
453
+ &::before {
454
+ background-color: var(--token-form-control-checked-border-color-default);
455
+ border-color: var(--token-form-control-checked-border-color-hover);
456
+ }
457
+ }
458
+
459
+ // checked checkbox, disabled:
460
+ &[aria-disabled="true"] {
461
+ &::before {
462
+ background-color: var(--token-form-control-disabled-surface-color);
463
+ background-image: var(--token-form-checkbox-background-image-data-url-disabled);
464
+ border-color: var(--token-form-control-disabled-border-color);
465
+ box-shadow: none;
466
+ cursor: not-allowed;
467
+ }
468
+ }
469
+ }
470
+ }
471
+ }
472
+
473
+ // NO MATCHES MESSAGE
474
+
475
+ .hds-form-super-select .ember-basic-dropdown {
476
+ .ember-power-select-option--no-matches-message {
477
+ padding-left: 12px;
478
+ cursor: inherit;
479
+ // hide the hover indicator on messages
480
+ &::after {
481
+ display: none;
482
+ }
483
+ }
484
+ }
485
+
486
+ // AFTER OPTIONS
487
+
488
+ .hds-form-super-select__after-options {
489
+ display: flex;
490
+ flex-wrap: wrap;
491
+ gap: 8px;
492
+ align-items: center;
493
+ padding: 8px 12px;
494
+ background-color: var(--token-color-surface-strong);
495
+ border-top: var(--token-form-control-border-width) solid var(--token-form-control-base-border-color-default);
496
+ }
497
+
498
+ .hds-form-super-select__result-count {
499
+ margin-left: auto;
500
+ }
501
+
502
+ .hds-form-super-select__no-options-selected {
503
+ min-height: $hds-super-select-item-height;
504
+ padding: 4px 15px 10px;
505
+ }
506
+
507
+ // VARIANTS
508
+
509
+ // When renderInPlace=true, matchTriggerWidth=false has no effect unless we override the width of the dropdown content
510
+ // (fixes bug with ember-power-select)
511
+ .hds-form-super-select--dropdown-content-auto-width {
512
+ .ember-power-select-dropdown.ember-basic-dropdown-content {
513
+ width: auto;
514
+ }
515
+ }
@@ -38,7 +38,6 @@
38
38
  &:focus,
39
39
  &.mock-focus {
40
40
  border-color: var(--token-color-focus-action-internal);
41
- // Notice: Safari doesn't apply a rounded border
42
41
  outline: 3px solid var(--token-color-focus-action-external);
43
42
  outline-offset: 0;
44
43
  }
@@ -40,7 +40,6 @@
40
40
  &:focus,
41
41
  &.mock-focus {
42
42
  border-color: var(--token-color-focus-action-internal);
43
- // Notice: Safari doesn't apply a rounded border
44
43
  outline: 3px solid var(--token-color-focus-action-external);
45
44
  outline-offset: 0;
46
45
  }
@@ -9,6 +9,7 @@
9
9
 
10
10
  .hds-page-header {
11
11
  // `container-type: inline-size` creates a new stacking context; to control the position of Page Header content on the z-axis
12
+ // see: https://www.oddbird.net/2023/07/05/contain-root/#:~:text=Layout%20containment%20creates%20a%20new%20(z%2Dindex)%20stacking%20context%2C%20as%20well%20as%20containing%20floated%20and%20fixed%2Dposition%20elements.
12
13
  // we set this element to `relative` to allow consumers to define the `z-index` value that works in their context
13
14
  position: relative;
14
15
  display: flex;