bareframe 0.1.0 → 0.1.2

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.
Files changed (154) hide show
  1. package/README.md +179 -0
  2. package/dist/bareframe.min.js +119 -0
  3. package/dist/components/accordion.js +66 -0
  4. package/dist/components/autocomplete.css +78 -15
  5. package/dist/components/autocomplete.js +220 -10
  6. package/dist/components/avatar.css +129 -17
  7. package/dist/components/avatar.js +47 -10
  8. package/dist/components/breadcrumb.css +63 -17
  9. package/dist/components/breadcrumb.js +140 -5
  10. package/dist/components/button.css +4 -0
  11. package/dist/components/button.js +95 -15
  12. package/dist/components/chart.css +163 -14
  13. package/dist/components/chart.js +59 -4
  14. package/dist/components/checkbox.css +43 -1
  15. package/dist/components/checkbox.js +98 -5
  16. package/dist/components/dialog.css +95 -0
  17. package/dist/components/dialog.js +172 -4
  18. package/dist/components/divider.css +18 -22
  19. package/dist/components/divider.js +31 -3
  20. package/dist/components/drawer.css +68 -18
  21. package/dist/components/drawer.js +84 -4
  22. package/dist/components/edge.css +54 -0
  23. package/dist/components/edge.js +55 -0
  24. package/dist/components/file-upload.css +72 -3
  25. package/dist/components/file-upload.js +186 -4
  26. package/dist/components/input.css +59 -0
  27. package/dist/components/input.js +369 -4
  28. package/dist/components/list.css +11 -0
  29. package/dist/components/list.js +45 -0
  30. package/dist/components/menu.css +20 -0
  31. package/dist/components/menu.js +144 -0
  32. package/dist/components/modal.css +30 -17
  33. package/dist/components/modal.js +68 -4
  34. package/dist/components/nav.css +39 -0
  35. package/dist/components/progress.css +196 -0
  36. package/dist/components/progress.js +304 -0
  37. package/dist/components/radio.css +35 -1
  38. package/dist/components/radio.js +86 -5
  39. package/dist/components/range.css +91 -0
  40. package/dist/components/range.js +250 -0
  41. package/dist/components/select.css +35 -1
  42. package/dist/components/select.js +255 -4
  43. package/dist/components/skeleton.css +108 -21
  44. package/dist/components/skeleton.js +57 -4
  45. package/dist/components/tab.css +9 -1
  46. package/dist/components/tab.js +66 -1
  47. package/dist/components/tag.css +36 -3
  48. package/dist/components/tag.js +32 -0
  49. package/dist/components/toast.css +113 -0
  50. package/dist/components/toast.js +265 -4
  51. package/dist/components/toggle.css +53 -0
  52. package/dist/components/toggle.js +73 -5
  53. package/dist/components/wizard.css +79 -14
  54. package/dist/components/wizard.js +141 -4
  55. package/dist/index.js +5147 -110
  56. package/dist/manifest.json +5 -42
  57. package/dist/themes/aurora.css +47 -0
  58. package/dist/themes/dark.css +12 -2
  59. package/dist/themes/desert.css +37 -0
  60. package/dist/themes/future.css +47 -0
  61. package/dist/themes/layout.css +191 -0
  62. package/dist/themes/light.css +12 -0
  63. package/dist/themes/matrix.css +37 -0
  64. package/dist/themes/modern.css +64 -0
  65. package/dist/themes/nature.css +47 -0
  66. package/dist/themes/nebula.css +37 -0
  67. package/dist/themes/noir.css +37 -0
  68. package/dist/themes/oceanic.css +37 -0
  69. package/dist/themes/retro.css +47 -0
  70. package/dist/themes/simple.css +47 -0
  71. package/dist/themes/sprint.css +12 -0
  72. package/dist/themes/sunrise.css +37 -0
  73. package/dist/themes/system.css +13 -0
  74. package/package.json +9 -2
  75. package/dist/components/alert.css +0 -30
  76. package/dist/components/alert.js +0 -31
  77. package/dist/components/badge.css +0 -30
  78. package/dist/components/badge.js +0 -31
  79. package/dist/components/banner.css +0 -30
  80. package/dist/components/banner.js +0 -31
  81. package/dist/components/bar-chart.css +0 -30
  82. package/dist/components/bar-chart.js +0 -31
  83. package/dist/components/bottom-sheet.css +0 -30
  84. package/dist/components/bottom-sheet.js +0 -31
  85. package/dist/components/button-group.css +0 -30
  86. package/dist/components/button-group.js +0 -31
  87. package/dist/components/chip.css +0 -30
  88. package/dist/components/chip.js +0 -31
  89. package/dist/components/color-picker.css +0 -30
  90. package/dist/components/color-picker.js +0 -31
  91. package/dist/components/context-menu.css +0 -30
  92. package/dist/components/context-menu.js +0 -31
  93. package/dist/components/donut-chart.css +0 -30
  94. package/dist/components/donut-chart.js +0 -31
  95. package/dist/components/expanded-panel.css +0 -30
  96. package/dist/components/expanded-panel.js +0 -31
  97. package/dist/components/footer.css +0 -30
  98. package/dist/components/footer.js +0 -31
  99. package/dist/components/gantt-chart.css +0 -30
  100. package/dist/components/gantt-chart.js +0 -31
  101. package/dist/components/gauge.css +0 -30
  102. package/dist/components/gauge.js +0 -31
  103. package/dist/components/graph.css +0 -30
  104. package/dist/components/graph.js +0 -31
  105. package/dist/components/header.css +0 -30
  106. package/dist/components/header.js +0 -31
  107. package/dist/components/heatmap.css +0 -30
  108. package/dist/components/heatmap.js +0 -31
  109. package/dist/components/line-chart.css +0 -30
  110. package/dist/components/line-chart.js +0 -31
  111. package/dist/components/list-item.css +0 -30
  112. package/dist/components/list-item.js +0 -31
  113. package/dist/components/menu-item.css +0 -30
  114. package/dist/components/menu-item.js +0 -31
  115. package/dist/components/multi-select.css +0 -30
  116. package/dist/components/multi-select.js +0 -31
  117. package/dist/components/notification.css +0 -30
  118. package/dist/components/notification.js +0 -31
  119. package/dist/components/pie-chart.css +0 -30
  120. package/dist/components/pie-chart.js +0 -31
  121. package/dist/components/popover.css +0 -30
  122. package/dist/components/popover.js +0 -31
  123. package/dist/components/progress-bar.css +0 -30
  124. package/dist/components/progress-bar.js +0 -31
  125. package/dist/components/progress-circle.css +0 -30
  126. package/dist/components/progress-circle.js +0 -31
  127. package/dist/components/radio-group.css +0 -30
  128. package/dist/components/radio-group.js +0 -31
  129. package/dist/components/range-slider.css +0 -30
  130. package/dist/components/range-slider.js +0 -31
  131. package/dist/components/rating.css +0 -30
  132. package/dist/components/rating.js +0 -31
  133. package/dist/components/sheet.css +0 -30
  134. package/dist/components/sheet.js +0 -31
  135. package/dist/components/slider.css +0 -30
  136. package/dist/components/slider.js +0 -31
  137. package/dist/components/snackbar.css +0 -30
  138. package/dist/components/snackbar.js +0 -31
  139. package/dist/components/sparkline.css +0 -30
  140. package/dist/components/sparkline.js +0 -31
  141. package/dist/components/stepper.css +0 -30
  142. package/dist/components/stepper.js +0 -31
  143. package/dist/components/switch.css +0 -30
  144. package/dist/components/switch.js +0 -31
  145. package/dist/components/tab-group.css +0 -30
  146. package/dist/components/tab-group.js +0 -31
  147. package/dist/components/textfield.css +0 -30
  148. package/dist/components/textfield.js +0 -31
  149. package/dist/components/tooltip.css +0 -30
  150. package/dist/components/tooltip.js +0 -31
  151. package/dist/components/treemap.css +0 -30
  152. package/dist/components/treemap.js +0 -31
  153. package/dist/components/upload-dropzone.css +0 -30
  154. 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.