@carbon/web-components 2.25.2 → 2.26.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 (308) hide show
  1. package/custom-elements.json +859 -39
  2. package/dist/16-10c4fb8b.js +8 -2
  3. package/dist/16-4855278a.js +8 -2
  4. package/dist/16-4be295f9.js +8 -2
  5. package/dist/16-65aac4b2.js +81 -0
  6. package/dist/16-6a577b04.js +8 -2
  7. package/dist/16-8449b4fa.js +8 -2
  8. package/dist/16-87933b87.js +8 -2
  9. package/dist/16-b826e67b.js +8 -2
  10. package/dist/16-e32fa89f.js +8 -2
  11. package/dist/16-eeb178ee.js +81 -0
  12. package/dist/16-f4420493.js +8 -2
  13. package/dist/16-fbe09c57.js +8 -2
  14. package/dist/20-68c1a445.js +8 -2
  15. package/dist/20-a9fc419f.js +8 -2
  16. package/dist/accordion.min.js +8 -2
  17. package/dist/ai-label.min.js +9 -3
  18. package/dist/ai-skeleton.min.js +8 -2
  19. package/dist/badge-indicator.min.js +8 -2
  20. package/dist/breadcrumb.min.js +18 -12
  21. package/dist/{button-882e4021.js → button-74696aa8.js} +9 -3
  22. package/dist/{button-set-470bff4f.js → button-set-6c836da5.js} +11 -5
  23. package/dist/{button-skeleton-c0570c01.js → button-skeleton-97434162.js} +20 -14
  24. package/dist/button.min.js +9 -3
  25. package/dist/carbon-element-017b212d.js +8 -2
  26. package/dist/chat-button.min.js +10 -4
  27. package/dist/checkbox-88e7237c.js +8 -2
  28. package/dist/checkbox-skeleton-d396e413.js +8 -2
  29. package/dist/checkbox.min.js +8 -2
  30. package/dist/class-map-e4ba9e2b.js +8 -2
  31. package/dist/code-snippet.min.js +9 -3
  32. package/dist/collection-helpers-8b117611.js +8 -2
  33. package/dist/combo-box.min.js +9 -3
  34. package/dist/content-switcher-item-787ef698.js +8 -2
  35. package/dist/content-switcher.min.js +8 -2
  36. package/dist/{copy-button-17009e29.js → copy-button-6ae3beb9.js} +9 -3
  37. package/dist/copy-button.min.js +9 -3
  38. package/dist/data-table.min.js +8 -2
  39. package/dist/date-picker.min.js +8 -2
  40. package/dist/defs-eaf95cbc.js +8 -2
  41. package/dist/directive-e2d48b9c.js +8 -2
  42. package/dist/{dropdown-item-6995171a.js → dropdown-item-c76d25fb.js} +36 -31
  43. package/dist/dropdown.min.js +9 -3
  44. package/dist/file-uploader.min.js +9 -3
  45. package/dist/floating-menu-381b1978.js +8 -2
  46. package/dist/floating-menu.min.js +8 -2
  47. package/dist/focus-969beaed.js +8 -2
  48. package/dist/form-a750a2ac.js +8 -2
  49. package/dist/form-group.min.js +8 -2
  50. package/dist/form.min.js +8 -2
  51. package/dist/heading.min.js +8 -2
  52. package/dist/host-listener-69c546a1.js +8 -2
  53. package/dist/{icon-button-8b63f6e9.js → icon-button-83bfdd07.js} +10 -4
  54. package/dist/icon-button.min.js +9 -3
  55. package/dist/icon-indicator.min.js +8 -2
  56. package/dist/if-defined-446d5754.js +8 -2
  57. package/dist/if-non-empty-0ab1b89b.js +8 -2
  58. package/dist/inline-loading.min.js +8 -2
  59. package/dist/{layer-f3ead524.js → layer-955eb55a.js} +9 -3
  60. package/dist/layer.min.js +9 -3
  61. package/dist/link-95fb4386.js +8 -2
  62. package/dist/link.min.js +8 -2
  63. package/dist/list.min.js +17 -15
  64. package/dist/loading-8f238aae.js +8 -2
  65. package/dist/loading-icon-502d6837.js +8 -2
  66. package/dist/loading.min.js +8 -2
  67. package/dist/menu.min.js +240 -0
  68. package/dist/{modal-label-54f55140.js → modal-label-fc9d6962.js} +13 -7
  69. package/dist/modal.min.js +9 -3
  70. package/dist/multi-select.min.js +9 -3
  71. package/dist/notification.min.js +9 -3
  72. package/dist/number-input.min.js +8 -2
  73. package/dist/on-8707857f.js +8 -2
  74. package/dist/overflow-menu.min.js +17 -9
  75. package/dist/pagination.min.js +39 -33
  76. package/dist/popover-content-d4ec4412.js +8 -2
  77. package/dist/popover-controller-97c2d68e.js +8 -2
  78. package/dist/popover.min.js +8 -2
  79. package/dist/progress-bar.min.js +8 -2
  80. package/dist/progress-indicator.min.js +8 -2
  81. package/dist/property-4de26c93.js +8 -2
  82. package/dist/query-602de8af.js +8 -2
  83. package/dist/query-assigned-elements-1bd68a6e.js +8 -2
  84. package/dist/radio-button-skeleton-67c6a836.js +8 -2
  85. package/dist/radio-button.min.js +8 -2
  86. package/dist/radio-group-manager-9b128b9b.js +8 -2
  87. package/dist/search-7f28fde3.js +8 -2
  88. package/dist/search.min.js +8 -2
  89. package/dist/select-01725ae4.js +8 -2
  90. package/dist/select.min.js +8 -2
  91. package/dist/settings-a9cb5e4b.js +8 -2
  92. package/dist/shape-indicator.min.js +8 -2
  93. package/dist/shared-enums-562e6b51.js +8 -2
  94. package/dist/side-panel.min.js +9 -3
  95. package/dist/skeleton-icon-60c9d437.js +8 -2
  96. package/dist/skeleton-icon.min.js +8 -2
  97. package/dist/skeleton-placeholder-3f62f258.js +8 -2
  98. package/dist/skeleton-placeholder.min.js +8 -2
  99. package/dist/skeleton-text-a37622a0.js +8 -2
  100. package/dist/skeleton-text.min.js +8 -2
  101. package/dist/skip-to-content.min.js +8 -2
  102. package/dist/slider.min.js +8 -2
  103. package/dist/slug.min.js +9 -3
  104. package/dist/spread-279bf949.js +8 -2
  105. package/dist/stack.min.js +8 -2
  106. package/dist/state-225ff428.js +8 -2
  107. package/dist/structured-list.min.js +8 -2
  108. package/dist/tabs.min.js +8 -2
  109. package/dist/tag.min.js +8 -2
  110. package/dist/tearsheet.min.js +11 -5
  111. package/dist/text-input-a7541a8d.js +8 -2
  112. package/dist/text-input.min.js +8 -2
  113. package/dist/textarea.min.js +8 -2
  114. package/dist/tile.min.js +8 -2
  115. package/dist/time-picker.min.js +158 -0
  116. package/dist/toggle-tip.min.js +8 -2
  117. package/dist/toggle.min.js +8 -2
  118. package/dist/toggletip-383477dd.js +8 -2
  119. package/dist/tooltip-content-3e3b3f8c.js +8 -2
  120. package/dist/tooltip.min.js +8 -2
  121. package/dist/ui-shell.min.js +9 -3
  122. package/dist/validity-45b7794a.js +8 -2
  123. package/es/components/breadcrumb/breadcrumb-item.d.ts +4 -0
  124. package/es/components/breadcrumb/breadcrumb-item.js +16 -1
  125. package/es/components/breadcrumb/breadcrumb-item.js.map +1 -1
  126. package/es/components/breadcrumb/breadcrumb.scss.js +1 -1
  127. package/es/components/button/button-set.d.ts +4 -0
  128. package/es/components/button/button-set.js +18 -1
  129. package/es/components/button/button-set.js.map +1 -1
  130. package/es/components/button/button.scss.js +1 -1
  131. package/es/components/chat-button/chat-button.scss.js +1 -1
  132. package/es/components/icon-button/icon-button.scss.js +1 -1
  133. package/es/components/layer/layer.d.ts +7 -0
  134. package/es/components/layer/layer.js +9 -2
  135. package/es/components/layer/layer.js.map +1 -1
  136. package/es/components/list/list-item.d.ts +0 -11
  137. package/es/components/list/list-item.js +1 -21
  138. package/es/components/list/list-item.js.map +1 -1
  139. package/es/components/list/list.scss.js +1 -1
  140. package/es/components/list/ordered-list.js +1 -1
  141. package/es/components/list/ordered-list.js.map +1 -1
  142. package/es/components/list/unordered-list.d.ts +5 -1
  143. package/es/components/list/unordered-list.js +11 -4
  144. package/es/components/list/unordered-list.js.map +1 -1
  145. package/es/components/menu/defs.d.ts +42 -0
  146. package/es/components/menu/defs.js +54 -0
  147. package/es/components/menu/defs.js.map +1 -0
  148. package/es/components/menu/index.d.ts +14 -0
  149. package/es/components/menu/index.js +14 -0
  150. package/es/components/menu/index.js.map +1 -0
  151. package/es/components/menu/menu-context.d.ts +18 -0
  152. package/es/components/menu/menu-context.js +27 -0
  153. package/es/components/menu/menu-context.js.map +1 -0
  154. package/es/components/menu/menu-item-divider.d.ts +19 -0
  155. package/es/components/menu/menu-item-divider.js +42 -0
  156. package/es/components/menu/menu-item-divider.js.map +1 -0
  157. package/es/components/menu/menu-item-group.d.ts +23 -0
  158. package/es/components/menu/menu-item-group.js +48 -0
  159. package/es/components/menu/menu-item-group.js.map +1 -0
  160. package/es/components/menu/menu-item-radio-group.d.ts +42 -0
  161. package/es/components/menu/menu-item-radio-group.js +104 -0
  162. package/es/components/menu/menu-item-radio-group.js.map +1 -0
  163. package/es/components/menu/menu-item-selectable.d.ts +39 -0
  164. package/es/components/menu/menu-item-selectable.js +98 -0
  165. package/es/components/menu/menu-item-selectable.js.map +1 -0
  166. package/es/components/menu/menu-item.d.ts +771 -0
  167. package/es/components/menu/menu-item.js +309 -0
  168. package/es/components/menu/menu-item.js.map +1 -0
  169. package/es/components/menu/menu-item.scss.js +13 -0
  170. package/es/components/menu/menu-item.scss.js.map +1 -0
  171. package/es/components/menu/menu.d.ts +471 -0
  172. package/es/components/menu/menu.js +469 -0
  173. package/es/components/menu/menu.js.map +1 -0
  174. package/es/components/menu/menu.scss.js +13 -0
  175. package/es/components/menu/menu.scss.js.map +1 -0
  176. package/es/components/overflow-menu/overflow-menu-item.d.ts +9 -0
  177. package/es/components/overflow-menu/overflow-menu-item.js +24 -2
  178. package/es/components/overflow-menu/overflow-menu-item.js.map +1 -1
  179. package/es/components/overflow-menu/overflow-menu.scss.js +1 -1
  180. package/es/components/tag/tag.d.ts +1 -1
  181. package/es/components/tag/tag.js +1 -1
  182. package/es/components/time-picker/defs.d.ts +26 -0
  183. package/es/components/time-picker/defs.js +38 -0
  184. package/es/components/time-picker/defs.js.map +1 -0
  185. package/es/components/time-picker/index.d.ts +10 -0
  186. package/es/components/time-picker/index.js +10 -0
  187. package/es/components/time-picker/index.js.map +1 -0
  188. package/es/components/time-picker/time-picker-select.d.ts +426 -0
  189. package/es/components/time-picker/time-picker-select.js +218 -0
  190. package/es/components/time-picker/time-picker-select.js.map +1 -0
  191. package/es/components/time-picker/time-picker.d.ts +802 -0
  192. package/es/components/time-picker/time-picker.js +288 -0
  193. package/es/components/time-picker/time-picker.js.map +1 -0
  194. package/es/components/time-picker/time-picker.scss.js +13 -0
  195. package/es/components/time-picker/time-picker.scss.js.map +1 -0
  196. package/es/index.d.ts +2 -0
  197. package/es/index.js +2 -0
  198. package/es/index.js.map +1 -1
  199. package/es-custom/components/breadcrumb/breadcrumb-item.d.ts +4 -0
  200. package/es-custom/components/breadcrumb/breadcrumb-item.js +16 -1
  201. package/es-custom/components/breadcrumb/breadcrumb-item.js.map +1 -1
  202. package/es-custom/components/breadcrumb/breadcrumb.scss.js +1 -1
  203. package/es-custom/components/button/button-set.d.ts +4 -0
  204. package/es-custom/components/button/button-set.js +18 -1
  205. package/es-custom/components/button/button-set.js.map +1 -1
  206. package/es-custom/components/button/button.scss.js +1 -1
  207. package/es-custom/components/chat-button/chat-button.scss.js +1 -1
  208. package/es-custom/components/icon-button/icon-button.scss.js +1 -1
  209. package/es-custom/components/layer/layer.d.ts +7 -0
  210. package/es-custom/components/layer/layer.js +9 -2
  211. package/es-custom/components/layer/layer.js.map +1 -1
  212. package/es-custom/components/list/list-item.d.ts +0 -11
  213. package/es-custom/components/list/list-item.js +1 -21
  214. package/es-custom/components/list/list-item.js.map +1 -1
  215. package/es-custom/components/list/list.scss.js +1 -1
  216. package/es-custom/components/list/ordered-list.js +1 -1
  217. package/es-custom/components/list/ordered-list.js.map +1 -1
  218. package/es-custom/components/list/unordered-list.d.ts +5 -1
  219. package/es-custom/components/list/unordered-list.js +11 -4
  220. package/es-custom/components/list/unordered-list.js.map +1 -1
  221. package/es-custom/components/menu/defs.d.ts +42 -0
  222. package/es-custom/components/menu/defs.js +54 -0
  223. package/es-custom/components/menu/defs.js.map +1 -0
  224. package/es-custom/components/menu/index.d.ts +14 -0
  225. package/es-custom/components/menu/index.js +14 -0
  226. package/es-custom/components/menu/index.js.map +1 -0
  227. package/es-custom/components/menu/menu-context.d.ts +18 -0
  228. package/es-custom/components/menu/menu-context.js +27 -0
  229. package/es-custom/components/menu/menu-context.js.map +1 -0
  230. package/es-custom/components/menu/menu-item-divider.d.ts +19 -0
  231. package/es-custom/components/menu/menu-item-divider.js +42 -0
  232. package/es-custom/components/menu/menu-item-divider.js.map +1 -0
  233. package/es-custom/components/menu/menu-item-group.d.ts +23 -0
  234. package/es-custom/components/menu/menu-item-group.js +48 -0
  235. package/es-custom/components/menu/menu-item-group.js.map +1 -0
  236. package/es-custom/components/menu/menu-item-radio-group.d.ts +42 -0
  237. package/es-custom/components/menu/menu-item-radio-group.js +104 -0
  238. package/es-custom/components/menu/menu-item-radio-group.js.map +1 -0
  239. package/es-custom/components/menu/menu-item-selectable.d.ts +39 -0
  240. package/es-custom/components/menu/menu-item-selectable.js +98 -0
  241. package/es-custom/components/menu/menu-item-selectable.js.map +1 -0
  242. package/es-custom/components/menu/menu-item.d.ts +771 -0
  243. package/es-custom/components/menu/menu-item.js +309 -0
  244. package/es-custom/components/menu/menu-item.js.map +1 -0
  245. package/es-custom/components/menu/menu-item.scss.js +13 -0
  246. package/es-custom/components/menu/menu-item.scss.js.map +1 -0
  247. package/es-custom/components/menu/menu.d.ts +471 -0
  248. package/es-custom/components/menu/menu.js +469 -0
  249. package/es-custom/components/menu/menu.js.map +1 -0
  250. package/es-custom/components/menu/menu.scss.js +13 -0
  251. package/es-custom/components/menu/menu.scss.js.map +1 -0
  252. package/es-custom/components/overflow-menu/overflow-menu-item.d.ts +9 -0
  253. package/es-custom/components/overflow-menu/overflow-menu-item.js +24 -2
  254. package/es-custom/components/overflow-menu/overflow-menu-item.js.map +1 -1
  255. package/es-custom/components/overflow-menu/overflow-menu.scss.js +1 -1
  256. package/es-custom/components/tag/tag.d.ts +1 -1
  257. package/es-custom/components/tag/tag.js +1 -1
  258. package/es-custom/components/time-picker/defs.d.ts +26 -0
  259. package/es-custom/components/time-picker/defs.js +38 -0
  260. package/es-custom/components/time-picker/defs.js.map +1 -0
  261. package/es-custom/components/time-picker/index.d.ts +10 -0
  262. package/es-custom/components/time-picker/index.js +10 -0
  263. package/es-custom/components/time-picker/index.js.map +1 -0
  264. package/es-custom/components/time-picker/time-picker-select.d.ts +426 -0
  265. package/es-custom/components/time-picker/time-picker-select.js +218 -0
  266. package/es-custom/components/time-picker/time-picker-select.js.map +1 -0
  267. package/es-custom/components/time-picker/time-picker.d.ts +802 -0
  268. package/es-custom/components/time-picker/time-picker.js +288 -0
  269. package/es-custom/components/time-picker/time-picker.js.map +1 -0
  270. package/es-custom/components/time-picker/time-picker.scss.js +13 -0
  271. package/es-custom/components/time-picker/time-picker.scss.js.map +1 -0
  272. package/es-custom/index.d.ts +2 -0
  273. package/es-custom/index.js +2 -0
  274. package/es-custom/index.js.map +1 -1
  275. package/lib/components/breadcrumb/breadcrumb-item.d.ts +4 -0
  276. package/lib/components/button/button-set.d.ts +4 -0
  277. package/lib/components/layer/layer.d.ts +7 -0
  278. package/lib/components/list/list-item.d.ts +0 -11
  279. package/lib/components/list/unordered-list.d.ts +5 -1
  280. package/lib/components/menu/defs.d.ts +42 -0
  281. package/lib/components/menu/defs.js +56 -0
  282. package/lib/components/menu/defs.js.map +1 -0
  283. package/lib/components/menu/index.d.ts +14 -0
  284. package/lib/components/menu/menu-context.d.ts +18 -0
  285. package/lib/components/menu/menu-item-divider.d.ts +19 -0
  286. package/lib/components/menu/menu-item-group.d.ts +23 -0
  287. package/lib/components/menu/menu-item-radio-group.d.ts +42 -0
  288. package/lib/components/menu/menu-item-selectable.d.ts +39 -0
  289. package/lib/components/menu/menu-item.d.ts +771 -0
  290. package/lib/components/menu/menu.d.ts +471 -0
  291. package/lib/components/overflow-menu/overflow-menu-item.d.ts +9 -0
  292. package/lib/components/tag/tag.d.ts +1 -1
  293. package/lib/components/time-picker/defs.d.ts +26 -0
  294. package/lib/components/time-picker/defs.js +45 -0
  295. package/lib/components/time-picker/defs.js.map +1 -0
  296. package/lib/components/time-picker/index.d.ts +10 -0
  297. package/lib/components/time-picker/time-picker-select.d.ts +426 -0
  298. package/lib/components/time-picker/time-picker.d.ts +802 -0
  299. package/lib/index.d.ts +2 -0
  300. package/package.json +5 -4
  301. package/scss/components/breadcrumb/breadcrumb.scss +5 -0
  302. package/scss/components/button/button.scss +4 -0
  303. package/scss/components/list/list.scss +7 -5
  304. package/scss/components/menu/menu-item.scss +109 -0
  305. package/scss/components/menu/menu-variables.scss +15 -0
  306. package/scss/components/menu/menu.scss +72 -0
  307. package/scss/components/overflow-menu/overflow-menu.scss +69 -14
  308. package/scss/components/time-picker/time-picker.scss +50 -0
