@redvars/peacock 3.8.1 → 3.8.2

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 (474) hide show
  1. package/dist/{BaseInput-14YmcfK7.js → BaseInput-CU1zZYKc.js} +3 -3
  2. package/dist/{BaseInput-14YmcfK7.js.map → BaseInput-CU1zZYKc.js.map} +1 -1
  3. package/dist/ButtonConstants-CahP2_NA.js +4 -0
  4. package/dist/ButtonConstants-CahP2_NA.js.map +1 -0
  5. package/dist/{IndividualComponent-DUINtMGK.js → IndividualComponent-Bdwyrvd6.js} +2 -2
  6. package/dist/{IndividualComponent-DUINtMGK.js.map → IndividualComponent-Bdwyrvd6.js.map} +1 -1
  7. package/dist/{NativeHyperlinkMixin-DrYXyfMQ.js → NativeHyperlinkMixin-D9J4aBTy.js} +4 -30
  8. package/dist/NativeHyperlinkMixin-D9J4aBTy.js.map +1 -0
  9. package/dist/accordion-item.js +338 -0
  10. package/dist/accordion-item.js.map +1 -0
  11. package/dist/accordion.js +159 -0
  12. package/dist/accordion.js.map +1 -0
  13. package/dist/alert.js +190 -0
  14. package/dist/alert.js.map +1 -0
  15. package/dist/app-bar.js +324 -0
  16. package/dist/app-bar.js.map +1 -0
  17. package/dist/assets/components.css +1 -1
  18. package/dist/assets/components.css.map +1 -1
  19. package/dist/assets/styles.css +1 -1
  20. package/dist/assets/styles.css.map +1 -1
  21. package/dist/attachable-controller-CAKVrfcG.js +119 -0
  22. package/dist/attachable-controller-CAKVrfcG.js.map +1 -0
  23. package/dist/avatar.js +114 -0
  24. package/dist/avatar.js.map +1 -0
  25. package/dist/badge.js +91 -0
  26. package/dist/badge.js.map +1 -0
  27. package/dist/base-Cl6v8-BZ.js +9 -0
  28. package/dist/base-Cl6v8-BZ.js.map +1 -0
  29. package/dist/bottom-sheet.js +14 -5
  30. package/dist/bottom-sheet.js.map +1 -1
  31. package/dist/breadcrumb-item.js +163 -0
  32. package/dist/breadcrumb-item.js.map +1 -0
  33. package/dist/breadcrumb.js +95 -0
  34. package/dist/breadcrumb.js.map +1 -0
  35. package/dist/button-group.js +87 -137
  36. package/dist/button-group.js.map +1 -1
  37. package/dist/button.js +863 -133
  38. package/dist/button.js.map +1 -1
  39. package/dist/calendar-column-view.js +8 -4
  40. package/dist/calendar-column-view.js.map +1 -1
  41. package/dist/calendar-month-view.js +8 -4
  42. package/dist/calendar-month-view.js.map +1 -1
  43. package/dist/calendar.js +8 -4
  44. package/dist/calendar.js.map +1 -1
  45. package/dist/canvas.js +8 -4
  46. package/dist/canvas.js.map +1 -1
  47. package/dist/card-content.js +1 -1
  48. package/dist/card.js +23 -45
  49. package/dist/card.js.map +1 -1
  50. package/dist/cb-compound-expression.js +6 -2
  51. package/dist/cb-compound-expression.js.map +1 -1
  52. package/dist/cb-divider.js +7 -3
  53. package/dist/cb-divider.js.map +1 -1
  54. package/dist/cb-expression.js +6 -2
  55. package/dist/cb-expression.js.map +1 -1
  56. package/dist/cb-predicate.js +7 -3
  57. package/dist/cb-predicate.js.map +1 -1
  58. package/dist/{chart-bar-cn6rrna-.js → chart-bar-CYoGNXnK.js} +6 -2
  59. package/dist/{chart-bar-cn6rrna-.js.map → chart-bar-CYoGNXnK.js.map} +1 -1
  60. package/dist/chart-bar.js +7 -6
  61. package/dist/chart-bar.js.map +1 -1
  62. package/dist/chart-doughnut.js +8 -3
  63. package/dist/chart-doughnut.js.map +1 -1
  64. package/dist/chart-pie.js +8 -3
  65. package/dist/chart-pie.js.map +1 -1
  66. package/dist/chart-stacked-bar.js +7 -6
  67. package/dist/chart-stacked-bar.js.map +1 -1
  68. package/dist/checkbox.js +526 -0
  69. package/dist/checkbox.js.map +1 -0
  70. package/dist/chip.js +459 -0
  71. package/dist/chip.js.map +1 -0
  72. package/dist/{class-map-YU7g0o3B.js → class-map-DG7CA1et.js} +2 -2
  73. package/dist/{class-map-YU7g0o3B.js.map → class-map-DG7CA1et.js.map} +1 -1
  74. package/dist/clock.js +6 -2
  75. package/dist/clock.js.map +1 -1
  76. package/dist/code-editor.js +45 -30
  77. package/dist/code-editor.js.map +1 -1
  78. package/dist/code-highlighter.js +9 -5
  79. package/dist/code-highlighter.js.map +1 -1
  80. package/dist/condition-builder.js +5 -1
  81. package/dist/condition-builder.js.map +1 -1
  82. package/dist/container.js +141 -0
  83. package/dist/container.js.map +1 -0
  84. package/dist/custom-elements-jsdocs.json +721 -769
  85. package/dist/custom-elements.json +3213 -1979
  86. package/dist/datasource-B2eRh6Or.js +108 -0
  87. package/dist/datasource-B2eRh6Or.js.map +1 -0
  88. package/dist/dispatch-event-utils-CuEqjlPT.js.map +1 -1
  89. package/dist/divider.js +135 -0
  90. package/dist/divider.js.map +1 -0
  91. package/dist/dropdown-button.js +11 -6
  92. package/dist/dropdown-button.js.map +1 -1
  93. package/dist/element-internals-2CMts_0M.js +290 -0
  94. package/dist/element-internals-2CMts_0M.js.map +1 -0
  95. package/dist/elevation.js +94 -0
  96. package/dist/elevation.js.map +1 -0
  97. package/dist/empty-state.js +194 -0
  98. package/dist/empty-state.js.map +1 -0
  99. package/dist/{event-manager-D-QCmUgR.js → event-manager-DTyX2uYD.js} +2 -2
  100. package/dist/{event-manager-D-QCmUgR.js.map → event-manager-DTyX2uYD.js.map} +1 -1
  101. package/dist/fab.js +138 -145
  102. package/dist/fab.js.map +1 -1
  103. package/dist/field.js +461 -0
  104. package/dist/field.js.map +1 -0
  105. package/dist/{popover-DUPmMVWS.js → floating-controller-CnUZnOhK.js} +2 -171
  106. package/dist/floating-controller-CnUZnOhK.js.map +1 -0
  107. package/dist/{flow-designer-node-BWrPuxAR.js → flow-designer-node-DsVwQTac.js} +7 -3
  108. package/dist/{flow-designer-node-BWrPuxAR.js.map → flow-designer-node-DsVwQTac.js.map} +1 -1
  109. package/dist/flow-designer-node.js +3 -3
  110. package/dist/flow-designer.js +19 -12
  111. package/dist/flow-designer.js.map +1 -1
  112. package/dist/focus-ring.js +126 -0
  113. package/dist/focus-ring.js.map +1 -0
  114. package/dist/form-associated-BXADnjOB.js +388 -0
  115. package/dist/form-associated-BXADnjOB.js.map +1 -0
  116. package/dist/html-editor.js +21 -9
  117. package/dist/html-editor.js.map +1 -1
  118. package/dist/hyperlink-DLvb6MXE.js +98 -0
  119. package/dist/hyperlink-DLvb6MXE.js.map +1 -0
  120. package/dist/icon-button.js +1064 -0
  121. package/dist/icon-button.js.map +1 -0
  122. package/dist/icon.js +170 -0
  123. package/dist/icon.js.map +1 -0
  124. package/dist/if-defined-BXZpRQ4P.js +10 -0
  125. package/dist/if-defined-BXZpRQ4P.js.map +1 -0
  126. package/dist/image.js +201 -0
  127. package/dist/image.js.map +1 -0
  128. package/dist/index.js +73 -20
  129. package/dist/index.js.map +1 -1
  130. package/dist/is-dark-mode-DOcaw4Yq.js.map +1 -1
  131. package/dist/is-link-Dk2OV3PM.js +6 -0
  132. package/dist/is-link-Dk2OV3PM.js.map +1 -0
  133. package/dist/item.js +212 -0
  134. package/dist/item.js.map +1 -0
  135. package/dist/link.js +75 -0
  136. package/dist/link.js.map +1 -0
  137. package/dist/list-D6JLh1uh.js +352 -0
  138. package/dist/list-D6JLh1uh.js.map +1 -0
  139. package/dist/list.js +14 -0
  140. package/dist/list.js.map +1 -0
  141. package/dist/{peacock-loader.js → loader.js} +83 -22
  142. package/dist/loader.js.map +1 -0
  143. package/dist/menu-item.js +318 -0
  144. package/dist/menu-item.js.map +1 -0
  145. package/dist/menu.js +534 -0
  146. package/dist/menu.js.map +1 -0
  147. package/dist/modal.js +9 -5
  148. package/dist/modal.js.map +1 -1
  149. package/dist/navigation-rail-item.js +385 -0
  150. package/dist/navigation-rail-item.js.map +1 -0
  151. package/dist/navigation-rail.js +217 -0
  152. package/dist/navigation-rail.js.map +1 -0
  153. package/dist/notification-manager.js +8 -4
  154. package/dist/notification-manager.js.map +1 -1
  155. package/dist/notification.js +8 -4
  156. package/dist/notification.js.map +1 -1
  157. package/dist/number-counter.js +7 -3
  158. package/dist/number-counter.js.map +1 -1
  159. package/dist/{observe-slot-change-D8Xg-kSS.js → observe-slot-change-DPxaZrZF.js} +3 -4
  160. package/dist/observe-slot-change-DPxaZrZF.js.map +1 -0
  161. package/dist/option.js +121 -0
  162. package/dist/option.js.map +1 -0
  163. package/dist/pagination.js +255 -0
  164. package/dist/pagination.js.map +1 -0
  165. package/dist/popover-content.js +7 -3
  166. package/dist/popover-content.js.map +1 -1
  167. package/dist/popover.js +175 -3
  168. package/dist/popover.js.map +1 -1
  169. package/dist/{property-1psGvXOq.js → property-B49QQ8pS.js} +2 -2
  170. package/dist/{property-1psGvXOq.js.map → property-B49QQ8pS.js.map} +1 -1
  171. package/dist/query-CHb9Ft_d.js +10 -0
  172. package/dist/query-CHb9Ft_d.js.map +1 -0
  173. package/dist/query-assigned-elements-BJaGSqM0.js +10 -0
  174. package/dist/query-assigned-elements-BJaGSqM0.js.map +1 -0
  175. package/dist/radio.js +476 -0
  176. package/dist/radio.js.map +1 -0
  177. package/dist/ripple.js +506 -0
  178. package/dist/ripple.js.map +1 -0
  179. package/dist/search.js +12 -7
  180. package/dist/search.js.map +1 -1
  181. package/dist/segmented-button-group.js +137 -0
  182. package/dist/segmented-button-group.js.map +1 -0
  183. package/dist/segmented-button.js +289 -0
  184. package/dist/segmented-button.js.map +1 -0
  185. package/dist/select-Dwtk0RIU.js +3937 -0
  186. package/dist/select-Dwtk0RIU.js.map +1 -0
  187. package/dist/side-sheet.js +8 -4
  188. package/dist/side-sheet.js.map +1 -1
  189. package/dist/skeleton.js +122 -0
  190. package/dist/skeleton.js.map +1 -0
  191. package/dist/slider.js +346 -0
  192. package/dist/slider.js.map +1 -0
  193. package/dist/snackbar.js +335 -0
  194. package/dist/snackbar.js.map +1 -0
  195. package/dist/spinner.js +100 -0
  196. package/dist/spinner.js.map +1 -0
  197. package/dist/split-button.js +10 -5
  198. package/dist/split-button.js.map +1 -1
  199. package/dist/spread-B5cgadZl.js +32 -0
  200. package/dist/spread-B5cgadZl.js.map +1 -0
  201. package/dist/src/__internal/aria/aria.d.ts +98 -0
  202. package/dist/src/__internal/aria/delegate.d.ts +54 -0
  203. package/dist/src/__internal/events/dispatch-hooks.d.ts +80 -0
  204. package/dist/src/__internal/mixins/element-internals.d.ts +40 -0
  205. package/dist/src/__internal/mixins/form-associated.d.ts +174 -0
  206. package/dist/src/__internal/mixins/form-submitter.d.ts +59 -0
  207. package/dist/src/__internal/mixins/hyperlink.d.ts +42 -0
  208. package/dist/src/__internal/mixins/mixin.d.ts +49 -0
  209. package/dist/src/{__utils → __internal/utils}/observe-slot-change.d.ts +1 -0
  210. package/dist/src/accordion/accordion-item.d.ts +3 -1
  211. package/dist/src/accordion/accordion.d.ts +1 -1
  212. package/dist/src/alert/alert.d.ts +43 -0
  213. package/dist/src/alert/index.d.ts +1 -0
  214. package/dist/src/app-bar/app-bar.d.ts +92 -0
  215. package/dist/src/app-bar/index.d.ts +1 -0
  216. package/dist/src/avatar/avatar.d.ts +2 -0
  217. package/dist/src/bottom-sheet/bottom-sheet.d.ts +1 -1
  218. package/dist/src/breadcrumb/breadcrumb-item/breadcrumb-item.d.ts +1 -0
  219. package/dist/src/button/ButtonTypes.d.ts +5 -0
  220. package/dist/src/button/base-button/base-button.d.ts +18 -0
  221. package/dist/src/button/button/button.d.ts +29 -37
  222. package/dist/src/button/button-group/button-group.d.ts +17 -18
  223. package/dist/src/{fab → button/fab}/fab.d.ts +8 -26
  224. package/dist/src/button/icon-button/icon-button.d.ts +20 -27
  225. package/dist/src/button/index.d.ts +1 -0
  226. package/dist/src/calendar/calendar.d.ts +1 -1
  227. package/dist/src/canvas/canvas.d.ts +1 -1
  228. package/dist/src/card/card.d.ts +5 -6
  229. package/dist/src/chart-bar/chart-bar.d.ts +1 -1
  230. package/dist/src/chart-bar/chart-stacked-bar.d.ts +1 -1
  231. package/dist/src/checkbox/checkbox.d.ts +5 -1
  232. package/dist/src/chip/chip/chip.d.ts +9 -8
  233. package/dist/src/container/container.d.ts +5 -1
  234. package/dist/src/divider/divider.d.ts +2 -0
  235. package/dist/src/empty-state/empty-state.d.ts +1 -0
  236. package/dist/src/field/field.d.ts +19 -1
  237. package/dist/src/focus-ring/focus-ring.d.ts +3 -7
  238. package/dist/src/html-editor/html-editor.d.ts +1 -1
  239. package/dist/src/icon/icon.d.ts +9 -4
  240. package/dist/src/image/image.d.ts +4 -0
  241. package/dist/src/index.d.ts +7 -6
  242. package/dist/src/item/item.d.ts +20 -29
  243. package/dist/src/link/link.d.ts +1 -1
  244. package/dist/src/list/list-item.d.ts +7 -5
  245. package/dist/src/list/list.d.ts +3 -2
  246. package/dist/src/menu/menu/menu.d.ts +14 -0
  247. package/dist/src/menu/menu-item/menu-item.d.ts +10 -2
  248. package/dist/src/modal/modal.d.ts +1 -1
  249. package/dist/src/navigation-rail/navigation-rail-item.d.ts +5 -4
  250. package/dist/src/navigation-rail/navigation-rail.d.ts +1 -1
  251. package/dist/src/radio/radio.d.ts +5 -0
  252. package/dist/src/ripple/ripple.d.ts +10 -1
  253. package/dist/src/search/search.d.ts +1 -1
  254. package/dist/src/segmented-button/segmented-button-group.d.ts +2 -2
  255. package/dist/src/segmented-button/segmented-button.d.ts +2 -0
  256. package/dist/src/side-sheet/side-sheet.d.ts +1 -1
  257. package/dist/src/skeleton/skeleton.d.ts +1 -0
  258. package/dist/src/slider/slider.d.ts +1 -0
  259. package/dist/src/snackbar/snackbar.d.ts +12 -2
  260. package/dist/src/svg/svg.d.ts +5 -0
  261. package/dist/src/table/table.d.ts +5 -0
  262. package/dist/src/tabs/tab.d.ts +2 -7
  263. package/dist/src/toolbar/toolbar.d.ts +2 -2
  264. package/dist/{state-DwbEjqVk.js → state-DkTK9EGF.js} +2 -2
  265. package/dist/{state-DwbEjqVk.js.map → state-DkTK9EGF.js.map} +1 -1
  266. package/dist/{style-map-DVmWOuYy.js → style-map-BQD5Et1D.js} +2 -2
  267. package/dist/{style-map-DVmWOuYy.js.map → style-map-BQD5Et1D.js.map} +1 -1
  268. package/dist/sub-menu.js +241 -0
  269. package/dist/sub-menu.js.map +1 -0
  270. package/dist/svg.js +273 -0
  271. package/dist/svg.js.map +1 -0
  272. package/dist/tab-group.js +188 -0
  273. package/dist/tab-group.js.map +1 -0
  274. package/dist/tab-panel.js +61 -0
  275. package/dist/tab-panel.js.map +1 -0
  276. package/dist/tab.js +658 -0
  277. package/dist/tab.js.map +1 -0
  278. package/dist/table.js +620 -0
  279. package/dist/table.js.map +1 -0
  280. package/dist/tabs.js +240 -0
  281. package/dist/tabs.js.map +1 -0
  282. package/dist/throttle-C7ZAPqtu.js +24 -0
  283. package/dist/throttle-C7ZAPqtu.js.map +1 -0
  284. package/dist/toolbar.js +9 -5
  285. package/dist/toolbar.js.map +1 -1
  286. package/dist/tooltip.js +270 -0
  287. package/dist/tooltip.js.map +1 -0
  288. package/dist/tsconfig.tsbuildinfo +1 -1
  289. package/dist/{unsafe-html-BsGUjx94.js → unsafe-html-Ct0N2_UU.js} +2 -2
  290. package/dist/{unsafe-html-BsGUjx94.js.map → unsafe-html-Ct0N2_UU.js.map} +1 -1
  291. package/dist/when-DEJm_QN9.js +9 -0
  292. package/dist/when-DEJm_QN9.js.map +1 -0
  293. package/package.json +4 -2
  294. package/readme.md +3 -3
  295. package/scss/mixin.scss +8 -6
  296. package/src/__internal/aria/aria.ts +293 -0
  297. package/src/__internal/aria/delegate.ts +206 -0
  298. package/src/__internal/events/dispatch-hooks.ts +182 -0
  299. package/src/__internal/mixins/element-internals.ts +73 -0
  300. package/src/__internal/mixins/form-associated.ts +295 -0
  301. package/src/__internal/mixins/form-submitter.ts +133 -0
  302. package/src/__internal/mixins/hyperlink.ts +71 -0
  303. package/src/__internal/mixins/mixin.ts +58 -0
  304. package/src/{__utils → __internal/utils}/observe-slot-change.ts +2 -5
  305. package/src/accordion/accordion-item.ts +6 -2
  306. package/src/accordion/accordion.ts +4 -2
  307. package/src/accordion/demo/index.html +95 -90
  308. package/src/alert/alert.scss +82 -0
  309. package/src/{banner/banner.ts → alert/alert.ts} +22 -22
  310. package/src/alert/index.ts +1 -0
  311. package/src/app-bar/app-bar-colors.scss +17 -0
  312. package/src/app-bar/app-bar.scss +165 -0
  313. package/src/app-bar/app-bar.ts +155 -0
  314. package/src/app-bar/index.ts +1 -0
  315. package/src/avatar/avatar.ts +4 -0
  316. package/src/badge/badge.ts +2 -0
  317. package/src/bottom-sheet/bottom-sheet.ts +8 -2
  318. package/src/breadcrumb/breadcrumb/breadcrumb.ts +2 -0
  319. package/src/breadcrumb/breadcrumb-item/breadcrumb-item.ts +3 -0
  320. package/src/button/ButtonTypes.ts +17 -0
  321. package/src/button/base-button/base-button.ts +85 -0
  322. package/src/button/button/button-base.scss +306 -0
  323. package/src/button/button/button-colors.scss +27 -32
  324. package/src/button/button/button-layers.scss +126 -39
  325. package/src/button/button/button-shapes.scss +73 -0
  326. package/src/button/button/button.scss +12 -286
  327. package/src/button/button/button.ts +174 -194
  328. package/src/button/button-group/button-group.scss +43 -36
  329. package/src/button/button-group/button-group.ts +26 -137
  330. package/src/{fab → button/fab}/fab-colors.scss +0 -10
  331. package/src/button/fab/fab-sizes.scss +37 -0
  332. package/src/button/fab/fab.scss +172 -0
  333. package/src/{fab → button/fab}/fab.ts +69 -105
  334. package/src/button/icon-button/icon-button-sizes.scss +18 -3
  335. package/src/button/icon-button/icon-button.scss +5 -0
  336. package/src/button/icon-button/icon-button.ts +111 -141
  337. package/src/button/index.ts +7 -0
  338. package/src/calendar/calendar.ts +2 -2
  339. package/src/canvas/canvas.ts +2 -2
  340. package/src/card/card.scss +3 -3
  341. package/src/card/card.ts +20 -40
  342. package/src/chart-bar/chart-bar.ts +2 -2
  343. package/src/chart-bar/chart-stacked-bar.ts +2 -2
  344. package/src/checkbox/checkbox.ts +12 -4
  345. package/src/chip/chip/chip.scss +1 -1
  346. package/src/chip/chip/chip.ts +35 -55
  347. package/src/chip/demo/index.html +30 -26
  348. package/src/code-editor/code-editor.ts +68 -58
  349. package/src/code-editor/demo/index.html +32 -27
  350. package/src/code-highlighter/code-highlighter.ts +1 -1
  351. package/src/code-highlighter/demo/index.html +24 -21
  352. package/src/container/container.ts +8 -2
  353. package/src/date-picker/date-picker.ts +2 -3
  354. package/src/divider/divider.ts +5 -1
  355. package/src/dropdown-button/demo/index.html +106 -101
  356. package/src/dropdown-button/dropdown-button.ts +1 -1
  357. package/src/elevation/elevation.ts +2 -0
  358. package/src/empty-state/empty-state.ts +3 -0
  359. package/src/field/field.ts +52 -33
  360. package/src/focus-ring/focus-ring.ts +5 -7
  361. package/src/html-editor/html-editor.ts +28 -16
  362. package/src/icon/datasource.ts +1 -1
  363. package/src/icon/icon.ts +27 -15
  364. package/src/image/image.ts +18 -6
  365. package/src/index.ts +24 -6
  366. package/src/input/input.ts +2 -2
  367. package/src/item/item.scss +126 -162
  368. package/src/item/item.ts +70 -323
  369. package/src/link/link.ts +3 -1
  370. package/src/list/list-item.scss +43 -31
  371. package/src/list/list-item.ts +79 -75
  372. package/src/list/list.scss +1 -13
  373. package/src/list/list.ts +6 -3
  374. package/src/{peacock-loader.ts → loader.ts} +91 -79
  375. package/src/menu/menu/menu.scss +14 -11
  376. package/src/menu/menu/menu.ts +20 -8
  377. package/src/menu/menu-item/menu-item.scss +35 -3
  378. package/src/menu/menu-item/menu-item.ts +40 -34
  379. package/src/menu/sub-menu/sub-menu.ts +3 -0
  380. package/src/modal/modal.ts +2 -2
  381. package/src/navigation-rail/navigation-rail-item.ts +21 -36
  382. package/src/navigation-rail/navigation-rail.scss +1 -0
  383. package/src/navigation-rail/navigation-rail.ts +4 -2
  384. package/src/number-field/number-field.ts +2 -2
  385. package/src/pagination/pagination.ts +2 -0
  386. package/src/popover/popover.ts +3 -3
  387. package/src/radio/radio.ts +13 -5
  388. package/src/ripple/ripple.ts +14 -1
  389. package/src/search/search.ts +3 -3
  390. package/src/segmented-button/segmented-button-group.ts +8 -4
  391. package/src/segmented-button/segmented-button.ts +4 -0
  392. package/src/select/option.ts +2 -0
  393. package/src/side-sheet/side-sheet.ts +2 -2
  394. package/src/sidebar-menu/sidebar-menu-item.ts +3 -2
  395. package/src/skeleton/skeleton.ts +3 -0
  396. package/src/slider/slider.ts +4 -1
  397. package/src/snackbar/snackbar.ts +40 -25
  398. package/src/spinner/spinner.ts +2 -0
  399. package/src/svg/svg.ts +27 -9
  400. package/src/switch/switch.ts +1 -1
  401. package/src/table/table.ts +16 -3
  402. package/src/tabs/demo/index.html +79 -79
  403. package/src/tabs/tab-group.ts +2 -0
  404. package/src/tabs/tab-panel.ts +2 -0
  405. package/src/tabs/tab.scss +4 -4
  406. package/src/tabs/tab.ts +16 -39
  407. package/src/tabs/tabs.ts +2 -0
  408. package/src/textarea/textarea.ts +2 -2
  409. package/src/time-picker/time-picker.ts +2 -2
  410. package/src/toolbar/toolbar.ts +3 -3
  411. package/src/tooltip/tooltip.ts +14 -8
  412. package/src/url-field/url-field.ts +2 -3
  413. package/dist/ButtonConstants-D06bY4uy.js +0 -114
  414. package/dist/ButtonConstants-D06bY4uy.js.map +0 -1
  415. package/dist/NativeHyperlinkMixin-DrYXyfMQ.js.map +0 -1
  416. package/dist/banner.js +0 -186
  417. package/dist/banner.js.map +0 -1
  418. package/dist/button-colors-D7sJyPy8.js +0 -586
  419. package/dist/button-colors-D7sJyPy8.js.map +0 -1
  420. package/dist/icon-CueRR7wx.js +0 -260
  421. package/dist/icon-CueRR7wx.js.map +0 -1
  422. package/dist/icon-button-CAzYr_qr.js +0 -318
  423. package/dist/icon-button-CAzYr_qr.js.map +0 -1
  424. package/dist/navigation-rail-CM_svs5_.js +0 -14184
  425. package/dist/navigation-rail-CM_svs5_.js.map +0 -1
  426. package/dist/observe-slot-change-D8Xg-kSS.js.map +0 -1
  427. package/dist/peacock-loader.js.map +0 -1
  428. package/dist/popover-DUPmMVWS.js.map +0 -1
  429. package/dist/query-QBcUV-L_.js +0 -15
  430. package/dist/query-QBcUV-L_.js.map +0 -1
  431. package/dist/src/banner/banner.d.ts +0 -43
  432. package/dist/src/banner/index.d.ts +0 -1
  433. package/dist/src/button/GroupButtonInterface.d.ts +0 -4
  434. package/src/banner/banner.scss +0 -82
  435. package/src/banner/index.ts +0 -1
  436. package/src/button/GroupButtonInterface.ts +0 -4
  437. package/src/button/button/only-button.scss +0 -13
  438. package/src/fab/fab-sizes.scss +0 -37
  439. package/src/fab/fab.scss +0 -143
  440. /package/dist/src/{__controllers → __internal/controllers}/attachable-controller.d.ts +0 -0
  441. /package/dist/src/{__controllers → __internal/controllers}/floating-controller.d.ts +0 -0
  442. /package/dist/src/{__directive → __internal/directive}/spread.d.ts +0 -0
  443. /package/dist/src/{__mixins → __internal/mixins}/MixinConstructor.d.ts +0 -0
  444. /package/dist/src/{__mixins → __internal/mixins}/NativeButtonMixin.d.ts +0 -0
  445. /package/dist/src/{__mixins → __internal/mixins}/NativeHyperlinkMixin.d.ts +0 -0
  446. /package/dist/src/{__utils → __internal/utils}/cache-fetch.d.ts +0 -0
  447. /package/dist/src/{__utils → __internal/utils}/copy-to-clipboard.d.ts +0 -0
  448. /package/dist/src/{__utils → __internal/utils}/dispatch-event-utils.d.ts +0 -0
  449. /package/dist/src/{__utils → __internal/utils}/is-dark-mode.d.ts +0 -0
  450. /package/dist/src/{__utils → __internal/utils}/is-in-viewport.d.ts +0 -0
  451. /package/dist/src/{__utils → __internal/utils}/is-link.d.ts +0 -0
  452. /package/dist/src/{__utils → __internal/utils}/observe-theme-change.d.ts +0 -0
  453. /package/dist/src/{__utils → __internal/utils}/sanitize-svg.d.ts +0 -0
  454. /package/dist/src/{__utils → __internal/utils}/throttle.d.ts +0 -0
  455. /package/dist/src/{fab → button/fab}/index.d.ts +0 -0
  456. /package/dist/src/{peacock-loader.d.ts → loader.d.ts} +0 -0
  457. /package/dist/test/{banner.test.d.ts → alert.test.d.ts} +0 -0
  458. /package/src/{__controllers → __internal/controllers}/attachable-controller.ts +0 -0
  459. /package/src/{__controllers → __internal/controllers}/floating-controller.ts +0 -0
  460. /package/src/{__directive → __internal/directive}/spread.ts +0 -0
  461. /package/src/{__mixins → __internal/mixins}/MixinConstructor.ts +0 -0
  462. /package/src/{__mixins → __internal/mixins}/NativeButtonMixin.ts +0 -0
  463. /package/src/{__mixins → __internal/mixins}/NativeHyperlinkMixin.ts +0 -0
  464. /package/src/{__mixins → __internal/mixins}/README.md +0 -0
  465. /package/src/{__utils → __internal/utils}/cache-fetch.ts +0 -0
  466. /package/src/{__utils → __internal/utils}/copy-to-clipboard.ts +0 -0
  467. /package/src/{__utils → __internal/utils}/dispatch-event-utils.ts +0 -0
  468. /package/src/{__utils → __internal/utils}/is-dark-mode.ts +0 -0
  469. /package/src/{__utils → __internal/utils}/is-in-viewport.ts +0 -0
  470. /package/src/{__utils → __internal/utils}/is-link.ts +0 -0
  471. /package/src/{__utils → __internal/utils}/observe-theme-change.ts +0 -0
  472. /package/src/{__utils → __internal/utils}/sanitize-svg.ts +0 -0
  473. /package/src/{__utils → __internal/utils}/throttle.ts +0 -0
  474. /package/src/{fab → button/fab}/index.ts +0 -0
