@adia-ai/web-components 0.8.19 → 0.8.21
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 +26 -0
- package/components/card/card.a2ui.json +6 -3
- package/components/card/card.css +15 -1
- package/components/card/card.yaml +5 -3
- package/components/nav-group/nav-group.a2ui.json +5 -0
- package/components/nav-group/nav-group.class.js +14 -6
- package/components/nav-group/nav-group.css +5 -2
- package/components/nav-group/nav-group.d.ts +2 -0
- package/components/nav-group/nav-group.yaml +4 -0
- package/components/select/select.a2ui.json +3 -2
- package/components/select/select.class.js +14 -1
- package/components/select/select.css +13 -1
- package/components/select/select.yaml +5 -4
- package/components/table/table.class.js +7 -3
- package/components/table/table.css +7 -5
- package/dist/theme-provider.min.js +1 -1
- package/dist/web-components.min.css +1 -1
- package/dist/web-components.min.js +19 -19
- package/dist/web-components.sheet.js +1 -1
- package/package.json +2 -1
- package/components/adia-mark/adia-mark.test.js +0 -69
- package/components/adia-wordmark/adia-wordmark.test.js +0 -69
- package/components/agent-artifact/agent-artifact.test.js +0 -61
- package/components/alert/alert.test.js +0 -364
- package/components/color-picker/color-picker.test.js +0 -96
- package/components/combobox/combobox.test.js +0 -256
- package/components/command/command.test.js +0 -99
- package/components/date-range-picker/date-range-picker.test.js +0 -387
- package/components/datetime-picker/datetime-picker.test.js +0 -454
- package/components/demo-toggle/demo-toggle.test.js +0 -102
- package/components/description-list/description-list.test.js +0 -72
- package/components/display-field/display-field.test.js +0 -115
- package/components/empty-state/empty-state.test.js +0 -77
- package/components/field/field.test.js +0 -260
- package/components/fields/fields.test.js +0 -88
- package/components/inline-message/inline-message.test.js +0 -203
- package/components/input/input.test.js +0 -335
- package/components/integration-card/integration-card.test.js +0 -318
- package/components/link/link.test.js +0 -143
- package/components/list/list.test.js +0 -106
- package/components/list-window/list-window.test.js +0 -303
- package/components/loading-overlay/loading-overlay.test.js +0 -257
- package/components/menu/menu.test.js +0 -176
- package/components/nav/nav.test.js +0 -428
- package/components/nav-group/nav-group.test.js +0 -67
- package/components/option-card/option-card.test.js +0 -32
- package/components/pagination/pagination.test.js +0 -195
- package/components/select/select.test.js +0 -481
- package/components/slider/slider.test.js +0 -202
- package/components/spinner/spinner.test.js +0 -272
- package/components/stat/stat.test.js +0 -108
- package/components/step-progress/step-progress.test.js +0 -129
- package/components/swatch/swatch.test.js +0 -563
- package/components/table/table.test.js +0 -479
- package/components/table-toolbar/table-toolbar.test.js +0 -152
- package/components/tag/tag.test.js +0 -137
- package/components/tags-input/tags-input.test.js +0 -477
- package/components/text/text.test.js +0 -202
- package/components/theme-provider/theme-provider.test.js +0 -94
- package/components/time-picker/time-picker.test.js +0 -287
- package/components/timeline/timeline.test.js +0 -31
- package/components/toggle-scheme/toggle-scheme.test.js +0 -110
- package/components/tree/tree.test.js +0 -312
- package/core/element.test.js +0 -389
- package/core/icons.test.js +0 -187
- package/core/logical-children.test.js +0 -54
- package/core/markdown.test.js +0 -47
- package/core/responsive.test.js +0 -121
- package/core/template.test.js +0 -611
- package/traits/active-state/active-state.test.js +0 -28
- package/traits/anchor-positioning/anchor-positioning.test.js +0 -122
- package/traits/announcer/announcer.test.js +0 -268
- package/traits/arrow-grid-nav/arrow-grid-nav.test.js +0 -375
- package/traits/attention-pulse/attention-pulse.test.js +0 -26
- package/traits/confetti/confetti.test.js +0 -46
- package/traits/confetti-burst/confetti-burst.test.js +0 -46
- package/traits/count-up/count-up.test.js +0 -54
- package/traits/declarative.test.js +0 -138
- package/traits/dirty-state/dirty-state.test.js +0 -45
- package/traits/drag-ghost/drag-ghost.test.js +0 -19
- package/traits/draggable/draggable.test.js +0 -60
- package/traits/draggable-list-item/draggable-list-item.test.js +0 -51
- package/traits/drop-target/drop-target.test.js +0 -241
- package/traits/droppable/droppable.test.js +0 -54
- package/traits/droppable-collection/droppable-collection.test.js +0 -99
- package/traits/error-shake/error-shake.test.js +0 -114
- package/traits/fade-presence/fade-presence.test.js +0 -20
- package/traits/focus-restore/focus-restore.test.js +0 -202
- package/traits/focus-trap/focus-trap.test.js +0 -42
- package/traits/focusable/focusable.test.js +0 -53
- package/traits/glow-focus/glow-focus.test.js +0 -31
- package/traits/gradient-shift/gradient-shift.test.js +0 -22
- package/traits/haptic-feedback/haptic-feedback.test.js +0 -52
- package/traits/hotkey/hotkey.test.js +0 -61
- package/traits/hoverable/hoverable.test.js +0 -24
- package/traits/inertia-drag/inertia-drag.test.js +0 -33
- package/traits/input-mask/input-mask.test.js +0 -151
- package/traits/intersection-observer/intersection-observer.test.js +0 -38
- package/traits/keyboard-nav/keyboard-nav.test.js +0 -41
- package/traits/keyboard-reorderable/keyboard-reorderable.test.js +0 -45
- package/traits/layout-animation/layout-animation.test.js +0 -114
- package/traits/long-press/long-press.test.js +0 -244
- package/traits/magnetic-hover/magnetic-hover.test.js +0 -30
- package/traits/noise-texture/noise-texture.test.js +0 -20
- package/traits/parallax/parallax.test.js +0 -26
- package/traits/portal/portal.test.js +0 -30
- package/traits/pressable/pressable.test.js +0 -73
- package/traits/resettable/resettable.test.js +0 -100
- package/traits/resizable/resizable.test.js +0 -39
- package/traits/resize-observer/resize-observer.test.js +0 -38
- package/traits/ripple/ripple.test.js +0 -32
- package/traits/roving-tabindex/roving-tabindex.test.js +0 -28
- package/traits/scale-press/scale-press.test.js +0 -39
- package/traits/scroll-lock/scroll-lock.test.js +0 -45
- package/traits/scroll-progress/scroll-progress.test.js +0 -182
- package/traits/shimmer-loading/shimmer-loading.test.js +0 -43
- package/traits/smoke.test.js +0 -111
- package/traits/snap-to-grid/snap-to-grid.test.js +0 -40
- package/traits/sound-feedback/sound-feedback.test.js +0 -26
- package/traits/spring-animate/spring-animate.test.js +0 -28
- package/traits/success-checkmark/success-checkmark.test.js +0 -120
- package/traits/tilt-hover/tilt-hover.test.js +0 -32
- package/traits/tossable/tossable.test.js +0 -31
- package/traits/traits-host.test.js +0 -73
- package/traits/typeahead/typeahead.test.js +0 -38
- package/traits/typewriter/typewriter.test.js +0 -47
- package/traits/validation/validation.test.js +0 -93
- package/traits/view-transition/view-transition.test.js +0 -268
package/core/responsive.test.js
DELETED
|
@@ -1,121 +0,0 @@
|
|
|
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
|
-
});
|