@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,260 +0,0 @@
1
- import { a as i, _ as __decorate, i as i$1, b } from './IndividualComponent-DUINtMGK.js';
2
- import { n } from './property-1psGvXOq.js';
3
- import { r } from './state-DwbEjqVk.js';
4
- import { e } from './directive-ZPhl09Yt.js';
5
- import { e as e$1 } from './unsafe-html-BsGUjx94.js';
6
-
7
- /**
8
- * @license
9
- * Copyright 2017 Google LLC
10
- * SPDX-License-Identifier: BSD-3-Clause
11
- */class t extends e$1{}t.directiveName="unsafeSVG",t.resultType=2;const o=e(t);
12
-
13
- // Basic sanitization: remove <script>, <foreignObject>, event handler attributes (on*), and iframes
14
- function sanitizeSvg(rawSvg) {
15
- try {
16
- const parser = new DOMParser();
17
- const doc = parser.parseFromString(rawSvg, 'image/svg+xml');
18
- const scripts = Array.from(doc.querySelectorAll('script'));
19
- scripts.forEach(n => n.remove());
20
- const foreigns = Array.from(doc.querySelectorAll('foreignObject, iframe'));
21
- foreigns.forEach(n => n.remove());
22
- const all = Array.from(doc.querySelectorAll('*'));
23
- all.forEach(el => {
24
- const attrs = Array.from(el.attributes).filter(a => /^on/i.test(a.name));
25
- attrs.forEach(a => el.removeAttribute(a.name));
26
- });
27
- const el = doc.documentElement;
28
- if (!el)
29
- return '';
30
- const serializer = new XMLSerializer();
31
- return serializer.serializeToString(el);
32
- }
33
- catch (e) {
34
- return '';
35
- }
36
- }
37
-
38
- async function createCacheFetch(name) {
39
- let cache = null;
40
- // This map tracks requests currently being processed
41
- const inFlightRequests = new Map();
42
- try {
43
- cache = await window.caches.open(name);
44
- }
45
- catch (e) {
46
- console.warn('window.caches access not allowed');
47
- }
48
- return async (url) => {
49
- if (inFlightRequests.has(url)) {
50
- return inFlightRequests.get(url);
51
- }
52
- const fetchPromise = (async () => {
53
- const request = new Request(url);
54
- if (cache) {
55
- const cachedResponse = await cache.match(request);
56
- if (cachedResponse) {
57
- return cachedResponse.text();
58
- }
59
- }
60
- const urlObj = new URL(request.url);
61
- const isSameOrigin = urlObj.origin === window.location.origin;
62
- const response = await fetch(request.url, {
63
- method: 'GET',
64
- mode: isSameOrigin ? 'no-cors' : 'cors',
65
- credentials: isSameOrigin ? 'same-origin' : 'omit',
66
- });
67
- if (response.status === 404) {
68
- console.error(`[Fetch Error] Resource not found (404): ${url}`);
69
- return '';
70
- }
71
- const result = await response.text();
72
- if (cache && response.status === 200) {
73
- await cache.put(request, new Response(result, {
74
- status: response.status,
75
- statusText: response.statusText,
76
- headers: response.headers,
77
- }));
78
- }
79
- return result;
80
- })();
81
- inFlightRequests.set(url, fetchPromise);
82
- try {
83
- return await fetchPromise;
84
- }
85
- finally {
86
- inFlightRequests.delete(url);
87
- }
88
- };
89
- }
90
-
91
- const PROVIDERS = {
92
- 'material-symbols': (name) => `https://cdn.jsdelivr.net/npm/@material-symbols/svg-500@0.40.1/outlined/${name}.svg`,
93
- carbon: (name) => `https://cdn.jsdelivr.net/npm/@carbon/icons@11.41.0/svg/32/${name}.svg`,
94
- };
95
- const cacheFetch = await createCacheFetch('svg-cache');
96
- async function fetchSVG(url) {
97
- if (!url)
98
- return '';
99
- return cacheFetch(url);
100
- }
101
- async function fetchIcon(name, provider = 'material-symbols') {
102
- if (!name)
103
- return '';
104
- if (!PROVIDERS[provider]) {
105
- throw new Error(`Provider '${provider}' not found`);
106
- }
107
- return fetchSVG(PROVIDERS[provider](name));
108
- }
109
-
110
- var css_248z = i`* {
111
- box-sizing: border-box;
112
- }
113
-
114
- .screen-reader-only {
115
- display: none !important;
116
- }
117
-
118
- :host {
119
- display: inline-flex;
120
- vertical-align: middle;
121
- --icon-size: inherit;
122
- --icon-color: inherit;
123
- }
124
-
125
- .icon {
126
- height: var(--icon-size, 1rem);
127
- width: var(--icon-size, 1rem);
128
- display: inline-flex;
129
- align-items: center;
130
- justify-content: center;
131
- }
132
- .icon svg {
133
- fill: var(--icon-color);
134
- height: 100%;
135
- width: 100%;
136
- }`;
137
-
138
- /**
139
- * @label Icon
140
- * @tag wc-icon
141
- * @rawTag icon
142
- * @summary Icons are visual symbols used to represent ideas, objects, or actions.
143
- * @overview Icons are visual symbols used to represent ideas, objects, or actions. They communicate messages at a glance, afford interactivity, and draw attention to important information.
144
- *
145
- * @cssprop --icon-color - Controls the color of the icon.
146
- * @cssprop [--icon-size=1rem] - Controls the size of the icon. Defaults to "1rem"
147
- *
148
- * @example
149
- * ```html
150
- * <wc-icon name="home" style="--icon-size: 2rem;"></wc-icon>
151
- * ```
152
- *
153
- */
154
- class Icon extends i$1 {
155
- constructor() {
156
- super(...arguments);
157
- this.provider = 'material-symbols';
158
- this.svgContent = '';
159
- // loading + error states for consumers/tests
160
- this.loading = false;
161
- this.error = null;
162
- // token to avoid race conditions when multiple fetches overlap
163
- this._fetchId = 0;
164
- }
165
- firstUpdated() {
166
- // perform initial fetch once component is connected and rendered
167
- this.__scheduleUpdate();
168
- }
169
- updated(changedProperties) {
170
- // only refetch when name or src changed
171
- if (changedProperties.has('name') || changedProperties.has('src')) {
172
- this.__scheduleUpdate();
173
- }
174
- }
175
- render() {
176
- // accessible wrapper; consumers can provide a fallback via <slot name="fallback">.
177
- return b ` <div class="icon">
178
- ${this.svgContent
179
- ? o(this.svgContent)
180
- : b `<slot name="fallback"></slot>`}
181
- </div>`;
182
- }
183
- // small debounce to coalesce rapid changes (50ms)
184
- __scheduleUpdate() {
185
- if (this._debounceTimer) {
186
- clearTimeout(this._debounceTimer);
187
- }
188
- // @ts-ignore - setTimeout in DOM returns number
189
- this._debounceTimer = window.setTimeout(() => this.__updateSvg(), 50);
190
- }
191
- /**
192
- * @internal
193
- */
194
- async __updateSvg() {
195
- this._fetchId += 1;
196
- const currentId = this._fetchId;
197
- this.loading = true;
198
- this.error = null;
199
- try {
200
- let raw;
201
- if (this.name) {
202
- raw = await fetchIcon(this.name, this.provider);
203
- }
204
- else if (this.src) {
205
- raw = await fetchSVG(this.src);
206
- }
207
- else {
208
- raw = '';
209
- }
210
- // If another fetch started after this one, ignore this result
211
- if (currentId !== this._fetchId)
212
- return;
213
- if (raw) {
214
- this.svgContent = sanitizeSvg(raw);
215
- }
216
- else {
217
- this.svgContent = '';
218
- }
219
- }
220
- catch (err) {
221
- // capture and surface error, but avoid throwing
222
- this.error = err instanceof Error ? err : new Error(String(err));
223
- this.svgContent = '';
224
- // bubble an event so consumers can react
225
- this.dispatchEvent(new CustomEvent('icon-error', {
226
- detail: { name: this.name, src: this.src, error: this.error },
227
- bubbles: true,
228
- composed: true,
229
- }));
230
- }
231
- finally {
232
- // ensure loading is cleared unless another fetch started
233
- if (currentId === this._fetchId) {
234
- this.loading = false;
235
- }
236
- }
237
- }
238
- }
239
- Icon.styles = [css_248z];
240
- __decorate([
241
- n({ type: String, reflect: true })
242
- ], Icon.prototype, "name", void 0);
243
- __decorate([
244
- n({ type: String, reflect: true })
245
- ], Icon.prototype, "src", void 0);
246
- __decorate([
247
- n({ type: String })
248
- ], Icon.prototype, "provider", void 0);
249
- __decorate([
250
- r()
251
- ], Icon.prototype, "svgContent", void 0);
252
- __decorate([
253
- r() // @ts-ignore
254
- ], Icon.prototype, "loading", void 0);
255
- __decorate([
256
- r()
257
- ], Icon.prototype, "error", void 0);
258
-
259
- export { Icon as I, fetchSVG as f, o, sanitizeSvg as s };
260
- //# sourceMappingURL=icon-CueRR7wx.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon-CueRR7wx.js","sources":["../node_modules/lit-html/directives/unsafe-svg.js","../../src/__utils/sanitize-svg.ts","../../src/__utils/cache-fetch.ts","../../src/icon/datasource.ts","../../src/icon/icon.ts"],"sourcesContent":["import{directive as s}from\"../directive.js\";import{UnsafeHTMLDirective as e}from\"./unsafe-html.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class t extends e{}t.directiveName=\"unsafeSVG\",t.resultType=2;const o=s(t);export{o as unsafeSVG};\n//# sourceMappingURL=unsafe-svg.js.map\n","// Basic sanitization: remove <script>, <foreignObject>, event handler attributes (on*), and iframes\nexport function sanitizeSvg(rawSvg: string) {\n try {\n const parser = new DOMParser();\n const doc = parser.parseFromString(rawSvg, 'image/svg+xml');\n\n const scripts = Array.from(doc.querySelectorAll('script'));\n scripts.forEach(n => n.remove());\n\n const foreigns = Array.from(doc.querySelectorAll('foreignObject, iframe'));\n foreigns.forEach(n => n.remove());\n\n const all = Array.from(doc.querySelectorAll('*'));\n all.forEach(el => {\n const attrs = Array.from(el.attributes).filter(a => /^on/i.test(a.name));\n attrs.forEach(a => el.removeAttribute(a.name));\n });\n\n const el = doc.documentElement;\n if (!el) return '';\n\n const serializer = new XMLSerializer();\n return serializer.serializeToString(el);\n } catch (e) {\n return '';\n }\n}","export async function createCacheFetch(name: string) {\n let cache: Cache | null = null;\n // This map tracks requests currently being processed\n const inFlightRequests = new Map<string, Promise<string>>();\n\n try {\n cache = await window.caches.open(name);\n } catch (e) {\n console.warn('window.caches access not allowed');\n }\n\n return async (url: string): Promise<string> => {\n if (inFlightRequests.has(url)) {\n return inFlightRequests.get(url)!;\n }\n\n const fetchPromise = (async () => {\n const request = new Request(url);\n\n if (cache) {\n const cachedResponse = await cache.match(request);\n if (cachedResponse) {\n return cachedResponse.text();\n }\n }\n\n const urlObj = new URL(request.url);\n const isSameOrigin = urlObj.origin === window.location.origin;\n\n const response = await fetch(request.url, {\n method: 'GET',\n mode: isSameOrigin ? 'no-cors' : 'cors',\n credentials: isSameOrigin ? 'same-origin' : 'omit',\n });\n\n if (response.status === 404) {\n console.error(`[Fetch Error] Resource not found (404): ${url}`);\n return '';\n }\n\n const result = await response.text();\n\n if (cache && response.status === 200) {\n await cache.put(\n request,\n new Response(result, {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n }),\n );\n }\n\n return result;\n })();\n\n inFlightRequests.set(url, fetchPromise);\n\n try {\n return await fetchPromise;\n } finally {\n inFlightRequests.delete(url);\n }\n };\n}","import { createCacheFetch } from '@/__utils/cache-fetch.js';\n\nconst PROVIDERS: Record<string, (name: string) => string> = {\n 'material-symbols': (name: string) =>\n `https://cdn.jsdelivr.net/npm/@material-symbols/svg-500@0.40.1/outlined/${name}.svg`,\n carbon: (name: string) =>\n `https://cdn.jsdelivr.net/npm/@carbon/icons@11.41.0/svg/32/${name}.svg`,\n};\n\nconst cacheFetch = await createCacheFetch('svg-cache');\n\nexport async function fetchSVG(url: string) {\n if (!url) return '';\n return cacheFetch(url);\n}\n\nexport async function fetchIcon(\n name: string,\n provider: string = 'material-symbols',\n) {\n if (!name) return '';\n\n if (!PROVIDERS[provider]) {\n throw new Error(`Provider '${provider}' not found`);\n }\n\n return fetchSVG(PROVIDERS[provider](name));\n}\n","import { html, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\n\nimport { sanitizeSvg } from '@/__utils/sanitize-svg.js';\n\nimport { fetchIcon, fetchSVG } from './datasource.js';\nimport styles from './icon.scss';\n\nexport type IconProvider = 'material-symbols' | 'material-icons';\n/**\n * @label Icon\n * @tag wc-icon\n * @rawTag icon\n * @summary Icons are visual symbols used to represent ideas, objects, or actions.\n * @overview Icons are visual symbols used to represent ideas, objects, or actions. They communicate messages at a glance, afford interactivity, and draw attention to important information.\n *\n * @cssprop --icon-color - Controls the color of the icon.\n * @cssprop [--icon-size=1rem] - Controls the size of the icon. Defaults to \"1rem\"\n *\n * @example\n * ```html\n * <wc-icon name=\"home\" style=\"--icon-size: 2rem;\"></wc-icon>\n * ```\n *\n */\nexport class Icon extends LitElement {\n static styles = [styles];\n\n /**\n * The identifier for the icon.\n * This name corresponds to a specific SVG asset in the icon set.\n */\n @property({ type: String, reflect: true }) name?: string;\n\n @property({ type: String, reflect: true }) src?: string;\n\n @property({ type: String }) provider: IconProvider = 'material-symbols';\n\n @state()\n private svgContent: string = '';\n\n // loading + error states for consumers/tests\n @state() // @ts-ignore\n private loading: boolean = false;\n\n @state()\n private error: Error | null = null;\n\n // token to avoid race conditions when multiple fetches overlap\n private _fetchId = 0;\n\n // optional debounce for rapid property changes\n private _debounceTimer: number | undefined;\n\n firstUpdated() {\n // perform initial fetch once component is connected and rendered\n this.__scheduleUpdate();\n }\n\n updated(changedProperties: any) {\n // only refetch when name or src changed\n if (changedProperties.has('name') || changedProperties.has('src')) {\n this.__scheduleUpdate();\n }\n }\n\n render() {\n // accessible wrapper; consumers can provide a fallback via <slot name=\"fallback\">.\n return html` <div class=\"icon\">\n ${this.svgContent\n ? unsafeSVG(this.svgContent)\n : html`<slot name=\"fallback\"></slot>`}\n </div>`;\n }\n\n // small debounce to coalesce rapid changes (50ms)\n private __scheduleUpdate() {\n if (this._debounceTimer) {\n clearTimeout(this._debounceTimer as any);\n }\n // @ts-ignore - setTimeout in DOM returns number\n this._debounceTimer = window.setTimeout(() => this.__updateSvg(), 50);\n }\n\n /**\n * @internal\n */\n private async __updateSvg() {\n this._fetchId += 1;\n const currentId = this._fetchId;\n this.loading = true;\n this.error = null;\n\n try {\n let raw: string | undefined;\n\n if (this.name) {\n raw = await fetchIcon(this.name, this.provider);\n } else if (this.src) {\n raw = await fetchSVG(this.src);\n } else {\n raw = '';\n }\n\n // If another fetch started after this one, ignore this result\n if (currentId !== this._fetchId) return;\n\n if (raw) {\n this.svgContent = sanitizeSvg(raw);\n } else {\n this.svgContent = '';\n }\n } catch (err: any) {\n // capture and surface error, but avoid throwing\n this.error = err instanceof Error ? err : new Error(String(err));\n this.svgContent = '';\n // bubble an event so consumers can react\n this.dispatchEvent(\n new CustomEvent('icon-error', {\n detail: { name: this.name, src: this.src, error: this.error },\n bubbles: true,\n composed: true,\n }),\n );\n } finally {\n // ensure loading is cleared unless another fetch started\n if (currentId === this._fetchId) {\n this.loading = false;\n }\n }\n }\n}\n"],"names":["e","s","LitElement","html","unsafeSVG","styles","property","state"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,318 +0,0 @@
1
- import { a as i, i as i$1, b, A, _ as __decorate } from './IndividualComponent-DUINtMGK.js';
2
- import { n as n$1 } from './property-1psGvXOq.js';
3
- import { e as e$1 } from './query-QBcUV-L_.js';
4
- import { e } from './class-map-YU7g0o3B.js';
5
- import { N as NativeButtonMixin, D as DISABLED_REASON_ID, o, s as spread } from './ButtonConstants-D06bY4uy.js';
6
- import { n, c as css_248z$1, a as css_248z$2, b as css_248z$3 } from './button-colors-D7sJyPy8.js';
7
- import { N as NativeHyperlinkMixin, t as throttle, i as isLink } from './NativeHyperlinkMixin-DrYXyfMQ.js';
8
- import { i as isActivationClick, d as dispatchActivationClick } from './dispatch-event-utils-CuEqjlPT.js';
9
-
10
- var css_248z = i`.button .icon-slot {
11
- overflow: initial;
12
- }
13
-
14
- .button {
15
- width: var(--button-height);
16
- --private-button-container-padding: 0.75rem;
17
- --private-button-container-padding: 0;
18
- }
19
-
20
- :host([size=xs]),
21
- :host([size=extra-small]) {
22
- --button-height: 2rem;
23
- --private-button-icon-size: 1rem;
24
- }
25
-
26
- :host([size=sm]),
27
- :host([size=small]) {
28
- --button-height: 2.5rem;
29
- --private-button-icon-size: 1.25rem;
30
- }
31
-
32
- :host([size=md]),
33
- :host([size=medium]) {
34
- --button-height: 3.5rem;
35
- --private-button-icon-size: 1.5rem;
36
- }
37
-
38
- :host([size=lg]),
39
- :host([size=large]) {
40
- --button-height: 6rem;
41
- --private-button-icon-size: 2rem;
42
- }
43
-
44
- :host([size=xl]) {
45
- --button-height: 8.5rem;
46
- --private-button-icon-size: 2.5rem;
47
- }`;
48
-
49
- /**
50
- * @label Icon Button
51
- * @tag wc-icon-button
52
- * @rawTag icon-button
53
- *
54
- * @summary Icon buttons allow users to take actions, and make choices, with a single tap.
55
- *
56
- * @overview
57
- * <p>Icon buttons are clickable elements that are used to trigger actions. They communicate calls to action to the user and allow users to interact with pages in a variety of ways. IconButton labels express what action will occur when the user interacts with it.</p>
58
- *
59
- * @cssprop --button-container-shape: Defines the border radius of the button container shape.
60
- *
61
- * @cssprop --button-container-shape-start-start: Defines the start position of the button container shape.
62
- * @cssprop --button-container-shape-start-end: Defines the end position of the button container shape.
63
- * @cssprop --button-container-shape-end-start: Defines the start position of the button container shape.
64
- * @cssprop --button-container-shape-end-end: Defines the end position of the button container shape.
65
- *
66
- *
67
- * @cssprop --filled-button-container-color: Color of the filled button container.
68
- * @cssprop --filled-button-label-text-color: Text color of the filled button label.
69
- *
70
- * @cssprop --outlined-button-container-color: Color of the outlined button container.
71
- * @cssprop --outlined-button-label-text-color: Text color of the outlined button label.
72
- *
73
- * @cssprop --text-button-label-text-color: Text color of the text button label.
74
- *
75
- * @cssprop --tonal-button-container-color: Color of the tonal button container.
76
- * @cssprop --tonal-button-label-text-color: Text color of the tonal button label.
77
- *
78
- * @cssprop --elevated-button-container-color: Color of the elevated button container.
79
- * @cssprop --elevated-button-label-text-color: Text color of the elevated button label.
80
- *
81
- * @cssprop --neo-button-container-color: Color of the neo button container.
82
- * @cssprop --neo-button-label-text-color: Text color of the neo button label.
83
- *
84
- * @fires {CustomEvent} button:click - Dispatched when the button is clicked.
85
- *
86
- * @example
87
- * ```html
88
- * <wc-icon-button><wc-icon name="home"></wc-icon></wc-icon-button>
89
- * ```
90
- * @tags display
91
- */
92
- class IconButton extends NativeButtonMixin(NativeHyperlinkMixin(i$1)) {
93
- constructor() {
94
- super(...arguments);
95
- /**
96
- * Button size.
97
- * Possible values are `"xs"`, `"sm"`, `"md"`, `"lg"`, `"xl"`. Defaults to `"sm"`.
98
- */
99
- this.size = 'sm';
100
- /**
101
- * The visual style of the button.
102
- *
103
- * Possible variant values:
104
- * `"filled"` is a filled button.
105
- * `"outlined"` is an outlined button.
106
- * `"text"` is a transparent button.
107
- * `"tonal"` is a light color button.
108
- * `"elevated"` is elevated button
109
- */
110
- this.variant = 'filled';
111
- /**
112
- * Defines the primary color of the button. This can be set to predefined color names to apply specific color themes.
113
- */
114
- this.color = 'primary';
115
- this.skeleton = false;
116
- this.toggle = false;
117
- this.selected = false;
118
- /**
119
- * Sets the delay for throttle in milliseconds. Defaults to 200 milliseconds.
120
- */
121
- this.throttleDelay = 200;
122
- this.pressed = false;
123
- this.__handlePress = (event) => {
124
- if (this.disabled || this.skeleton || this.softDisabled)
125
- return;
126
- this.pressed =
127
- (event instanceof KeyboardEvent &&
128
- event.type === 'keydown' &&
129
- (event.key === 'Enter' || event.key === ' ')) ||
130
- event.type === 'mousedown';
131
- };
132
- this.__dispatchClickWithThrottle = event => {
133
- this.__dispatchClick(event);
134
- };
135
- this.__dispatchClick = (event) => {
136
- // If the button is soft-disabled or a disabled link, we need to explicitly
137
- // prevent the click from propagating to other event listeners as well as
138
- // prevent the default action.
139
- if (this.softDisabled || (this.disabled && this.href) || this.skeleton) {
140
- event.stopImmediatePropagation();
141
- event.preventDefault();
142
- return;
143
- }
144
- if (!isActivationClick(event) || !this.buttonElement) {
145
- return;
146
- }
147
- if (this.toggle) {
148
- this.selected = !this.selected;
149
- }
150
- this.focus();
151
- dispatchActivationClick(this.buttonElement);
152
- };
153
- }
154
- connectedCallback() {
155
- super.connectedCallback();
156
- this.addEventListener('click', this.__dispatchClickWithThrottle);
157
- window.addEventListener('mouseup', this.__handlePress);
158
- }
159
- disconnectedCallback() {
160
- window.removeEventListener('mouseup', this.__handlePress);
161
- this.removeEventListener('click', this.__dispatchClickWithThrottle);
162
- super.disconnectedCallback();
163
- }
164
- __renderDisabledReason(softDisabled) {
165
- if (softDisabled)
166
- return b `<div
167
- id=${DISABLED_REASON_ID}
168
- role="tooltip"
169
- aria-label=${this.disabledReason}
170
- class="screen-reader-only"
171
- >
172
- ${this.disabledReason}
173
- </div>`;
174
- return A;
175
- }
176
- __renderTooltip() {
177
- if (this.tooltip) {
178
- return b `<wc-tooltip class="tooltip" for="button">${this.tooltip}</wc-tooltip>`;
179
- }
180
- return A;
181
- }
182
- focus() {
183
- this.buttonElement?.focus();
184
- }
185
- blur() {
186
- this.buttonElement?.blur();
187
- }
188
- firstUpdated() {
189
- this.__dispatchClickWithThrottle = throttle(this.__dispatchClick, this.throttleDelay);
190
- this.__convertTypeToVariantAndColor();
191
- }
192
- __convertTypeToVariantAndColor() {
193
- if (this.type === 'primary') {
194
- this.color = 'primary';
195
- this.variant = 'filled';
196
- }
197
- else if (this.type === 'secondary') {
198
- this.color = 'surface';
199
- this.variant = 'filled';
200
- }
201
- else if (this.type === 'tertiary') {
202
- this.color = 'primary';
203
- this.variant = 'text';
204
- }
205
- else if (this.type === 'danger') {
206
- this.color = 'danger';
207
- this.variant = 'filled';
208
- }
209
- }
210
- render() {
211
- return b `
212
- <wc-focus-ring class="focus-ring" for="button"></wc-focus-ring>
213
- <wc-elevation class="elevation"></wc-elevation>
214
- ${n(this.variant === 'neo', () => b `<div class="neo-background"></div>`)}
215
- <div class="background"></div>
216
- ${n(this.variant === 'outlined' || this.variant === 'neo', () => b `<div class="outline"></div>`)}
217
- <wc-ripple class="ripple" for="button"></wc-ripple>
218
- <wc-skeleton class="skeleton"></wc-skeleton>
219
-
220
- ${this.renderButtonElement()} ${this.__renderTooltip()}
221
- `;
222
- }
223
- renderButtonElement() {
224
- const cssClasses = {
225
- button: true,
226
- 'button-element': true,
227
- [`size-${this.size}`]: true,
228
- [`variant-${this.variant}`]: true,
229
- [`color-${this.color}`]: true,
230
- disabled: this.disabled || this.softDisabled,
231
- pressed: this.pressed,
232
- skeleton: this.skeleton,
233
- };
234
- if (!isLink(this)) {
235
- cssClasses['native-button'] = true;
236
- return b `<button
237
- class=${e(cssClasses)}
238
- id="button"
239
- type=${this.htmlType}
240
- @click=${this.__dispatchClickWithThrottle}
241
- @mousedown=${this.__handlePress}
242
- @keydown=${this.__handlePress}
243
- @keyup=${this.__handlePress}
244
- aria-describedby=${o(this.softDisabled ? DISABLED_REASON_ID : undefined)}
245
- ?aria-disabled=${this.softDisabled}
246
- ?disabled=${this.disabled}
247
- ${spread(this.configAria)}
248
- >
249
- ${this.renderButtonContent()}
250
- </button>`;
251
- }
252
- cssClasses['native-link'] = true;
253
- return b `<a
254
- class=${e(cssClasses)}
255
- id="button"
256
- href=${this.href}
257
- target=${this.target}
258
- tabindex=${this.disabled ? '-1' : '0'}
259
- @click=${this.__dispatchClick}
260
- @mousedown=${this.__handlePress}
261
- @keydown=${this.__handlePress}
262
- @keyup=${this.__handlePress}
263
- role="button"
264
- aria-describedby=${o(this.softDisabled ? DISABLED_REASON_ID : undefined)}
265
- ?aria-disabled=${this.softDisabled}
266
- ${spread(this.configAria)}
267
- >
268
- ${this.renderButtonContent()}
269
- </a>`;
270
- }
271
- renderButtonContent() {
272
- return b `
273
- <slot class="icon-slot"></slot>
274
- <div class="touch"></div>
275
- ${this.__renderDisabledReason(this.softDisabled)}
276
- `;
277
- }
278
- }
279
- IconButton.styles = [css_248z$1, css_248z$2, css_248z$3, css_248z];
280
- __decorate([
281
- n$1({ reflect: true })
282
- ], IconButton.prototype, "size", void 0);
283
- __decorate([
284
- n$1({ type: String })
285
- ], IconButton.prototype, "type", void 0);
286
- __decorate([
287
- n$1({ reflect: true })
288
- ], IconButton.prototype, "variant", void 0);
289
- __decorate([
290
- n$1({ reflect: true })
291
- ], IconButton.prototype, "color", void 0);
292
- __decorate([
293
- n$1({ reflect: true })
294
- ], IconButton.prototype, "configAria", void 0);
295
- __decorate([
296
- n$1({ type: Boolean, reflect: true })
297
- ], IconButton.prototype, "skeleton", void 0);
298
- __decorate([
299
- n$1({ type: Boolean, reflect: true })
300
- ], IconButton.prototype, "toggle", void 0);
301
- __decorate([
302
- n$1({ type: Boolean, reflect: true })
303
- ], IconButton.prototype, "selected", void 0);
304
- __decorate([
305
- n$1()
306
- ], IconButton.prototype, "throttleDelay", void 0);
307
- __decorate([
308
- n$1()
309
- ], IconButton.prototype, "tooltip", void 0);
310
- __decorate([
311
- n$1({ type: Boolean, reflect: true })
312
- ], IconButton.prototype, "pressed", void 0);
313
- __decorate([
314
- e$1('.button')
315
- ], IconButton.prototype, "buttonElement", void 0);
316
-
317
- export { IconButton as I };
318
- //# sourceMappingURL=icon-button-CAzYr_qr.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon-button-CAzYr_qr.js","sources":["../../src/button/icon-button/icon-button.ts"],"sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { when } from 'lit/directives/when.js';\nimport buttonLayers from '../button/button-layers.scss';\nimport styles from '../button/button.scss';\nimport colorStyles from '../button/button-colors.scss';\nimport sizeStyles from './icon-button-sizes.scss';\nimport { spread } from '@/__directive/spread.js';\nimport { throttle } from '@/__utils/throttle.js';\nimport { isLink } from '@/__utils/is-link.js';\nimport { observerSlotChangesWithCallback } from '@/__utils/observe-slot-change.js';\nimport {\n dispatchActivationClick,\n isActivationClick,\n} from '@/__utils/dispatch-event-utils.js';\nimport NativeButtonMixin from '@/__mixins/NativeButtonMixin.js';\nimport NativeHyperlinkMixin from '@/__mixins/NativeHyperlinkMixin.js';\nimport { GroupButtonInterface } from '@/button/GroupButtonInterface.js';\nimport { DISABLED_REASON_ID } from '@/button/ButtonConstants.js';\n\n/**\n * @label Icon Button\n * @tag wc-icon-button\n * @rawTag icon-button\n *\n * @summary Icon buttons allow users to take actions, and make choices, with a single tap.\n *\n * @overview\n * <p>Icon buttons are clickable elements that are used to trigger actions. They communicate calls to action to the user and allow users to interact with pages in a variety of ways. IconButton labels express what action will occur when the user interacts with it.</p>\n *\n * @cssprop --button-container-shape: Defines the border radius of the button container shape.\n *\n * @cssprop --button-container-shape-start-start: Defines the start position of the button container shape.\n * @cssprop --button-container-shape-start-end: Defines the end position of the button container shape.\n * @cssprop --button-container-shape-end-start: Defines the start position of the button container shape.\n * @cssprop --button-container-shape-end-end: Defines the end position of the button container shape.\n *\n *\n * @cssprop --filled-button-container-color: Color of the filled button container.\n * @cssprop --filled-button-label-text-color: Text color of the filled button label.\n *\n * @cssprop --outlined-button-container-color: Color of the outlined button container.\n * @cssprop --outlined-button-label-text-color: Text color of the outlined button label.\n *\n * @cssprop --text-button-label-text-color: Text color of the text button label.\n *\n * @cssprop --tonal-button-container-color: Color of the tonal button container.\n * @cssprop --tonal-button-label-text-color: Text color of the tonal button label.\n *\n * @cssprop --elevated-button-container-color: Color of the elevated button container.\n * @cssprop --elevated-button-label-text-color: Text color of the elevated button label.\n *\n * @cssprop --neo-button-container-color: Color of the neo button container.\n * @cssprop --neo-button-label-text-color: Text color of the neo button label.\n *\n * @fires {CustomEvent} button:click - Dispatched when the button is clicked.\n *\n * @example\n * ```html\n * <wc-icon-button><wc-icon name=\"home\"></wc-icon></wc-icon-button>\n * ```\n * @tags display\n */\nexport class IconButton\n extends NativeButtonMixin(NativeHyperlinkMixin(LitElement))\n implements GroupButtonInterface\n{\n static override styles = [buttonLayers, styles, colorStyles, sizeStyles];\n\n /**\n * Button size.\n * Possible values are `\"xs\"`, `\"sm\"`, `\"md\"`, `\"lg\"`, `\"xl\"`. Defaults to `\"sm\"`.\n */\n @property({ reflect: true }) size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' = 'sm';\n\n /**\n * Type is preset of color and variant. Type will be only applied.\n *\n */\n @property({ type: String }) type?: 'primary' | 'secondary' | 'tertiary';\n\n /**\n * The visual style of the button.\n *\n * Possible variant values:\n * `\"filled\"` is a filled button.\n * `\"outlined\"` is an outlined button.\n * `\"text\"` is a transparent button.\n * `\"tonal\"` is a light color button.\n * `\"elevated\"` is elevated button\n */\n @property({ reflect: true }) variant:\n | 'elevated'\n | 'filled'\n | 'tonal'\n | 'outlined'\n | 'text'\n | 'neo' = 'filled';\n\n /**\n * Defines the primary color of the button. This can be set to predefined color names to apply specific color themes.\n */\n @property({ reflect: true }) color:\n | 'primary'\n | 'success'\n | 'danger'\n | 'warning'\n | 'surface'\n | 'on-surface' = 'primary';\n\n /**\n * Additional ARIA attributes to pass to the inner button/anchor element.\n */\n @property({ reflect: true })\n configAria?: { [key: string]: any };\n\n @property({ type: Boolean, reflect: true }) skeleton: boolean = false;\n\n @property({ type: Boolean, reflect: true }) toggle: boolean = false;\n\n @property({ type: Boolean, reflect: true }) selected: boolean = false;\n\n /**\n * Sets the delay for throttle in milliseconds. Defaults to 200 milliseconds.\n */\n @property() throttleDelay = 200;\n\n @property() tooltip?: string;\n\n @property({ type: Boolean, reflect: true })\n pressed = false;\n\n @query('.button') readonly buttonElement!: HTMLElement | null;\n\n override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('click', this.__dispatchClickWithThrottle);\n window.addEventListener('mouseup', this.__handlePress);\n }\n\n override disconnectedCallback() {\n window.removeEventListener('mouseup', this.__handlePress);\n this.removeEventListener('click', this.__dispatchClickWithThrottle);\n super.disconnectedCallback();\n }\n\n __handlePress = (event: KeyboardEvent | MouseEvent) => {\n if (this.disabled || this.skeleton || this.softDisabled) return;\n this.pressed =\n (event instanceof KeyboardEvent &&\n event.type === 'keydown' &&\n (event.key === 'Enter' || event.key === ' ')) ||\n event.type === 'mousedown';\n };\n\n __dispatchClickWithThrottle: (event: MouseEvent | KeyboardEvent) => void =\n event => {\n this.__dispatchClick(event);\n };\n\n __dispatchClick = (event: MouseEvent | KeyboardEvent) => {\n // If the button is soft-disabled or a disabled link, we need to explicitly\n // prevent the click from propagating to other event listeners as well as\n // prevent the default action.\n if (this.softDisabled || (this.disabled && this.href) || this.skeleton) {\n event.stopImmediatePropagation();\n event.preventDefault();\n return;\n }\n\n if (!isActivationClick(event) || !this.buttonElement) {\n return;\n }\n\n if (this.toggle) {\n this.selected = !this.selected;\n }\n\n this.focus();\n dispatchActivationClick(this.buttonElement);\n };\n\n __renderDisabledReason(softDisabled: boolean) {\n if (softDisabled)\n return html`<div\n id=${DISABLED_REASON_ID}\n role=\"tooltip\"\n aria-label=${this.disabledReason}\n class=\"screen-reader-only\"\n >\n ${this.disabledReason}\n </div>`;\n return nothing;\n }\n\n __renderTooltip() {\n if (this.tooltip) {\n return html`<wc-tooltip class=\"tooltip\" for=\"button\">${this.tooltip}</wc-tooltip>`;\n }\n return nothing;\n }\n\n override focus() {\n this.buttonElement?.focus();\n }\n\n override blur() {\n this.buttonElement?.blur();\n }\n\n override firstUpdated() {\n this.__dispatchClickWithThrottle = throttle(\n this.__dispatchClick,\n this.throttleDelay,\n );\n this.__convertTypeToVariantAndColor();\n }\n\n __convertTypeToVariantAndColor() {\n if (this.type === 'primary') {\n this.color = 'primary';\n this.variant = 'filled';\n } else if (this.type === 'secondary') {\n this.color = 'surface';\n this.variant = 'filled';\n } else if (this.type === 'tertiary') {\n this.color = 'primary';\n this.variant = 'text';\n } else if (this.type === 'danger') {\n this.color = 'danger';\n this.variant = 'filled';\n }\n }\n\n override render() {\n return html`\n <wc-focus-ring class=\"focus-ring\" for=\"button\"></wc-focus-ring>\n <wc-elevation class=\"elevation\"></wc-elevation>\n ${when(\n this.variant === 'neo',\n () => html`<div class=\"neo-background\"></div>`,\n )}\n <div class=\"background\"></div>\n ${when(\n this.variant === 'outlined' || this.variant === 'neo',\n () => html`<div class=\"outline\"></div>`,\n )}\n <wc-ripple class=\"ripple\" for=\"button\"></wc-ripple>\n <wc-skeleton class=\"skeleton\"></wc-skeleton>\n\n ${this.renderButtonElement()} ${this.__renderTooltip()}\n `;\n }\n\n renderButtonElement() {\n const cssClasses = {\n button: true,\n 'button-element': true,\n [`size-${this.size}`]: true,\n [`variant-${this.variant}`]: true,\n [`color-${this.color}`]: true,\n disabled: this.disabled || this.softDisabled,\n pressed: this.pressed,\n skeleton: this.skeleton,\n };\n\n if (!isLink(this)) {\n cssClasses['native-button'] = true;\n return html`<button\n class=${classMap(cssClasses)}\n id=\"button\"\n type=${this.htmlType}\n @click=${this.__dispatchClickWithThrottle}\n @mousedown=${this.__handlePress}\n @keydown=${this.__handlePress}\n @keyup=${this.__handlePress}\n aria-describedby=${ifDefined(\n this.softDisabled ? DISABLED_REASON_ID : undefined,\n )}\n ?aria-disabled=${this.softDisabled}\n ?disabled=${this.disabled}\n ${spread(this.configAria)}\n >\n ${this.renderButtonContent()}\n </button>`;\n }\n cssClasses['native-link'] = true;\n return html`<a\n class=${classMap(cssClasses)}\n id=\"button\"\n href=${this.href}\n target=${this.target}\n tabindex=${this.disabled ? '-1' : '0'}\n @click=${this.__dispatchClick}\n @mousedown=${this.__handlePress}\n @keydown=${this.__handlePress}\n @keyup=${this.__handlePress}\n role=\"button\"\n aria-describedby=${ifDefined(\n this.softDisabled ? DISABLED_REASON_ID : undefined,\n )}\n ?aria-disabled=${this.softDisabled}\n ${spread(this.configAria)}\n >\n ${this.renderButtonContent()}\n </a>`;\n }\n\n renderButtonContent() {\n return html`\n <slot class=\"icon-slot\"></slot>\n <div class=\"touch\"></div>\n ${this.__renderDisabledReason(this.softDisabled)}\n `;\n }\n}\n"],"names":["LitElement","html","nothing","when","classMap","ifDefined","buttonLayers","styles","colorStyles","sizeStyles","property","query"],"mappings":"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"}