bitwrench 2.0.23 → 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 +88 -88
  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
@@ -1,4 +1,4 @@
1
- /*! bitwrench v2.0.23 | BSD-2-Clause | https://deftio.github.com/bitwrench/pages */
1
+ /*! bitwrench 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.23',
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:09:16.008Z'
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
  }
@@ -12430,7 +12430,8 @@
12430
12430
  *
12431
12431
  * @param {Object} [config] - Style configuration (same as `makeStyles`)
12432
12432
  * @param {string} [scope] - Scope selector (same as `applyStyles`)
12433
- * @returns {Element|null} The `<style>` element, or null in Node.js
12433
+ * @returns {Object} The styles object (same as `makeStyles` return value:
12434
+ * `{css, alternateCss, palette, alternatePalette, rules, alternateRules, isLightPrimary}`)
12434
12435
  * @category CSS & Styling
12435
12436
  * @see bw.makeStyles
12436
12437
  * @see bw.applyStyles
@@ -12451,9 +12452,27 @@
12451
12452
  });
12452
12453
  }
12453
12454
  }
12454
- return bw.applyStyles(bw.makeStyles(config), scope);
12455
+ var styles = bw.makeStyles(config);
12456
+ bw.applyStyles(styles, scope);
12457
+ return styles;
12455
12458
  };
12456
12459
 
12460
+ /**
12461
+ * Prefix every selector in a rules object with a scope selector.
12462
+ * Useful for wrapping site-level CSS under `.bw_theme_alt` for dark mode.
12463
+ *
12464
+ * @param {Object} rules - CSS rules object (selector -> declarations)
12465
+ * @param {string} prefix - Scope prefix (e.g. '.bw_theme_alt')
12466
+ * @returns {Object} New rules object with scoped selectors
12467
+ * @category CSS & Styling
12468
+ * @see bw.applyStyles
12469
+ * @see bw.css
12470
+ * @example
12471
+ * var altRules = bw.scopeRulesUnder(myRules, '.bw_theme_alt');
12472
+ * bw.injectCSS(bw.css(altRules));
12473
+ */
12474
+ bw.scopeRulesUnder = scopeRulesUnder;
12475
+
12457
12476
  /**
12458
12477
  * Inject the CSS reset (box-sizing, html/body font, reduced-motion).
12459
12478
  * Idempotent — if already injected, returns the existing `<style>` element.