@redvars/peacock 3.3.3 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. package/dist/IndividualComponent-DUINtMGK.js +67 -0
  2. package/dist/IndividualComponent-DUINtMGK.js.map +1 -0
  3. package/dist/assets/images/empty-state/no-document.svg +11 -12
  4. package/dist/assets/images/empty-state/page.svg +15 -9
  5. package/dist/assets/styles.css +1 -1
  6. package/dist/assets/styles.css.map +1 -1
  7. package/dist/banner.js +202 -0
  8. package/dist/banner.js.map +1 -0
  9. package/dist/bottom-sheet.js +238 -0
  10. package/dist/bottom-sheet.js.map +1 -0
  11. package/dist/{button-ClzS8JLq.js → button-DMN1dPAg.js} +358 -218
  12. package/dist/button-DMN1dPAg.js.map +1 -0
  13. package/dist/button-group-CX9CUUXk.js +435 -0
  14. package/dist/button-group-CX9CUUXk.js.map +1 -0
  15. package/dist/button-group.js +11 -6
  16. package/dist/button-group.js.map +1 -1
  17. package/dist/button.js +10 -5
  18. package/dist/button.js.map +1 -1
  19. package/dist/card-content.js +29 -0
  20. package/dist/card-content.js.map +1 -0
  21. package/dist/card.js +428 -44
  22. package/dist/card.js.map +1 -1
  23. package/dist/{chart-bar-DbnXQgvS.js → chart-bar-cn6rrna-.js} +2 -2
  24. package/dist/{chart-bar-DbnXQgvS.js.map → chart-bar-cn6rrna-.js.map} +1 -1
  25. package/dist/chart-bar.js +5 -4
  26. package/dist/chart-bar.js.map +1 -1
  27. package/dist/chart-doughnut.js +2 -1
  28. package/dist/chart-doughnut.js.map +1 -1
  29. package/dist/chart-pie.js +2 -1
  30. package/dist/chart-pie.js.map +1 -1
  31. package/dist/chart-stacked-bar.js +5 -4
  32. package/dist/chart-stacked-bar.js.map +1 -1
  33. package/dist/{class-map-59YGWLnx.js → class-map-YU7g0o3B.js} +4 -10
  34. package/dist/class-map-YU7g0o3B.js.map +1 -0
  35. package/dist/clock.js +2 -1
  36. package/dist/clock.js.map +1 -1
  37. package/dist/code-editor.js +8 -6
  38. package/dist/code-editor.js.map +1 -1
  39. package/dist/code-highlighter.js +6 -4
  40. package/dist/code-highlighter.js.map +1 -1
  41. package/dist/custom-elements-jsdocs.json +6270 -5026
  42. package/dist/custom-elements.json +5763 -2049
  43. package/dist/directive-ZPhl09Yt.js +9 -0
  44. package/dist/directive-ZPhl09Yt.js.map +1 -0
  45. package/dist/dispatch-event-utils-CuEqjlPT.js +127 -0
  46. package/dist/dispatch-event-utils-CuEqjlPT.js.map +1 -0
  47. package/dist/fab-C5Nzxk0E.js +497 -0
  48. package/dist/fab-C5Nzxk0E.js.map +1 -0
  49. package/dist/fab.js +11 -0
  50. package/dist/fab.js.map +1 -0
  51. package/dist/index.js +24 -12
  52. package/dist/index.js.map +1 -1
  53. package/dist/{observe-theme-change-pALI5fmV.js → is-dark-mode-DicqGkCJ.js} +8 -3
  54. package/dist/is-dark-mode-DicqGkCJ.js.map +1 -0
  55. package/dist/notification.js +417 -0
  56. package/dist/notification.js.map +1 -0
  57. package/dist/number-counter.js +4 -3
  58. package/dist/number-counter.js.map +1 -1
  59. package/dist/observe-slot-change-BGJfgg2E.js +31 -0
  60. package/dist/observe-slot-change-BGJfgg2E.js.map +1 -0
  61. package/dist/peacock-loader.js +59 -10
  62. package/dist/peacock-loader.js.map +1 -1
  63. package/dist/property-1psGvXOq.js +10 -0
  64. package/dist/property-1psGvXOq.js.map +1 -0
  65. package/dist/search.js +452 -0
  66. package/dist/search.js.map +1 -0
  67. package/dist/{radio-b70_Ie9n.js → select-4pl4XBj7.js} +2439 -521
  68. package/dist/select-4pl4XBj7.js.map +1 -0
  69. package/dist/side-sheet.js +186 -0
  70. package/dist/side-sheet.js.map +1 -0
  71. package/dist/spread-B5cgadZl.js +32 -0
  72. package/dist/spread-B5cgadZl.js.map +1 -0
  73. package/dist/src/__base_element/BaseHyperlink.d.ts +20 -0
  74. package/dist/src/__utils/cache-fetch.d.ts +1 -0
  75. package/dist/src/__utils/is-dark-mode.d.ts +1 -0
  76. package/dist/src/__utils/is-in-viewport.d.ts +1 -0
  77. package/dist/src/__utils/observe-slot-change.d.ts +1 -0
  78. package/dist/src/__utils/sanitize-svg.d.ts +1 -0
  79. package/dist/src/__utils/throttle.d.ts +4 -0
  80. package/dist/src/accordion/accordion-item.d.ts +33 -9
  81. package/dist/src/accordion/accordion.d.ts +21 -5
  82. package/dist/src/banner/banner.d.ts +47 -0
  83. package/dist/src/banner/index.d.ts +1 -0
  84. package/dist/src/bottom-sheet/bottom-sheet.d.ts +42 -0
  85. package/dist/src/bottom-sheet/index.d.ts +1 -0
  86. package/dist/src/button/BaseButton.d.ts +7 -13
  87. package/dist/src/button/button/button.d.ts +4 -0
  88. package/dist/src/button/button-group/button-group.d.ts +32 -3
  89. package/dist/src/button/icon-button/icon-button.d.ts +4 -0
  90. package/dist/src/card/card-content.d.ts +15 -0
  91. package/dist/src/card/card.d.ts +37 -3
  92. package/dist/src/card/index.d.ts +1 -0
  93. package/dist/src/container/container.d.ts +1 -1
  94. package/dist/src/empty-state/empty-state.d.ts +1 -1
  95. package/dist/src/fab/fab.d.ts +111 -0
  96. package/dist/src/fab/index.d.ts +1 -0
  97. package/dist/src/focus-ring/focus-ring.d.ts +4 -1
  98. package/dist/src/index.d.ts +11 -1
  99. package/dist/src/link/link.d.ts +3 -10
  100. package/dist/src/menu/menu/menu.d.ts +4 -2
  101. package/dist/src/menu/menu-item/menu-item.d.ts +0 -1
  102. package/dist/src/menu/sub-menu/sub-menu.d.ts +1 -0
  103. package/dist/src/notification/index.d.ts +1 -0
  104. package/dist/src/notification/notification.d.ts +69 -0
  105. package/dist/src/pagination/pagination.d.ts +8 -1
  106. package/dist/src/ripple/ripple.d.ts +19 -3
  107. package/dist/src/search/index.d.ts +1 -0
  108. package/dist/src/search/search.d.ts +76 -0
  109. package/dist/src/segmented-button/index.d.ts +2 -0
  110. package/dist/src/segmented-button/segmented-button-group.d.ts +46 -0
  111. package/dist/src/segmented-button/segmented-button.d.ts +65 -0
  112. package/dist/src/select/index.d.ts +3 -0
  113. package/dist/src/select/option.d.ts +55 -0
  114. package/dist/src/select/select.d.ts +114 -0
  115. package/dist/src/side-sheet/index.d.ts +1 -0
  116. package/dist/src/side-sheet/side-sheet.d.ts +41 -0
  117. package/dist/src/slider/slider.d.ts +4 -0
  118. package/dist/src/snackbar/snackbar.d.ts +14 -1
  119. package/dist/src/tabs/tab-group.d.ts +0 -1
  120. package/dist/src/tabs/tab.d.ts +8 -2
  121. package/dist/src/tabs/tabs.d.ts +13 -1
  122. package/dist/src/toolbar/index.d.ts +1 -0
  123. package/dist/src/toolbar/toolbar.d.ts +86 -0
  124. package/dist/state-DwbEjqVk.js +10 -0
  125. package/dist/state-DwbEjqVk.js.map +1 -0
  126. package/dist/{style-map-DcB52w-l.js → style-map-DVmWOuYy.js} +3 -3
  127. package/dist/{style-map-DcB52w-l.js.map → style-map-DVmWOuYy.js.map} +1 -1
  128. package/dist/test/search.test.d.ts +1 -0
  129. package/dist/test/toolbar.test.d.ts +1 -0
  130. package/dist/throttle-C7ZAPqtu.js +24 -0
  131. package/dist/throttle-C7ZAPqtu.js.map +1 -0
  132. package/dist/toolbar.js +306 -0
  133. package/dist/toolbar.js.map +1 -0
  134. package/dist/tsconfig.tsbuildinfo +1 -1
  135. package/dist/{unsafe-html-C2r3PyzF.js → unsafe-html-BsGUjx94.js} +3 -3
  136. package/dist/{unsafe-html-C2r3PyzF.js.map → unsafe-html-BsGUjx94.js.map} +1 -1
  137. package/package.json +1 -1
  138. package/readme.md +2 -2
  139. package/scss/styles.scss +4 -0
  140. package/src/__base_element/BaseHyperlink.ts +42 -0
  141. package/src/__base_element/README.md +19 -0
  142. package/src/__utils/cache-fetch.ts +65 -0
  143. package/src/{utils → __utils}/dispatch-event-utils.ts +1 -0
  144. package/src/__utils/is-dark-mode.ts +3 -0
  145. package/src/__utils/is-in-viewport.ts +6 -0
  146. package/src/__utils/observe-slot-change.ts +38 -0
  147. package/src/__utils/sanitize-svg.ts +27 -0
  148. package/src/__utils/throttle.ts +27 -0
  149. package/src/accordion/accordion-item.scss +136 -65
  150. package/src/accordion/accordion-item.ts +117 -44
  151. package/src/accordion/accordion.scss +24 -5
  152. package/src/accordion/accordion.ts +29 -23
  153. package/src/accordion/demo/index.html +74 -35
  154. package/src/banner/banner.scss +87 -0
  155. package/src/banner/banner.ts +107 -0
  156. package/src/banner/index.ts +1 -0
  157. package/src/bottom-sheet/bottom-sheet.scss +88 -0
  158. package/src/bottom-sheet/bottom-sheet.ts +135 -0
  159. package/src/bottom-sheet/index.ts +1 -0
  160. package/src/button/BaseButton.ts +26 -30
  161. package/src/button/button/button-colors.scss +90 -19
  162. package/src/button/button/button-sizes.scss +39 -19
  163. package/src/button/button/button.scss +117 -116
  164. package/src/button/button/button.ts +29 -6
  165. package/src/button/button-group/button-group.scss +25 -22
  166. package/src/button/button-group/button-group.ts +122 -5
  167. package/src/button/icon-button/icon-button-sizes.scss +35 -15
  168. package/src/button/icon-button/icon-button.ts +25 -12
  169. package/src/card/card-colors.scss +10 -0
  170. package/src/card/card-content.ts +26 -0
  171. package/src/card/card.scss +221 -41
  172. package/src/card/card.ts +251 -8
  173. package/src/card/index.ts +1 -0
  174. package/src/chart-bar/chart-bar.ts +1 -1
  175. package/src/chart-bar/chart-stacked-bar.ts +3 -1
  176. package/src/chart-doughnut/chart-doughnut.ts +1 -1
  177. package/src/chart-pie/chart-pie.ts +1 -1
  178. package/src/checkbox/checkbox.ts +1 -1
  179. package/src/clock/clock.ts +1 -1
  180. package/src/code-editor/code-editor.ts +5 -5
  181. package/src/code-highlighter/code-highlighter.ts +2 -2
  182. package/src/container/container.ts +1 -1
  183. package/src/date-picker/date-picker.ts +5 -2
  184. package/src/divider/divider.ts +3 -1
  185. package/src/empty-state/empty-state.scss +9 -3
  186. package/src/empty-state/empty-state.ts +2 -2
  187. package/src/fab/fab-colors.scss +49 -0
  188. package/src/fab/fab-sizes.scss +47 -0
  189. package/src/fab/fab.scss +137 -0
  190. package/src/fab/fab.ts +285 -0
  191. package/src/fab/index.ts +1 -0
  192. package/src/field/field.ts +3 -1
  193. package/src/focus-ring/focus-ring.ts +37 -19
  194. package/src/icon/datasource.ts +1 -1
  195. package/src/icon/icon.ts +3 -1
  196. package/src/image/image.ts +3 -2
  197. package/src/index.ts +12 -1
  198. package/src/input/input.ts +5 -2
  199. package/src/link/link.ts +2 -15
  200. package/src/menu/menu/menu.scss +31 -3
  201. package/src/menu/menu/menu.ts +30 -6
  202. package/src/menu/menu-item/menu-item.scss +1 -0
  203. package/src/menu/menu-item/menu-item.ts +1 -9
  204. package/src/menu/sub-menu/sub-menu.ts +1 -0
  205. package/src/notification/index.ts +1 -0
  206. package/src/notification/notification.scss +201 -0
  207. package/src/notification/notification.ts +206 -0
  208. package/src/number-counter/number-counter.ts +3 -1
  209. package/src/number-field/number-field.ts +4 -2
  210. package/src/pagination/pagination.scss +33 -24
  211. package/src/pagination/pagination.ts +113 -60
  212. package/src/peacock-loader.ts +48 -0
  213. package/src/radio/radio.ts +3 -1
  214. package/src/ripple/ripple.ts +19 -3
  215. package/src/search/index.ts +1 -0
  216. package/src/search/search-colors.scss +14 -0
  217. package/src/search/search.scss +204 -0
  218. package/src/search/search.ts +240 -0
  219. package/src/segmented-button/index.ts +2 -0
  220. package/src/segmented-button/segmented-button-group.scss +21 -0
  221. package/src/segmented-button/segmented-button-group.ts +110 -0
  222. package/src/segmented-button/segmented-button.scss +115 -0
  223. package/src/segmented-button/segmented-button.ts +175 -0
  224. package/src/select/index.ts +3 -0
  225. package/src/select/option.ts +109 -0
  226. package/src/select/select.scss +125 -0
  227. package/src/select/select.ts +520 -0
  228. package/src/side-sheet/index.ts +1 -0
  229. package/src/side-sheet/side-sheet.scss +79 -0
  230. package/src/side-sheet/side-sheet.ts +100 -0
  231. package/src/slider/slider.scss +19 -1
  232. package/src/slider/slider.ts +30 -19
  233. package/src/snackbar/snackbar.scss +62 -31
  234. package/src/snackbar/snackbar.ts +92 -12
  235. package/src/switch/switch.ts +3 -1
  236. package/src/table/table.ts +3 -1
  237. package/src/tabs/demo/index.html +90 -0
  238. package/src/tabs/tab-group.ts +0 -3
  239. package/src/tabs/tab.scss +237 -25
  240. package/src/tabs/tab.ts +91 -14
  241. package/src/tabs/tabs.scss +37 -3
  242. package/src/tabs/tabs.ts +118 -2
  243. package/src/textarea/textarea.ts +4 -2
  244. package/src/time-picker/time-picker.ts +4 -2
  245. package/src/toolbar/index.ts +1 -0
  246. package/src/toolbar/toolbar-colors.scss +16 -0
  247. package/src/toolbar/toolbar.scss +165 -0
  248. package/src/toolbar/toolbar.ts +137 -0
  249. package/dist/IndividualComponent-Dt5xirYG.js +0 -73
  250. package/dist/IndividualComponent-Dt5xirYG.js.map +0 -1
  251. package/dist/button-ClzS8JLq.js.map +0 -1
  252. package/dist/button-group-BMS5WvaF.js +0 -292
  253. package/dist/button-group-BMS5WvaF.js.map +0 -1
  254. package/dist/chart-donut.js +0 -309
  255. package/dist/chart-donut.js.map +0 -1
  256. package/dist/class-map-59YGWLnx.js.map +0 -1
  257. package/dist/directive-Cuw6h7YA.js +0 -9
  258. package/dist/directive-Cuw6h7YA.js.map +0 -1
  259. package/dist/dispatch-event-utils-B4odODQf.js +0 -277
  260. package/dist/dispatch-event-utils-B4odODQf.js.map +0 -1
  261. package/dist/observe-theme-change-pALI5fmV.js.map +0 -1
  262. package/dist/radio-b70_Ie9n.js.map +0 -1
  263. package/dist/src/chart-donut/chart-donut.d.ts +0 -53
  264. package/dist/src/chart-donut/index.d.ts +0 -1
  265. package/dist/src/styleMixins.css.d.ts +0 -9
  266. package/dist/src/utils.d.ts +0 -9
  267. package/src/chart-donut/chart-donut.scss +0 -37
  268. package/src/chart-donut/chart-donut.ts +0 -287
  269. package/src/chart-donut/demo/index.html +0 -51
  270. package/src/chart-donut/index.ts +0 -1
  271. package/src/styleMixins.css.ts +0 -55
  272. package/src/utils.ts +0 -193
  273. /package/dist/src/{spread.d.ts → __directive/spread.d.ts} +0 -0
  274. /package/dist/src/{utils → __utils}/copy-to-clipboard.d.ts +0 -0
  275. /package/dist/src/{utils → __utils}/dispatch-event-utils.d.ts +0 -0
  276. /package/dist/src/{utils → __utils}/observe-theme-change.d.ts +0 -0
  277. /package/dist/test/{card.test.d.ts → banner.test.d.ts} +0 -0
  278. /package/src/{spread.ts → __directive/spread.ts} +0 -0
  279. /package/src/{utils → __utils}/copy-to-clipboard.ts +0 -0
  280. /package/src/{utils → __utils}/observe-theme-change.ts +0 -0
