@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
@@ -1,6 +1,7 @@
1
1
  import { css, html, LitElement, nothing } from 'lit';
2
2
  import { property, query } from 'lit/decorators.js';
3
3
  import type { MenuItem } from '../menu/menu-item/menu-item.js';
4
+ import IndividualComponent from '@/IndividualComponent.js';
4
5
 
5
6
  /**
6
7
  * @label Select Option
@@ -17,6 +18,7 @@ import type { MenuItem } from '../menu/menu-item/menu-item.js';
17
18
  * </wc-select>
18
19
  * ```
19
20
  */
21
+ @IndividualComponent
20
22
  export class SelectOptionElement extends LitElement {
21
23
  static override styles = [
22
24
  css`
@@ -1,4 +1,4 @@
1
- import { LitElement, html, nothing } from 'lit';
1
+ import { LitElement, html, nothing } from 'lit';
2
2
  import { property } from 'lit/decorators.js';
3
3
  import { classMap } from 'lit/directives/class-map.js';
4
4
  import IndividualComponent from '../IndividualComponent.js';
@@ -8,7 +8,7 @@ import styles from './side-sheet.scss';
8
8
  * @label Side Sheet
9
9
  * @tag wc-side-sheet
10
10
  * @rawTag side-sheet
11
- * @summary Side sheets slide in from the edge of the screen to reveal supplemental content. Supports standard and modal variants per Material Design 3.
11
+ * @summary Side sheets slide in from the edge of the screen to reveal supplemental content. Supports standard and modal variants.
12
12
  *
13
13
  * @cssprop --side-sheet-container-color - Background color of the sheet container.
14
14
  * @cssprop --side-sheet-scrim-color - Color of the modal scrim overlay.
@@ -117,7 +117,7 @@ export class SidebarMenuItem extends LitElement {
117
117
  href="${this.href}"
118
118
  target="${this.target}"
119
119
  class="${classes}"
120
- aria-disabled="${this.disabled}"
120
+ ?aria-disabled=${this.disabled}
121
121
  tabindex="${this.disabled ? -1 : 0}"
122
122
  @click="${this._onClick}"
123
123
  >
@@ -133,7 +133,8 @@ export class SidebarMenuItem extends LitElement {
133
133
  role="treeitem"
134
134
  aria-label="${this.label}"
135
135
  aria-selected="${String(this.selected)}"
136
- aria-disabled="${this.disabled}"
136
+ ?aria-disabled=${this.disabled}
137
+ ?disabled=${this.disabled}
137
138
  tabindex="${this.disabled ? -1 : 0}"
138
139
  @click="${this._onClick}"
139
140
  @keydown="${(e: KeyboardEvent) => {
@@ -1,6 +1,7 @@
1
1
  import { html, LitElement } from 'lit';
2
2
  import { property } from 'lit/decorators.js';
3
3
  import styles from './skeleton.scss';
4
+ import IndividualComponent from '@/IndividualComponent.js';
4
5
 
5
6
  /**
6
7
  * @label Skeleton
@@ -14,9 +15,11 @@ import styles from './skeleton.scss';
14
15
  * <wc-skeleton visible></wc-skeleton>
15
16
  * ```
16
17
  */
18
+ @IndividualComponent
17
19
  export class Skeleton extends LitElement {
18
20
  static styles = [styles];
19
21
 
22
+ /** When true, the skeleton animation is shown. */
20
23
  @property({ type: Boolean, reflect: true }) visible: boolean = false;
21
24
 
22
25
  render() {
@@ -2,6 +2,7 @@ import { LitElement, html } from 'lit';
2
2
  import { property, state, query } from 'lit/decorators.js';
3
3
  import { styleMap } from 'lit/directives/style-map.js';
4
4
  import sliderStyles from './slider.scss';
5
+ import IndividualComponent from '@/IndividualComponent.js';
5
6
 
6
7
  /**
7
8
  * @label Slider
@@ -18,6 +19,7 @@ import sliderStyles from './slider.scss';
18
19
  * <wc-slider min="0" max="100" value="50"></wc-slider>
19
20
  * ```
20
21
  */
22
+ @IndividualComponent
21
23
  export class Slider extends LitElement {
22
24
  static styles = [sliderStyles];
23
25
 
@@ -56,10 +58,11 @@ export class Slider extends LitElement {
56
58
  */
57
59
  @property({ type: Boolean, attribute: 'show-value' }) showValue = false;
58
60
 
61
+ /** True while the user is actively dragging the thumb. */
59
62
  @state() private isDragging = false;
60
63
 
61
64
  @query('.slider-container') private container!: HTMLElement;
62
-
65
+
63
66
  @query('.thumb') private thumbElement!: HTMLElement;
64
67
 
65
68
  private handleInput(event: MouseEvent | TouchEvent) {
@@ -2,6 +2,7 @@ import { LitElement, html, nothing } from 'lit';
2
2
  import { property, state } from 'lit/decorators.js';
3
3
  import { classMap } from 'lit/directives/class-map.js';
4
4
  import styles from './snackbar.scss';
5
+ import IndividualComponent from '@/IndividualComponent.js';
5
6
 
6
7
  type SnackbarCloseReason = 'timeout' | 'dismiss' | 'action' | 'programmatic';
7
8
 
@@ -26,6 +27,7 @@ type SnackbarCloseReason = 'timeout' | 'dismiss' | 'action' | 'programmatic';
26
27
  * ```
27
28
  * @tags display, feedback
28
29
  */
30
+ @IndividualComponent
29
31
  export class Snackbar extends LitElement {
30
32
  static styles = [styles];
31
33
 
@@ -33,26 +35,37 @@ export class Snackbar extends LitElement {
33
35
 
34
36
  private static readonly EXIT_ANIMATION_MS = 180;
35
37
 
38
+ /** Whether the snackbar is currently visible. */
36
39
  @property({ type: Boolean, reflect: true }) open = false;
37
40
 
41
+ /** The message text to display. Can also be provided via the default slot. */
38
42
  @property({ type: String }) message = '';
39
43
 
44
+ /** Label for the optional action button. When empty, no action button is rendered. */
40
45
  @property({ type: String, attribute: 'action-label' }) actionLabel = '';
41
46
 
47
+ /** When true, a dismiss icon button is shown on the trailing end. */
42
48
  @property({ type: Boolean, attribute: 'show-close-icon' })
43
49
  showCloseIcon = false;
44
50
 
51
+ /** Auto-hide duration in milliseconds. Set to `0` to disable auto-hide. */
45
52
  @property({ type: Number }) duration = 4000;
46
53
 
54
+ /** When true, the snackbar content is allowed to wrap to multiple lines. */
47
55
  @property({ type: Boolean, reflect: true }) multiline = false;
48
56
 
57
+ /** When true, renders the snackbar in a static preview state (always visible, no animation). */
49
58
  @property({ type: Boolean, reflect: true }) preview = false;
50
59
 
60
+ /** True while the exit animation is running before the snackbar fully closes. */
51
61
  @state() private dismissing = false;
52
-
53
62
 
63
+ // ── Private fields ────────────────────────────────────────────────────────
64
+
65
+ /** Timer handle for the auto-hide timeout. */
54
66
  private hideTimer: ReturnType<typeof setTimeout> | null = null;
55
67
 
68
+ /** Timer handle for the exit animation duration timeout. */
56
69
  private exitTimer: ReturnType<typeof setTimeout> | null = null;
57
70
 
58
71
  private readonly handleGlobalSnackbarOpen = (
@@ -72,6 +85,32 @@ export class Snackbar extends LitElement {
72
85
  );
73
86
  }
74
87
 
88
+ disconnectedCallback() {
89
+ document.removeEventListener(
90
+ Snackbar.GLOBAL_OPEN_EVENT,
91
+ this.handleGlobalSnackbarOpen,
92
+ );
93
+ this.clearExitTimer();
94
+ this.clearTimer();
95
+ super.disconnectedCallback();
96
+ }
97
+
98
+ protected updated(changedProperties: Map<string, unknown>) {
99
+ if (changedProperties.has('open')) {
100
+ if (this.open) {
101
+ document.dispatchEvent(
102
+ new CustomEvent(Snackbar.GLOBAL_OPEN_EVENT, {
103
+ detail: { source: this },
104
+ }),
105
+ );
106
+ }
107
+
108
+ this.scheduleAutoHide();
109
+ }
110
+ }
111
+
112
+ // ── Public methods ────────────────────────────────────────────────────────
113
+
75
114
  show() {
76
115
  this.dismissing = false;
77
116
  this.clearExitTimer();
@@ -163,30 +202,6 @@ export class Snackbar extends LitElement {
163
202
  }, this.duration);
164
203
  }
165
204
 
166
- protected updated(changedProperties: Map<string, unknown>) {
167
- if (changedProperties.has('open')) {
168
- if (this.open) {
169
- document.dispatchEvent(
170
- new CustomEvent(Snackbar.GLOBAL_OPEN_EVENT, {
171
- detail: { source: this },
172
- }),
173
- );
174
- }
175
-
176
- this.scheduleAutoHide();
177
- }
178
- }
179
-
180
- disconnectedCallback() {
181
- document.removeEventListener(
182
- Snackbar.GLOBAL_OPEN_EVENT,
183
- this.handleGlobalSnackbarOpen,
184
- );
185
- this.clearExitTimer();
186
- this.clearTimer();
187
- super.disconnectedCallback();
188
- }
189
-
190
205
  render() {
191
206
  const liveRole =
192
207
  this.actionLabel || this.showCloseIcon ? 'alert' : 'status';
@@ -1,6 +1,7 @@
1
1
  import { LitElement, html, css } from 'lit';
2
2
 
3
3
  import styles from './spinner.scss';
4
+ import IndividualComponent from '@/IndividualComponent.js';
4
5
 
5
6
  /**
6
7
  * @label Spinner
@@ -16,6 +17,7 @@ import styles from './spinner.scss';
16
17
  * <wc-spinner></wc-spinner>
17
18
  * ```
18
19
  */
20
+ @IndividualComponent
19
21
  export class Spinner extends LitElement {
20
22
  static styles = [styles];
21
23
 
package/src/svg/svg.ts CHANGED
@@ -2,10 +2,11 @@ import { html, LitElement } from 'lit';
2
2
  import { property, state } from 'lit/decorators.js';
3
3
  import { unsafeSVG } from 'lit/directives/unsafe-svg.js';
4
4
 
5
- import { sanitizeSvg } from '@/__utils/sanitize-svg.js';
5
+ import { sanitizeSvg } from '@/__internal/utils/sanitize-svg.js';
6
6
  import { fetchSVG } from '../icon/datasource.js';
7
7
 
8
8
  import styles from './svg.scss';
9
+ import IndividualComponent from '@/IndividualComponent.js';
9
10
 
10
11
  /**
11
12
  * @label SVG
@@ -22,6 +23,7 @@ import styles from './svg.scss';
22
23
  * <wc-svg src="/icons/my-icon.svg" image-title="My icon"></wc-svg>
23
24
  * ```
24
25
  */
26
+ @IndividualComponent
25
27
  export class Svg extends LitElement {
26
28
  static styles = [styles];
27
29
 
@@ -34,15 +36,21 @@ export class Svg extends LitElement {
34
36
  /** Enable click-to-preview lightbox. */
35
37
  @property({ type: Boolean, reflect: true }) preview = false;
36
38
 
39
+ /** True once the element has entered the viewport and the SVG fetch has been initiated. */
37
40
  @state() private _loaded = false;
38
41
 
42
+ /** True when the lightbox preview overlay is visible. */
39
43
  @state() private _previewOpen = false;
40
44
 
45
+ /** Sanitized inline SVG markup ready for rendering. */
41
46
  @state() private _svgContent: string = '';
42
47
 
43
- // token to avoid stale fetch results
48
+ // ── Private fields ────────────────────────────────────────────────────────
49
+
50
+ /** Monotonically incrementing token used to discard stale fetch results. */
44
51
  private _fetchId = 0;
45
52
 
53
+ /** IntersectionObserver that triggers the SVG fetch when the element enters the viewport. */
46
54
  private _intersectionObserver: IntersectionObserver | null = null;
47
55
 
48
56
  disconnectedCallback() {
@@ -70,7 +78,7 @@ export class Svg extends LitElement {
70
78
  if (!wrapper) return;
71
79
 
72
80
  this._intersectionObserver = new IntersectionObserver(
73
- (entries) => {
81
+ entries => {
74
82
  if (entries[0].isIntersecting) {
75
83
  this._loaded = true;
76
84
  this._intersectionObserver?.disconnect();
@@ -106,7 +114,8 @@ export class Svg extends LitElement {
106
114
  this._previewOpen = true;
107
115
  // Move focus into the dialog after render
108
116
  this.updateComplete.then(() => {
109
- const closeBtn = this.shadowRoot?.querySelector<HTMLElement>('.preview-close');
117
+ const closeBtn =
118
+ this.shadowRoot?.querySelector<HTMLElement>('.preview-close');
110
119
  closeBtn?.focus();
111
120
  });
112
121
  }
@@ -118,7 +127,8 @@ export class Svg extends LitElement {
118
127
  this._previewOpen = false;
119
128
  if (wasOpen) {
120
129
  // Return focus to the trigger
121
- const trigger = this.shadowRoot?.querySelector<HTMLElement>('.svg-content');
130
+ const trigger =
131
+ this.shadowRoot?.querySelector<HTMLElement>('.svg-content');
122
132
  trigger?.focus();
123
133
  }
124
134
  }
@@ -142,16 +152,24 @@ export class Svg extends LitElement {
142
152
  class="preview-overlay ${this._previewOpen ? 'open' : ''}"
143
153
  role="dialog"
144
154
  aria-modal="true"
145
- aria-label=${this.imageTitle ? `Preview: ${this.imageTitle}` : 'SVG preview'}
155
+ aria-label=${this.imageTitle
156
+ ? `Preview: ${this.imageTitle}`
157
+ : 'SVG preview'}
146
158
  @click=${this._closePreview}
147
- @keydown=${(e: KeyboardEvent) => e.key === 'Escape' && this._closePreview(e)}
159
+ @keydown=${(e: KeyboardEvent) =>
160
+ e.key === 'Escape' && this._closePreview(e)}
148
161
  >
149
162
  <button
150
163
  class="preview-close"
151
164
  aria-label="Close preview"
152
165
  @click=${this._closePreview}
153
- >&#x2715;</button>
154
- <div class="preview-content" @click=${(e: Event) => e.stopPropagation()}>
166
+ >
167
+ &#x2715;
168
+ </button>
169
+ <div
170
+ class="preview-content"
171
+ @click=${(e: Event) => e.stopPropagation()}
172
+ >
155
173
  ${unsafeSVG(this._svgContent)}
156
174
  </div>
157
175
  </div>
@@ -2,7 +2,7 @@ import { html, nothing } from 'lit';
2
2
  import { property, query, state } from 'lit/decorators.js';
3
3
  import { classMap } from 'lit/directives/class-map.js';
4
4
 
5
- import { spread } from '@/__directive/spread.js';
5
+ import { spread } from '@/__internal/directive/spread.js';
6
6
 
7
7
  import styles from './switch.scss';
8
8
  import BaseInput from '../input/BaseInput.js';
@@ -3,9 +3,10 @@ import { property, state } from 'lit/decorators.js';
3
3
  import { classMap } from 'lit/directives/class-map.js';
4
4
  import { unsafeHTML } from 'lit/directives/unsafe-html.js';
5
5
 
6
- import { throttle } from '@/__utils/throttle.js';
6
+ import { throttle } from '@/__internal/utils/throttle.js';
7
7
 
8
8
  import styles from './table.scss';
9
+ import IndividualComponent from '@/IndividualComponent.js';
9
10
 
10
11
  const DEFAULT_CELL_WIDTH = 16; // in rem
11
12
 
@@ -36,6 +37,7 @@ export interface TableColumn {
36
37
  * ```
37
38
  * @tags display, data
38
39
  */
40
+ @IndividualComponent
39
41
  export class Table extends LitElement {
40
42
  static styles = [styles];
41
43
 
@@ -130,18 +132,25 @@ export class Table extends LitElement {
130
132
  @property({ type: String, attribute: 'empty-state-description' })
131
133
  emptyStateDescription: string = 'There are no items to display';
132
134
 
135
+ /** Tracks the currently hovered row and column for hover-highlight CSS. */
133
136
  @state()
134
137
  private hoveredCell: { row?: any; column?: any } = {};
135
138
 
139
+ /** True when all rows on the current page are selected. */
136
140
  @state()
137
141
  private isSelectAll: boolean = false;
138
142
 
143
+ /** True when some (but not all) rows on the current page are selected. */
139
144
  @state()
140
145
  private isSelectAllIntermediate: boolean = false;
141
146
 
147
+ /** True when the scroll container has been scrolled horizontally. */
142
148
  @state()
143
149
  private isHorizontallyScrolled: boolean = false;
144
150
 
151
+ // ── Private fields ────────────────────────────────────────────────────────
152
+
153
+ /** Throttled version of the cell-mouseover handler to avoid excessive state updates. */
145
154
  private onCellMouseOverThrottled = throttle((row: any, column: any) => {
146
155
  this.hoveredCell = { row, column };
147
156
  }, 30);
@@ -224,7 +233,9 @@ export class Table extends LitElement {
224
233
 
225
234
  private getSortIcon(col: TableColumn): string {
226
235
  if (this.sortBy === col.name) {
227
- return this.sortOrder === 'asc' ? 'keyboard_arrow_up' : 'keyboard_arrow_down';
236
+ return this.sortOrder === 'asc'
237
+ ? 'keyboard_arrow_up'
238
+ : 'keyboard_arrow_down';
228
239
  }
229
240
  return '';
230
241
  }
@@ -468,7 +479,9 @@ export class Table extends LitElement {
468
479
  <div class=${classMap(tableClasses)}>
469
480
  <div class="table-scroll-container" @scroll=${this.onScrollContainer}>
470
481
  ${this.renderHeader()}
471
- ${this.data && this.data.length ? this.renderBody() : this.renderEmptyState()}
482
+ ${this.data && this.data.length
483
+ ? this.renderBody()
484
+ : this.renderEmptyState()}
472
485
  </div>
473
486
  <div class="table-footer">${this.renderPagination()}</div>
474
487
  </div>
@@ -1,90 +1,90 @@
1
1
  <!doctype html>
2
- <html lang='en-GB'>
3
- <head>
4
- <meta charset='utf-8'>
5
- <meta name='viewport' content='width=device-width, initial-scale=1.0, viewport-fit=cover' />
6
- <link rel='stylesheet' href='/dist/assets/styles.css' />
7
- <style>
8
- body {
9
- background: #fafafa;
10
- padding: 2rem;
11
- display: grid;
12
- gap: 1rem;
13
- }
14
- </style>
15
- </head>
16
- <body>
2
+ <html lang="en-GB">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta
6
+ name="viewport"
7
+ content="width=device-width, initial-scale=1.0, viewport-fit=cover"
8
+ />
9
+ <link rel="stylesheet" href="/dist/assets/styles.css" />
10
+ <style>
11
+ body {
12
+ background: #fafafa;
13
+ padding: 2rem;
14
+ display: grid;
15
+ gap: 1rem;
16
+ }
17
+ </style>
18
+ </head>
19
+ <body>
20
+ <wc-tabs variant="primary">
21
+ <wc-tab icon="home">Home</wc-tab>
22
+ <wc-tab active="true" badge="3">Updates</wc-tab>
23
+ <wc-tab>
24
+ Inbox
25
+ <wc-icon slot="icon" name="mail"></wc-icon>
26
+ <wc-badge slot="badge" value="99+"></wc-badge>
27
+ </wc-tab>
28
+ <wc-tab disabled="true" icon="block" badge="!">Disabled</wc-tab>
29
+ </wc-tabs>
17
30
 
18
- <wc-tabs variant="primary">
19
- <wc-tab icon="home">Home</wc-tab>
20
- <wc-tab active="true" badge="3">Updates</wc-tab>
21
- <wc-tab>
22
- Inbox
23
- <wc-icon slot="icon" name="mail"></wc-icon>
24
- <wc-badge slot="badge" value="99+"></wc-badge>
25
- </wc-tab>
26
- <wc-tab disabled="true" icon="block" badge="!">Disabled</wc-tab>
27
- </wc-tabs>
31
+ <wc-tabs variant="secondary">
32
+ <wc-tab active="true">Overview</wc-tab>
33
+ <wc-tab>
34
+ Activity
35
+ <wc-icon slot="icon" name="timeline"></wc-icon>
36
+ </wc-tab>
37
+ <wc-tab>Settings</wc-tab>
38
+ </wc-tabs>
28
39
 
29
- <wc-tabs variant="secondary">
30
- <wc-tab active="true">Overview</wc-tab>
31
- <wc-tab>
32
- Activity
33
- <wc-icon slot="icon" name="timeline"></wc-icon>
34
- </wc-tab>
35
- <wc-tab>Settings</wc-tab>
36
- </wc-tabs>
40
+ <wc-tabs variant="filled">
41
+ <wc-tab active="true">Daily</wc-tab>
42
+ <wc-tab>Weekly</wc-tab>
43
+ <wc-tab>
44
+ Monthly
45
+ <wc-badge slot="badge" value="3"></wc-badge>
46
+ </wc-tab>
47
+ <wc-tab disabled="true">Archived</wc-tab>
48
+ </wc-tabs>
37
49
 
38
- <wc-tabs variant="filled">
39
- <wc-tab active="true">Daily</wc-tab>
40
- <wc-tab>Weekly</wc-tab>
41
- <wc-tab>
42
- Monthly
43
- <wc-badge slot="badge" value="3"></wc-badge>
44
- </wc-tab>
45
- <wc-tab disabled="true">Archived</wc-tab>
46
- </wc-tabs>
50
+ <wc-tabs variant="contained">
51
+ <wc-tab active="true">Summary</wc-tab>
52
+ <wc-tab>
53
+ Reports
54
+ <wc-icon slot="icon" name="bar_chart"></wc-icon>
55
+ </wc-tab>
56
+ <wc-tab>Exports</wc-tab>
57
+ </wc-tabs>
47
58
 
48
- <wc-tabs variant="contained">
49
- <wc-tab active="true">Summary</wc-tab>
50
- <wc-tab>
51
- Reports
52
- <wc-icon slot="icon" name="bar_chart"></wc-icon>
53
- </wc-tab>
54
- <wc-tab>Exports</wc-tab>
55
- </wc-tabs>
59
+ <wc-tab-group>
60
+ <wc-tabs>
61
+ <wc-tab icon="home">Home</wc-tab>
62
+ <wc-tab active="true" badge="3">Updates</wc-tab>
63
+ <wc-tab>
64
+ Inbox
65
+ <wc-icon slot="icon" name="mail"></wc-icon>
66
+ <wc-badge slot="badge" value="99+"></wc-badge>
67
+ </wc-tab>
68
+ <wc-tab disabled="true" icon="block" badge="!">Disabled</wc-tab>
69
+ </wc-tabs>
56
70
 
71
+ <wc-tab-panel>
72
+ <pc-text type="heading"> Home content </pc-text>
73
+ </wc-tab-panel>
57
74
 
58
- <wc-tab-group>
59
- <wc-tabs>
60
- <wc-tab icon="home">Home</wc-tab>
61
- <wc-tab active="true" badge="3">Updates</wc-tab>
62
- <wc-tab>
63
- Inbox
64
- <wc-icon slot="icon" name="mail"></wc-icon>
65
- <wc-badge slot="badge" value="99+"></wc-badge>
66
- </wc-tab>
67
- <wc-tab disabled="true" icon="block" badge="!">Disabled</wc-tab>
68
- </wc-tabs>
75
+ <wc-tab-panel>
76
+ <pc-text type="heading"> Updates content </pc-text>
77
+ </wc-tab-panel>
69
78
 
70
- <wc-tab-panel>
71
- <pc-text type="heading"> Home content </pc-text>
72
- </wc-tab-panel>
79
+ <wc-tab-panel>
80
+ <pc-text type="heading"> Inbox content </pc-text>
81
+ </wc-tab-panel>
73
82
 
74
- <wc-tab-panel>
75
- <pc-text type="heading"> Updates content </pc-text>
76
- </wc-tab-panel>
83
+ <wc-tab-panel>
84
+ <pc-text type="heading"> Disabled content </pc-text>
85
+ </wc-tab-panel>
86
+ </wc-tab-group>
77
87
 
78
- <wc-tab-panel>
79
- <pc-text type="heading"> Inbox content </pc-text>
80
- </wc-tab-panel>
81
-
82
- <wc-tab-panel>
83
- <pc-text type="heading"> Disabled content </pc-text>
84
- </wc-tab-panel>
85
- </wc-tab-group>
86
-
87
-
88
- <script type='module' src='/dist/peacock-loader.js'></script>
89
- </body>
88
+ <script type="module" src="/dist/loader.js"></script>
89
+ </body>
90
90
  </html>
@@ -3,6 +3,7 @@ import { property } from 'lit/decorators.js';
3
3
  import styles from './tab-group.scss';
4
4
  import { Tabs } from './tabs.js';
5
5
  import { TabPanel } from './tab-panel.js';
6
+ import IndividualComponent from '@/IndividualComponent.js';
6
7
 
7
8
  /**
8
9
  * @label Tab Group
@@ -28,6 +29,7 @@ import { TabPanel } from './tab-panel.js';
28
29
  * ```
29
30
  * @tags navigation
30
31
  */
32
+ @IndividualComponent
31
33
  export class TabGroup extends LitElement {
32
34
  static styles = [styles];
33
35
 
@@ -1,6 +1,7 @@
1
1
  import { html, LitElement } from 'lit';
2
2
  import { property } from 'lit/decorators.js';
3
3
  import styles from './tab-panel.scss';
4
+ import IndividualComponent from '@/IndividualComponent.js';
4
5
 
5
6
  /**
6
7
  * @label Tab Panel
@@ -17,6 +18,7 @@ import styles from './tab-panel.scss';
17
18
  * ```
18
19
  * @tags navigation
19
20
  */
21
+ @IndividualComponent
20
22
  export class TabPanel extends LitElement {
21
23
  static styles = [styles];
22
24
 
package/src/tabs/tab.scss CHANGED
@@ -198,7 +198,7 @@
198
198
  --_container-state-opacity: 0.08;
199
199
  }
200
200
 
201
- &.pressed:not(:where(.disabled)) {
201
+ &:active:not(:where(.disabled)) {
202
202
  --_container-state-opacity: 0.12;
203
203
  }
204
204
 
@@ -260,7 +260,7 @@
260
260
  --_container-state-opacity: 0.08;
261
261
  }
262
262
 
263
- &.pressed:not(:where(.disabled)) {
263
+ &:active:not(:where(.disabled)) {
264
264
  --_container-state-opacity: 0.12;
265
265
  }
266
266
 
@@ -341,7 +341,7 @@
341
341
  --_container-state-opacity: 0.08;
342
342
  }
343
343
 
344
- &.pressed:not(:where(.disabled)) {
344
+ &:active:not(:where(.disabled)) {
345
345
  --_container-state-opacity: 0.12;
346
346
  }
347
347
 
@@ -418,7 +418,7 @@
418
418
  --_container-state-opacity: 0.08;
419
419
  }
420
420
 
421
- &.pressed:not(:where(.disabled)) {
421
+ &:active:not(:where(.disabled)) {
422
422
  --_container-state-opacity: 0.12;
423
423
  }
424
424