bitwrench 2.0.24 → 2.0.25

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 (82) hide show
  1. package/README.md +8 -6
  2. package/dist/bitwrench-bccl.cjs.js +1 -1
  3. package/dist/bitwrench-bccl.cjs.min.js +1 -1
  4. package/dist/bitwrench-bccl.cjs.min.js.gz +0 -0
  5. package/dist/bitwrench-bccl.esm.js +1 -1
  6. package/dist/bitwrench-bccl.esm.min.js +1 -1
  7. package/dist/bitwrench-bccl.esm.min.js.gz +0 -0
  8. package/dist/bitwrench-bccl.umd.js +1 -1
  9. package/dist/bitwrench-bccl.umd.min.js +1 -1
  10. package/dist/bitwrench-bccl.umd.min.js.gz +0 -0
  11. package/dist/bitwrench-code-edit.cjs.js +1 -1
  12. package/dist/bitwrench-code-edit.cjs.min.js +1 -1
  13. package/dist/bitwrench-code-edit.es5.js +1 -1
  14. package/dist/bitwrench-code-edit.es5.min.js +1 -1
  15. package/dist/bitwrench-code-edit.esm.js +1 -1
  16. package/dist/bitwrench-code-edit.esm.min.js +1 -1
  17. package/dist/bitwrench-code-edit.umd.js +1 -1
  18. package/dist/bitwrench-code-edit.umd.min.js +1 -1
  19. package/dist/bitwrench-code-edit.umd.min.js.gz +0 -0
  20. package/dist/bitwrench-debug.js +1 -1
  21. package/dist/bitwrench-debug.min.js +1 -1
  22. package/dist/bitwrench-lean.cjs.js +41 -22
  23. package/dist/bitwrench-lean.cjs.min.js +4 -4
  24. package/dist/bitwrench-lean.cjs.min.js.gz +0 -0
  25. package/dist/bitwrench-lean.es5.js +43 -24
  26. package/dist/bitwrench-lean.es5.min.js +4 -4
  27. package/dist/bitwrench-lean.es5.min.js.gz +0 -0
  28. package/dist/bitwrench-lean.esm.js +41 -22
  29. package/dist/bitwrench-lean.esm.min.js +4 -4
  30. package/dist/bitwrench-lean.esm.min.js.gz +0 -0
  31. package/dist/bitwrench-lean.umd.js +41 -22
  32. package/dist/bitwrench-lean.umd.min.js +4 -4
  33. package/dist/bitwrench-lean.umd.min.js.gz +0 -0
  34. package/dist/bitwrench-util-css.cjs.js +1 -1
  35. package/dist/bitwrench-util-css.cjs.min.js +1 -1
  36. package/dist/bitwrench-util-css.es5.js +1 -1
  37. package/dist/bitwrench-util-css.es5.min.js +1 -1
  38. package/dist/bitwrench-util-css.esm.js +1 -1
  39. package/dist/bitwrench-util-css.esm.min.js +1 -1
  40. package/dist/bitwrench-util-css.umd.js +1 -1
  41. package/dist/bitwrench-util-css.umd.min.js +1 -1
  42. package/dist/bitwrench-util-css.umd.min.js.gz +0 -0
  43. package/dist/bitwrench.cjs.js +41 -22
  44. package/dist/bitwrench.cjs.min.js +6 -6
  45. package/dist/bitwrench.cjs.min.js.gz +0 -0
  46. package/dist/bitwrench.css +6 -6
  47. package/dist/bitwrench.d.ts +659 -0
  48. package/dist/bitwrench.es5.js +43 -24
  49. package/dist/bitwrench.es5.min.js +4 -4
  50. package/dist/bitwrench.es5.min.js.gz +0 -0
  51. package/dist/bitwrench.esm.js +41 -22
  52. package/dist/bitwrench.esm.min.js +4 -4
  53. package/dist/bitwrench.esm.min.js.gz +0 -0
  54. package/dist/bitwrench.min.css +1 -1
  55. package/dist/bitwrench.umd.js +41 -22
  56. package/dist/bitwrench.umd.min.js +6 -6
  57. package/dist/bitwrench.umd.min.js.gz +0 -0
  58. package/dist/builds.json +87 -87
  59. package/dist/bwserve.cjs.js +2 -2
  60. package/dist/bwserve.esm.js +2 -2
  61. package/dist/sri.json +46 -46
  62. package/docs/README.md +5 -3
  63. package/docs/bitwrench-mcp.md +1 -1
  64. package/docs/bitwrench-taco-schema-discussion.md +694 -0
  65. package/docs/bitwrench_api.md +4 -4
  66. package/docs/bitwrench_typescript_usage.md +441 -0
  67. package/docs/component-cheatsheet.md +1 -1
  68. package/docs/framework-translation-table.md +1 -1
  69. package/docs/llm-bitwrench-guide.md +28 -1
  70. package/docs/routing.md +1 -1
  71. package/docs/thinking-in-bitwrench.md +3 -3
  72. package/docs/tutorial-bwserve.md +1 -1
  73. package/docs/tutorial-website.md +1 -1
  74. package/package.json +7 -3
  75. package/readme.html +14 -8
  76. package/src/bitwrench-styles.js +17 -17
  77. package/src/bitwrench.d.ts +659 -0
  78. package/src/bitwrench.js +21 -2
  79. package/src/cli/serve.js +1 -0
  80. package/src/mcp/live.js +3 -1
  81. package/src/mcp/server.js +7 -7
  82. package/src/version.js +3 -3
