@redvars/peacock 3.8.0 → 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 (475) 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 -284
  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/demo/index.html +29 -36
  361. package/src/focus-ring/focus-ring.ts +5 -7
  362. package/src/html-editor/html-editor.ts +28 -16
  363. package/src/icon/datasource.ts +1 -1
  364. package/src/icon/icon.ts +27 -15
  365. package/src/image/image.ts +18 -6
  366. package/src/index.ts +24 -6
  367. package/src/input/input.ts +2 -2
  368. package/src/item/item.scss +126 -162
  369. package/src/item/item.ts +70 -323
  370. package/src/link/link.ts +3 -1
  371. package/src/list/list-item.scss +43 -31
  372. package/src/list/list-item.ts +79 -75
  373. package/src/list/list.scss +1 -13
  374. package/src/list/list.ts +6 -3
  375. package/src/{peacock-loader.ts → loader.ts} +91 -79
  376. package/src/menu/menu/menu.scss +14 -11
  377. package/src/menu/menu/menu.ts +20 -8
  378. package/src/menu/menu-item/menu-item.scss +35 -3
  379. package/src/menu/menu-item/menu-item.ts +40 -34
  380. package/src/menu/sub-menu/sub-menu.ts +3 -0
  381. package/src/modal/modal.ts +2 -2
  382. package/src/navigation-rail/navigation-rail-item.ts +21 -36
  383. package/src/navigation-rail/navigation-rail.scss +1 -0
  384. package/src/navigation-rail/navigation-rail.ts +4 -2
  385. package/src/number-field/number-field.ts +2 -2
  386. package/src/pagination/pagination.ts +2 -0
  387. package/src/popover/popover.ts +3 -3
  388. package/src/radio/radio.ts +13 -5
  389. package/src/ripple/ripple.ts +14 -1
  390. package/src/search/search.ts +3 -3
  391. package/src/segmented-button/segmented-button-group.ts +8 -4
  392. package/src/segmented-button/segmented-button.ts +4 -0
  393. package/src/select/option.ts +2 -0
  394. package/src/side-sheet/side-sheet.ts +2 -2
  395. package/src/sidebar-menu/sidebar-menu-item.ts +3 -2
  396. package/src/skeleton/skeleton.ts +3 -0
  397. package/src/slider/slider.ts +4 -1
  398. package/src/snackbar/snackbar.ts +40 -25
  399. package/src/spinner/spinner.ts +2 -0
  400. package/src/svg/svg.ts +27 -9
  401. package/src/switch/switch.ts +1 -1
  402. package/src/table/table.ts +16 -3
  403. package/src/tabs/demo/index.html +79 -79
  404. package/src/tabs/tab-group.ts +2 -0
  405. package/src/tabs/tab-panel.ts +2 -0
  406. package/src/tabs/tab.scss +4 -4
  407. package/src/tabs/tab.ts +16 -39
  408. package/src/tabs/tabs.ts +2 -0
  409. package/src/textarea/textarea.ts +2 -2
  410. package/src/time-picker/time-picker.ts +2 -2
  411. package/src/toolbar/toolbar.ts +3 -3
  412. package/src/tooltip/tooltip.ts +14 -8
  413. package/src/url-field/url-field.ts +2 -3
  414. package/dist/ButtonConstants-D06bY4uy.js +0 -114
  415. package/dist/ButtonConstants-D06bY4uy.js.map +0 -1
  416. package/dist/NativeHyperlinkMixin-DrYXyfMQ.js.map +0 -1
  417. package/dist/banner.js +0 -186
  418. package/dist/banner.js.map +0 -1
  419. package/dist/button-colors-DSuBHd-i.js +0 -585
  420. package/dist/button-colors-DSuBHd-i.js.map +0 -1
  421. package/dist/icon-CueRR7wx.js +0 -260
  422. package/dist/icon-CueRR7wx.js.map +0 -1
  423. package/dist/icon-button-CYqrnMnF.js +0 -318
  424. package/dist/icon-button-CYqrnMnF.js.map +0 -1
  425. package/dist/navigation-rail-CM_svs5_.js +0 -14184
  426. package/dist/navigation-rail-CM_svs5_.js.map +0 -1
  427. package/dist/observe-slot-change-D8Xg-kSS.js.map +0 -1
  428. package/dist/peacock-loader.js.map +0 -1
  429. package/dist/popover-DUPmMVWS.js.map +0 -1
  430. package/dist/query-QBcUV-L_.js +0 -15
  431. package/dist/query-QBcUV-L_.js.map +0 -1
  432. package/dist/src/banner/banner.d.ts +0 -43
  433. package/dist/src/banner/index.d.ts +0 -1
  434. package/dist/src/button/GroupButtonInterface.d.ts +0 -4
  435. package/src/banner/banner.scss +0 -82
  436. package/src/banner/index.ts +0 -1
  437. package/src/button/GroupButtonInterface.ts +0 -4
  438. package/src/button/button/only-button.scss +0 -13
  439. package/src/fab/fab-sizes.scss +0 -37
  440. package/src/fab/fab.scss +0 -143
  441. /package/dist/src/{__controllers → __internal/controllers}/attachable-controller.d.ts +0 -0
  442. /package/dist/src/{__controllers → __internal/controllers}/floating-controller.d.ts +0 -0
  443. /package/dist/src/{__directive → __internal/directive}/spread.d.ts +0 -0
  444. /package/dist/src/{__mixins → __internal/mixins}/MixinConstructor.d.ts +0 -0
  445. /package/dist/src/{__mixins → __internal/mixins}/NativeButtonMixin.d.ts +0 -0
  446. /package/dist/src/{__mixins → __internal/mixins}/NativeHyperlinkMixin.d.ts +0 -0
  447. /package/dist/src/{__utils → __internal/utils}/cache-fetch.d.ts +0 -0
  448. /package/dist/src/{__utils → __internal/utils}/copy-to-clipboard.d.ts +0 -0
  449. /package/dist/src/{__utils → __internal/utils}/dispatch-event-utils.d.ts +0 -0
  450. /package/dist/src/{__utils → __internal/utils}/is-dark-mode.d.ts +0 -0
  451. /package/dist/src/{__utils → __internal/utils}/is-in-viewport.d.ts +0 -0
  452. /package/dist/src/{__utils → __internal/utils}/is-link.d.ts +0 -0
  453. /package/dist/src/{__utils → __internal/utils}/observe-theme-change.d.ts +0 -0
  454. /package/dist/src/{__utils → __internal/utils}/sanitize-svg.d.ts +0 -0
  455. /package/dist/src/{__utils → __internal/utils}/throttle.d.ts +0 -0
  456. /package/dist/src/{fab → button/fab}/index.d.ts +0 -0
  457. /package/dist/src/{peacock-loader.d.ts → loader.d.ts} +0 -0
  458. /package/dist/test/{banner.test.d.ts → alert.test.d.ts} +0 -0
  459. /package/src/{__controllers → __internal/controllers}/attachable-controller.ts +0 -0
  460. /package/src/{__controllers → __internal/controllers}/floating-controller.ts +0 -0
  461. /package/src/{__directive → __internal/directive}/spread.ts +0 -0
  462. /package/src/{__mixins → __internal/mixins}/MixinConstructor.ts +0 -0
  463. /package/src/{__mixins → __internal/mixins}/NativeButtonMixin.ts +0 -0
  464. /package/src/{__mixins → __internal/mixins}/NativeHyperlinkMixin.ts +0 -0
  465. /package/src/{__mixins → __internal/mixins}/README.md +0 -0
  466. /package/src/{__utils → __internal/utils}/cache-fetch.ts +0 -0
  467. /package/src/{__utils → __internal/utils}/copy-to-clipboard.ts +0 -0
  468. /package/src/{__utils → __internal/utils}/dispatch-event-utils.ts +0 -0
  469. /package/src/{__utils → __internal/utils}/is-dark-mode.ts +0 -0
  470. /package/src/{__utils → __internal/utils}/is-in-viewport.ts +0 -0
  471. /package/src/{__utils → __internal/utils}/is-link.ts +0 -0
  472. /package/src/{__utils → __internal/utils}/observe-theme-change.ts +0 -0
  473. /package/src/{__utils → __internal/utils}/sanitize-svg.ts +0 -0
  474. /package/src/{__utils → __internal/utils}/throttle.ts +0 -0
  475. /package/src/{fab → button/fab}/index.ts +0 -0
