bareframe 0.1.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/README.md +197 -0
- package/dist/components/accordion.css +107 -0
- package/dist/components/accordion.js +92 -0
- package/dist/components/action-list.css +30 -0
- package/dist/components/action-list.js +31 -0
- package/dist/components/alert.css +30 -0
- package/dist/components/alert.js +31 -0
- package/dist/components/anchor.css +30 -0
- package/dist/components/anchor.js +31 -0
- package/dist/components/autocomplete.css +30 -0
- package/dist/components/autocomplete.js +31 -0
- package/dist/components/avatar.css +30 -0
- package/dist/components/avatar.js +31 -0
- package/dist/components/badge.css +30 -0
- package/dist/components/badge.js +31 -0
- package/dist/components/banner.css +30 -0
- package/dist/components/banner.js +31 -0
- package/dist/components/bar-chart.css +30 -0
- package/dist/components/bar-chart.js +31 -0
- package/dist/components/bottom-navigation.css +30 -0
- package/dist/components/bottom-navigation.js +31 -0
- package/dist/components/bottom-sheet.css +30 -0
- package/dist/components/bottom-sheet.js +31 -0
- package/dist/components/breadcrumb.css +30 -0
- package/dist/components/breadcrumb.js +31 -0
- package/dist/components/button-group.css +30 -0
- package/dist/components/button-group.js +31 -0
- package/dist/components/button.css +136 -0
- package/dist/components/button.js +42 -0
- package/dist/components/calendar.css +30 -0
- package/dist/components/calendar.js +31 -0
- package/dist/components/canvas.css +30 -0
- package/dist/components/canvas.js +31 -0
- package/dist/components/card.css +30 -0
- package/dist/components/card.js +31 -0
- package/dist/components/carousel.css +30 -0
- package/dist/components/carousel.js +31 -0
- package/dist/components/chart.css +30 -0
- package/dist/components/chart.js +31 -0
- package/dist/components/checkbox.css +30 -0
- package/dist/components/checkbox.js +31 -0
- package/dist/components/chip.css +30 -0
- package/dist/components/chip.js +31 -0
- package/dist/components/code-block.css +30 -0
- package/dist/components/code-block.js +31 -0
- package/dist/components/color-picker.css +30 -0
- package/dist/components/color-picker.js +31 -0
- package/dist/components/combobox.css +30 -0
- package/dist/components/combobox.js +31 -0
- package/dist/components/command-palette.css +30 -0
- package/dist/components/command-palette.js +31 -0
- package/dist/components/context-menu.css +30 -0
- package/dist/components/context-menu.js +31 -0
- package/dist/components/countdown.css +30 -0
- package/dist/components/countdown.js +31 -0
- package/dist/components/data-grid.css +30 -0
- package/dist/components/data-grid.js +31 -0
- package/dist/components/date-picker.css +30 -0
- package/dist/components/date-picker.js +31 -0
- package/dist/components/date-range-picker.css +30 -0
- package/dist/components/date-range-picker.js +31 -0
- package/dist/components/dialog.css +30 -0
- package/dist/components/dialog.js +31 -0
- package/dist/components/divider.css +30 -0
- package/dist/components/divider.js +31 -0
- package/dist/components/donut-chart.css +30 -0
- package/dist/components/donut-chart.js +31 -0
- package/dist/components/drawer.css +30 -0
- package/dist/components/drawer.js +31 -0
- package/dist/components/dropdown.css +30 -0
- package/dist/components/dropdown.js +31 -0
- package/dist/components/empty-state.css +30 -0
- package/dist/components/empty-state.js +31 -0
- package/dist/components/error-summary.css +30 -0
- package/dist/components/error-summary.js +31 -0
- package/dist/components/expanded-panel.css +30 -0
- package/dist/components/expanded-panel.js +31 -0
- package/dist/components/fab.css +30 -0
- package/dist/components/fab.js +31 -0
- package/dist/components/file-upload.css +30 -0
- package/dist/components/file-upload.js +31 -0
- package/dist/components/filter-bar.css +30 -0
- package/dist/components/filter-bar.js +31 -0
- package/dist/components/footer.css +30 -0
- package/dist/components/footer.js +31 -0
- package/dist/components/form-field.css +30 -0
- package/dist/components/form-field.js +31 -0
- package/dist/components/gantt-chart.css +30 -0
- package/dist/components/gantt-chart.js +31 -0
- package/dist/components/gauge.css +30 -0
- package/dist/components/gauge.js +31 -0
- package/dist/components/graph.css +30 -0
- package/dist/components/graph.js +31 -0
- package/dist/components/grid.css +30 -0
- package/dist/components/grid.js +31 -0
- package/dist/components/header.css +30 -0
- package/dist/components/header.js +31 -0
- package/dist/components/heatmap.css +30 -0
- package/dist/components/heatmap.js +31 -0
- package/dist/components/hero.css +30 -0
- package/dist/components/hero.js +31 -0
- package/dist/components/icon.css +30 -0
- package/dist/components/icon.js +31 -0
- package/dist/components/image.css +30 -0
- package/dist/components/image.js +31 -0
- package/dist/components/input.css +30 -0
- package/dist/components/input.js +31 -0
- package/dist/components/key-value-list.css +30 -0
- package/dist/components/key-value-list.js +31 -0
- package/dist/components/line-chart.css +30 -0
- package/dist/components/line-chart.js +31 -0
- package/dist/components/link.css +30 -0
- package/dist/components/link.js +31 -0
- package/dist/components/list-item.css +30 -0
- package/dist/components/list-item.js +31 -0
- package/dist/components/list.css +30 -0
- package/dist/components/list.js +31 -0
- package/dist/components/loading-indicator.css +30 -0
- package/dist/components/loading-indicator.js +31 -0
- package/dist/components/map.css +30 -0
- package/dist/components/map.js +31 -0
- package/dist/components/menu-item.css +30 -0
- package/dist/components/menu-item.js +31 -0
- package/dist/components/menu.css +30 -0
- package/dist/components/menu.js +31 -0
- package/dist/components/message.css +30 -0
- package/dist/components/message.js +31 -0
- package/dist/components/metric-card.css +30 -0
- package/dist/components/metric-card.js +31 -0
- package/dist/components/modal.css +30 -0
- package/dist/components/modal.js +31 -0
- package/dist/components/multi-select.css +30 -0
- package/dist/components/multi-select.js +31 -0
- package/dist/components/nav.css +30 -0
- package/dist/components/nav.js +31 -0
- package/dist/components/notification.css +30 -0
- package/dist/components/notification.js +31 -0
- package/dist/components/number-field.css +30 -0
- package/dist/components/number-field.js +31 -0
- package/dist/components/otp-input.css +30 -0
- package/dist/components/otp-input.js +31 -0
- package/dist/components/pagination.css +30 -0
- package/dist/components/pagination.js +31 -0
- package/dist/components/pie-chart.css +30 -0
- package/dist/components/pie-chart.js +31 -0
- package/dist/components/popover.css +30 -0
- package/dist/components/popover.js +31 -0
- package/dist/components/progress-bar.css +30 -0
- package/dist/components/progress-bar.js +31 -0
- package/dist/components/progress-circle.css +30 -0
- package/dist/components/progress-circle.js +31 -0
- package/dist/components/quick-actions.css +30 -0
- package/dist/components/quick-actions.js +31 -0
- package/dist/components/radio-group.css +30 -0
- package/dist/components/radio-group.js +31 -0
- package/dist/components/radio.css +30 -0
- package/dist/components/radio.js +31 -0
- package/dist/components/range-slider.css +30 -0
- package/dist/components/range-slider.js +31 -0
- package/dist/components/rating.css +30 -0
- package/dist/components/rating.js +31 -0
- package/dist/components/search.css +30 -0
- package/dist/components/search.js +31 -0
- package/dist/components/segmented-control.css +30 -0
- package/dist/components/segmented-control.js +31 -0
- package/dist/components/select.css +30 -0
- package/dist/components/select.js +31 -0
- package/dist/components/sheet.css +30 -0
- package/dist/components/sheet.js +31 -0
- package/dist/components/skeleton.css +30 -0
- package/dist/components/skeleton.js +31 -0
- package/dist/components/slider.css +30 -0
- package/dist/components/slider.js +31 -0
- package/dist/components/snackbar.css +30 -0
- package/dist/components/snackbar.js +31 -0
- package/dist/components/sparkline.css +30 -0
- package/dist/components/sparkline.js +31 -0
- package/dist/components/split-button.css +30 -0
- package/dist/components/split-button.js +31 -0
- package/dist/components/splitter.css +30 -0
- package/dist/components/splitter.js +31 -0
- package/dist/components/stack.css +30 -0
- package/dist/components/stack.js +31 -0
- package/dist/components/stepper.css +30 -0
- package/dist/components/stepper.js +31 -0
- package/dist/components/switch.css +30 -0
- package/dist/components/switch.js +31 -0
- package/dist/components/tab-group.css +30 -0
- package/dist/components/tab-group.js +31 -0
- package/dist/components/tab.css +30 -0
- package/dist/components/tab.js +31 -0
- package/dist/components/table.css +30 -0
- package/dist/components/table.js +31 -0
- package/dist/components/tag.css +30 -0
- package/dist/components/tag.js +31 -0
- package/dist/components/textarea.css +30 -0
- package/dist/components/textarea.js +31 -0
- package/dist/components/textfield.css +30 -0
- package/dist/components/textfield.js +31 -0
- package/dist/components/timeline.css +30 -0
- package/dist/components/timeline.js +31 -0
- package/dist/components/toast.css +30 -0
- package/dist/components/toast.js +31 -0
- package/dist/components/toggle.css +30 -0
- package/dist/components/toggle.js +31 -0
- package/dist/components/toolbar.css +30 -0
- package/dist/components/toolbar.js +31 -0
- package/dist/components/tooltip.css +30 -0
- package/dist/components/tooltip.js +31 -0
- package/dist/components/tree-view.css +30 -0
- package/dist/components/tree-view.js +31 -0
- package/dist/components/treemap.css +30 -0
- package/dist/components/treemap.js +31 -0
- package/dist/components/upload-dropzone.css +30 -0
- package/dist/components/upload-dropzone.js +31 -0
- package/dist/components/video-player.css +30 -0
- package/dist/components/video-player.js +31 -0
- package/dist/components/virtual-list.css +30 -0
- package/dist/components/virtual-list.js +31 -0
- package/dist/components/wizard.css +30 -0
- package/dist/components/wizard.js +31 -0
- package/dist/index.js +110 -0
- package/dist/manifest.json +116 -0
- package/dist/themes/dark.css +368 -0
- package/dist/themes/light.css +368 -0
- package/dist/themes/sprint.css +368 -0
- package/dist/themes/system.css +398 -0
- package/package.json +32 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfCommandPalette extends HTMLElement {
|
|
2
|
+
constructor() {
|
|
3
|
+
super();
|
|
4
|
+
this.attachShadow({ mode: 'open' });
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
connectedCallback() {
|
|
8
|
+
if (this._initialized) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
this._initialized = true;
|
|
12
|
+
|
|
13
|
+
const cssUrl = new URL('./command-palette.css', import.meta.url);
|
|
14
|
+
const link = document.createElement('link');
|
|
15
|
+
link.rel = 'stylesheet';
|
|
16
|
+
link.href = cssUrl.href;
|
|
17
|
+
|
|
18
|
+
const root = document.createElement('div');
|
|
19
|
+
root.className = 'root';
|
|
20
|
+
root.setAttribute('part', 'root');
|
|
21
|
+
root.innerHTML = '<slot></slot>';
|
|
22
|
+
|
|
23
|
+
if (!this.innerHTML.trim()) {
|
|
24
|
+
root.textContent = 'command palette';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-command-palette', BfCommandPalette);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-context-menu-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-context-menu-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-context-menu-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-context-menu-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-context-menu-border-color: var(--bf-theme-context-menu-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-context-menu-bg: var(--bf-theme-context-menu-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-context-menu-color: var(--bf-theme-context-menu-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-context-menu-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-context-menu-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-context-menu-transition:
|
|
12
|
+
var(--bf-theme-transition-bg, background-color 120ms ease),
|
|
13
|
+
var(--bf-theme-transition-color, color 120ms ease),
|
|
14
|
+
var(--bf-theme-transition-border, border-color 120ms ease);
|
|
15
|
+
|
|
16
|
+
display: block;
|
|
17
|
+
font: var(--bf-context-menu-font);
|
|
18
|
+
color: var(--bf-context-menu-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-context-menu-bg);
|
|
23
|
+
color: var(--bf-context-menu-color);
|
|
24
|
+
border-width: var(--bf-context-menu-border-width);
|
|
25
|
+
border-style: var(--bf-context-menu-border-style);
|
|
26
|
+
border-color: var(--bf-context-menu-border-color);
|
|
27
|
+
border-radius: var(--bf-context-menu-radius);
|
|
28
|
+
padding: var(--bf-context-menu-padding-y) var(--bf-context-menu-padding-x);
|
|
29
|
+
transition: var(--bf-context-menu-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfContextMenu extends HTMLElement {
|
|
2
|
+
constructor() {
|
|
3
|
+
super();
|
|
4
|
+
this.attachShadow({ mode: 'open' });
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
connectedCallback() {
|
|
8
|
+
if (this._initialized) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
this._initialized = true;
|
|
12
|
+
|
|
13
|
+
const cssUrl = new URL('./context-menu.css', import.meta.url);
|
|
14
|
+
const link = document.createElement('link');
|
|
15
|
+
link.rel = 'stylesheet';
|
|
16
|
+
link.href = cssUrl.href;
|
|
17
|
+
|
|
18
|
+
const root = document.createElement('div');
|
|
19
|
+
root.className = 'root';
|
|
20
|
+
root.setAttribute('part', 'root');
|
|
21
|
+
root.innerHTML = '<slot></slot>';
|
|
22
|
+
|
|
23
|
+
if (!this.innerHTML.trim()) {
|
|
24
|
+
root.textContent = 'context menu';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-context-menu', BfContextMenu);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-countdown-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-countdown-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-countdown-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-countdown-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-countdown-border-color: var(--bf-theme-countdown-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-countdown-bg: var(--bf-theme-countdown-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-countdown-color: var(--bf-theme-countdown-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-countdown-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-countdown-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-countdown-transition:
|
|
12
|
+
var(--bf-theme-transition-bg, background-color 120ms ease),
|
|
13
|
+
var(--bf-theme-transition-color, color 120ms ease),
|
|
14
|
+
var(--bf-theme-transition-border, border-color 120ms ease);
|
|
15
|
+
|
|
16
|
+
display: block;
|
|
17
|
+
font: var(--bf-countdown-font);
|
|
18
|
+
color: var(--bf-countdown-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-countdown-bg);
|
|
23
|
+
color: var(--bf-countdown-color);
|
|
24
|
+
border-width: var(--bf-countdown-border-width);
|
|
25
|
+
border-style: var(--bf-countdown-border-style);
|
|
26
|
+
border-color: var(--bf-countdown-border-color);
|
|
27
|
+
border-radius: var(--bf-countdown-radius);
|
|
28
|
+
padding: var(--bf-countdown-padding-y) var(--bf-countdown-padding-x);
|
|
29
|
+
transition: var(--bf-countdown-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfCountdown extends HTMLElement {
|
|
2
|
+
constructor() {
|
|
3
|
+
super();
|
|
4
|
+
this.attachShadow({ mode: 'open' });
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
connectedCallback() {
|
|
8
|
+
if (this._initialized) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
this._initialized = true;
|
|
12
|
+
|
|
13
|
+
const cssUrl = new URL('./countdown.css', import.meta.url);
|
|
14
|
+
const link = document.createElement('link');
|
|
15
|
+
link.rel = 'stylesheet';
|
|
16
|
+
link.href = cssUrl.href;
|
|
17
|
+
|
|
18
|
+
const root = document.createElement('div');
|
|
19
|
+
root.className = 'root';
|
|
20
|
+
root.setAttribute('part', 'root');
|
|
21
|
+
root.innerHTML = '<slot></slot>';
|
|
22
|
+
|
|
23
|
+
if (!this.innerHTML.trim()) {
|
|
24
|
+
root.textContent = 'countdown';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-countdown', BfCountdown);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-data-grid-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-data-grid-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-data-grid-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-data-grid-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-data-grid-border-color: var(--bf-theme-data-grid-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-data-grid-bg: var(--bf-theme-data-grid-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-data-grid-color: var(--bf-theme-data-grid-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-data-grid-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-data-grid-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-data-grid-transition:
|
|
12
|
+
var(--bf-theme-transition-bg, background-color 120ms ease),
|
|
13
|
+
var(--bf-theme-transition-color, color 120ms ease),
|
|
14
|
+
var(--bf-theme-transition-border, border-color 120ms ease);
|
|
15
|
+
|
|
16
|
+
display: block;
|
|
17
|
+
font: var(--bf-data-grid-font);
|
|
18
|
+
color: var(--bf-data-grid-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-data-grid-bg);
|
|
23
|
+
color: var(--bf-data-grid-color);
|
|
24
|
+
border-width: var(--bf-data-grid-border-width);
|
|
25
|
+
border-style: var(--bf-data-grid-border-style);
|
|
26
|
+
border-color: var(--bf-data-grid-border-color);
|
|
27
|
+
border-radius: var(--bf-data-grid-radius);
|
|
28
|
+
padding: var(--bf-data-grid-padding-y) var(--bf-data-grid-padding-x);
|
|
29
|
+
transition: var(--bf-data-grid-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfDataGrid extends HTMLElement {
|
|
2
|
+
constructor() {
|
|
3
|
+
super();
|
|
4
|
+
this.attachShadow({ mode: 'open' });
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
connectedCallback() {
|
|
8
|
+
if (this._initialized) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
this._initialized = true;
|
|
12
|
+
|
|
13
|
+
const cssUrl = new URL('./data-grid.css', import.meta.url);
|
|
14
|
+
const link = document.createElement('link');
|
|
15
|
+
link.rel = 'stylesheet';
|
|
16
|
+
link.href = cssUrl.href;
|
|
17
|
+
|
|
18
|
+
const root = document.createElement('div');
|
|
19
|
+
root.className = 'root';
|
|
20
|
+
root.setAttribute('part', 'root');
|
|
21
|
+
root.innerHTML = '<slot></slot>';
|
|
22
|
+
|
|
23
|
+
if (!this.innerHTML.trim()) {
|
|
24
|
+
root.textContent = 'data grid';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-data-grid', BfDataGrid);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-date-picker-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-date-picker-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-date-picker-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-date-picker-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-date-picker-border-color: var(--bf-theme-date-picker-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-date-picker-bg: var(--bf-theme-date-picker-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-date-picker-color: var(--bf-theme-date-picker-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-date-picker-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-date-picker-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-date-picker-transition:
|
|
12
|
+
var(--bf-theme-transition-bg, background-color 120ms ease),
|
|
13
|
+
var(--bf-theme-transition-color, color 120ms ease),
|
|
14
|
+
var(--bf-theme-transition-border, border-color 120ms ease);
|
|
15
|
+
|
|
16
|
+
display: block;
|
|
17
|
+
font: var(--bf-date-picker-font);
|
|
18
|
+
color: var(--bf-date-picker-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-date-picker-bg);
|
|
23
|
+
color: var(--bf-date-picker-color);
|
|
24
|
+
border-width: var(--bf-date-picker-border-width);
|
|
25
|
+
border-style: var(--bf-date-picker-border-style);
|
|
26
|
+
border-color: var(--bf-date-picker-border-color);
|
|
27
|
+
border-radius: var(--bf-date-picker-radius);
|
|
28
|
+
padding: var(--bf-date-picker-padding-y) var(--bf-date-picker-padding-x);
|
|
29
|
+
transition: var(--bf-date-picker-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfDatePicker extends HTMLElement {
|
|
2
|
+
constructor() {
|
|
3
|
+
super();
|
|
4
|
+
this.attachShadow({ mode: 'open' });
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
connectedCallback() {
|
|
8
|
+
if (this._initialized) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
this._initialized = true;
|
|
12
|
+
|
|
13
|
+
const cssUrl = new URL('./date-picker.css', import.meta.url);
|
|
14
|
+
const link = document.createElement('link');
|
|
15
|
+
link.rel = 'stylesheet';
|
|
16
|
+
link.href = cssUrl.href;
|
|
17
|
+
|
|
18
|
+
const root = document.createElement('div');
|
|
19
|
+
root.className = 'root';
|
|
20
|
+
root.setAttribute('part', 'root');
|
|
21
|
+
root.innerHTML = '<slot></slot>';
|
|
22
|
+
|
|
23
|
+
if (!this.innerHTML.trim()) {
|
|
24
|
+
root.textContent = 'date picker';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-date-picker', BfDatePicker);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-date-range-picker-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-date-range-picker-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-date-range-picker-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-date-range-picker-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-date-range-picker-border-color: var(--bf-theme-date-range-picker-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-date-range-picker-bg: var(--bf-theme-date-range-picker-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-date-range-picker-color: var(--bf-theme-date-range-picker-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-date-range-picker-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-date-range-picker-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-date-range-picker-transition:
|
|
12
|
+
var(--bf-theme-transition-bg, background-color 120ms ease),
|
|
13
|
+
var(--bf-theme-transition-color, color 120ms ease),
|
|
14
|
+
var(--bf-theme-transition-border, border-color 120ms ease);
|
|
15
|
+
|
|
16
|
+
display: block;
|
|
17
|
+
font: var(--bf-date-range-picker-font);
|
|
18
|
+
color: var(--bf-date-range-picker-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-date-range-picker-bg);
|
|
23
|
+
color: var(--bf-date-range-picker-color);
|
|
24
|
+
border-width: var(--bf-date-range-picker-border-width);
|
|
25
|
+
border-style: var(--bf-date-range-picker-border-style);
|
|
26
|
+
border-color: var(--bf-date-range-picker-border-color);
|
|
27
|
+
border-radius: var(--bf-date-range-picker-radius);
|
|
28
|
+
padding: var(--bf-date-range-picker-padding-y) var(--bf-date-range-picker-padding-x);
|
|
29
|
+
transition: var(--bf-date-range-picker-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfDateRangePicker extends HTMLElement {
|
|
2
|
+
constructor() {
|
|
3
|
+
super();
|
|
4
|
+
this.attachShadow({ mode: 'open' });
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
connectedCallback() {
|
|
8
|
+
if (this._initialized) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
this._initialized = true;
|
|
12
|
+
|
|
13
|
+
const cssUrl = new URL('./date-range-picker.css', import.meta.url);
|
|
14
|
+
const link = document.createElement('link');
|
|
15
|
+
link.rel = 'stylesheet';
|
|
16
|
+
link.href = cssUrl.href;
|
|
17
|
+
|
|
18
|
+
const root = document.createElement('div');
|
|
19
|
+
root.className = 'root';
|
|
20
|
+
root.setAttribute('part', 'root');
|
|
21
|
+
root.innerHTML = '<slot></slot>';
|
|
22
|
+
|
|
23
|
+
if (!this.innerHTML.trim()) {
|
|
24
|
+
root.textContent = 'date range picker';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-date-range-picker', BfDateRangePicker);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-dialog-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-dialog-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-dialog-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-dialog-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-dialog-border-color: var(--bf-theme-dialog-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-dialog-bg: var(--bf-theme-dialog-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-dialog-color: var(--bf-theme-dialog-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-dialog-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-dialog-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-dialog-transition:
|
|
12
|
+
var(--bf-theme-transition-bg, background-color 120ms ease),
|
|
13
|
+
var(--bf-theme-transition-color, color 120ms ease),
|
|
14
|
+
var(--bf-theme-transition-border, border-color 120ms ease);
|
|
15
|
+
|
|
16
|
+
display: block;
|
|
17
|
+
font: var(--bf-dialog-font);
|
|
18
|
+
color: var(--bf-dialog-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-dialog-bg);
|
|
23
|
+
color: var(--bf-dialog-color);
|
|
24
|
+
border-width: var(--bf-dialog-border-width);
|
|
25
|
+
border-style: var(--bf-dialog-border-style);
|
|
26
|
+
border-color: var(--bf-dialog-border-color);
|
|
27
|
+
border-radius: var(--bf-dialog-radius);
|
|
28
|
+
padding: var(--bf-dialog-padding-y) var(--bf-dialog-padding-x);
|
|
29
|
+
transition: var(--bf-dialog-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfDialog extends HTMLElement {
|
|
2
|
+
constructor() {
|
|
3
|
+
super();
|
|
4
|
+
this.attachShadow({ mode: 'open' });
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
connectedCallback() {
|
|
8
|
+
if (this._initialized) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
this._initialized = true;
|
|
12
|
+
|
|
13
|
+
const cssUrl = new URL('./dialog.css', import.meta.url);
|
|
14
|
+
const link = document.createElement('link');
|
|
15
|
+
link.rel = 'stylesheet';
|
|
16
|
+
link.href = cssUrl.href;
|
|
17
|
+
|
|
18
|
+
const root = document.createElement('div');
|
|
19
|
+
root.className = 'root';
|
|
20
|
+
root.setAttribute('part', 'root');
|
|
21
|
+
root.innerHTML = '<slot></slot>';
|
|
22
|
+
|
|
23
|
+
if (!this.innerHTML.trim()) {
|
|
24
|
+
root.textContent = 'dialog';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-dialog', BfDialog);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-divider-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-divider-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-divider-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-divider-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-divider-border-color: var(--bf-theme-divider-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-divider-bg: var(--bf-theme-divider-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-divider-color: var(--bf-theme-divider-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-divider-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-divider-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-divider-transition:
|
|
12
|
+
var(--bf-theme-transition-bg, background-color 120ms ease),
|
|
13
|
+
var(--bf-theme-transition-color, color 120ms ease),
|
|
14
|
+
var(--bf-theme-transition-border, border-color 120ms ease);
|
|
15
|
+
|
|
16
|
+
display: block;
|
|
17
|
+
font: var(--bf-divider-font);
|
|
18
|
+
color: var(--bf-divider-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-divider-bg);
|
|
23
|
+
color: var(--bf-divider-color);
|
|
24
|
+
border-width: var(--bf-divider-border-width);
|
|
25
|
+
border-style: var(--bf-divider-border-style);
|
|
26
|
+
border-color: var(--bf-divider-border-color);
|
|
27
|
+
border-radius: var(--bf-divider-radius);
|
|
28
|
+
padding: var(--bf-divider-padding-y) var(--bf-divider-padding-x);
|
|
29
|
+
transition: var(--bf-divider-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfDivider extends HTMLElement {
|
|
2
|
+
constructor() {
|
|
3
|
+
super();
|
|
4
|
+
this.attachShadow({ mode: 'open' });
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
connectedCallback() {
|
|
8
|
+
if (this._initialized) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
this._initialized = true;
|
|
12
|
+
|
|
13
|
+
const cssUrl = new URL('./divider.css', import.meta.url);
|
|
14
|
+
const link = document.createElement('link');
|
|
15
|
+
link.rel = 'stylesheet';
|
|
16
|
+
link.href = cssUrl.href;
|
|
17
|
+
|
|
18
|
+
const root = document.createElement('div');
|
|
19
|
+
root.className = 'root';
|
|
20
|
+
root.setAttribute('part', 'root');
|
|
21
|
+
root.innerHTML = '<slot></slot>';
|
|
22
|
+
|
|
23
|
+
if (!this.innerHTML.trim()) {
|
|
24
|
+
root.textContent = 'divider';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-divider', BfDivider);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-donut-chart-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-donut-chart-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-donut-chart-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-donut-chart-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-donut-chart-border-color: var(--bf-theme-donut-chart-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-donut-chart-bg: var(--bf-theme-donut-chart-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-donut-chart-color: var(--bf-theme-donut-chart-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-donut-chart-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-donut-chart-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-donut-chart-transition:
|
|
12
|
+
var(--bf-theme-transition-bg, background-color 120ms ease),
|
|
13
|
+
var(--bf-theme-transition-color, color 120ms ease),
|
|
14
|
+
var(--bf-theme-transition-border, border-color 120ms ease);
|
|
15
|
+
|
|
16
|
+
display: block;
|
|
17
|
+
font: var(--bf-donut-chart-font);
|
|
18
|
+
color: var(--bf-donut-chart-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-donut-chart-bg);
|
|
23
|
+
color: var(--bf-donut-chart-color);
|
|
24
|
+
border-width: var(--bf-donut-chart-border-width);
|
|
25
|
+
border-style: var(--bf-donut-chart-border-style);
|
|
26
|
+
border-color: var(--bf-donut-chart-border-color);
|
|
27
|
+
border-radius: var(--bf-donut-chart-radius);
|
|
28
|
+
padding: var(--bf-donut-chart-padding-y) var(--bf-donut-chart-padding-x);
|
|
29
|
+
transition: var(--bf-donut-chart-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfDonutChart extends HTMLElement {
|
|
2
|
+
constructor() {
|
|
3
|
+
super();
|
|
4
|
+
this.attachShadow({ mode: 'open' });
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
connectedCallback() {
|
|
8
|
+
if (this._initialized) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
this._initialized = true;
|
|
12
|
+
|
|
13
|
+
const cssUrl = new URL('./donut-chart.css', import.meta.url);
|
|
14
|
+
const link = document.createElement('link');
|
|
15
|
+
link.rel = 'stylesheet';
|
|
16
|
+
link.href = cssUrl.href;
|
|
17
|
+
|
|
18
|
+
const root = document.createElement('div');
|
|
19
|
+
root.className = 'root';
|
|
20
|
+
root.setAttribute('part', 'root');
|
|
21
|
+
root.innerHTML = '<slot></slot>';
|
|
22
|
+
|
|
23
|
+
if (!this.innerHTML.trim()) {
|
|
24
|
+
root.textContent = 'donut chart';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-donut-chart', BfDonutChart);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-drawer-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-drawer-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-drawer-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-drawer-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-drawer-border-color: var(--bf-theme-drawer-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-drawer-bg: var(--bf-theme-drawer-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-drawer-color: var(--bf-theme-drawer-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-drawer-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-drawer-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-drawer-transition:
|
|
12
|
+
var(--bf-theme-transition-bg, background-color 120ms ease),
|
|
13
|
+
var(--bf-theme-transition-color, color 120ms ease),
|
|
14
|
+
var(--bf-theme-transition-border, border-color 120ms ease);
|
|
15
|
+
|
|
16
|
+
display: block;
|
|
17
|
+
font: var(--bf-drawer-font);
|
|
18
|
+
color: var(--bf-drawer-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-drawer-bg);
|
|
23
|
+
color: var(--bf-drawer-color);
|
|
24
|
+
border-width: var(--bf-drawer-border-width);
|
|
25
|
+
border-style: var(--bf-drawer-border-style);
|
|
26
|
+
border-color: var(--bf-drawer-border-color);
|
|
27
|
+
border-radius: var(--bf-drawer-radius);
|
|
28
|
+
padding: var(--bf-drawer-padding-y) var(--bf-drawer-padding-x);
|
|
29
|
+
transition: var(--bf-drawer-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfDrawer extends HTMLElement {
|
|
2
|
+
constructor() {
|
|
3
|
+
super();
|
|
4
|
+
this.attachShadow({ mode: 'open' });
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
connectedCallback() {
|
|
8
|
+
if (this._initialized) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
this._initialized = true;
|
|
12
|
+
|
|
13
|
+
const cssUrl = new URL('./drawer.css', import.meta.url);
|
|
14
|
+
const link = document.createElement('link');
|
|
15
|
+
link.rel = 'stylesheet';
|
|
16
|
+
link.href = cssUrl.href;
|
|
17
|
+
|
|
18
|
+
const root = document.createElement('div');
|
|
19
|
+
root.className = 'root';
|
|
20
|
+
root.setAttribute('part', 'root');
|
|
21
|
+
root.innerHTML = '<slot></slot>';
|
|
22
|
+
|
|
23
|
+
if (!this.innerHTML.trim()) {
|
|
24
|
+
root.textContent = 'drawer';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-drawer', BfDrawer);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-dropdown-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-dropdown-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-dropdown-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-dropdown-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-dropdown-border-color: var(--bf-theme-dropdown-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-dropdown-bg: var(--bf-theme-dropdown-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-dropdown-color: var(--bf-theme-dropdown-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-dropdown-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-dropdown-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-dropdown-transition:
|
|
12
|
+
var(--bf-theme-transition-bg, background-color 120ms ease),
|
|
13
|
+
var(--bf-theme-transition-color, color 120ms ease),
|
|
14
|
+
var(--bf-theme-transition-border, border-color 120ms ease);
|
|
15
|
+
|
|
16
|
+
display: block;
|
|
17
|
+
font: var(--bf-dropdown-font);
|
|
18
|
+
color: var(--bf-dropdown-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-dropdown-bg);
|
|
23
|
+
color: var(--bf-dropdown-color);
|
|
24
|
+
border-width: var(--bf-dropdown-border-width);
|
|
25
|
+
border-style: var(--bf-dropdown-border-style);
|
|
26
|
+
border-color: var(--bf-dropdown-border-color);
|
|
27
|
+
border-radius: var(--bf-dropdown-radius);
|
|
28
|
+
padding: var(--bf-dropdown-padding-y) var(--bf-dropdown-padding-x);
|
|
29
|
+
transition: var(--bf-dropdown-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfDropdown extends HTMLElement {
|
|
2
|
+
constructor() {
|
|
3
|
+
super();
|
|
4
|
+
this.attachShadow({ mode: 'open' });
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
connectedCallback() {
|
|
8
|
+
if (this._initialized) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
this._initialized = true;
|
|
12
|
+
|
|
13
|
+
const cssUrl = new URL('./dropdown.css', import.meta.url);
|
|
14
|
+
const link = document.createElement('link');
|
|
15
|
+
link.rel = 'stylesheet';
|
|
16
|
+
link.href = cssUrl.href;
|
|
17
|
+
|
|
18
|
+
const root = document.createElement('div');
|
|
19
|
+
root.className = 'root';
|
|
20
|
+
root.setAttribute('part', 'root');
|
|
21
|
+
root.innerHTML = '<slot></slot>';
|
|
22
|
+
|
|
23
|
+
if (!this.innerHTML.trim()) {
|
|
24
|
+
root.textContent = 'dropdown';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-dropdown', BfDropdown);
|