bareframe 0.1.0 → 0.1.1
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 +179 -0
- package/dist/bareframe.min.js +119 -0
- package/dist/components/accordion.js +66 -0
- package/dist/components/autocomplete.css +78 -15
- package/dist/components/autocomplete.js +220 -10
- package/dist/components/avatar.css +129 -17
- package/dist/components/avatar.js +47 -10
- package/dist/components/breadcrumb.css +63 -17
- package/dist/components/breadcrumb.js +140 -5
- package/dist/components/button.css +4 -0
- package/dist/components/button.js +95 -15
- package/dist/components/chart.css +163 -14
- package/dist/components/chart.js +59 -4
- package/dist/components/checkbox.css +43 -1
- package/dist/components/checkbox.js +98 -5
- package/dist/components/dialog.css +95 -0
- package/dist/components/dialog.js +172 -4
- package/dist/components/divider.css +18 -22
- package/dist/components/divider.js +31 -3
- package/dist/components/drawer.css +68 -18
- package/dist/components/drawer.js +84 -4
- package/dist/components/edge.css +54 -0
- package/dist/components/edge.js +55 -0
- package/dist/components/file-upload.css +72 -3
- package/dist/components/file-upload.js +186 -4
- package/dist/components/input.css +59 -0
- package/dist/components/input.js +369 -4
- package/dist/components/list.css +11 -0
- package/dist/components/list.js +45 -0
- package/dist/components/menu.css +20 -0
- package/dist/components/menu.js +144 -0
- package/dist/components/modal.css +30 -17
- package/dist/components/modal.js +68 -4
- package/dist/components/nav.css +39 -0
- package/dist/components/progress.css +196 -0
- package/dist/components/progress.js +304 -0
- package/dist/components/radio.css +35 -1
- package/dist/components/radio.js +86 -5
- package/dist/components/range.css +91 -0
- package/dist/components/range.js +250 -0
- package/dist/components/select.css +35 -1
- package/dist/components/select.js +255 -4
- package/dist/components/skeleton.css +108 -21
- package/dist/components/skeleton.js +57 -4
- package/dist/components/tab.css +9 -1
- package/dist/components/tab.js +66 -1
- package/dist/components/tag.css +36 -3
- package/dist/components/tag.js +32 -0
- package/dist/components/toast.css +113 -0
- package/dist/components/toast.js +265 -4
- package/dist/components/toggle.css +53 -0
- package/dist/components/toggle.js +73 -5
- package/dist/components/wizard.css +79 -14
- package/dist/components/wizard.js +141 -4
- package/dist/index.js +5147 -110
- package/dist/manifest.json +5 -42
- package/dist/themes/aurora.css +47 -0
- package/dist/themes/dark.css +12 -2
- package/dist/themes/desert.css +37 -0
- package/dist/themes/future.css +47 -0
- package/dist/themes/layout.css +191 -0
- package/dist/themes/light.css +12 -0
- package/dist/themes/matrix.css +37 -0
- package/dist/themes/modern.css +64 -0
- package/dist/themes/nature.css +47 -0
- package/dist/themes/nebula.css +37 -0
- package/dist/themes/noir.css +37 -0
- package/dist/themes/oceanic.css +37 -0
- package/dist/themes/retro.css +47 -0
- package/dist/themes/simple.css +47 -0
- package/dist/themes/sprint.css +12 -0
- package/dist/themes/sunrise.css +37 -0
- package/dist/themes/system.css +13 -0
- package/package.json +9 -2
- package/dist/components/alert.css +0 -30
- package/dist/components/alert.js +0 -31
- package/dist/components/badge.css +0 -30
- package/dist/components/badge.js +0 -31
- package/dist/components/banner.css +0 -30
- package/dist/components/banner.js +0 -31
- package/dist/components/bar-chart.css +0 -30
- package/dist/components/bar-chart.js +0 -31
- package/dist/components/bottom-sheet.css +0 -30
- package/dist/components/bottom-sheet.js +0 -31
- package/dist/components/button-group.css +0 -30
- package/dist/components/button-group.js +0 -31
- package/dist/components/chip.css +0 -30
- package/dist/components/chip.js +0 -31
- package/dist/components/color-picker.css +0 -30
- package/dist/components/color-picker.js +0 -31
- package/dist/components/context-menu.css +0 -30
- package/dist/components/context-menu.js +0 -31
- package/dist/components/donut-chart.css +0 -30
- package/dist/components/donut-chart.js +0 -31
- package/dist/components/expanded-panel.css +0 -30
- package/dist/components/expanded-panel.js +0 -31
- package/dist/components/footer.css +0 -30
- package/dist/components/footer.js +0 -31
- package/dist/components/gantt-chart.css +0 -30
- package/dist/components/gantt-chart.js +0 -31
- package/dist/components/gauge.css +0 -30
- package/dist/components/gauge.js +0 -31
- package/dist/components/graph.css +0 -30
- package/dist/components/graph.js +0 -31
- package/dist/components/header.css +0 -30
- package/dist/components/header.js +0 -31
- package/dist/components/heatmap.css +0 -30
- package/dist/components/heatmap.js +0 -31
- package/dist/components/line-chart.css +0 -30
- package/dist/components/line-chart.js +0 -31
- package/dist/components/list-item.css +0 -30
- package/dist/components/list-item.js +0 -31
- package/dist/components/menu-item.css +0 -30
- package/dist/components/menu-item.js +0 -31
- package/dist/components/multi-select.css +0 -30
- package/dist/components/multi-select.js +0 -31
- package/dist/components/notification.css +0 -30
- package/dist/components/notification.js +0 -31
- package/dist/components/pie-chart.css +0 -30
- package/dist/components/pie-chart.js +0 -31
- package/dist/components/popover.css +0 -30
- package/dist/components/popover.js +0 -31
- package/dist/components/progress-bar.css +0 -30
- package/dist/components/progress-bar.js +0 -31
- package/dist/components/progress-circle.css +0 -30
- package/dist/components/progress-circle.js +0 -31
- package/dist/components/radio-group.css +0 -30
- package/dist/components/radio-group.js +0 -31
- package/dist/components/range-slider.css +0 -30
- package/dist/components/range-slider.js +0 -31
- package/dist/components/rating.css +0 -30
- package/dist/components/rating.js +0 -31
- package/dist/components/sheet.css +0 -30
- package/dist/components/sheet.js +0 -31
- package/dist/components/slider.css +0 -30
- package/dist/components/slider.js +0 -31
- package/dist/components/snackbar.css +0 -30
- package/dist/components/snackbar.js +0 -31
- package/dist/components/sparkline.css +0 -30
- package/dist/components/sparkline.js +0 -31
- package/dist/components/stepper.css +0 -30
- package/dist/components/stepper.js +0 -31
- package/dist/components/switch.css +0 -30
- package/dist/components/switch.js +0 -31
- package/dist/components/tab-group.css +0 -30
- package/dist/components/tab-group.js +0 -31
- package/dist/components/textfield.css +0 -30
- package/dist/components/textfield.js +0 -31
- package/dist/components/tooltip.css +0 -30
- package/dist/components/tooltip.js +0 -31
- package/dist/components/treemap.css +0 -30
- package/dist/components/treemap.js +0 -31
- package/dist/components/upload-dropzone.css +0 -30
- package/dist/components/upload-dropzone.js +0 -31
package/README.md
CHANGED
|
@@ -8,6 +8,12 @@ Lightweight, dependency-free Web Components for building reusable UI across appl
|
|
|
8
8
|
npm install bareframe
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
+
Links:
|
|
12
|
+
|
|
13
|
+
- npm: https://www.npmjs.com/package/bareframe
|
|
14
|
+
- GitHub Pages examples: https://samueldbines.github.io/bareframe/
|
|
15
|
+
- Chart demo: https://samueldbines.github.io/bareframe/chart-test.html
|
|
16
|
+
|
|
11
17
|
## Package Usage
|
|
12
18
|
|
|
13
19
|
Register everything:
|
|
@@ -16,6 +22,12 @@ Register everything:
|
|
|
16
22
|
import 'bareframe';
|
|
17
23
|
```
|
|
18
24
|
|
|
25
|
+
Single-file production bundle:
|
|
26
|
+
|
|
27
|
+
```js
|
|
28
|
+
import 'bareframe/min';
|
|
29
|
+
```
|
|
30
|
+
|
|
19
31
|
Or import one component:
|
|
20
32
|
|
|
21
33
|
```js
|
|
@@ -30,6 +42,124 @@ import 'bareframe/themes/system.css';
|
|
|
30
42
|
|
|
31
43
|
`system` is the default/recommended theme for bareframe.
|
|
32
44
|
|
|
45
|
+
Optional layout utilities:
|
|
46
|
+
|
|
47
|
+
```js
|
|
48
|
+
import 'bareframe/themes/layout.css';
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Grid-style column spans are supported with a 12-column model:
|
|
52
|
+
|
|
53
|
+
```html
|
|
54
|
+
<div row>
|
|
55
|
+
<div col="3">Sidebar</div>
|
|
56
|
+
<div col="9">Main</div>
|
|
57
|
+
</div>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
If `col` has no value, it auto-shares available width with siblings.
|
|
61
|
+
|
|
62
|
+
Alignment utilities:
|
|
63
|
+
|
|
64
|
+
```html
|
|
65
|
+
<div row="left">...</div>
|
|
66
|
+
<div row="center">...</div>
|
|
67
|
+
<div row="right">...</div>
|
|
68
|
+
|
|
69
|
+
<div col="top">...</div>
|
|
70
|
+
<div col="center">...</div>
|
|
71
|
+
<div col="bottom">...</div>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Table/data-grid utilities:
|
|
75
|
+
|
|
76
|
+
```html
|
|
77
|
+
<div table dense>
|
|
78
|
+
<div thead>
|
|
79
|
+
<div tr><div th>ID</div><div th>Name</div></div>
|
|
80
|
+
</div>
|
|
81
|
+
<div tbody>
|
|
82
|
+
<div tr><div td>1</div><div td>Alpha</div></div>
|
|
83
|
+
</div>
|
|
84
|
+
</div>
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Skeleton can be used as a utility on any target element:
|
|
88
|
+
|
|
89
|
+
```html
|
|
90
|
+
<bf-card skeleton="1500">...</bf-card>
|
|
91
|
+
<div skeleton="2s">...</div>
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Typography utilities follow the same attribute pattern:
|
|
95
|
+
|
|
96
|
+
```html
|
|
97
|
+
<h1 typography="display">Dashboard</h1>
|
|
98
|
+
<p typography="body">Body copy text.</p>
|
|
99
|
+
<small typography="caption">Updated 2m ago</small>
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Short boolean attributes are also supported:
|
|
103
|
+
|
|
104
|
+
```html
|
|
105
|
+
<small h1>Heading-sized small text</small> <span caption>Caption text</span>
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Bareframe runtime defaults for all `bf-*` elements:
|
|
109
|
+
|
|
110
|
+
- auto id assignment (and duplicate id collision repair)
|
|
111
|
+
- `data-qa="test-<id>"` when missing
|
|
112
|
+
- `data-translate="<html lang>"` when missing (defaults to `en` if `<html lang>` is not set)
|
|
113
|
+
|
|
114
|
+
ID-driven controls for interactive components:
|
|
115
|
+
|
|
116
|
+
```html
|
|
117
|
+
<bf-button bf-open="account-modal">Open</bf-button>
|
|
118
|
+
<bf-button bf-close="account-modal">Close</bf-button>
|
|
119
|
+
<bf-button bf-toggle="account-modal">Toggle</bf-button>
|
|
120
|
+
<bf-modal id="account-modal">...</bf-modal>
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Accordion section control by id:
|
|
124
|
+
|
|
125
|
+
```html
|
|
126
|
+
<bf-button bf-open="docs:intro">Open intro</bf-button>
|
|
127
|
+
<bf-accordion id="docs">
|
|
128
|
+
<section id="intro" title="Intro">...</section>
|
|
129
|
+
</bf-accordion>
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Group primitives (utility-first authoring):
|
|
133
|
+
|
|
134
|
+
```html
|
|
135
|
+
<bf-radio group="plan">Free</bf-radio>
|
|
136
|
+
<bf-radio group="plan">Pro</bf-radio>
|
|
137
|
+
|
|
138
|
+
<bf-button group="filters" multiple="2">A</bf-button>
|
|
139
|
+
<bf-button group="filters" multiple="2">B</bf-button>
|
|
140
|
+
<bf-button group="filters" multiple="2">C</bf-button>
|
|
141
|
+
|
|
142
|
+
<bf-checkbox group="features" multiple="3">Logs</bf-checkbox>
|
|
143
|
+
<bf-checkbox group="features" multiple="3">Alerts</bf-checkbox>
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Menu/list item pattern:
|
|
147
|
+
|
|
148
|
+
```html
|
|
149
|
+
<bf-menu>
|
|
150
|
+
<div item>Profile</div>
|
|
151
|
+
<div item>Settings</div>
|
|
152
|
+
</bf-menu>
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
Header/footer edge positioning (same API on both):
|
|
156
|
+
|
|
157
|
+
```html
|
|
158
|
+
<bf-edge sticky header>...</bf-edge> <bf-edge fixed footer>...</bf-edge>
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
You can also force placement with `position="top"` or `position="bottom"`.
|
|
162
|
+
|
|
33
163
|
## Why bareframe
|
|
34
164
|
|
|
35
165
|
`bareframe` is built for one purpose: create components once and reuse them everywhere.
|
|
@@ -102,7 +232,20 @@ Theme files live in `themes/`:
|
|
|
102
232
|
- `themes/light.css`
|
|
103
233
|
- `themes/dark.css`
|
|
104
234
|
- `themes/sprint.css`
|
|
235
|
+
- `themes/retro.css`
|
|
236
|
+
- `themes/modern.css`
|
|
237
|
+
- `themes/simple.css`
|
|
238
|
+
- `themes/nature.css`
|
|
239
|
+
- `themes/future.css`
|
|
240
|
+
- `themes/aurora.css`
|
|
241
|
+
- `themes/nebula.css`
|
|
242
|
+
- `themes/desert.css`
|
|
243
|
+
- `themes/matrix.css`
|
|
244
|
+
- `themes/noir.css`
|
|
245
|
+
- `themes/sunrise.css`
|
|
246
|
+
- `themes/oceanic.css`
|
|
105
247
|
- `themes/system.css` (follows OS preference with `prefers-color-scheme`)
|
|
248
|
+
- `themes/layout.css` (`[row]` and `[col]` utility attributes)
|
|
106
249
|
|
|
107
250
|
Use `system` as the default theme for apps:
|
|
108
251
|
|
|
@@ -181,13 +324,49 @@ All generated component demos are listed at:
|
|
|
181
324
|
|
|
182
325
|
`http://localhost:8080/examples/index.html`
|
|
183
326
|
|
|
327
|
+
Hosted examples:
|
|
328
|
+
|
|
329
|
+
`https://samueldbines.github.io/bareframe/`
|
|
330
|
+
|
|
331
|
+
## npm Publish Checklist
|
|
332
|
+
|
|
333
|
+
1. Update version:
|
|
334
|
+
|
|
335
|
+
```bash
|
|
336
|
+
npm version patch
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
2. Build and verify package contents:
|
|
340
|
+
|
|
341
|
+
```bash
|
|
342
|
+
npm run build
|
|
343
|
+
npm run pack:preview
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
3. Publish to npm:
|
|
347
|
+
|
|
348
|
+
```bash
|
|
349
|
+
npm publish
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
4. Push version tags:
|
|
353
|
+
|
|
354
|
+
```bash
|
|
355
|
+
git push origin main --follow-tags
|
|
356
|
+
```
|
|
357
|
+
|
|
184
358
|
## Build Package
|
|
185
359
|
|
|
186
360
|
```bash
|
|
187
361
|
npm run build
|
|
362
|
+
npm run watch
|
|
188
363
|
npm run pack:preview
|
|
189
364
|
```
|
|
190
365
|
|
|
366
|
+
Production bundle output:
|
|
367
|
+
|
|
368
|
+
- `dist/bareframe.min.js` (single minified JS file with inlined component CSS)
|
|
369
|
+
|
|
191
370
|
## Status
|
|
192
371
|
|
|
193
372
|
Early development. API and component patterns may evolve as the system grows.
|