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 BfNav 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('./nav.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 = 'nav';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-nav', BfNav);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-notification-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-notification-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-notification-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-notification-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-notification-border-color: var(--bf-theme-notification-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-notification-bg: var(--bf-theme-notification-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-notification-color: var(--bf-theme-notification-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-notification-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-notification-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-notification-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-notification-font);
|
|
18
|
+
color: var(--bf-notification-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-notification-bg);
|
|
23
|
+
color: var(--bf-notification-color);
|
|
24
|
+
border-width: var(--bf-notification-border-width);
|
|
25
|
+
border-style: var(--bf-notification-border-style);
|
|
26
|
+
border-color: var(--bf-notification-border-color);
|
|
27
|
+
border-radius: var(--bf-notification-radius);
|
|
28
|
+
padding: var(--bf-notification-padding-y) var(--bf-notification-padding-x);
|
|
29
|
+
transition: var(--bf-notification-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfNotification 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('./notification.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 = 'notification';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-notification', BfNotification);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-number-field-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-number-field-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-number-field-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-number-field-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-number-field-border-color: var(--bf-theme-number-field-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-number-field-bg: var(--bf-theme-number-field-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-number-field-color: var(--bf-theme-number-field-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-number-field-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-number-field-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-number-field-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-number-field-font);
|
|
18
|
+
color: var(--bf-number-field-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-number-field-bg);
|
|
23
|
+
color: var(--bf-number-field-color);
|
|
24
|
+
border-width: var(--bf-number-field-border-width);
|
|
25
|
+
border-style: var(--bf-number-field-border-style);
|
|
26
|
+
border-color: var(--bf-number-field-border-color);
|
|
27
|
+
border-radius: var(--bf-number-field-radius);
|
|
28
|
+
padding: var(--bf-number-field-padding-y) var(--bf-number-field-padding-x);
|
|
29
|
+
transition: var(--bf-number-field-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfNumberField 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('./number-field.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 = 'number field';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-number-field', BfNumberField);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-otp-input-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-otp-input-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-otp-input-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-otp-input-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-otp-input-border-color: var(--bf-theme-otp-input-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-otp-input-bg: var(--bf-theme-otp-input-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-otp-input-color: var(--bf-theme-otp-input-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-otp-input-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-otp-input-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-otp-input-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-otp-input-font);
|
|
18
|
+
color: var(--bf-otp-input-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-otp-input-bg);
|
|
23
|
+
color: var(--bf-otp-input-color);
|
|
24
|
+
border-width: var(--bf-otp-input-border-width);
|
|
25
|
+
border-style: var(--bf-otp-input-border-style);
|
|
26
|
+
border-color: var(--bf-otp-input-border-color);
|
|
27
|
+
border-radius: var(--bf-otp-input-radius);
|
|
28
|
+
padding: var(--bf-otp-input-padding-y) var(--bf-otp-input-padding-x);
|
|
29
|
+
transition: var(--bf-otp-input-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfOtpInput 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('./otp-input.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 = 'otp input';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-otp-input', BfOtpInput);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-pagination-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-pagination-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-pagination-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-pagination-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-pagination-border-color: var(--bf-theme-pagination-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-pagination-bg: var(--bf-theme-pagination-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-pagination-color: var(--bf-theme-pagination-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-pagination-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-pagination-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-pagination-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-pagination-font);
|
|
18
|
+
color: var(--bf-pagination-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-pagination-bg);
|
|
23
|
+
color: var(--bf-pagination-color);
|
|
24
|
+
border-width: var(--bf-pagination-border-width);
|
|
25
|
+
border-style: var(--bf-pagination-border-style);
|
|
26
|
+
border-color: var(--bf-pagination-border-color);
|
|
27
|
+
border-radius: var(--bf-pagination-radius);
|
|
28
|
+
padding: var(--bf-pagination-padding-y) var(--bf-pagination-padding-x);
|
|
29
|
+
transition: var(--bf-pagination-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfPagination 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('./pagination.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 = 'pagination';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-pagination', BfPagination);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-pie-chart-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-pie-chart-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-pie-chart-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-pie-chart-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-pie-chart-border-color: var(--bf-theme-pie-chart-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-pie-chart-bg: var(--bf-theme-pie-chart-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-pie-chart-color: var(--bf-theme-pie-chart-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-pie-chart-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-pie-chart-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-pie-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-pie-chart-font);
|
|
18
|
+
color: var(--bf-pie-chart-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-pie-chart-bg);
|
|
23
|
+
color: var(--bf-pie-chart-color);
|
|
24
|
+
border-width: var(--bf-pie-chart-border-width);
|
|
25
|
+
border-style: var(--bf-pie-chart-border-style);
|
|
26
|
+
border-color: var(--bf-pie-chart-border-color);
|
|
27
|
+
border-radius: var(--bf-pie-chart-radius);
|
|
28
|
+
padding: var(--bf-pie-chart-padding-y) var(--bf-pie-chart-padding-x);
|
|
29
|
+
transition: var(--bf-pie-chart-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfPieChart 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('./pie-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 = 'pie chart';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-pie-chart', BfPieChart);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-popover-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-popover-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-popover-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-popover-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-popover-border-color: var(--bf-theme-popover-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-popover-bg: var(--bf-theme-popover-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-popover-color: var(--bf-theme-popover-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-popover-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-popover-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-popover-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-popover-font);
|
|
18
|
+
color: var(--bf-popover-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-popover-bg);
|
|
23
|
+
color: var(--bf-popover-color);
|
|
24
|
+
border-width: var(--bf-popover-border-width);
|
|
25
|
+
border-style: var(--bf-popover-border-style);
|
|
26
|
+
border-color: var(--bf-popover-border-color);
|
|
27
|
+
border-radius: var(--bf-popover-radius);
|
|
28
|
+
padding: var(--bf-popover-padding-y) var(--bf-popover-padding-x);
|
|
29
|
+
transition: var(--bf-popover-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfPopover 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('./popover.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 = 'popover';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-popover', BfPopover);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-progress-bar-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-progress-bar-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-progress-bar-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-progress-bar-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-progress-bar-border-color: var(--bf-theme-progress-bar-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-progress-bar-bg: var(--bf-theme-progress-bar-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-progress-bar-color: var(--bf-theme-progress-bar-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-progress-bar-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-progress-bar-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-progress-bar-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-progress-bar-font);
|
|
18
|
+
color: var(--bf-progress-bar-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-progress-bar-bg);
|
|
23
|
+
color: var(--bf-progress-bar-color);
|
|
24
|
+
border-width: var(--bf-progress-bar-border-width);
|
|
25
|
+
border-style: var(--bf-progress-bar-border-style);
|
|
26
|
+
border-color: var(--bf-progress-bar-border-color);
|
|
27
|
+
border-radius: var(--bf-progress-bar-radius);
|
|
28
|
+
padding: var(--bf-progress-bar-padding-y) var(--bf-progress-bar-padding-x);
|
|
29
|
+
transition: var(--bf-progress-bar-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfProgressBar 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('./progress-bar.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 = 'progress bar';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-progress-bar', BfProgressBar);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-progress-circle-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-progress-circle-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-progress-circle-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-progress-circle-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-progress-circle-border-color: var(--bf-theme-progress-circle-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-progress-circle-bg: var(--bf-theme-progress-circle-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-progress-circle-color: var(--bf-theme-progress-circle-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-progress-circle-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-progress-circle-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-progress-circle-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-progress-circle-font);
|
|
18
|
+
color: var(--bf-progress-circle-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-progress-circle-bg);
|
|
23
|
+
color: var(--bf-progress-circle-color);
|
|
24
|
+
border-width: var(--bf-progress-circle-border-width);
|
|
25
|
+
border-style: var(--bf-progress-circle-border-style);
|
|
26
|
+
border-color: var(--bf-progress-circle-border-color);
|
|
27
|
+
border-radius: var(--bf-progress-circle-radius);
|
|
28
|
+
padding: var(--bf-progress-circle-padding-y) var(--bf-progress-circle-padding-x);
|
|
29
|
+
transition: var(--bf-progress-circle-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfProgressCircle 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('./progress-circle.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 = 'progress circle';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-progress-circle', BfProgressCircle);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-quick-actions-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-quick-actions-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-quick-actions-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-quick-actions-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-quick-actions-border-color: var(--bf-theme-quick-actions-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-quick-actions-bg: var(--bf-theme-quick-actions-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-quick-actions-color: var(--bf-theme-quick-actions-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-quick-actions-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-quick-actions-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-quick-actions-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-quick-actions-font);
|
|
18
|
+
color: var(--bf-quick-actions-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-quick-actions-bg);
|
|
23
|
+
color: var(--bf-quick-actions-color);
|
|
24
|
+
border-width: var(--bf-quick-actions-border-width);
|
|
25
|
+
border-style: var(--bf-quick-actions-border-style);
|
|
26
|
+
border-color: var(--bf-quick-actions-border-color);
|
|
27
|
+
border-radius: var(--bf-quick-actions-radius);
|
|
28
|
+
padding: var(--bf-quick-actions-padding-y) var(--bf-quick-actions-padding-x);
|
|
29
|
+
transition: var(--bf-quick-actions-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfQuickActions 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('./quick-actions.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 = 'quick actions';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-quick-actions', BfQuickActions);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-radio-group-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-radio-group-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-radio-group-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-radio-group-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-radio-group-border-color: var(--bf-theme-radio-group-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-radio-group-bg: var(--bf-theme-radio-group-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-radio-group-color: var(--bf-theme-radio-group-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-radio-group-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-radio-group-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-radio-group-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-radio-group-font);
|
|
18
|
+
color: var(--bf-radio-group-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-radio-group-bg);
|
|
23
|
+
color: var(--bf-radio-group-color);
|
|
24
|
+
border-width: var(--bf-radio-group-border-width);
|
|
25
|
+
border-style: var(--bf-radio-group-border-style);
|
|
26
|
+
border-color: var(--bf-radio-group-border-color);
|
|
27
|
+
border-radius: var(--bf-radio-group-radius);
|
|
28
|
+
padding: var(--bf-radio-group-padding-y) var(--bf-radio-group-padding-x);
|
|
29
|
+
transition: var(--bf-radio-group-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfRadioGroup 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('./radio-group.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 = 'radio group';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-radio-group', BfRadioGroup);
|