package/dist/list.js ADDED
@@ -0,0 +1,14 @@
1
+ import './IndividualComponent-Bdwyrvd6.js';
2
+ import './property-B49QQ8pS.js';
3
+ import './class-map-DG7CA1et.js';
4
+ export { L as List } from './list-D6JLh1uh.js';
5
+ import './directive-ZPhl09Yt.js';
6
+ import './query-CHb9Ft_d.js';
7
+ import './base-Cl6v8-BZ.js';
8
+ import './if-defined-BXZpRQ4P.js';
9
+ import './is-link-Dk2OV3PM.js';
10
+ import './dispatch-event-utils-CuEqjlPT.js';
11
+ import './hyperlink-DLvb6MXE.js';
12
+ import './throttle-C7ZAPqtu.js';
13
+ import './element-internals-2CMts_0M.js';
14
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -1,38 +1,91 @@
1
- import { A as Accordion, q as NavigationRailItem, N as NavigationRail, v as SelectOptionElement, u as Select, H as Snackbar, y as SidebarSubMenu, x as SidebarMenuItem, w as SidebarMenu, P as Pagination, W as Table, G as Slider, O as Svg, I as Image, g as Container, l as Item, o as ListItem, n as List, K as SubMenu, p as MenuItem, M as Menu, i as EmptyState, J as Spinner, R as Radio, C as Checkbox, Q as Switch, c as BreadcrumbItem, b as Breadcrumb, $ as Tooltip, _ as TimePicker, D as DatePicker, Z as Textarea, r as NumberField, a0 as UrlField, k as Input, F as Field, z as Skeleton, f as CircularProgress, L as LinearProgress, Y as Tag, e as ChipSet, d as Chip, m as Link, V as TabPanel, T as Tab, U as TabGroup, X as Tabs, s as Ripple, E as Elevation, h as Divider, t as SegmentedButtonGroup, S as SegmentedButton, B as Badge, a as Avatar, j as FocusRing } from './navigation-rail-CM_svs5_.js';
2
- import { I as Icon } from './icon-CueRR7wx.js';
1
+ import { Elevation } from './elevation.js';
2
+ import { FocusRing } from './focus-ring.js';
3
+ import { Ripple } from './ripple.js';
4
+ import { Icon } from './icon.js';
5
+ import { Avatar } from './avatar.js';
6
+ import { Badge } from './badge.js';
7
+ import { Divider } from './divider.js';
3
8
  import { Button } from './button.js';
