@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,55 @@
1
+ import { LitElement } from 'lit';
2
+ import type { MenuItem } from '../menu/menu-item/menu-item.js';
3
+ /**
4
+ * @label Select Option
5
+ * @tag wc-option
6
+ * @rawTag option
7
+ * @parentRawTag select
8
+ *
9
+ * @summary A declarative option element for use inside wc-select.
10
+ *
11
+ * @example
12
+ * ```html
13
+ * <wc-select label="Fruit">
14
+ * <wc-option value="apple">Apple</wc-option>
15
+ * <wc-option value="banana">Banana</wc-option>
16
+ * </wc-select>
17
+ * ```
18
+ */
19
+ export declare class SelectOptionElement extends LitElement {
20
+ static styles: import("lit").CSSResult[];
21
+ /**
22
+ * The option's submitted value.
23
+ */
24
+ value: string;
25
+ /**
26
+ * Optional Material Symbol icon name shown before the label.
27
+ */
28
+ icon: string;
29
+ /**
30
+ * Disables the option so it cannot be selected.
31
+ */
32
+ disabled: boolean;
33
+ /** Reflects whether this option is currently selected. Set by wc-select. */
34
+ selected: boolean;
35
+ /**
36
+ * When true the menu stays open after selection (used for multi-select).
37
+ * Set by wc-select.
38
+ */
39
+ keepOpen: boolean;
40
+ /**
41
+ * When true the option is hidden and excluded from keyboard navigation
42
+ * because it does not match the current typeahead search query.
43
+ * Set by wc-select.
44
+ */
45
+ filtered: boolean;
46
+ private readonly _menuItemEl?;
47
+ /**
48
+ * Returns the inner `wc-menu-item` element.
49
+ * `wc-menu` discovers this via its `items` getter which checks `el.item`
50
+ * as a `MenuItem` proxy, so keyboard navigation and activation work
51
+ * without `wc-option` extending `MenuItem` directly.
52
+ */
53
+ get item(): MenuItem | null;
54
+ render(): import("lit-html").TemplateResult<1>;
55
+ }
@@ -0,0 +1,114 @@
1
+ import BaseInput from '../input/BaseInput.js';
2
+ export interface SelectOption {
3
+ label: string;
4
+ value: string;
5
+ icon?: string;
6
+ }
7
+ /**
8
+ * @label Select
9
+ * @tag wc-select
10
+ * @rawTag select
11
+ *
12
+ * @summary A dropdown select component supporting single and multi-select with optional typeahead search.
13
+ * @overview
14
+ * Select builds on wc-field and wc-menu to provide a fully-featured dropdown picker.
15
+ *
16
+ * - Single and multi-select modes
17
+ * - Client-side typeahead with `search="contains"`
18
+ * - Server-side typeahead with `search="managed"`
19
+ * - Multi-select chips display
20
+ *
21
+ * @example
22
+ * ```html
23
+ * <wc-select label="Fruit" placeholder="Pick a fruit...">
24
+ * <wc-option value="apple">Apple</wc-option>
25
+ * <wc-option value="banana">Banana</wc-option>
26
+ * </wc-select>
27
+ * ```
28
+ * @tags form
29
+ */
30
+ export declare class Select extends BaseInput {
31
+ static styles: import("lit").CSSResultGroup[];
32
+ private readonly _menuId;
33
+ /**
34
+ * Array of options to display in the dropdown.
35
+ * Setting this property creates matching `<wc-option>` children automatically.
36
+ */
37
+ options: SelectOption[];
38
+ /**
39
+ * The selected value. For multi-select, a comma-separated list of values.
40
+ */
41
+ value: string;
42
+ /**
43
+ * Enable multi-select mode.
44
+ */
45
+ multiple: boolean;
46
+ /**
47
+ * Enable typeahead search.
48
+ * - `'contains'`: filters options client-side.
49
+ * - `'managed'`: emits a `select-search` event for server-controlled filtering.
50
+ */
51
+ search: '' | 'contains' | 'managed';
52
+ /**
53
+ * Placeholder text shown when no value is selected.
54
+ */
55
+ placeholder: string;
56
+ /**
57
+ * Label displayed above the field.
58
+ */
59
+ label: string;
60
+ /**
61
+ * Visual variant of the field.
62
+ */
63
+ variant: 'filled' | 'outlined' | 'default';
64
+ /**
65
+ * Helper text displayed below the field.
66
+ */
67
+ helperText: string;
68
+ error: boolean;
69
+ errorText: string;
70
+ warning: boolean;
71
+ warningText: string;
72
+ private _open;
73
+ private _focused;
74
+ private _searchQuery;
75
+ /** True when all options are filtered out by the current search query. */
76
+ private _noOptionsVisible;
77
+ private _triggerEl?;
78
+ private get _menu();
79
+ private _searchInputEl?;
80
+ focus(): void;
81
+ blur(): void;
82
+ protected updated(changedProperties: Map<string, unknown>): void;
83
+ /**
84
+ * Reconciles the `options` property with auto-generated `<wc-option>` light-DOM
85
+ * children (marked `data-generated`). Declarative children placed by the
86
+ * consumer are left untouched.
87
+ */
88
+ private _syncProgrammaticOptions;
89
+ /**
90
+ * Pushes `selected`, `keepOpen`, and `filtered` state onto every `<wc-option>`
91
+ * child element so each one can render itself correctly.
92
+ */
93
+ private _syncOptionStates;
94
+ private get _selectedValues();
95
+ private _isSelected;
96
+ /** Returns the display label for a given option value. */
97
+ private _getLabelForValue;
98
+ private get _displayLabel();
99
+ private get _isPopulated();
100
+ private _openMenu;
101
+ private _closeMenu;
102
+ private _handleTriggerClick;
103
+ private _handleFieldClick;
104
+ private _handleTriggerKeyDown;
105
+ private _handleMenuClosed;
106
+ private _handleMenuItemActivate;
107
+ private _dispatchChange;
108
+ private _handleSearchInput;
109
+ private _handleChipDismiss;
110
+ private _renderEmptyState;
111
+ private _renderTriggerContent;
112
+ private _renderFieldEnd;
113
+ render(): import("lit-html").TemplateResult<1>;
114
+ }
@@ -0,0 +1 @@
1
+ export { SideSheet } from './side-sheet.js';
@@ -0,0 +1,41 @@
1
+ import { LitElement } from 'lit';
2
+ /**
3
+ * @label Side Sheet
4
+ * @tag wc-side-sheet
5
+ * @rawTag side-sheet
6
+ * @summary Side sheets slide in from the edge of the screen to reveal supplemental content. Supports standard and modal variants per Material Design 3.
7
+ *
8
+ * @cssprop --side-sheet-container-color - Background color of the sheet container.
9
+ * @cssprop --side-sheet-scrim-color - Color of the modal scrim overlay.
10
+ * @cssprop --side-sheet-shape - Corner radius of the leading edge.
11
+ * @cssprop --side-sheet-width - Width of the side sheet.
12
+ *
13
+ * @example
14
+ * ```html
15
+ * Side Sheet
16
+
17
+ * ```
18
+ * @tags navigation, overlay
19
+ */
20
+ export declare class SideSheet extends LitElement {
21
+ static styles: import("lit").CSSResultGroup[];
22
+ /** Whether the sheet is visible. */
23
+ open: boolean;
24
+ /**
25
+ * Sheet variant.
26
+ * - `"standard"`: Coexists with page content; no scrim.
27
+ * - `"modal"`: Overlays page content with a scrim backdrop.
28
+ */
29
+ variant: 'standard' | 'modal';
30
+ /**
31
+ * Side from which the sheet slides in.
32
+ * - `"left"`: Sheet opens from the left edge.
33
+ * - `"right"`: Sheet opens from the right edge.
34
+ */
35
+ position: 'left' | 'right';
36
+ show(): void;
37
+ hide(): void;
38
+ private _close;
39
+ private _handleScrimClick;
40
+ render(): import("lit-html").TemplateResult<1>;
41
+ }
@@ -40,6 +40,10 @@ export declare class Slider extends LitElement {
40
40
  * Whether to show labels on the slider.
41
41
  */
42
42
  labeled: boolean;
43
+ /**
44
+ * Whether to show the current value beside the slider.
45
+ */
46
+ showValue: boolean;
43
47
  private isDragging;
44
48
  private container;
45
49
  private thumbElement;
@@ -10,29 +10,42 @@ import { LitElement } from 'lit';
10
10
  * @cssprop --snackbar-action-text-color - Action text color.
11
11
  * @cssprop --snackbar-close-icon-color - Close icon color.
12
12
  * @cssprop --snackbar-border-radius - Border radius of the snackbar surface.
13
+ * @cssprop --snackbar-offset-inline - Inline offset from viewport edges.
14
+ * @cssprop --snackbar-offset-bottom - Bottom offset from viewport edge.
15
+ * @cssprop --snackbar-z-index - Stacking order for the snackbar.
13
16
  *
14
17
  * @example
15
18
  * ```html
16
- * <wc-snackbar open message="Message archived" action-label="Undo"></wc-snackbar>
19
+ * <wc-snackbar preview message="Message archived" action-label="Undo"></wc-snackbar>
17
20
  * ```
18
21
  * @tags display, feedback
19
22
  */
20
23
  export declare class Snackbar extends LitElement {
21
24
  static styles: import("lit").CSSResultGroup[];
25
+ private static readonly GLOBAL_OPEN_EVENT;
26
+ private static readonly EXIT_ANIMATION_MS;
22
27
  open: boolean;
23
28
  message: string;
24
29
  actionLabel: string;
25
30
  showCloseIcon: boolean;
26
31
  duration: number;
27
32
  multiline: boolean;
33
+ preview: boolean;
34
+ private dismissing;
28
35
  private hideTimer;
36
+ private exitTimer;
37
+ private readonly handleGlobalSnackbarOpen;
38
+ connectedCallback(): void;
29
39
  show(): void;
30
40
  hide(): void;
31
41
  private close;
42
+ private completeDismiss;
32
43
  private dispatchActionEvent;
33
44
  private handleActionClick;
34
45
  private handleCloseClick;
35
46
  private clearTimer;
47
+ private clearExitTimer;
48
+ private handleAnimationEnd;
36
49
  private scheduleAutoHide;
37
50
  protected updated(changedProperties: Map<string, unknown>): void;
38
51
  disconnectedCallback(): void;
@@ -29,7 +29,6 @@ export declare class TabGroup extends LitElement {
29
29
  static styles: import("lit").CSSResultGroup[];
30
30
  static Tabs: typeof Tabs;
31
31
  static TabPanel: typeof TabPanel;
32
- variant: 'line' | 'line-secondary' | 'contained' | 'pill';
33
32
  connectedCallback(): void;
34
33
  disconnectedCallback(): void;
35
34
  firstUpdated(): void;
@@ -1,4 +1,5 @@
1
1
  import { LitElement, nothing } from 'lit';
2
+ import type { Tabs } from './tabs.js';
2
3
  /**
3
4
  * @label Tab
4
5
  * @tag wc-tab
@@ -21,7 +22,6 @@ export declare class Tab extends LitElement {
21
22
  active: boolean;
22
23
  disabled: boolean;
23
24
  disabledReason: string;
24
- label?: string;
25
25
  value?: string;
26
26
  configAria?: {
27
27
  [key: string]: any;
@@ -53,8 +53,14 @@ export declare class Tab extends LitElement {
53
53
  __dispatchClick: (event: MouseEvent | KeyboardEvent) => void;
54
54
  __handlePress: (event: KeyboardEvent | MouseEvent) => void;
55
55
  __isLink(): boolean;
56
+ __getParentTabsVariant(): Tabs['variant'];
56
57
  render(): import("lit-html").TemplateResult<1>;
57
- renderTabContent(): import("lit-html").TemplateResult<1>;
58
+ renderTabContent(variant: Tabs['variant']): import("lit-html").TemplateResult<1>;
59
+ renderPrimaryTabContent(): import("lit-html").TemplateResult<1>;
60
+ renderSecondaryTabContent(): import("lit-html").TemplateResult<1>;
61
+ renderContainedTabContent(): import("lit-html").TemplateResult<1>;
62
+ renderFilledTabContent(): import("lit-html").TemplateResult<1>;
63
+ renderSegmentedTabContent(): import("lit-html").TemplateResult<1>;
58
64
  __getDisabledReasonID(): string | typeof nothing;
59
65
  __renderDisabledReason(): typeof nothing | import("lit-html").TemplateResult<1>;
60
66
  }
@@ -12,7 +12,7 @@ import { Tab } from './tab.js';
12
12
  * @example
13
13
  * ```html
14
14
  * <wc-tabs>
15
- * <wc-tab>Tab 1</wc-tab>
15
+ * <wc-tab active>Tab 1</wc-tab>
16
16
  * <wc-tab>Tab 2</wc-tab>
17
17
  * </wc-tabs>
18
18
  * ```
@@ -21,9 +21,21 @@ import { Tab } from './tab.js';
21
21
  export declare class Tabs extends LitElement {
22
22
  static styles: import("lit").CSSResultGroup[];
23
23
  static Tab: typeof Tab;
24
+ variant: 'primary' | 'secondary' | 'contained' | 'filled';
24
25
  managed: boolean;
26
+ private __mutationObserver?;
27
+ private __lastActiveTab?;
25
28
  connectedCallback(): void;
29
+ firstUpdated(): void;
30
+ updated(changedProperties: Map<string, unknown>): void;
26
31
  disconnectedCallback(): void;
32
+ private __getTabs;
33
+ private __getActiveTab;
34
+ private static __getTabIndicator;
35
+ private static __getTabBackground;
36
+ private __getAnimationElements;
37
+ private __animateIndicatorTransition;
38
+ private __syncIndicatorsFromActiveState;
27
39
  private __handleTabClick;
28
40
  render(): import("lit-html").TemplateResult<1>;
29
41
  }
@@ -0,0 +1 @@
1
+ export { Toolbar } from './toolbar.js';
@@ -0,0 +1,86 @@
1
+ import { LitElement } from 'lit';
2
+ /**
3
+ * @label Toolbar
4
+ * @tag wc-toolbar
5
+ * @rawTag toolbar
6
+ *
7
+ * @summary A Material 3 toolbar / app bar for navigation and actions.
8
+ * @overview
9
+ * <p>The toolbar component implements the Material 3 app bar pattern. It supports a
10
+ * docked (attached) variant for bottom-panel navigation and a floating (detached pill-shaped)
11
+ * variant. The floating variant supports both horizontal and vertical orientations.</p>
12
+ *
13
+ * <p>Render toolbar actions directly as children of the component. The docked variant is
14
+ * optimized for a horizontal action row, while the floating variant supports both horizontal
15
+ * and vertical layouts.</p>
16
+ *
17
+ * @cssprop --toolbar-container-color - Background color of the toolbar.
18
+ * @cssprop --toolbar-container-shape - Border radius of the toolbar. Relevant for the floating variant.
19
+ * @cssprop --toolbar-height - Height of the toolbar (docked horizontal / floating horizontal).
20
+ * @cssprop --toolbar-padding-inline - Inline padding of the toolbar.
21
+ * @cssprop --toolbar-gap - Gap between toolbar sections.
22
+ * @cssprop --toolbar-icon-color - Color of icon slots.
23
+ * @cssprop --toolbar-title-color - Color of the title (default slot) text.
24
+ * @cssprop --toolbar-shadow - Box-shadow of the toolbar.
25
+ *
26
+ * @example
27
+ * ```html
28
+ * <!-- Docked toolbar -->
29
+ * <wc-toolbar>
30
+ * <wc-icon-button variant="text" name="home"></wc-icon-button>
31
+ * <wc-icon-button variant="tonal" name="search"></wc-icon-button>
32
+ * <wc-icon-button variant="text" name="favorite"></wc-icon-button>
33
+ * <wc-icon-button variant="text" name="account_circle"></wc-icon-button>
34
+ * </wc-toolbar>
35
+ * ```
36
+ *
37
+ * @example
38
+ * ```html
39
+ * <!-- Floating horizontal toolbar -->
40
+ * <wc-toolbar variant="floating" orientation="horizontal">
41
+ * <wc-icon-button variant="tonal" name="home"></wc-icon-button>
42
+ * <wc-icon-button variant="text" name="search"></wc-icon-button>
43
+ * <wc-icon-button variant="text" name="favorite"></wc-icon-button>
44
+ * </wc-toolbar>
45
+ * ```
46
+ *
47
+ * @example
48
+ * ```html
49
+ * <!-- Floating vertical toolbar -->
50
+ * <wc-toolbar variant="floating" orientation="vertical">
51
+ * <wc-icon-button variant="tonal" name="home"></wc-icon-button>
52
+ * <wc-icon-button variant="text" name="search"></wc-icon-button>
53
+ * <wc-icon-button variant="text" name="favorite"></wc-icon-button>
54
+ * </wc-toolbar>
55
+ * ```
56
+ * @tags display navigation
57
+ */
58
+ export declare class Toolbar extends LitElement {
59
+ static styles: import("lit").CSSResultGroup[];
60
+ /**
61
+ * Visual and layout variant of the toolbar.
62
+ * - `"docked"`: A full-width bar attached to the edge of the screen (default).
63
+ * - `"floating"`: A detached pill-shaped toolbar that floats over content.
64
+ */
65
+ variant: 'docked' | 'floating';
66
+ /**
67
+ * Orientation of the toolbar content.
68
+ * - `"horizontal"`: Items are laid out left to right (default).
69
+ * - `"vertical"`: Items are stacked top to bottom. Primarily useful for the floating variant.
70
+ */
71
+ orientation: 'horizontal' | 'vertical';
72
+ /**
73
+ * Size of the docked toolbar.
74
+ * - `"small"`: 80dp height (default).
75
+ * - `"medium"`: 96dp height.
76
+ * - `"large"`: 112dp height.
77
+ */
78
+ size: 'small' | 'medium' | 'large';
79
+ /**
80
+ * Whether the toolbar is visually elevated (adds a shadow).
81
+ */
82
+ elevated: boolean;
83
+ render(): import("lit-html").TemplateResult<1>;
84
+ private static __renderDocked;
85
+ private static __renderFloating;
86
+ }
@@ -0,0 +1,10 @@
1
+ import { n } from './property-1psGvXOq.js';
2
+
3
+ /**
4
+ * @license
5
+ * Copyright 2017 Google LLC
6
+ * SPDX-License-Identifier: BSD-3-Clause
7
+ */function r(r){return n({...r,state:true,attribute:false})}
8
+
9
+ export { r };
10
+ //# sourceMappingURL=state-DwbEjqVk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-DwbEjqVk.js","sources":["../node_modules/@lit/reactive-element/decorators/state.js"],"sourcesContent":["import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n"],"names":["t"],"mappings":";;AACA;AACA;AACA;AACA;AACA,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAOA,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAE,CAAC,SAAS,CAAC,KAAE,CAAC,CAAC;;;;","x_google_ignoreList":[0]}
@@ -1,5 +1,5 @@
1
- import { E } from './IndividualComponent-Dt5xirYG.js';
2
- import { e, i as i$1, t } from './directive-Cuw6h7YA.js';
1
+ import { E } from './IndividualComponent-DUINtMGK.js';
2
+ import { e, i as i$1, t } from './directive-ZPhl09Yt.js';
3
3
 
4
4
  /**
5
5
  * @license
@@ -8,4 +8,4 @@ import { e, i as i$1, t } from './directive-Cuw6h7YA.js';
8
8
  */const n="important",i=" !"+n,o=e(class extends i$1{constructor(t$1){if(super(t$1),t$1.type!==t.ATTRIBUTE||"style"!==t$1.name||t$1.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(t){return Object.keys(t).reduce((e,r)=>{const s=t[r];return null==s?e:e+`${r=r.includes("-")?r:r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${s};`},"")}update(e,[r]){const{style:s}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(r)),this.render(r);for(const t of this.ft)null==r[t]&&(this.ft.delete(t),t.includes("-")?s.removeProperty(t):s[t]=null);for(const t in r){const e=r[t];if(null!=e){this.ft.add(t);const r="string"==typeof e&&e.endsWith(i);t.includes("-")||r?s.setProperty(t,r?e.slice(0,-11):e,r?n:""):s[t]=e;}}return E}});
9
9
 
10
10
  export { o };
11
- //# sourceMappingURL=style-map-DcB52w-l.js.map
11
+ //# sourceMappingURL=style-map-DVmWOuYy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"style-map-DcB52w-l.js","sources":["../node_modules/lit-html/directives/style-map.js"],"sourcesContent":["import{noChange as t}from\"../lit-html.js\";import{directive as e,Directive as r,PartType as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const n=\"important\",i=\" !\"+n,o=e(class extends r{constructor(t){if(super(t),t.type!==s.ATTRIBUTE||\"style\"!==t.name||t.strings?.length>2)throw Error(\"The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.\")}render(t){return Object.keys(t).reduce((e,r)=>{const s=t[r];return null==s?e:e+`${r=r.includes(\"-\")?r:r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,\"-$&\").toLowerCase()}:${s};`},\"\")}update(e,[r]){const{style:s}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(r)),this.render(r);for(const t of this.ft)null==r[t]&&(this.ft.delete(t),t.includes(\"-\")?s.removeProperty(t):s[t]=null);for(const t in r){const e=r[t];if(null!=e){this.ft.add(t);const r=\"string\"==typeof e&&e.endsWith(i);t.includes(\"-\")||r?s.setProperty(t,r?e.slice(0,-11):e,r?n:\"\"):s[t]=e}}return t}});export{o as styleMap};\n//# sourceMappingURL=style-map.js.map\n"],"names":["r","t","s"],"mappings":";;;AACA;AACA;AACA;AACA;AACA,GAAQ,MAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAcA,GAAC,CAAC,WAAW,CAACC,GAAC,CAAC,CAAC,GAAG,KAAK,CAACA,GAAC,CAAC,CAACA,GAAC,CAAC,IAAI,GAAGC,CAAC,CAAC,SAAS,EAAE,OAAO,GAAGD,GAAC,CAAC,IAAI,EAAEA,GAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,4GAA4G,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mCAAmC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,OAAOA,CAAC,CAAC,CAAC;;;;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"style-map-DVmWOuYy.js","sources":["../node_modules/lit-html/directives/style-map.js"],"sourcesContent":["import{noChange as t}from\"../lit-html.js\";import{directive as e,Directive as r,PartType as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const n=\"important\",i=\" !\"+n,o=e(class extends r{constructor(t){if(super(t),t.type!==s.ATTRIBUTE||\"style\"!==t.name||t.strings?.length>2)throw Error(\"The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.\")}render(t){return Object.keys(t).reduce((e,r)=>{const s=t[r];return null==s?e:e+`${r=r.includes(\"-\")?r:r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,\"-$&\").toLowerCase()}:${s};`},\"\")}update(e,[r]){const{style:s}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(r)),this.render(r);for(const t of this.ft)null==r[t]&&(this.ft.delete(t),t.includes(\"-\")?s.removeProperty(t):s[t]=null);for(const t in r){const e=r[t];if(null!=e){this.ft.add(t);const r=\"string\"==typeof e&&e.endsWith(i);t.includes(\"-\")||r?s.setProperty(t,r?e.slice(0,-11):e,r?n:\"\"):s[t]=e}}return t}});export{o as styleMap};\n//# sourceMappingURL=style-map.js.map\n"],"names":["r","t","s"],"mappings":";;;AACA;AACA;AACA;AACA;AACA,GAAQ,MAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAcA,GAAC,CAAC,WAAW,CAACC,GAAC,CAAC,CAAC,GAAG,KAAK,CAACA,GAAC,CAAC,CAACA,GAAC,CAAC,IAAI,GAAGC,CAAC,CAAC,SAAS,EAAE,OAAO,GAAGD,GAAC,CAAC,IAAI,EAAEA,GAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,4GAA4G,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mCAAmC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,OAAOA,CAAC,CAAC,CAAC;;;;","x_google_ignoreList":[0]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,24 @@
1
+ function throttle(func, delay, options = { leading: true, trailing: true }) {
2
+ let timerId;
3
+ let lastExec = 0;
4
+ return function (...args) {
5
+ // @ts-ignore
6
+ const context = this;
7
+ const now = Date.now();
8
+ const shouldCallNow = options.leading && now - lastExec >= delay;
9
+ if (shouldCallNow) {
10
+ func.apply(context, args);
11
+ lastExec = now;
12
+ }
13
+ else if (options.trailing && !timerId) {
14
+ timerId = setTimeout(() => {
15
+ func.apply(context, args);
16
+ lastExec = Date.now();
17
+ timerId = null;
18
+ }, delay);
19
+ }
20
+ };
21
+ }
22
+
23
+ export { throttle as t };
24
+ //# sourceMappingURL=throttle-C7ZAPqtu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throttle-C7ZAPqtu.js","sources":["../../src/__utils/throttle.ts"],"sourcesContent":["export function throttle(\n func: Function,\n delay: number,\n options = { leading: true, trailing: true },\n) {\n let timerId: any;\n let lastExec = 0;\n\n return function (...args: any[]) {\n // @ts-ignore\n const context = this;\n const now = Date.now();\n\n const shouldCallNow = options.leading && now - lastExec >= delay;\n\n if (shouldCallNow) {\n func.apply(context, args);\n lastExec = now;\n } else if (options.trailing && !timerId) {\n timerId = setTimeout(() => {\n func.apply(context, args);\n lastExec = Date.now();\n timerId = null;\n }, delay);\n }\n };\n}"],"names":[],"mappings":"SAAgB,QAAQ,CACtB,IAAc,EACd,KAAa,EACb,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAA;AAE3C,IAAA,IAAI,OAAY;IAChB,IAAI,QAAQ,GAAG,CAAC;IAEhB,OAAO,UAAU,GAAG,IAAW,EAAA;;QAE7B,MAAM,OAAO,GAAG,IAAI;AACpB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;QAEtB,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,GAAG,QAAQ,IAAI,KAAK;QAEhE,IAAI,aAAa,EAAE;AACjB,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;YACzB,QAAQ,GAAG,GAAG;QAChB;AAAO,aAAA,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE;AACvC,YAAA,OAAO,GAAG,UAAU,CAAC,MAAK;AACxB,gBAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AACzB,gBAAA,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE;gBACrB,OAAO,GAAG,IAAI;YAChB,CAAC,EAAE,KAAK,CAAC;QACX;AACF,IAAA,CAAC;AACH;;;;"}