@@ -0,0 +1,290 @@
1
+ import './IndividualComponent-Bdwyrvd6.js';
2
+
3
+ /**
4
+ * Accessibility Object Model reflective aria properties.
5
+ */
6
+ const ARIA_PROPERTIES = [
7
+ 'role',
8
+ 'ariaAtomic',
9
+ 'ariaAutoComplete',
10
+ 'ariaBusy',
11
+ 'ariaChecked',
12
+ 'ariaColCount',
13
+ 'ariaColIndex',
14
+ 'ariaColSpan',
15
+ 'ariaCurrent',
16
+ 'ariaDisabled',
17
+ 'ariaExpanded',
18
+ 'ariaHasPopup',
19
+ 'ariaHidden',
20
+ 'ariaInvalid',
21
+ 'ariaKeyShortcuts',
22
+ 'ariaLabel',
23
+ 'ariaLevel',
24
+ 'ariaLive',
25
+ 'ariaModal',
26
+ 'ariaMultiLine',
27
+ 'ariaMultiSelectable',
28
+ 'ariaOrientation',
29
+ 'ariaPlaceholder',
30
+ 'ariaPosInSet',
31
+ 'ariaPressed',
32
+ 'ariaReadOnly',
33
+ 'ariaRequired',
34
+ 'ariaRoleDescription',
35
+ 'ariaRowCount',
36
+ 'ariaRowIndex',
37
+ 'ariaRowSpan',
38
+ 'ariaSelected',
39
+ 'ariaSetSize',
40
+ 'ariaSort',
41
+ 'ariaValueMax',
42
+ 'ariaValueMin',
43
+ 'ariaValueNow',
44
+ 'ariaValueText',
45
+ ];
46
+ /**
47
+ * Accessibility Object Model aria attributes.
48
+ */
49
+ // eslint-disable-next-line no-use-before-define
50
+ const ARIA_ATTRIBUTES = ARIA_PROPERTIES.map(ariaPropertyToAttribute);
51
+ /**
52
+ * Checks if an attribute is one of the AOM aria attributes.
53
+ *
54
+ * @example
55
+ * isAriaAttribute('aria-label'); // true
56
+ *
57
+ * @param attribute The attribute to check.
58
+ * @return True if the attribute is an aria attribute, or false if not.
59
+ */
60
+ function isAriaAttribute(attribute) {
61
+ return ARIA_ATTRIBUTES.includes(attribute);
62
+ }
63
+ /**
64
+ * Converts an AOM aria property into its corresponding attribute.
65
+ *
66
+ * @example
67
+ * ariaPropertyToAttribute('ariaLabel'); // 'aria-label'
68
+ *
69
+ * @param property The aria property.
70
+ * @return The aria attribute.
71
+ */
72
+ function ariaPropertyToAttribute(property) {
73
+ return property
74
+ .replace('aria', 'aria-')
75
+ // IDREF attributes also include an "Element" or "Elements" suffix
76
+ .replace(/Elements?/g, '')
77
+ // eslint-disable-next-line no-use-before-define
78
+ .toLowerCase();
79
+ }
80
+
81
+ /**
82
+ * @license
83
+ * Copyright 2023 Google LLC
84
+ * SPDX-License-Identifier: Apache-2.0
85
+ */
86
+ // Private symbols
87
+ const privateIgnoreAttributeChangesFor = Symbol('privateIgnoreAttributeChangesFor');
88
+ function ariaAttributeToDataAttribute(ariaAttribute) {
89
+ // aria-haspopup -> data-aria-haspopup
90
+ return `data-${ariaAttribute}`;
91
+ }
92
+ function ariaAttributeToDataProperty(ariaAttribute) {
93
+ // aria-haspopup -> dataset.ariaHaspopup
94
+ return ariaAttribute.replace(/-\w/, dashLetter => dashLetter[1].toUpperCase());
95
+ }
96
+ /**
97
+ * Overrides the constructor's native `ARIAMixin` properties to ensure that
98
+ * aria properties reflect the values that were shifted to a data attribute.
99
+ *
100
+ * @param ctor The `ReactiveElement` constructor to patch.
101
+ */
102
+ function setupDelegatesAriaProperties(ctor) {
103
+ for (const ariaProperty of ARIA_PROPERTIES) {
104
+ // The casing between ariaProperty and the dataProperty may be different.
105
+ // ex: aria-haspopup -> ariaHasPopup
106
+ const ariaAttribute = ariaPropertyToAttribute(ariaProperty);
107
+ // ex: aria-haspopup -> data-aria-haspopup
108
+ const dataAttribute = ariaAttributeToDataAttribute(ariaAttribute);
109
+ // ex: aria-haspopup -> dataset.ariaHaspopup
110
+ const dataProperty = ariaAttributeToDataProperty(ariaAttribute);
111
+ // Call `ReactiveElement.createProperty()` so that the `aria-*` and `data-*`
112
+ // attributes are added to the `static observedAttributes` array. This
113
+ // triggers `attributeChangedCallback` for the delegates aria mixin to
114
+ // handle.
115
+ ctor.createProperty(ariaProperty, {
116
+ attribute: ariaAttribute,
117
+ noAccessor: true,
118
+ });
119
+ ctor.createProperty(Symbol(dataAttribute), {
120
+ attribute: dataAttribute,
121
+ noAccessor: true,
122
+ });
123
+ // Re-define the `ARIAMixin` properties to handle data attribute shifting.
124
+ // It is safe to use `Object.defineProperty` here because the properties
125
+ // are native and not renamed.
126
+ // tslint:disable-next-line:ban-unsafe-reflection
127
+ Object.defineProperty(ctor.prototype, ariaProperty, {
128
+ configurable: true,
129
+ enumerable: true,
130
+ get() {
131
+ return this.dataset[dataProperty] ?? null;
132
+ },
133
+ set(value) {
134
+ const prevValue = this.dataset[dataProperty] ?? null;
135
+ if (value === prevValue) {
136
+ return;
137
+ }
138
+ if (value === null) {
139
+ delete this.dataset[dataProperty];
140
+ }
141
+ else {
142
+ this.dataset[dataProperty] = value;
143
+ }
144
+ this.requestUpdate(ariaProperty, prevValue);
145
+ },
146
+ });
147
+ }
148
+ }
149
+ /**
150
+ * Mixes in aria delegation for elements that delegate focus and aria to inner
151
+ * shadow root elements.
152
+ *
153
+ * This mixin fixes invalid aria announcements with shadow roots, caused by
154
+ * duplicate aria attributes on both the host and the inner shadow root element.
155
+ *
156
+ * Note: this mixin **does not yet support** ID reference attributes, such as
157
+ * `aria-labelledby` or `aria-controls`.
158
+ *
159
+ * @example
160
+ * ```ts
161
+ * class MyButton extends mixinDelegatesAria(LitElement) {
162
+ * static shadowRootOptions = {mode: 'open', delegatesFocus: true};
163
+ *
164
+ * render() {
165
+ * return html`
166
+ * <button aria-label=${this.ariaLabel || nothing}>
167
+ * <slot></slot>
168
+ * </button>
169
+ * `;
170
+ * }
171
+ * }
172
+ * ```
173
+ * ```html
174
+ * <my-button aria-label="Plus one">+1</my-button>
175
+ * ```
176
+ *
177
+ * Use `ARIAMixinStrict` for lit analyzer strict types, such as the "role"
178
+ * attribute.
179
+ *
180
+ * @example
181
+ * ```ts
182
+ * return html`
183
+ * <button role=${(this as ARIAMixinStrict).role || nothing}>
184
+ * <slot></slot>
185
+ * </button>
186
+ * `;
187
+ * ```
188
+ *
189
+ * In the future, updates to the Accessibility Object Model (AOM) will provide
190
+ * built-in aria delegation features that will replace this mixin.
191
+ *
192
+ * @param base The class to mix functionality into.
193
+ * @return The provided class with aria delegation mixed in.
194
+ */
195
+ function mixinDelegatesAria(base) {
196
+ var _a;
197
+ class WithDelegatesAriaElement extends base {
198
+ constructor() {
199
+ super(...arguments);
200
+ this[_a] = new Set();
201
+ }
202
+ attributeChangedCallback(name, oldValue, newValue) {
203
+ if (!isAriaAttribute(name)) {
204
+ super.attributeChangedCallback(name, oldValue, newValue);
205
+ return;
206
+ }
207
+ if (this[privateIgnoreAttributeChangesFor].has(name)) {
208
+ return;
209
+ }
210
+ // Don't trigger another `attributeChangedCallback` once we remove the
211
+ // aria attribute from the host. We check the explicit name of the
212
+ // attribute to ignore since `attributeChangedCallback` can be called
213
+ // multiple times out of an expected order when hydrating an element with
214
+ // multiple attributes.
215
+ this[privateIgnoreAttributeChangesFor].add(name);
216
+ this.removeAttribute(name);
217
+ this[privateIgnoreAttributeChangesFor].delete(name);
218
+ const dataProperty = ariaAttributeToDataProperty(name);
219
+ if (newValue === null) {
220
+ delete this.dataset[dataProperty];
221
+ }
222
+ else {
223
+ this.dataset[dataProperty] = newValue;
224
+ }
225
+ this.requestUpdate(ariaAttributeToDataProperty(name), oldValue);
226
+ }
227
+ getAttribute(name) {
228
+ if (isAriaAttribute(name)) {
229
+ return super.getAttribute(ariaAttributeToDataAttribute(name));
230
+ }
231
+ return super.getAttribute(name);
232
+ }
233
+ removeAttribute(name) {
234
+ super.removeAttribute(name);
235
+ if (isAriaAttribute(name)) {
236
+ super.removeAttribute(ariaAttributeToDataAttribute(name));
237
+ // Since `aria-*` attributes are already removed`, we need to request
238
+ // an update because `attributeChangedCallback` will not be called.
239
+ this.requestUpdate();
240
+ }
241
+ }
242
+ }
243
+ _a = privateIgnoreAttributeChangesFor;
244
+ setupDelegatesAriaProperties(WithDelegatesAriaElement);
245
+ return WithDelegatesAriaElement;
246
+ }
247
+
248
+ /**
249
+ * A unique symbol used for protected access to an instance's
250
+ * `ElementInternals`.
251
+ *
252
+ * @example
253
+ * ```ts
254
+ * class MyElement extends mixinElementInternals(LitElement) {
255
+ * constructor() {
256
+ * super();
257
+ * this[internals].role = 'button';
258
+ * }
259
+ * }
260
+ * ```
261
+ */
262
+ const internals = Symbol('internals');
263
+ // Private symbols
264
+ const privateInternals = Symbol('privateInternals');
265
+ /**
266
+ * Mixes in an attached `ElementInternals` instance.
267
+ *
268
+ * This mixin is only needed when other shared code needs access to a
269
+ * component's `ElementInternals`, such as form-associated mixins.
270
+ *
271
+ * @param base The class to mix functionality into.
272
+ * @return The provided class with `WithElementInternals` mixed in.
273
+ */
274
+ function mixinElementInternals(base) {
275
+ class WithElementInternalsElement extends base {
276
+ get [internals]() {
277
+ // Create internals in getter so that it can be used in methods called on
278
+ // construction in `ReactiveElement`, such as `requestUpdate()`.
279
+ if (!this[privateInternals]) {
280
+ // Cast needed for closure
281
+ this[privateInternals] = this.attachInternals();
282
+ }
283
+ return this[privateInternals];
284
+ }
285
+ }
286
+ return WithElementInternalsElement;
287
+ }
288
+
289
+ export { mixinElementInternals as a, internals as i, mixinDelegatesAria as m };
290
+ //# sourceMappingURL=element-internals-2CMts_0M.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element-internals-2CMts_0M.js","sources":["../../src/__internal/aria/aria.ts","../../src/__internal/aria/delegate.ts","../../src/__internal/mixins/element-internals.ts"],"sourcesContent":["/**\n * Accessibility Object Model reflective aria property name types.\n */\n// eslint-disable-next-line no-undef\nexport type ARIAProperty = keyof ARIAMixin;\n\n/**\n * Accessibility Object Model reflective aria properties.\n */\nexport const ARIA_PROPERTIES: ARIAProperty[] = [\n 'role',\n 'ariaAtomic',\n 'ariaAutoComplete',\n 'ariaBusy',\n 'ariaChecked',\n 'ariaColCount',\n 'ariaColIndex',\n 'ariaColSpan',\n 'ariaCurrent',\n 'ariaDisabled',\n 'ariaExpanded',\n 'ariaHasPopup',\n 'ariaHidden',\n 'ariaInvalid',\n 'ariaKeyShortcuts',\n 'ariaLabel',\n 'ariaLevel',\n 'ariaLive',\n 'ariaModal',\n 'ariaMultiLine',\n 'ariaMultiSelectable',\n 'ariaOrientation',\n 'ariaPlaceholder',\n 'ariaPosInSet',\n 'ariaPressed',\n 'ariaReadOnly',\n 'ariaRequired',\n 'ariaRoleDescription',\n 'ariaRowCount',\n 'ariaRowIndex',\n 'ariaRowSpan',\n 'ariaSelected',\n 'ariaSetSize',\n 'ariaSort',\n 'ariaValueMax',\n 'ariaValueMin',\n 'ariaValueNow',\n 'ariaValueText',\n];\n\n/**\n * Accessibility Object Model aria attribute name types.\n */\n// eslint-disable-next-line no-use-before-define\nexport type ARIAAttribute = ARIAPropertyToAttribute<ARIAProperty>;\n\n/**\n * Accessibility Object Model aria attributes.\n */\n// eslint-disable-next-line no-use-before-define\nexport const ARIA_ATTRIBUTES = ARIA_PROPERTIES.map(ariaPropertyToAttribute);\n\n/**\n * Checks if an attribute is one of the AOM aria attributes.\n *\n * @example\n * isAriaAttribute('aria-label'); // true\n *\n * @param attribute The attribute to check.\n * @return True if the attribute is an aria attribute, or false if not.\n */\nexport function isAriaAttribute(attribute: string): attribute is ARIAAttribute {\n return ARIA_ATTRIBUTES.includes(attribute as ARIAAttribute);\n}\n\n/**\n * Converts an AOM aria property into its corresponding attribute.\n *\n * @example\n * ariaPropertyToAttribute('ariaLabel'); // 'aria-label'\n *\n * @param property The aria property.\n * @return The aria attribute.\n */\nexport function ariaPropertyToAttribute<K extends ARIAProperty>(property: K) {\n return (\n property\n .replace('aria', 'aria-')\n // IDREF attributes also include an \"Element\" or \"Elements\" suffix\n .replace(/Elements?/g, '')\n // eslint-disable-next-line no-use-before-define\n .toLowerCase() as ARIAPropertyToAttribute<K>\n );\n}\n\n// Converts an `ariaFoo` string type to an `aria-foo` string type.\n// eslint-disable-next-line no-unused-vars\ntype ARIAPropertyToAttribute<K extends string> =\n K extends `aria${infer Suffix}Element${infer OptS}` // eslint-disable-line\n ? `aria-${Lowercase<Suffix>}`\n : K extends `aria${infer Suffix}`\n ? `aria-${Lowercase<Suffix>}`\n : K;\n\n/**\n * An extension of `ARIAMixin` that enforces strict value types for aria\n * properties.\n *\n * This is needed for correct typing in render functions with lit analyzer.\n *\n * @example\n * render() {\n * const {ariaLabel} = this as ARIAMixinStrict;\n * return html`\n * <button aria-label=${ariaLabel || nothing}>\n * <slot></slot>\n * </button>\n * `;\n * }\n */\n// eslint-disable-next-line no-undef\nexport interface ARIAMixinStrict extends ARIAMixin {\n ariaAtomic: 'true' | 'false' | null;\n ariaAutoComplete: 'none' | 'inline' | 'list' | 'both' | null;\n ariaBusy: 'true' | 'false' | null;\n ariaChecked: 'true' | 'false' | null;\n ariaColCount: `${number}` | null;\n ariaColIndex: `${number}` | null;\n ariaColSpan: `${number}` | null;\n ariaCurrent:\n | 'page'\n | 'step'\n | 'location'\n | 'date'\n | 'time'\n | 'true'\n | 'false'\n | null;\n ariaDisabled: 'true' | 'false' | null;\n ariaExpanded: 'true' | 'false' | null;\n ariaHasPopup:\n | 'false'\n | 'true'\n | 'menu'\n | 'listbox'\n | 'tree'\n | 'grid'\n | 'dialog'\n | null;\n ariaHidden: 'true' | 'false' | null;\n ariaInvalid: 'true' | 'false' | null;\n ariaKeyShortcuts: string | null;\n ariaLabel: string | null;\n ariaLevel: `${number}` | null;\n ariaLive: 'assertive' | 'off' | 'polite' | null;\n ariaModal: 'true' | 'false' | null;\n ariaMultiLine: 'true' | 'false' | null;\n ariaMultiSelectable: 'true' | 'false' | null;\n ariaOrientation: 'horizontal' | 'vertical' | 'undefined' | null;\n ariaPlaceholder: string | null;\n ariaPosInSet: `${number}` | null;\n ariaPressed: 'true' | 'false' | null;\n ariaReadOnly: 'true' | 'false' | null;\n ariaRequired: 'true' | 'false' | null;\n ariaRoleDescription: string | null;\n ariaRowCount: `${number}` | null;\n ariaRowIndex: `${number}` | null;\n ariaRowSpan: `${number}` | null;\n ariaSelected: 'true' | 'false' | null;\n ariaSetSize: `${number}` | null;\n ariaSort: 'ascending' | 'descending' | 'none' | 'other' | null;\n ariaValueMax: `${number}` | null;\n ariaValueMin: `${number}` | null;\n ariaValueNow: `${number}` | null;\n ariaValueText: string | null;\n // eslint-disable-next-line no-use-before-define\n role: ARIARole | null;\n}\n\n/**\n * Valid values for `role`.\n */\nexport type ARIARole =\n | 'alert'\n | 'alertdialog'\n | 'button'\n | 'checkbox'\n | 'dialog'\n | 'gridcell'\n | 'link'\n | 'log'\n | 'marquee'\n | 'menuitem'\n | 'menuitemcheckbox'\n | 'menuitemradio'\n | 'option'\n | 'progressbar'\n | 'radio'\n | 'scrollbar'\n | 'searchbox'\n | 'slider'\n | 'spinbutton'\n | 'status'\n | 'switch'\n | 'tab'\n | 'tabpanel'\n | 'textbox'\n | 'timer'\n | 'tooltip'\n | 'treeitem'\n | 'combobox'\n | 'grid'\n | 'listbox'\n | 'menu'\n | 'menubar'\n | 'radiogroup'\n | 'tablist'\n | 'tree'\n | 'treegrid'\n | 'application'\n | 'article'\n | 'cell'\n | 'columnheader'\n | 'definition'\n | 'directory'\n | 'document'\n | 'feed'\n | 'figure'\n | 'group'\n | 'heading'\n | 'img'\n | 'list'\n | 'listitem'\n | 'math'\n | 'none'\n | 'note'\n | 'presentation'\n | 'region'\n | 'row'\n | 'rowgroup'\n | 'rowheader'\n | 'separator'\n | 'table'\n | 'term'\n | 'text'\n | 'toolbar'\n | 'banner'\n | 'complementary'\n | 'contentinfo'\n | 'form'\n | 'main'\n | 'navigation'\n | 'region'\n | 'search'\n | 'doc-abstract'\n | 'doc-acknowledgments'\n | 'doc-afterword'\n | 'doc-appendix'\n | 'doc-backlink'\n | 'doc-biblioentry'\n | 'doc-bibliography'\n | 'doc-biblioref'\n | 'doc-chapter'\n | 'doc-colophon'\n | 'doc-conclusion'\n | 'doc-cover'\n | 'doc-credit'\n | 'doc-credits'\n | 'doc-dedication'\n | 'doc-endnote'\n | 'doc-endnotes'\n | 'doc-epigraph'\n | 'doc-epilogue'\n | 'doc-errata'\n | 'doc-example'\n | 'doc-footnote'\n | 'doc-foreword'\n | 'doc-glossary'\n | 'doc-glossref'\n | 'doc-index'\n | 'doc-introduction'\n | 'doc-noteref'\n | 'doc-notice'\n | 'doc-pagebreak'\n | 'doc-pagelist'\n | 'doc-part'\n | 'doc-preface'\n | 'doc-prologue'\n | 'doc-pullquote'\n | 'doc-qna'\n | 'doc-subtitle'\n | 'doc-tip'\n | 'doc-toc';\n","/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { LitElement, ReactiveElement, isServer } from 'lit';\n\nimport { MixinBase, MixinReturn } from '../mixins/mixin.js';\nimport {\n ARIA_PROPERTIES,\n ariaPropertyToAttribute,\n isAriaAttribute,\n} from './aria.js';\n\n// Private symbols\nconst privateIgnoreAttributeChangesFor = Symbol(\n 'privateIgnoreAttributeChangesFor',\n);\n\nfunction ariaAttributeToDataAttribute(ariaAttribute: string) {\n // aria-haspopup -> data-aria-haspopup\n return `data-${ariaAttribute}`;\n}\n\nfunction ariaAttributeToDataProperty(ariaAttribute: string) {\n // aria-haspopup -> dataset.ariaHaspopup\n return ariaAttribute.replace(/-\\w/, dashLetter =>\n dashLetter[1].toUpperCase(),\n );\n}\n\n/**\n * Overrides the constructor's native `ARIAMixin` properties to ensure that\n * aria properties reflect the values that were shifted to a data attribute.\n *\n * @param ctor The `ReactiveElement` constructor to patch.\n */\nfunction setupDelegatesAriaProperties(ctor: typeof ReactiveElement) {\n for (const ariaProperty of ARIA_PROPERTIES) {\n // The casing between ariaProperty and the dataProperty may be different.\n // ex: aria-haspopup -> ariaHasPopup\n const ariaAttribute = ariaPropertyToAttribute(ariaProperty);\n // ex: aria-haspopup -> data-aria-haspopup\n const dataAttribute = ariaAttributeToDataAttribute(ariaAttribute);\n // ex: aria-haspopup -> dataset.ariaHaspopup\n const dataProperty = ariaAttributeToDataProperty(ariaAttribute);\n\n // Call `ReactiveElement.createProperty()` so that the `aria-*` and `data-*`\n // attributes are added to the `static observedAttributes` array. This\n // triggers `attributeChangedCallback` for the delegates aria mixin to\n // handle.\n ctor.createProperty(ariaProperty, {\n attribute: ariaAttribute,\n noAccessor: true,\n });\n ctor.createProperty(Symbol(dataAttribute), {\n attribute: dataAttribute,\n noAccessor: true,\n });\n\n // Re-define the `ARIAMixin` properties to handle data attribute shifting.\n // It is safe to use `Object.defineProperty` here because the properties\n // are native and not renamed.\n // tslint:disable-next-line:ban-unsafe-reflection\n Object.defineProperty(ctor.prototype, ariaProperty, {\n configurable: true,\n enumerable: true,\n get(this: ReactiveElement): string | null {\n return this.dataset[dataProperty] ?? null;\n },\n set(this: ReactiveElement, value: string | null): void {\n const prevValue = this.dataset[dataProperty] ?? null;\n if (value === prevValue) {\n return;\n }\n\n if (value === null) {\n delete this.dataset[dataProperty];\n } else {\n this.dataset[dataProperty] = value;\n }\n\n this.requestUpdate(ariaProperty, prevValue);\n },\n });\n }\n}\n\n/**\n * Mixes in aria delegation for elements that delegate focus and aria to inner\n * shadow root elements.\n *\n * This mixin fixes invalid aria announcements with shadow roots, caused by\n * duplicate aria attributes on both the host and the inner shadow root element.\n *\n * Note: this mixin **does not yet support** ID reference attributes, such as\n * `aria-labelledby` or `aria-controls`.\n *\n * @example\n * ```ts\n * class MyButton extends mixinDelegatesAria(LitElement) {\n * static shadowRootOptions = {mode: 'open', delegatesFocus: true};\n *\n * render() {\n * return html`\n * <button aria-label=${this.ariaLabel || nothing}>\n * <slot></slot>\n * </button>\n * `;\n * }\n * }\n * ```\n * ```html\n * <my-button aria-label=\"Plus one\">+1</my-button>\n * ```\n *\n * Use `ARIAMixinStrict` for lit analyzer strict types, such as the \"role\"\n * attribute.\n *\n * @example\n * ```ts\n * return html`\n * <button role=${(this as ARIAMixinStrict).role || nothing}>\n * <slot></slot>\n * </button>\n * `;\n * ```\n *\n * In the future, updates to the Accessibility Object Model (AOM) will provide\n * built-in aria delegation features that will replace this mixin.\n *\n * @param base The class to mix functionality into.\n * @return The provided class with aria delegation mixed in.\n */\nexport function mixinDelegatesAria<T extends MixinBase<LitElement>>(\n base: T,\n): MixinReturn<T> {\n if (isServer) {\n // Don't shift attributes when running with lit-ssr. The SSR renderer\n // implements a subset of DOM APIs, including the methods this mixin\n // overrides, causing errors. We don't need to shift on the server anyway\n // since elements will shift attributes immediately once they hydrate.\n return base;\n }\n\n abstract class WithDelegatesAriaElement extends base {\n [privateIgnoreAttributeChangesFor] = new Set();\n\n override attributeChangedCallback(\n name: string,\n oldValue: string | null,\n newValue: string | null,\n ) {\n if (!isAriaAttribute(name)) {\n super.attributeChangedCallback(name, oldValue, newValue);\n return;\n }\n\n if (this[privateIgnoreAttributeChangesFor].has(name)) {\n return;\n }\n\n // Don't trigger another `attributeChangedCallback` once we remove the\n // aria attribute from the host. We check the explicit name of the\n // attribute to ignore since `attributeChangedCallback` can be called\n // multiple times out of an expected order when hydrating an element with\n // multiple attributes.\n this[privateIgnoreAttributeChangesFor].add(name);\n this.removeAttribute(name);\n this[privateIgnoreAttributeChangesFor].delete(name);\n const dataProperty = ariaAttributeToDataProperty(name);\n if (newValue === null) {\n delete this.dataset[dataProperty];\n } else {\n this.dataset[dataProperty] = newValue;\n }\n\n this.requestUpdate(ariaAttributeToDataProperty(name), oldValue);\n }\n\n override getAttribute(name: string) {\n if (isAriaAttribute(name)) {\n return super.getAttribute(ariaAttributeToDataAttribute(name));\n }\n\n return super.getAttribute(name);\n }\n\n override removeAttribute(name: string) {\n super.removeAttribute(name);\n if (isAriaAttribute(name)) {\n super.removeAttribute(ariaAttributeToDataAttribute(name));\n // Since `aria-*` attributes are already removed`, we need to request\n // an update because `attributeChangedCallback` will not be called.\n this.requestUpdate();\n }\n }\n }\n\n setupDelegatesAriaProperties(\n WithDelegatesAriaElement as unknown as typeof ReactiveElement,\n );\n\n return WithDelegatesAriaElement;\n}\n","import { LitElement } from 'lit';\n\nimport { MixinBase, MixinReturn } from './mixin.js';\n\n/**\n * A unique symbol used for protected access to an instance's\n * `ElementInternals`.\n *\n * @example\n * ```ts\n * class MyElement extends mixinElementInternals(LitElement) {\n * constructor() {\n * super();\n * this[internals].role = 'button';\n * }\n * }\n * ```\n */\nexport const internals = Symbol('internals');\n\n/**\n * An instance with an `internals` symbol property for the component's\n * `ElementInternals`.\n *\n * Use this when protected access is needed for an instance's `ElementInternals`\n * from other files. A unique symbol is used to access the internals.\n */\nexport interface WithElementInternals {\n /**\n * An instance's `ElementInternals`.\n */\n [internals]: ElementInternals;\n}\n\n// Private symbols\nconst privateInternals = Symbol('privateInternals');\n\n/**\n * Mixes in an attached `ElementInternals` instance.\n *\n * This mixin is only needed when other shared code needs access to a\n * component's `ElementInternals`, such as form-associated mixins.\n *\n * @param base The class to mix functionality into.\n * @return The provided class with `WithElementInternals` mixed in.\n */\nexport function mixinElementInternals<T extends MixinBase<LitElement>>(\n base: T,\n): MixinReturn<T, WithElementInternals> {\n abstract class WithElementInternalsElement\n extends base\n implements WithElementInternals\n {\n get [internals]() {\n // Create internals in getter so that it can be used in methods called on\n // construction in `ReactiveElement`, such as `requestUpdate()`.\n if (!this[privateInternals]) {\n // Cast needed for closure\n this[privateInternals] = (this as HTMLElement).attachInternals();\n }\n\n return this[privateInternals];\n }\n\n // In preparation for ES2022, we need to declare this property to guard\n // against the base class calling [internals] in its constructor prematurely\n // setting this field. Without declare, once this field is defined, it would\n // initialize to undefined and `attachInternals()` could be called again.\n declare [privateInternals]?: ElementInternals;\n }\n\n return WithElementInternalsElement;\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ import { i, _ as __decorate, I as IndividualComponent, a as i$1, b } from './IndividualComponent-Bdwyrvd6.js';
2
+
3
+ var css_248z = i`* {
4
+ box-sizing: border-box;
5
+ }
6
+
7
+ .screen-reader-only {
8
+ display: none !important;
9
+ }
10
+
11
+ [hidden] {
12
+ display: none !important;
13
+ }
14
+
15
+ /**
16
+ * Derived from Material Design Elevation
17
+ * https://github.com/material-components/material-web/blob/main/elevation/internal/_elevation.scss
18
+ */
19
+ :host,
20
+ .shadow,
21
+ .shadow::before,
22
+ .shadow::after {
23
+ border-start-start-radius: var(--elevation-container-shape-start-start, var(--elevation-container-shape));
24
+ border-start-end-radius: var(--elevation-container-shape-start-end, var(--elevation-container-shape));
25
+ border-end-start-radius: var(--elevation-container-shape-end-start, var(--elevation-container-shape));
26
+ border-end-end-radius: var(--elevation-container-shape-end-end, var(--elevation-container-shape));
27
+ corner-shape: var(--elevation-container-shape-variant);
28
+ inset: 0;
29
+ position: absolute;
30
+ transition-duration: inherit;
31
+ transition-property: inherit;
32
+ transition-timing-function: inherit;
33
+ }
34
+
35
+ :host {
36
+ display: flex;
37
+ pointer-events: none;
38
+ transition-property: box-shadow, opacity;
39
+ --elevation-level: 0;
40
+ --elevation-color: var(--elevation-color-default, black);
41
+ }
42
+
43
+ .shadow::before,
44
+ .shadow::after {
45
+ content: "";
46
+ transition-property: box-shadow, opacity;
47
+ --_level: var(--elevation-level);
48
+ --_shadow-color: var(--elevation-color);
49
+ }
50
+
51
+ .shadow::before {
52
+ box-shadow: 0 calc(1px * (clamp(0, var(--_level), 1) + clamp(0, var(--_level) - 3, 1) + 2 * clamp(0, var(--_level) - 4, 1))) calc(1px * (2 * clamp(0, var(--_level), 1) + clamp(0, var(--_level) - 2, 1) + clamp(0, var(--_level) - 4, 1))) 0 var(--_shadow-color);
53
+ opacity: 0.3;
54
+ }
55
+
56
+ .shadow::after {
57
+ box-shadow: 0 calc(1px * (clamp(0, var(--_level), 1) + clamp(0, var(--_level) - 1, 1) + 2 * clamp(0, var(--_level) - 2, 3))) calc(1px * (3 * clamp(0, var(--_level), 2) + 2 * clamp(0, var(--_level) - 2, 3))) calc(1px * (clamp(0, var(--_level), 4) + 2 * clamp(0, var(--_level) - 4, 1))) var(--_shadow-color);
58
+ opacity: 0.15;
59
+ }`;
60
+
61
+ /**
62
+ * @label Elevation
63
+ * @tag wc-elevation
64
+ * @rawTag elevation
65
+ *
66
+ * @summary Adds elevation to an element.
67
+ * @overview
68
+ * - Elevation adds a shadow effect to an element to give it depth.
69
+ * - It can be used to create a sense of hierarchy or to draw attention to a particular element.
70
+ *
71
+ * @cssprop --elevation-level - Controls the elevation level of the shadow.
72
+ * @cssprop --elevation-color - Controls the color of the shadow.
73
+ *
74
+ * @example
75
+ * ```html
76
+ * <div style="position: relative; padding: var(--spacing-200);">
77
+ * <wc-elevation style='--elevation-level: 2; --elevation-container-shape: var(--shape-corner-extra-small);'></wc-elevation>
78
+ * Level 2
79
+ * </div>
80
+ * ```
81
+ * @tags display
82
+ */
83
+ let Elevation = class Elevation extends i$1 {
84
+ render() {
85
+ return b `<span class="shadow"></span>`;
86
+ }
87
+ };
88
+ Elevation.styles = [css_248z];
89
+ Elevation = __decorate([
90
+ IndividualComponent
91
+ ], Elevation);
92
+
93
+ export { Elevation };
94
+ //# sourceMappingURL=elevation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elevation.js","sources":["../../src/elevation/elevation.ts"],"sourcesContent":["import { html, LitElement } from 'lit';\nimport styles from './elevation.scss';\nimport IndividualComponent from '@/IndividualComponent.js';\n\n/**\n * @label Elevation\n * @tag wc-elevation\n * @rawTag elevation\n *\n * @summary Adds elevation to an element.\n * @overview\n * - Elevation adds a shadow effect to an element to give it depth.\n * - It can be used to create a sense of hierarchy or to draw attention to a particular element.\n *\n * @cssprop --elevation-level - Controls the elevation level of the shadow.\n * @cssprop --elevation-color - Controls the color of the shadow.\n *\n * @example\n * ```html\n * <div style=\"position: relative; padding: var(--spacing-200);\">\n * <wc-elevation style='--elevation-level: 2; --elevation-container-shape: var(--shape-corner-extra-small);'></wc-elevation>\n * Level 2\n * </div>\n * ```\n * @tags display\n */\n@IndividualComponent\nexport class Elevation extends LitElement {\n static styles = [styles];\n\n render() {\n return html`<span class=\"shadow\"></span>`;\n }\n}\n"],"names":["LitElement","html","styles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;;;;;;;;;;;;;;;;;;;;AAqBG;AAEI,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQA,GAAU,CAAA;IAGvC,MAAM,GAAA;QACJ,OAAOC,CAAI,CAAA,CAAA,4BAAA,CAA8B;IAC3C;;AAJO,SAAA,CAAA,MAAM,GAAG,CAACC,QAAM,CAAC;AADb,SAAS,GAAA,UAAA,CAAA;IADrB;AACY,CAAA,EAAA,SAAS,CAMrB;;;;"}
@@ -0,0 +1,194 @@
1
+ import { i, _ as __decorate, I as IndividualComponent, a as i$1, A, b } from './IndividualComponent-Bdwyrvd6.js';
2
+ import { n } from './property-B49QQ8pS.js';
3
+ import { r } from './state-DkTK9EGF.js';
4
+ import { e } from './class-map-DG7CA1et.js';
5
+ import './directive-ZPhl09Yt.js';
6
+
7
+ var css_248z = i`* {
8
+ box-sizing: border-box;
9
+ }
10
+
11
+ .screen-reader-only {
12
+ display: none !important;
13
+ }
14
+
15
+ [hidden] {
16
+ display: none !important;
17
+ }
18
+
19
+ :host {
20
+ display: block;
21
+ }
22
+
23
+ .empty-state {
24
+ container: emptystate/inline-size;
25
+ padding: var(--spacing-100);
26
+ height: 100%;
27
+ max-width: var(--container-lg);
28
+ margin: auto;
29
+ }
30
+
31
+ .empty-state-container {
32
+ display: flex;
33
+ height: 100%;
34
+ justify-content: center;
35
+ gap: var(--spacing-500);
36
+ align-items: center;
37
+ }
38
+
39
+ .illustration {
40
+ height: 100%;
41
+ display: flex;
42
+ }
43
+ .illustration .illustration-svg {
44
+ --icon-size: 100%;
45
+ }
46
+
47
+ .content {
48
+ display: flex;
49
+ flex-direction: column;
50
+ justify-content: center;
51
+ }
52
+ .content .headline {
53
+ font-family: var(--typography-headline-medium-font-family) !important;
54
+ font-size: var(--typography-headline-medium-font-size) !important;
55
+ font-weight: var(--typography-headline-medium-font-weight) !important;
56
+ line-height: var(--typography-headline-medium-line-height) !important;
57
+ letter-spacing: var(--typography-headline-medium-letter-spacing) !important;
58
+ margin-bottom: var(--spacing-200);
59
+ color: var(--color-on-surface);
60
+ }
61
+ .content .description {
62
+ font-family: var(--typography-body-medium-font-family) !important;
63
+ font-size: var(--typography-body-medium-font-size) !important;
64
+ font-weight: var(--typography-body-medium-font-weight) !important;
65
+ line-height: var(--typography-body-medium-line-height) !important;
66
+ letter-spacing: var(--typography-body-medium-letter-spacing) !important;
67
+ margin-bottom: var(--spacing-400);
68
+ color: var(--color-on-surface-variant);
69
+ }
70
+
71
+ :host(.content-center) .content {
72
+ align-items: center;
73
+ text-align: center;
74
+ }
75
+
76
+ @container emptystate (min-width: 672px) {
77
+ .empty-state .illustration {
78
+ width: 50%;
79
+ }
80
+ .empty-state .content {
81
+ width: 50%;
82
+ }
83
+ }
84
+ @container emptystate (max-width: 671px) {
85
+ .empty-state .empty-state-container {
86
+ flex-direction: column;
87
+ gap: var(--spacing-150);
88
+ }
89
+ .empty-state .empty-state-container .illustration {
90
+ height: auto;
91
+ width: 100%;
92
+ justify-content: center;
93
+ }
94
+ .empty-state .content .headline {
95
+ font-family: var(--typography-headline-small-font-family) !important;
96
+ font-size: var(--typography-headline-small-font-size) !important;
97
+ font-weight: var(--typography-headline-small-font-weight) !important;
98
+ line-height: var(--typography-headline-small-line-height) !important;
99
+ letter-spacing: var(--typography-headline-small-letter-spacing) !important;
100
+ }
101
+ }`;
102
+
103
+ /**
104
+ * @label Empty State
105
+ * @tag wc-empty-state
106
+ * @rawTag empty-state
107
+ * @summary A message that displays when there is no information to display.
108
+ * @tags display
109
+ *
110
+ * @example
111
+ * ```html
112
+ * <wc-empty-state style="width:100%" headline="No items found"></wc-empty-state>
113
+ * ```
114
+ */
115
+ let EmptyState = class EmptyState extends i$1 {
116
+ constructor() {
117
+ super(...arguments);
118
+ this.illustration = 'no-document';
119
+ this.headline = '';
120
+ this.description = '';
121
+ /** True when the component width is below 768px; triggers a stacked layout. */
122
+ this.vertical = false;
123
+ this.handleResize = () => {
124
+ // Logic equivalent to Stencil's clientWidth check
125
+ this.vertical = this.offsetWidth < 768;
126
+ };
127
+ }
128
+ connectedCallback() {
129
+ // eslint-disable-next-line wc/guard-super-call
130
+ super.connectedCallback();
131
+ window.addEventListener('resize', this.handleResize);
132
+ // Initial check
133
+ this.handleResize();
134
+ }
135
+ disconnectedCallback() {
136
+ window.removeEventListener('resize', this.handleResize);
137
+ // eslint-disable-next-line wc/guard-super-call
138
+ super.disconnectedCallback();
139
+ }
140
+ __renderTitle() {
141
+ if (!this.headline)
142
+ return A;
143
+ return b `<div class="headline">${this.headline}</div>`;
144
+ }
145
+ __renderDescription() {
146
+ if (!this.description)
147
+ return A;
148
+ return b `<div class="description">${this.description}</div>`;
149
+ }
150
+ render() {
151
+ const classes = {
152
+ 'empty-state': true,
153
+ vertical: this.vertical,
154
+ };
155
+ // Resolving asset paths in Lit typically uses import.meta.url or absolute paths
156
+ const illustrationPath = new URL(`./assets/images/empty-state/${this.illustration}.svg`, import.meta.url).href;
157
+ return b `
158
+ <div class="${e(classes)}">
159
+ <div class="empty-state-container">
160
+ <div class="illustration">
161
+ <wc-icon class="illustration-svg" src="${illustrationPath}"></wc-icon>
162
+ </div>
163
+
164
+ <div class="content">
165
+ ${this.__renderTitle()} ${this.__renderDescription()}
166
+ <div class="actions">
167
+ <slot name="actions"></slot>
168
+ </div>
169
+ </div>
170
+ </div>
171
+ </div>
172
+ `;
173
+ }
174
+ };
175
+ // Lit handles styles in a static property for better performance
176
+ EmptyState.styles = [css_248z];
177
+ __decorate([
178
+ n({ type: String, reflect: true })
179
+ ], EmptyState.prototype, "illustration", void 0);
180
+ __decorate([
181
+ n({ type: String, reflect: true })
182
+ ], EmptyState.prototype, "headline", void 0);
183
+ __decorate([
184
+ n({ type: String, reflect: true })
185
+ ], EmptyState.prototype, "description", void 0);
186
+ __decorate([
187
+ r()
188
+ ], EmptyState.prototype, "vertical", void 0);
189
+ EmptyState = __decorate([
190
+ IndividualComponent
191
+ ], EmptyState);
192
+
193
+ export { EmptyState };
194
+ //# sourceMappingURL=empty-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-state.js","sources":["../../src/empty-state/empty-state.ts"],"sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport styles from './empty-state.scss';\nimport IndividualComponent from '@/IndividualComponent.js';\n\n/**\n * @label Empty State\n * @tag wc-empty-state\n * @rawTag empty-state\n * @summary A message that displays when there is no information to display.\n * @tags display\n *\n * @example\n * ```html\n * <wc-empty-state style=\"width:100%\" headline=\"No items found\"></wc-empty-state>\n * ```\n */\n@IndividualComponent\nexport class EmptyState extends LitElement {\n // Lit handles styles in a static property for better performance\n static styles = [styles];\n\n @property({ type: String, reflect: true })\n illustration: 'no-document' | 'page' | 'search' = 'no-document';\n\n @property({ type: String, reflect: true })\n headline = '';\n\n @property({ type: String, reflect: true })\n description = '';\n\n /** True when the component width is below 768px; triggers a stacked layout. */\n @state()\n private vertical = false;\n\n connectedCallback() {\n // eslint-disable-next-line wc/guard-super-call\n super.connectedCallback();\n window.addEventListener('resize', this.handleResize);\n // Initial check\n this.handleResize();\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.handleResize);\n // eslint-disable-next-line wc/guard-super-call\n super.disconnectedCallback();\n }\n\n private handleResize = () => {\n // Logic equivalent to Stencil's clientWidth check\n this.vertical = this.offsetWidth < 768;\n };\n\n __renderTitle() {\n if (!this.headline) return nothing;\n return html`<div class=\"headline\">${this.headline}</div>`;\n }\n\n __renderDescription() {\n if (!this.description) return nothing;\n return html`<div class=\"description\">${this.description}</div>`;\n }\n\n protected render() {\n const classes = {\n 'empty-state': true,\n vertical: this.vertical,\n };\n\n // Resolving asset paths in Lit typically uses import.meta.url or absolute paths\n const illustrationPath = new URL(\n `./assets/images/empty-state/${this.illustration}.svg`,\n import.meta.url,\n ).href;\n\n return html`\n <div class=\"${classMap(classes)}\">\n <div class=\"empty-state-container\">\n <div class=\"illustration\">\n <wc-icon class=\"illustration-svg\" src=\"${illustrationPath}\"></wc-icon>\n </div>\n\n <div class=\"content\">\n ${this.__renderTitle()} ${this.__renderDescription()}\n <div class=\"actions\">\n <slot name=\"actions\"></slot>\n </div>\n </div>\n </div>\n </div>\n `;\n }\n}\n"],"names":["LitElement","nothing","html","classMap","styles","property","state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;;;;;;;;;;;AAWG;AAEI,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQA,GAAU,CAAA;AAAnC,IAAA,WAAA,GAAA;;QAKL,IAAA,CAAA,YAAY,GAAsC,aAAa;QAG/D,IAAA,CAAA,QAAQ,GAAG,EAAE;QAGb,IAAA,CAAA,WAAW,GAAG,EAAE;;QAIR,IAAA,CAAA,QAAQ,GAAG,KAAK;QAgBhB,IAAA,CAAA,YAAY,GAAG,MAAK;;YAE1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG;AACxC,QAAA,CAAC;IAyCH;IA1DE,iBAAiB,GAAA;;QAEf,KAAK,CAAC,iBAAiB,EAAE;QACzB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;;QAEpD,IAAI,CAAC,YAAY,EAAE;IACrB;IAEA,oBAAoB,GAAA;QAClB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;;QAEvD,KAAK,CAAC,oBAAoB,EAAE;IAC9B;IAOA,aAAa,GAAA;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ;AAAE,YAAA,OAAOC,CAAO;AAClC,QAAA,OAAOC,CAAI,CAAA,CAAA,sBAAA,EAAyB,IAAI,CAAC,QAAQ,QAAQ;IAC3D;IAEA,mBAAmB,GAAA;QACjB,IAAI,CAAC,IAAI,CAAC,WAAW;AAAE,YAAA,OAAOD,CAAO;AACrC,QAAA,OAAOC,CAAI,CAAA,CAAA,yBAAA,EAA4B,IAAI,CAAC,WAAW,QAAQ;IACjE;IAEU,MAAM,GAAA;AACd,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;;AAGD,QAAA,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B,CAAA,4BAAA,EAA+B,IAAI,CAAC,YAAY,MAAM,EACtD,MAAM,CAAC,IAAI,CAAC,GAAG,CAChB,CAAC,IAAI;AAEN,QAAA,OAAOA,CAAI,CAAA;oBACKC,CAAQ,CAAC,OAAO,CAAC,CAAA;;;qDAGgB,gBAAgB,CAAA;;;;AAIvD,YAAA,EAAA,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,mBAAmB,EAAE;;;;;;;KAO3D;IACH;;AAzEA;AACO,UAAA,CAAA,MAAM,GAAG,CAACC,QAAM,CAAC;AAGxB,UAAA,CAAA;IADCC,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACuB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,cAAA,EAAA,MAAA,CAAA;AAGhE,UAAA,CAAA;IADCA,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AAC3B,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAGd,UAAA,CAAA;IADCA,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACxB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,aAAA,EAAA,MAAA,CAAA;AAIT,UAAA,CAAA;AADP,IAAAC,CAAK;AACmB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAfd,UAAU,GAAA,UAAA,CAAA;IADtB;AACY,CAAA,EAAA,UAAU,CA2EtB;;;;"}
@@ -1,4 +1,4 @@
1
- import { c as __classPrivateFieldGet } from './IndividualComponent-DUINtMGK.js';
1
+ import { c as __classPrivateFieldGet } from './IndividualComponent-Bdwyrvd6.js';
2
2
  import { C as CalendarEvent } from './calendar-event-BrQ_SEKD.js';
3
3
 
4
4
  var _EventManager_events, _MonthEventManager_events;
@@ -110,4 +110,4 @@ class MonthEventManager {
110
110
  _MonthEventManager_events = new WeakMap();
111
111
 
112
112
  export { EventManager as E, MonthEventManager as M };
113
- //# sourceMappingURL=event-manager-D-QCmUgR.js.map
113
+ //# sourceMappingURL=event-manager-DTyX2uYD.js.map