@ponchia/ui 0.6.0 → 0.6.3

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 (156) hide show
  1. package/CHANGELOG.md +64 -4
  2. package/README.md +1 -1
  3. package/annotations/index.d.ts.map +1 -1
  4. package/annotations/index.js +36 -33
  5. package/behaviors/carousel.d.ts +28 -0
  6. package/behaviors/carousel.d.ts.map +1 -0
  7. package/behaviors/carousel.js +3 -0
  8. package/behaviors/combobox.d.ts +40 -0
  9. package/behaviors/combobox.d.ts.map +1 -0
  10. package/behaviors/combobox.js +71 -20
  11. package/behaviors/command.d.ts +41 -0
  12. package/behaviors/command.d.ts.map +1 -0
  13. package/behaviors/command.js +9 -0
  14. package/behaviors/connectors.d.ts +17 -0
  15. package/behaviors/connectors.d.ts.map +1 -0
  16. package/behaviors/connectors.js +3 -0
  17. package/behaviors/crosshair.d.ts +42 -0
  18. package/behaviors/crosshair.d.ts.map +1 -0
  19. package/behaviors/crosshair.js +19 -1
  20. package/behaviors/dialog.d.ts +20 -0
  21. package/behaviors/dialog.d.ts.map +1 -0
  22. package/behaviors/dialog.js +3 -0
  23. package/behaviors/disclosure.d.ts +10 -0
  24. package/behaviors/disclosure.d.ts.map +1 -0
  25. package/behaviors/disclosure.js +3 -0
  26. package/behaviors/dismissible.d.ts +10 -0
  27. package/behaviors/dismissible.d.ts.map +1 -0
  28. package/behaviors/dismissible.js +3 -0
  29. package/behaviors/forms.d.ts +27 -0
  30. package/behaviors/forms.d.ts.map +1 -0
  31. package/behaviors/forms.js +18 -5
  32. package/behaviors/glyph.d.ts +14 -0
  33. package/behaviors/glyph.d.ts.map +1 -0
  34. package/behaviors/glyph.js +24 -0
  35. package/behaviors/index.d.ts +31 -237
  36. package/behaviors/index.d.ts.map +1 -0
  37. package/behaviors/index.js +17 -0
  38. package/behaviors/inert.d.ts +20 -0
  39. package/behaviors/inert.d.ts.map +1 -0
  40. package/behaviors/inert.js +46 -0
  41. package/behaviors/internal.d.ts +25 -0
  42. package/behaviors/internal.d.ts.map +1 -0
  43. package/behaviors/internal.js +30 -1
  44. package/behaviors/legend.d.ts +35 -0
  45. package/behaviors/legend.d.ts.map +1 -0
  46. package/behaviors/legend.js +9 -0
  47. package/behaviors/menu.d.ts +16 -0
  48. package/behaviors/menu.d.ts.map +1 -0
  49. package/behaviors/menu.js +3 -0
  50. package/behaviors/modal.d.ts +41 -0
  51. package/behaviors/modal.d.ts.map +1 -0
  52. package/behaviors/modal.js +124 -0
  53. package/behaviors/popover.d.ts +28 -0
  54. package/behaviors/popover.d.ts.map +1 -0
  55. package/behaviors/popover.js +17 -17
  56. package/behaviors/spotlight.d.ts +17 -0
  57. package/behaviors/spotlight.d.ts.map +1 -0
  58. package/behaviors/spotlight.js +3 -0
  59. package/behaviors/table.d.ts +36 -0
  60. package/behaviors/table.d.ts.map +1 -0
  61. package/behaviors/table.js +48 -8
  62. package/behaviors/tabs.d.ts +20 -0
  63. package/behaviors/tabs.d.ts.map +1 -0
  64. package/behaviors/tabs.js +3 -0
  65. package/behaviors/theme.d.ts +54 -0
  66. package/behaviors/theme.d.ts.map +1 -0
  67. package/behaviors/theme.js +17 -0
  68. package/behaviors/toast.d.ts +49 -0
  69. package/behaviors/toast.d.ts.map +1 -0
  70. package/behaviors/toast.js +34 -2
  71. package/classes/classes.json +683 -13
  72. package/classes/index.d.ts +106 -2
  73. package/classes/index.js +249 -65
  74. package/connectors/index.d.ts +12 -0
  75. package/connectors/index.d.ts.map +1 -1
  76. package/connectors/index.js +23 -2
  77. package/css/app.css +26 -0
  78. package/css/bullet.css +108 -0
  79. package/css/code.css +98 -0
  80. package/css/content.css +15 -2
  81. package/css/crosshair.css +7 -7
  82. package/css/diff.css +153 -0
  83. package/css/disclosure.css +18 -4
  84. package/css/dots.css +37 -7
  85. package/css/feedback.css +39 -7
  86. package/css/forms.css +71 -3
  87. package/css/legend.css +5 -2
  88. package/css/motion.css +79 -14
  89. package/css/overlay.css +59 -2
  90. package/css/primitives.css +67 -8
  91. package/css/report.css +40 -0
  92. package/css/sidenote.css +67 -0
  93. package/css/spark.css +62 -0
  94. package/css/table.css +9 -2
  95. package/css/term.css +110 -0
  96. package/css/textref.css +63 -0
  97. package/css/toc.css +91 -0
  98. package/css/tokens.css +14 -1
  99. package/css/tree.css +134 -0
  100. package/dist/bronto.css +1 -1
  101. package/dist/css/analytical.css +1 -1
  102. package/dist/css/app.css +1 -1
  103. package/dist/css/bullet.css +1 -0
  104. package/dist/css/code.css +1 -0
  105. package/dist/css/content.css +1 -1
  106. package/dist/css/crosshair.css +1 -1
  107. package/dist/css/diff.css +1 -0
  108. package/dist/css/disclosure.css +1 -1
  109. package/dist/css/dots.css +1 -1
  110. package/dist/css/feedback.css +1 -1
  111. package/dist/css/forms.css +1 -1
  112. package/dist/css/legend.css +1 -1
  113. package/dist/css/motion.css +1 -1
  114. package/dist/css/overlay.css +1 -1
  115. package/dist/css/primitives.css +1 -1
  116. package/dist/css/report.css +1 -1
  117. package/dist/css/sidenote.css +1 -0
  118. package/dist/css/spark.css +1 -0
  119. package/dist/css/table.css +1 -1
  120. package/dist/css/term.css +1 -0
  121. package/dist/css/textref.css +1 -0
  122. package/dist/css/toc.css +1 -0
  123. package/dist/css/tokens.css +1 -1
  124. package/dist/css/tree.css +1 -0
  125. package/docs/annotations.md +39 -0
  126. package/docs/architecture.md +2 -3
  127. package/docs/bullet.md +78 -0
  128. package/docs/code.md +76 -0
  129. package/docs/d2.md +4 -3
  130. package/docs/diff.md +146 -0
  131. package/docs/legends.md +8 -4
  132. package/docs/mermaid.md +21 -4
  133. package/docs/reference.md +127 -8
  134. package/docs/reporting.md +35 -14
  135. package/docs/sidenote.md +64 -0
  136. package/docs/spark.md +78 -0
  137. package/docs/stability.md +1 -0
  138. package/docs/term.md +81 -0
  139. package/docs/textref.md +78 -0
  140. package/docs/theming.md +44 -5
  141. package/docs/toc.md +83 -0
  142. package/docs/tree.md +74 -0
  143. package/docs/usage.md +264 -23
  144. package/docs/vega.md +22 -3
  145. package/glyphs/glyphs.js +7 -1
  146. package/llms.txt +159 -13
  147. package/package.json +47 -7
  148. package/qwik/index.d.ts +4 -2
  149. package/qwik/index.d.ts.map +1 -1
  150. package/qwik/index.js +10 -0
  151. package/react/index.d.ts +4 -2
  152. package/react/index.d.ts.map +1 -1
  153. package/react/index.js +6 -0
  154. package/solid/index.d.ts +6 -2
  155. package/solid/index.d.ts.map +1 -1
  156. package/solid/index.js +6 -0