4
9
  import ButtonGroup from './button-group.js';
5
- import { I as IconButton } from './icon-button-CAzYr_qr.js';
10
+ import { IconButton } from './icon-button.js';
6
11
  import { Fab } from './fab.js';
12
+ import { SegmentedButton } from './segmented-button.js';
13
+ import { SegmentedButtonGroup } from './segmented-button-group.js';
7
14
  import { SplitButton } from './split-button.js';
8
15
  import { DropdownButton } from './dropdown-button.js';
9
- import { P as Popover } from './popover-DUPmMVWS.js';
16
+ import { S as Select, d as SidebarSubMenu, c as SidebarMenuItem, b as SidebarMenu, e as Switch, g as TimePicker, D as DatePicker, f as Textarea, N as NumberField, U as UrlField, I as Input, a as CircularProgress, L as LinearProgress, T as Tag, C as ChipSet } from './select-Dwtk0RIU.js';
17
+ import { Field } from './field.js';
18
+ import { Checkbox } from './checkbox.js';
19
+ import { Radio } from './radio.js';
20
+ import { Menu } from './menu.js';
21
+ import { MenuItem } from './menu-item.js';
22
+ import { SubMenu } from './sub-menu.js';
23
+ import { Item } from './item.js';
24
+ import { a as ListItem, L as List } from './list-D6JLh1uh.js';
25
+ import { Accordion } from './accordion.js';
26
+ import { Link } from './link.js';
27
+ import { Chip } from './chip.js';
28
+ import { Tooltip } from './tooltip.js';
29
+ import { Popover } from './popover.js';
10
30
  import { PopoverContent } from './popover-content.js';