package/lib/index.d.ts CHANGED
@@ -166,4 +166,6 @@ export { default as CDSSwitcher } from './components/ui-shell/switcher';
166
166
  export { default as CDSSwitcherItem } from './components/ui-shell/switcher-item';
167
167
  export { default as CDSSwitcherDivider } from './components/ui-shell/switcher-divider';
168
168
  export { default as CDSStack } from './components/stack/stack';
169
+ export { default as CDSTimePicker } from './components/time-picker/time-picker';
170
+ export { default as CDSTimePickerSelect } from './components/time-picker/time-picker-select';
169
171
  export { default as CDSHeading } from './components/heading/heading';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@carbon/web-components",
3
3
  "description": "Web components for the Carbon Design System",
4
- "version": "2.25.2",
4
+ "version": "2.26.0",
5
5
  "license": "Apache-2.0",
6
6
  "main": "es/index.js",
7
7
  "module": "es/index.js",
@@ -65,9 +65,10 @@
65
65
  "wca": "web-component-analyzer analyze src --outFile custom-elements.json"
66
66
  },
67
67
  "dependencies": {
68
- "@carbon/styles": "^1.77.2",
68
+ "@carbon/styles": "^1.78.0",
69
69
  "@floating-ui/dom": "^1.6.3",
70
70
  "@ibm/telemetry-js": "^1.5.0",
71
+ "@lit/context": "^1.1.1",
71
72
  "flatpickr": "4.6.13",
72
73
  "lit": "^3.1.0",
73
74
  "lodash-es": "^4.17.21",
@@ -76,7 +77,7 @@
76
77
  "devDependencies": {
77
78
  "@carbon/icon-helpers": "10.47.0",
78
79
  "@carbon/icons": "^11.57.0",
79
- "@carbon/layout": "^11.30.2",
80
+ "@carbon/layout": "^11.31.0",
80
81
  "@carbon/motion": "^11.25.0",
81
82
  "@juggle/resize-observer": "^3.4.0",
82
83
  "@mordech/vite-lit-loader": "^0.37.0",
@@ -138,5 +139,5 @@
138
139
  }
139
140
  ]