package/llms.txt CHANGED
@@ -42,7 +42,7 @@ the path changes from source `css/` to built `dist/css/`:
42
42
  <!-- installed locally -->
43
43
  <link rel="stylesheet" href="./node_modules/@ponchia/ui/dist/css/<leaf>.css" />
44
44
  <!-- or from a CDN; pin the version (pre-1.0, breaking changes ship in the minor) -->
45
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@ponchia/ui@0.6.0/dist/css/<leaf>.css" />
45
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@ponchia/ui@0.6.3/dist/css/<leaf>.css" />
46
46
  ```
47
47
 
48
48
  The flattened default bundle is `dist/bronto.css` (bundler shorthand
@@ -69,6 +69,14 @@ Optional vanilla behaviors (theme toggle, etc. — SSR-safe, tree-shakeable):
69
69
  import { applyStoredTheme } from '@ponchia/ui/behaviors';
70
70
  ```
71
71
 
72
+ Notable behaviors beyond the obvious: `initMenu()` adds close affordances to a
73
+ native `<details data-bronto-menu>` dropdown (outside-click/Escape/select-close);
74
+ `initModal()` wires the controlled `.ui-modal.is-open` path (inert focus-trap +
75
+ role/aria-modal); `initDisabledGuard()` makes every `aria-disabled` control
76
+ keyboard-inert (CSS alone is only pointer-inert). For the value-bearing fills,
77
+ `attrs.meter(value)` / `attrs.progress(value)` from `@ponchia/ui/classes` return
78
+ `role`+`aria-valuenow/min/max`+the `--value` style to spread onto the host.
79
+
72
80
  For React/Solid/Qwik, optional thin hook bindings over those behaviors (peer
73
81
  deps `react` / `solid-js` / `@builder.io/qwik`, optional — core stays zero-dep):
74
82
 
@@ -91,13 +99,15 @@ composition that responds to content + available space): `ui-stack` (vertical
91
99
  rhythm), `ui-cluster` (wrapping inline row), `ui-grid` (auto-fit columns),
92
100
  `ui-sidebar` (sidebar + main that stacks when cramped), `ui-switcher` (row →
93
101
  column together), `ui-center` (measure-bounded column), `ui-ratio` (aspect-ratio
94
- box), and the `ui-app-shell`/`ui-app-rail`/`ui-app-nav` admin shell. Each is
95
- tuned with an inline custom property rather than a modifier — set
96
- `style="--grid-min: 12rem"`, `--sidebar-width`, `--switcher-min`, `--center-max`
97
- (the INNER measure; gutters add to the total), `--ratio`, `--stack-gap`,
98
- `--cluster-gap`, `--app-rail`, etc. The full list with defaults is in
99
- `classes.json` `customProperties`. App-shell/sitenav current page is
100
- `aria-current="page"`.
102
+ box — one child only), and the `ui-app-shell`/`ui-app-rail`/`ui-app-nav` admin
103
+ shell. `ui-cq` makes descendant layouts respond to THAT box (container queries),
104
+ not the viewport — wrap a `ui-grid`/`ui-statgrid` in it for an island-safe
105
+ collapse in a slim pane. Each is tuned with an inline custom property rather than
106
+ a modifier — set `style="--grid-min: 12rem"`, `--sidebar-width`, `--sidebar-gap`,
107
+ `--switcher-min`, `--switcher-gap`, `--center-max` (the INNER measure; gutters add
108
+ to the total), `--ratio`, `--stack-gap`, `--cluster-gap`, `--app-rail`, etc. The
109
+ full list with defaults is in `classes.json` `customProperties`. App-shell/sitenav
110
+ current page is `aria-current="page"`.
101
111
 
102
112
  Motion utilities (core bundle, all reduced-motion-safe — they collapse to the
103
113
  static end state, not just a zeroed duration): `ui-animate-in`,
@@ -106,8 +116,10 @@ static end state, not just a zeroed duration): `ui-animate-in`,
106
116
  derive the delay from `:nth-child`), `ui-reveal` (JS/IntersectionObserver — adds
107
117
  `is-visible`), `ui-scroll-reveal` and `ui-scroll-progress` (zero-JS,
108
118
  scroll-driven; the recommended reveal for static reports), and `ui-vt` (View
109
- Transitions — needs the required `--ui-vt-name`). Prefer `ui-scroll-reveal` over
110
- `ui-reveal` when no JS will run. Details: `docs/usage.md`.
119
+ Transitions — needs the required `--ui-vt-name`, which must be **unique per
120
+ document**: reusing one name across sibling items silently drops the transition).
121
+ Prefer `ui-scroll-reveal` over `ui-reveal` when no JS will run. Details:
122
+ `docs/usage.md`.
111
123
 
112
124
  Optional display colorways — opt-in, never in the default bundle. Root-level,
113
125
  like `data-theme` (the derived accent family only recomputes at `:root`):
@@ -344,6 +356,136 @@ author-written label (never colour alone). A tone class **needs a host**:
344
356
  states; the host owns fetching, numbering, and trust. `ui.citation({chip,state})` / `ui.source({state})` /
345
357
  `ui.provenance({state})`. Details: `docs/sources.md`.
346
358
 