31
+ import { Breadcrumb } from './breadcrumb.js';
32
+ import { BreadcrumbItem } from './breadcrumb-item.js';
33
+ import { Skeleton } from './skeleton.js';
34
+ import { Spinner } from './spinner.js';
35
+ import { EmptyState } from './empty-state.js';
36
+ import { Container } from './container.js';
37
+ import { Image } from './image.js';
38
+ import { Svg } from './svg.js';
39
+ import { TabGroup } from './tab-group.js';
40
+ import { Tabs } from './tabs.js';
41
+ import { Tab } from './tab.js';
42
+ import { TabPanel } from './tab-panel.js';
43
+ import { Slider } from './slider.js';
44
+ import { Table } from './table.js';
45
+ import { Pagination } from './pagination.js';
11
46
  import { Card } from './card.js';
12
47
  import { CardContent } from './card-content.js';
13
- import { Banner } from './banner.js';
48
+ import { Alert } from './alert.js';
14
49
  import { Notification } from './notification.js';
15
50
  import { NotificationManager } from './notification-manager.js';
51
+ import { Snackbar } from './snackbar.js';
16
52
  import { BottomSheet } from './bottom-sheet.js';
17
53
  import { SideSheet } from './side-sheet.js';
18
54
  import { Modal } from './modal.js';
55
+ import { SelectOptionElement } from './option.js';
19
56
  import { Search } from './search.js';
20
57
  import { Toolbar } from './toolbar.js';
21
- import './IndividualComponent-DUINtMGK.js';
22
- import './property-1psGvXOq.js';
23
- import './class-map-YU7g0o3B.js';
58
+ import { AppBar } from './app-bar.js';
59
+ import { NavigationRail } from './navigation-rail.js';
60
+ import { NavigationRailItem } from './navigation-rail-item.js';
61
+ import './IndividualComponent-Bdwyrvd6.js';
62
+ import './property-B49QQ8pS.js';
63
+ import './attachable-controller-CAKVrfcG.js';
64
+ import './state-DkTK9EGF.js';
65
+ import './query-CHb9Ft_d.js';
66
+ import './base-Cl6v8-BZ.js';
67
+ import './class-map-DG7CA1et.js';
24
68
  import './directive-ZPhl09Yt.js';
25
- import './state-DwbEjqVk.js';
26
- import './observe-slot-change-D8Xg-kSS.js';
27
- import './query-QBcUV-L_.js';
28
- import './NativeHyperlinkMixin-DrYXyfMQ.js';
29
- import './ButtonConstants-D06bY4uy.js';
69
+ import './datasource-B2eRh6Or.js';
70
+ import './unsafe-html-Ct0N2_UU.js';
71
+ import './observe-slot-change-DPxaZrZF.js';
72
+ import './if-defined-BXZpRQ4P.js';
73
+ import './when-DEJm_QN9.js';
74
+ import './is-link-Dk2OV3PM.js';
30
75
  import './dispatch-event-utils-CuEqjlPT.js';
31
- import './style-map-DVmWOuYy.js';
32
- import './BaseInput-14YmcfK7.js';
76
+ import './ButtonConstants-CahP2_NA.js';
77
+ import './element-internals-2CMts_0M.js';
78
+ import './form-associated-BXADnjOB.js';
79
+ import './hyperlink-DLvb6MXE.js';
80
+ import './throttle-C7ZAPqtu.js';
81
+ import './style-map-BQD5Et1D.js';
82
+ import './spread-B5cgadZl.js';
83
+ import './BaseInput-CU1zZYKc.js';
84
+ import './floating-controller-CnUZnOhK.js';
85
+ import './NativeHyperlinkMixin-D9J4aBTy.js';
86
+ import './query-assigned-elements-BJaGSqM0.js';
87
+ import './accordion-item.js';
33
88
  import './is-dark-mode-DOcaw4Yq.js';
34
- import './unsafe-html-BsGUjx94.js';
35
- import './button-colors-D7sJyPy8.js';
36
89
 
