@redvars/peacock 3.3.0 → 3.3.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 (159) hide show
  1. package/dist/{IndividualComponent-tDnXrOLV.js → IndividualComponent-Dt5xirYG.js} +2 -2
  2. package/dist/{IndividualComponent-tDnXrOLV.js.map → IndividualComponent-Dt5xirYG.js.map} +1 -1
  3. package/dist/array-D5vjT2Xm.js +14 -0
  4. package/dist/array-D5vjT2Xm.js.map +1 -0
  5. package/dist/assets/components.css +1 -1
  6. package/dist/assets/components.css.map +1 -1
  7. package/dist/assets/styles.css +1 -1
  8. package/dist/assets/styles.css.map +1 -1
  9. package/dist/{button-BGFJfbT2.js → button-ClzS8JLq.js} +3 -4
  10. package/dist/{button-BGFJfbT2.js.map → button-ClzS8JLq.js.map} +1 -1
  11. package/dist/button-group-BMS5WvaF.js +292 -0
  12. package/dist/button-group-BMS5WvaF.js.map +1 -0
  13. package/dist/button-group.js +6 -107
  14. package/dist/button-group.js.map +1 -1
  15. package/dist/button.js +3 -4
  16. package/dist/button.js.map +1 -1
  17. package/dist/card.js +104 -0
  18. package/dist/card.js.map +1 -0
  19. package/dist/chart-bar-DbnXQgvS.js +1121 -0
  20. package/dist/chart-bar-DbnXQgvS.js.map +1 -0
  21. package/dist/chart-bar.js +259 -0
  22. package/dist/chart-bar.js.map +1 -0
  23. package/dist/chart-donut.js +4 -2
  24. package/dist/chart-donut.js.map +1 -1
  25. package/dist/chart-doughnut.js +4 -2
  26. package/dist/chart-doughnut.js.map +1 -1
  27. package/dist/chart-pie.js +4 -2
  28. package/dist/chart-pie.js.map +1 -1
  29. package/dist/chart-stacked-bar.js +401 -0
  30. package/dist/chart-stacked-bar.js.map +1 -0
  31. package/dist/{class-map-DpeNtqCn.js → class-map-59YGWLnx.js} +9 -3
  32. package/dist/class-map-59YGWLnx.js.map +1 -0
  33. package/dist/clock.js +1 -1
  34. package/dist/code-editor.js +7 -7
  35. package/dist/code-editor.js.map +1 -1
  36. package/dist/code-highlighter.js +7 -25
  37. package/dist/code-highlighter.js.map +1 -1
  38. package/dist/custom-elements-jsdocs.json +8824 -5047
  39. package/dist/custom-elements.json +7468 -4147
  40. package/dist/index.js +16 -10
  41. package/dist/index.js.map +1 -1
  42. package/dist/number-counter.js +2 -2
  43. package/dist/{observe-theme-change-BISF-Gl5.js → observe-theme-change-pALI5fmV.js} +2 -2
  44. package/dist/{observe-theme-change-BISF-Gl5.js.map → observe-theme-change-pALI5fmV.js.map} +1 -1
  45. package/dist/peacock-loader.js +42 -1016
  46. package/dist/peacock-loader.js.map +1 -1
  47. package/dist/pie-Dz0IDiPt.js +537 -0
  48. package/dist/pie-Dz0IDiPt.js.map +1 -0
  49. package/dist/{slider-Dk9CFWTG.js → snackbar-74YCdMPL.js} +6205 -3206
  50. package/dist/snackbar-74YCdMPL.js.map +1 -0
  51. package/dist/src/accordion/accordion-item.d.ts +1 -0
  52. package/dist/src/breadcrumb/breadcrumb/breadcrumb.d.ts +2 -0
  53. package/dist/src/breadcrumb/breadcrumb-item/breadcrumb-item.d.ts +1 -0
  54. package/dist/src/button/button-group/button-group.d.ts +4 -0
  55. package/dist/src/card/card.d.ts +27 -0
  56. package/dist/src/card/index.d.ts +1 -0
  57. package/dist/src/chart-bar/chart-bar.d.ts +53 -0
  58. package/dist/src/chart-bar/chart-stacked-bar.d.ts +78 -0
  59. package/dist/src/chart-bar/index.d.ts +2 -0
  60. package/dist/src/code-editor/code-editor.d.ts +4 -3
  61. package/dist/src/code-highlighter/code-highlighter.d.ts +4 -7
  62. package/dist/src/index.d.ts +9 -0
  63. package/dist/src/menu/index.d.ts +3 -0
  64. package/dist/src/menu/menu/MenuSurfaceController.d.ts +18 -0
  65. package/dist/src/menu/menu/menu.d.ts +54 -12
  66. package/dist/src/menu/menu-item/menu-item.d.ts +12 -5
  67. package/dist/src/menu/sub-menu/sub-menu.d.ts +36 -0
  68. package/dist/src/pagination/index.d.ts +1 -0
  69. package/dist/src/pagination/pagination.d.ts +38 -0
  70. package/dist/src/popover/PopoverController.d.ts +4 -1
  71. package/dist/src/snackbar/index.d.ts +1 -0
  72. package/dist/src/snackbar/snackbar.d.ts +40 -0
  73. package/dist/src/table/index.d.ts +1 -0
  74. package/dist/src/table/table.d.ts +110 -0
  75. package/dist/src/tabs/tab-group.d.ts +5 -1
  76. package/dist/src/tabs/tab-panel.d.ts +2 -0
  77. package/dist/src/tabs/tab.d.ts +3 -1
  78. package/dist/src/tabs/tabs.d.ts +2 -0
  79. package/dist/src/tooltip/tooltip.d.ts +1 -3
  80. package/dist/src/tree-view/index.d.ts +2 -0
  81. package/dist/src/tree-view/tree-node.d.ts +69 -0
  82. package/dist/src/tree-view/tree-view.d.ts +40 -0
  83. package/dist/src/tree-view/wc-tree-view.d.ts +6 -0
  84. package/dist/{style-map-CfNHEkQp.js → style-map-DcB52w-l.js} +2 -2
  85. package/dist/{style-map-CfNHEkQp.js.map → style-map-DcB52w-l.js.map} +1 -1
  86. package/dist/test/card.test.d.ts +1 -0
  87. package/dist/test/chart-bar.test.d.ts +1 -0
  88. package/dist/test/icon.test.d.ts +1 -1
  89. package/dist/test/menu.test.d.ts +1 -0
  90. package/dist/test/snackbar.test.d.ts +1 -0
  91. package/dist/test/sub-menu.test.d.ts +1 -0
  92. package/dist/test/tree-view.test.d.ts +1 -0
  93. package/dist/{transform-DRuHEvar.js → transform-DSwFSqzD.js} +13 -558
  94. package/dist/transform-DSwFSqzD.js.map +1 -0
  95. package/dist/tsconfig.tsbuildinfo +1 -1
  96. package/dist/{unsafe-html-CV6Je6HL.js → unsafe-html-C2r3PyzF.js} +2 -2
  97. package/dist/{unsafe-html-CV6Je6HL.js.map → unsafe-html-C2r3PyzF.js.map} +1 -1
  98. package/package.json +1 -1
  99. package/readme.md +40 -40
  100. package/src/accordion/accordion-item.ts +2 -1
  101. package/src/breadcrumb/breadcrumb/breadcrumb.ts +3 -0
  102. package/src/breadcrumb/breadcrumb-item/breadcrumb-item.ts +1 -0
  103. package/src/button/button-group/button-group.ts +6 -0
  104. package/src/card/card.scss +61 -0
  105. package/src/card/card.ts +38 -0
  106. package/src/card/index.ts +1 -0
  107. package/src/chart-bar/chart-bar.scss +58 -0
  108. package/src/chart-bar/chart-bar.ts +306 -0
  109. package/src/chart-bar/chart-stacked-bar.ts +402 -0
  110. package/src/chart-bar/index.ts +2 -0
  111. package/src/code-editor/code-editor.ts +4 -3
  112. package/src/code-highlighter/code-highlighter.ts +4 -22
  113. package/src/divider/divider.scss +2 -2
  114. package/src/empty-state/empty-state.scss +1 -1
  115. package/src/empty-state/empty-state.ts +1 -1
  116. package/src/index.ts +11 -2
  117. package/src/menu/index.ts +3 -0
  118. package/src/menu/menu/MenuSurfaceController.ts +61 -0
  119. package/src/menu/{menu-list/menu-list.scss → menu/menu.scss} +19 -4
  120. package/src/menu/menu/menu.ts +389 -81
  121. package/src/menu/menu-item/menu-item.ts +115 -36
  122. package/src/menu/sub-menu/sub-menu.scss +7 -0
  123. package/src/menu/sub-menu/sub-menu.ts +243 -0
  124. package/src/pagination/index.ts +1 -0
  125. package/src/pagination/pagination.scss +59 -0
  126. package/src/pagination/pagination.ts +135 -0
  127. package/src/peacock-loader.ts +39 -11
  128. package/src/popover/PopoverController.ts +13 -7
  129. package/src/snackbar/demo/index.html +29 -0
  130. package/src/snackbar/index.ts +1 -0
  131. package/src/snackbar/snackbar.scss +73 -0
  132. package/src/snackbar/snackbar.ts +151 -0
  133. package/src/table/index.ts +1 -0
  134. package/src/table/table.scss +174 -0
  135. package/src/table/table.ts +475 -0
  136. package/src/tabs/tab-group.ts +63 -28
  137. package/src/tabs/tab-panel.scss +3 -3
  138. package/src/tabs/tab-panel.ts +3 -0
  139. package/src/tabs/tab.scss +76 -2
  140. package/src/tabs/tab.ts +29 -6
  141. package/src/tabs/tabs.scss +6 -5
  142. package/src/tabs/tabs.ts +19 -5
  143. package/src/text/text.css-component.scss +6 -3
  144. package/src/tooltip/tooltip.scss +16 -13
  145. package/src/tooltip/tooltip.ts +7 -9
  146. package/src/tree-view/demo/index.html +57 -0
  147. package/src/tree-view/index.ts +2 -0
  148. package/src/tree-view/tree-node.scss +101 -0
  149. package/src/tree-view/tree-node.ts +268 -0
  150. package/src/tree-view/tree-view.scss +12 -0
  151. package/src/tree-view/tree-view.ts +182 -0
  152. package/src/tree-view/wc-tree-view.ts +9 -0
  153. package/dist/class-map-DpeNtqCn.js.map +0 -1
  154. package/dist/slider-Dk9CFWTG.js.map +0 -1
  155. package/dist/src/menu/menu-list/menu-list.d.ts +0 -22
  156. package/dist/state-8v48Exzh.js +0 -10
  157. package/dist/state-8v48Exzh.js.map +0 -1
  158. package/dist/transform-DRuHEvar.js.map +0 -1
  159. package/src/menu/menu-list/menu-list.ts +0 -48