359
+ Optional line/row change-review grammar — opt-in, CSS only, never in the
360
+ default bundle. For code review, changelogs, version history, config diffs, and
361
+ generated reports:
362
+
363
+ ```html
364
+ <link rel="stylesheet" href="@ponchia/ui/css/diff.css" />
365
+ ```
366
+
367
+ The HOST pre-classifies each row (`add`/`remove`/`context`), computes hunks, and
368
+ aligns split panes; Bronto only paints — it never parses or diffs source.
369
+ Unified: `ui-diff` with `ui-diff__row--add`/`--remove`/`--context` rows of
370
+ `ui-diff__ln` (line-number gutters, keep `aria-hidden`) + `ui-diff__code`.
371
+ Split: `ui-diff--split` holds two `ui-diff__pane` columns. The `+`/`−` gutter
372
+ glyph is generated content, so add/remove survive forced-colors and print where
373
+ the tint drops (never colour alone, WCAG 1.4.1). `ui.diff({ split })` /
374
+ `ui.diffRow({ change })`. Pairs with `ui-compare--2up`. Details: `docs/diff.md`.
375
+
376
+ Optional fenced-code evidence chrome — opt-in, CSS only, never in the default
377
+ bundle. For code-as-evidence in changelogs, version history, and reports:
378
+
379
+ ```html
380
+ <link rel="stylesheet" href="@ponchia/ui/css/code.css" />
381
+ ```
382
+
383
+ It NEVER parses or tokenizes — the host (or Shiki, via the shipped
384
+ `shiki/nothing.json` token theme) supplies the coloured spans; Bronto owns only
385
+ the chrome. `ui-code` (+`__head` filename bar, `__body` the `<pre>`); wrap each
386
+ line in `ui-code__line` to opt into the `ui-code--numbered` gutter (CSS
387
+ counters) and the `ui-code__line--add`/`--del`/`--hl` line states (forced-colors
388
+ + print safe via an inline-start border). Long lines wrap. `ui.code({ numbered })`
389
+ / `ui.codeLine({ change })`. Details: `docs/code.md`.
390
+
391
+ Optional inline datawords — opt-in, CSS only, never in the default bundle. A
392
+ word-sized microchart (trend-in-a-sentence) for reports and dense tables, the
393
+ inline counterpart to the scalar `ui-delta`/`ui-num`/`ui-stat`:
394
+
395
+ ```html
396
+ <link rel="stylesheet" href="@ponchia/ui/css/spark.css" />
397
+ ```
398
+
399
+ The HOST normalises each point to 0..1 and sets it as `--v` on a
400
+ `ui-spark__bar`; Bronto only paints. Pure CSS, SSR-static, print-safe. A bare
401
+ spark is opaque to AT, so the `ui-spark` container MUST carry a host-written
402
+ `role="img"` + `aria-label` (colour is never the only channel, WCAG 1.4.1).
403
+ `ui-spark__bar--accent`/`--pos`/`--neg` tone a single bar.
404
+ `ui.sparkBar({ tone })`. Details: `docs/spark.md`.
405
+
406
+ Optional Tufte margin notes — opt-in, CSS only, never in the default bundle. For
407
+ evidence, caveats, and provenance asides beside the text:
408
+
409
+ ```html
410
+ <link rel="stylesheet" href="@ponchia/ui/css/sidenote.css" />
411
+ ```
412
+
413
+ `ui-sidenote` is a numbered margin note (CSS counters; anchored by an inline
414
+ `ui-sidenote__ref`); `ui-marginnote` is the unnumbered variant. Wide viewports
415
+ float the note into the inline-end margin, narrow viewports collapse it to an
416
+ indented inline block. The HOST owns where numbering restarts
417
+ (`counter-reset: ui-sidenote` on the article) and reserves the margin gutter
418
+ (`padding-inline-end`). Details: `docs/sidenote.md`.
419
+
420
+ Optional deep-link-to-cited-text — opt-in, CSS only, never in the default
421
+ bundle. For a citation that jumps to the EXACT quoted sentence:
422
+
423
+ ```html
424
+ <link rel="stylesheet" href="@ponchia/ui/css/textref.css" />
425
+ ```
426
+
427
+ `ui-textref` is a link whose `href` is a URL Text Fragment (`#…:~:text=`); the
428
+ browser scrolls to + highlights the quote and Bronto owns the on-brand
429
+ `::target-text` paint (`--textref-highlight`). The HOST builds the fragment URL
430
+ (a three-line pure encoder, see docs); no kernel ships. Text Fragment nav needs
431
+ a real user activation; unsupported engines just navigate (the highlight is
432
+ additive). Details: `docs/textref.md`.
433
+
434
+ Optional bullet graph — opt-in, CSS only, never in the default bundle. The
435
+ Stephen-Few measure-vs-target-vs-bands SLO figure `ui-meter` can't encode:
436
+
437
+ ```html
438
+ <link rel="stylesheet" href="@ponchia/ui/css/bullet.css" />
439
+ ```
440
+
441
+ `ui-bullet` is the track + grayscale qualitative bands (`--band-lo`/`--band-hi`);
442
+ `ui-bullet__measure` is the value bar (REQUIRED `--v` 0..1, `--accent`/`--pos`/
443
+ `--neg` tones); `ui-bullet__target` is the tick at `--t`; `ui-bullet__label` an
444
+ optional caption. Same contract as spark: the HOST normalises, Bronto paints. A
445
+ bare bullet is opaque to AT, so `ui-bullet` MUST carry a host-written
446
+ `role="img"` + `aria-label`. `ui.bulletMeasure({ tone })`. Details:
447
+ `docs/bullet.md`.
448
+
449
+ Optional inline glossary — opt-in, CSS only, never in the default bundle. The
450
+ accessible upgrade of the broken `abbr[title]`:
451
+
452
+ ```html
453
+ <link rel="stylesheet" href="@ponchia/ui/css/term.css" />
454
+ ```
455
+
456
+ `ui-term` is the term `<button popovertarget>` (keyboard/touch-reachable);
457
+ `ui-def` is the definition body — a native `[popover]` styled as a raised card;
458
+ `ui-glossary` is the end-of-document `<dl>` (`ui-glossary__term`/`__def`). The
459
+ native popover pairing gives open/Esc/light-dismiss for free, no kernel. Popovers
460
+ don't print — the printed doc leans on the glossary block. Details: `docs/term.md`.
461
+
462
+ Optional scrollspy table-of-contents — opt-in, CSS only, never in the default
463
+ bundle. A sticky contents rail that highlights the section in view:
464
+
465
+ ```html
466
+ <link rel="stylesheet" href="@ponchia/ui/css/toc.css" />
467
+ ```
468
+
469
+ `ui-toc` is the sticky rail (`--toc-top`); `ui-toc__title`/`ui-toc__list`/
470
+ `ui-toc__link`. The active entry keys on `aria-current="true"`. CSS can't know
471
+ the in-view section, so the HOST mirrors it — statically, or with a small
472
+ copy-paste IntersectionObserver (no kernel ships). Without it the rail is a plain
473
+ anchored list. Details: `docs/toc.md`.
474
+
475
+ Optional hierarchy outline — opt-in, CSS only, never in the default bundle. A
476
+ depth-indented tree on nested native `<details>`:
477
+
478
+ ```html
479
+ <link rel="stylesheet" href="@ponchia/ui/css/tree.css" />
480
+ ```
481
+
482
+ `ui-tree` is the outline; `ui-tree__branch` is a `<details>` node (twist
483
+ chevron; add `name` for an exclusive-accordion group); `ui-tree__leaf` a childless
484
+ row; `ui-tree__summary`/`ui-tree__label`. Open/close + keyboard are native
485
+ `<details>`. A11y honesty: this is a disclosure group, NOT an ARIA `tree` — don't
486
+ add `role="tree"`; the roving-focus kernel is deferred behind a real consumer.
487
+ Details: `docs/tree.md`.
488
+
347
489
  Optional lifecycle/system-state vocabulary — opt-in, CSS only, never in the
348
490
  default bundle. The states apps live in (saving/saved/queued/offline/stale/
349
491
  conflict/error/locked/reviewed/needs-review):
@@ -464,9 +606,13 @@ Read these from `node_modules/@ponchia/ui/` — no network needed:
464
606
  class surface; an agent should read this to know valid class names.
465
607
  - `classes/classes.json` — the same vocabulary as language-neutral data, to
466
608
  VALIDATE markup without executing ESM/parsing TS: `groups` (base →
467
- modifiers/parts, the BEM structure), `classes` (flat list), `states` (the
468
- `is-*` hooks that live outside `cls` by design, with their scope), and
469
- `customProperties` (the author-set inline-style knobs like `--chart-color` / `--value`).
609
+ modifiers/parts, the BEM structure; `base` is null for a parts-only namespace —
610
+ do not emit it), `classes` (flat list), `states` (the `is-*` hooks that live
611
+ outside `cls` by design, with their scope), `customProperties` (the author-set
612
+ inline-style knobs like `--chart-color` / `--value`), `behaviorAttributes` (the
613
+ `data-bronto-*` open/close/dismiss hooks the optional behaviors delegate on), and
614
+ `requiredAria` (the role/aria a generator must emit per component — meter/progress/
615
+ error-summary paint but are invisible to AT without it).
470
616
  - `docs/reference.md` — the full class catalog as prose tables (every
471
617
  class grouped by component, with registry key + kind). Generated from
