bitwrench 2.0.31 → 2.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 +210 -125
- package/dist/bitwrench-bccl.cjs.js +349 -188
- package/dist/bitwrench-bccl.cjs.min.js +2 -39
- package/dist/bitwrench-bccl.cjs.min.js.gz +0 -0
- package/dist/bitwrench-bccl.esm.js +349 -188
- package/dist/bitwrench-bccl.esm.min.js +2 -39
- package/dist/bitwrench-bccl.esm.min.js.gz +0 -0
- package/dist/bitwrench-bccl.umd.js +349 -188
- package/dist/bitwrench-bccl.umd.min.js +2 -39
- package/dist/bitwrench-bccl.umd.min.js.gz +0 -0
- package/dist/bitwrench-code-edit.cjs.js +17 -6
- package/dist/bitwrench-code-edit.cjs.min.js +2 -20
- package/dist/bitwrench-code-edit.es5.js +8 -3
- package/dist/bitwrench-code-edit.es5.min.js +2 -19
- package/dist/bitwrench-code-edit.esm.js +17 -6
- package/dist/bitwrench-code-edit.esm.min.js +2 -19
- package/dist/bitwrench-code-edit.umd.js +17 -6
- package/dist/bitwrench-code-edit.umd.min.js +2 -19
- package/dist/bitwrench-code-edit.umd.min.js.gz +0 -0
- package/dist/bitwrench-debug.js +1 -1
- package/dist/bitwrench-debug.min.js +1 -1
- package/dist/bitwrench-lean.cjs.js +2492 -1628
- package/dist/bitwrench-lean.cjs.min.js +2 -80
- package/dist/bitwrench-lean.cjs.min.js.gz +0 -0
- package/dist/bitwrench-lean.es5.js +2740 -1838
- package/dist/bitwrench-lean.es5.min.js +2 -49
- package/dist/bitwrench-lean.es5.min.js.gz +0 -0
- package/dist/bitwrench-lean.esm.js +2492 -1628
- package/dist/bitwrench-lean.esm.min.js +2 -80
- package/dist/bitwrench-lean.esm.min.js.gz +0 -0
- package/dist/bitwrench-lean.umd.js +2492 -1628
- package/dist/bitwrench-lean.umd.min.js +2 -80
- package/dist/bitwrench-lean.umd.min.js.gz +0 -0
- package/dist/bitwrench-util-color.cjs.js +251 -0
- package/dist/bitwrench-util-color.cjs.min.js +3 -0
- package/dist/bitwrench-util-color.es5.js +256 -0
- package/dist/bitwrench-util-color.es5.min.js +3 -0
- package/dist/bitwrench-util-color.esm.js +241 -0
- package/dist/bitwrench-util-color.esm.min.js +3 -0
- package/dist/bitwrench-util-color.umd.js +257 -0
- package/dist/bitwrench-util-color.umd.min.js +3 -0
- package/dist/bitwrench-util-css.cjs.js +2 -1
- package/dist/bitwrench-util-css.cjs.min.js +2 -21
- package/dist/bitwrench-util-css.es5.js +2 -1
- package/dist/bitwrench-util-css.es5.min.js +2 -20
- package/dist/bitwrench-util-css.esm.js +2 -1
- package/dist/bitwrench-util-css.esm.min.js +1 -19
- package/dist/bitwrench-util-css.umd.js +2 -1
- package/dist/bitwrench-util-css.umd.min.js +2 -20
- package/dist/bitwrench-util-css.umd.min.js.gz +0 -0
- package/dist/bitwrench.cjs.js +2826 -1801
- package/dist/bitwrench.cjs.min.js +2 -99
- package/dist/bitwrench.cjs.min.js.gz +0 -0
- package/dist/bitwrench.css +403 -479
- package/dist/bitwrench.d.ts +70 -73
- package/dist/bitwrench.es5.js +3106 -2020
- package/dist/bitwrench.es5.min.js +2 -67
- package/dist/bitwrench.es5.min.js.gz +0 -0
- package/dist/bitwrench.esm.js +2826 -1801
- package/dist/bitwrench.esm.min.js +2 -99
- package/dist/bitwrench.esm.min.js.gz +0 -0
- package/dist/bitwrench.min.css +1 -1
- package/dist/bitwrench.umd.js +2826 -1801
- package/dist/bitwrench.umd.min.js +2 -99
- package/dist/bitwrench.umd.min.js.gz +0 -0
- package/dist/builds.json +222 -134
- package/dist/bwserve.cjs.js +308 -298
- package/dist/bwserve.d.ts +157 -0
- package/dist/bwserve.esm.js +309 -299
- package/dist/sri.json +54 -46
- package/docs/README.md +6 -3
- package/docs/app-patterns.md +7 -6
- package/docs/bitwrench-for-wasm.md +53 -54
- package/docs/bitwrench-mcp.md +2 -2
- package/docs/bitwrench-northstar-principles.md +406 -0
- package/docs/bitwrench-taco-schema-discussion.md +2 -2
- package/docs/bitwrench_api.md +191 -106
- package/docs/bitwrench_typescript_usage.md +5 -5
- package/docs/bw-attach.md +29 -75
- package/docs/bwserve.md +200 -168
- package/docs/cli.md +36 -12
- package/docs/component-cheatsheet.md +2 -2
- package/docs/component-library.md +4 -4
- package/docs/component-lifecycle.md +234 -0
- package/docs/drift-lint.md +268 -0
- package/docs/framework-translation-table.md +4 -4
- package/docs/llm-bitwrench-guide.md +60 -50
- package/docs/routing.md +11 -13
- package/docs/state-management.md +110 -109
- package/docs/taco-format.md +13 -14
- package/docs/theming.md +13 -3
- package/docs/thinking-in-bitwrench.md +858 -983
- package/docs/tutorial-bwserve.md +37 -36
- package/docs/tutorial-embedded.md +10 -21
- package/docs/tutorial-website.md +2 -2
- package/package.json +38 -7
- package/readme.html +262 -160
- package/src/bitwrench-bccl-entry.js +2 -2
- package/src/bitwrench-bccl.js +346 -185
- package/src/bitwrench-code-edit.js +16 -5
- package/src/bitwrench-color-utils.js +117 -181
- package/src/bitwrench-file-ops.js +2 -2
- package/src/bitwrench-lean.js +4 -3
- package/src/bitwrench-router.js +5 -2
- package/src/bitwrench-styles.js +420 -504
- package/src/bitwrench-util-color.js +240 -0
- package/src/bitwrench-util-css.js +1 -0
- package/src/bitwrench-utils.js +4 -0
- package/src/bitwrench.d.ts +70 -73
- package/src/bitwrench.h +5 -0
- package/src/bitwrench.js +1939 -933
- package/src/bwserve/attach.js +0 -1
- package/src/bwserve/bwclient.js +172 -32
- package/src/bwserve/bwshell.js +0 -4
- package/src/bwserve/client.js +59 -220
- package/src/bwserve/index.js +78 -42
- package/src/bwserve.d.ts +157 -0
- package/src/bwserve.h +5 -0
- package/src/cli/attach.js +12 -75
- package/src/cli/convert.js +2 -2
- package/src/cli/serve.js +37 -35
- package/src/generate-css.js +1 -1
- package/src/mcp/knowledge.js +4 -4
- package/src/mcp/live.js +21 -13
- package/src/mcp/tools.js +0 -1
- package/src/version.js +3 -7
package/docs/taco-format.md
CHANGED
|
@@ -49,7 +49,7 @@ An object of HTML attributes. All standard attributes work, including event hand
|
|
|
49
49
|
{
|
|
50
50
|
t: 'button',
|
|
51
51
|
a: {
|
|
52
|
-
class: '
|
|
52
|
+
class: 'bw_bccl_btn bw_primary',
|
|
53
53
|
id: 'save-btn',
|
|
54
54
|
disabled: true,
|
|
55
55
|
onclick: function() { console.log('clicked'); },
|
|
@@ -135,9 +135,9 @@ The options key carries state, lifecycle hooks, and component behavior. This is
|
|
|
135
135
|
// Component state
|
|
136
136
|
state: { count: 0, items: [] },
|
|
137
137
|
|
|
138
|
-
// Render function (called by bw.
|
|
139
|
-
render: function(el) {
|
|
140
|
-
bw.DOM(el, { t: 'span', c: 'Count: ' +
|
|
138
|
+
// Render function (called by bw.refresh)
|
|
139
|
+
render: function(el, state) {
|
|
140
|
+
bw.DOM(el, { t: 'span', c: 'Count: ' + state.count });
|
|
141
141
|
},
|
|
142
142
|
|
|
143
143
|
// Lifecycle hooks
|
|
@@ -149,7 +149,7 @@ The options key carries state, lifecycle hooks, and component behavior. This is
|
|
|
149
149
|
|
|
150
150
|
// Component handle -- methods exposed on el.bw (v2.0.19+)
|
|
151
151
|
handle: {
|
|
152
|
-
increment: function(el) { el._bw_state.count++; bw.
|
|
152
|
+
increment: function(el) { el._bw_state.count++; bw.refresh(el); }
|
|
153
153
|
},
|
|
154
154
|
|
|
155
155
|
// Content slots -- auto-generates el.bw.setX()/getX() (v2.0.19+)
|
|
@@ -173,7 +173,7 @@ const html = bw.html({ t: 'div', c: 'Hello' });
|
|
|
173
173
|
// '<div>Hello</div>'
|
|
174
174
|
|
|
175
175
|
// Create a live DOM element (browser only)
|
|
176
|
-
const el = bw.
|
|
176
|
+
const el = bw.create({ t: 'div', c: 'Hello' });
|
|
177
177
|
// HTMLDivElement
|
|
178
178
|
|
|
179
179
|
// Mount into an existing DOM element (browser only)
|
|
@@ -208,7 +208,7 @@ var footer = h('footer', { class: 'bw_bg_dark bw_text_light bw_py_4' }, [
|
|
|
208
208
|
]);
|
|
209
209
|
```
|
|
210
210
|
|
|
211
|
-
The output is serializable (assuming no function values), works with `bw.html()`, `bw.DOM()`, `bw.
|
|
211
|
+
The output is serializable (assuming no function values), works with `bw.html()`, `bw.DOM()`, `bw.create()`, bwserve, and everywhere else TACO is accepted. Mix `bw.h()` calls freely with `make*()` returns and hand-written TACO — they all produce the same thing.
|
|
212
212
|
|
|
213
213
|
> **When to use `bw.h()` vs. hand-written TACO**: Use `bw.h()` for structural glue — wrapper divs, footers, headings — where the `{t:, a:, c:}` key syntax feels heavy. For complex nodes with `o:` (state, lifecycle), write full TACO — the named keys are clearer.
|
|
214
214
|
|
|
@@ -328,22 +328,21 @@ You can also wrap existing CSS frameworks (Bootstrap, Tailwind, etc.) in TACO ob
|
|
|
328
328
|
}
|
|
329
329
|
```
|
|
330
330
|
|
|
331
|
-
Bitwrench doesn't care where your CSS classes come from — it just renders the TACO to HTML/DOM. The `make*()` functions use bitwrench's built-in CSS classes (`
|
|
331
|
+
Bitwrench doesn't care where your CSS classes come from — it just renders the TACO to HTML/DOM. The `make*()` functions use bitwrench's built-in CSS classes (`bw_bccl_card`, `bw_bccl_btn`, etc.), but that's a choice, not a constraint.
|
|
332
332
|
|
|
333
|
-
To make a custom component
|
|
333
|
+
To make a custom component stateful, add `o.state` and `o.render`:
|
|
334
334
|
|
|
335
335
|
```javascript
|
|
336
336
|
bw.DOM('#app', {
|
|
337
337
|
t: 'span',
|
|
338
338
|
o: {
|
|
339
339
|
state: { label: 'OK', color: '#4caf50' },
|
|
340
|
-
render: function(el) {
|
|
341
|
-
var s = el._bw_state;
|
|
340
|
+
render: function(el, state) {
|
|
342
341
|
bw.DOM(el, {
|
|
343
342
|
t: 'span',
|
|
344
343
|
a: { class: 'status-badge',
|
|
345
|
-
style: 'background:' +
|
|
346
|
-
c:
|
|
344
|
+
style: 'background:' + state.color + '; color:#fff; padding:0.25rem 0.75rem; border-radius:999px;' },
|
|
345
|
+
c: state.label
|
|
347
346
|
});
|
|
348
347
|
}
|
|
349
348
|
}
|
|
@@ -353,7 +352,7 @@ bw.DOM('#app', {
|
|
|
353
352
|
var el = bw.$('.status-badge')[0].parentElement;
|
|
354
353
|
el._bw_state.label = 'ERROR';
|
|
355
354
|
el._bw_state.color = '#f44336';
|
|
356
|
-
bw.
|
|
355
|
+
bw.refresh(el);
|
|
357
356
|
```
|
|
358
357
|
|
|
359
358
|
## TACO beyond the browser
|
package/docs/theming.md
CHANGED
|
@@ -224,12 +224,22 @@ theme.alternate.palette; // light-inverted version of ocean
|
|
|
224
224
|
|
|
225
225
|
### Switching between palettes
|
|
226
226
|
|
|
227
|
+
Both palettes are injected together — the alternate is scoped under the `bw_theme_alt` class. Switching is a one-class toggle, no restyling needed:
|
|
228
|
+
|
|
229
|
+
```javascript
|
|
230
|
+
bw.toggleThemeMode(); // flip primary <-> alternate (whole page)
|
|
231
|
+
bw.setThemeMode('alternate'); // set explicitly
|
|
232
|
+
bw.toggleThemeMode('#dashboard'); // toggle just one subtree
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
To swap in a different palette entirely, re-apply:
|
|
236
|
+
|
|
227
237
|
```javascript
|
|
228
|
-
//
|
|
229
|
-
bw.
|
|
238
|
+
bw.applyStyles(theme.alternate); // make the alternate palette primary
|
|
239
|
+
bw.applyStyles(theme); // switch back
|
|
230
240
|
```
|
|
231
241
|
|
|
232
|
-
|
|
242
|
+
> **Note:** `bw.toggleStyles()` was removed in v2.1. Its replacement is `bw.toggleThemeMode()`, which toggles the `bw_theme_alt` class instead of re-injecting styles. See [`bw.toggleThemeMode()`](bitwrench_api.md#bwtogglethememodescope) and [`bw.setThemeMode()`](bitwrench_api.md#bwsetthememodemode-scope).
|
|
233
243
|
|
|
234
244
|
### Clearing a theme
|
|
235
245
|
|