140
141
  },
141
- "gitHead": "5c8f7e2a47c2bfb2865f1f2f4efe55b26f45ad5c"
142
+ "gitHead": "af9ae8856cd0db974257bf1015d684e1ed204514"
142
143
  }
@@ -108,8 +108,13 @@ $css--plex: true !default;
108
108
  :host(#{$prefix}-breadcrumb-link) {
109
109
  outline: none;
110
110
 
111
+ .#{$prefix}--link:visited,
111
112
  .#{$prefix}--link {
112
113
  font: inherit;
114
+
115
+ &:active {
116
+ color: $text-primary;
117
+ }
113
118
  }
114
119
 
115
120
  // Re-define the ruleset so this wins over `.#{$prefix}--link:visited`, etc.
@@ -33,6 +33,10 @@ $css--plex: true !default;
33
33
  .#{$prefix}--btn {
34
34
  flex-grow: 1;
35
35
  max-inline-size: 100%;
36
+
37
+ &:not(:focus) {
38
+ box-shadow: to-rem(-1px) to-rem(-1px) 0 0 $button-separator;
39
+ }
36
40
  }
37
41
  }
38
42
 
@@ -69,12 +69,14 @@ $css--plex: true !default;
69
69
  }
70
70
  }
71
71
 
72
- :host(#{$prefix}-unordered-list[slot='nested'])
72
+ :host(#{$prefix}-unordered-list[nested]),
73
+ :host(#{$prefix}-unordered-list[slot='nested']) {
73
74
  ::slotted(#{$prefix}-list-item)::before {
74
- // ▪ square
75
- content: '\0025AA';
76
- // offset to account for smaller ▪ vs –
77
- inset-inline-start: calc(-1 * #{$spacing-04});
75
+ // ▪ square
76
+ content: '\0025AA';
77
+ // offset to account for smaller ▪ vs –
78
+ inset-inline-start: calc(-1 * #{$spacing-04});
79
+ }
78
80
  }
79
81
 
80
82
  :host(#{$prefix}-list-item) {
@@ -0,0 +1,109 @@
1
+ //
2
+ // Copyright IBM Corp. 2024
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ $css--plex: true !default;
9
+
10
+ @use '@carbon/styles/scss/config' as *;
11
+ @use '@carbon/styles/scss/type' as *;
12
+ @use '@carbon/styles/scss/spacing' as *;
13
+ @use '@carbon/styles/scss/theme' as *;
14
+ @use '@carbon/styles/scss/motion' as *;
15
+ @use '@carbon/styles/scss/utilities' as *;
16
+ @use '@carbon/styles/scss/components/button/tokens' as button-tokens;
17
+ @use '@carbon/styles/scss/utilities/convert' as *;
18
+ @use '@carbon/styles/scss/components/menu' as *;
19
+ @use '@carbon/styles/scss/utilities/component-reset';
20
+
21
+ :host(#{$prefix}-menu-item) {
22
+ @include type-style('body-short-01');
23
+
24
+ display: grid;
25
+ align-items: center;
26
+ block-size: $spacing-07;
27
+ color: $text-secondary;
28
+ column-gap: $spacing-03;
29
+ cursor: pointer;
30
+ grid-template-columns: 1fr max-content;
31
+ padding-inline: $spacing-05;
32
+ transition: background-color $duration-fast-01 motion(standard, productive);
33
+
34
+ svg {
35
+ color: $icon-secondary;
36
+ }
37
+ }
38
+ :host(#{$prefix}-menu-item:focus) {
39
+ @include focus-outline('outline');
40
+ }
41
+ :host(#{$prefix}-menu-item-divider) {
42
+ @extend .#{$prefix}--menu-item-divider;
43
+ }
44
+
45
+ :host(#{$prefix}-menu-item:hover) {
46
+ background-color: $layer-hover;
47
+ color: $text-primary;
48
+
49
+ svg {
50
+ color: $icon-primary;
51
+ }
52
+ }
53
+ :host(#{$prefix}-menu-item-group),
54
+ :host(#{$prefix}-menu-item-radio-group) {
55
+ > ul {
56
+ @include component-reset.reset;
57
+ }
58
+ }
59
+
60
+ .#{$prefix}--menu-item__label {
61
+ overflow: hidden;
62
+ text-overflow: ellipsis;
63
+ white-space: nowrap;
64
+ }
65
+
66
+ .#{$prefix}--menu-item__shortcut {
67
+ display: flex;
68
+ }
69
+
70
+ .#{$prefix}--menu-item__icon {
71
+ display: var(--child-icon-property, none);
72
+ }
73
+
74
+ :host([aria-disabled='true']) * {
75
+ color: $text-disabled;
76
+ cursor: not-allowed;
77
+ }
78
+
79
+ :host([aria-disabled='true']:hover),
80
+ :host([aria-disabled='true'].#{$prefix}--menu-item--danger:hover) {
81
+ background-color: $layer;
82
+ color: $text-disabled;
83
+ }
84
+
85
+ :host(.#{$prefix}--menu-item--danger:hover),
86
+ :host(.#{$prefix}--menu-item--danger:focus) {
87
+ background-color: button-tokens.$button-danger-primary;
88
+ color: $text-on-color;
89
+ }
90
+
91
+ .#{$prefix}--menu-item__icon,
92
+ .#{$prefix}--menu-item__selection-icon {
93
+ display: none;
94
+ }
95
+
96
+ :host(#{$prefix}-menu-item) {
97
+ block-size: var(--block-size-value);
98
+ grid-template-columns: var(--grid-template);
99
+ .#{$prefix}--menu-item__icon {
100
+ display: var(--display-icon-item);
101
+ }
102
+ }
103
+ .#{$prefix}--menu-item__selection-icon {
104
+ display: var(--display-selection-icon);
105
+ }
106
+
107
+ span[slot='render-icon'] {
108
+ display: flex;
109
+ }
@@ -0,0 +1,15 @@
1
+ //
2
+ // Copyright IBM Corp. 2024
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ $css--plex: true !default;
9
+
10
+ @use '@carbon/styles/scss/config' as *;
11
+
12
+ .#{$prefix}--menu--with-icons {
13
+ --child-icon-property: flex;
14
+ --child-grid-template-columns: 1rem 1fr max-content;
15
+ }
@@ -0,0 +1,72 @@
1
+ //
2
+ // Copyright IBM Corp. 2024
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ $css--plex: true !default;
9
+
10
+ @use '@carbon/styles/scss/config' as *;
11
+ @use '@carbon/styles/scss/spacing' as *;
12
+ @use '@carbon/styles/scss/theme' as *;
13
+ @use '@carbon/styles/scss/motion' as *;
14
+ @use '@carbon/styles/scss/utilities' as *;
15
+ @use '@carbon/styles/scss/components/menu' as *;
16
+ @import './menu-variables';
17
+
18
+ :host(#{$prefix}-menu) {
19
+ position: fixed;
20
+ --grid-template: 1rem 1fr max-content;
21
+ --display-icon-item: none;
22
+ --display-selection-icon: none;
23
+ --block-size-value: $spacing-07;
24
+ }
25
+ .#{$prefix}--menu--with-icons {
26
+ --grid-template: 1rem 1rem 1fr max-content;
27
+ --display-icon-item: flex;
28
+ }
29
+ .#{$prefix}--menu--with-selectable-items {
30
+ --display-selection-icon: flex;
31
+ }
32
+
33
+ .#{$prefix}--menu {
34
+ @extend .#{$prefix}--menu;
35
+
36
+ overflow-y: auto;
37
+
38
+ &--shown {
39
+ opacity: 1;
40
+ }
41
+
42
+ &--open {
43
+ visibility: visible;
44
+
45
+ &:focus {
46
+ @include focus-outline('border');
47
+ }
48
+ }
49
+
50
+ &--with-icons {
51
+ min-inline-size: 12rem;
52
+ }
53
+ &:not(.#{$prefix}--menu--open) .#{$prefix}--menu--open {
54
+ visibility: hidden;
55
+ }
56
+ }
57
+ .#{$prefix}--menu--with-icons {
58
+ min-inline-size: 12rem;
59
+ }
60
+
61
+ .#{$prefix}--menu--xs {
62
+ --block-size-value: 1.5rem;
63
+ }
64
+ .#{$prefix}--menu--sm {
65
+ --block-size-value: 2rem;
66
+ }
67
+ .#{$prefix}--menu--md {
68
+ --block-size-value: 2.5rem;
69
+ }
70
+ .#{$prefix}--menu--lg {
71
+ --block-size-value: 3rem;
72
+ }
@@ -124,33 +124,88 @@ $css--plex: true !default;
124
124
  @extend .#{$prefix}--overflow-menu--divider;