Binary file
@@ -1,4 +1,4 @@
1
- /*! bitwrench-lean v2.0.24 | BSD-2-Clause | https://deftio.github.com/bitwrench/pages */
1
+ /*! bitwrench-lean v2.0.25 | BSD-2-Clause | https://deftio.github.com/bitwrench/pages */
2
2
  (function (global, factory) {
3
3
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
4
4
  typeof define === 'function' && define.amd ? define(factory) :
@@ -190,14 +190,14 @@
190
190
  */
191
191
 
192
192
  var VERSION_INFO = {
193
- version: '2.0.24',
193
+ version: '2.0.25',
194
194
  name: 'bitwrench',
195
195
  description: 'A library for javascript UI functions.',
196
196
  license: 'BSD-2-Clause',
197
197
  homepage: 'https://deftio.github.com/bitwrench/pages',
198
198
  repository: 'git+https://github.com/deftio/bitwrench.git',
199
199
  author: 'manu a. chatterjee <deftio@deftio.com> (https://deftio.com/)',
200
- buildDate: '2026-03-28T09:12:50.073Z'
200
+ buildDate: '2026-03-31T03:03:30.752Z'
201
201
  };
202
202
 
203
203
  /**
@@ -901,7 +901,7 @@
901
901
  'transition': 'color ' + mot.fast + ' ' + mot.easing
902
902
  };
903
903
  rules[_sx(scope, 'a:hover')] = {
904
- 'color': palette.primary.hover,
904
+ 'color': palette.tertiary.hover,
905
905
  'text-decoration': 'underline'
906
906
  };
907
907
  return rules;
@@ -1078,7 +1078,7 @@
1078
1078
  'transition': 'color ' + layout.motion.fast + ' ' + layout.motion.easing + ', background-color ' + layout.motion.fast + ' ' + layout.motion.easing
1079
1079
  };
1080
1080
  rules[_sx(scope, '.bw_navbar_nav .bw_nav_link:hover')] = {
1081
- 'color': palette.dark.base,
1081
+ 'color': palette.tertiary.base,
1082
1082
  'background-color': palette.surfaceAlt
1083
1083
  };
1084
1084
  rules[_sx(scope, '.bw_navbar_nav .bw_nav_link.active')] = {
@@ -1156,7 +1156,7 @@
1156
1156
  'transition': 'color ' + mo.fast + ' ' + mo.easing + ', border-color ' + mo.fast + ' ' + mo.easing + ', background-color ' + mo.fast + ' ' + mo.easing
1157
1157
  };
1158
1158
  rules[_sx(scope, '.bw_nav_tabs .bw_nav_link:hover')] = {
1159
- 'color': palette.dark.base,
1159
+ 'color': palette.tertiary.base,
1160
1160
  'background-color': palette.surfaceAlt,
1161
1161
  'border-bottom-color': palette.light.border
1162
1162
  };
@@ -1180,7 +1180,7 @@
1180
1180
  };
1181
1181
  rules[_sx(scope, 'a.bw_list_group_item:hover')] = {
1182
1182
  'background-color': palette.surfaceAlt,
1183
- 'color': palette.dark.hover
1183
+ 'color': palette.tertiary.base
1184
1184
  };
1185
1185
  rules[_sx(scope, '.bw_list_group_item.active')] = {
1186
1186
  'color': palette.primary.textOn,
@@ -1278,11 +1278,11 @@
1278
1278
  'color': palette.secondary.base
1279
1279
  };
1280
1280
  rules[_sx(scope, '.bw_breadcrumb_item a')] = {
1281
- 'color': palette.primary.base,
1281
+ 'color': palette.tertiary.base,
1282
1282
  'transition': 'color ' + mo.fast + ' ' + mo.easing
1283
1283
  };
1284
1284
  rules[_sx(scope, '.bw_breadcrumb_item a:hover')] = {
1285
- 'color': palette.primary.hover,
1285
+ 'color': palette.tertiary.hover,
1286
1286
  'text-decoration': 'underline'
1287
1287
  };
1288
1288
  rules[_sx(scope, '.bw_breadcrumb_item.active')] = {
@@ -1530,14 +1530,14 @@
1530
1530
  'font-weight': '600'
1531
1531
  };
1532
1532
  rules[_sx(scope, '.bw_step_completed .bw_step_indicator')] = {
1533
- 'background-color': palette.primary.base,
1534
- 'color': palette.primary.textOn
1533
+ 'background-color': palette.tertiary.base,
1534
+ 'color': palette.tertiary.textOn
1535
1535
  };
1536
1536
  rules[_sx(scope, '.bw_step_completed .bw_step_label')] = {
1537
- 'color': palette.primary.base
1537
+ 'color': palette.tertiary.base
1538
1538
  };
1539
1539
  rules[_sx(scope, '.bw_step_completed + .bw_step::before')] = {
1540
- 'background-color': palette.primary.base
1540
+ 'background-color': palette.tertiary.base
1541
1541
  };
1542
1542
  return rules;
1543
1543
  }
@@ -1821,25 +1821,25 @@
1821
1821
  };
1822
1822
  });
1823
1823
 
1824
- // Text muted — always a neutral gray, never a brand color
1824
+ // Text muted — uses palette secondary for theme-aware muted text
1825
1825
  rules[_sx(scope, '.bw_text_muted')] = {
1826
- 'color': '#6c757d'
1826
+ 'color': palette.secondary.base
1827
1827
  };
1828
1828
 
1829
- // Common bg/text utilities that aren't per-variant
1829
+ // Common bg/text utilities derive from palette for theme awareness
1830
1830
  rules[_sx(scope, '.bw_bg_dark')] = {
1831
- 'background-color': '#212529',
1832
- 'color': '#f8f9fa'
1831
+ 'background-color': palette.dark.base,
1832
+ 'color': palette.dark.textOn
1833
1833
  };
1834
1834
  rules[_sx(scope, '.bw_bg_light')] = {
1835
- 'background-color': '#f8f9fa',
1836
- 'color': '#212529'
1835
+ 'background-color': palette.light.base,
1836
+ 'color': palette.light.textOn
1837
1837
  };
1838
1838
  rules[_sx(scope, '.bw_text_light')] = {
1839
- 'color': '#f8f9fa'
1839
+ 'color': palette.light.base
1840
1840
  };
1841
1841
  rules[_sx(scope, '.bw_text_dark')] = {
1842
- 'color': '#212529'
1842
+ 'color': palette.dark.base
1843
1843
  };
1844
1844
  return rules;
1845
1845
  }
@@ -8160,7 +8160,8 @@
8160
8160
  *
8161
8161
  * @param {Object} [config] - Style configuration (same as `makeStyles`)
8162
8162
  * @param {string} [scope] - Scope selector (same as `applyStyles`)
8163
- * @returns {Element|null} The `<style>` element, or null in Node.js
8163
+ * @returns {Object} The styles object (same as `makeStyles` return value:
8164
+ * `{css, alternateCss, palette, alternatePalette, rules, alternateRules, isLightPrimary}`)
8164
8165
  * @category CSS & Styling
8165
8166
  * @see bw.makeStyles
8166
8167
  * @see bw.applyStyles
@@ -8181,9 +8182,27 @@
8181
8182
  });
8182
8183
  }
8183
8184
  }
8184
- return bw.applyStyles(bw.makeStyles(config), scope);
8185
+ var styles = bw.makeStyles(config);
8186
+ bw.applyStyles(styles, scope);
8187
+ return styles;
8185
8188
  };
8186
8189
 
8190
+ /**
8191
+ * Prefix every selector in a rules object with a scope selector.
8192
+ * Useful for wrapping site-level CSS under `.bw_theme_alt` for dark mode.
8193
+ *
8194
+ * @param {Object} rules - CSS rules object (selector -> declarations)
8195
+ * @param {string} prefix - Scope prefix (e.g. '.bw_theme_alt')
8196
+ * @returns {Object} New rules object with scoped selectors
8197
+ * @category CSS & Styling
8198
+ * @see bw.applyStyles
8199
+ * @see bw.css
8200
+ * @example
8201
+ * var altRules = bw.scopeRulesUnder(myRules, '.bw_theme_alt');
8202
+ * bw.injectCSS(bw.css(altRules));
8203
+ */
8204
+ bw.scopeRulesUnder = scopeRulesUnder;
8205
+
8187
8206
  /**
8188
8207
  * Inject the CSS reset (box-sizing, html/body font, reduced-motion).
8189
8208
  * Idempotent — if already injected, returns the existing `<style>` element.