@adia-ai/web-components 0.6.21 → 0.6.22
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 +58 -0
- package/components/accordion/accordion-item.a2ui.json +20 -3
- package/components/accordion/accordion-item.yaml +24 -0
- package/components/accordion/accordion.a2ui.json +1 -1
- package/components/accordion/accordion.d.ts +8 -1
- package/components/accordion/accordion.yaml +15 -2
- package/components/action-list/action-item.a2ui.json +19 -3
- package/components/action-list/action-item.yaml +24 -0
- package/components/action-list/action-list.a2ui.json +12 -2
- package/components/action-list/action-list.yaml +13 -3
- package/components/agent-artifact/agent-artifact.a2ui.json +9 -2
- package/components/agent-artifact/agent-artifact.d.ts +1 -1
- package/components/agent-artifact/agent-artifact.yaml +17 -3
- package/components/agent-feedback-bar/agent-feedback-bar.a2ui.json +9 -2
- package/components/agent-feedback-bar/agent-feedback-bar.d.ts +8 -1
- package/components/agent-feedback-bar/agent-feedback-bar.yaml +19 -3
- package/components/agent-questions/agent-questions.a2ui.json +8 -2
- package/components/agent-questions/agent-questions.d.ts +8 -1
- package/components/agent-questions/agent-questions.yaml +19 -3
- package/components/agent-reasoning/agent-reasoning.yaml +9 -1
- package/components/agent-suggestions/agent-suggestions.a2ui.json +9 -2
- package/components/agent-suggestions/agent-suggestions.d.ts +7 -1
- package/components/agent-suggestions/agent-suggestions.yaml +18 -3
- package/components/agent-trace/agent-trace.a2ui.json +9 -2
- package/components/agent-trace/agent-trace.d.ts +1 -1
- package/components/agent-trace/agent-trace.yaml +16 -3
- package/components/alert/alert.a2ui.json +1 -1
- package/components/alert/alert.css +8 -0
- package/components/alert/alert.d.ts +9 -1
- package/components/alert/alert.yaml +16 -2
- package/components/aside/aside.a2ui.json +7 -1
- package/components/aside/aside.yaml +33 -2
- package/components/avatar/avatar-group.a2ui.json +20 -3
- package/components/avatar/avatar-group.yaml +24 -0
- package/components/avatar/avatar.a2ui.json +1 -1
- package/components/avatar/avatar.d.ts +7 -1
- package/components/avatar/avatar.yaml +14 -2
- package/components/badge/badge.a2ui.json +1 -1
- package/components/badge/badge.d.ts +7 -1
- package/components/badge/badge.yaml +14 -2
- package/components/block/block.a2ui.json +9 -4
- package/components/block/block.d.ts +9 -3
- package/components/block/block.yaml +25 -5
- package/components/block/class.js +23 -0
- package/components/breadcrumb/breadcrumb.a2ui.json +5 -1
- package/components/breadcrumb/breadcrumb.yaml +33 -2
- package/components/button/button.a2ui.json +22 -2
- package/components/button/button.yaml +21 -3
- package/components/calendar-picker/calendar-picker.a2ui.json +1 -1
- package/components/calendar-picker/calendar-picker.yaml +13 -2
- package/components/canvas/canvas.a2ui.json +6 -2
- package/components/canvas/canvas.yaml +20 -3
- package/components/card/card.css +23 -2
- package/components/card/card.yaml +12 -0
- package/components/chart/chart.css +4 -2
- package/components/chart/chart.yaml +9 -1
- package/components/chart-legend/chart-legend.yaml +7 -1
- package/components/chat-thread/chat-thread.a2ui.json +6 -2
- package/components/chat-thread/chat-thread.d.ts +8 -1
- package/components/chat-thread/chat-thread.yaml +21 -3
- package/components/check/check.a2ui.json +13 -3
- package/components/check/check.yaml +18 -3
- package/components/code/code.a2ui.json +1 -1
- package/components/code/code.yaml +13 -2
- package/components/col/class.js +39 -0
- package/components/col/col.a2ui.json +12 -5
- package/components/col/col.d.ts +12 -4
- package/components/col/col.yaml +27 -7
- package/components/color-input/color-input.yaml +27 -1
- package/components/color-picker/color-picker.a2ui.json +8 -2
- package/components/color-picker/color-picker.yaml +15 -3
- package/components/command/command.a2ui.json +7 -2
- package/components/command/command.d.ts +9 -1
- package/components/command/command.yaml +39 -3
- package/components/demo-toggle/demo-toggle.yaml +7 -1
- package/components/description-list/description-list.a2ui.json +5 -1
- package/components/description-list/description-list.yaml +11 -2
- package/components/divider/divider.a2ui.json +1 -1
- package/components/divider/divider.d.ts +8 -1
- package/components/divider/divider.yaml +15 -2
- package/components/drawer/drawer.yaml +32 -1
- package/components/embed/embed.a2ui.json +1 -1
- package/components/embed/embed.d.ts +8 -1
- package/components/embed/embed.yaml +17 -2
- package/components/empty-state/empty-state.a2ui.json +19 -2
- package/components/empty-state/empty-state.css +14 -0
- package/components/empty-state/empty-state.d.ts +3 -1
- package/components/empty-state/empty-state.yaml +50 -3
- package/components/feed/feed-item.a2ui.json +21 -3
- package/components/feed/feed-item.yaml +25 -0
- package/components/feed/feed.a2ui.json +23 -3
- package/components/feed/feed.yaml +26 -0
- package/components/fields/fields.yaml +7 -1
- package/components/footer/footer.a2ui.json +7 -1
- package/components/footer/footer.yaml +27 -2
- package/components/grid/class.js +57 -0
- package/components/grid/grid.a2ui.json +3 -3
- package/components/grid/grid.d.ts +3 -3
- package/components/grid/grid.yaml +22 -8
- package/components/header/header.a2ui.json +8 -1
- package/components/header/header.yaml +30 -2
- package/components/heatmap/heatmap.yaml +7 -1
- package/components/icon/icon.a2ui.json +9 -2
- package/components/icon/icon.d.ts +1 -1
- package/components/icon/icon.yaml +32 -3
- package/components/image/image.yaml +7 -1
- package/components/input/input.yaml +29 -1
- package/components/inspector/inspector.a2ui.json +7 -2
- package/components/inspector/inspector.d.ts +9 -1
- package/components/inspector/inspector.yaml +23 -3
- package/components/kbd/kbd.a2ui.json +1 -1
- package/components/kbd/kbd.d.ts +1 -1
- package/components/kbd/kbd.yaml +11 -2
- package/components/list/list-item.a2ui.json +21 -3
- package/components/list/list-item.yaml +25 -0
- package/components/list/list.a2ui.json +7 -2
- package/components/list/list.d.ts +9 -1
- package/components/list/list.yaml +21 -3
- package/components/menu/menu-divider.a2ui.json +17 -3
- package/components/menu/menu-divider.yaml +35 -0
- package/components/menu/menu-item.a2ui.json +19 -3
- package/components/menu/menu-item.yaml +42 -0
- package/components/menu/menu.a2ui.json +7 -1
- package/components/menu/menu.yaml +33 -2
- package/components/modal/modal.a2ui.json +7 -2
- package/components/modal/modal.d.ts +10 -1
- package/components/modal/modal.yaml +48 -3
- package/components/nav/nav.a2ui.json +16 -2
- package/components/nav/nav.yaml +40 -3
- package/components/nav-group/nav-group.a2ui.json +12 -2
- package/components/nav-group/nav-group.yaml +37 -3
- package/components/nav-item/nav-item.a2ui.json +13 -2
- package/components/nav-item/nav-item.yaml +40 -3
- package/components/noodles/noodles.a2ui.json +12 -2
- package/components/noodles/noodles.yaml +14 -3
- package/components/option-card/option-card.yaml +27 -1
- package/components/otp-input/otp-input.yaml +24 -1
- package/components/page/page.a2ui.json +7 -1
- package/components/page/page.yaml +9 -2
- package/components/pagination/pagination.a2ui.json +1 -1
- package/components/pagination/pagination.d.ts +1 -1
- package/components/pagination/pagination.yaml +13 -2
- package/components/pane/pane.a2ui.json +1 -1
- package/components/pane/pane.d.ts +7 -1
- package/components/pane/pane.yaml +33 -2
- package/components/pipeline-status/pipeline-status.a2ui.json +6 -2
- package/components/pipeline-status/pipeline-status.d.ts +1 -1
- package/components/pipeline-status/pipeline-status.yaml +18 -3
- package/components/popover/popover.yaml +30 -1
- package/components/progress/progress.a2ui.json +1 -1
- package/components/progress/progress.d.ts +1 -1
- package/components/progress/progress.yaml +13 -2
- package/components/progress-row/progress-row.a2ui.json +12 -2
- package/components/progress-row/progress-row.yaml +13 -3
- package/components/radio/radio.a2ui.json +1 -1
- package/components/radio/radio.yaml +9 -1
- package/components/range/range.yaml +7 -1
- package/components/rating/rating.a2ui.json +4 -1
- package/components/rating/rating.yaml +10 -2
- package/components/richtext/richtext.a2ui.json +6 -2
- package/components/richtext/richtext.d.ts +9 -1
- package/components/richtext/richtext.yaml +20 -3
- package/components/row/class.js +34 -0
- package/components/row/row.a2ui.json +11 -5
- package/components/row/row.d.ts +11 -4
- package/components/row/row.yaml +25 -7
- package/components/search/search.a2ui.json +5 -1
- package/components/search/search.yaml +11 -2
- package/components/section/section.a2ui.json +7 -1
- package/components/section/section.yaml +36 -2
- package/components/segment/segment.a2ui.json +8 -2
- package/components/segment/segment.d.ts +7 -1
- package/components/segment/segment.yaml +16 -3
- package/components/segmented/segmented.a2ui.json +6 -1
- package/components/segmented/segmented.css +5 -0
- package/components/segmented/segmented.yaml +12 -2
- package/components/select/select.a2ui.json +1 -1
- package/components/select/select.yaml +34 -2
- package/components/skeleton/skeleton.a2ui.json +7 -2
- package/components/skeleton/skeleton.d.ts +1 -1
- package/components/skeleton/skeleton.yaml +17 -3
- package/components/slider/slider.yaml +7 -1
- package/components/stack/stack.a2ui.json +14 -3
- package/components/stack/stack.d.ts +9 -1
- package/components/stack/stack.yaml +22 -4
- package/components/stat/stat.a2ui.json +6 -2
- package/components/stat/stat.css +5 -2
- package/components/stat/stat.d.ts +1 -1
- package/components/stat/stat.yaml +16 -3
- package/components/step-progress/step-progress.yaml +7 -1
- package/components/stepper/stepper-item.a2ui.json +20 -3
- package/components/stepper/stepper-item.yaml +24 -0
- package/components/stepper/stepper.a2ui.json +1 -1
- package/components/stepper/stepper.d.ts +1 -1
- package/components/stepper/stepper.yaml +13 -2
- package/components/stream/stream.a2ui.json +12 -2
- package/components/stream/stream.yaml +15 -3
- package/components/swatch/swatch.yaml +7 -1
- package/components/swiper/swiper.yaml +7 -1
- package/components/switch/switch.a2ui.json +6 -2
- package/components/switch/switch.yaml +16 -2
- package/components/table/cell-types.js +23 -10
- package/components/table/class.js +6 -2
- package/components/table/table.css +49 -1
- package/components/table/table.yaml +27 -1
- package/components/table-toolbar/table-toolbar.yaml +27 -1
- package/components/tabs/tab.a2ui.json +17 -3
- package/components/tabs/tab.yaml +39 -0
- package/components/tabs/tabs.a2ui.json +1 -1
- package/components/tabs/tabs.d.ts +1 -1
- package/components/tabs/tabs.yaml +36 -2
- package/components/tag/tag.a2ui.json +6 -2
- package/components/tag/tag.d.ts +9 -1
- package/components/tag/tag.yaml +38 -3
- package/components/text/class.js +13 -0
- package/components/text/text.a2ui.json +9 -2
- package/components/text/text.d.ts +1 -1
- package/components/text/text.yaml +12 -5
- package/components/textarea/textarea.a2ui.json +15 -3
- package/components/textarea/textarea.yaml +41 -4
- package/components/timeline/timeline-item.a2ui.json +20 -3
- package/components/timeline/timeline-item.yaml +24 -0
- package/components/timeline/timeline.a2ui.json +8 -1
- package/components/timeline/timeline.yaml +9 -2
- package/components/toast/toast.a2ui.json +6 -2
- package/components/toast/toast.yaml +19 -3
- package/components/toggle-group/toggle-group.a2ui.json +13 -3
- package/components/toggle-group/toggle-group.d.ts +1 -1
- package/components/toggle-group/toggle-group.yaml +19 -4
- package/components/toggle-group/toggle-option.a2ui.json +18 -3
- package/components/toggle-group/toggle-option.yaml +23 -0
- package/components/toggle-scheme/toggle-scheme.yaml +4 -0
- package/components/toolbar/toolbar-group.a2ui.json +18 -3
- package/components/toolbar/toolbar-group.yaml +23 -0
- package/components/toolbar/toolbar.yaml +7 -1
- package/components/tooltip/tooltip.yaml +24 -1
- package/components/tree/tree-item.a2ui.json +19 -3
- package/components/tree/tree-item.yaml +42 -0
- package/components/tree/tree.a2ui.json +6 -1
- package/components/tree/tree.yaml +31 -2
- package/components/upload/upload.yaml +7 -1
- package/core/index.js +1 -0
- package/core/responsive.d.ts +29 -0
- package/core/responsive.js +120 -0
- package/core/responsive.test.js +121 -0
- package/package.json +1 -1
- package/styles/tokens.css +6 -6
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { parseResponsive, BP_NAMES, BREAKPOINTS } from './responsive.js';
|
|
3
|
+
|
|
4
|
+
// ── parseResponsive ────────────────────────────────────────────────────────
|
|
5
|
+
|
|
6
|
+
describe('parseResponsive — scalar fast path', () => {
|
|
7
|
+
it('returns value unchanged when no @ present', () => {
|
|
8
|
+
expect(parseResponsive('3', 'md')).toBe('3');
|
|
9
|
+
expect(parseResponsive('auto-fill','lg')).toBe('auto-fill');
|
|
10
|
+
expect(parseResponsive('md', 'sm')).toBe('md');
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
it('returns null for null / undefined input', () => {
|
|
14
|
+
expect(parseResponsive(null, 'md')).toBeNull();
|
|
15
|
+
expect(parseResponsive(undefined, 'md')).toBeNull();
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('returns null for empty string', () => {
|
|
19
|
+
expect(parseResponsive('', 'md')).toBeNull();
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
describe('parseResponsive — mobile-first resolution', () => {
|
|
24
|
+
// "1 2@sm 4@lg" = 1 at xs, 2 from sm, 4 from lg
|
|
25
|
+
const val = '1 2@sm 4@lg';
|
|
26
|
+
|
|
27
|
+
it('base (xs) — no annotation matches, returns unannotated default', () => {
|
|
28
|
+
expect(parseResponsive(val, 'xs')).toBe('1');
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
it('sm — @sm matches exactly', () => {
|
|
32
|
+
expect(parseResponsive(val, 'sm')).toBe('2');
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
it('md — largest annotation ≤ md is @sm', () => {
|
|
36
|
+
expect(parseResponsive(val, 'md')).toBe('2');
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
it('lg — @lg matches exactly', () => {
|
|
40
|
+
expect(parseResponsive(val, 'lg')).toBe('4');
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
it('xl — largest annotation ≤ xl is @lg', () => {
|
|
44
|
+
expect(parseResponsive(val, 'xl')).toBe('4');
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
describe('parseResponsive — sparse annotations (two-point)', () => {
|
|
49
|
+
it('"4 1@sm": 4 at xs, 1 from sm upward', () => {
|
|
50
|
+
expect(parseResponsive('4 1@sm', 'xs')).toBe('4');
|
|
51
|
+
expect(parseResponsive('4 1@sm', 'sm')).toBe('1');
|
|
52
|
+
expect(parseResponsive('4 1@sm', 'md')).toBe('1');
|
|
53
|
+
expect(parseResponsive('4 1@sm', 'lg')).toBe('1');
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
it('"2@md": no default — returns null below md, 2 from md up', () => {
|
|
57
|
+
expect(parseResponsive('2@md', 'xs')).toBeNull();
|
|
58
|
+
expect(parseResponsive('2@md', 'sm')).toBeNull();
|
|
59
|
+
expect(parseResponsive('2@md', 'md')).toBe('2');
|
|
60
|
+
expect(parseResponsive('2@md', 'xl')).toBe('2');
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
it('"1 4@lg": only one override — md falls back to base', () => {
|
|
64
|
+
expect(parseResponsive('1 4@lg', 'xs')).toBe('1');
|
|
65
|
+
expect(parseResponsive('1 4@lg', 'md')).toBe('1');
|
|
66
|
+
expect(parseResponsive('1 4@lg', 'lg')).toBe('4');
|
|
67
|
+
expect(parseResponsive('1 4@lg', 'xl')).toBe('4');
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
describe('parseResponsive — order-independence', () => {
|
|
72
|
+
it('annotations in any order resolve identically', () => {
|
|
73
|
+
const a = '1 2@sm 4@lg';
|
|
74
|
+
const b = '4@lg 1 2@sm';
|
|
75
|
+
const c = '2@sm 4@lg 1';
|
|
76
|
+
for (const bp of BP_NAMES) {
|
|
77
|
+
const ref = parseResponsive(a, bp);
|
|
78
|
+
expect(parseResponsive(b, bp)).toBe(ref);
|
|
79
|
+
expect(parseResponsive(c, bp)).toBe(ref);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
describe('parseResponsive — edge cases', () => {
|
|
85
|
+
it('unknown bp annotation is silently skipped; default still returned', () => {
|
|
86
|
+
expect(parseResponsive('3 1@xxl', 'xl')).toBe('3');
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
it('single annotation with no default', () => {
|
|
90
|
+
expect(parseResponsive('2@sm', 'xs')).toBeNull();
|
|
91
|
+
expect(parseResponsive('2@sm', 'sm')).toBe('2');
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
it('all five breakpoints annotated — each resolves to its own value', () => {
|
|
95
|
+
const val = '0 1@xs 2@sm 3@md 4@lg 5@xl';
|
|
96
|
+
expect(parseResponsive(val, 'xs')).toBe('1');
|
|
97
|
+
expect(parseResponsive(val, 'sm')).toBe('2');
|
|
98
|
+
expect(parseResponsive(val, 'md')).toBe('3');
|
|
99
|
+
expect(parseResponsive(val, 'lg')).toBe('4');
|
|
100
|
+
expect(parseResponsive(val, 'xl')).toBe('5');
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
// ── BREAKPOINTS contract ───────────────────────────────────────────────────
|
|
105
|
+
|
|
106
|
+
describe('BREAKPOINTS / BP_NAMES exports', () => {
|
|
107
|
+
it('BP_NAMES is ordered narrowest → widest', () => {
|
|
108
|
+
expect(BP_NAMES).toEqual(['xs', 'sm', 'md', 'lg', 'xl']);
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
it('BREAKPOINTS values are strictly increasing', () => {
|
|
112
|
+
const vals = BP_NAMES.map((bp) => BREAKPOINTS[bp]);
|
|
113
|
+
for (let i = 1; i < vals.length; i++) {
|
|
114
|
+
expect(vals[i]).toBeGreaterThan(vals[i - 1]);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
it('xs starts at 0', () => {
|
|
119
|
+
expect(BREAKPOINTS.xs).toBe(0);
|
|
120
|
+
});
|
|
121
|
+
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adia-ai/web-components",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.22",
|
|
4
4
|
"description": "AdiaUI web components \u2014 vanilla custom elements. A2UI runtime (renderer, registry, streams, wiring) lives in @adia-ai/a2ui-runtime.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./index.d.ts",
|
package/styles/tokens.css
CHANGED
|
@@ -96,15 +96,15 @@
|
|
|
96
96
|
--a-radius: var(--a-radius-md);
|
|
97
97
|
|
|
98
98
|
/* ── Inset ── */
|
|
99
|
-
--a-inset-sm: var(--a-space-
|
|
100
|
-
--a-inset-md: var(--a-space-
|
|
101
|
-
--a-inset-lg: var(--a-space-
|
|
99
|
+
--a-inset-sm: var(--a-space-2);
|
|
100
|
+
--a-inset-md: var(--a-space-4);
|
|
101
|
+
--a-inset-lg: var(--a-space-6);
|
|
102
102
|
--a-inset: var(--a-inset-md);
|
|
103
103
|
|
|
104
104
|
/* ── Gaps ── */
|
|
105
|
-
--a-gap-sm: var(--a-space-
|
|
106
|
-
--a-gap-md: var(--a-space-
|
|
107
|
-
--a-gap-lg: var(--a-space-
|
|
105
|
+
--a-gap-sm: var(--a-space-2);
|
|
106
|
+
--a-gap-md: var(--a-space-3);
|
|
107
|
+
--a-gap-lg: var(--a-space-4);
|
|
108
108
|
--a-gap: var(--a-gap-md);
|
|
109
109
|
|
|
110
110
|
/* ── Sizing (component heights) ──
|