125
125
  }
126
126
 
127
+ // breadcrumb
127
128
  :host(#{$prefix}-overflow-menu[breadcrumb]) {
128
129
  background: none;
129
- block-size: 1.125rem;
130
+ block-size: convert.to-rem(18px);
130
131
  box-shadow: none;
131
- inline-size: 1.25rem;
132
+ inline-size: $spacing-05;
132
133
  min-block-size: 1.125rem;
133
134
 
134
135
  #{$prefix}-tooltip button {
135
136
  position: relative;
136
- block-size: 1.125rem;
137
- inline-size: 1.25rem;
137
+ block-size: convert.to-rem(18px);
138
+ inline-size: $spacing-05;
138
139
  min-block-size: 1.125rem;
139
- padding-inline: 0;
140
- }
141
140
 
142
- :hover,
143
- :active,
144
- :focus {
145
- box-sizing: border-box;
146
- background: none;
147
- box-shadow: none;
141
+ &:hover,
142
+ &:active,
143
+ &:focus {
144
+ box-sizing: border-box;
145
+ background: none;
146
+ box-shadow: none;
147
+ outline-offset: 0;
148
+
149
+ &::after {
150
+ opacity: 1;
151
+ }
152
+ }
153
+
154
+ &:active,
155
+ &:focus {
156
+ outline: 1px solid $focus;
157
+ }
158
+
159
+ &:hover {
160
+ &::after {
161
+ background: $link-primary-hover;
162
+ }
163
+ }
164
+
165
+ &:active {
166
+ &::after {
167
+ background: $text-primary;
168
+ }
169
+ }
170
+
171
+ &::after {
172
+ position: absolute;
173
+ background: $focus;
174
+ block-size: 1px;
175
+ content: '';
176
+ inline-size: convert.to-rem(12px);
177
+ inset-block-end: 2px;
178
+ opacity: 0;
179
+ transition: opacity $duration-fast-01 motion(standard, productive);
180
+
181
+ @media screen and (prefers-reduced-motion: reduce) {
182
+ transition: none;
183
+ }
184
+ }
148
185
  }
