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 BfSparkline 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('./sparkline.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 = 'sparkline';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-sparkline', BfSparkline);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-split-button-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-split-button-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-split-button-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-split-button-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-split-button-border-color: var(--bf-theme-split-button-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-split-button-bg: var(--bf-theme-split-button-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-split-button-color: var(--bf-theme-split-button-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-split-button-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-split-button-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-split-button-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-split-button-font);
|
|
18
|
+
color: var(--bf-split-button-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-split-button-bg);
|
|
23
|
+
color: var(--bf-split-button-color);
|
|
24
|
+
border-width: var(--bf-split-button-border-width);
|
|
25
|
+
border-style: var(--bf-split-button-border-style);
|
|
26
|
+
border-color: var(--bf-split-button-border-color);
|
|
27
|
+
border-radius: var(--bf-split-button-radius);
|
|
28
|
+
padding: var(--bf-split-button-padding-y) var(--bf-split-button-padding-x);
|
|
29
|
+
transition: var(--bf-split-button-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfSplitButton 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('./split-button.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 = 'split button';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-split-button', BfSplitButton);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-splitter-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-splitter-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-splitter-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-splitter-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-splitter-border-color: var(--bf-theme-splitter-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-splitter-bg: var(--bf-theme-splitter-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-splitter-color: var(--bf-theme-splitter-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-splitter-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-splitter-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-splitter-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-splitter-font);
|
|
18
|
+
color: var(--bf-splitter-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-splitter-bg);
|
|
23
|
+
color: var(--bf-splitter-color);
|
|
24
|
+
border-width: var(--bf-splitter-border-width);
|
|
25
|
+
border-style: var(--bf-splitter-border-style);
|
|
26
|
+
border-color: var(--bf-splitter-border-color);
|
|
27
|
+
border-radius: var(--bf-splitter-radius);
|
|
28
|
+
padding: var(--bf-splitter-padding-y) var(--bf-splitter-padding-x);
|
|
29
|
+
transition: var(--bf-splitter-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfSplitter 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('./splitter.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 = 'splitter';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-splitter', BfSplitter);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-stack-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-stack-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-stack-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-stack-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-stack-border-color: var(--bf-theme-stack-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-stack-bg: var(--bf-theme-stack-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-stack-color: var(--bf-theme-stack-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-stack-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-stack-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-stack-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-stack-font);
|
|
18
|
+
color: var(--bf-stack-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-stack-bg);
|
|
23
|
+
color: var(--bf-stack-color);
|
|
24
|
+
border-width: var(--bf-stack-border-width);
|
|
25
|
+
border-style: var(--bf-stack-border-style);
|
|
26
|
+
border-color: var(--bf-stack-border-color);
|
|
27
|
+
border-radius: var(--bf-stack-radius);
|
|
28
|
+
padding: var(--bf-stack-padding-y) var(--bf-stack-padding-x);
|
|
29
|
+
transition: var(--bf-stack-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfStack 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('./stack.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 = 'stack';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-stack', BfStack);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-stepper-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-stepper-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-stepper-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-stepper-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-stepper-border-color: var(--bf-theme-stepper-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-stepper-bg: var(--bf-theme-stepper-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-stepper-color: var(--bf-theme-stepper-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-stepper-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-stepper-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-stepper-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-stepper-font);
|
|
18
|
+
color: var(--bf-stepper-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-stepper-bg);
|
|
23
|
+
color: var(--bf-stepper-color);
|
|
24
|
+
border-width: var(--bf-stepper-border-width);
|
|
25
|
+
border-style: var(--bf-stepper-border-style);
|
|
26
|
+
border-color: var(--bf-stepper-border-color);
|
|
27
|
+
border-radius: var(--bf-stepper-radius);
|
|
28
|
+
padding: var(--bf-stepper-padding-y) var(--bf-stepper-padding-x);
|
|
29
|
+
transition: var(--bf-stepper-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfStepper 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('./stepper.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 = 'stepper';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-stepper', BfStepper);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-switch-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-switch-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-switch-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-switch-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-switch-border-color: var(--bf-theme-switch-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-switch-bg: var(--bf-theme-switch-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-switch-color: var(--bf-theme-switch-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-switch-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-switch-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-switch-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-switch-font);
|
|
18
|
+
color: var(--bf-switch-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-switch-bg);
|
|
23
|
+
color: var(--bf-switch-color);
|
|
24
|
+
border-width: var(--bf-switch-border-width);
|
|
25
|
+
border-style: var(--bf-switch-border-style);
|
|
26
|
+
border-color: var(--bf-switch-border-color);
|
|
27
|
+
border-radius: var(--bf-switch-radius);
|
|
28
|
+
padding: var(--bf-switch-padding-y) var(--bf-switch-padding-x);
|
|
29
|
+
transition: var(--bf-switch-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfSwitch 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('./switch.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 = 'switch';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-switch', BfSwitch);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-tab-group-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-tab-group-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-tab-group-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-tab-group-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-tab-group-border-color: var(--bf-theme-tab-group-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-tab-group-bg: var(--bf-theme-tab-group-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-tab-group-color: var(--bf-theme-tab-group-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-tab-group-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-tab-group-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-tab-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-tab-group-font);
|
|
18
|
+
color: var(--bf-tab-group-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-tab-group-bg);
|
|
23
|
+
color: var(--bf-tab-group-color);
|
|
24
|
+
border-width: var(--bf-tab-group-border-width);
|
|
25
|
+
border-style: var(--bf-tab-group-border-style);
|
|
26
|
+
border-color: var(--bf-tab-group-border-color);
|
|
27
|
+
border-radius: var(--bf-tab-group-radius);
|
|
28
|
+
padding: var(--bf-tab-group-padding-y) var(--bf-tab-group-padding-x);
|
|
29
|
+
transition: var(--bf-tab-group-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfTabGroup 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('./tab-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 = 'tab group';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-tab-group', BfTabGroup);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-tab-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-tab-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-tab-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-tab-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-tab-border-color: var(--bf-theme-tab-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-tab-bg: var(--bf-theme-tab-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-tab-color: var(--bf-theme-tab-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-tab-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-tab-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-tab-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-tab-font);
|
|
18
|
+
color: var(--bf-tab-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-tab-bg);
|
|
23
|
+
color: var(--bf-tab-color);
|
|
24
|
+
border-width: var(--bf-tab-border-width);
|
|
25
|
+
border-style: var(--bf-tab-border-style);
|
|
26
|
+
border-color: var(--bf-tab-border-color);
|
|
27
|
+
border-radius: var(--bf-tab-radius);
|
|
28
|
+
padding: var(--bf-tab-padding-y) var(--bf-tab-padding-x);
|
|
29
|
+
transition: var(--bf-tab-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfTab 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('./tab.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 = 'tab';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-tab', BfTab);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-table-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-table-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-table-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-table-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-table-border-color: var(--bf-theme-table-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-table-bg: var(--bf-theme-table-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-table-color: var(--bf-theme-table-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-table-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-table-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-table-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-table-font);
|
|
18
|
+
color: var(--bf-table-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-table-bg);
|
|
23
|
+
color: var(--bf-table-color);
|
|
24
|
+
border-width: var(--bf-table-border-width);
|
|
25
|
+
border-style: var(--bf-table-border-style);
|
|
26
|
+
border-color: var(--bf-table-border-color);
|
|
27
|
+
border-radius: var(--bf-table-radius);
|
|
28
|
+
padding: var(--bf-table-padding-y) var(--bf-table-padding-x);
|
|
29
|
+
transition: var(--bf-table-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfTable 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('./table.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 = 'table';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-table', BfTable);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-tag-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-tag-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-tag-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-tag-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-tag-border-color: var(--bf-theme-tag-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-tag-bg: var(--bf-theme-tag-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-tag-color: var(--bf-theme-tag-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-tag-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-tag-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-tag-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-tag-font);
|
|
18
|
+
color: var(--bf-tag-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-tag-bg);
|
|
23
|
+
color: var(--bf-tag-color);
|
|
24
|
+
border-width: var(--bf-tag-border-width);
|
|
25
|
+
border-style: var(--bf-tag-border-style);
|
|
26
|
+
border-color: var(--bf-tag-border-color);
|
|
27
|
+
border-radius: var(--bf-tag-radius);
|
|
28
|
+
padding: var(--bf-tag-padding-y) var(--bf-tag-padding-x);
|
|
29
|
+
transition: var(--bf-tag-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfTag 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('./tag.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 = 'tag';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-tag', BfTag);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--bf-textarea-font: var(--bf-theme-font-family, inherit);
|
|
3
|
+
--bf-textarea-radius: var(--bf-theme-radius-md, 8px);
|
|
4
|
+
--bf-textarea-border-width: var(--bf-theme-border-width, 1px);
|
|
5
|
+
--bf-textarea-border-style: var(--bf-theme-border-style, solid);
|
|
6
|
+
--bf-textarea-border-color: var(--bf-theme-textarea-border-color, var(--bf-theme-border-1, #cbd5e1));
|
|
7
|
+
--bf-textarea-bg: var(--bf-theme-textarea-bg, var(--bf-theme-surface-1, #ffffff));
|
|
8
|
+
--bf-textarea-color: var(--bf-theme-textarea-color, var(--bf-theme-text-1, #0f172a));
|
|
9
|
+
--bf-textarea-padding-y: var(--bf-theme-space-2, 0.6rem);
|
|
10
|
+
--bf-textarea-padding-x: var(--bf-theme-space-3, 0.9rem);
|
|
11
|
+
--bf-textarea-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-textarea-font);
|
|
18
|
+
color: var(--bf-textarea-color);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.root {
|
|
22
|
+
background: var(--bf-textarea-bg);
|
|
23
|
+
color: var(--bf-textarea-color);
|
|
24
|
+
border-width: var(--bf-textarea-border-width);
|
|
25
|
+
border-style: var(--bf-textarea-border-style);
|
|
26
|
+
border-color: var(--bf-textarea-border-color);
|
|
27
|
+
border-radius: var(--bf-textarea-radius);
|
|
28
|
+
padding: var(--bf-textarea-padding-y) var(--bf-textarea-padding-x);
|
|
29
|
+
transition: var(--bf-textarea-transition);
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class BfTextarea 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('./textarea.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 = 'textarea';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.shadowRoot.replaceChildren(link, root);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
customElements.define('bf-textarea', BfTextarea);
|