472
618
  the same source as the types and CI-drift-checked.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ponchia/ui",
3
- "version": "0.6.0",
3
+ "version": "0.6.3",
4
4
  "type": "module",
5
5
  "description": "CSS-first design system for interfaces that explain themselves — works in HTML, every framework, and PDF, no component runtime. A standard component set plus an opt-in analytical & report layer (annotations, legends, connectors, data-viz, report grammar). Monochrome with one rationed accent, re-skinnable from one --accent knob. Zero runtime dependencies.",
6
6
  "keywords": [
@@ -35,6 +35,9 @@
35
35
  "access": "public",
36
36
  "provenance": true
37
37
  },
38
+ "engines": {
39
+ "node": ">=18"
40
+ },
38
41
  "sideEffects": [
39
42
  "**/*.css"
40
43
  ],
@@ -73,6 +76,15 @@
73
76
  "docs/crosshair.md",
74
77
  "docs/selection.md",
75
78
  "docs/sources.md",
79
+ "docs/diff.md",
80
+ "docs/code.md",
81
+ "docs/spark.md",
82
+ "docs/sidenote.md",
83
+ "docs/textref.md",
84
+ "docs/bullet.md",
85
+ "docs/term.md",
86
+ "docs/toc.md",
87
+ "docs/tree.md",
76
88
  "docs/state.md",
77
89
  "docs/generated.md",
78
90
  "docs/workbench.md",
@@ -89,6 +101,8 @@
89
101
  "check:format": "prettier --check .",
90
102
  "size:report": "node scripts/size-report.mjs",
91
103
  "report:pdf": "node scripts/render-pdf.mjs",
104
+ "emit:theme": "node scripts/emit-theme.mjs",
105
+ "emit:theme:check": "node scripts/emit-theme.mjs --check",
92
106
  "gen": "npm run prepack",
93
107
  "fresh:build": "node scripts/gen-all.mjs",
94
108
  "tokens:build": "node scripts/gen-tokens-json.mjs",
@@ -113,7 +127,6 @@
113
127
  "check:classes": "node scripts/check-classes.mjs",
114
128
  "check:recipe-types": "node scripts/check-recipe-types.mjs",
115
129
  "check:chain": "node scripts/check-chain.mjs",
116
- "check:behaviors": "node scripts/check-behaviors.mjs",
117
130
  "check:dts-emit": "node scripts/check-dts-emit.mjs",
118
131
  "check:glyphs": "node scripts/check-glyphs.mjs",
119
132
  "check:color-policy": "node scripts/check-color-policy.mjs",
@@ -135,7 +148,7 @@
135
148
  "check:contrast": "node scripts/check-contrast.mjs",
136
149
  "check:publint": "publint --strict",
137
150
  "check:attw": "attw --pack --ignore-rules no-resolution cjs-resolves-to-esm",
138
- "check": "npm run lint && npm run check:format && npm run check:exports && npm run check:fresh && npm run check:classes && npm run check:recipe-types && npm run check:types && npm run check:shiki && npm run check:dist && npm run check:pack && npm run check:publint && npm run check:attw && npm run check:release && npm run check:versions && npm run check:doc-recipes && npm run check:contract && npm run check:contrast && npm run check:behaviors && npm run check:dts-emit && npm run check:glyphs && npm run check:color-policy && npm run check:skins && npm run check:charts && npm run check:mermaid && npm run check:d2 && npm run check:vega && npm run check:report && npm run check:legend && npm run check:chain",
151
+ "check": "npm run lint && npm run check:format && npm run check:exports && npm run check:fresh && npm run check:classes && npm run check:recipe-types && npm run check:types && npm run check:shiki && npm run check:dist && npm run check:pack && npm run check:publint && npm run check:attw && npm run check:release && npm run check:versions && npm run check:doc-recipes && npm run check:contract && npm run check:contrast && npm run check:dts-emit && npm run check:glyphs && npm run check:color-policy && npm run check:skins && npm run check:charts && npm run check:mermaid && npm run check:d2 && npm run check:vega && npm run check:report && npm run check:legend && npm run check:chain",
139
152
  "test": "node --test \"test/*.test.mjs\"",
140
153
  "prepack": "npm run tokens:css:build && npm run tokens:build && npm run dtcg:build && npm run resolved:build && npm run dts:build && npm run dts:emit && npm run reference:build && npm run classes:json:build && npm run contrast:build && npm run vscode:build && npm run skins:build && npm run charts:build && npm run mermaid:build && npm run d2:build && npm run vega:build && npm run dist:build && npm run glyphs:build",
141
154
  "prepublishOnly": "npm run check && npm test"
@@ -144,14 +157,14 @@
144
157
  "@arethetypeswrong/cli": "^0.18.3",
145
158
  "@axe-core/playwright": "^4.11.3",
146
159
  "@builder.io/qwik": "^1.20.0",
147
- "@playwright/test": "^1.60.0",
160
+ "@playwright/test": "1.60.0",
148
161
  "jsdom": "^29.1.1",
149
162
  "prettier": "^3.8.3",
150
163
  "publint": "^0.3.21",
151
- "react": "^19.2.6",
152
- "react-dom": "^19.2.6",
164
+ "react": "^19.2.7",
165
+ "react-dom": "^19.2.7",
153
166
  "solid-js": "^1.9.13",
154
- "stylelint": "^17.11.1",
167
+ "stylelint": "^17.13.0",
155
168
  "stylelint-config-standard": "^40.0.0",
156
169
  "stylelint-use-logical": "^2.1.3",
157
170
  "typescript": "^6.0.3",
@@ -208,6 +221,15 @@
208
221
  "./css/crosshair.css": "./dist/css/crosshair.css",
209
222
  "./css/selection.css": "./dist/css/selection.css",
210
223
  "./css/sources.css": "./dist/css/sources.css",
224
+ "./css/diff.css": "./dist/css/diff.css",
225
+ "./css/code.css": "./dist/css/code.css",
226
+ "./css/spark.css": "./dist/css/spark.css",
227
+ "./css/sidenote.css": "./dist/css/sidenote.css",
228
+ "./css/textref.css": "./dist/css/textref.css",
229
+ "./css/bullet.css": "./dist/css/bullet.css",
230
+ "./css/term.css": "./dist/css/term.css",
231
+ "./css/toc.css": "./dist/css/toc.css",
232
+ "./css/tree.css": "./dist/css/tree.css",
211
233
  "./css/state.css": "./dist/css/state.css",
212
234
  "./css/generated.css": "./dist/css/generated.css",
213
235
  "./css/workbench.css": "./dist/css/workbench.css",
@@ -239,6 +261,15 @@
239
261
  "./css/unlayered/crosshair.css": "./css/crosshair.css",
240
262
  "./css/unlayered/selection.css": "./css/selection.css",
241
263
  "./css/unlayered/sources.css": "./css/sources.css",
264
+ "./css/unlayered/diff.css": "./css/diff.css",
265
+ "./css/unlayered/code.css": "./css/code.css",
266
+ "./css/unlayered/spark.css": "./css/spark.css",
267
+ "./css/unlayered/sidenote.css": "./css/sidenote.css",
268
+ "./css/unlayered/textref.css": "./css/textref.css",
269
+ "./css/unlayered/bullet.css": "./css/bullet.css",
270
+ "./css/unlayered/term.css": "./css/term.css",
271
+ "./css/unlayered/toc.css": "./css/toc.css",
272
+ "./css/unlayered/tree.css": "./css/tree.css",
242
273
  "./css/unlayered/state.css": "./css/state.css",