37
90
  class LoaderUtils {
38
91
  constructor(loaderConfig) {
@@ -136,9 +189,14 @@ async function loadCSS(url, options = {}) {
136
189
  return sheet;
137
190
  }
138
191
 
139
- // Eager loaded
140
192
  const distDirectory = `${import.meta.url}/..`;
141
- await loadCSS(`${distDirectory}/assets/styles.css`);
193
+ const url = new URL(import.meta.url);
194
+ const params = url.searchParams;
195
+ // Example: accessing app.js?theme=dark&user=123
196
+ const includeStyles = params.has('styles');
197
+ if (includeStyles) {
198
+ await loadCSS(`${distDirectory}/assets/styles.css`);
199
+ }
142
200
  /*
143
201
  import tooltipStyles from './popover/tooltip.css-component.scss';
144
202
 
@@ -242,8 +300,8 @@ const loaderConfig = {
242
300
  'wc-card-content': {
243
301
  CustomElementClass: CardContent,
244
302
  },
245
- 'wc-banner': {
246
- CustomElementClass: Banner,
303
+ 'wc-alert': {
304
+ CustomElementClass: Alert,
247
305
  },
248
306
  'wc-notification': {
249
307
  CustomElementClass: Notification,
@@ -396,6 +454,9 @@ const loaderConfig = {
396
454
  'wc-toolbar': {
397
455
  CustomElementClass: Toolbar,
398
456
  },
457
+ 'wc-app-bar': {
458
+ CustomElementClass: AppBar,
459
+ },
399
460
  'wc-navigation-rail': {
400
461
  CustomElementClass: NavigationRail,
401
462
  },
@@ -458,4 +519,4 @@ const loaderConfig = {
458
519
  },
459
520
  };
460
521
  new LoaderUtils(loaderConfig).start();
461
- //# sourceMappingURL=peacock-loader.js.map
522
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sources":["../../src/LoaderUtils.ts","../../src/CssLoader.ts","../../src/loader.ts"],"sourcesContent":["interface ComponentConfig {\n CustomElementClass?: any; // earger load\n importPath?: string; // lazy load\n dependencies?: string[];\n}\n\ninterface LoaderConfig {\n components?: Record<string, ComponentConfig>;\n}\n\nexport { LoaderConfig };\n\nexport class LoaderUtils {\n private _loaderConfig: LoaderConfig;\n\n private _observer: MutationObserver | undefined;\n\n constructor(loaderConfig: LoaderConfig) {\n this._loaderConfig = loaderConfig;\n }\n\n static registerComponent(tagName: string, CustomElementClass: any) {\n if (CustomElementClass && !customElements.get(tagName)) {\n customElements.define(tagName, CustomElementClass);\n }\n }\n\n start() {\n this.eagerLoadComponents();\n this.lazyLoadComponents(document);\n }\n\n eagerLoadComponents() {\n if (!this._loaderConfig.components) return;\n for (const [name, value] of Object.entries(this._loaderConfig.components)) {\n if (value.CustomElementClass)\n LoaderUtils.registerComponent(name, value.CustomElementClass);\n }\n }\n\n async registerAsync(tagName: string): Promise<void> {\n if (customElements.get(tagName)) return;\n\n if (!this._loaderConfig.components) return;\n\n const config = this._loaderConfig.components[tagName];\n if (!config || !config.importPath) return;\n\n try {\n const module = await import(config.importPath);\n\n // Runtime definition: grabbing the class from the module\n const CustomElementClass =\n module.default || module[Object.keys(module)[0]];\n\n if (CustomElementClass && !customElements.get(tagName)) {\n customElements.define(tagName, CustomElementClass);\n }\n\n // Handle dependencies recursively\n if (config.dependencies) {\n for (const dep of config.dependencies) {\n // eslint-disable-next-line no-await-in-loop\n await this.registerAsync(dep);\n }\n }\n } catch (error) {\n console.error(\n `Unable to load <${tagName}> from ${config.importPath}`,\n error,\n );\n }\n }\n\n async load(root: Element | Document): Promise<void> {\n const rootTagName =\n root instanceof Element ? root.tagName.toLowerCase() : '';\n\n const tags = Array.from(root.querySelectorAll(':not(:defined)')).map(el =>\n el.tagName.toLowerCase(),\n );\n\n if (rootTagName.includes('-') && !customElements.get(rootTagName)) {\n tags.push(rootTagName);\n }\n\n const tagsToRegister = [...new Set(tags)];\n await Promise.allSettled(\n tagsToRegister.map(tagName => this.registerAsync(tagName)),\n );\n }\n\n lazyLoadComponents(root: any) {\n this._observer = new MutationObserver(mutations => {\n for (const { addedNodes } of mutations) {\n for (const node of addedNodes) {\n if (node.nodeType === Node.ELEMENT_NODE) {\n this.load(node as Element);\n }\n }\n }\n });\n\n const target = root instanceof Document ? root.documentElement : root;\n this.load(target);\n\n this._observer.observe(target, {\n subtree: true,\n childList: true,\n });\n }\n}\n","const sheetCache = new Map<string, CSSStyleSheet>();\n\nasync function loadCSS(\n url: string,\n options: any = {}\n): Promise<CSSStyleSheet> {\n const {\n priority = \"high\",\n cache = \"force-cache\",\n media = \"all\",\n } = options;\n\n // Return cached sheet immediately\n if (sheetCache.has(url)) {\n const cached = sheetCache.get(url)!;\n if (!document.adoptedStyleSheets.includes(cached)) {\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, cached];\n }\n return cached;\n }\n\n const response = await fetch(url, {\n cache,\n priority,\n });\n\n if (!response.ok) {\n throw new Error(`Failed to load CSS [${response.status}]: ${url}`);\n }\n\n const css = await response.text();\n const sheet = new CSSStyleSheet({ media });\n\n sheet.replaceSync(css);\n sheetCache.set(url, sheet);\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, sheet];\n\n return sheet;\n}\n\nasync function loadMultipleCSS(\n urls: string[],\n options: any = {}\n): Promise<CSSStyleSheet[]> {\n return Promise.all(urls.map((url) => loadCSS(url, options)));\n}\n\nfunction unloadCSS(url: string): boolean {\n const sheet = sheetCache.get(url);\n if (!sheet) return false;\n\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s) => s !== sheet\n );\n sheetCache.delete(url);\n return true;\n}\n\nfunction clearAllCSS(): void {\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s) => ![...sheetCache.values()].includes(s)\n );\n sheetCache.clear();\n}\n\nexport { loadCSS, loadMultipleCSS, unloadCSS, clearAllCSS };","import { LoaderConfig, LoaderUtils } from './LoaderUtils.js';\nimport { loadCSS } from './CssLoader.js';\n\n// Eager loaded\nimport { Elevation } from '@/elevation/elevation.js';\nimport { FocusRing } from '@/focus-ring/focus-ring.js';\nimport { Ripple } from '@/ripple/ripple.js';\nimport { Icon } from '@/icon/icon.js';\nimport { Avatar } from '@/avatar/avatar.js';\nimport { Badge } from '@/badge/badge.js';\nimport { Divider } from '@/divider/divider.js';\nimport { Button } from '@/button/button/button.js';\nimport ButtonGroup from '@/button/button-group/button-group.js';\nimport { IconButton } from '@/button/icon-button/icon-button.js';\nimport { Fab } from '@/button/fab/fab.js';\nimport { SegmentedButton } from '@/segmented-button/segmented-button.js';\nimport { SegmentedButtonGroup } from '@/segmented-button/segmented-button-group.js';\nimport { SplitButton } from '@/split-button/split-button.js';\nimport { DropdownButton } from '@/dropdown-button/dropdown-button.js';\nimport { Input } from '@/input/input.js';\nimport { UrlField } from '@/url-field/url-field.js';\nimport { Field } from '@/field/field.js';\nimport { NumberField } from '@/number-field/number-field.js';\nimport { DatePicker } from '@/date-picker/date-picker.js';\nimport { TimePicker } from '@/time-picker/time-picker.js';\nimport { Textarea } from '@/textarea/textarea.js';\nimport { Switch } from '@/switch/switch.js';\nimport { Checkbox } from '@/checkbox/checkbox.js';\nimport { Radio } from '@/radio/radio.js';\n\nimport { Menu } from '@/menu/menu/menu.js';\nimport { MenuItem } from '@/menu/menu-item/menu-item.js';\nimport { SubMenu } from '@/menu/sub-menu/sub-menu.js';\nimport { Item } from '@/item/item.js';\nimport { List } from '@/list/list.js';\nimport { ListItem } from '@/list/list-item.js';\n\nimport { Accordion } from '@/accordion/accordion.js';\nimport { Link } from '@/link/link.js';\nimport { Tag } from '@/chip/tag/tag.js';\nimport { Chip } from '@/chip/chip/chip.js';\nimport { ChipSet } from '@/chip/chip-set/chip-set.js';\nimport { LinearProgress } from '@/progress/linear-progress/linear-progress.js';\nimport { CircularProgress } from '@/progress/circular-progress/circular-progress.js';\n\nimport { Tooltip } from '@/tooltip/tooltip.js';\nimport { Popover } from '@/popover/popover.js';\nimport { PopoverContent } from '@/popover/popover-content.js';\nimport { Breadcrumb, BreadcrumbItem } from '@/breadcrumb/index.js';\n\nimport { Skeleton } from '@/skeleton/skeleton.js';\nimport { Spinner } from '@/spinner/spinner.js';\n\nimport { EmptyState } from '@/empty-state/empty-state.js';\nimport { Container } from '@/container/container.js';\nimport { Image } from '@/image/image.js';\nimport { Svg } from '@/svg/svg.js';\n\nimport { TabGroup } from '@/tabs/tab-group.js';\nimport { Tabs } from '@/tabs/tabs.js';\nimport { Tab } from '@/tabs/tab.js';\nimport { TabPanel } from '@/tabs/tab-panel.js';\nimport { Slider } from '@/slider/slider.js';\nimport { Table } from '@/table/table.js';\nimport { Pagination } from '@/pagination/pagination.js';\nimport { SidebarMenu } from '@/sidebar-menu/sidebar-menu.js';\nimport { SidebarMenuItem } from '@/sidebar-menu/sidebar-menu-item.js';\nimport { SidebarSubMenu } from '@/sidebar-menu/sidebar-sub-menu.js';\nimport { Card } from '@/card/card.js';\nimport { CardContent } from '@/card/card-content.js';\nimport { Alert } from '@/alert/alert.js';\nimport { Notification } from '@/notification/notification.js';\nimport { NotificationManager } from '@/notification-manager/notification-manager.js';\nimport { Snackbar } from '@/snackbar/snackbar.js';\nimport { BottomSheet } from '@/bottom-sheet/bottom-sheet.js';\nimport { SideSheet } from '@/side-sheet/side-sheet.js';\nimport { Modal } from '@/modal/modal.js';\nimport { Select } from '@/select/select.js';\nimport { SelectOptionElement } from '@/select/option.js';\nimport { Search } from '@/search/search.js';\nimport { Toolbar } from '@/toolbar/toolbar.js';\nimport { AppBar } from '@/app-bar/app-bar.js';\nimport { NavigationRail } from '@/navigation-rail/navigation-rail.js';\nimport { NavigationRailItem } from '@/navigation-rail/navigation-rail-item.js';\n\nconst distDirectory = `${import.meta.url}/..`;\n\nconst url = new URL(import.meta.url);\nconst params = url.searchParams;\n\n// Example: accessing app.js?theme=dark&user=123\nconst includeStyles = params.has('styles');\n\nif (includeStyles) {\n await loadCSS(`${distDirectory}/assets/styles.css`);\n}\n\n/*\nimport tooltipStyles from './popover/tooltip.css-component.scss';\n\nfunction buildSheet(styleSheet: any) {\n const sheet = new CSSStyleSheet();\n // Add rules\n sheet.replaceSync(styleSheet.toString());\n return sheet;\n}\n\nconst styleSheets = [\n// buildSheet(cssComponentsStyleSheet),\n// buildSheet(linkStyles),\n// buildSheet(textStylesheet),\n buildSheet(tooltipStyles),\n];\n\ndocument.adoptedStyleSheets = styleSheets;\n*/\n\nconst loaderConfig: LoaderConfig = {\n components: {\n 'wc-icon': {\n CustomElementClass: Icon,\n // importPath: './component/icon.js', - for lazy load give path instead of CustomElementClass\n },\n 'wc-focus-ring': {\n CustomElementClass: FocusRing,\n },\n 'wc-avatar': {\n CustomElementClass: Avatar,\n },\n 'wc-badge': {\n CustomElementClass: Badge,\n },\n 'wc-button': {\n CustomElementClass: Button,\n },\n 'wc-icon-button': {\n CustomElementClass: IconButton,\n },\n 'wc-fab': {\n CustomElementClass: Fab,\n },\n 'wc-button-group': {\n CustomElementClass: ButtonGroup,\n },\n 'wc-segmented-button': {\n CustomElementClass: SegmentedButton,\n },\n 'wc-segmented-button-group': {\n CustomElementClass: SegmentedButtonGroup,\n },\n 'wc-split-button': {\n CustomElementClass: SplitButton,\n },\n 'wc-dropdown-button': {\n CustomElementClass: DropdownButton,\n },\n 'wc-divider': {\n CustomElementClass: Divider,\n },\n 'wc-elevation': {\n CustomElementClass: Elevation,\n },\n 'wc-clock': {\n importPath: `${distDirectory}/clock.js`,\n },\n 'wc-ripple': {\n CustomElementClass: Ripple,\n },\n 'wc-accordion': {\n CustomElementClass: Accordion,\n },\n 'wc-accordion-item': {\n CustomElementClass: Accordion.Item,\n },\n 'wc-tabs': {\n CustomElementClass: Tabs,\n },\n 'wc-tab-group': {\n CustomElementClass: TabGroup,\n },\n 'wc-tab': {\n CustomElementClass: Tab,\n },\n 'wc-tab-panel': {\n CustomElementClass: TabPanel,\n },\n 'wc-link': {\n CustomElementClass: Link,\n },\n 'wc-chip': {\n CustomElementClass: Chip,\n },\n 'wc-chip-set': {\n CustomElementClass: ChipSet,\n },\n 'wc-card': {\n CustomElementClass: Card,\n },\n 'wc-card-content': {\n CustomElementClass: CardContent,\n },\n 'wc-alert': {\n CustomElementClass: Alert,\n },\n 'wc-notification': {\n CustomElementClass: Notification,\n },\n 'wc-notification-manager': {\n CustomElementClass: NotificationManager,\n },\n 'wc-tag': {\n CustomElementClass: Tag,\n },\n 'wc-linear-progress': {\n CustomElementClass: LinearProgress,\n },\n 'wc-circular-progress': {\n CustomElementClass: CircularProgress,\n },\n 'wc-skeleton': {\n CustomElementClass: Skeleton,\n },\n\n 'wc-field': {\n CustomElementClass: Field,\n },\n 'wc-input': {\n CustomElementClass: Input,\n },\n 'wc-url-field': {\n CustomElementClass: UrlField,\n },\n 'wc-number-field': {\n CustomElementClass: NumberField,\n },\n 'wc-textarea': {\n CustomElementClass: Textarea,\n },\n 'wc-date-picker': {\n CustomElementClass: DatePicker,\n },\n 'wc-time-picker': {\n CustomElementClass: TimePicker,\n },\n 'wc-tooltip': {\n CustomElementClass: Tooltip,\n },\n 'wc-popover': {\n CustomElementClass: Popover,\n },\n 'wc-popover-content': {\n CustomElementClass: PopoverContent,\n },\n 'wc-number-counter': {\n importPath: `${distDirectory}/number-counter.js`,\n },\n 'wc-code-editor': {\n importPath: `${distDirectory}/code-editor.js`,\n },\n 'wc-html-editor': {\n importPath: `${distDirectory}/html-editor.js`,\n dependencies: ['wc-code-editor'],\n },\n 'wc-code-highlighter': {\n importPath: `${distDirectory}/code-highlighter.js`,\n },\n 'wc-breadcrumb': {\n CustomElementClass: Breadcrumb,\n },\n 'wc-breadcrumb-item': {\n CustomElementClass: BreadcrumbItem,\n },\n 'wc-switch': {\n CustomElementClass: Switch,\n },\n 'wc-checkbox': {\n CustomElementClass: Checkbox,\n },\n 'wc-radio': {\n CustomElementClass: Radio,\n },\n 'wc-spinner': {\n CustomElementClass: Spinner,\n },\n 'wc-empty-state': {\n CustomElementClass: EmptyState,\n },\n 'wc-menu': {\n CustomElementClass: Menu,\n },\n 'wc-menu-item': {\n CustomElementClass: MenuItem,\n },\n 'wc-sub-menu': {\n CustomElementClass: SubMenu,\n },\n 'wc-list': {\n CustomElementClass: List,\n },\n 'wc-list-item': {\n CustomElementClass: ListItem,\n },\n 'wc-item': {\n CustomElementClass: Item,\n },\n 'wc-container': {\n CustomElementClass: Container,\n },\n 'wc-image': {\n CustomElementClass: Image,\n },\n 'wc-svg': {\n CustomElementClass: Svg,\n },\n 'wc-slider': {\n CustomElementClass: Slider,\n },\n 'wc-table': {\n CustomElementClass: Table,\n },\n 'wc-pagination': {\n CustomElementClass: Pagination,\n },\n 'wc-sidebar-menu': {\n CustomElementClass: SidebarMenu,\n },\n 'wc-sidebar-menu-item': {\n CustomElementClass: SidebarMenuItem,\n },\n 'wc-sidebar-sub-menu': {\n CustomElementClass: SidebarSubMenu,\n },\n 'wc-snackbar': {\n CustomElementClass: Snackbar,\n },\n 'wc-bottom-sheet': {\n CustomElementClass: BottomSheet,\n },\n 'wc-side-sheet': {\n CustomElementClass: SideSheet,\n },\n 'wc-modal': {\n CustomElementClass: Modal,\n },\n 'wc-select': {\n CustomElementClass: Select,\n },\n 'wc-option': {\n CustomElementClass: SelectOptionElement,\n },\n 'wc-search': {\n CustomElementClass: Search,\n },\n 'wc-toolbar': {\n CustomElementClass: Toolbar,\n },\n 'wc-app-bar': {\n CustomElementClass: AppBar,\n },\n 'wc-navigation-rail': {\n CustomElementClass: NavigationRail,\n },\n 'wc-navigation-rail-item': {\n CustomElementClass: NavigationRailItem,\n },\n 'wc-calendar': {\n importPath: `${distDirectory}/calendar.js`,\n dependencies: ['wc-calendar-column-view', 'wc-calendar-month-view'],\n },\n 'wc-calendar-column-view': {\n importPath: `${distDirectory}/calendar-column-view.js`,\n },\n 'wc-calendar-month-view': {\n importPath: `${distDirectory}/calendar-month-view.js`,\n },\n 'wc-canvas': {\n importPath: `${distDirectory}/canvas.js`,\n },\n 'wc-flow-designer': {\n importPath: `${distDirectory}/flow-designer.js`,\n dependencies: ['wc-flow-designer-node'],\n },\n 'wc-flow-designer-node': {\n importPath: `${distDirectory}/flow-designer-node.js`,\n },\n 'wc-chart-doughnut': {\n importPath: `${distDirectory}/chart-doughnut.js`,\n },\n 'wc-chart-pie': {\n importPath: `${distDirectory}/chart-pie.js`,\n },\n 'wc-chart-bar': {\n importPath: `${distDirectory}/chart-bar.js`,\n },\n 'wc-chart-stacked-bar': {\n importPath: `${distDirectory}/chart-stacked-bar.js`,\n },\n 'wc-condition-builder': {\n importPath: `${distDirectory}/condition-builder.js`,\n dependencies: [\n 'wc-cb-predicate',\n 'wc-cb-compound-expression',\n 'wc-cb-expression',\n 'wc-cb-divider',\n ],\n },\n 'wc-cb-predicate': {\n importPath: `${distDirectory}/cb-predicate.js`,\n },\n 'wc-cb-compound-expression': {\n importPath: `${distDirectory}/cb-compound-expression.js`,\n },\n 'wc-cb-expression': {\n importPath: `${distDirectory}/cb-expression.js`,\n },\n 'wc-cb-divider': {\n importPath: `${distDirectory}/cb-divider.js`,\n },\n },\n};\n\nnew LoaderUtils(loaderConfig).start();\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,318 @@
1
+ import { i, _ as __decorate, a as i$1, A, b, I as IndividualComponent } from './IndividualComponent-Bdwyrvd6.js';
2
+ import { n } from './property-B49QQ8pS.js';
3
+ import { e } from './query-CHb9Ft_d.js';
4
+ import { o } from './if-defined-BXZpRQ4P.js';
5
+ import { N as NativeHyperlinkMixin } from './NativeHyperlinkMixin-D9J4aBTy.js';
6
+ import './base-Cl6v8-BZ.js';
7
+
8
+ var css_248z$1 = i`* {
9
+ box-sizing: border-box;
10
+ }
11
+
12
+ .screen-reader-only {
13
+ display: none !important;
14
+ }
15
+
16
+ [hidden] {
17
+ display: none !important;
18
+ }
19
+
20
+ :host {
21
+ outline: none;
22
+ --menu-item-container-shape-start-start: var(--shape-corner-extra-small);
23
+ --menu-item-container-shape-start-end: var(--shape-corner-extra-small);
24
+ --menu-item-container-shape-end-start: var(--shape-corner-extra-small);
25
+ --menu-item-container-shape-end-end: var(--shape-corner-extra-small);
26
+ }
27
+
28
+ .menu-item {
29
+ width: 100%;
30
+ --item-padding-inline: 10px;
31
+ --item-container-shape-start-start: var(
32
+ --menu-item-container-shape-start-start
33
+ );
34
+ --item-container-shape-start-end: var(--menu-item-container-shape-start-end);
35
+ --item-container-shape-end-start: var(--menu-item-container-shape-end-start);
36
+ --item-container-shape-end-end: var(--menu-item-container-shape-end-end);
37
+ --item-container-shape-variant: none;
38
+ --item-label-font-family: var(--typography-label-large-font-family);
39
+ --item-label-font-size: var(--typography-label-large-font-size);
40
+ --item-label-font-weight: var(--typography-label-large-font-weight);
41
+ --item-label-line-height: var(--typography-label-large-line-height);
42
+ --item-label-letter-spacing: var(--typography-label-large-letter-spacing);
43
+ --item-label-text-color: var(--menu-item-label-color);
44
+ --item-leading-trailing-color: var(--menu-item-label-color);
45
+ --item-supporting-text-color: var(--menu-item-label-color);
46
+ --item-container-selected-color: var(--menu-item-container-selected-color);
47
+ --item-label-text-selected-color: var(--menu-item-label-selected-color);
48
+ --item-icon-size: var(--button-icon-size, var(--_button-icon-size));
49
+ }
50
+ .menu-item .background {
51
+ background-color: var(--_container-color);
52
+ opacity: var(--_container-opacity, 1);
53
+ border-radius: var(--shape-corner-medium);
54
+ }
55
+ .menu-item .focus-ring {
56
+ --focus-ring-container-shape-start-start: var(--shape-corner-medium);
57
+ --focus-ring-container-shape-start-end: var(--shape-corner-medium);
58
+ --focus-ring-container-shape-end-start: var(--shape-corner-medium);
59
+ --focus-ring-container-shape-end-end: var(--shape-corner-medium);
60
+ z-index: 2;
61
+ --focus-ring-inset: 0px;
62
+ }
63
+ .menu-item .ripple {
64
+ --ripple-state-opacity: var(--_container-state-opacity, 0);
65
+ --ripple-pressed-color: var(--_container-state-color);
66
+ border-radius: var(--shape-corner-medium);
67
+ }
68
+ .menu-item .skeleton {
69
+ z-index: 2;
70
+ --skeleton-container-shape-start-start: var(--shape-corner-medium);
71
+ --skeleton-container-shape-start-end: var(--shape-corner-medium);
72
+ --skeleton-container-shape-end-start: var(--shape-corner-medium);
73
+ --skeleton-container-shape-end-end: var(--shape-corner-medium);
74
+ }
75
+
76
+ :host([selected]) {
77
+ --menu-item-container-shape-start-start: var(--shape-corner-large);
78
+ --menu-item-container-shape-start-end: var(--shape-corner-large);
79
+ --menu-item-container-shape-end-start: var(--shape-corner-large);
80
+ --menu-item-container-shape-end-end: var(--shape-corner-large);
81
+ }`;
82
+
83
+ var css_248z = i`:host-context([variant=standard]) {
84
+ --menu-item-label-color: var(--color-on-surface-variant);
85
+ --menu-item-label-selected-color: var(--color-on-tertiary-container);
86
+ --menu-item-container-selected-color: var(--color-tertiary-container);
87
+ }
88
+
89
+ :host-context([variant=vibrant]) {
90
+ --menu-item-label-color: var(--color-on-tertiary-container);
91
+ --menu-item-label-selected-color: var(--color-on-tertiary);
92
+ --menu-item-container-selected-color: var(--color-tertiary);
93
+ }`;
94
+
95
+ /**
96
+ * 2. Apply the type annotation to the variable.
97
+ */
98
+ const NativeButtonMixin = (superclass) => {
99
+ // Naming the class (BaseButtonElement) instead of using 'Mixin' or anonymous
100
+ // prevents the "__childPart" visibility error.
101
+ class ButtonElement extends superclass {
102
+ constructor() {
103
+ super(...arguments);
104
+ /**
105
+ * The type of the underlying `<button>` element. Maps to the native `type` attribute.
106
+ * Possible values are `"button"`, `"submit"`, `"reset"`. Defaults to `"button"`.
107
+ */
108
+ this.htmlType = 'button';
109
+ /**
110
+ * When `true`, the button is disabled and cannot be interacted with. Reflects to the `disabled` attribute. Defaults to `false`.
111
+ */
112
+ this.disabled = false;
113
+ /**
114
+ * When `true`, the button is visually styled as disabled and cannot be interacted with, but remains focusable.
115
+ * Use this in combination with `disabledReason` to communicate why the button is unavailable.
116
+ * Reflects to the `soft-disabled` attribute. Defaults to `false`.
117
+ */
118
+ this.softDisabled = false;
119
+ /**
120
+ * A human-readable explanation of why the button is disabled or soft-disabled.
121
+ * Rendered as a visually hidden tooltip and linked via `aria-describedby` for accessibility.
122
+ * Maps to the `disabled-reason` attribute.
123
+ */
124
+ this.disabledReason = '';
125
+ /**
126
+ * The `id` of the `<form>` element to associate the button with.
127
+ * If omitted, the button is associated with its nearest ancestor form.
128
+ * Maps to the native `form` attribute.
129
+ */
130
+ this.form = '';
131
+ /**
132
+ * The name of the button, submitted as part of a name/value pair when the associated form is submitted.
133
+ * Maps to the native `name` attribute.
134
+ */
135
+ this.name = '';
136
+ /**
137
+ * The value of the button, submitted as part of a name/value pair when the associated form is submitted.
138
+ * Maps to the native `value` attribute.
139
+ */
140
+ this.value = '';
141
+ }
142
+ }
143
+ __decorate([
144
+ n({ type: String })
145
+ ], ButtonElement.prototype, "htmlType", void 0);
146
+ __decorate([
147
+ n({ type: Boolean, reflect: true })
148
+ ], ButtonElement.prototype, "disabled", void 0);
149
+ __decorate([
150
+ n({ type: Boolean, reflect: true, attribute: 'soft-disabled' })
151
+ ], ButtonElement.prototype, "softDisabled", void 0);
152
+ __decorate([
153
+ n({ attribute: 'disabled-reason' })
154
+ ], ButtonElement.prototype, "disabledReason", void 0);
155
+ __decorate([
156
+ n()
157
+ ], ButtonElement.prototype, "form", void 0);
158
+ __decorate([
159
+ n()
160
+ ], ButtonElement.prototype, "name", void 0);
161
+ __decorate([
162
+ n()
163
+ ], ButtonElement.prototype, "value", void 0);
164
+ return ButtonElement;
165
+ };
166
+
167
+ /**
168
+ * @label Menu Item
169
+ * @tag wc-menu-item
170
+ * @rawTag menu-item
171
+ * @summary An item in a menu list.
172
+ * @tags navigation
173
+ *
174
+ * @example
175
+ * ```html
176
+ * <wc-menu-item>Menu Item</wc-menu-item>
177
+ * ```
178
+ */
179
+ let MenuItem = class MenuItem extends NativeButtonMixin(NativeHyperlinkMixin(i$1)) {
180
+ constructor() {
181
+ // ── Static ───────────────────────────────────────────────────────────────
182
+ super(...arguments);
183
+ // ── Properties ───────────────────────────────────────────────────────────
184
+ /** The value associated with this menu item, used to identify it on selection. */
185
+ this.value = '';
186
+ /** Whether this menu item is currently selected/highlighted. */
187
+ this.selected = false;
188
+ /** When true, the menu stays open after this item is activated. */
189
+ this.keepOpen = false;
190
+ /** When true, indicates this item has an associated submenu. */
191
+ this.hasSubmenu = false;
192
+ /** Whether the associated submenu is currently open. */
193
+ this.submenuOpen = false;
194
+ /** Visual variant of the menu item. */
195
+ this.variant = 'standard';
196
+ // ── Private fields ────────────────────────────────────────────────────────
197
+ /** MutationObserver that triggers re-render when slotted content changes. */
198
+ this._contentObserver = new MutationObserver(() => {
199
+ this.requestUpdate();
200
+ });
201
+ /** Roving tabindex value managed by the parent Menu. */
202
+ this._rovingTabIndex = -1;
203
+ }
204
+ connectedCallback() {
205
+ // eslint-disable-next-line wc/guard-super-call
206
+ super.connectedCallback();
207
+ this._contentObserver.observe(this, {
208
+ subtree: true,
209
+ childList: true,
210
+ characterData: true,
211
+ attributes: true,
212
+ attributeFilter: ['slot'],
213
+ });
214
+ }
215
+ disconnectedCallback() {
216
+ this._contentObserver.disconnect();
217
+ super.disconnectedCallback();
218
+ }
219
+ get tabIndex() {
220
+ return this._rovingTabIndex;
221
+ }
222
+ set tabIndex(value) {
223
+ this._rovingTabIndex = value;
224
+ this.requestUpdate();
225
+ }
226
+ focus() {
227
+ this.itemElement?.focus();
228
+ }
229
+ blur() {
230
+ this.itemElement?.blur();
231
+ }
232
+ _hasNamedSlot(...names) {
233
+ return names.some(name => Array.from(this.children).some(child => child.getAttribute('slot') === name));
234
+ }
235
+ _hasDefaultSlot() {
236
+ return Array.from(this.childNodes).some(node => {
237
+ if (node.nodeType === Node.TEXT_NODE) {
238
+ return Boolean(node.textContent?.trim());
239
+ }
240
+ return (node.nodeType === Node.ELEMENT_NODE &&
241
+ !node.hasAttribute('slot'));
242
+ });
243
+ }
244
+ render() {
245
+ const controls = this.getAttribute('aria-controls');
246
+ return b `
247
+ <wc-item
248
+ id="menu-item"
249
+ class="menu-item"
250
+ role="menuitem"
251
+ tabindex=${String(this.tabIndex)}
252
+ ?selected=${this.selected}
253
+ ?disabled=${this.disabled}
254
+ .softDisabled=${this.softDisabled}
255
+ .htmlType=${this.htmlType}
256
+ .href=${this.href}
257
+ .target=${this.target}
258
+ .rel=${this.rel}
259
+ .download=${this.download}
260
+ aria-haspopup=${this.hasSubmenu ? 'menu' : A}
261
+ aria-controls=${o(this.hasSubmenu && controls ? controls : undefined)}
262
+ aria-expanded=${o(this.hasSubmenu ? String(this.submenuOpen) : undefined)}
263
+ >
264
+ <wc-focus-ring
265
+ class="focus-ring"
266
+ for="menu-item"
267
+ slot="container"
268
+ ></wc-focus-ring>
269
+ <div class="background" slot="container"></div>
270
+ <wc-ripple class="ripple" for="menu-item" slot="container"></wc-ripple>
271
+
272
+ ${this.renderContent()}
273
+ </wc-item>
274
+ `;
275
+ }
276
+ renderContent() {
277
+ return b `
278
+ <slot name="start" slot="start"></slot>
279
+ <slot name="overline" slot="overline"></slot>
280
+ <slot name="headline" slot="headline"></slot>
281
+ <slot></slot>
282
+ <slot name="supporting-text" slot="supporting-text"></slot>
283
+ <slot
284
+ name="trailing-supporting-text"
285
+ slot="trailing-supporting-text"
286
+ ></slot>
287
+ <slot name="end" slot="end"></slot>
288
+ `;
289
+ }
290
+ };
291
+ MenuItem.styles = [css_248z$1, css_248z];
292
+ __decorate([
293
+ n({ type: String })
294
+ ], MenuItem.prototype, "value", void 0);
295
+ __decorate([
296
+ n({ type: Boolean, reflect: true })
297
+ ], MenuItem.prototype, "selected", void 0);
298
+ __decorate([
299
+ n({ type: Boolean, attribute: 'keep-open' })
300
+ ], MenuItem.prototype, "keepOpen", void 0);
301
+ __decorate([
302
+ n({ type: Boolean, attribute: 'has-submenu' })
303
+ ], MenuItem.prototype, "hasSubmenu", void 0);
304
+ __decorate([
305
+ n({ type: Boolean, attribute: 'submenu-open' })
306
+ ], MenuItem.prototype, "submenuOpen", void 0);
307
+ __decorate([
308
+ n({ type: String, reflect: true })
309
+ ], MenuItem.prototype, "variant", void 0);
310
+ __decorate([
311
+ e('wc-item')
312
+ ], MenuItem.prototype, "itemElement", void 0);
313
+ MenuItem = __decorate([
314
+ IndividualComponent
315
+ ], MenuItem);
316
+
317
+ export { MenuItem };
318
+ //# sourceMappingURL=menu-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-item.js","sources":["../../src/__internal/mixins/NativeButtonMixin.ts","../../src/menu/menu-item/menu-item.ts"],"sourcesContent":["import { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport type { MixinConstructor } from './MixinConstructor.js';\n\n/**\n * 1. Define an interface for the members the mixin adds.\n * This makes the type annotation much cleaner.\n */\nexport interface NativeButtonInterface {\n htmlType: 'button' | 'submit' | 'reset';\n disabled: boolean;\n softDisabled: boolean;\n disabledReason: string;\n form: string;\n name: string;\n value: string;\n}\n\n/**\n * 2. Apply the type annotation to the variable.\n */\nconst NativeButtonMixin: <T extends MixinConstructor<LitElement>>(\n superclass: T,\n) => T & MixinConstructor<NativeButtonInterface> = <\n T extends MixinConstructor<LitElement>,\n>(\n superclass: T,\n) => {\n // Naming the class (BaseButtonElement) instead of using 'Mixin' or anonymous\n // prevents the \"__childPart\" visibility error.\n class ButtonElement extends superclass implements NativeButtonInterface {\n /**\n * The type of the underlying `<button>` element. Maps to the native `type` attribute.\n * Possible values are `\"button\"`, `\"submit\"`, `\"reset\"`. Defaults to `\"button\"`.\n */\n @property({ type: String }) htmlType: 'button' | 'submit' | 'reset' =\n 'button';\n\n /**\n * When `true`, the button is disabled and cannot be interacted with. Reflects to the `disabled` attribute. Defaults to `false`.\n */\n @property({ type: Boolean, reflect: true })\n disabled: boolean = false;\n\n /**\n * When `true`, the button is visually styled as disabled and cannot be interacted with, but remains focusable.\n * Use this in combination with `disabledReason` to communicate why the button is unavailable.\n * Reflects to the `soft-disabled` attribute. Defaults to `false`.\n */\n @property({ type: Boolean, reflect: true, attribute: 'soft-disabled' })\n softDisabled: boolean = false;\n\n /**\n * A human-readable explanation of why the button is disabled or soft-disabled.\n * Rendered as a visually hidden tooltip and linked via `aria-describedby` for accessibility.\n * Maps to the `disabled-reason` attribute.\n */\n @property({ attribute: 'disabled-reason' })\n disabledReason: string = '';\n\n /**\n * The `id` of the `<form>` element to associate the button with.\n * If omitted, the button is associated with its nearest ancestor form.\n * Maps to the native `form` attribute.\n */\n @property()\n form: string = '';\n\n /**\n * The name of the button, submitted as part of a name/value pair when the associated form is submitted.\n * Maps to the native `name` attribute.\n */\n @property()\n name: string = '';\n\n /**\n * The value of the button, submitted as part of a name/value pair when the associated form is submitted.\n * Maps to the native `value` attribute.\n */\n @property()\n value: string = '';\n }\n\n return ButtonElement as T & MixinConstructor<NativeButtonInterface>;\n};\n\nexport default NativeButtonMixin;\n","import { html, LitElement, nothing } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport styles from './menu-item.scss';\nimport colorStyles from './menu-item-colors.scss';\nimport NativeButtonMixin from '@/__internal/mixins/NativeButtonMixin.js';\nimport NativeHyperlinkMixin from '@/__internal/mixins/NativeHyperlinkMixin.js';\nimport { Item } from '@/item/item.js';\nimport IndividualComponent from '@/IndividualComponent.js';\n\n/**\n * @label Menu Item\n * @tag wc-menu-item\n * @rawTag menu-item\n * @summary An item in a menu list.\n * @tags navigation\n *\n * @example\n * ```html\n * <wc-menu-item>Menu Item</wc-menu-item>\n * ```\n */\n@IndividualComponent\nexport class MenuItem extends NativeButtonMixin(\n NativeHyperlinkMixin(LitElement),\n) {\n // ── Static ───────────────────────────────────────────────────────────────\n\n static styles = [styles, colorStyles];\n\n // ── Properties ───────────────────────────────────────────────────────────\n\n /** The value associated with this menu item, used to identify it on selection. */\n @property({ type: String }) value = '';\n\n /** Whether this menu item is currently selected/highlighted. */\n @property({ type: Boolean, reflect: true }) selected = false;\n\n /** When true, the menu stays open after this item is activated. */\n @property({ type: Boolean, attribute: 'keep-open' }) keepOpen = false;\n\n /** When true, indicates this item has an associated submenu. */\n @property({ type: Boolean, attribute: 'has-submenu' }) hasSubmenu = false;\n\n /** Whether the associated submenu is currently open. */\n @property({ type: Boolean, attribute: 'submenu-open' }) submenuOpen = false;\n\n /** Visual variant of the menu item. */\n @property({ type: String, reflect: true }) variant: 'standard' | 'vibrant' =\n 'standard';\n\n // ── Queries ───────────────────────────────────────────────────────────────\n\n @query('wc-item') readonly itemElement!: Item | null;\n\n // ── Private fields ────────────────────────────────────────────────────────\n\n /** MutationObserver that triggers re-render when slotted content changes. */\n private readonly _contentObserver = new MutationObserver(() => {\n this.requestUpdate();\n });\n\n /** Roving tabindex value managed by the parent Menu. */\n private _rovingTabIndex = -1;\n\n connectedCallback() {\n // eslint-disable-next-line wc/guard-super-call\n super.connectedCallback();\n this._contentObserver.observe(this, {\n subtree: true,\n childList: true,\n characterData: true,\n attributes: true,\n attributeFilter: ['slot'],\n });\n }\n\n disconnectedCallback() {\n this._contentObserver.disconnect();\n super.disconnectedCallback();\n }\n\n override get tabIndex() {\n return this._rovingTabIndex;\n }\n\n override set tabIndex(value: number) {\n this._rovingTabIndex = value;\n this.requestUpdate();\n }\n\n override focus() {\n this.itemElement?.focus();\n }\n\n override blur() {\n this.itemElement?.blur();\n }\n\n private _hasNamedSlot(...names: string[]) {\n return names.some(name =>\n Array.from(this.children).some(\n child => child.getAttribute('slot') === name,\n ),\n );\n }\n\n private _hasDefaultSlot() {\n return Array.from(this.childNodes).some(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n return Boolean(node.textContent?.trim());\n }\n\n return (\n node.nodeType === Node.ELEMENT_NODE &&\n !(node as Element).hasAttribute('slot')\n );\n });\n }\n\n render() {\n const controls = this.getAttribute('aria-controls');\n\n return html`\n <wc-item\n id=\"menu-item\"\n class=\"menu-item\"\n role=\"menuitem\"\n tabindex=${String(this.tabIndex)}\n ?selected=${this.selected}\n ?disabled=${this.disabled}\n .softDisabled=${this.softDisabled}\n .htmlType=${this.htmlType}\n .href=${this.href}\n .target=${this.target}\n .rel=${this.rel}\n .download=${this.download}\n aria-haspopup=${this.hasSubmenu ? 'menu' : nothing}\n aria-controls=${ifDefined(\n this.hasSubmenu && controls ? controls : undefined,\n )}\n aria-expanded=${ifDefined(\n this.hasSubmenu ? String(this.submenuOpen) : undefined,\n )}\n >\n <wc-focus-ring\n class=\"focus-ring\"\n for=\"menu-item\"\n slot=\"container\"\n ></wc-focus-ring>\n <div class=\"background\" slot=\"container\"></div>\n <wc-ripple class=\"ripple\" for=\"menu-item\" slot=\"container\"></wc-ripple>\n\n ${this.renderContent()}\n </wc-item>\n `;\n }\n\n renderContent() {\n return html`\n <slot name=\"start\" slot=\"start\"></slot>\n <slot name=\"overline\" slot=\"overline\"></slot>\n <slot name=\"headline\" slot=\"headline\"></slot>\n <slot></slot>\n <slot name=\"supporting-text\" slot=\"supporting-text\"></slot>\n <slot\n name=\"trailing-supporting-text\"\n slot=\"trailing-supporting-text\"\n ></slot>\n <slot name=\"end\" slot=\"end\"></slot>\n `;\n }\n}\n"],"names":["property","LitElement","html","nothing","ifDefined","styles","colorStyles","query"],"mappings":"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"}