@@ -0,0 +1,292 @@
1
+ import { a as i, _ as __decorate, n, c as __classPrivateFieldGet, b, I as IndividualComponent, i as i$1 } from './IndividualComponent-Dt5xirYG.js';
2
+ import { e } from './class-map-59YGWLnx.js';
3
+ import { c as css_248z$2, a as css_248z$3, b as BaseButton, s as spread, B as Button } from './button-ClzS8JLq.js';
4
+ import { t as throttle } from './dispatch-event-utils-B4odODQf.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
+ .button-group {
15
+ display: flex;
16
+ gap: var(--_button-group-gap);
17
+ }
18
+ .button-group slot::slotted(:first-child) {
19
+ --button-container-shape-start-start: 50%;
20
+ --button-container-shape-end-start: 50%;
21
+ --button-container-shape-start-end: var(--shape-corner-medium);
22
+ --button-container-shape-end-end: var(--shape-corner-medium);
23
+ --button-container-shape-variant: unset;
24
+ }
25
+ .button-group slot::slotted(:last-child) {
26
+ --button-container-shape-end-end: 50%;
27
+ --button-container-shape-start-end: 50%;
28
+ --button-container-shape-end-start: var(--shape-corner-medium);
29
+ --button-container-shape-start-start: var(--shape-corner-medium);
30
+ --button-container-shape-variant: unset;
31
+ }
32
+ .button-group slot::slotted(:only-child) {
33
+ --button-container-shape: 50%;
34
+ }
35
+
36
+ .button-group.size-xs,
37
+ .button-group.size-extra-small {
38
+ --_button-group-gap: 0.125rem;
39
+ }
40
+
41
+ .button-group.size-sm,
42
+ .button-group.size-small {
43
+ --_button-group-gap: 0.125rem;
44
+ }
45
+
46
+ .button-group.size-md,
47
+ .button-group.size-medium {
48
+ --_button-group-gap: 0.125rem;
49
+ }
50
+
51
+ .button-group.size-lg,
52
+ .button-group.size-large {
53
+ --_button-group-gap: 0.125rem;
54
+ }
55
+
56
+ .button-group.size-xl {
57
+ --_button-group-gap: 0.125rem;
58
+ }`;
59
+
60
+ var css_248z = i`.button {
61
+ --_container-padding: 0.75rem;
62
+ width: var(--_button-height);
63
+ --_container-padding: 0;
64
+ }
65
+
66
+ .button.size-xs,
67
+ .button.size-extra-small {
68
+ --_button-height: 2rem;
69
+ --_button-icon-size: 1rem;
70
+ }
71
+
72
+ .button.size-sm,
73
+ .button.size-small {
74
+ --_button-height: 2.5rem;
75
+ --_button-icon-size: 1.25rem;
76
+ --_button-icon-label-spacing: 0.5rem;
77
+ }
78
+
79
+ .button.size-md,
80
+ .button.size-medium {
81
+ --_button-height: 3.5rem;
82
+ --_button-icon-size: 1.5rem;
83
+ }
84
+
85
+ .button.size-lg,
86
+ .button.size-large {
87
+ --_button-height: 6rem;
88
+ --_button-icon-size: 2rem;
89
+ }
90
+
91
+ .button.size-xl {
92
+ --_button-height: 8.5rem;
93
+ --_button-icon-size: 2.5rem;
94
+ }`;
95
+
96
+ var _IconButton_id, _IconButton_tabindex;
97
+ /**
98
+ * @label Icon Button
99
+ * @tag wc-icon-button
100
+ * @rawTag icon-button
101
+ *
102
+ * @summary Icon buttons allow users to take actions, and make choices, with a single tap.
103
+ *
104
+ * @overview
105
+ * <p>Icon buttons are clickable elements that are used to trigger actions. They communicate calls to action to the user and allow users to interact with pages in a variety of ways. IconButton labels express what action will occur when the user interacts with it.</p>
106
+ *
107
+ * @cssprop --button-container-shape: Defines the border radius of the button container shape.
108
+ *
109
+ * @cssprop --button-container-shape-start-start: Defines the start position of the button container shape.
110
+ * @cssprop --button-container-shape-start-end: Defines the end position of the button container shape.
111
+ * @cssprop --button-container-shape-end-start: Defines the start position of the button container shape.
112
+ * @cssprop --button-container-shape-end-end: Defines the end position of the button container shape.
113
+ *
114
+ *
115
+ * @cssprop --filled-button-container-color: Color of the filled button container.
116
+ * @cssprop --filled-button-label-text-color: Text color of the filled button label.
117
+ *
118
+ * @cssprop --outlined-button-container-color: Color of the outlined button container.
119
+ * @cssprop --outlined-button-label-text-color: Text color of the outlined button label.
120
+ *
121
+ * @cssprop --text-button-label-text-color: Text color of the text button label.
122
+ *
123
+ * @cssprop --tonal-button-container-color: Color of the tonal button container.
124
+ * @cssprop --tonal-button-label-text-color: Text color of the tonal button label.
125
+ *
126
+ * @cssprop --elevated-button-container-color: Color of the elevated button container.
127
+ * @cssprop --elevated-button-label-text-color: Text color of the elevated button label.
128
+ *
129
+ * @cssprop --neo-button-container-color: Color of the neo button container.
130
+ * @cssprop --neo-button-label-text-color: Text color of the neo button label.
131
+ *
132
+ * @fires {CustomEvent} button:click - Dispatched when the button is clicked.
133
+ *
134
+ * @example
135
+ * ```html
136
+ * <wc-icon-button name="home"></wc-icon-button>
137
+ * ```
138
+ * @tags display
139
+ */
140
+ class IconButton extends BaseButton {
141
+ constructor() {
142
+ super(...arguments);
143
+ _IconButton_id.set(this, crypto.randomUUID());
144
+ _IconButton_tabindex.set(this, 0);
145
+ this.provider = 'material-symbols';
146
+ }
147
+ firstUpdated() {
148
+ this.__dispatchClickWithThrottle = throttle(this.__dispatchClick, this.throttleDelay);
149
+ this.__convertTypeToVariantAndColor();
150
+ }
151
+ render() {
152
+ const isLink = this.__isLink();
153
+ const cssClasses = {
154
+ button: true,
155
+ 'button-element': true,
156
+ [`size-${this.size}`]: true,
157
+ [`variant-${this.variant}`]: true,
158
+ [`color-${this.color}`]: true,
159
+ disabled: this.disabled || this.softDisabled,
160
+ pressed: this.isPressed,
161
+ skeleton: this.skeleton,
162
+ };
163
+ if (!isLink) {
164
+ return b `<button
165
+ class=${e(cssClasses)}
166
+ id="button"
167
+ tabindex=${__classPrivateFieldGet(this, _IconButton_tabindex, "f")}
168
+ type=${this.htmlType}
169
+ @click=${this.__dispatchClickWithThrottle}
170
+ @mousedown=${this.__handlePress}
171
+ @keydown=${this.__handlePress}
172
+ @keyup=${this.__handlePress}
173
+ ?aria-describedby=${(this.disabled || this.softDisabled) &&
174
+ this.disabledReason
175
+ ? `disabled-reason-${__classPrivateFieldGet(this, _IconButton_id, "f")}`
176
+ : null}
177
+ aria-disabled=${`${this.disabled || this.softDisabled}`}
178
+ ?disabled=${this.disabled}
179
+ ${spread(this.configAria)}
180
+ >
181
+ ${this.renderButtonContent()}
182
+ </button>
183
+ ${this.__renderTooltip()}`;
184
+ }
185
+ return b `<a
186
+ class=${e(cssClasses)}
187
+ id="button"
188
+ tabindex=${__classPrivateFieldGet(this, _IconButton_tabindex, "f")}
189
+ href=${this.href}
190
+ target=${this.target}
191
+ @click=${this.__dispatchClickWithThrottle}
192
+ @mousedown=${this.__handlePress}
193
+ @keydown=${this.__handlePress}
194
+ @keyup=${this.__handlePress}
195
+ role="button"
196
+ aria-describedby=${this.disabled && this.disabledReason
197
+ ? `disabled-reason-${__classPrivateFieldGet(this, _IconButton_id, "f")}`
198
+ : null}
199
+ aria-disabled=${`${this.disabled}`}
200
+ ${spread(this.configAria)}
201
+ >
202
+ ${this.renderButtonContent()}
203
+ </a>
204
+ ${this.__renderTooltip()}`;
205
+ }
206
+ renderButtonContent() {
207
+ return b `
208
+ <wc-focus-ring class="focus-ring" .control=${this} element="buttonElement"></wc-focus-ring>
209
+ <wc-elevation class="elevation"></wc-elevation>
210
+ <div class="neo-background"></div>
211
+ <div class="background"></div>
212
+ <div class="outline"></div>
213
+ <wc-ripple class="ripple"></wc-ripple>
214
+ <wc-skeleton class="skeleton"></wc-skeleton>
215
+
216
+ <div class="button-content">
217
+ <wc-icon
218
+ name=${this.name}
219
+ src=${this.src}
220
+ provider=${this.provider}
221
+ ></wc-icon>
222
+ </div>
223
+
224
+ ${this.__renderDisabledReason()}
225
+ `;
226
+ }
227
+ }
228
+ _IconButton_id = new WeakMap(), _IconButton_tabindex = new WeakMap();
229
+ IconButton.styles = [css_248z$2, css_248z$3, css_248z];
230
+ __decorate([
231
+ n({ type: String, reflect: true })
232
+ ], IconButton.prototype, "name", void 0);
233
+ __decorate([
234
+ n({ type: String, reflect: true })
235
+ ], IconButton.prototype, "src", void 0);
236
+ __decorate([
237
+ n({ type: String })
238
+ ], IconButton.prototype, "provider", void 0);
239
+
240
+ /**
241
+ * @label Button Group
242
+ * @tag wc-button-group
243
+ * @rawTag button-group
244
+ *
245
+ * @summary Group a series of buttons together on a single line with the button group, and super-power.
246
+
247
+ * @example
248
+ * ```html
249
+ * <wc-button-group>
250
+ * <wc-icon-button name="home"></wc-icon-button>
251
+ * <wc-icon-button name="alarm"></wc-icon-button>
252
+ * </wc-button-group>
253
+ * ```
254
+ *
255
+ * @tags controls
256
+ */
257
+ let ButtonGroup = class ButtonGroup extends i$1 {
258
+ constructor() {
259
+ super(...arguments);
260
+ /**
261
+ * Button size.
262
+ * Possible values are `"sm"`, `"md"`, `"lg"`. Defaults to `"md"`.
263
+ */
264
+ this.size = 'sm';
265
+ }
266
+ render() {
267
+ const cssClasses = {
268
+ 'button-group': true,
269
+ [`size-${this.size}`]: true,
270
+ };
271
+ return b `
272
+ <div class=${e(cssClasses)}>
273
+ <slot></slot>
274
+ </div>
275
+ `;
276
+ }
277
+ };
278
+ // Lit prefers CSS-in-JS for better performance and scoping.
279
+ // If you prefer keeping the SCSS file, you'll need a build tool (like Vite or Webpack)
280
+ // that can import .scss files as lit-css.
281
+ ButtonGroup.styles = [css_248z$1];
282
+ ButtonGroup.Button = Button;
283
+ ButtonGroup.IconButton = IconButton;
284
+ __decorate([
285
+ n()
286
+ ], ButtonGroup.prototype, "size", void 0);
287
+ ButtonGroup = __decorate([
288
+ IndividualComponent
289
+ ], ButtonGroup);
290
+
291
+ export { ButtonGroup as B, IconButton as I };
292
+ //# sourceMappingURL=button-group-BMS5WvaF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-group-BMS5WvaF.js","sources":["../../src/button/icon-button/icon-button.ts","../../src/button/button-group/button-group.ts"],"sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport styles from '../button/button.scss';\nimport colorStyles from '../button/button-colors.scss';\nimport sizeStyles from './icon-button-sizes.scss';\nimport { spread } from '../../spread.js';\nimport { BaseButton } from '../BaseButton.js';\nimport { IconProvider } from '../../icon/icon.js';\nimport { throttle } from '../../utils.js';\n\n/**\n * @label Icon Button\n * @tag wc-icon-button\n * @rawTag icon-button\n *\n * @summary Icon buttons allow users to take actions, and make choices, with a single tap.\n *\n * @overview\n * <p>Icon buttons are clickable elements that are used to trigger actions. They communicate calls to action to the user and allow users to interact with pages in a variety of ways. IconButton labels express what action will occur when the user interacts with it.</p>\n *\n * @cssprop --button-container-shape: Defines the border radius of the button container shape.\n *\n * @cssprop --button-container-shape-start-start: Defines the start position of the button container shape.\n * @cssprop --button-container-shape-start-end: Defines the end position of the button container shape.\n * @cssprop --button-container-shape-end-start: Defines the start position of the button container shape.\n * @cssprop --button-container-shape-end-end: Defines the end position of the button container shape.\n *\n *\n * @cssprop --filled-button-container-color: Color of the filled button container.\n * @cssprop --filled-button-label-text-color: Text color of the filled button label.\n *\n * @cssprop --outlined-button-container-color: Color of the outlined button container.\n * @cssprop --outlined-button-label-text-color: Text color of the outlined button label.\n *\n * @cssprop --text-button-label-text-color: Text color of the text button label.\n *\n * @cssprop --tonal-button-container-color: Color of the tonal button container.\n * @cssprop --tonal-button-label-text-color: Text color of the tonal button label.\n *\n * @cssprop --elevated-button-container-color: Color of the elevated button container.\n * @cssprop --elevated-button-label-text-color: Text color of the elevated button label.\n *\n * @cssprop --neo-button-container-color: Color of the neo button container.\n * @cssprop --neo-button-label-text-color: Text color of the neo button label.\n *\n * @fires {CustomEvent} button:click - Dispatched when the button is clicked.\n *\n * @example\n * ```html\n * <wc-icon-button name=\"home\"></wc-icon-button>\n * ```\n * @tags display\n */\nexport class IconButton extends BaseButton {\n static override styles = [styles, colorStyles, sizeStyles];\n\n #id = crypto.randomUUID();\n\n #tabindex?: number = 0;\n\n @property({ type: String, reflect: true }) name?: string;\n\n @property({ type: String, reflect: true }) src?: string;\n\n @property({ type: String }) provider: IconProvider = 'material-symbols';\n\n override firstUpdated() {\n this.__dispatchClickWithThrottle = throttle(\n this.__dispatchClick,\n this.throttleDelay,\n );\n this.__convertTypeToVariantAndColor();\n }\n\n override render() {\n const isLink = this.__isLink();\n\n const cssClasses = {\n button: true,\n 'button-element': true,\n [`size-${this.size}`]: true,\n [`variant-${this.variant}`]: true,\n [`color-${this.color}`]: true,\n disabled: this.disabled || this.softDisabled,\n pressed: this.isPressed,\n skeleton: this.skeleton,\n };\n\n if (!isLink) {\n return html`<button\n class=${classMap(cssClasses)}\n id=\"button\"\n tabindex=${this.#tabindex}\n type=${this.htmlType}\n @click=${this.__dispatchClickWithThrottle}\n @mousedown=${this.__handlePress}\n @keydown=${this.__handlePress}\n @keyup=${this.__handlePress}\n ?aria-describedby=${(this.disabled || this.softDisabled) &&\n this.disabledReason\n ? `disabled-reason-${this.#id}`\n : null}\n aria-disabled=${`${this.disabled || this.softDisabled}`}\n ?disabled=${this.disabled}\n ${spread(this.configAria)}\n >\n ${this.renderButtonContent()}\n </button>\n ${this.__renderTooltip()}`;\n }\n return html`<a\n class=${classMap(cssClasses)}\n id=\"button\"\n tabindex=${this.#tabindex}\n href=${this.href}\n target=${this.target}\n @click=${this.__dispatchClickWithThrottle}\n @mousedown=${this.__handlePress}\n @keydown=${this.__handlePress}\n @keyup=${this.__handlePress}\n role=\"button\"\n aria-describedby=${this.disabled && this.disabledReason\n ? `disabled-reason-${this.#id}`\n : null}\n aria-disabled=${`${this.disabled}`}\n ${spread(this.configAria)}\n >\n ${this.renderButtonContent()}\n </a>\n ${this.__renderTooltip()}`;\n }\n\n renderButtonContent() {\n return html`\n <wc-focus-ring class=\"focus-ring\" .control=${this} element=\"buttonElement\"></wc-focus-ring>\n <wc-elevation class=\"elevation\"></wc-elevation>\n <div class=\"neo-background\"></div>\n <div class=\"background\"></div>\n <div class=\"outline\"></div>\n <wc-ripple class=\"ripple\"></wc-ripple>\n <wc-skeleton class=\"skeleton\"></wc-skeleton>\n\n <div class=\"button-content\">\n <wc-icon\n name=${this.name}\n src=${this.src}\n provider=${this.provider}\n ></wc-icon>\n </div>\n\n ${this.__renderDisabledReason()}\n `;\n }\n}\n","import { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport IndividualComponent from 'src/IndividualComponent.js';\nimport styles from './button-group.scss';\nimport { Button } from '../button/button.js';\nimport { IconButton } from '../icon-button/icon-button.js';\n\n/**\n * @label Button Group\n * @tag wc-button-group\n * @rawTag button-group\n *\n * @summary Group a series of buttons together on a single line with the button group, and super-power.\n\n * @example\n * ```html\n * <wc-button-group>\n * <wc-icon-button name=\"home\"></wc-icon-button>\n * <wc-icon-button name=\"alarm\"></wc-icon-button>\n * </wc-button-group>\n * ```\n *\n * @tags controls\n */\n@IndividualComponent\nexport class ButtonGroup extends LitElement {\n // Lit prefers CSS-in-JS for better performance and scoping.\n // If you prefer keeping the SCSS file, you'll need a build tool (like Vite or Webpack)\n // that can import .scss files as lit-css.\n static styles = [styles];\n\n static Button = Button;\n\n static IconButton = IconButton;\n\n /**\n * Button size.\n * Possible values are `\"sm\"`, `\"md\"`, `\"lg\"`. Defaults to `\"md\"`.\n */\n @property() size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' = 'sm';\n\n render() {\n const cssClasses = {\n 'button-group': true,\n [`size-${this.size}`]: true,\n };\n return html`\n <div class=${classMap(cssClasses)}>\n <slot></slot>\n </div>\n `;\n }\n}\n"],"names":["html","classMap","styles","colorStyles","sizeStyles","property","LitElement"],"mappings":"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"}
@@ -1,109 +1,8 @@
1
- import { i, _ as __decorate, n, I as IndividualComponent, a as i$1, b } from './IndividualComponent-tDnXrOLV.js';
2
- import { e } from './class-map-DpeNtqCn.js';
1
+ import './IndividualComponent-Dt5xirYG.js';
2
+ import './class-map-59YGWLnx.js';
3
+ export { B as ButtonGroup } from './button-group-BMS5WvaF.js';
4
+ import './button-ClzS8JLq.js';
3
5
  import './directive-Cuw6h7YA.js';