243
274
  "./css/unlayered/generated.css": "./css/generated.css",
244
275
  "./css/unlayered/workbench.css": "./css/workbench.css",
@@ -271,6 +302,15 @@
271
302
  "./docs/crosshair.md": "./docs/crosshair.md",
272
303
  "./docs/selection.md": "./docs/selection.md",
273
304
  "./docs/sources.md": "./docs/sources.md",
305
+ "./docs/diff.md": "./docs/diff.md",
306
+ "./docs/code.md": "./docs/code.md",
307
+ "./docs/spark.md": "./docs/spark.md",
308
+ "./docs/sidenote.md": "./docs/sidenote.md",
309
+ "./docs/textref.md": "./docs/textref.md",
310
+ "./docs/bullet.md": "./docs/bullet.md",
311
+ "./docs/term.md": "./docs/term.md",
312
+ "./docs/toc.md": "./docs/toc.md",
313
+ "./docs/tree.md": "./docs/tree.md",
274
314
  "./docs/state.md": "./docs/state.md",
275
315
  "./docs/generated.md": "./docs/generated.md",
276
316
  "./docs/workbench.md": "./docs/workbench.md",
package/qwik/index.d.ts CHANGED
@@ -8,6 +8,7 @@
8
8
  export function useBrontoBehavior(init: (opts?: DelegateOpts) => Cleanup | void, opts?: BrontoBindingOptsResolver): void;
9
9
  export function useThemeToggle(opts?: BrontoBindingOptsResolver<ThemeStorageOpts & DelegateOpts>): void;
10
10
  export function useDismissible(opts?: BrontoBindingOptsResolver): void;
11
+ export function useDisabledGuard(opts?: BrontoBindingOptsResolver): void;
11
12
  export function useDisclosure(opts?: BrontoBindingOptsResolver): void;
12
13
  export function useMenu(opts?: BrontoBindingOptsResolver): void;
13
14
  export function useFormValidation(opts?: BrontoBindingOptsResolver): void;
@@ -16,6 +17,7 @@ export function usePopover(opts?: BrontoBindingOptsResolver): void;
16
17
  export function useTableSort(opts?: BrontoBindingOptsResolver): void;
17
18
  export function useTabs(opts?: BrontoBindingOptsResolver): void;
18
19
  export function useDialog(opts?: BrontoBindingOptsResolver): void;
20
+ export function useModal(opts?: BrontoBindingOptsResolver): void;
19
21
  export function useCarousel(opts?: BrontoBindingOptsResolver): void;
20
22
  export function useDotGlyph(opts?: BrontoBindingOptsResolver): void;
21
23
  export function useLegend(opts?: BrontoBindingOptsResolver): void;
@@ -34,10 +36,10 @@ export type BrontoBindingRoot = Document | Element | {
34
36
  } | {
35
37
  current: Document | Element | null | undefined;
36
38
  } | (() => Document | Element | null | undefined) | null | undefined;