149
186
  }
150
187
 
151
- :host(#{$prefix}-overflow-menu[breadcrumb]) {
188
+ :host(#{$prefix}-overflow-menu[breadcrumb]) ::slotted([slot='icon']) {
189
+ fill: $link-primary;
190
+ transform: translateY(4px);
191
+ }
192
+
193
+ :host(#{$prefix}-overflow-menu[breadcrumb]:hover) ::slotted([slot='icon']) {
194
+ fill: $link-primary-hover;
195
+ }
196
+
197
+ :host(#{$prefix}-overflow-menu[breadcrumb]:active) ::slotted([slot='icon']) {
198
+ fill: $text-primary;
199
+ }
200
+
201
+ :host(#{$prefix}-overflow-menu[breadcrumb][breadcrumb-size='sm']) {
202
+ #{$prefix}-tooltip button {
203
+ block-size: $spacing-05;
204
+ min-block-size: $spacing-05;
205
+ }
206
+
152
207
  ::slotted([slot='icon']) {
153
- transform: translateY(4px);
208
+ transform: translateY(3px);
154
209
  }
155
210
  }
156
211
 
@@ -0,0 +1,50 @@
1
+ //
2
+ // Copyright IBM Corp. 2019, 2025
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ $css--plex: true !default;
9
+
10
+ @use '@carbon/styles/scss/config' as *;
11
+ @use '@carbon/styles/scss/spacing' as *;
12
+ @use '@carbon/styles/scss/utilities/convert' as *;
13
+ @use '@carbon/styles/scss/utilities' as *;
14
+ @use '@carbon/styles/scss/components/time-picker/index';
15
+ @use '@carbon/styles/scss/components/select';
16
+ @use '@carbon/styles/scss/layout' as *;
17
+ @use '@carbon/styles/scss/utilities/convert' as convert;
18
+
19
+ :host(#{$prefix}-time-picker) {
20
+ @include emit-layout-tokens();
21
+ }
22
+
23
+ :host(#{$prefix}-time-picker-select) {
24
+ @extend .#{$prefix}--select;
25
+ @extend .#{$prefix}--time-picker__select;
26
+ }
27
+
28
+ :host(#{$prefix}-time-picker-select) .#{$prefix}--select {
29
+ inline-size: 100%;
30
+ }
31
+
32
+ :host(#{$prefix}-time-picker-select[disabled]) {
33
+ @extend .#{$prefix}--select--disabled;
34
+ }
35
+
36
+ :host(#{$prefix}-time-picker-select[readonly]) {
37
+ @extend .#{$prefix}--select--readonly;
38
+ }
39
+
40
+ :host(#{$prefix}-time-picker-select[readonly]) select {
41
+ pointer-events: none;
42
+ }
43
+
44
+ :host(#{$prefix}-time-picker-select) select {
45
+ margin: 0;
46
+ inline-size: auto;
47
+ line-height: 1;
48
+ min-inline-size: auto;
49
+ padding-inline-end: convert.to-rem(48px);
50
+ }