@@ -0,0 +1,306 @@
1
+ import { a as i, _ as __decorate, I as IndividualComponent, i as i$1, b } from './IndividualComponent-DUINtMGK.js';
2
+ import { n } from './property-1psGvXOq.js';
3
+ import { e } from './class-map-YU7g0o3B.js';
4
+ import './directive-ZPhl09Yt.js';
5
+
6
+ var css_248z$1 = i`* {
7
+ box-sizing: border-box;
8
+ }
9
+
10
+ .screen-reader-only {
11
+ display: none !important;
12
+ }
13
+
14
+ :host {
15
+ display: block;
16
+ --toolbar-container-shape: var(--shape-corner-full);
17
+ --toolbar-docked-container-shape: var(--shape-corner-extra-large) var(--shape-corner-extra-large) var(--shape-corner-none) var(--shape-corner-none);
18
+ --toolbar-height: 5rem; /* 80dp - small/default docked */
19
+ --toolbar-padding-inline: 0.75rem;
20
+ --toolbar-gap: 0.5rem;
21
+ --toolbar-shadow: none;
22
+ }
23
+
24
+ /* ---- Shared toolbar base ---- */
25
+ .toolbar {
26
+ position: relative;
27
+ display: flex;
28
+ align-items: center;
29
+ gap: var(--toolbar-gap);
30
+ padding-inline: var(--toolbar-padding-inline);
31
+ min-height: var(--toolbar-height);
32
+ width: 100%;
33
+ box-sizing: border-box;
34
+ color: var(--_toolbar-title-color);
35
+ --icon-color: var(--_toolbar-icon-color);
36
+ box-shadow: var(--toolbar-shadow);
37
+ }
38
+
39
+ .toolbar-content {
40
+ position: relative;
41
+ z-index: 1;
42
+ display: flex;
43
+ align-items: center;
44
+ min-width: 0;
45
+ }
46
+
47
+ .background {
48
+ position: absolute;
49
+ inset: 0;
50
+ background-color: var(--_toolbar-container-color);
51
+ pointer-events: none;
52
+ z-index: 0;
53
+ }
54
+
55
+ /* ---- Docked variant ---- */
56
+ .toolbar.variant-docked {
57
+ width: 100%;
58
+ padding-inline: var(--toolbar-padding-inline);
59
+ padding-block-start: 0.5rem;
60
+ padding-block-end: calc(0.5rem + env(safe-area-inset-bottom, 0px));
61
+ }
62
+ .toolbar.variant-docked .background {
63
+ border-radius: var(--toolbar-docked-container-shape);
64
+ }
65
+ .toolbar.variant-docked .toolbar-content {
66
+ width: 100%;
67
+ justify-content: space-between;
68
+ gap: var(--toolbar-gap);
69
+ overflow-x: auto;
70
+ overflow-y: hidden;
71
+ scrollbar-width: none;
72
+ }
73
+ .toolbar.variant-docked .toolbar-content::-webkit-scrollbar {
74
+ display: none;
75
+ }
76
+ .toolbar.variant-docked ::slotted(*) {
77
+ position: relative;
78
+ z-index: 1;
79
+ flex-shrink: 0;
80
+ }
81
+ .toolbar.variant-docked ::slotted(wc-icon-button) {
82
+ --button-container-shape: var(--shape-corner-full);
83
+ --button-container-shape-variant: round;
84
+ }
85
+ .toolbar.variant-docked {
86
+ /* Size variants */
87
+ }
88
+ .toolbar.variant-docked.size-small {
89
+ --toolbar-height: 5rem;
90
+ }
91
+ .toolbar.variant-docked.size-medium {
92
+ --toolbar-height: 6rem;
93
+ }
94
+ .toolbar.variant-docked.size-large {
95
+ --toolbar-height: 7rem;
96
+ }
97
+ .toolbar.variant-docked.elevated {
98
+ --toolbar-shadow: var(--elevation-shadow-level-3, 0 4px 8px rgba(0, 0, 0, 0.15));
99
+ }
100
+
101
+ /* ---- Floating variant ---- */
102
+ .toolbar.variant-floating {
103
+ --toolbar-container-shape: var(--shape-corner-full);
104
+ border-radius: var(--toolbar-container-shape);
105
+ width: auto;
106
+ display: inline-flex;
107
+ padding: 0.75rem;
108
+ gap: 0.5rem;
109
+ }
110
+ .toolbar.variant-floating .elevation {
111
+ --elevation-level: 3;
112
+ --elevation-container-shape: var(--toolbar-container-shape);
113
+ --elevation-container-shape-variant: round;
114
+ }
115
+ .toolbar.variant-floating .background {
116
+ border-radius: var(--toolbar-container-shape);
117
+ }
118
+ .toolbar.variant-floating .toolbar-content {
119
+ width: auto;
120
+ gap: 0.5rem;
121
+ }
122
+ .toolbar.variant-floating ::slotted(*) {
123
+ position: relative;
124
+ z-index: 1;
125
+ }
126
+ .toolbar.variant-floating ::slotted(wc-icon-button) {
127
+ --button-container-shape: var(--shape-corner-full);
128
+ --button-container-shape-variant: round;
129
+ }
130
+ .toolbar.variant-floating.orientation-horizontal {
131
+ min-height: auto;
132
+ padding-block: 0.5rem;
133
+ padding-inline: 0.75rem;
134
+ }
135
+ .toolbar.variant-floating.orientation-horizontal .toolbar-content {
136
+ flex-direction: row;
137
+ align-items: center;
138
+ }
139
+ .toolbar.variant-floating.orientation-vertical {
140
+ min-height: auto;
141
+ width: auto;
142
+ padding-block: 0.75rem;
143
+ padding-inline: 0.5rem;
144
+ }
145
+ .toolbar.variant-floating.orientation-vertical .toolbar-content {
146
+ flex-direction: column;
147
+ align-items: center;
148
+ }
149
+ .toolbar.variant-floating.elevated .elevation {
150
+ --elevation-level: 4;
151
+ }`;
152
+
153
+ var css_248z = i`:host {
154
+ /* Docked toolbar */
155
+ --toolbar-container-color: var(--color-surface-container);
156
+ --toolbar-title-color: var(--color-on-surface);
157
+ --toolbar-icon-color: var(--color-on-surface-variant);
158
+ /* Internal aliases used by styles */
159
+ --_toolbar-container-color: var(--toolbar-container-color);
160
+ --_toolbar-title-color: var(--toolbar-title-color);
161
+ --_toolbar-icon-color: var(--toolbar-icon-color);
162
+ }
163
+
164
+ /* Floating variant uses surface-container-high for a visible pill */
165
+ :host([variant=floating]) {
166
+ --toolbar-container-color: var(--color-surface-container-high);
167
+ }`;
168
+
169
+ var Toolbar_1;
170
+ /**
171
+ * @label Toolbar
172
+ * @tag wc-toolbar
173
+ * @rawTag toolbar
174
+ *
175
+ * @summary A Material 3 toolbar / app bar for navigation and actions.
176
+ * @overview
177
+ * <p>The toolbar component implements the Material 3 app bar pattern. It supports a
178
+ * docked (attached) variant for bottom-panel navigation and a floating (detached pill-shaped)
179
+ * variant. The floating variant supports both horizontal and vertical orientations.</p>
180
+ *
181
+ * <p>Render toolbar actions directly as children of the component. The docked variant is
182
+ * optimized for a horizontal action row, while the floating variant supports both horizontal
183
+ * and vertical layouts.</p>
184
+ *
185
+ * @cssprop --toolbar-container-color - Background color of the toolbar.
186
+ * @cssprop --toolbar-container-shape - Border radius of the toolbar. Relevant for the floating variant.
187
+ * @cssprop --toolbar-height - Height of the toolbar (docked horizontal / floating horizontal).
188
+ * @cssprop --toolbar-padding-inline - Inline padding of the toolbar.
189
+ * @cssprop --toolbar-gap - Gap between toolbar sections.
190
+ * @cssprop --toolbar-icon-color - Color of icon slots.
191
+ * @cssprop --toolbar-title-color - Color of the title (default slot) text.
192
+ * @cssprop --toolbar-shadow - Box-shadow of the toolbar.
193
+ *
194
+ * @example
195
+ * ```html
196
+ * <!-- Docked toolbar -->
197
+ * <wc-toolbar>
198
+ * <wc-icon-button variant="text" name="home"></wc-icon-button>
199
+ * <wc-icon-button variant="tonal" name="search"></wc-icon-button>
200
+ * <wc-icon-button variant="text" name="favorite"></wc-icon-button>
201
+ * <wc-icon-button variant="text" name="account_circle"></wc-icon-button>
202
+ * </wc-toolbar>
203
+ * ```
204
+ *
205
+ * @example
206
+ * ```html
207
+ * <!-- Floating horizontal toolbar -->
208
+ * <wc-toolbar variant="floating" orientation="horizontal">
209
+ * <wc-icon-button variant="tonal" name="home"></wc-icon-button>
210
+ * <wc-icon-button variant="text" name="search"></wc-icon-button>
211
+ * <wc-icon-button variant="text" name="favorite"></wc-icon-button>
212
+ * </wc-toolbar>
213
+ * ```
214
+ *
215
+ * @example
216
+ * ```html
217
+ * <!-- Floating vertical toolbar -->
218
+ * <wc-toolbar variant="floating" orientation="vertical">
219
+ * <wc-icon-button variant="tonal" name="home"></wc-icon-button>
220
+ * <wc-icon-button variant="text" name="search"></wc-icon-button>
221
+ * <wc-icon-button variant="text" name="favorite"></wc-icon-button>
222
+ * </wc-toolbar>
223
+ * ```
224
+ * @tags display navigation
225
+ */
226
+ let Toolbar = Toolbar_1 = class Toolbar extends i$1 {
227
+ constructor() {
228
+ super(...arguments);
229
+ /**
230
+ * Visual and layout variant of the toolbar.
231
+ * - `"docked"`: A full-width bar attached to the edge of the screen (default).
232
+ * - `"floating"`: A detached pill-shaped toolbar that floats over content.
233
+ */
234
+ this.variant = 'docked';
235
+ /**
236
+ * Orientation of the toolbar content.
237
+ * - `"horizontal"`: Items are laid out left to right (default).
238
+ * - `"vertical"`: Items are stacked top to bottom. Primarily useful for the floating variant.
239
+ */
240
+ this.orientation = 'horizontal';
241
+ /**
242
+ * Size of the docked toolbar.
243
+ * - `"small"`: 80dp height (default).
244
+ * - `"medium"`: 96dp height.
245
+ * - `"large"`: 112dp height.
246
+ */
247
+ this.size = 'small';
248
+ /**
249
+ * Whether the toolbar is visually elevated (adds a shadow).
250
+ */
251
+ this.elevated = false;
252
+ }
253
+ render() {
254
+ const cssClasses = {
255
+ toolbar: true,
256
+ [`variant-${this.variant}`]: true,
257
+ [`orientation-${this.orientation}`]: true,
258
+ [`size-${this.size}`]: true,
259
+ elevated: this.elevated,
260
+ };
261
+ if (this.variant === 'floating') {
262
+ return Toolbar_1.__renderFloating(cssClasses);
263
+ }
264
+ return Toolbar_1.__renderDocked(cssClasses);
265
+ }
266
+ static __renderDocked(cssClasses) {
267
+ return b `
268
+ <div class=${e(cssClasses)} role="toolbar">
269
+ <div class="background"></div>
270
+ <div class="toolbar-content">
271
+ <slot></slot>
272
+ </div>
273
+ </div>
274
+ `;
275
+ }
276
+ static __renderFloating(cssClasses) {
277
+ return b `
278
+ <div class=${e(cssClasses)} role="toolbar">
279
+ <wc-elevation class="elevation"></wc-elevation>
280
+ <div class="background"></div>
281
+ <div class="toolbar-content">
282
+ <slot></slot>
283
+ </div>
284
+ </div>
285
+ `;
286
+ }
287
+ };
288
+ Toolbar.styles = [css_248z$1, css_248z];
289
+ __decorate([
290
+ n({ type: String, reflect: true })
291
+ ], Toolbar.prototype, "variant", void 0);
292
+ __decorate([
293
+ n({ type: String, reflect: true })
294
+ ], Toolbar.prototype, "orientation", void 0);
295
+ __decorate([
296
+ n({ type: String, reflect: true })
297
+ ], Toolbar.prototype, "size", void 0);
298
+ __decorate([
299
+ n({ type: Boolean, reflect: true })
300
+ ], Toolbar.prototype, "elevated", void 0);
301
+ Toolbar = Toolbar_1 = __decorate([
302
+ IndividualComponent
303
+ ], Toolbar);
304
+
305
+ export { Toolbar };
306
+ //# sourceMappingURL=toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolbar.js","sources":["../../src/toolbar/toolbar.ts"],"sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport IndividualComponent from '@/IndividualComponent.js';\nimport styles from './toolbar.scss';\nimport colorStyles from './toolbar-colors.scss';\n\n/**\n * @label Toolbar\n * @tag wc-toolbar\n * @rawTag toolbar\n *\n * @summary A Material 3 toolbar / app bar for navigation and actions.\n * @overview\n * <p>The toolbar component implements the Material 3 app bar pattern. It supports a\n * docked (attached) variant for bottom-panel navigation and a floating (detached pill-shaped)\n * variant. The floating variant supports both horizontal and vertical orientations.</p>\n *\n * <p>Render toolbar actions directly as children of the component. The docked variant is\n * optimized for a horizontal action row, while the floating variant supports both horizontal\n * and vertical layouts.</p>\n *\n * @cssprop --toolbar-container-color - Background color of the toolbar.\n * @cssprop --toolbar-container-shape - Border radius of the toolbar. Relevant for the floating variant.\n * @cssprop --toolbar-height - Height of the toolbar (docked horizontal / floating horizontal).\n * @cssprop --toolbar-padding-inline - Inline padding of the toolbar.\n * @cssprop --toolbar-gap - Gap between toolbar sections.\n * @cssprop --toolbar-icon-color - Color of icon slots.\n * @cssprop --toolbar-title-color - Color of the title (default slot) text.\n * @cssprop --toolbar-shadow - Box-shadow of the toolbar.\n *\n * @example\n * ```html\n * <!-- Docked toolbar -->\n * <wc-toolbar>\n * <wc-icon-button variant=\"text\" name=\"home\"></wc-icon-button>\n * <wc-icon-button variant=\"tonal\" name=\"search\"></wc-icon-button>\n * <wc-icon-button variant=\"text\" name=\"favorite\"></wc-icon-button>\n * <wc-icon-button variant=\"text\" name=\"account_circle\"></wc-icon-button>\n * </wc-toolbar>\n * ```\n *\n * @example\n * ```html\n * <!-- Floating horizontal toolbar -->\n * <wc-toolbar variant=\"floating\" orientation=\"horizontal\">\n * <wc-icon-button variant=\"tonal\" name=\"home\"></wc-icon-button>\n * <wc-icon-button variant=\"text\" name=\"search\"></wc-icon-button>\n * <wc-icon-button variant=\"text\" name=\"favorite\"></wc-icon-button>\n * </wc-toolbar>\n * ```\n *\n * @example\n * ```html\n * <!-- Floating vertical toolbar -->\n * <wc-toolbar variant=\"floating\" orientation=\"vertical\">\n * <wc-icon-button variant=\"tonal\" name=\"home\"></wc-icon-button>\n * <wc-icon-button variant=\"text\" name=\"search\"></wc-icon-button>\n * <wc-icon-button variant=\"text\" name=\"favorite\"></wc-icon-button>\n * </wc-toolbar>\n * ```\n * @tags display navigation\n */\n@IndividualComponent\nexport class Toolbar extends LitElement {\n static styles = [styles, colorStyles];\n\n /**\n * Visual and layout variant of the toolbar.\n * - `\"docked\"`: A full-width bar attached to the edge of the screen (default).\n * - `\"floating\"`: A detached pill-shaped toolbar that floats over content.\n */\n @property({ type: String, reflect: true })\n variant: 'docked' | 'floating' = 'docked';\n\n /**\n * Orientation of the toolbar content.\n * - `\"horizontal\"`: Items are laid out left to right (default).\n * - `\"vertical\"`: Items are stacked top to bottom. Primarily useful for the floating variant.\n */\n @property({ type: String, reflect: true })\n orientation: 'horizontal' | 'vertical' = 'horizontal';\n\n /**\n * Size of the docked toolbar.\n * - `\"small\"`: 80dp height (default).\n * - `\"medium\"`: 96dp height.\n * - `\"large\"`: 112dp height.\n */\n @property({ type: String, reflect: true })\n size: 'small' | 'medium' | 'large' = 'small';\n\n /**\n * Whether the toolbar is visually elevated (adds a shadow).\n */\n @property({ type: Boolean, reflect: true })\n elevated: boolean = false;\n\n override render() {\n const cssClasses = {\n toolbar: true,\n [`variant-${this.variant}`]: true,\n [`orientation-${this.orientation}`]: true,\n [`size-${this.size}`]: true,\n elevated: this.elevated,\n };\n\n if (this.variant === 'floating') {\n return Toolbar.__renderFloating(cssClasses);\n }\n\n return Toolbar.__renderDocked(cssClasses);\n }\n\n private static __renderDocked(cssClasses: Record<string, boolean>) {\n return html`\n <div class=${classMap(cssClasses)} role=\"toolbar\">\n <div class=\"background\"></div>\n <div class=\"toolbar-content\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n\n private static __renderFloating(cssClasses: Record<string, boolean>) {\n return html`\n <div class=${classMap(cssClasses)} role=\"toolbar\">\n <wc-elevation class=\"elevation\"></wc-elevation>\n <div class=\"background\"></div>\n <div class=\"toolbar-content\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n}\n"],"names":["LitElement","html","classMap","styles","colorStyles","property"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDG;AAEI,IAAM,OAAO,GAAA,SAAA,GAAb,MAAM,OAAQ,SAAQA,GAAU,CAAA;AAAhC,IAAA,WAAA,GAAA;;AAGL;;;;AAIG;QAEH,IAAA,CAAA,OAAO,GAA0B,QAAQ;AAEzC;;;;AAIG;QAEH,IAAA,CAAA,WAAW,GAA8B,YAAY;AAErD;;;;;AAKG;QAEH,IAAA,CAAA,IAAI,GAAiC,OAAO;AAE5C;;AAEG;QAEH,IAAA,CAAA,QAAQ,GAAY,KAAK;IAwC3B;IAtCW,MAAM,GAAA;AACb,QAAA,MAAM,UAAU,GAAG;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAA,CAAE,GAAG,IAAI;AACjC,YAAA,CAAC,eAAe,IAAI,CAAC,WAAW,CAAA,CAAE,GAAG,IAAI;AACzC,YAAA,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAA,CAAE,GAAG,IAAI;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE;AAC/B,YAAA,OAAO,SAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC;QAC7C;AAEA,QAAA,OAAO,SAAO,CAAC,cAAc,CAAC,UAAU,CAAC;IAC3C;IAEQ,OAAO,cAAc,CAAC,UAAmC,EAAA;AAC/D,QAAA,OAAOC,CAAI,CAAA;mBACIC,CAAQ,CAAC,UAAU,CAAC,CAAA;;;;;;KAMlC;IACH;IAEQ,OAAO,gBAAgB,CAAC,UAAmC,EAAA;AACjE,QAAA,OAAOD,CAAI,CAAA;mBACIC,CAAQ,CAAC,UAAU,CAAC,CAAA;;;;;;;KAOlC;IACH;;AAtEO,OAAA,CAAA,MAAM,GAAG,CAACC,UAAM,EAAEC,QAAW,CAAC;AAQrC,UAAA,CAAA;IADCC,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACC,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AAQ1C,UAAA,CAAA;IADCA,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACa,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,aAAA,EAAA,MAAA,CAAA;AAStD,UAAA,CAAA;IADCA,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACI,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAM7C,UAAA,CAAA;IADCA,CAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAChB,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAhCf,OAAO,GAAA,SAAA,GAAA,UAAA,CAAA;IADnB;AACY,CAAA,EAAA,OAAO,CAwEnB;;;;"}