37
- export type BrontoBindingOpts<T extends DelegateOpts = import("../behaviors/index.js").DelegateOpts> = Omit<T, "root"> & {
39
+ export type BrontoBindingOpts<T extends DelegateOpts = import("../behaviors/internal.js").DelegateOpts> = Omit<T, "root"> & {
38
40
  root?: BrontoBindingRoot;
39
41
  };
40
- export type BrontoBindingOptsResolver<T extends DelegateOpts = import("../behaviors/index.js").DelegateOpts> = BrontoBindingOpts<T> | (() => BrontoBindingOpts<T> | null | undefined) | null | undefined;
42
+ export type BrontoBindingOptsResolver<T extends DelegateOpts = import("../behaviors/internal.js").DelegateOpts> = BrontoBindingOpts<T> | (() => BrontoBindingOpts<T> | null | undefined) | null | undefined;
41
43
  import { applyStoredTheme } from '../behaviors/index.js';
42
44
  export { cls, ui, cx } from "../classes/index.js";
43
45
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"AA8GA;;;;;;sBAMsB;AACtB,wCAHY,CAAC,IAAI,CAAC,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI,SACvC,yBAAyB,GACvB,IAAI,CAIjB;AAGM,sCADK,yBAAyB,CAAC,gBAAgB,GAAG,YAAY,CAAC,GAAmB,IAAI,CAGhC;AAEtD,sCADK,yBAAyB,GAAmB,IAAI,CAGH;AAElD,qCADK,yBAAyB,GAAmB,IAAI,CAGA;AAErD,+BADK,yBAAyB,GAAmB,IAAI,CAGN;AAE/C,yCADK,yBAAyB,GAAmB,IAAI,CAGI;AAEzD,mCADK,yBAAyB,GAAmB,IAAI,CAGF;AAEnD,kCADK,yBAAyB,GAAmB,IAAI,CAGH;AAElD,oCADK,yBAAyB,GAAmB,IAAI,CAGD;AAEpD,+BADK,yBAAyB,GAAmB,IAAI,CAGN;AAE/C,iCADK,yBAAyB,GAAmB,IAAI,CAGJ;AAEjD,mCADK,yBAAyB,GAAmB,IAAI,CAGF;AAEnD,mCADK,yBAAyB,GAAmB,IAAI,CAGF;AAEnD,iCADK,yBAAyB,GAAmB,IAAI,CAGJ;AAEjD,qCADK,yBAAyB,GAAmB,IAAI,CAGA;AAErD,oCADK,yBAAyB,GAAmB,IAAI,CAGD;AAEpD,oCADK,yBAAyB,GAAmB,IAAI,CAGD;AAEpD,kCADK,yBAAyB,GAAmB,IAAI,CAGH;AAIlD,4BADO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,KAAK,OAAO,CACzB;;sBAtKtB,OAAO,uBAAuB,EAAE,OAAO;2BACvC,OAAO,uBAAuB,EAAE,YAAY;+BAC5C,OAAO,uBAAuB,EAAE,gBAAgB;wBAChD,OAAO,uBAAuB,EAAE,SAAS;gCAEzC,QAAQ,GACd,OAAO,GACP;IAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,GAChD;IAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,GAClD,CAAC,MAAM,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,GAC7C,IAAI,GACJ,SAAS;8BAIa,CAAC,SAAhB,YAAa,mDACd,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,iBAAiB,CAAA;CAAE;sCAI9B,CAAC,SAAhB,YAAa,mDACd,iBAAiB,CAAC,CAAC,CAAC,GAC1B,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,GAC/C,IAAI,GACJ,SAAS;iCAuBT,uBAAuB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"AAgHA;;;;;;sBAMsB;AACtB,wCAHY,CAAC,IAAI,CAAC,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI,SACvC,yBAAyB,GACvB,IAAI,CAIjB;AAGM,sCADK,yBAAyB,CAAC,gBAAgB,GAAG,YAAY,CAAC,GAAmB,IAAI,CAGhC;AAEtD,sCADK,yBAAyB,GAAmB,IAAI,CAGH;AAElD,wCADK,yBAAyB,GAAmB,IAAI,CAGG;AAExD,qCADK,yBAAyB,GAAmB,IAAI,CAGA;AAErD,+BADK,yBAAyB,GAAmB,IAAI,CAGN;AAE/C,yCADK,yBAAyB,GAAmB,IAAI,CAGI;AAEzD,mCADK,yBAAyB,GAAmB,IAAI,CAGF;AAEnD,kCADK,yBAAyB,GAAmB,IAAI,CAGH;AAElD,oCADK,yBAAyB,GAAmB,IAAI,CAGD;AAEpD,+BADK,yBAAyB,GAAmB,IAAI,CAGN;AAE/C,iCADK,yBAAyB,GAAmB,IAAI,CAGJ;AAEjD,gCADK,yBAAyB,GAAmB,IAAI,CAGL;AAEhD,mCADK,yBAAyB,GAAmB,IAAI,CAGF;AAEnD,mCADK,yBAAyB,GAAmB,IAAI,CAGF;AAEnD,iCADK,yBAAyB,GAAmB,IAAI,CAGJ;AAEjD,qCADK,yBAAyB,GAAmB,IAAI,CAGA;AAErD,oCADK,yBAAyB,GAAmB,IAAI,CAGD;AAEpD,oCADK,yBAAyB,GAAmB,IAAI,CAGD;AAEpD,kCADK,yBAAyB,GAAmB,IAAI,CAGH;AAIlD,4BADO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,KAAK,OAAO,CACzB;;sBAhLtB,OAAO,uBAAuB,EAAE,OAAO;2BACvC,OAAO,uBAAuB,EAAE,YAAY;+BAC5C,OAAO,uBAAuB,EAAE,gBAAgB;wBAChD,OAAO,uBAAuB,EAAE,SAAS;gCAEzC,QAAQ,GACd,OAAO,GACP;IAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,GAChD;IAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,GAClD,CAAC,MAAM,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,GAC7C,IAAI,GACJ,SAAS;8BAIa,CAAC,SAAhB,YAAa,sDACd,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,iBAAiB,CAAA;CAAE;sCAI9B,CAAC,SAAhB,YAAa,sDACd,iBAAiB,CAAC,CAAC,CAAC,GAC1B,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,GAC/C,IAAI,GACJ,SAAS;iCAyBT,uBAAuB"}
package/qwik/index.js CHANGED
@@ -56,6 +56,7 @@ import {
56
56
  applyStoredTheme,
57
57
  initThemeToggle,
58
58
  dismissible,
59
+ initDisabledGuard,
59
60
  initDisclosure,
60
61
  initMenu,
61
62
  initFormValidation,
@@ -64,6 +65,7 @@ import {
64
65
  initTableSort,
65
66
  initTabs,
66
67
  initDialog,
68
+ initModal,
67
69
  initCarousel,
68
70
  initDotGlyph,
69
71
  initLegend,
@@ -129,6 +131,10 @@ export const useDismissible = (opts) =>
129
131
  // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
130
132
  useVisibleTask$((ctx) => start(dismissible, opts, ctx));
131
133
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
134
+ export const useDisabledGuard = (opts) =>
135
+ // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
136
+ useVisibleTask$((ctx) => start(initDisabledGuard, opts, ctx));
137
+ /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
132
138
  export const useDisclosure = (opts) =>
133
139
  // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
134
140
  useVisibleTask$((ctx) => start(initDisclosure, opts, ctx));
@@ -161,6 +167,10 @@ export const useDialog = (opts) =>
161
167
  // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
162
168
  useVisibleTask$((ctx) => start(initDialog, opts, ctx));
163
169
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
170
+ export const useModal = (opts) =>
171
+ // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
172
+ useVisibleTask$((ctx) => start(initModal, opts, ctx));
173
+ /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
164
174
  export const useCarousel = (opts) =>
165
175
  // eslint-disable-next-line qwik/no-use-visible-task -- delegated DOM glue + cleanup
166
176
  useVisibleTask$((ctx) => start(initCarousel, opts, ctx));
package/react/index.d.ts CHANGED
@@ -7,6 +7,7 @@
7
7
  export function useBrontoBehavior(init: (opts?: DelegateOpts) => Cleanup | void, opts?: BrontoBindingOptsResolver): void;
8
8
  export function useThemeToggle(opts?: BrontoBindingOptsResolver<ThemeStorageOpts & DelegateOpts>): void;
9
9
  export function useDismissible(opts?: BrontoBindingOptsResolver): void;
10
+ export function useDisabledGuard(opts?: BrontoBindingOptsResolver): void;
10
11
  export function useDisclosure(opts?: BrontoBindingOptsResolver): void;
11
12
  export function useMenu(opts?: BrontoBindingOptsResolver): void;
12
13
  export function useFormValidation(opts?: BrontoBindingOptsResolver): void;
@@ -15,6 +16,7 @@ export function usePopover(opts?: BrontoBindingOptsResolver): void;
15
16
  export function useTableSort(opts?: BrontoBindingOptsResolver): void;
16
17
  export function useTabs(opts?: BrontoBindingOptsResolver): void;
17
18
  export function useDialog(opts?: BrontoBindingOptsResolver): void;
19
+ export function useModal(opts?: BrontoBindingOptsResolver): void;
18
20
  export function useCarousel(opts?: BrontoBindingOptsResolver): void;
19
21
  export function useDotGlyph(opts?: BrontoBindingOptsResolver): void;
20
22
  export function useLegend(opts?: BrontoBindingOptsResolver): void;
@@ -31,10 +33,10 @@ export type ToastOpts = import("../behaviors/index.js").ToastOpts;
31
33
  export type BrontoBindingRoot = Document | Element | {
32
34
  current: Document | Element | null | undefined;
33
35
  } | (() => Document | Element | null | undefined) | null | undefined;
34
- export type BrontoBindingOpts<T extends DelegateOpts = import("../behaviors/index.js").DelegateOpts> = Omit<T, "root"> & {
36
+ export type BrontoBindingOpts<T extends DelegateOpts = import("../behaviors/internal.js").DelegateOpts> = Omit<T, "root"> & {
35
37
  root?: BrontoBindingRoot;
36
38
  };
37
- export type BrontoBindingOptsResolver<T extends DelegateOpts = import("../behaviors/index.js").DelegateOpts> = BrontoBindingOpts<T> | (() => BrontoBindingOpts<T> | null | undefined) | null | undefined;
39
+ export type BrontoBindingOptsResolver<T extends DelegateOpts = import("../behaviors/internal.js").DelegateOpts> = BrontoBindingOpts<T> | (() => BrontoBindingOpts<T> | null | undefined) | null | undefined;
38
40
  import { applyStoredTheme } from '../behaviors/index.js';
39
41
  export { cls, ui, cx } from "../classes/index.js";
40
42
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"AA4FA;;;;;sBAKsB;AACtB,wCAHY,CAAC,IAAI,CAAC,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI,SACvC,yBAAyB,GACvB,IAAI,CAGjB;AAGM,sCADK,yBAAyB,CAAC,gBAAgB,GAAG,YAAY,CAAC,GAAmB,IAAI,CACb;AAEzE,sCADK,yBAAyB,GAAmB,IAAI,CACgB;AAErE,qCADK,yBAAyB,GAAmB,IAAI,CACkB;AAEvE,+BADK,yBAAyB,GAAmB,IAAI,CACM;AAE3D,yCADK,yBAAyB,GAAmB,IAAI,CAC0B;AAE/E,mCADK,yBAAyB,GAAmB,IAAI,CACc;AAEnE,kCADK,yBAAyB,GAAmB,IAAI,CACY;AAEjE,oCADK,yBAAyB,GAAmB,IAAI,CACgB;AAErE,+BADK,yBAAyB,GAAmB,IAAI,CACM;AAE3D,iCADK,yBAAyB,GAAmB,IAAI,CACU;AAE/D,mCADK,yBAAyB,GAAmB,IAAI,CACc;AAEnE,mCADK,yBAAyB,GAAmB,IAAI,CACc;AAEnE,iCADK,yBAAyB,GAAmB,IAAI,CACU;AAE/D,qCADK,yBAAyB,GAAmB,IAAI,CACkB;AAEvE,oCADK,yBAAyB,GAAmB,IAAI,CACgB;AAErE,oCADK,yBAAyB,GAAmB,IAAI,CACgB;AAErE,kCADK,yBAAyB,GAAmB,IAAI,CACY;AAIjE,4BADO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,KAAK,OAAO,CACzB;;sBArHtB,OAAO,uBAAuB,EAAE,OAAO;2BACvC,OAAO,uBAAuB,EAAE,YAAY;+BAC5C,OAAO,uBAAuB,EAAE,gBAAgB;wBAChD,OAAO,uBAAuB,EAAE,SAAS;gCAEzC,QAAQ,GACd,OAAO,GACP;IAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,GAClD,CAAC,MAAM,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,GAC7C,IAAI,GACJ,SAAS;8BAIa,CAAC,SAAhB,YAAa,mDACd,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,iBAAiB,CAAA;CAAE;sCAI9B,CAAC,SAAhB,YAAa,mDACd,iBAAiB,CAAC,CAAC,CAAC,GAC1B,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,GAC/C,IAAI,GACJ,SAAS;iCAuBT,uBAAuB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"AA8FA;;;;;sBAKsB;AACtB,wCAHY,CAAC,IAAI,CAAC,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI,SACvC,yBAAyB,GACvB,IAAI,CAGjB;AAGM,sCADK,yBAAyB,CAAC,gBAAgB,GAAG,YAAY,CAAC,GAAmB,IAAI,CACb;AAEzE,sCADK,yBAAyB,GAAmB,IAAI,CACgB;AAErE,wCADK,yBAAyB,GAAmB,IAAI,CACwB;AAE7E,qCADK,yBAAyB,GAAmB,IAAI,CACkB;AAEvE,+BADK,yBAAyB,GAAmB,IAAI,CACM;AAE3D,yCADK,yBAAyB,GAAmB,IAAI,CAC0B;AAE/E,mCADK,yBAAyB,GAAmB,IAAI,CACc;AAEnE,kCADK,yBAAyB,GAAmB,IAAI,CACY;AAEjE,oCADK,yBAAyB,GAAmB,IAAI,CACgB;AAErE,+BADK,yBAAyB,GAAmB,IAAI,CACM;AAE3D,iCADK,yBAAyB,GAAmB,IAAI,CACU;AAE/D,gCADK,yBAAyB,GAAmB,IAAI,CACQ;AAE7D,mCADK,yBAAyB,GAAmB,IAAI,CACc;AAEnE,mCADK,yBAAyB,GAAmB,IAAI,CACc;AAEnE,iCADK,yBAAyB,GAAmB,IAAI,CACU;AAE/D,qCADK,yBAAyB,GAAmB,IAAI,CACkB;AAEvE,oCADK,yBAAyB,GAAmB,IAAI,CACgB;AAErE,oCADK,yBAAyB,GAAmB,IAAI,CACgB;AAErE,kCADK,yBAAyB,GAAmB,IAAI,CACY;AAIjE,4BADO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,KAAK,OAAO,CACzB;;sBA3HtB,OAAO,uBAAuB,EAAE,OAAO;2BACvC,OAAO,uBAAuB,EAAE,YAAY;+BAC5C,OAAO,uBAAuB,EAAE,gBAAgB;wBAChD,OAAO,uBAAuB,EAAE,SAAS;gCAEzC,QAAQ,GACd,OAAO,GACP;IAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,GAClD,CAAC,MAAM,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,GAC7C,IAAI,GACJ,SAAS;8BAIa,CAAC,SAAhB,YAAa,sDACd,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,iBAAiB,CAAA;CAAE;sCAI9B,CAAC,SAAhB,YAAa,sDACd,iBAAiB,CAAC,CAAC,CAAC,GAC1B,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,GAC/C,IAAI,GACJ,SAAS;iCAyBT,uBAAuB"}
package/react/index.js CHANGED
@@ -50,6 +50,7 @@ import {
50
50
  applyStoredTheme,
51
51
  initThemeToggle,
52
52
  dismissible,
53
+ initDisabledGuard,
53
54
  initDisclosure,
54
55
  initMenu,
55
56
  initFormValidation,
@@ -58,6 +59,7 @@ import {
58
59
  initTableSort,
59
60
  initTabs,
60
61
  initDialog,
62
+ initModal,
61
63
  initCarousel,
62
64
  initDotGlyph,
63
65
  initLegend,
@@ -105,6 +107,8 @@ export const useThemeToggle = (opts) => useBrontoBehavior(initThemeToggle, opts)
105
107
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
106
108
  export const useDismissible = (opts) => useBrontoBehavior(dismissible, opts);
107
109
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
110
+ export const useDisabledGuard = (opts) => useBrontoBehavior(initDisabledGuard, opts);
111
+ /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
108
112
  export const useDisclosure = (opts) => useBrontoBehavior(initDisclosure, opts);
109
113
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
110
114
  export const useMenu = (opts) => useBrontoBehavior(initMenu, opts);
@@ -121,6 +125,8 @@ export const useTabs = (opts) => useBrontoBehavior(initTabs, opts);
121
125
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
122
126
  export const useDialog = (opts) => useBrontoBehavior(initDialog, opts);
123
127
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
128
+ export const useModal = (opts) => useBrontoBehavior(initModal, opts);
129
+ /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
124
130
  export const useCarousel = (opts) => useBrontoBehavior(initCarousel, opts);
125
131
  /** @param {BrontoBindingOptsResolver} [opts] @returns {void} */
126
132
  export const useDotGlyph = (opts) => useBrontoBehavior(initDotGlyph, opts);
package/solid/index.d.ts CHANGED
@@ -10,6 +10,8 @@ export const useThemeToggle: (opts?: BrontoBindingOptsResolver<ThemeStorageOpts
10
10
  /** @type {(opts?: BrontoBindingOptsResolver) => void} */
11
11
  export const useDismissible: (opts?: BrontoBindingOptsResolver) => void;
12
12
  /** @type {(opts?: BrontoBindingOptsResolver) => void} */
13
+ export const useDisabledGuard: (opts?: BrontoBindingOptsResolver) => void;
14
+ /** @type {(opts?: BrontoBindingOptsResolver) => void} */
13
15
  export const useDisclosure: (opts?: BrontoBindingOptsResolver) => void;
14
16
  /** @type {(opts?: BrontoBindingOptsResolver) => void} */
15
17
  export const useMenu: (opts?: BrontoBindingOptsResolver) => void;
@@ -26,6 +28,8 @@ export const useTabs: (opts?: BrontoBindingOptsResolver) => void;
26
28
  /** @type {(opts?: BrontoBindingOptsResolver) => void} */
27
29
  export const useDialog: (opts?: BrontoBindingOptsResolver) => void;
28
30
  /** @type {(opts?: BrontoBindingOptsResolver) => void} */
31
+ export const useModal: (opts?: BrontoBindingOptsResolver) => void;
32
+ /** @type {(opts?: BrontoBindingOptsResolver) => void} */
29
33
  export const useCarousel: (opts?: BrontoBindingOptsResolver) => void;
30
34
  /** @type {(opts?: BrontoBindingOptsResolver) => void} */
31
35
  export const useDotGlyph: (opts?: BrontoBindingOptsResolver) => void;
@@ -53,13 +57,13 @@ export type BrontoBindingRoot = Document | Element | {
53
57
  /**
54
58
  * Behavior options with the `root` widened to accept Solid refs/resolvers.
55
59
  */
56
- export type BrontoBindingOpts<T extends DelegateOpts = import("../behaviors/index.js").DelegateOpts> = Omit<T, "root"> & {
60
+ export type BrontoBindingOpts<T extends DelegateOpts = import("../behaviors/internal.js").DelegateOpts> = Omit<T, "root"> & {
57
61
  root?: BrontoBindingRoot;
58
62
  };
59
63
  /**
60
64
  * `BrontoBindingOpts<T>`, or a callback that returns it on mount (after refs).
61
65
  */
62
- export type BrontoBindingOptsResolver<T extends DelegateOpts = import("../behaviors/index.js").DelegateOpts> = BrontoBindingOpts<T> | (() => BrontoBindingOpts<T> | null | undefined) | null | undefined;
66
+ export type BrontoBindingOptsResolver<T extends DelegateOpts = import("../behaviors/internal.js").DelegateOpts> = BrontoBindingOpts<T> | (() => BrontoBindingOpts<T> | null | undefined) | null | undefined;
63
67
  import { applyStoredTheme } from '../behaviors/index.js';
64
68
  export { cls, ui, cx } from "../classes/index.js";
65
69
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"AA8FA;;;;;GAKG;AACH,wCAJW,CAAC,IAAI,CAAC,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI,SACvC,yBAAyB,GACvB,IAAI,CAOhB;AAED,0FAA0F;AAC1F,6BADW,CAAC,IAAI,CAAC,EAAE,yBAAyB,CAAC,gBAAgB,GAAG,YAAY,CAAC,KAAK,IAAI,CACL;AACjF,yDAAyD;AACzD,6BADW,CAAC,IAAI,CAAC,EAAE,yBAAyB,KAAK,IAAI,CACwB;AAC7E,yDAAyD;AACzD,4BADW,CAAC,IAAI,CAAC,EAAE,yBAAyB,KAAK,IAAI,CAC0B;AAC/E,yDAAyD;AACzD,sBADW,CAAC,IAAI,CAAC,EAAE,yBAAyB,KAAK,IAAI,CACc;AACnE,yDAAyD;AACzD,gCADW,CAAC,IAAI,CAAC,EAAE,yBAAyB,KAAK,IAAI,CACkC;AACvF,yDAAyD;AACzD,0BADW,CAAC,IAAI,CAAC,EAAE,yBAAyB,KAAK,IAAI,CACsB;AAC3E,yDAAyD;AACzD,yBADW,CAAC,IAAI,CAAC,EAAE,yBAAyB,KAAK,IAAI,CACoB;AACzE,yDAAyD;AACzD,2BADW,CAAC,IAAI,CAAC,EAAE,yBAAyB,KAAK,IAAI,CACwB;AAC7E,yDAAyD;AACzD,sBADW,CAAC,IAAI,CAAC,EAAE,yBAAyB,KAAK,IAAI,CACc;AACnE,yDAAyD;AACzD,wBADW,CAAC,IAAI,CAAC,EAAE,yBAAyB,KAAK,IAAI,CACkB;AACvE,yDAAyD;AACzD,0BADW,CAAC,IAAI,CAAC,EAAE,yBAAyB,KAAK,IAAI,CACsB;AAC3E,yDAAyD;AACzD,0BADW,CAAC,IAAI,CAAC,EAAE,yBAAyB,KAAK,IAAI,CACsB;AAC3E,yDAAyD;AACzD,wBADW,CAAC,IAAI,CAAC,EAAE,yBAAyB,KAAK,IAAI,CACkB;AACvE,yDAAyD;AACzD,4BADW,CAAC,IAAI,CAAC,EAAE,yBAAyB,KAAK,IAAI,CAC0B;AAC/E,yDAAyD;AACzD,2BADW,CAAC,IAAI,CAAC,EAAE,yBAAyB,KAAK,IAAI,CACwB;AAC7E,yDAAyD;AACzD,2BADW,CAAC,IAAI,CAAC,EAAE,yBAAyB,KAAK,IAAI,CACwB;AAC7E,yDAAyD;AACzD,yBADW,CAAC,IAAI,CAAC,EAAE,yBAAyB,KAAK,IAAI,CACoB;AAEzE;kEACkE;AAClE,uBADU,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,KAAK,OAAO,CAC1B;;sBA1HvB,OAAO,uBAAuB,EAAE,OAAO;2BACvC,OAAO,uBAAuB,EAAE,YAAY;+BAC5C,OAAO,uBAAuB,EAAE,gBAAgB;wBAChD,OAAO,uBAAuB,EAAE,SAAS;gCAEzC,QAAQ,GACd,OAAO,GACP;IAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,GAClD,CAAC,MAAM,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,GAC7C,IAAI,GACJ,SAAS;;;;8BAKa,CAAC,SAAhB,YAAa,mDACd,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,iBAAiB,CAAA;CAAE;;;;sCAK9B,CAAC,SAAhB,YAAa,mDACd,iBAAiB,CAAC,CAAC,CAAC,GAC1B,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,GAC/C,IAAI,GACJ,SAAS;iCAuBT,uBAAuB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"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"}
package/solid/index.js CHANGED
@@ -52,6 +52,7 @@ import {
52
52
  applyStoredTheme,
53
53
  initThemeToggle,
54
54
  dismissible,
55
+ initDisabledGuard,
55
56
  initDisclosure,
56
57
  initMenu,
57
58
  initFormValidation,
@@ -60,6 +61,7 @@ import {
60
61
  initTableSort,
61
62
  initTabs,
62
63
  initDialog,
64
+ initModal,
63
65
  initCarousel,
64
66
  initDotGlyph,
65
67
  initLegend,
@@ -110,6 +112,8 @@ export const useThemeToggle = (opts) => useBrontoBehavior(initThemeToggle, opts)
110
112
  /** @type {(opts?: BrontoBindingOptsResolver) => void} */
111
113
  export const useDismissible = (opts) => useBrontoBehavior(dismissible, opts);
112
114
  /** @type {(opts?: BrontoBindingOptsResolver) => void} */
115
+ export const useDisabledGuard = (opts) => useBrontoBehavior(initDisabledGuard, opts);
116
+ /** @type {(opts?: BrontoBindingOptsResolver) => void} */
113
117
  export const useDisclosure = (opts) => useBrontoBehavior(initDisclosure, opts);
114
118
  /** @type {(opts?: BrontoBindingOptsResolver) => void} */
115
119
  export const useMenu = (opts) => useBrontoBehavior(initMenu, opts);
@@ -126,6 +130,8 @@ export const useTabs = (opts) => useBrontoBehavior(initTabs, opts);
126
130
  /** @type {(opts?: BrontoBindingOptsResolver) => void} */
127
131
  export const useDialog = (opts) => useBrontoBehavior(initDialog, opts);
128
132
  /** @type {(opts?: BrontoBindingOptsResolver) => void} */
133
+ export const useModal = (opts) => useBrontoBehavior(initModal, opts);
134
+ /** @type {(opts?: BrontoBindingOptsResolver) => void} */
129
135
  export const useCarousel = (opts) => useBrontoBehavior(initCarousel, opts);
130
136
  /** @type {(opts?: BrontoBindingOptsResolver) => void} */
131
137
  export const useDotGlyph = (opts) => useBrontoBehavior(initDotGlyph, opts);