4
-
5
- var css_248z = i`* {
6
- box-sizing: border-box;
7
- }
8
-
9
- .screen-reader-only {
10
- display: none !important;
11
- }
12
-
13
- .button-group {
14
- display: flex;
15
- gap: var(--_button-group-gap);
16
- }
17
- .button-group slot::slotted(:first-child) {
18
- --button-container-shape-start-start: 50%;
19
- --button-container-shape-end-start: 50%;
20
- --button-container-shape-start-end: var(--shape-corner-medium);
21
- --button-container-shape-end-end: var(--shape-corner-medium);
22
- --button-container-shape-variant: unset;
23
- }
24
- .button-group slot::slotted(:last-child) {
25
- --button-container-shape-end-end: 50%;
26
- --button-container-shape-start-end: 50%;
27
- --button-container-shape-end-start: var(--shape-corner-medium);
28
- --button-container-shape-start-start: var(--shape-corner-medium);
29
- --button-container-shape-variant: unset;
30
- }
31
- .button-group slot::slotted(:only-child) {
32
- --button-container-shape: 50%;
33
- }
34
-
35
- .button-group.size-xs,
36
- .button-group.size-extra-small {
37
- --_button-group-gap: 0.125rem;
38
- }
39
-
40
- .button-group.size-sm,
41
- .button-group.size-small {
42
- --_button-group-gap: 0.125rem;
43
- }
44
-
45
- .button-group.size-md,
46
- .button-group.size-medium {
47
- --_button-group-gap: 0.125rem;
48
- }
49
-
50
- .button-group.size-lg,
51
- .button-group.size-large {
52
- --_button-group-gap: 0.125rem;
53
- }
54
-
55
- .button-group.size-xl {
56
- --_button-group-gap: 0.125rem;
57
- }`;
58
-
59
- /**
60
- * @label Button Group
61
- * @tag wc-button-group
62
- * @rawTag button-group
63
- *
64
- * @summary Group a series of buttons together on a single line with the button group, and super-power.
65
-
66
- * @example
67
- * ```html
68
- * <wc-button-group>
69
- * <wc-icon-button name="home"></wc-icon-button>
70
- * <wc-icon-button name="alarm"></wc-icon-button>
71
- * </wc-button-group>
72
- * ```
73
- *
74
- * @tags controls
75
- */
76
- let ButtonGroup = class ButtonGroup extends i$1 {
77
- constructor() {
78
- super(...arguments);
79
- /**
80
- * Button size.
81
- * Possible values are `"sm"`, `"md"`, `"lg"`. Defaults to `"md"`.
82
- */
83
- this.size = 'sm';
84
- }
85
- render() {
86
- const cssClasses = {
87
- 'button-group': true,
88
- [`size-${this.size}`]: true,
89
- };
90
- return b `
91
- <div class=${e(cssClasses)}>
92
- <slot></slot>
93
- </div>
94
- `;
95
- }
96
- };
97
- // Lit prefers CSS-in-JS for better performance and scoping.
98
- // If you prefer keeping the SCSS file, you'll need a build tool (like Vite or Webpack)
99
- // that can import .scss files as lit-css.
100
- ButtonGroup.styles = [css_248z];
101
- __decorate([
102
- n()
103
- ], ButtonGroup.prototype, "size", void 0);
104
- ButtonGroup = __decorate([
105
- IndividualComponent
106
- ], ButtonGroup);
107
-
108
- export { ButtonGroup };
6
+ import './dispatch-event-utils-B4odODQf.js';
7
+ import './query-QBcUV-L_.js';
109
8
  //# sourceMappingURL=button-group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-group.js","sources":["../../src/button/button-group/button-group.ts"],"sourcesContent":["import { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport IndividualComponent from 'src/IndividualComponent.js';\nimport styles from './button-group.scss';\n\n/**\n * @label Button Group\n * @tag wc-button-group\n * @rawTag button-group\n *\n * @summary Group a series of buttons together on a single line with the button group, and super-power.\n\n * @example\n * ```html\n * <wc-button-group>\n * <wc-icon-button name=\"home\"></wc-icon-button>\n * <wc-icon-button name=\"alarm\"></wc-icon-button>\n * </wc-button-group>\n * ```\n *\n * @tags controls\n */\n@IndividualComponent\nexport class ButtonGroup extends LitElement {\n // Lit prefers CSS-in-JS for better performance and scoping.\n // If you prefer keeping the SCSS file, you'll need a build tool (like Vite or Webpack)\n // that can import .scss files as lit-css.\n static styles = [styles];\n\n /**\n * Button size.\n * Possible values are `\"sm\"`, `\"md\"`, `\"lg\"`. Defaults to `\"md\"`.\n */\n @property() size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' = 'sm';\n\n render() {\n const cssClasses = {\n 'button-group': true,\n [`size-${this.size}`]: true,\n };\n return html`\n <div class=${classMap(cssClasses)}>\n <slot></slot>\n </div>\n `;\n }\n}\n"],"names":["LitElement","html","classMap","styles","property"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;;;;;;;;;;;;;;;;AAgBG;AAEI,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQA,GAAU,CAAA;AAApC,IAAA,WAAA,GAAA;;AAML;;;AAGG;QACS,IAAA,CAAA,IAAI,GAAqC,IAAI;IAa3D;IAXE,MAAM,GAAA;AACJ,QAAA,MAAM,UAAU,GAAG;AACjB,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAA,CAAE,GAAG,IAAI;SAC5B;AACD,QAAA,OAAOC,CAAI,CAAA;mBACIC,CAAQ,CAAC,UAAU,CAAC,CAAA;;;KAGlC;IACH;;AArBA;AACA;AACA;AACO,WAAA,CAAA,MAAM,GAAG,CAACC,QAAM,CAAC;AAMZ,UAAA,CAAA;AAAX,IAAAC,CAAQ;AAAiD,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAV/C,WAAW,GAAA,UAAA,CAAA;IADvB;AACY,CAAA,EAAA,WAAW,CAuBvB;;;;"}
