@ponchia/ui 0.6.6 → 0.6.8
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/CHANGELOG.md +175 -6
- package/README.md +38 -25
- package/annotations/index.d.ts.map +1 -1
- package/annotations/index.js +21 -3
- package/behaviors/carousel.d.ts.map +1 -1
- package/behaviors/carousel.js +91 -32
- package/behaviors/combobox.d.ts.map +1 -1
- package/behaviors/combobox.js +117 -43
- package/behaviors/command.d.ts.map +1 -1
- package/behaviors/command.js +74 -14
- package/behaviors/connectors.d.ts.map +1 -1
- package/behaviors/connectors.js +92 -9
- package/behaviors/crosshair.d.ts.map +1 -1
- package/behaviors/crosshair.js +47 -1
- package/behaviors/dialog.d.ts.map +1 -1
- package/behaviors/dialog.js +37 -16
- package/behaviors/disclosure.d.ts.map +1 -1
- package/behaviors/disclosure.js +33 -3
- package/behaviors/dismissible.d.ts.map +1 -1
- package/behaviors/dismissible.js +3 -2
- package/behaviors/forms.d.ts.map +1 -1
- package/behaviors/forms.js +78 -5
- package/behaviors/glyph.d.ts.map +1 -1
- package/behaviors/glyph.js +17 -2
- package/behaviors/index.d.ts +2 -0
- package/behaviors/index.d.ts.map +1 -1
- package/behaviors/index.js +2 -0
- package/behaviors/inert.js +3 -2
- package/behaviors/internal.d.ts +2 -1
- package/behaviors/internal.d.ts.map +1 -1
- package/behaviors/internal.js +25 -4
- package/behaviors/legend.d.ts +0 -5
- package/behaviors/legend.d.ts.map +1 -1
- package/behaviors/legend.js +78 -14
- package/behaviors/menu.d.ts.map +1 -1
- package/behaviors/menu.js +13 -8
- package/behaviors/modal.d.ts.map +1 -1
- package/behaviors/modal.js +77 -19
- package/behaviors/popover.d.ts +4 -3
- package/behaviors/popover.d.ts.map +1 -1
- package/behaviors/popover.js +89 -9
- package/behaviors/sources.d.ts.map +1 -1
- package/behaviors/sources.js +14 -2
- package/behaviors/splitter.d.ts +26 -0
- package/behaviors/splitter.d.ts.map +1 -0
- package/behaviors/splitter.js +239 -0
- package/behaviors/spotlight.d.ts.map +1 -1
- package/behaviors/spotlight.js +28 -2
- package/behaviors/table.d.ts.map +1 -1
- package/behaviors/table.js +105 -13
- package/behaviors/tabs.d.ts.map +1 -1
- package/behaviors/tabs.js +82 -18
- package/behaviors/theme.d.ts.map +1 -1
- package/behaviors/theme.js +26 -6
- package/classes/classes.json +230 -4
- package/classes/index.d.ts +64 -3
- package/classes/index.js +56 -2
- package/classes/vscode.css-custom-data.json +1 -1
- package/connectors/index.d.ts +39 -6
- package/connectors/index.d.ts.map +1 -1
- package/connectors/index.js +67 -9
- package/css/analytical.css +3 -1
- package/css/annotations.css +12 -0
- package/css/app.css +4 -4
- package/css/clamp.css +92 -0
- package/css/crosshair.css +27 -2
- package/css/feedback.css +2 -30
- package/css/figure.css +102 -0
- package/css/highlights.css +50 -0
- package/css/interval.css +90 -0
- package/css/navigation.css +12 -0
- package/css/primitives.css +2 -3
- package/css/report-kit.css +38 -0
- package/css/report.css +23 -4
- package/css/sidenote.css +12 -2
- package/css/site.css +2 -1
- package/css/sources.css +5 -0
- package/css/state.css +120 -1
- package/css/table.css +4 -0
- package/css/tokens.css +25 -9
- package/css/workbench.css +101 -8
- package/dist/bronto.css +1 -1
- package/dist/css/analytical.css +1 -1
- package/dist/css/annotations.css +1 -1
- package/dist/css/app.css +1 -1
- package/dist/css/clamp.css +1 -0
- package/dist/css/crosshair.css +1 -1
- package/dist/css/feedback.css +1 -1
- package/dist/css/figure.css +1 -0
- package/dist/css/highlights.css +1 -0
- package/dist/css/interval.css +1 -0
- package/dist/css/navigation.css +1 -1
- package/dist/css/primitives.css +1 -1
- package/dist/css/report-kit.css +1 -0
- package/dist/css/report.css +1 -1
- package/dist/css/sidenote.css +1 -1
- package/dist/css/site.css +1 -1
- package/dist/css/sources.css +1 -1
- package/dist/css/state.css +1 -1
- package/dist/css/table.css +1 -1
- package/dist/css/tokens.css +1 -1
- package/dist/css/workbench.css +1 -1
- package/docs/adr/0001-color-system.md +3 -2
- package/docs/adr/0002-scope-and-2026-baseline.md +1 -1
- package/docs/annotations.md +12 -1
- package/docs/architecture.md +105 -48
- package/docs/clamp.md +49 -0
- package/docs/command.md +4 -1
- package/docs/connectors.md +16 -0
- package/docs/contrast.md +34 -24
- package/docs/crosshair.md +1 -1
- package/docs/d2.md +37 -0
- package/docs/dots.md +4 -1
- package/docs/figure.md +71 -0
- package/docs/frontier-primitives.md +25 -24
- package/docs/glyphs.md +11 -0
- package/docs/highlights.md +52 -0
- package/docs/interop/tailwind.md +148 -0
- package/docs/interval.md +55 -0
- package/docs/legends.md +3 -2
- package/docs/mermaid.md +6 -0
- package/docs/migrations/0.2-to-0.3.md +80 -0
- package/docs/migrations/0.3-to-0.4.md +48 -0
- package/docs/migrations/0.4-to-0.5.md +96 -0
- package/docs/migrations/0.5-to-0.6.md +82 -0
- package/docs/package-contract.md +44 -6
- package/docs/reference.md +78 -5
- package/docs/reporting.md +126 -60
- package/docs/sidenote.md +7 -1
- package/docs/sources.md +1 -1
- package/docs/stability.md +23 -5
- package/docs/state.md +67 -10
- package/docs/theming.md +12 -4
- package/docs/usage.md +47 -13
- package/docs/vega.md +4 -4
- package/docs/workbench.md +59 -18
- package/llms.txt +89 -16
- package/package.json +82 -6
- package/qwik/index.d.ts +1 -0
- package/qwik/index.d.ts.map +1 -1
- package/qwik/index.js +26 -21
- package/react/index.d.ts +1 -0
- package/react/index.d.ts.map +1 -1
- package/react/index.js +4 -1
- package/schemas/report-claims.v1.schema.json +137 -0
- package/solid/index.d.ts +2 -0
- package/solid/index.d.ts.map +1 -1
- package/solid/index.js +3 -0
- package/svelte/index.d.ts +114 -0
- package/svelte/index.d.ts.map +1 -0
- package/svelte/index.js +193 -0
- package/tailwind.css +87 -0
- package/tokens/figma.variables.json +2241 -0
- package/tokens/index.js +1 -1
- package/tokens/index.json +2 -2
- package/tokens/resolved.json +3 -3
- package/tokens/tokens.dtcg.json +1 -1
- package/vue/index.d.ts +116 -0
- package/vue/index.d.ts.map +1 -0
- package/vue/index.js +228 -0
package/classes/classes.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$comment": "@ponchia/ui class vocabulary as language-neutral data — validate emitted markup without executing the ESM cls map or parsing the .d.ts. Generated from classes/index.js — do not edit by hand; run `npm run classes:json:build`. Drift-checked in CI. `groups[].base` is null for a parts-only namespace (no standalone base class — do NOT emit it). A modifier whose name contains `__` (e.g. `ui-spark__bar--pos`) attaches to THAT part, not the base host. `states` is the author-applied `is-*` hooks (runtime/behavior-managed hooks are excluded); `behaviorAttributes` are the `data-bronto-*` wiring hooks the optional behaviors delegate on; `requiredAria` is the role/aria a generator must emit per component. `states` + `customProperties` are documented in docs/reference.md and ship outside `cls` by design.",
|
|
3
3
|
"counts": {
|
|
4
|
-
"classes":
|
|
5
|
-
"groups":
|
|
4
|
+
"classes": 634,
|
|
5
|
+
"groups": 177
|
|
6
6
|
},
|
|
7
7
|
"groups": {
|
|
8
8
|
"ui-accordion": {
|
|
@@ -322,6 +322,17 @@
|
|
|
322
322
|
"ui-claim__status"
|
|
323
323
|
]
|
|
324
324
|
},
|
|
325
|
+
"ui-clamp": {
|
|
326
|
+
"base": "ui-clamp",
|
|
327
|
+
"modifiers": [],
|
|
328
|
+
"parts": [
|
|
329
|
+
"ui-clamp__body",
|
|
330
|
+
"ui-clamp__control",
|
|
331
|
+
"ui-clamp__less",
|
|
332
|
+
"ui-clamp__more",
|
|
333
|
+
"ui-clamp__toggle"
|
|
334
|
+
]
|
|
335
|
+
},
|
|
325
336
|
"ui-cluster": {
|
|
326
337
|
"base": "ui-cluster",
|
|
327
338
|
"modifiers": [
|
|
@@ -583,6 +594,21 @@
|
|
|
583
594
|
"modifiers": [],
|
|
584
595
|
"parts": []
|
|
585
596
|
},
|
|
597
|
+
"ui-figure": {
|
|
598
|
+
"base": "ui-figure",
|
|
599
|
+
"modifiers": [
|
|
600
|
+
"ui-figure__body--key-right"
|
|
601
|
+
],
|
|
602
|
+
"parts": [
|
|
603
|
+
"ui-figure__body",
|
|
604
|
+
"ui-figure__caption",
|
|
605
|
+
"ui-figure__data",
|
|
606
|
+
"ui-figure__key",
|
|
607
|
+
"ui-figure__media",
|
|
608
|
+
"ui-figure__overlay",
|
|
609
|
+
"ui-figure__stage"
|
|
610
|
+
]
|
|
611
|
+
},
|
|
586
612
|
"ui-file": {
|
|
587
613
|
"base": "ui-file",
|
|
588
614
|
"modifiers": [],
|
|
@@ -613,6 +639,11 @@
|
|
|
613
639
|
"modifiers": [],
|
|
614
640
|
"parts": []
|
|
615
641
|
},
|
|
642
|
+
"ui-highlights": {
|
|
643
|
+
"base": "ui-highlights",
|
|
644
|
+
"modifiers": [],
|
|
645
|
+
"parts": []
|
|
646
|
+
},
|
|
616
647
|
"ui-hint": {
|
|
617
648
|
"base": "ui-hint",
|
|
618
649
|
"modifiers": [
|
|
@@ -654,6 +685,37 @@
|
|
|
654
685
|
"ui-inspector__head"
|
|
655
686
|
]
|
|
656
687
|
},
|
|
688
|
+
"ui-interval": {
|
|
689
|
+
"base": "ui-interval",
|
|
690
|
+
"modifiers": [],
|
|
691
|
+
"parts": [
|
|
692
|
+
"ui-interval__bounds",
|
|
693
|
+
"ui-interval__label",
|
|
694
|
+
"ui-interval__point",
|
|
695
|
+
"ui-interval__range",
|
|
696
|
+
"ui-interval__track"
|
|
697
|
+
]
|
|
698
|
+
},
|
|
699
|
+
"ui-job": {
|
|
700
|
+
"base": "ui-job",
|
|
701
|
+
"modifiers": [
|
|
702
|
+
"ui-job--blocked",
|
|
703
|
+
"ui-job--compact",
|
|
704
|
+
"ui-job--complete",
|
|
705
|
+
"ui-job--failed",
|
|
706
|
+
"ui-job--queued",
|
|
707
|
+
"ui-job--running"
|
|
708
|
+
],
|
|
709
|
+
"parts": [
|
|
710
|
+
"ui-job__actions",
|
|
711
|
+
"ui-job__bar",
|
|
712
|
+
"ui-job__body",
|
|
713
|
+
"ui-job__head",
|
|
714
|
+
"ui-job__meta",
|
|
715
|
+
"ui-job__progress",
|
|
716
|
+
"ui-job__title"
|
|
717
|
+
]
|
|
718
|
+
},
|
|
657
719
|
"ui-kbd": {
|
|
658
720
|
"base": "ui-kbd",
|
|
659
721
|
"modifiers": [],
|
|
@@ -1134,6 +1196,17 @@
|
|
|
1134
1196
|
"modifiers": [],
|
|
1135
1197
|
"parts": []
|
|
1136
1198
|
},
|
|
1199
|
+
"ui-splitter": {
|
|
1200
|
+
"base": "ui-splitter",
|
|
1201
|
+
"modifiers": [
|
|
1202
|
+
"ui-splitter--horizontal",
|
|
1203
|
+
"ui-splitter--vertical"
|
|
1204
|
+
],
|
|
1205
|
+
"parts": [
|
|
1206
|
+
"ui-splitter__handle",
|
|
1207
|
+
"ui-splitter__pane"
|
|
1208
|
+
]
|
|
1209
|
+
},
|
|
1137
1210
|
"ui-spotlight": {
|
|
1138
1211
|
"base": "ui-spotlight",
|
|
1139
1212
|
"modifiers": [
|
|
@@ -1554,6 +1627,12 @@
|
|
|
1554
1627
|
"ui-claim__scope",
|
|
1555
1628
|
"ui-claim__statement",
|
|
1556
1629
|
"ui-claim__status",
|
|
1630
|
+
"ui-clamp",
|
|
1631
|
+
"ui-clamp__body",
|
|
1632
|
+
"ui-clamp__control",
|
|
1633
|
+
"ui-clamp__less",
|
|
1634
|
+
"ui-clamp__more",
|
|
1635
|
+
"ui-clamp__toggle",
|
|
1557
1636
|
"ui-cluster",
|
|
1558
1637
|
"ui-cluster--between",
|
|
1559
1638
|
"ui-code",
|
|
@@ -1667,6 +1746,15 @@
|
|
|
1667
1746
|
"ui-eyebrow--muted",
|
|
1668
1747
|
"ui-eyebrow--sm",
|
|
1669
1748
|
"ui-field",
|
|
1749
|
+
"ui-figure",
|
|
1750
|
+
"ui-figure__body",
|
|
1751
|
+
"ui-figure__body--key-right",
|
|
1752
|
+
"ui-figure__caption",
|
|
1753
|
+
"ui-figure__data",
|
|
1754
|
+
"ui-figure__key",
|
|
1755
|
+
"ui-figure__media",
|
|
1756
|
+
"ui-figure__overlay",
|
|
1757
|
+
"ui-figure__stage",
|
|
1670
1758
|
"ui-file",
|
|
1671
1759
|
"ui-generated",
|
|
1672
1760
|
"ui-generated__label",
|
|
@@ -1675,6 +1763,7 @@
|
|
|
1675
1763
|
"ui-glossary__term",
|
|
1676
1764
|
"ui-grid",
|
|
1677
1765
|
"ui-halftone",
|
|
1766
|
+
"ui-highlights",
|
|
1678
1767
|
"ui-hint",
|
|
1679
1768
|
"ui-hint--error",
|
|
1680
1769
|
"ui-icon",
|
|
@@ -1687,6 +1776,26 @@
|
|
|
1687
1776
|
"ui-inspector",
|
|
1688
1777
|
"ui-inspector__body",
|
|
1689
1778
|
"ui-inspector__head",
|
|
1779
|
+
"ui-interval",
|
|
1780
|
+
"ui-interval__bounds",
|
|
1781
|
+
"ui-interval__label",
|
|
1782
|
+
"ui-interval__point",
|
|
1783
|
+
"ui-interval__range",
|
|
1784
|
+
"ui-interval__track",
|
|
1785
|
+
"ui-job",
|
|
1786
|
+
"ui-job--blocked",
|
|
1787
|
+
"ui-job--compact",
|
|
1788
|
+
"ui-job--complete",
|
|
1789
|
+
"ui-job--failed",
|
|
1790
|
+
"ui-job--queued",
|
|
1791
|
+
"ui-job--running",
|
|
1792
|
+
"ui-job__actions",
|
|
1793
|
+
"ui-job__bar",
|
|
1794
|
+
"ui-job__body",
|
|
1795
|
+
"ui-job__head",
|
|
1796
|
+
"ui-job__meta",
|
|
1797
|
+
"ui-job__progress",
|
|
1798
|
+
"ui-job__title",
|
|
1690
1799
|
"ui-kbd",
|
|
1691
1800
|
"ui-keep",
|
|
1692
1801
|
"ui-key-value",
|
|
@@ -1895,6 +2004,11 @@
|
|
|
1895
2004
|
"ui-spark__bar--neg",
|
|
1896
2005
|
"ui-spark__bar--pos",
|
|
1897
2006
|
"ui-spinner",
|
|
2007
|
+
"ui-splitter",
|
|
2008
|
+
"ui-splitter--horizontal",
|
|
2009
|
+
"ui-splitter--vertical",
|
|
2010
|
+
"ui-splitter__handle",
|
|
2011
|
+
"ui-splitter__pane",
|
|
1898
2012
|
"ui-spotlight",
|
|
1899
2013
|
"ui-spotlight--ring",
|
|
1900
2014
|
"ui-spotlight__hole",
|
|
@@ -2026,7 +2140,7 @@
|
|
|
2026
2140
|
{
|
|
2027
2141
|
"class": "is-open",
|
|
2028
2142
|
"scope": "controlled .ui-modal / .ui-popover",
|
|
2029
|
-
"effect": "open state
|
|
2143
|
+
"effect": "open visibility state; focus management belongs to the matching behavior/host"
|
|
2030
2144
|
},
|
|
2031
2145
|
{
|
|
2032
2146
|
"class": "is-active",
|
|
@@ -2090,6 +2204,13 @@
|
|
|
2090
2204
|
"example": "92",
|
|
2091
2205
|
"note": "measured value as a UNITLESS number 0..100 (registered <number>, never a %). Set it on the meter/progress host — it inherits to the __fill/__bar. Prefer attrs.meter(value)/attrs.progress(value) from @ponchia/ui/classes, which sets it plus role + aria-valuenow/min/max together."
|
|
2092
2206
|
},
|
|
2207
|
+
{
|
|
2208
|
+
"name": "--job-progress",
|
|
2209
|
+
"on": ".ui-job",
|
|
2210
|
+
"type": "percentage",
|
|
2211
|
+
"example": "64%",
|
|
2212
|
+
"note": "determinate background-job progress. Set it on the .ui-job host; pair the .ui-job__progress element with role=\"progressbar\" and matching aria-valuenow/min/max when the value is known."
|
|
2213
|
+
},
|
|
2093
2214
|
{
|
|
2094
2215
|
"name": "--icon-mask",
|
|
2095
2216
|
"on": ".ui-icon",
|
|
@@ -2142,6 +2263,27 @@
|
|
|
2142
2263
|
"example": "var(--accent-soft)",
|
|
2143
2264
|
"note": "the ::target-text highlight wash for the matched cited sentence (default var(--accent-soft)). The host builds the #:~:text= href; Bronto owns the paint — see docs/textref.md."
|
|
2144
2265
|
},
|
|
2266
|
+
{
|
|
2267
|
+
"name": "--figure-max-inline",
|
|
2268
|
+
"on": ".ui-figure__stage",
|
|
2269
|
+
"type": "length",
|
|
2270
|
+
"example": "32rem",
|
|
2271
|
+
"note": "maximum inline size of the centered figure stage (default 42rem). The host still owns chart/media dimensions and data mapping."
|
|
2272
|
+
},
|
|
2273
|
+
{
|
|
2274
|
+
"name": "--figure-min-block",
|
|
2275
|
+
"on": ".ui-figure__stage",
|
|
2276
|
+
"type": "length",
|
|
2277
|
+
"example": "16rem",
|
|
2278
|
+
"note": "minimum block size reserved for a live or late-rendered figure stage (default 0px)."
|
|
2279
|
+
},
|
|
2280
|
+
{
|
|
2281
|
+
"name": "--figure-key-width",
|
|
2282
|
+
"on": ".ui-figure__body--key-right",
|
|
2283
|
+
"type": "length",
|
|
2284
|
+
"example": "12rem",
|
|
2285
|
+
"note": "width of the right-side key column before the figure body collapses to one column (default 14rem)."
|
|
2286
|
+
},
|
|
2145
2287
|
{
|
|
2146
2288
|
"name": "--v",
|
|
2147
2289
|
"on": ".ui-bullet__measure",
|
|
@@ -2178,6 +2320,78 @@
|
|
|
2178
2320
|
"example": "1rem",
|
|
2179
2321
|
"note": "the sticky inset from the top of the scroll container (default var(--space-md))."
|
|
2180
2322
|
},
|
|
2323
|
+
{
|
|
2324
|
+
"name": "--lo",
|
|
2325
|
+
"on": ".ui-interval",
|
|
2326
|
+
"type": "number 0..1",
|
|
2327
|
+
"example": "0.22",
|
|
2328
|
+
"required": true,
|
|
2329
|
+
"note": "REQUIRED — normalised lower bound of the interval. The host normalises; Bronto only paints."
|
|
2330
|
+
},
|
|
2331
|
+
{
|
|
2332
|
+
"name": "--hi",
|
|
2333
|
+
"on": ".ui-interval",
|
|
2334
|
+
"type": "number 0..1",
|
|
2335
|
+
"example": "0.68",
|
|
2336
|
+
"required": true,
|
|
2337
|
+
"note": "REQUIRED — normalised upper bound of the interval. The host normalises; Bronto only paints."
|
|
2338
|
+
},
|
|
2339
|
+
{
|
|
2340
|
+
"name": "--v",
|
|
2341
|
+
"on": ".ui-interval__point",
|
|
2342
|
+
"type": "number 0..1",
|
|
2343
|
+
"example": "0.52",
|
|
2344
|
+
"note": "optional normalised point estimate inside the interval. Omit the point element when there is no point estimate."
|
|
2345
|
+
},
|
|
2346
|
+
{
|
|
2347
|
+
"name": "--clamp-lines",
|
|
2348
|
+
"on": ".ui-clamp",
|
|
2349
|
+
"type": "integer",
|
|
2350
|
+
"example": "3",
|
|
2351
|
+
"note": "number of lines shown before the optional reveal control expands the excerpt (default 4)."
|
|
2352
|
+
},
|
|
2353
|
+
{
|
|
2354
|
+
"name": "--highlight-evidence",
|
|
2355
|
+
"on": ".ui-highlights",
|
|
2356
|
+
"type": "color",
|
|
2357
|
+
"example": "var(--accent-soft)",
|
|
2358
|
+
"note": "CSS Custom Highlight API wash for host-registered bronto-evidence ranges."
|
|
2359
|
+
},
|
|
2360
|
+
{
|
|
2361
|
+
"name": "--highlight-search",
|
|
2362
|
+
"on": ".ui-highlights",
|
|
2363
|
+
"type": "color",
|
|
2364
|
+
"example": "var(--warning-soft)",
|
|
2365
|
+
"note": "CSS Custom Highlight API wash for host-registered bronto-search ranges."
|
|
2366
|
+
},
|
|
2367
|
+
{
|
|
2368
|
+
"name": "--highlight-current",
|
|
2369
|
+
"on": ".ui-highlights",
|
|
2370
|
+
"type": "color",
|
|
2371
|
+
"example": "color-mix(in srgb, var(--accent) 22%, transparent)",
|
|
2372
|
+
"note": "CSS Custom Highlight API wash for the host-registered bronto-current range."
|
|
2373
|
+
},
|
|
2374
|
+
{
|
|
2375
|
+
"name": "--splitter-pos",
|
|
2376
|
+
"on": ".ui-splitter",
|
|
2377
|
+
"type": "percentage",
|
|
2378
|
+
"example": "36%",
|
|
2379
|
+
"note": "first pane size in the splitter axis. initSplitter keeps this and aria-valuenow in sync; the host may persist the last value."
|
|
2380
|
+
},
|
|
2381
|
+
{
|
|
2382
|
+
"name": "--splitter-handle",
|
|
2383
|
+
"on": ".ui-splitter",
|
|
2384
|
+
"type": "length",
|
|
2385
|
+
"example": "0.75rem",
|
|
2386
|
+
"note": "fixed size of the separator handle track (default 0.75rem)."
|
|
2387
|
+
},
|
|
2388
|
+
{
|
|
2389
|
+
"name": "--splitter-pane-min",
|
|
2390
|
+
"on": ".ui-splitter",
|
|
2391
|
+
"type": "length",
|
|
2392
|
+
"example": "12rem",
|
|
2393
|
+
"note": "minimum first-pane size before the grid track clamps (default 0px); pair with matching aria-valuemin when the limit is user-visible."
|
|
2394
|
+
},
|
|
2181
2395
|
{
|
|
2182
2396
|
"name": "--stack-gap",
|
|
2183
2397
|
"on": ".ui-stack",
|
|
@@ -2488,7 +2702,7 @@
|
|
|
2488
2702
|
"name": "data-bronto-modal",
|
|
2489
2703
|
"on": "a controlled (non-<dialog>) .ui-modal overlay",
|
|
2490
2704
|
"behavior": "initModal",
|
|
2491
|
-
"note": "inert focus-trap
|
|
2705
|
+
"note": "inert focus-trap, focus-return, and Escape close signal for a consumer-owned .is-open modal; needs an accessible name"
|
|
2492
2706
|
},
|
|
2493
2707
|
{
|
|
2494
2708
|
"name": "data-bronto-menu",
|
|
@@ -2515,6 +2729,13 @@
|
|
|
2515
2729
|
"behavior": "initSources",
|
|
2516
2730
|
"note": "scopes citation preview metadata and source-card focus/highlight behavior; the host still owns numbering, fetching, and trust decisions."
|
|
2517
2731
|
},
|
|
2732
|
+
{
|
|
2733
|
+
"name": "data-bronto-splitter",
|
|
2734
|
+
"on": "a .ui-splitter host",
|
|
2735
|
+
"value": "optional 'vertical' | 'horizontal' (otherwise inferred from .ui-splitter--horizontal / aria-orientation)",
|
|
2736
|
+
"behavior": "initSplitter",
|
|
2737
|
+
"note": "keyboard + pointer ARIA window-splitter behavior; updates --splitter-pos and aria-valuenow, then emits bronto:splitter:resize. The host owns persistence and pane state."
|
|
2738
|
+
},
|
|
2518
2739
|
{
|
|
2519
2740
|
"name": "data-bronto-source-ref",
|
|
2520
2741
|
"on": "a button/control that references a source card",
|
|
@@ -2728,6 +2949,11 @@
|
|
|
2728
2949
|
"on": ".ui-error-summary",
|
|
2729
2950
|
"require": "role=\"alert\" + tabindex=\"-1\" on the hand-authored summary so it is announced and focusable when validation fails",
|
|
2730
2951
|
"helper": "initFormValidation wires this for the dynamic summary; a static summary needs it hand-set"
|
|
2952
|
+
},
|
|
2953
|
+
{
|
|
2954
|
+
"on": ".ui-splitter__handle",
|
|
2955
|
+
"require": "role=\"separator\" + tabindex=\"0\" + aria-controls=\"<first-pane-id>\" + an accessible name + aria-orientation + aria-valuemin/max/now. The aria-valuenow value mirrors --splitter-pos.",
|
|
2956
|
+
"helper": "initSplitter fills missing role/tabindex/orientation/value defaults and updates aria-valuenow; author the accessible name, aria-controls, and meaningful min/max."
|
|
2731
2957
|
}
|
|
2732
2958
|
]
|
|
2733
2959
|
}
|
package/classes/index.d.ts
CHANGED
|
@@ -330,6 +330,15 @@ export declare const cls: {
|
|
|
330
330
|
readonly compare2up: 'ui-compare--2up';
|
|
331
331
|
readonly compareCol: 'ui-compare__col';
|
|
332
332
|
readonly compareHead: 'ui-compare__head';
|
|
333
|
+
readonly figure: 'ui-figure';
|
|
334
|
+
readonly figureCaption: 'ui-figure__caption';
|
|
335
|
+
readonly figureBody: 'ui-figure__body';
|
|
336
|
+
readonly figureBodyKeyRight: 'ui-figure__body--key-right';
|
|
337
|
+
readonly figureStage: 'ui-figure__stage';
|
|
338
|
+
readonly figureMedia: 'ui-figure__media';
|
|
339
|
+
readonly figureOverlay: 'ui-figure__overlay';
|
|
340
|
+
readonly figureKey: 'ui-figure__key';
|
|
341
|
+
readonly figureData: 'ui-figure__data';
|
|
333
342
|
readonly legend: 'ui-legend';
|
|
334
343
|
readonly legendVertical: 'ui-legend--vertical';
|
|
335
344
|
readonly legendCompact: 'ui-legend--compact';
|
|
@@ -459,6 +468,19 @@ export declare const cls: {
|
|
|
459
468
|
readonly srcReviewed: 'ui-src--reviewed';
|
|
460
469
|
readonly srcStale: 'ui-src--stale';
|
|
461
470
|
readonly srcConflict: 'ui-src--conflict';
|
|
471
|
+
readonly interval: 'ui-interval';
|
|
472
|
+
readonly intervalTrack: 'ui-interval__track';
|
|
473
|
+
readonly intervalRange: 'ui-interval__range';
|
|
474
|
+
readonly intervalPoint: 'ui-interval__point';
|
|
475
|
+
readonly intervalLabel: 'ui-interval__label';
|
|
476
|
+
readonly intervalBounds: 'ui-interval__bounds';
|
|
477
|
+
readonly clamp: 'ui-clamp';
|
|
478
|
+
readonly clampBody: 'ui-clamp__body';
|
|
479
|
+
readonly clampToggle: 'ui-clamp__toggle';
|
|
480
|
+
readonly clampControl: 'ui-clamp__control';
|
|
481
|
+
readonly clampMore: 'ui-clamp__more';
|
|
482
|
+
readonly clampLess: 'ui-clamp__less';
|
|
483
|
+
readonly highlights: 'ui-highlights';
|
|
462
484
|
readonly diff: 'ui-diff';
|
|
463
485
|
readonly diffSplit: 'ui-diff--split';
|
|
464
486
|
readonly diffPane: 'ui-diff__pane';
|
|
@@ -524,6 +546,20 @@ export declare const cls: {
|
|
|
524
546
|
readonly stateReviewed: 'ui-state--reviewed';
|
|
525
547
|
readonly stateNeedsReview: 'ui-state--needs-review';
|
|
526
548
|
readonly syncbar: 'ui-syncbar';
|
|
549
|
+
readonly job: 'ui-job';
|
|
550
|
+
readonly jobHead: 'ui-job__head';
|
|
551
|
+
readonly jobTitle: 'ui-job__title';
|
|
552
|
+
readonly jobMeta: 'ui-job__meta';
|
|
553
|
+
readonly jobBody: 'ui-job__body';
|
|
554
|
+
readonly jobProgress: 'ui-job__progress';
|
|
555
|
+
readonly jobBar: 'ui-job__bar';
|
|
556
|
+
readonly jobActions: 'ui-job__actions';
|
|
557
|
+
readonly jobCompact: 'ui-job--compact';
|
|
558
|
+
readonly jobQueued: 'ui-job--queued';
|
|
559
|
+
readonly jobRunning: 'ui-job--running';
|
|
560
|
+
readonly jobBlocked: 'ui-job--blocked';
|
|
561
|
+
readonly jobFailed: 'ui-job--failed';
|
|
562
|
+
readonly jobComplete: 'ui-job--complete';
|
|
527
563
|
readonly generated: 'ui-generated';
|
|
528
564
|
readonly generatedLabel: 'ui-generated__label';
|
|
529
565
|
readonly originLabel: 'ui-origin-label';
|
|
@@ -544,6 +580,11 @@ export declare const cls: {
|
|
|
544
580
|
readonly selectionbar: 'ui-selectionbar';
|
|
545
581
|
readonly selectionbarCount: 'ui-selectionbar__count';
|
|
546
582
|
readonly selectionbarActions: 'ui-selectionbar__actions';
|
|
583
|
+
readonly splitter: 'ui-splitter';
|
|
584
|
+
readonly splitterVertical: 'ui-splitter--vertical';
|
|
585
|
+
readonly splitterHorizontal: 'ui-splitter--horizontal';
|
|
586
|
+
readonly splitterPane: 'ui-splitter__pane';
|
|
587
|
+
readonly splitterHandle: 'ui-splitter__handle';
|
|
547
588
|
readonly command: 'ui-command';
|
|
548
589
|
readonly commandInput: 'ui-command__input';
|
|
549
590
|
readonly commandList: 'ui-command__list';
|
|
@@ -699,7 +740,7 @@ export interface DotbarOpts {
|
|
|
699
740
|
}
|
|
700
741
|
export interface ModalOpts {
|
|
701
742
|
drawer?: boolean;
|
|
702
|
-
/** Controlled non-dialog usage — adds the is-open state
|
|
743
|
+
/** Controlled non-dialog usage — adds only the is-open state; pair with initModal for focus management. */
|
|
703
744
|
open?: boolean;
|
|
704
745
|
}
|
|
705
746
|
export interface TabOpts {
|
|
@@ -810,6 +851,12 @@ export interface StateOpts {
|
|
|
810
851
|
/** Pulse the indicator for an in-progress state (saving / syncing / retrying). Reduced-motion-safe. */
|
|
811
852
|
busy?: boolean;
|
|
812
853
|
}
|
|
854
|
+
export type JobState = 'queued' | 'running' | 'blocked' | 'failed' | 'complete';
|
|
855
|
+
export interface JobOpts {
|
|
856
|
+
/** Persistent background-job state. Pair with written status text; tone is only a scanning aid. */
|
|
857
|
+
state?: JobState;
|
|
858
|
+
compact?: boolean;
|
|
859
|
+
}
|
|
813
860
|
export interface OriginLabelOpts {
|
|
814
861
|
/** Accent-tint the label for AI/model-generated origin (vs a neutral tag). */
|
|
815
862
|
ai?: boolean;
|
|
@@ -892,6 +939,7 @@ export interface Ui {
|
|
|
892
939
|
sparkBar(opts?: SparkBarOpts): string;
|
|
893
940
|
bulletMeasure(opts?: BulletMeasureOpts): string;
|
|
894
941
|
state(opts?: StateOpts): string;
|
|
942
|
+
job(opts?: JobOpts): string;
|
|
895
943
|
originLabel(opts?: OriginLabelOpts): string;
|
|
896
944
|
}
|
|
897
945
|
|
|
@@ -911,9 +959,22 @@ export interface ValueAttrs {
|
|
|
911
959
|
'aria-valuemax': number;
|
|
912
960
|
style: { '--value': number };
|
|
913
961
|
}
|
|
962
|
+
export interface MeterValueAttrs extends ValueAttrs {
|
|
963
|
+
role: 'meter';
|
|
964
|
+
}
|
|
965
|
+
export interface ProgressValueAttrs extends ValueAttrs {
|
|
966
|
+
role: 'progressbar';
|
|
967
|
+
}
|
|
968
|
+
export interface IndeterminateProgressAttrs {
|
|
969
|
+
role: 'progressbar';
|
|
970
|
+
'aria-busy': 'true';
|
|
971
|
+
}
|
|
914
972
|
export interface Attrs {
|
|
915
|
-
meter(value: number, opts?: ValueRangeOpts):
|
|
916
|
-
progress(value: number, opts?: ValueRangeOpts):
|
|
973
|
+
meter(value: number, opts?: ValueRangeOpts): MeterValueAttrs;
|
|
974
|
+
progress(value: number, opts?: ValueRangeOpts): ProgressValueAttrs;
|
|
975
|
+
progress(value?: undefined, opts?: ValueRangeOpts): IndeterminateProgressAttrs;
|
|
976
|
+
dotbar(value: number, opts?: ValueRangeOpts): ProgressValueAttrs;
|
|
977
|
+
dotbar(value?: undefined, opts?: ValueRangeOpts): IndeterminateProgressAttrs;
|
|
917
978
|
}
|
|
918
979
|
/** Set the painted value AND its ARIA together so they cannot drift. */
|
|
919
980
|
export declare const attrs: Attrs;
|
package/classes/index.js
CHANGED
|
@@ -346,6 +346,16 @@ export const cls = Object.freeze({
|
|
|
346
346
|
compare2up: 'ui-compare--2up',
|
|
347
347
|
compareCol: 'ui-compare__col',
|
|
348
348
|
compareHead: 'ui-compare__head',
|
|
349
|
+
// figure — analytical/report figure stage (css/figure.css)
|
|
350
|
+
figure: 'ui-figure',
|
|
351
|
+
figureCaption: 'ui-figure__caption',
|
|
352
|
+
figureBody: 'ui-figure__body',
|
|
353
|
+
figureBodyKeyRight: 'ui-figure__body--key-right',
|
|
354
|
+
figureStage: 'ui-figure__stage',
|
|
355
|
+
figureMedia: 'ui-figure__media',
|
|
356
|
+
figureOverlay: 'ui-figure__overlay',
|
|
357
|
+
figureKey: 'ui-figure__key',
|
|
358
|
+
figureData: 'ui-figure__data',
|
|
349
359
|
// legend (standalone data keys — css/legend.css)
|
|
350
360
|
legend: 'ui-legend',
|
|
351
361
|
legendVertical: 'ui-legend--vertical',
|
|
@@ -457,7 +467,6 @@ export const cls = Object.freeze({
|
|
|
457
467
|
crosshairLineX: 'ui-crosshair__line--x',
|
|
458
468
|
crosshairLineY: 'ui-crosshair__line--y',
|
|
459
469
|
crosshairBadge: 'ui-crosshair__badge',
|
|
460
|
-
readout: 'ui-readout',
|
|
461
470
|
// selection-state vocabulary (cross-cutting — css/selection.css)
|
|
462
471
|
sel: 'ui-sel',
|
|
463
472
|
selOn: 'ui-sel--on',
|
|
@@ -483,6 +492,22 @@ export const cls = Object.freeze({
|
|
|
483
492
|
srcReviewed: 'ui-src--reviewed',
|
|
484
493
|
srcStale: 'ui-src--stale',
|
|
485
494
|
srcConflict: 'ui-src--conflict',
|
|
495
|
+
// interval — low/high uncertainty span (css/interval.css)
|
|
496
|
+
interval: 'ui-interval',
|
|
497
|
+
intervalTrack: 'ui-interval__track',
|
|
498
|
+
intervalRange: 'ui-interval__range',
|
|
499
|
+
intervalPoint: 'ui-interval__point',
|
|
500
|
+
intervalLabel: 'ui-interval__label',
|
|
501
|
+
intervalBounds: 'ui-interval__bounds',
|
|
502
|
+
// clamp — bounded excerpt + reveal (css/clamp.css)
|
|
503
|
+
clamp: 'ui-clamp',
|
|
504
|
+
clampBody: 'ui-clamp__body',
|
|
505
|
+
clampToggle: 'ui-clamp__toggle',
|
|
506
|
+
clampControl: 'ui-clamp__control',
|
|
507
|
+
clampMore: 'ui-clamp__more',
|
|
508
|
+
clampLess: 'ui-clamp__less',
|
|
509
|
+
// highlights — CSS Custom Highlight API paint host (css/highlights.css)
|
|
510
|
+
highlights: 'ui-highlights',
|
|
486
511
|
// diff — line/row change-review grammar (css/diff.css)
|
|
487
512
|
diff: 'ui-diff',
|
|
488
513
|
diffSplit: 'ui-diff--split',
|
|
@@ -558,6 +583,20 @@ export const cls = Object.freeze({
|
|
|
558
583
|
stateReviewed: 'ui-state--reviewed',
|
|
559
584
|
stateNeedsReview: 'ui-state--needs-review',
|
|
560
585
|
syncbar: 'ui-syncbar',
|
|
586
|
+
job: 'ui-job',
|
|
587
|
+
jobHead: 'ui-job__head',
|
|
588
|
+
jobTitle: 'ui-job__title',
|
|
589
|
+
jobMeta: 'ui-job__meta',
|
|
590
|
+
jobBody: 'ui-job__body',
|
|
591
|
+
jobProgress: 'ui-job__progress',
|
|
592
|
+
jobBar: 'ui-job__bar',
|
|
593
|
+
jobActions: 'ui-job__actions',
|
|
594
|
+
jobCompact: 'ui-job--compact',
|
|
595
|
+
jobQueued: 'ui-job--queued',
|
|
596
|
+
jobRunning: 'ui-job--running',
|
|
597
|
+
jobBlocked: 'ui-job--blocked',
|
|
598
|
+
jobFailed: 'ui-job--failed',
|
|
599
|
+
jobComplete: 'ui-job--complete',
|
|
561
600
|
// generated content / AI-trust surfaces (css/generated.css)
|
|
562
601
|
generated: 'ui-generated',
|
|
563
602
|
generatedLabel: 'ui-generated__label',
|
|
@@ -570,7 +609,7 @@ export const cls = Object.freeze({
|
|
|
570
609
|
toolCallName: 'ui-tool-call__name',
|
|
571
610
|
toolCallStatus: 'ui-tool-call__status',
|
|
572
611
|
toolCallBody: 'ui-tool-call__body',
|
|
573
|
-
// workbench — inspector / property / selection bar (css/workbench.css)
|
|
612
|
+
// workbench — inspector / property / selection bar / splitter (css/workbench.css)
|
|
574
613
|
inspector: 'ui-inspector',
|
|
575
614
|
inspectorHead: 'ui-inspector__head',
|
|
576
615
|
inspectorBody: 'ui-inspector__body',
|
|
@@ -580,6 +619,11 @@ export const cls = Object.freeze({
|
|
|
580
619
|
selectionbar: 'ui-selectionbar',
|
|
581
620
|
selectionbarCount: 'ui-selectionbar__count',
|
|
582
621
|
selectionbarActions: 'ui-selectionbar__actions',
|
|
622
|
+
splitter: 'ui-splitter',
|
|
623
|
+
splitterVertical: 'ui-splitter--vertical',
|
|
624
|
+
splitterHorizontal: 'ui-splitter--horizontal',
|
|
625
|
+
splitterPane: 'ui-splitter__pane',
|
|
626
|
+
splitterHandle: 'ui-splitter__handle',
|
|
583
627
|
// command palette shell (css/command.css + initCommand)
|
|
584
628
|
command: 'ui-command',
|
|
585
629
|
commandInput: 'ui-command__input',
|
|
@@ -673,6 +717,15 @@ const stateTone = (state) =>
|
|
|
673
717
|
'needs-review': cls.stateNeedsReview,
|
|
674
718
|
})[state] || '';
|
|
675
719
|
|
|
720
|
+
const jobTone = (state) =>
|
|
721
|
+
({
|
|
722
|
+
queued: cls.jobQueued,
|
|
723
|
+
running: cls.jobRunning,
|
|
724
|
+
blocked: cls.jobBlocked,
|
|
725
|
+
failed: cls.jobFailed,
|
|
726
|
+
complete: cls.jobComplete,
|
|
727
|
+
})[state] || '';
|
|
728
|
+
|
|
676
729
|
// Trust-state → tone class, shared by the source/citation/provenance recipes.
|
|
677
730
|
// Object-literal lookup to match stateTone above (shorter, greppable, one idiom).
|
|
678
731
|
const srcTone = (state) =>
|
|
@@ -987,6 +1040,7 @@ export const ui = {
|
|
|
987
1040
|
tone === 'neg' && cls.bulletMeasureNeg,
|
|
988
1041
|
),
|
|
989
1042
|
state: ({ state, busy } = {}) => j(cls.state, stateTone(state), busy && cls.stateBusy),
|
|
1043
|
+
job: ({ state, compact } = {}) => j(cls.job, jobTone(state), compact && cls.jobCompact),
|
|
990
1044
|
originLabel: ({ ai } = {}) => j(cls.originLabel, ai && cls.originLabelAi),
|
|
991
1045
|
};
|
|
992
1046
|
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
},
|
|
40
40
|
{
|
|
41
41
|
"name": "--accent-strong",
|
|
42
|
-
"description": "Theme token. Light: `color-mix(in srgb, var(--accent) 83%, #000)` · Dark: `color-mix(in srgb, var(--accent)
|
|
42
|
+
"description": "Theme token. Light: `color-mix(in srgb, var(--accent) 83%, #000)` · Dark: `color-mix(in srgb, var(--accent) 80%, #fff)`"
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
45
|
"name": "--accent-text",
|
package/connectors/index.d.ts
CHANGED
|
@@ -1,9 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Resolve a numeric option with an optional fallback.
|
|
3
|
+
* @param {string} name
|
|
4
|
+
* @param {number | null | undefined} value
|
|
5
|
+
* @param {number | null | undefined} [fallback]
|
|
6
|
+
* @returns {number}
|
|
7
|
+
*/
|
|
8
|
+
export function finite(name: string, value: number | null | undefined, fallback?: number | null | undefined): number;
|
|
9
|
+
/**
|
|
10
|
+
* Resolve a non-negative numeric option with an optional fallback.
|
|
11
|
+
* @param {string} name
|
|
12
|
+
* @param {number | null | undefined} value
|
|
13
|
+
* @param {number | null | undefined} [fallback]
|
|
14
|
+
* @returns {number}
|
|
15
|
+
*/
|
|
16
|
+
export function dimension(name: string, value: number | null | undefined, fallback?: number | null | undefined): number;
|
|
17
|
+
/**
|
|
18
|
+
* @param {number} value
|
|
19
|
+
* @returns {number}
|
|
20
|
+
*/
|
|
21
|
+
export function roundNumber(value: number): number;
|
|
22
|
+
/**
|
|
23
|
+
* @param {number} value
|
|
24
|
+
* @returns {string}
|
|
25
|
+
*/
|
|
26
|
+
export function fmt(value: number): string;
|
|
27
|
+
/**
|
|
28
|
+
* @param {number} x
|
|
29
|
+
* @param {number} y
|
|
30
|
+
* @returns {string}
|
|
31
|
+
*/
|
|
32
|
+
export function point(x: number, y: number): string;
|
|
33
|
+
/**
|
|
34
|
+
* @param {number} value
|
|
35
|
+
* @param {number} min
|
|
36
|
+
* @param {number} max
|
|
37
|
+
* @returns {number}
|
|
38
|
+
*/
|
|
39
|
+
export function clamp(value: number, min: number, max: number): number;
|
|
7
40
|
/**
|
|
8
41
|
* A point on a rect's edge (or centre). `rect` is `{ x, y, width, height }`.
|
|
9
42
|
* @param {Rect} rect
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"AAkDA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":"AAkDA;;;;;;GAMG;AACH,6BALW,MAAM,SACN,MAAM,GAAG,IAAI,GAAG,SAAS,aACzB,MAAM,GAAG,IAAI,GAAG,SAAS,GACvB,MAAM,CAMlB;AAED;;;;;;GAMG;AACH,gCALW,MAAM,SACN,MAAM,GAAG,IAAI,GAAG,SAAS,aACzB,MAAM,GAAG,IAAI,GAAG,SAAS,GACvB,MAAM,CAMlB;AAKD;;;GAGG;AACH,mCAHW,MAAM,GACJ,MAAM,CAKlB;AAED;;;GAGG;AACH,2BAHW,MAAM,GACJ,MAAM,CAIlB;AAED;;;;GAIG;AACH,yBAJW,MAAM,KACN,MAAM,GACJ,MAAM,CAIlB;AAID;;;;;GAKG;AACH,6BALW,MAAM,OACN,MAAM,OACN,MAAM,GACJ,MAAM,CAKlB;AAqBD;;;;;GAKG;AACH,kCAJW,IAAI,SACJ,IAAI,GACF,KAAK,CAoBjB;AAED;;;;;GAKG;AACH,mCAJW,KAAK,MACL,KAAK,GACH,MAAM,CAOlB;AAED;;;;;GAKG;AACH,mCAJW,KAAK,MACL,KAAK,GACH,MAAM,CAOlB;AAED;;;;;;GAMG;AACH,gCALW,KAAK,MACL,KAAK,SACL;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACd,MAAM,CAgBlB;AAED;;;;;;GAMG;AACH,gCALW,KAAK,MACL,KAAK,SACL;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACpB,MAAM,CAclB;AAED;;;;GAIG;AACH,qCAHW,oBAAoB,GAClB,MAAM,CAQlB;AAED;;;;;;;;GAQG;AACH,6BAPW,KAAK,SACL,MAAM,SACN,MAAM,WACN,MAAM,GAEJ,MAAM,CAalB;AAED;;;;;GAKG;AACH,2BAJW,KAAK,WACL,MAAM,GACJ,MAAM,CAUlB;AAED;;;;;;;;;GASG;AACH,+BANW,MAAM,OACN,MAAM,SACN,MAAM,UACN,MAAM,GACJ,MAAM,CAIlB;AAED;;;;;GAKG;AACH,oCAJW,IAAI,UACJ,IAAI,GACF;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,IAAI,CAAA;CAAE,CAWpC;AAED;;;;;;;;GAQG;AACH,sCALW,KAAK,MACL,KAAK,UACL,cAAc,GACZ,MAAM,CASlB;AAED;;;;;;GAMG;AACH,oCAHW,mBAAmB,GACjB,kBAAkB,CAe9B;AAjWD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAMH,wBAAyB,IAAI,CAAC;oBAhCjB;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE;mBACxB;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;mBACvD,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ;6BAC9C,UAAU,GAAG,OAAO,GAAG,OAAO;;UAG7B,KAAK;QACL,KAAK;;;;;;;;;;;;cAML,IAAI;YACJ,IAAI;;;;;;;;;;;;;;OAQJ,MAAM;UACN,KAAK;QACL,KAAK;;;;WACL,MAAM"}
|