@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.
- package/dist/IndividualComponent-DUINtMGK.js +67 -0
- package/dist/IndividualComponent-DUINtMGK.js.map +1 -0
- package/dist/assets/images/empty-state/no-document.svg +11 -12
- package/dist/assets/images/empty-state/page.svg +15 -9
- package/dist/assets/styles.css +1 -1
- package/dist/assets/styles.css.map +1 -1
- package/dist/banner.js +202 -0
- package/dist/banner.js.map +1 -0
- package/dist/bottom-sheet.js +238 -0
- package/dist/bottom-sheet.js.map +1 -0
- package/dist/{button-ClzS8JLq.js → button-DMN1dPAg.js} +358 -218
- package/dist/button-DMN1dPAg.js.map +1 -0
- package/dist/button-group-CX9CUUXk.js +435 -0
- package/dist/button-group-CX9CUUXk.js.map +1 -0
- package/dist/button-group.js +11 -6
- package/dist/button-group.js.map +1 -1
- package/dist/button.js +10 -5
- package/dist/button.js.map +1 -1
- package/dist/card-content.js +29 -0
- package/dist/card-content.js.map +1 -0
- package/dist/card.js +428 -44
- package/dist/card.js.map +1 -1
- package/dist/{chart-bar-DbnXQgvS.js → chart-bar-cn6rrna-.js} +2 -2
- package/dist/{chart-bar-DbnXQgvS.js.map → chart-bar-cn6rrna-.js.map} +1 -1
- package/dist/chart-bar.js +5 -4
- package/dist/chart-bar.js.map +1 -1
- package/dist/chart-doughnut.js +2 -1
- package/dist/chart-doughnut.js.map +1 -1
- package/dist/chart-pie.js +2 -1
- package/dist/chart-pie.js.map +1 -1
- package/dist/chart-stacked-bar.js +5 -4
- package/dist/chart-stacked-bar.js.map +1 -1
- package/dist/{class-map-59YGWLnx.js → class-map-YU7g0o3B.js} +4 -10
- package/dist/class-map-YU7g0o3B.js.map +1 -0
- package/dist/clock.js +2 -1
- package/dist/clock.js.map +1 -1
- package/dist/code-editor.js +8 -6
- package/dist/code-editor.js.map +1 -1
- package/dist/code-highlighter.js +6 -4
- package/dist/code-highlighter.js.map +1 -1
- package/dist/custom-elements-jsdocs.json +6270 -5026
- package/dist/custom-elements.json +5763 -2049
- package/dist/directive-ZPhl09Yt.js +9 -0
- package/dist/directive-ZPhl09Yt.js.map +1 -0
- package/dist/dispatch-event-utils-CuEqjlPT.js +127 -0
- package/dist/dispatch-event-utils-CuEqjlPT.js.map +1 -0
- package/dist/fab-C5Nzxk0E.js +497 -0
- package/dist/fab-C5Nzxk0E.js.map +1 -0
- package/dist/fab.js +11 -0
- package/dist/fab.js.map +1 -0
- package/dist/index.js +24 -12
- package/dist/index.js.map +1 -1
- package/dist/{observe-theme-change-pALI5fmV.js → is-dark-mode-DicqGkCJ.js} +8 -3
- package/dist/is-dark-mode-DicqGkCJ.js.map +1 -0
- package/dist/notification.js +417 -0
- package/dist/notification.js.map +1 -0
- package/dist/number-counter.js +4 -3
- package/dist/number-counter.js.map +1 -1
- package/dist/observe-slot-change-BGJfgg2E.js +31 -0
- package/dist/observe-slot-change-BGJfgg2E.js.map +1 -0
- package/dist/peacock-loader.js +59 -10
- package/dist/peacock-loader.js.map +1 -1
- package/dist/property-1psGvXOq.js +10 -0
- package/dist/property-1psGvXOq.js.map +1 -0
- package/dist/search.js +452 -0
- package/dist/search.js.map +1 -0
- package/dist/{radio-b70_Ie9n.js → select-4pl4XBj7.js} +2439 -521
- package/dist/select-4pl4XBj7.js.map +1 -0
- package/dist/side-sheet.js +186 -0
- package/dist/side-sheet.js.map +1 -0
- package/dist/spread-B5cgadZl.js +32 -0
- package/dist/spread-B5cgadZl.js.map +1 -0
- package/dist/src/__base_element/BaseHyperlink.d.ts +20 -0
- package/dist/src/__utils/cache-fetch.d.ts +1 -0
- package/dist/src/__utils/is-dark-mode.d.ts +1 -0
- package/dist/src/__utils/is-in-viewport.d.ts +1 -0
- package/dist/src/__utils/observe-slot-change.d.ts +1 -0
- package/dist/src/__utils/sanitize-svg.d.ts +1 -0
- package/dist/src/__utils/throttle.d.ts +4 -0
- package/dist/src/accordion/accordion-item.d.ts +33 -9
- package/dist/src/accordion/accordion.d.ts +21 -5
- package/dist/src/banner/banner.d.ts +47 -0
- package/dist/src/banner/index.d.ts +1 -0
- package/dist/src/bottom-sheet/bottom-sheet.d.ts +42 -0
- package/dist/src/bottom-sheet/index.d.ts +1 -0
- package/dist/src/button/BaseButton.d.ts +7 -13
- package/dist/src/button/button/button.d.ts +4 -0
- package/dist/src/button/button-group/button-group.d.ts +32 -3
- package/dist/src/button/icon-button/icon-button.d.ts +4 -0
- package/dist/src/card/card-content.d.ts +15 -0
- package/dist/src/card/card.d.ts +37 -3
- package/dist/src/card/index.d.ts +1 -0
- package/dist/src/container/container.d.ts +1 -1
- package/dist/src/empty-state/empty-state.d.ts +1 -1
- package/dist/src/fab/fab.d.ts +111 -0
- package/dist/src/fab/index.d.ts +1 -0
- package/dist/src/focus-ring/focus-ring.d.ts +4 -1
- package/dist/src/index.d.ts +11 -1
- package/dist/src/link/link.d.ts +3 -10
- package/dist/src/menu/menu/menu.d.ts +4 -2
- package/dist/src/menu/menu-item/menu-item.d.ts +0 -1
- package/dist/src/menu/sub-menu/sub-menu.d.ts +1 -0
- package/dist/src/notification/index.d.ts +1 -0
- package/dist/src/notification/notification.d.ts +69 -0
- package/dist/src/pagination/pagination.d.ts +8 -1
- package/dist/src/ripple/ripple.d.ts +19 -3
- package/dist/src/search/index.d.ts +1 -0
- package/dist/src/search/search.d.ts +76 -0
- package/dist/src/segmented-button/index.d.ts +2 -0
- package/dist/src/segmented-button/segmented-button-group.d.ts +46 -0
- package/dist/src/segmented-button/segmented-button.d.ts +65 -0
- package/dist/src/select/index.d.ts +3 -0
- package/dist/src/select/option.d.ts +55 -0
- package/dist/src/select/select.d.ts +114 -0
- package/dist/src/side-sheet/index.d.ts +1 -0
- package/dist/src/side-sheet/side-sheet.d.ts +41 -0
- package/dist/src/slider/slider.d.ts +4 -0
- package/dist/src/snackbar/snackbar.d.ts +14 -1
- package/dist/src/tabs/tab-group.d.ts +0 -1
- package/dist/src/tabs/tab.d.ts +8 -2
- package/dist/src/tabs/tabs.d.ts +13 -1
- package/dist/src/toolbar/index.d.ts +1 -0
- package/dist/src/toolbar/toolbar.d.ts +86 -0
- package/dist/state-DwbEjqVk.js +10 -0
- package/dist/state-DwbEjqVk.js.map +1 -0
- package/dist/{style-map-DcB52w-l.js → style-map-DVmWOuYy.js} +3 -3
- package/dist/{style-map-DcB52w-l.js.map → style-map-DVmWOuYy.js.map} +1 -1
- package/dist/test/search.test.d.ts +1 -0
- package/dist/test/toolbar.test.d.ts +1 -0
- package/dist/throttle-C7ZAPqtu.js +24 -0
- package/dist/throttle-C7ZAPqtu.js.map +1 -0
- package/dist/toolbar.js +306 -0
- package/dist/toolbar.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/{unsafe-html-C2r3PyzF.js → unsafe-html-BsGUjx94.js} +3 -3
- package/dist/{unsafe-html-C2r3PyzF.js.map → unsafe-html-BsGUjx94.js.map} +1 -1
- package/package.json +1 -1
- package/readme.md +2 -2
- package/scss/styles.scss +4 -0
- package/src/__base_element/BaseHyperlink.ts +42 -0
- package/src/__base_element/README.md +19 -0
- package/src/__utils/cache-fetch.ts +65 -0
- package/src/{utils → __utils}/dispatch-event-utils.ts +1 -0
- package/src/__utils/is-dark-mode.ts +3 -0
- package/src/__utils/is-in-viewport.ts +6 -0
- package/src/__utils/observe-slot-change.ts +38 -0
- package/src/__utils/sanitize-svg.ts +27 -0
- package/src/__utils/throttle.ts +27 -0
- package/src/accordion/accordion-item.scss +136 -65
- package/src/accordion/accordion-item.ts +117 -44
- package/src/accordion/accordion.scss +24 -5
- package/src/accordion/accordion.ts +29 -23
- package/src/accordion/demo/index.html +74 -35
- package/src/banner/banner.scss +87 -0
- package/src/banner/banner.ts +107 -0
- package/src/banner/index.ts +1 -0
- package/src/bottom-sheet/bottom-sheet.scss +88 -0
- package/src/bottom-sheet/bottom-sheet.ts +135 -0
- package/src/bottom-sheet/index.ts +1 -0
- package/src/button/BaseButton.ts +26 -30
- package/src/button/button/button-colors.scss +90 -19
- package/src/button/button/button-sizes.scss +39 -19
- package/src/button/button/button.scss +117 -116
- package/src/button/button/button.ts +29 -6
- package/src/button/button-group/button-group.scss +25 -22
- package/src/button/button-group/button-group.ts +122 -5
- package/src/button/icon-button/icon-button-sizes.scss +35 -15
- package/src/button/icon-button/icon-button.ts +25 -12
- package/src/card/card-colors.scss +10 -0
- package/src/card/card-content.ts +26 -0
- package/src/card/card.scss +221 -41
- package/src/card/card.ts +251 -8
- package/src/card/index.ts +1 -0
- package/src/chart-bar/chart-bar.ts +1 -1
- package/src/chart-bar/chart-stacked-bar.ts +3 -1
- package/src/chart-doughnut/chart-doughnut.ts +1 -1
- package/src/chart-pie/chart-pie.ts +1 -1
- package/src/checkbox/checkbox.ts +1 -1
- package/src/clock/clock.ts +1 -1
- package/src/code-editor/code-editor.ts +5 -5
- package/src/code-highlighter/code-highlighter.ts +2 -2
- package/src/container/container.ts +1 -1
- package/src/date-picker/date-picker.ts +5 -2
- package/src/divider/divider.ts +3 -1
- package/src/empty-state/empty-state.scss +9 -3
- package/src/empty-state/empty-state.ts +2 -2
- package/src/fab/fab-colors.scss +49 -0
- package/src/fab/fab-sizes.scss +47 -0
- package/src/fab/fab.scss +137 -0
- package/src/fab/fab.ts +285 -0
- package/src/fab/index.ts +1 -0
- package/src/field/field.ts +3 -1
- package/src/focus-ring/focus-ring.ts +37 -19
- package/src/icon/datasource.ts +1 -1
- package/src/icon/icon.ts +3 -1
- package/src/image/image.ts +3 -2
- package/src/index.ts +12 -1
- package/src/input/input.ts +5 -2
- package/src/link/link.ts +2 -15
- package/src/menu/menu/menu.scss +31 -3
- package/src/menu/menu/menu.ts +30 -6
- package/src/menu/menu-item/menu-item.scss +1 -0
- package/src/menu/menu-item/menu-item.ts +1 -9
- package/src/menu/sub-menu/sub-menu.ts +1 -0
- package/src/notification/index.ts +1 -0
- package/src/notification/notification.scss +201 -0
- package/src/notification/notification.ts +206 -0
- package/src/number-counter/number-counter.ts +3 -1
- package/src/number-field/number-field.ts +4 -2
- package/src/pagination/pagination.scss +33 -24
- package/src/pagination/pagination.ts +113 -60
- package/src/peacock-loader.ts +48 -0
- package/src/radio/radio.ts +3 -1
- package/src/ripple/ripple.ts +19 -3
- package/src/search/index.ts +1 -0
- package/src/search/search-colors.scss +14 -0
- package/src/search/search.scss +204 -0
- package/src/search/search.ts +240 -0
- package/src/segmented-button/index.ts +2 -0
- package/src/segmented-button/segmented-button-group.scss +21 -0
- package/src/segmented-button/segmented-button-group.ts +110 -0
- package/src/segmented-button/segmented-button.scss +115 -0
- package/src/segmented-button/segmented-button.ts +175 -0
- package/src/select/index.ts +3 -0
- package/src/select/option.ts +109 -0
- package/src/select/select.scss +125 -0
- package/src/select/select.ts +520 -0
- package/src/side-sheet/index.ts +1 -0
- package/src/side-sheet/side-sheet.scss +79 -0
- package/src/side-sheet/side-sheet.ts +100 -0
- package/src/slider/slider.scss +19 -1
- package/src/slider/slider.ts +30 -19
- package/src/snackbar/snackbar.scss +62 -31
- package/src/snackbar/snackbar.ts +92 -12
- package/src/switch/switch.ts +3 -1
- package/src/table/table.ts +3 -1
- package/src/tabs/demo/index.html +90 -0
- package/src/tabs/tab-group.ts +0 -3
- package/src/tabs/tab.scss +237 -25
- package/src/tabs/tab.ts +91 -14
- package/src/tabs/tabs.scss +37 -3
- package/src/tabs/tabs.ts +118 -2
- package/src/textarea/textarea.ts +4 -2
- package/src/time-picker/time-picker.ts +4 -2
- package/src/toolbar/index.ts +1 -0
- package/src/toolbar/toolbar-colors.scss +16 -0
- package/src/toolbar/toolbar.scss +165 -0
- package/src/toolbar/toolbar.ts +137 -0
- package/dist/IndividualComponent-Dt5xirYG.js +0 -73
- package/dist/IndividualComponent-Dt5xirYG.js.map +0 -1
- package/dist/button-ClzS8JLq.js.map +0 -1
- package/dist/button-group-BMS5WvaF.js +0 -292
- package/dist/button-group-BMS5WvaF.js.map +0 -1
- package/dist/chart-donut.js +0 -309
- package/dist/chart-donut.js.map +0 -1
- package/dist/class-map-59YGWLnx.js.map +0 -1
- package/dist/directive-Cuw6h7YA.js +0 -9
- package/dist/directive-Cuw6h7YA.js.map +0 -1
- package/dist/dispatch-event-utils-B4odODQf.js +0 -277
- package/dist/dispatch-event-utils-B4odODQf.js.map +0 -1
- package/dist/observe-theme-change-pALI5fmV.js.map +0 -1
- package/dist/radio-b70_Ie9n.js.map +0 -1
- package/dist/src/chart-donut/chart-donut.d.ts +0 -53
- package/dist/src/chart-donut/index.d.ts +0 -1
- package/dist/src/styleMixins.css.d.ts +0 -9
- package/dist/src/utils.d.ts +0 -9
- package/src/chart-donut/chart-donut.scss +0 -37
- package/src/chart-donut/chart-donut.ts +0 -287
- package/src/chart-donut/demo/index.html +0 -51
- package/src/chart-donut/index.ts +0 -1
- package/src/styleMixins.css.ts +0 -55
- package/src/utils.ts +0 -193
- /package/dist/src/{spread.d.ts → __directive/spread.d.ts} +0 -0
- /package/dist/src/{utils → __utils}/copy-to-clipboard.d.ts +0 -0
- /package/dist/src/{utils → __utils}/dispatch-event-utils.d.ts +0 -0
- /package/dist/src/{utils → __utils}/observe-theme-change.d.ts +0 -0
- /package/dist/test/{card.test.d.ts → banner.test.d.ts} +0 -0
- /package/src/{spread.ts → __directive/spread.ts} +0 -0
- /package/src/{utils → __utils}/copy-to-clipboard.ts +0 -0
- /package/src/{utils → __utils}/observe-theme-change.ts +0 -0
package/dist/peacock-loader.js
CHANGED
|
@@ -1,15 +1,28 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { B as Button } from './button-
|
|
3
|
-
import { B as ButtonGroup, I as IconButton } from './button-group-
|
|
1
|
+
import { U as TreeView, A as Accordion, q as SelectOptionElement, p as Select, t as Snackbar, P as Pagination, z as Table, s as Slider, j as Image, f as Container, v as SubMenu, m as MenuItem, M as Menu, h as EmptyState, u as Spinner, R as Radio, C as Checkbox, w as Switch, c as BreadcrumbItem, b as Breadcrumb, O as Tooltip, K as TimePicker, D as DatePicker, J as Textarea, N as NumberField, k as Input, F as Field, r as Skeleton, e as CircularProgress, L as LinearProgress, H as Tag, d as Chip, l as Link, y as TabPanel, T as Tab, x as TabGroup, G as Tabs, n as Ripple, E as Elevation, g as Divider, o as SegmentedButtonGroup, S as SegmentedButton, B as Badge, a as Avatar, i as FocusRing, I as Icon } from './select-4pl4XBj7.js';
|
|
2
|
+
import { B as Button } from './button-DMN1dPAg.js';
|
|
3
|
+
import { B as ButtonGroup, I as IconButton } from './button-group-CX9CUUXk.js';
|
|
4
|
+
import { F as Fab } from './fab-C5Nzxk0E.js';
|
|
4
5
|
import { Card } from './card.js';
|
|
5
|
-
import './
|
|
6
|
-
import './
|
|
7
|
-
import './
|
|
8
|
-
import './
|
|
9
|
-
import './
|
|
6
|
+
import { CardContent } from './card-content.js';
|
|
7
|
+
import { Banner } from './banner.js';
|
|
8
|
+
import { Notification } from './notification.js';
|
|
9
|
+
import { BottomSheet } from './bottom-sheet.js';
|
|
10
|
+
import { SideSheet } from './side-sheet.js';
|
|
11
|
+
import { Search } from './search.js';
|
|
12
|
+
import { Toolbar } from './toolbar.js';
|
|
13
|
+
import './IndividualComponent-DUINtMGK.js';
|
|
14
|
+
import './property-1psGvXOq.js';
|
|
15
|
+
import './state-DwbEjqVk.js';
|
|
16
|
+
import './directive-ZPhl09Yt.js';
|
|
17
|
+
import './unsafe-html-BsGUjx94.js';
|
|
18
|
+
import './class-map-YU7g0o3B.js';
|
|
19
|
+
import './observe-slot-change-BGJfgg2E.js';
|
|
10
20
|
import './query-QBcUV-L_.js';
|
|
11
|
-
import './style-map-
|
|
12
|
-
import './
|
|
21
|
+
import './style-map-DVmWOuYy.js';
|
|
22
|
+
import './dispatch-event-utils-CuEqjlPT.js';
|
|
23
|
+
import './spread-B5cgadZl.js';
|
|
24
|
+
import './is-dark-mode-DicqGkCJ.js';
|
|
25
|
+
import './throttle-C7ZAPqtu.js';
|
|
13
26
|
|
|
14
27
|
class LoaderUtils {
|
|
15
28
|
constructor(loaderConfig) {
|
|
@@ -156,9 +169,18 @@ const loaderConfig = {
|
|
|
156
169
|
'wc-icon-button': {
|
|
157
170
|
CustomElementClass: IconButton,
|
|
158
171
|
},
|
|
172
|
+
'wc-fab': {
|
|
173
|
+
CustomElementClass: Fab,
|
|
174
|
+
},
|
|
159
175
|
'wc-button-group': {
|
|
160
176
|
CustomElementClass: ButtonGroup,
|
|
161
177
|
},
|
|
178
|
+
'wc-segmented-button': {
|
|
179
|
+
CustomElementClass: SegmentedButton,
|
|
180
|
+
},
|
|
181
|
+
'wc-segmented-button-group': {
|
|
182
|
+
CustomElementClass: SegmentedButtonGroup,
|
|
183
|
+
},
|
|
162
184
|
'wc-divider': {
|
|
163
185
|
CustomElementClass: Divider,
|
|
164
186
|
},
|
|
@@ -198,6 +220,15 @@ const loaderConfig = {
|
|
|
198
220
|
'wc-card': {
|
|
199
221
|
CustomElementClass: Card,
|
|
200
222
|
},
|
|
223
|
+
'wc-card-content': {
|
|
224
|
+
CustomElementClass: CardContent,
|
|
225
|
+
},
|
|
226
|
+
'wc-banner': {
|
|
227
|
+
CustomElementClass: Banner,
|
|
228
|
+
},
|
|
229
|
+
'wc-notification': {
|
|
230
|
+
CustomElementClass: Notification,
|
|
231
|
+
},
|
|
201
232
|
'wc-tag': {
|
|
202
233
|
CustomElementClass: Tag,
|
|
203
234
|
},
|
|
@@ -294,6 +325,24 @@ const loaderConfig = {
|
|
|
294
325
|
'wc-snackbar': {
|
|
295
326
|
CustomElementClass: Snackbar,
|
|
296
327
|
},
|
|
328
|
+
'wc-bottom-sheet': {
|
|
329
|
+
CustomElementClass: BottomSheet,
|
|
330
|
+
},
|
|
331
|
+
'wc-side-sheet': {
|
|
332
|
+
CustomElementClass: SideSheet,
|
|
333
|
+
},
|
|
334
|
+
'wc-select': {
|
|
335
|
+
CustomElementClass: Select,
|
|
336
|
+
},
|
|
337
|
+
'wc-option': {
|
|
338
|
+
CustomElementClass: SelectOptionElement,
|
|
339
|
+
},
|
|
340
|
+
'wc-search': {
|
|
341
|
+
CustomElementClass: Search,
|
|
342
|
+
},
|
|
343
|
+
'wc-toolbar': {
|
|
344
|
+
CustomElementClass: Toolbar,
|
|
345
|
+
},
|
|
297
346
|
'wc-chart-doughnut': {
|
|
298
347
|
importPath: `${distDirectory}/chart-doughnut.js`,
|
|
299
348
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peacock-loader.js","sources":["../../src/LoaderUtils.ts","../../src/CssLoader.ts","../../src/peacock-loader.ts"],"sourcesContent":["interface ComponentConfig {\n CustomElementClass?: any; // earger load\n importPath?: string; // lazy load\n dependencies?: string[];\n}\n\ninterface LoaderConfig {\n components?: Record<string, ComponentConfig>;\n}\n\nexport { LoaderConfig };\n\nexport class LoaderUtils {\n private _loaderConfig: LoaderConfig;\n\n private _observer: MutationObserver | undefined;\n\n constructor(loaderConfig: LoaderConfig) {\n this._loaderConfig = loaderConfig;\n }\n\n static registerComponent(tagName: string, CustomElementClass: any) {\n if (CustomElementClass && !customElements.get(tagName)) {\n customElements.define(tagName, CustomElementClass);\n }\n }\n\n start() {\n this.eagerLoadComponents();\n this.lazyLoadComponents(document);\n }\n\n eagerLoadComponents() {\n if (!this._loaderConfig.components) return;\n for (const [name, value] of Object.entries(this._loaderConfig.components)) {\n if (value.CustomElementClass)\n LoaderUtils.registerComponent(name, value.CustomElementClass);\n }\n }\n\n async registerAsync(tagName: string): Promise<void> {\n if (customElements.get(tagName)) return;\n\n if (!this._loaderConfig.components) return;\n\n const config = this._loaderConfig.components[tagName];\n if (!config || !config.importPath) return;\n\n try {\n const module = await import(config.importPath);\n\n // Runtime definition: grabbing the class from the module\n const CustomElementClass =\n module.default || module[Object.keys(module)[0]];\n\n if (CustomElementClass && !customElements.get(tagName)) {\n customElements.define(tagName, CustomElementClass);\n }\n\n // Handle dependencies recursively\n if (config.dependencies) {\n for (const dep of config.dependencies) {\n // eslint-disable-next-line no-await-in-loop\n await this.registerAsync(dep);\n }\n }\n } catch (error) {\n console.error(\n `Unable to load <${tagName}> from ${config.importPath}`,\n error,\n );\n }\n }\n\n async load(root: Element | Document): Promise<void> {\n const rootTagName =\n root instanceof Element ? root.tagName.toLowerCase() : '';\n\n const tags = Array.from(root.querySelectorAll(':not(:defined)')).map(el =>\n el.tagName.toLowerCase(),\n );\n\n if (rootTagName.includes('-') && !customElements.get(rootTagName)) {\n tags.push(rootTagName);\n }\n\n const tagsToRegister = [...new Set(tags)];\n await Promise.allSettled(\n tagsToRegister.map(tagName => this.registerAsync(tagName)),\n );\n }\n\n lazyLoadComponents(root: any) {\n this._observer = new MutationObserver(mutations => {\n for (const { addedNodes } of mutations) {\n for (const node of addedNodes) {\n if (node.nodeType === Node.ELEMENT_NODE) {\n this.load(node as Element);\n }\n }\n }\n });\n\n const target = root instanceof Document ? root.documentElement : root;\n this.load(target);\n\n this._observer.observe(target, {\n subtree: true,\n childList: true,\n });\n }\n}\n","const sheetCache = new Map<string, CSSStyleSheet>();\n\nasync function loadCSS(\n url: string,\n options: any = {}\n): Promise<CSSStyleSheet> {\n const {\n priority = \"high\",\n cache = \"force-cache\",\n media = \"all\",\n } = options;\n\n // Return cached sheet immediately\n if (sheetCache.has(url)) {\n const cached = sheetCache.get(url)!;\n if (!document.adoptedStyleSheets.includes(cached)) {\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, cached];\n }\n return cached;\n }\n\n const response = await fetch(url, {\n cache,\n priority,\n });\n\n if (!response.ok) {\n throw new Error(`Failed to load CSS [${response.status}]: ${url}`);\n }\n\n const css = await response.text();\n const sheet = new CSSStyleSheet({ media });\n\n sheet.replaceSync(css);\n sheetCache.set(url, sheet);\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, sheet];\n\n return sheet;\n}\n\nasync function loadMultipleCSS(\n urls: string[],\n options: any = {}\n): Promise<CSSStyleSheet[]> {\n return Promise.all(urls.map((url) => loadCSS(url, options)));\n}\n\nfunction unloadCSS(url: string): boolean {\n const sheet = sheetCache.get(url);\n if (!sheet) return false;\n\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s) => s !== sheet\n );\n sheetCache.delete(url);\n return true;\n}\n\nfunction clearAllCSS(): void {\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s) => ![...sheetCache.values()].includes(s)\n );\n sheetCache.clear();\n}\n\nexport { loadCSS, loadMultipleCSS, unloadCSS, clearAllCSS };","// Eager loaded\n\nimport { Elevation } from './elevation/elevation.js';\nimport { FocusRing } from './focus-ring/focus-ring.js';\nimport { Ripple } from './ripple/ripple.js';\n\nimport { Icon } from './icon/icon.js';\nimport { Avatar } from './avatar/avatar.js';\nimport { Badge } from './badge/badge.js';\nimport { Divider } from './divider/divider.js';\nimport { Button } from './button/button/button.js';\nimport { ButtonGroup } from './button/button-group/button-group.js';\nimport { IconButton } from './button/icon-button/icon-button.js';\nimport { Input } from './input/input.js';\nimport { Field } from './field/field.js';\nimport { NumberField } from './number-field/number-field.js';\nimport { DatePicker } from './date-picker/date-picker.js';\nimport { TimePicker } from './time-picker/time-picker.js';\nimport { Textarea } from './textarea/textarea.js';\nimport { Switch } from './switch/switch.js';\nimport { Checkbox } from './checkbox/checkbox.js';\nimport { Radio } from './radio/radio.js';\n\nimport { Menu } from './menu/menu/menu.js';\nimport { MenuItem } from './menu/menu-item/menu-item.js';\nimport { SubMenu } from './menu/sub-menu/sub-menu.js';\n\nimport { Accordion } from './accordion/accordion.js';\nimport { Link } from './link/link.js';\nimport { Tag } from './chip/tag/tag.js';\nimport { Chip } from './chip/chip/chip.js';\nimport { LinearProgress } from './progress/linear-progress/linear-progress.js';\nimport { CircularProgress } from './progress/circular-progress/circular-progress.js';\n\nimport { Tooltip } from './tooltip/tooltip.js';\nimport { Breadcrumb, BreadcrumbItem } from './breadcrumb/index.js';\n\nimport { Skeleton } from './skeleton/skeleton.js';\nimport { Spinner } from './spinner/spinner.js';\n\nimport { EmptyState } from './empty-state/empty-state.js';\nimport { Container } from './container/container.js';\nimport { Image } from './image/image.js';\n\nimport { LoaderConfig, LoaderUtils } from './LoaderUtils.js';\nimport { loadCSS } from './CssLoader.js';\nimport { TabGroup } from './tabs/tab-group.js';\nimport { Tabs } from './tabs/tabs.js';\nimport { Tab } from './tabs/tab.js';\nimport { TabPanel } from './tabs/tab-panel.js';\nimport { Slider } from './slider/slider.js';\nimport { Table } from './table/table.js';\nimport { Pagination } from './pagination/pagination.js';\nimport { TreeView } from './tree-view/tree-view.js';\nimport { Card } from './card/card.js';\nimport { Snackbar } from './snackbar/snackbar.js';\n\nconst distDirectory = `${import.meta.url}/..`;\nawait loadCSS(`${distDirectory}/assets/styles.css`);\n\n/*\nimport tooltipStyles from './popover/tooltip.css-component.scss';\n\nfunction buildSheet(styleSheet: any) {\n const sheet = new CSSStyleSheet();\n // Add rules\n sheet.replaceSync(styleSheet.toString());\n return sheet;\n}\n\nconst styleSheets = [\n// buildSheet(cssComponentsStyleSheet),\n// buildSheet(linkStyles),\n// buildSheet(textStylesheet),\n buildSheet(tooltipStyles),\n];\n\ndocument.adoptedStyleSheets = styleSheets;\n*/\n\nconst loaderConfig: LoaderConfig = {\n components: {\n 'wc-icon': {\n CustomElementClass: Icon,\n // importPath: './component/icon.js', - for lazy load give path instead of CustomElementClass\n },\n 'wc-focus-ring': {\n CustomElementClass: FocusRing,\n },\n 'wc-avatar': {\n CustomElementClass: Avatar,\n },\n 'wc-badge': {\n CustomElementClass: Badge,\n },\n 'wc-button': {\n CustomElementClass: Button,\n },\n 'wc-icon-button': {\n CustomElementClass: IconButton,\n },\n 'wc-button-group': {\n CustomElementClass: ButtonGroup,\n },\n 'wc-divider': {\n CustomElementClass: Divider,\n },\n 'wc-elevation': {\n CustomElementClass: Elevation,\n },\n 'wc-clock': {\n importPath: `${distDirectory}/clock.js`,\n },\n 'wc-ripple': {\n CustomElementClass: Ripple,\n },\n 'wc-accordion': {\n CustomElementClass: Accordion,\n },\n 'wc-accordion-item': {\n CustomElementClass: Accordion.Item,\n },\n 'wc-tabs': {\n CustomElementClass: Tabs,\n },\n 'wc-tab-group': {\n CustomElementClass: TabGroup,\n },\n 'wc-tab': {\n CustomElementClass: Tab,\n },\n 'wc-tab-panel': {\n CustomElementClass: TabPanel,\n },\n 'wc-link': {\n CustomElementClass: Link,\n },\n 'wc-chip': {\n CustomElementClass: Chip,\n },\n 'wc-card': {\n CustomElementClass: Card,\n },\n 'wc-tag': {\n CustomElementClass: Tag,\n },\n 'wc-linear-progress': {\n CustomElementClass: LinearProgress,\n },\n 'wc-circular-progress': {\n CustomElementClass: CircularProgress,\n },\n 'wc-skeleton': {\n CustomElementClass: Skeleton,\n },\n\n 'wc-field': {\n CustomElementClass: Field,\n },\n 'wc-input': {\n CustomElementClass: Input,\n },\n 'wc-number-field': {\n CustomElementClass: NumberField,\n },\n 'wc-textarea': {\n CustomElementClass: Textarea,\n },\n 'wc-date-picker': {\n CustomElementClass: DatePicker,\n },\n 'wc-time-picker': {\n CustomElementClass: TimePicker,\n },\n 'wc-tooltip': {\n CustomElementClass: Tooltip,\n },\n 'wc-number-counter': {\n importPath: `${distDirectory}/number-counter.js`,\n },\n 'wc-code-editor': {\n importPath: `${distDirectory}/code-editor.js`,\n },\n 'wc-code-highlighter': {\n importPath: `${distDirectory}/code-highlighter.js`,\n },\n 'wc-breadcrumb': {\n CustomElementClass: Breadcrumb,\n },\n 'wc-breadcrumb-item': {\n CustomElementClass: BreadcrumbItem,\n },\n 'wc-switch': {\n CustomElementClass: Switch,\n },\n 'wc-checkbox': {\n CustomElementClass: Checkbox,\n },\n 'wc-radio': {\n CustomElementClass: Radio,\n },\n 'wc-spinner': {\n CustomElementClass: Spinner,\n },\n 'wc-empty-state': {\n CustomElementClass: EmptyState,\n },\n 'wc-menu': {\n CustomElementClass: Menu,\n },\n 'wc-menu-item': {\n CustomElementClass: MenuItem,\n },\n 'wc-sub-menu': {\n CustomElementClass: SubMenu,\n },\n 'wc-container': {\n CustomElementClass: Container,\n },\n 'wc-image': {\n CustomElementClass: Image,\n },\n 'wc-slider': {\n CustomElementClass: Slider,\n },\n 'wc-table': {\n CustomElementClass: Table,\n },\n 'wc-pagination': {\n CustomElementClass: Pagination,\n },\n 'wc-tree-view': {\n CustomElementClass: TreeView,\n },\n 'wc-tree-node': {\n CustomElementClass: TreeView.Node,\n },\n 'wc-snackbar': {\n CustomElementClass: Snackbar,\n },\n 'wc-chart-doughnut': {\n importPath: `${distDirectory}/chart-doughnut.js`,\n },\n 'wc-chart-pie': {\n importPath: `${distDirectory}/chart-pie.js`,\n },\n 'wc-chart-bar': {\n importPath: `${distDirectory}/chart-bar.js`,\n },\n 'wc-chart-stacked-bar': {\n importPath: `${distDirectory}/chart-stacked-bar.js`,\n },\n },\n};\n\nnew LoaderUtils(loaderConfig).start();\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"peacock-loader.js","sources":["../../src/LoaderUtils.ts","../../src/CssLoader.ts","../../src/peacock-loader.ts"],"sourcesContent":["interface ComponentConfig {\n CustomElementClass?: any; // earger load\n importPath?: string; // lazy load\n dependencies?: string[];\n}\n\ninterface LoaderConfig {\n components?: Record<string, ComponentConfig>;\n}\n\nexport { LoaderConfig };\n\nexport class LoaderUtils {\n private _loaderConfig: LoaderConfig;\n\n private _observer: MutationObserver | undefined;\n\n constructor(loaderConfig: LoaderConfig) {\n this._loaderConfig = loaderConfig;\n }\n\n static registerComponent(tagName: string, CustomElementClass: any) {\n if (CustomElementClass && !customElements.get(tagName)) {\n customElements.define(tagName, CustomElementClass);\n }\n }\n\n start() {\n this.eagerLoadComponents();\n this.lazyLoadComponents(document);\n }\n\n eagerLoadComponents() {\n if (!this._loaderConfig.components) return;\n for (const [name, value] of Object.entries(this._loaderConfig.components)) {\n if (value.CustomElementClass)\n LoaderUtils.registerComponent(name, value.CustomElementClass);\n }\n }\n\n async registerAsync(tagName: string): Promise<void> {\n if (customElements.get(tagName)) return;\n\n if (!this._loaderConfig.components) return;\n\n const config = this._loaderConfig.components[tagName];\n if (!config || !config.importPath) return;\n\n try {\n const module = await import(config.importPath);\n\n // Runtime definition: grabbing the class from the module\n const CustomElementClass =\n module.default || module[Object.keys(module)[0]];\n\n if (CustomElementClass && !customElements.get(tagName)) {\n customElements.define(tagName, CustomElementClass);\n }\n\n // Handle dependencies recursively\n if (config.dependencies) {\n for (const dep of config.dependencies) {\n // eslint-disable-next-line no-await-in-loop\n await this.registerAsync(dep);\n }\n }\n } catch (error) {\n console.error(\n `Unable to load <${tagName}> from ${config.importPath}`,\n error,\n );\n }\n }\n\n async load(root: Element | Document): Promise<void> {\n const rootTagName =\n root instanceof Element ? root.tagName.toLowerCase() : '';\n\n const tags = Array.from(root.querySelectorAll(':not(:defined)')).map(el =>\n el.tagName.toLowerCase(),\n );\n\n if (rootTagName.includes('-') && !customElements.get(rootTagName)) {\n tags.push(rootTagName);\n }\n\n const tagsToRegister = [...new Set(tags)];\n await Promise.allSettled(\n tagsToRegister.map(tagName => this.registerAsync(tagName)),\n );\n }\n\n lazyLoadComponents(root: any) {\n this._observer = new MutationObserver(mutations => {\n for (const { addedNodes } of mutations) {\n for (const node of addedNodes) {\n if (node.nodeType === Node.ELEMENT_NODE) {\n this.load(node as Element);\n }\n }\n }\n });\n\n const target = root instanceof Document ? root.documentElement : root;\n this.load(target);\n\n this._observer.observe(target, {\n subtree: true,\n childList: true,\n });\n }\n}\n","const sheetCache = new Map<string, CSSStyleSheet>();\n\nasync function loadCSS(\n url: string,\n options: any = {}\n): Promise<CSSStyleSheet> {\n const {\n priority = \"high\",\n cache = \"force-cache\",\n media = \"all\",\n } = options;\n\n // Return cached sheet immediately\n if (sheetCache.has(url)) {\n const cached = sheetCache.get(url)!;\n if (!document.adoptedStyleSheets.includes(cached)) {\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, cached];\n }\n return cached;\n }\n\n const response = await fetch(url, {\n cache,\n priority,\n });\n\n if (!response.ok) {\n throw new Error(`Failed to load CSS [${response.status}]: ${url}`);\n }\n\n const css = await response.text();\n const sheet = new CSSStyleSheet({ media });\n\n sheet.replaceSync(css);\n sheetCache.set(url, sheet);\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, sheet];\n\n return sheet;\n}\n\nasync function loadMultipleCSS(\n urls: string[],\n options: any = {}\n): Promise<CSSStyleSheet[]> {\n return Promise.all(urls.map((url) => loadCSS(url, options)));\n}\n\nfunction unloadCSS(url: string): boolean {\n const sheet = sheetCache.get(url);\n if (!sheet) return false;\n\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s) => s !== sheet\n );\n sheetCache.delete(url);\n return true;\n}\n\nfunction clearAllCSS(): void {\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s) => ![...sheetCache.values()].includes(s)\n );\n sheetCache.clear();\n}\n\nexport { loadCSS, loadMultipleCSS, unloadCSS, clearAllCSS };","// Eager loaded\n\nimport { Elevation } from './elevation/elevation.js';\nimport { FocusRing } from './focus-ring/focus-ring.js';\nimport { Ripple } from './ripple/ripple.js';\n\nimport { Icon } from './icon/icon.js';\nimport { Avatar } from './avatar/avatar.js';\nimport { Badge } from './badge/badge.js';\nimport { Divider } from './divider/divider.js';\nimport { Button } from './button/button/button.js';\nimport { ButtonGroup } from './button/button-group/button-group.js';\nimport { IconButton } from './button/icon-button/icon-button.js';\nimport { Fab } from './fab/fab.js';\nimport { SegmentedButton } from './segmented-button/segmented-button.js';\nimport { SegmentedButtonGroup } from './segmented-button/segmented-button-group.js';\nimport { Input } from './input/input.js';\nimport { Field } from './field/field.js';\nimport { NumberField } from './number-field/number-field.js';\nimport { DatePicker } from './date-picker/date-picker.js';\nimport { TimePicker } from './time-picker/time-picker.js';\nimport { Textarea } from './textarea/textarea.js';\nimport { Switch } from './switch/switch.js';\nimport { Checkbox } from './checkbox/checkbox.js';\nimport { Radio } from './radio/radio.js';\n\nimport { Menu } from './menu/menu/menu.js';\nimport { MenuItem } from './menu/menu-item/menu-item.js';\nimport { SubMenu } from './menu/sub-menu/sub-menu.js';\n\nimport { Accordion } from './accordion/accordion.js';\nimport { Link } from './link/link.js';\nimport { Tag } from './chip/tag/tag.js';\nimport { Chip } from './chip/chip/chip.js';\nimport { LinearProgress } from './progress/linear-progress/linear-progress.js';\nimport { CircularProgress } from './progress/circular-progress/circular-progress.js';\n\nimport { Tooltip } from './tooltip/tooltip.js';\nimport { Breadcrumb, BreadcrumbItem } from './breadcrumb/index.js';\n\nimport { Skeleton } from './skeleton/skeleton.js';\nimport { Spinner } from './spinner/spinner.js';\n\nimport { EmptyState } from './empty-state/empty-state.js';\nimport { Container } from './container/container.js';\nimport { Image } from './image/image.js';\n\nimport { LoaderConfig, LoaderUtils } from './LoaderUtils.js';\nimport { loadCSS } from './CssLoader.js';\nimport { TabGroup } from './tabs/tab-group.js';\nimport { Tabs } from './tabs/tabs.js';\nimport { Tab } from './tabs/tab.js';\nimport { TabPanel } from './tabs/tab-panel.js';\nimport { Slider } from './slider/slider.js';\nimport { Table } from './table/table.js';\nimport { Pagination } from './pagination/pagination.js';\nimport { TreeView } from './tree-view/tree-view.js';\nimport { Card } from './card/card.js';\nimport { CardContent } from './card/card-content.js';\nimport { Banner } from './banner/banner.js';\nimport { Notification } from './notification/notification.js';\nimport { Snackbar } from './snackbar/snackbar.js';\nimport { BottomSheet } from './bottom-sheet/bottom-sheet.js';\nimport { SideSheet } from './side-sheet/side-sheet.js';\nimport { Select } from './select/select.js';\nimport { SelectOptionElement } from './select/option.js';\nimport { Search } from './search/search.js';\nimport { Toolbar } from './toolbar/toolbar.js';\n\nconst distDirectory = `${import.meta.url}/..`;\nawait loadCSS(`${distDirectory}/assets/styles.css`);\n\n/*\nimport tooltipStyles from './popover/tooltip.css-component.scss';\n\nfunction buildSheet(styleSheet: any) {\n const sheet = new CSSStyleSheet();\n // Add rules\n sheet.replaceSync(styleSheet.toString());\n return sheet;\n}\n\nconst styleSheets = [\n// buildSheet(cssComponentsStyleSheet),\n// buildSheet(linkStyles),\n// buildSheet(textStylesheet),\n buildSheet(tooltipStyles),\n];\n\ndocument.adoptedStyleSheets = styleSheets;\n*/\n\nconst loaderConfig: LoaderConfig = {\n components: {\n 'wc-icon': {\n CustomElementClass: Icon,\n // importPath: './component/icon.js', - for lazy load give path instead of CustomElementClass\n },\n 'wc-focus-ring': {\n CustomElementClass: FocusRing,\n },\n 'wc-avatar': {\n CustomElementClass: Avatar,\n },\n 'wc-badge': {\n CustomElementClass: Badge,\n },\n 'wc-button': {\n CustomElementClass: Button,\n },\n 'wc-icon-button': {\n CustomElementClass: IconButton,\n },\n 'wc-fab': {\n CustomElementClass: Fab,\n },\n 'wc-button-group': {\n CustomElementClass: ButtonGroup,\n },\n 'wc-segmented-button': {\n CustomElementClass: SegmentedButton,\n },\n 'wc-segmented-button-group': {\n CustomElementClass: SegmentedButtonGroup,\n },\n 'wc-divider': {\n CustomElementClass: Divider,\n },\n 'wc-elevation': {\n CustomElementClass: Elevation,\n },\n 'wc-clock': {\n importPath: `${distDirectory}/clock.js`,\n },\n 'wc-ripple': {\n CustomElementClass: Ripple,\n },\n 'wc-accordion': {\n CustomElementClass: Accordion,\n },\n 'wc-accordion-item': {\n CustomElementClass: Accordion.Item,\n },\n 'wc-tabs': {\n CustomElementClass: Tabs,\n },\n 'wc-tab-group': {\n CustomElementClass: TabGroup,\n },\n 'wc-tab': {\n CustomElementClass: Tab,\n },\n 'wc-tab-panel': {\n CustomElementClass: TabPanel,\n },\n 'wc-link': {\n CustomElementClass: Link,\n },\n 'wc-chip': {\n CustomElementClass: Chip,\n },\n 'wc-card': {\n CustomElementClass: Card,\n },\n 'wc-card-content': {\n CustomElementClass: CardContent,\n },\n 'wc-banner': {\n CustomElementClass: Banner,\n },\n 'wc-notification': {\n CustomElementClass: Notification,\n },\n 'wc-tag': {\n CustomElementClass: Tag,\n },\n 'wc-linear-progress': {\n CustomElementClass: LinearProgress,\n },\n 'wc-circular-progress': {\n CustomElementClass: CircularProgress,\n },\n 'wc-skeleton': {\n CustomElementClass: Skeleton,\n },\n\n 'wc-field': {\n CustomElementClass: Field,\n },\n 'wc-input': {\n CustomElementClass: Input,\n },\n 'wc-number-field': {\n CustomElementClass: NumberField,\n },\n 'wc-textarea': {\n CustomElementClass: Textarea,\n },\n 'wc-date-picker': {\n CustomElementClass: DatePicker,\n },\n 'wc-time-picker': {\n CustomElementClass: TimePicker,\n },\n 'wc-tooltip': {\n CustomElementClass: Tooltip,\n },\n 'wc-number-counter': {\n importPath: `${distDirectory}/number-counter.js`,\n },\n 'wc-code-editor': {\n importPath: `${distDirectory}/code-editor.js`,\n },\n 'wc-code-highlighter': {\n importPath: `${distDirectory}/code-highlighter.js`,\n },\n 'wc-breadcrumb': {\n CustomElementClass: Breadcrumb,\n },\n 'wc-breadcrumb-item': {\n CustomElementClass: BreadcrumbItem,\n },\n 'wc-switch': {\n CustomElementClass: Switch,\n },\n 'wc-checkbox': {\n CustomElementClass: Checkbox,\n },\n 'wc-radio': {\n CustomElementClass: Radio,\n },\n 'wc-spinner': {\n CustomElementClass: Spinner,\n },\n 'wc-empty-state': {\n CustomElementClass: EmptyState,\n },\n 'wc-menu': {\n CustomElementClass: Menu,\n },\n 'wc-menu-item': {\n CustomElementClass: MenuItem,\n },\n 'wc-sub-menu': {\n CustomElementClass: SubMenu,\n },\n 'wc-container': {\n CustomElementClass: Container,\n },\n 'wc-image': {\n CustomElementClass: Image,\n },\n 'wc-slider': {\n CustomElementClass: Slider,\n },\n 'wc-table': {\n CustomElementClass: Table,\n },\n 'wc-pagination': {\n CustomElementClass: Pagination,\n },\n 'wc-tree-view': {\n CustomElementClass: TreeView,\n },\n 'wc-tree-node': {\n CustomElementClass: TreeView.Node,\n },\n 'wc-snackbar': {\n CustomElementClass: Snackbar,\n },\n 'wc-bottom-sheet': {\n CustomElementClass: BottomSheet,\n },\n 'wc-side-sheet': {\n CustomElementClass: SideSheet,\n },\n 'wc-select': {\n CustomElementClass: Select,\n },\n 'wc-option': {\n CustomElementClass: SelectOptionElement,\n },\n 'wc-search': {\n CustomElementClass: Search,\n },\n 'wc-toolbar': {\n CustomElementClass: Toolbar,\n },\n 'wc-chart-doughnut': {\n importPath: `${distDirectory}/chart-doughnut.js`,\n },\n 'wc-chart-pie': {\n importPath: `${distDirectory}/chart-pie.js`,\n },\n 'wc-chart-bar': {\n importPath: `${distDirectory}/chart-bar.js`,\n },\n 'wc-chart-stacked-bar': {\n importPath: `${distDirectory}/chart-stacked-bar.js`,\n },\n },\n};\n\nnew LoaderUtils(loaderConfig).start();\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { f, u } from './IndividualComponent-DUINtMGK.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @license
|
|
5
|
+
* Copyright 2017 Google LLC
|
|
6
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
7
|
+
*/const o={attribute:true,type:String,converter:u,reflect:false,hasChanged:f},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),"setter"===n&&((t=Object.create(t)).wrapped=true),s.set(r.name,t),"accessor"===n){const{name:o}=r;return {set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t,true,r);},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if("setter"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t,true,r);}}throw Error("Unsupported decorator location: "+n)};function n(t){return (e,o)=>"object"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}
|
|
8
|
+
|
|
9
|
+
export { n };
|
|
10
|
+
//# sourceMappingURL=property-1psGvXOq.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property-1psGvXOq.js","sources":["../node_modules/@lit/reactive-element/decorators/property.js"],"sourcesContent":["import{notEqual as t,defaultConverter as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:e,reflect:!1,hasChanged:t},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t,!0,r)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t,!0,r)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n"],"names":["e","t"],"mappings":";;AACA;AACA;AACA;AACA;AACA,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAACA,CAAC,CAAC,OAAO,CAAC,KAAE,CAAC,UAAU,CAACC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC,EAAC,CAAC,CAAC,MAAM,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;;","x_google_ignoreList":[0]}
|
package/dist/search.js
ADDED
|
@@ -0,0 +1,452 @@
|
|
|
1
|
+
import { E, A, a as i$1, _ as __decorate, I as IndividualComponent, i as i$2, b } from './IndividualComponent-DUINtMGK.js';
|
|
2
|
+
import { n } from './property-1psGvXOq.js';
|
|
3
|
+
import { r as r$1 } from './state-DwbEjqVk.js';
|
|
4
|
+
import { e as e$1 } from './query-QBcUV-L_.js';
|
|
5
|
+
import { e as e$2 } from './class-map-YU7g0o3B.js';
|
|
6
|
+
import { e, i, t } from './directive-ZPhl09Yt.js';
|
|
7
|
+
import { o as observerSlotChangesWithCallback } from './observe-slot-change-BGJfgg2E.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @license
|
|
11
|
+
* Copyright 2020 Google LLC
|
|
12
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
13
|
+
*/const r=o=>void 0===o.strings,m={},p=(o,t=m)=>o._$AH=t;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @license
|
|
17
|
+
* Copyright 2020 Google LLC
|
|
18
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
19
|
+
*/const l=e(class extends i{constructor(r$1){if(super(r$1),r$1.type!==t.PROPERTY&&r$1.type!==t.ATTRIBUTE&&r$1.type!==t.BOOLEAN_ATTRIBUTE)throw Error("The `live` directive is not allowed on child or event bindings");if(!r(r$1))throw Error("`live` bindings can only contain a single expression")}render(r){return r}update(i,[t$1]){if(t$1===E||t$1===A)return t$1;const o=i.element,l=i.name;if(i.type===t.PROPERTY){if(t$1===o[l])return E}else if(i.type===t.BOOLEAN_ATTRIBUTE){if(!!t$1===o.hasAttribute(l))return E}else if(i.type===t.ATTRIBUTE&&o.getAttribute(l)===t$1+"")return E;return p(i),t$1}});
|
|
20
|
+
|
|
21
|
+
var css_248z$1 = i$1`* {
|
|
22
|
+
box-sizing: border-box;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.screen-reader-only {
|
|
26
|
+
display: none !important;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
:host {
|
|
30
|
+
display: block;
|
|
31
|
+
--search-container-shape: var(--shape-corner-full);
|
|
32
|
+
--search-container-shape-start-start: unset;
|
|
33
|
+
--search-container-shape-start-end: unset;
|
|
34
|
+
--search-container-shape-end-start: unset;
|
|
35
|
+
--search-container-shape-end-end: unset;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.search {
|
|
39
|
+
position: relative;
|
|
40
|
+
display: flex;
|
|
41
|
+
align-items: center;
|
|
42
|
+
width: 100%;
|
|
43
|
+
gap: 0.25rem;
|
|
44
|
+
--_container-shape-start-start: var(--search-container-shape-start-start, var(--search-container-shape));
|
|
45
|
+
--_container-shape-start-end: var(--search-container-shape-start-end, var(--search-container-shape));
|
|
46
|
+
--_container-shape-end-start: var(--search-container-shape-end-start, var(--search-container-shape));
|
|
47
|
+
--_container-shape-end-end: var(--search-container-shape-end-end, var(--search-container-shape));
|
|
48
|
+
border-start-start-radius: var(--_container-shape-start-start);
|
|
49
|
+
border-start-end-radius: var(--_container-shape-start-end);
|
|
50
|
+
border-end-start-radius: var(--_container-shape-end-start);
|
|
51
|
+
border-end-end-radius: var(--_container-shape-end-end);
|
|
52
|
+
padding-inline: 1rem;
|
|
53
|
+
/* size-md default */
|
|
54
|
+
--_height: 3.5rem;
|
|
55
|
+
}
|
|
56
|
+
.search.size-sm {
|
|
57
|
+
--_height: 2.5rem;
|
|
58
|
+
padding-inline: 0.75rem;
|
|
59
|
+
}
|
|
60
|
+
.search.size-lg {
|
|
61
|
+
--_height: 4rem;
|
|
62
|
+
padding-inline: 1.25rem;
|
|
63
|
+
}
|
|
64
|
+
.search {
|
|
65
|
+
min-height: var(--_height);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/* Background layer */
|
|
69
|
+
.background {
|
|
70
|
+
position: absolute;
|
|
71
|
+
inset: 0;
|
|
72
|
+
background-color: var(--_container-color);
|
|
73
|
+
border-start-start-radius: var(--_container-shape-start-start);
|
|
74
|
+
border-start-end-radius: var(--_container-shape-start-end);
|
|
75
|
+
border-end-start-radius: var(--_container-shape-end-start);
|
|
76
|
+
border-end-end-radius: var(--_container-shape-end-end);
|
|
77
|
+
pointer-events: none;
|
|
78
|
+
z-index: 0;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/* Outline layer (outlined variant) */
|
|
82
|
+
.outline {
|
|
83
|
+
display: none;
|
|
84
|
+
position: absolute;
|
|
85
|
+
inset: 0;
|
|
86
|
+
border: var(--_outline-width, 0.0675rem) solid var(--_outline-color);
|
|
87
|
+
border-start-start-radius: var(--_container-shape-start-start);
|
|
88
|
+
border-start-end-radius: var(--_container-shape-start-end);
|
|
89
|
+
border-end-start-radius: var(--_container-shape-end-start);
|
|
90
|
+
border-end-end-radius: var(--_container-shape-end-end);
|
|
91
|
+
pointer-events: none;
|
|
92
|
+
z-index: 1;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/* Input element */
|
|
96
|
+
.search-input {
|
|
97
|
+
flex: 1;
|
|
98
|
+
min-width: 0;
|
|
99
|
+
background: transparent;
|
|
100
|
+
border: none;
|
|
101
|
+
outline: none;
|
|
102
|
+
padding: 0;
|
|
103
|
+
margin: 0;
|
|
104
|
+
z-index: 1;
|
|
105
|
+
position: relative;
|
|
106
|
+
color: var(--_input-text-color);
|
|
107
|
+
caret-color: var(--_caret-color, var(--color-primary));
|
|
108
|
+
font-family: var(--typography-body-large-font-family);
|
|
109
|
+
font-size: var(--typography-body-large-font-size);
|
|
110
|
+
font-weight: var(--typography-body-large-font-weight);
|
|
111
|
+
line-height: var(--typography-body-large-line-height);
|
|
112
|
+
letter-spacing: var(--typography-body-large-letter-spacing);
|
|
113
|
+
}
|
|
114
|
+
.search-input::placeholder {
|
|
115
|
+
color: var(--_placeholder-color);
|
|
116
|
+
}
|
|
117
|
+
.search-input {
|
|
118
|
+
/* Remove browser default search input styling */
|
|
119
|
+
}
|
|
120
|
+
.search-input::-webkit-search-cancel-button, .search-input::-webkit-search-decoration {
|
|
121
|
+
appearance: none;
|
|
122
|
+
display: none;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/* Leading icon area */
|
|
126
|
+
.leading-icon {
|
|
127
|
+
display: flex;
|
|
128
|
+
align-items: center;
|
|
129
|
+
flex-shrink: 0;
|
|
130
|
+
z-index: 1;
|
|
131
|
+
position: relative;
|
|
132
|
+
color: var(--_icon-color);
|
|
133
|
+
--icon-color: var(--_icon-color);
|
|
134
|
+
margin-inline-end: 0.5rem;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/* Trailing actions area (clear button + trailing slot) */
|
|
138
|
+
.trailing-actions {
|
|
139
|
+
display: flex;
|
|
140
|
+
align-items: center;
|
|
141
|
+
gap: 0.25rem;
|
|
142
|
+
flex-shrink: 0;
|
|
143
|
+
z-index: 1;
|
|
144
|
+
position: relative;
|
|
145
|
+
color: var(--_icon-color);
|
|
146
|
+
--icon-color: var(--_icon-color);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/* Clear button */
|
|
150
|
+
.clear-button {
|
|
151
|
+
display: flex;
|
|
152
|
+
align-items: center;
|
|
153
|
+
justify-content: center;
|
|
154
|
+
background: transparent;
|
|
155
|
+
border: none;
|
|
156
|
+
cursor: pointer;
|
|
157
|
+
padding: 0.25rem;
|
|
158
|
+
border-radius: 50%;
|
|
159
|
+
color: var(--_icon-color);
|
|
160
|
+
--icon-color: var(--_icon-color);
|
|
161
|
+
outline: none;
|
|
162
|
+
transition: background-color 150ms;
|
|
163
|
+
}
|
|
164
|
+
.clear-button:hover:not([disabled]) {
|
|
165
|
+
background-color: color-mix(in srgb, var(--_icon-color) 8%, transparent);
|
|
166
|
+
}
|
|
167
|
+
.clear-button:focus-visible {
|
|
168
|
+
outline: 2px solid var(--color-primary);
|
|
169
|
+
outline-offset: 1px;
|
|
170
|
+
}
|
|
171
|
+
.clear-button[disabled] {
|
|
172
|
+
cursor: default;
|
|
173
|
+
opacity: 0.38;
|
|
174
|
+
pointer-events: none;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/* ---- Variants ---- */
|
|
178
|
+
.search.variant-filled {
|
|
179
|
+
--_container-color: var(--search-container-color);
|
|
180
|
+
--_input-text-color: var(--search-input-text-color);
|
|
181
|
+
--_placeholder-color: var(--search-placeholder-color);
|
|
182
|
+
--_icon-color: var(--search-icon-color);
|
|
183
|
+
}
|
|
184
|
+
.search.variant-filled.focused {
|
|
185
|
+
--_outline-color: var(--color-primary);
|
|
186
|
+
}
|
|
187
|
+
.search.variant-filled.focused .outline {
|
|
188
|
+
display: block;
|
|
189
|
+
border-width: 2px;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.search.variant-outlined {
|
|
193
|
+
--_container-color: var(--search-outlined-container-color);
|
|
194
|
+
--_input-text-color: var(--search-outlined-input-text-color);
|
|
195
|
+
--_placeholder-color: var(--search-outlined-placeholder-color);
|
|
196
|
+
--_icon-color: var(--search-outlined-icon-color);
|
|
197
|
+
--_outline-color: var(--search-outline-color);
|
|
198
|
+
}
|
|
199
|
+
.search.variant-outlined .outline {
|
|
200
|
+
display: block;
|
|
201
|
+
}
|
|
202
|
+
.search.variant-outlined.focused {
|
|
203
|
+
--_outline-color: var(--color-primary);
|
|
204
|
+
}
|
|
205
|
+
.search.variant-outlined.focused .outline {
|
|
206
|
+
border-width: 2px;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/* ---- Disabled state ---- */
|
|
210
|
+
.search.disabled {
|
|
211
|
+
pointer-events: none;
|
|
212
|
+
opacity: 0.38;
|
|
213
|
+
}
|
|
214
|
+
.search.disabled .search-input {
|
|
215
|
+
cursor: not-allowed;
|
|
216
|
+
}`;
|
|
217
|
+
|
|
218
|
+
var css_248z = i$1`:host {
|
|
219
|
+
/* Filled variant tokens */
|
|
220
|
+
--search-container-color: var(--color-surface-container-high);
|
|
221
|
+
--search-input-text-color: var(--color-on-surface);
|
|
222
|
+
--search-placeholder-color: var(--color-on-surface-variant);
|
|
223
|
+
--search-icon-color: var(--color-on-surface-variant);
|
|
224
|
+
/* Outlined variant tokens */
|
|
225
|
+
--search-outlined-container-color: var(--color-surface);
|
|
226
|
+
--search-outlined-input-text-color: var(--color-on-surface);
|
|
227
|
+
--search-outlined-placeholder-color: var(--color-on-surface-variant);
|
|
228
|
+
--search-outlined-icon-color: var(--color-on-surface-variant);
|
|
229
|
+
--search-outline-color: var(--color-outline);
|
|
230
|
+
}`;
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* @label Search
|
|
234
|
+
* @tag wc-search
|
|
235
|
+
* @rawTag search
|
|
236
|
+
*
|
|
237
|
+
* @summary A Material 3 search bar for filtering and finding content.
|
|
238
|
+
* @overview
|
|
239
|
+
* <p>The search component provides a text input designed for search interactions.
|
|
240
|
+
* It supports outlined and filled variants, an optional clear button, and leading/trailing icon slots.</p>
|
|
241
|
+
*
|
|
242
|
+
* @cssprop --search-container-shape - Border radius of the search bar. Defaults to full (pill shape).
|
|
243
|
+
* @cssprop --search-container-color - Background color of the search container.
|
|
244
|
+
* @cssprop --search-input-text-color - Color of the input text.
|
|
245
|
+
* @cssprop --search-placeholder-color - Color of the placeholder text.
|
|
246
|
+
* @cssprop --search-icon-color - Color of the leading and trailing icons.
|
|
247
|
+
* @cssprop --search-outline-color - Border color for the outlined variant.
|
|
248
|
+
* @cssprop --search-outline-width - Border width for the outlined variant.
|
|
249
|
+
*
|
|
250
|
+
* @fires {CustomEvent} input - Dispatched when the search value changes.
|
|
251
|
+
* @fires {CustomEvent} change - Dispatched when the search input loses focus or Enter is pressed.
|
|
252
|
+
* @fires {CustomEvent} clear - Dispatched when the clear button is activated.
|
|
253
|
+
* @fires {CustomEvent} search - Dispatched when the user submits the search (presses Enter).
|
|
254
|
+
*
|
|
255
|
+
* @example
|
|
256
|
+
* ```html
|
|
257
|
+
* <wc-search placeholder="Search..."></wc-search>
|
|
258
|
+
* ```
|
|
259
|
+
* @tags form
|
|
260
|
+
*/
|
|
261
|
+
let Search = class Search extends i$2 {
|
|
262
|
+
constructor() {
|
|
263
|
+
super(...arguments);
|
|
264
|
+
/**
|
|
265
|
+
* Visual style variant.
|
|
266
|
+
* Possible values: `"outlined"`, `"filled"`. Defaults to `"filled"`.
|
|
267
|
+
*/
|
|
268
|
+
this.variant = 'filled';
|
|
269
|
+
/**
|
|
270
|
+
* Placeholder text shown when the input is empty.
|
|
271
|
+
*/
|
|
272
|
+
this.placeholder = 'Search';
|
|
273
|
+
/**
|
|
274
|
+
* Current search value.
|
|
275
|
+
*/
|
|
276
|
+
this.value = '';
|
|
277
|
+
/**
|
|
278
|
+
* Whether the search bar is disabled.
|
|
279
|
+
*/
|
|
280
|
+
this.disabled = false;
|
|
281
|
+
/**
|
|
282
|
+
* Whether a clear button is shown when the input has a value.
|
|
283
|
+
*/
|
|
284
|
+
this.clearable = true;
|
|
285
|
+
/**
|
|
286
|
+
* Size of the search bar.
|
|
287
|
+
* Possible values: `"sm"`, `"md"`, `"lg"`. Defaults to `"md"`.
|
|
288
|
+
*/
|
|
289
|
+
this.size = 'md';
|
|
290
|
+
this.focused = false;
|
|
291
|
+
this.leadingSlotHasContent = false;
|
|
292
|
+
}
|
|
293
|
+
firstUpdated() {
|
|
294
|
+
observerSlotChangesWithCallback(this.renderRoot.querySelector('slot[name="leading"]'), hasContent => {
|
|
295
|
+
this.leadingSlotHasContent = hasContent;
|
|
296
|
+
this.requestUpdate();
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
/** Focuses the internal input element. */
|
|
300
|
+
focus() {
|
|
301
|
+
this.inputElement?.focus();
|
|
302
|
+
}
|
|
303
|
+
/** Blurs the internal input element. */
|
|
304
|
+
blur() {
|
|
305
|
+
this.inputElement?.blur();
|
|
306
|
+
}
|
|
307
|
+
__handleInput(event) {
|
|
308
|
+
const input = event.target;
|
|
309
|
+
this.value = input.value;
|
|
310
|
+
this.dispatchEvent(new CustomEvent('input', {
|
|
311
|
+
detail: { value: this.value },
|
|
312
|
+
bubbles: true,
|
|
313
|
+
composed: true,
|
|
314
|
+
}));
|
|
315
|
+
}
|
|
316
|
+
__handleChange(event) {
|
|
317
|
+
const input = event.target;
|
|
318
|
+
this.value = input.value;
|
|
319
|
+
this.dispatchEvent(new CustomEvent('change', {
|
|
320
|
+
detail: { value: this.value },
|
|
321
|
+
bubbles: true,
|
|
322
|
+
composed: true,
|
|
323
|
+
}));
|
|
324
|
+
}
|
|
325
|
+
__handleKeydown(event) {
|
|
326
|
+
if (event.key === 'Enter') {
|
|
327
|
+
this.dispatchEvent(new CustomEvent('search', {
|
|
328
|
+
detail: { value: this.value },
|
|
329
|
+
bubbles: true,
|
|
330
|
+
composed: true,
|
|
331
|
+
}));
|
|
332
|
+
}
|
|
333
|
+
if (event.key === 'Escape') {
|
|
334
|
+
this.__clearValue();
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
__handleFocus() {
|
|
338
|
+
this.focused = true;
|
|
339
|
+
}
|
|
340
|
+
__handleBlur() {
|
|
341
|
+
this.focused = false;
|
|
342
|
+
}
|
|
343
|
+
__clearValue() {
|
|
344
|
+
this.value = '';
|
|
345
|
+
this.inputElement?.focus();
|
|
346
|
+
this.dispatchEvent(new CustomEvent('clear', {
|
|
347
|
+
bubbles: true,
|
|
348
|
+
composed: true,
|
|
349
|
+
}));
|
|
350
|
+
this.dispatchEvent(new CustomEvent('input', {
|
|
351
|
+
detail: { value: '' },
|
|
352
|
+
bubbles: true,
|
|
353
|
+
composed: true,
|
|
354
|
+
}));
|
|
355
|
+
}
|
|
356
|
+
__renderClearButton() {
|
|
357
|
+
if (!this.clearable || !this.value)
|
|
358
|
+
return A;
|
|
359
|
+
return b `
|
|
360
|
+
<button
|
|
361
|
+
class="clear-button"
|
|
362
|
+
aria-label="Clear search"
|
|
363
|
+
tabindex="-1"
|
|
364
|
+
@click=${this.__clearValue}
|
|
365
|
+
?disabled=${this.disabled}
|
|
366
|
+
>
|
|
367
|
+
<wc-icon name="close"></wc-icon>
|
|
368
|
+
</button>
|
|
369
|
+
`;
|
|
370
|
+
}
|
|
371
|
+
__renderLeadingIcon() {
|
|
372
|
+
return b `
|
|
373
|
+
<div class="leading-icon ${this.leadingSlotHasContent ? 'has-slot' : ''}">
|
|
374
|
+
<slot name="leading">
|
|
375
|
+
<wc-icon name="search"></wc-icon>
|
|
376
|
+
</slot>
|
|
377
|
+
</div>
|
|
378
|
+
`;
|
|
379
|
+
}
|
|
380
|
+
render() {
|
|
381
|
+
const cssClasses = {
|
|
382
|
+
search: true,
|
|
383
|
+
[`variant-${this.variant}`]: true,
|
|
384
|
+
[`size-${this.size}`]: true,
|
|
385
|
+
focused: this.focused,
|
|
386
|
+
disabled: this.disabled,
|
|
387
|
+
'has-value': !!this.value,
|
|
388
|
+
};
|
|
389
|
+
return b `
|
|
390
|
+
<div class=${e$2(cssClasses)} role="search">
|
|
391
|
+
<div class="background"></div>
|
|
392
|
+
<div class="outline"></div>
|
|
393
|
+
|
|
394
|
+
${this.__renderLeadingIcon()}
|
|
395
|
+
|
|
396
|
+
<input
|
|
397
|
+
class="search-input"
|
|
398
|
+
type="search"
|
|
399
|
+
role="searchbox"
|
|
400
|
+
.value=${l(this.value)}
|
|
401
|
+
placeholder=${this.placeholder}
|
|
402
|
+
?disabled=${this.disabled}
|
|
403
|
+
aria-label=${this.placeholder}
|
|
404
|
+
@input=${this.__handleInput}
|
|
405
|
+
@change=${this.__handleChange}
|
|
406
|
+
@keydown=${this.__handleKeydown}
|
|
407
|
+
@focus=${this.__handleFocus}
|
|
408
|
+
@blur=${this.__handleBlur}
|
|
409
|
+
/>
|
|
410
|
+
|
|
411
|
+
<div class="trailing-actions">
|
|
412
|
+
${this.__renderClearButton()}
|
|
413
|
+
<slot name="trailing"></slot>
|
|
414
|
+
</div>
|
|
415
|
+
</div>
|
|
416
|
+
`;
|
|
417
|
+
}
|
|
418
|
+
};
|
|
419
|
+
Search.styles = [css_248z$1, css_248z];
|
|
420
|
+
__decorate([
|
|
421
|
+
n({ type: String, reflect: true })
|
|
422
|
+
], Search.prototype, "variant", void 0);
|
|
423
|
+
__decorate([
|
|
424
|
+
n({ type: String })
|
|
425
|
+
], Search.prototype, "placeholder", void 0);
|
|
426
|
+
__decorate([
|
|
427
|
+
n({ type: String })
|
|
428
|
+
], Search.prototype, "value", void 0);
|
|
429
|
+
__decorate([
|
|
430
|
+
n({ type: Boolean, reflect: true })
|
|
431
|
+
], Search.prototype, "disabled", void 0);
|
|
432
|
+
__decorate([
|
|
433
|
+
n({ type: Boolean })
|
|
434
|
+
], Search.prototype, "clearable", void 0);
|
|
435
|
+
__decorate([
|
|
436
|
+
n({ type: String, reflect: true })
|
|
437
|
+
], Search.prototype, "size", void 0);
|
|
438
|
+
__decorate([
|
|
439
|
+
r$1()
|
|
440
|
+
], Search.prototype, "focused", void 0);
|
|
441
|
+
__decorate([
|
|
442
|
+
r$1()
|
|
443
|
+
], Search.prototype, "leadingSlotHasContent", void 0);
|
|
444
|
+
__decorate([
|
|
445
|
+
e$1('.search-input')
|
|
446
|
+
], Search.prototype, "inputElement", void 0);
|
|
447
|
+
Search = __decorate([
|
|
448
|
+
IndividualComponent
|
|
449
|
+
], Search);
|
|
450
|
+
|
|
451
|
+
export { Search };
|
|
452
|
+
//# sourceMappingURL=search.js.map
|