1
+ {"version":3,"file":"button-group.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
package/dist/button.js CHANGED
@@ -1,7 +1,6 @@
1
- import './IndividualComponent-tDnXrOLV.js';
2
- import './state-8v48Exzh.js';
3
- import './class-map-DpeNtqCn.js';
4
- export { B as Button } from './button-BGFJfbT2.js';
1
+ import './IndividualComponent-Dt5xirYG.js';
2
+ import './class-map-59YGWLnx.js';
3
+ export { B as Button } from './button-ClzS8JLq.js';
5
4
  import './dispatch-event-utils-B4odODQf.js';
6
5
  import './directive-Cuw6h7YA.js';
7
6
  import './query-QBcUV-L_.js';
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
1
+ {"version":3,"file":"button.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
package/dist/card.js ADDED
@@ -0,0 +1,104 @@
1
+ import { a as i, _ as __decorate, n, I as IndividualComponent, i as i$1, b } from './IndividualComponent-Dt5xirYG.js';
2
+
3
+ var css_248z = i`:host {
4
+ display: block;
5
+ --card-background: var(--color-surface, #ffffff);
6
+ --card-border-color: transparent;
7
+ --card-shadow: none;
8
+ --card-shape: var(--global-shape-corner-large, 1rem);
9
+ --card-padding: 1rem;
10
+ --card-gap: 0;
11
+ }
12
+
13
+ .card {
14
+ display: flex;
15
+ flex-direction: column;
16
+ gap: var(--card-gap);
17
+ background: var(--card-background);
18
+ border-radius: var(--card-shape);
19
+ border: 1px solid var(--card-border-color);
20
+ box-shadow: var(--card-shadow);
21
+ color: var(--color-on-surface, inherit);
22
+ padding: var(--card-padding);
23
+ transition: box-shadow 150ms ease, transform 150ms ease;
24
+ }
25
+
26
+ :host([variant=elevated]) {
27
+ --card-background: var(--color-surface-container-low, #fdfcfe);
28
+ --card-shadow: var(--shadow-sm, 0px 1px 3px rgba(16, 24, 40, 0.1), 0px 1px 2px rgba(16, 24, 40, 0.06));
29
+ }
30
+
31
+ :host([variant=filled]) {
32
+ --card-background: var(--color-surface-container-highest, #f5f5f5);
33
+ --card-shadow: none;
34
+ }
35
+
36
+ :host([variant=outlined]) {
37
+ --card-border-color: var(--color-outline, rgba(0, 0, 0, 0.12));
38
+ --card-shadow: none;
39
+ }
40
+
41
+ :host([elevation="0"]) {
42
+ --card-shadow: none;
43
+ }
44
+
45
+ :host([elevation="1"]) {
46
+ --card-shadow: var(--shadow-sm, 0px 1px 3px rgba(16, 24, 40, 0.1), 0px 1px 2px rgba(16, 24, 40, 0.06));
47
+ }
48
+
49
+ :host([elevation="2"]) {
50
+ --card-shadow: var(--shadow-md, 0px 4px 8px -2px rgba(16, 24, 40, 0.1), 0px 2px 4px -2px rgba(16, 24, 40, 0.06));
51
+ }
52
+
53
+ :host([elevation="3"]) {
54
+ --card-shadow: var(--shadow-lg, 0px 12px 16px -4px rgba(16, 24, 40, 0.08), 0px 4px 6px -2px rgba(16, 24, 40, 0.03));
55
+ }
56
+
57
+ :host([elevation="4"]) {
58
+ --card-shadow: var(--shadow-xl, 0px 20px 24px -4px rgba(16, 24, 40, 0.08), 0px 8px 8px -4px rgba(16, 24, 40, 0.03));
59
+ }
60
+
61
+ :host([elevation="5"]) {
62
+ --card-shadow: var(--shadow-xxl, 0px 24px 48px -12px rgba(16, 24, 40, 0.18));
63
+ }`;
64
+
65
+ /**
66
+ * @label Card
67
+ * @tag wc-card
68
+ * @rawTag card
69
+ * @summary A Material 3 inspired card surface for grouping related content.
70
+ * @cssprop --card-padding - Inner padding for the card container. Defaults to 1rem.
71
+ * @cssprop --card-shape - Corner radius for the card container. Defaults to a large radius.
72
+ * @cssprop --card-gap - Gap between slotted children.
73
+ *
74
+ * @example
75
+ * ```html
76
+ * <wc-card variant="outlined">
77
+ * <h3>Title</h3>
78
+ * <p>Supportive text</p>
79
+ * </wc-card>
80
+ * ```
81
+ */
82
+ let Card = class Card extends i$1 {
83
+ constructor() {
84
+ super(...arguments);
85
+ this.variant = 'elevated';
86
+ this.elevation = 1;
87
+ }
88
+ render() {
89
+ return b `<div class="card"><slot></slot></div>`;
90
+ }
91
+ };
92
+ Card.styles = [css_248z];
93
+ __decorate([
94
+ n({ type: String, reflect: true })
95
+ ], Card.prototype, "variant", void 0);
96
+ __decorate([
97
+ n({ type: Number, reflect: true })
98
+ ], Card.prototype, "elevation", void 0);
99
+ Card = __decorate([
100
+ IndividualComponent
101
+ ], Card);
102
+
103
+ export { Card };
104
+ //# sourceMappingURL=card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.js","sources":["../../src/card/card.ts"],"sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport IndividualComponent from '../IndividualComponent.js';\nimport styles from './card.scss';\n\ntype CardVariant = 'elevated' | 'filled' | 'outlined';\ntype CardElevation = 0 | 1 | 2 | 3 | 4 | 5;\n/**\n * @label Card\n * @tag wc-card\n * @rawTag card\n * @summary A Material 3 inspired card surface for grouping related content.\n * @cssprop --card-padding - Inner padding for the card container. Defaults to 1rem.\n * @cssprop --card-shape - Corner radius for the card container. Defaults to a large radius.\n * @cssprop --card-gap - Gap between slotted children.\n *\n * @example\n * ```html\n * <wc-card variant=\"outlined\">\n * <h3>Title</h3>\n * <p>Supportive text</p>\n * </wc-card>\n * ```\n */\n@IndividualComponent\nexport class Card extends LitElement {\n static styles = [styles];\n\n @property({ type: String, reflect: true })\n variant: CardVariant = 'elevated';\n\n @property({ type: Number, reflect: true })\n elevation: CardElevation = 1;\n\n render() {\n return html`<div class=\"card\"><slot></slot></div>`;\n }\n}\n"],"names":["LitElement","html","styles","property"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;;;;;;;;;;;;;;;;AAgBG;AAEI,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQA,GAAU,CAAA;AAA7B,IAAA,WAAA,GAAA;;QAIL,IAAA,CAAA,OAAO,GAAgB,UAAU;QAGjC,IAAA,CAAA,SAAS,GAAkB,CAAC;IAK9B;IAHE,MAAM,GAAA;QACJ,OAAOC,CAAI,CAAA,CAAA,qCAAA,CAAuC;IACpD;;AAVO,IAAA,CAAA,MAAM,GAAG,CAACC,QAAM,CAAC;AAGxB,UAAA,CAAA;IADCC,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACP,CAAA,EAAA,IAAA,CAAA,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AAGlC,UAAA,CAAA;IADCA,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACZ,CAAA,EAAA,IAAA,CAAA,SAAA,EAAA,WAAA,EAAA,MAAA,CAAA;AAPlB,IAAI,GAAA,UAAA,CAAA;IADhB;AACY,CAAA,EAAA,IAAI,CAYhB;;;;"}