@adia-ai/web-components 0.0.1 → 0.0.2
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/components/agent-reasoning/agent-reasoning.a2ui.json +14 -8
- package/components/agent-reasoning/agent-reasoning.css +1 -1
- package/components/agent-reasoning/agent-reasoning.js +8 -8
- package/components/agent-reasoning/agent-reasoning.yaml +9 -6
- package/components/avatar/avatar.a2ui.json +0 -10
- package/components/avatar/avatar.css +1 -1
- package/components/avatar/avatar.yaml +0 -8
- package/components/badge/badge.a2ui.json +6 -6
- package/components/badge/badge.js +21 -0
- package/components/badge/badge.yaml +8 -5
- package/components/button/button.a2ui.json +0 -11
- package/components/button/button.css +1 -1
- package/components/button/button.js +1 -1
- package/components/button/button.yaml +0 -11
- package/components/calendar-picker/calendar-picker.js +23 -17
- package/components/canvas/canvas.js +1 -1
- package/components/card/card.a2ui.json +0 -21
- package/components/card/card.yaml +0 -14
- package/components/chart/chart.a2ui.json +9 -8
- package/components/chart/chart.yaml +7 -5
- package/components/check/check.css +1 -1
- package/components/code/code.a2ui.json +0 -5
- package/components/code/code.yaml +0 -4
- package/components/col/col.a2ui.json +0 -20
- package/components/col/col.yaml +0 -20
- package/components/color-picker/color-picker.a2ui.json +1 -1
- package/components/color-picker/color-picker.js +4 -1
- package/components/color-picker/color-picker.yaml +1 -1
- package/components/command/command.js +21 -10
- package/components/divider/divider.a2ui.json +0 -19
- package/components/divider/divider.yaml +0 -12
- package/components/drawer/drawer.a2ui.json +2 -2
- package/components/drawer/drawer.css +1 -1
- package/components/drawer/drawer.js +1 -1
- package/components/drawer/drawer.yaml +3 -3
- package/components/empty-state/empty-state.a2ui.json +0 -13
- package/components/empty-state/empty-state.yaml +0 -5
- package/components/footer/footer.a2ui.json +1 -1
- package/components/footer/footer.yaml +1 -1
- package/components/grid/grid.a2ui.json +0 -5
- package/components/grid/grid.yaml +0 -4
- package/components/header/header.a2ui.json +1 -1
- package/components/header/header.yaml +1 -1
- package/components/heatmap/heatmap.a2ui.json +4 -4
- package/components/heatmap/heatmap.js +3 -3
- package/components/heatmap/heatmap.yaml +4 -4
- package/components/icon/icon.a2ui.json +13 -0
- package/components/icon/icon.yaml +6 -0
- package/components/image/image.a2ui.json +10 -21
- package/components/image/image.yaml +8 -16
- package/components/input/input.a2ui.json +0 -15
- package/components/input/input.yaml +0 -12
- package/components/inspector/inspector.a2ui.json +0 -5
- package/components/inspector/inspector.yaml +0 -4
- package/components/list/list.a2ui.json +0 -33
- package/components/list/list.yaml +0 -27
- package/components/menu/menu.a2ui.json +0 -10
- package/components/menu/menu.js +7 -1
- package/components/menu/menu.yaml +0 -8
- package/components/modal/modal.a2ui.json +1 -25
- package/components/modal/modal.yaml +1 -22
- package/components/noodles/noodles.a2ui.json +0 -5
- package/components/noodles/noodles.yaml +0 -5
- package/components/otp-input/otp-input.a2ui.json +0 -5
- package/components/otp-input/otp-input.yaml +0 -4
- package/components/pagination/pagination.a2ui.json +3 -13
- package/components/pagination/pagination.css +1 -1
- package/components/pagination/pagination.yaml +5 -14
- package/components/pane/pane.a2ui.json +0 -10
- package/components/pane/pane.yaml +0 -9
- package/components/popover/popover.a2ui.json +0 -14
- package/components/popover/popover.js +7 -1
- package/components/popover/popover.yaml +0 -11
- package/components/progress/progress.a2ui.json +2 -12
- package/components/progress/progress.yaml +2 -11
- package/components/progress-row/progress-row.a2ui.json +3 -13
- package/components/progress-row/progress-row.yaml +3 -11
- package/components/radio/radio.css +1 -1
- package/components/row/row.a2ui.json +0 -5
- package/components/row/row.yaml +0 -4
- package/components/search/search.a2ui.json +0 -5
- package/components/search/search.yaml +0 -4
- package/components/section/section.a2ui.json +1 -1
- package/components/section/section.yaml +1 -1
- package/components/segmented/segmented.css +1 -1
- package/components/select/select.a2ui.json +5 -0
- package/components/select/select.js +11 -1
- package/components/select/select.yaml +5 -0
- package/components/skeleton/skeleton.a2ui.json +0 -11
- package/components/skeleton/skeleton.yaml +0 -5
- package/components/slider/slider.a2ui.json +0 -5
- package/components/slider/slider.yaml +0 -5
- package/components/swiper/swiper.a2ui.json +7 -7
- package/components/swiper/swiper.js +1 -1
- package/components/swiper/swiper.yaml +8 -6
- package/components/switch/switch.css +1 -1
- package/components/tag/tag.a2ui.json +0 -5
- package/components/tag/tag.yaml +0 -4
- package/components/text/text.a2ui.json +5 -0
- package/components/text/text.css +2 -2
- package/components/text/text.yaml +5 -0
- package/components/timeline/timeline.a2ui.json +8 -13
- package/components/timeline/timeline.yaml +6 -11
- package/components/toast/toast.a2ui.json +0 -15
- package/components/toast/toast.yaml +0 -13
- package/components/toolbar/toolbar.a2ui.json +0 -23
- package/components/toolbar/toolbar.js +11 -1
- package/components/toolbar/toolbar.yaml +0 -19
- package/components/tooltip/tooltip.a2ui.json +0 -10
- package/components/tooltip/tooltip.yaml +0 -8
- package/package.json +1 -1
- package/patterns/adia-chat/css/adia-chat.streaming.css +2 -2
- package/patterns/gen-ui/gen-ui.css +3 -3
|
@@ -31,11 +31,6 @@
|
|
|
31
31
|
"type": "boolean",
|
|
32
32
|
"default": false
|
|
33
33
|
},
|
|
34
|
-
"icon": {
|
|
35
|
-
"description": "Leading icon name. Defaults to search (magnifying glass).",
|
|
36
|
-
"type": "string",
|
|
37
|
-
"default": "search"
|
|
38
|
-
},
|
|
39
34
|
"name": {
|
|
40
35
|
"description": "Form field name",
|
|
41
36
|
"type": "string",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
/* ── Colors ── */
|
|
12
12
|
--segmented-bg: var(--a-ui-bg);
|
|
13
13
|
--segmented-border: transparent;
|
|
14
|
-
--segmented-indicator-bg:
|
|
14
|
+
--segmented-indicator-bg: var(--a-chrome-light);
|
|
15
15
|
--segmented-indicator-shadow: var(--a-shadow-sm);
|
|
16
16
|
--segmented-indicator-radius: calc(var(--segmented-radius) - var(--segmented-inset));
|
|
17
17
|
|
|
@@ -31,6 +31,11 @@
|
|
|
31
31
|
"type": "boolean",
|
|
32
32
|
"default": false
|
|
33
33
|
},
|
|
34
|
+
"divider": {
|
|
35
|
+
"description": "Reserved attribute on a select option that renders as a visual divider instead of a selectable row.",
|
|
36
|
+
"type": "boolean",
|
|
37
|
+
"default": false
|
|
38
|
+
},
|
|
34
39
|
"error": {
|
|
35
40
|
"description": "Validation error message",
|
|
36
41
|
"type": "string",
|
|
@@ -26,6 +26,7 @@ class AdiaSelect extends AdiaFormElement {
|
|
|
26
26
|
#anchorCleanup = null;
|
|
27
27
|
#query = '';
|
|
28
28
|
#searchInput = null;
|
|
29
|
+
#rafId = null;
|
|
29
30
|
|
|
30
31
|
#onSearchFocus = () => { if (!this.disabled) this.open = true; };
|
|
31
32
|
#onSearchClick = (e) => { e.stopPropagation(); if (!this.disabled) this.open = true; };
|
|
@@ -147,13 +148,18 @@ class AdiaSelect extends AdiaFormElement {
|
|
|
147
148
|
placement: this.getAttribute('placement') || 'bottom-start', gap: 4, matchWidth: false,
|
|
148
149
|
});
|
|
149
150
|
// Dismiss on outside click (next frame so current click doesn't trigger it)
|
|
150
|
-
requestAnimationFrame(() => {
|
|
151
|
+
this.#rafId = requestAnimationFrame(() => {
|
|
152
|
+
this.#rafId = null;
|
|
151
153
|
document.addEventListener('pointerdown', this.#onOutside, { once: true });
|
|
152
154
|
});
|
|
153
155
|
} else {
|
|
154
156
|
this.#anchorCleanup?.();
|
|
155
157
|
this.#anchorCleanup = null;
|
|
156
158
|
this.#listbox?.hidePopover?.();
|
|
159
|
+
if (this.#rafId != null) {
|
|
160
|
+
cancelAnimationFrame(this.#rafId);
|
|
161
|
+
this.#rafId = null;
|
|
162
|
+
}
|
|
157
163
|
document.removeEventListener('pointerdown', this.#onOutside);
|
|
158
164
|
}
|
|
159
165
|
}
|
|
@@ -370,6 +376,10 @@ class AdiaSelect extends AdiaFormElement {
|
|
|
370
376
|
super.disconnected();
|
|
371
377
|
this.removeEventListener('click', this.#onClick);
|
|
372
378
|
this.removeEventListener('keydown', this.#onKey);
|
|
379
|
+
if (this.#rafId != null) {
|
|
380
|
+
cancelAnimationFrame(this.#rafId);
|
|
381
|
+
this.#rafId = null;
|
|
382
|
+
}
|
|
373
383
|
document.removeEventListener('pointerdown', this.#onOutside);
|
|
374
384
|
if (this.#searchInput) {
|
|
375
385
|
this.#searchInput.removeEventListener('input', this.#onSearchInput);
|
|
@@ -31,6 +31,11 @@ props:
|
|
|
31
31
|
type: boolean
|
|
32
32
|
default: false
|
|
33
33
|
reflect: true
|
|
34
|
+
divider:
|
|
35
|
+
description: Reserved attribute on a select option that renders as a visual divider instead of a selectable row.
|
|
36
|
+
type: boolean
|
|
37
|
+
default: false
|
|
38
|
+
reflect: true
|
|
34
39
|
error:
|
|
35
40
|
description: Validation error message
|
|
36
41
|
type: string
|
|
@@ -38,17 +38,6 @@
|
|
|
38
38
|
"type": "boolean",
|
|
39
39
|
"default": false
|
|
40
40
|
},
|
|
41
|
-
"variant": {
|
|
42
|
-
"description": "Visual preset — text-line, circle (avatar), rect (card), image (aspect box).",
|
|
43
|
-
"type": "string",
|
|
44
|
-
"enum": [
|
|
45
|
-
"text",
|
|
46
|
-
"circle",
|
|
47
|
-
"rect",
|
|
48
|
-
"image"
|
|
49
|
-
],
|
|
50
|
-
"default": "rect"
|
|
51
|
-
},
|
|
52
41
|
"width": {
|
|
53
42
|
"description": "Width of the placeholder.",
|
|
54
43
|
"type": "string",
|
|
@@ -26,11 +26,6 @@ props:
|
|
|
26
26
|
description: When true, suppress the shimmer animation.
|
|
27
27
|
type: boolean
|
|
28
28
|
default: false
|
|
29
|
-
variant:
|
|
30
|
-
description: Visual preset — text-line, circle (avatar), rect (card), image (aspect box).
|
|
31
|
-
type: string
|
|
32
|
-
default: rect
|
|
33
|
-
enum: [text, circle, rect, image]
|
|
34
29
|
width:
|
|
35
30
|
description: Width of the placeholder.
|
|
36
31
|
type: string
|
|
@@ -51,11 +51,6 @@
|
|
|
51
51
|
"type": "string",
|
|
52
52
|
"default": ""
|
|
53
53
|
},
|
|
54
|
-
"showValue": {
|
|
55
|
-
"description": "Displays current value below the slider",
|
|
56
|
-
"type": "boolean",
|
|
57
|
-
"default": false
|
|
58
|
-
},
|
|
59
54
|
"step": {
|
|
60
55
|
"description": "Step increment between values",
|
|
61
56
|
"type": "number",
|
|
@@ -39,11 +39,6 @@ props:
|
|
|
39
39
|
description: Minimum slider value
|
|
40
40
|
type: number
|
|
41
41
|
default: 0
|
|
42
|
-
showValue:
|
|
43
|
-
description: Displays current value below the slider
|
|
44
|
-
type: boolean
|
|
45
|
-
default: false
|
|
46
|
-
attribute: show-value
|
|
47
42
|
step:
|
|
48
43
|
description: Step increment between values
|
|
49
44
|
type: number
|
|
@@ -36,20 +36,20 @@
|
|
|
36
36
|
"type": "boolean",
|
|
37
37
|
"default": false
|
|
38
38
|
},
|
|
39
|
+
"noPauseOnHover": {
|
|
40
|
+
"description": "Suppress the default pause-on-hover/focus behavior for autoplay.",
|
|
41
|
+
"type": "boolean",
|
|
42
|
+
"default": false
|
|
43
|
+
},
|
|
39
44
|
"peek": {
|
|
40
45
|
"description": "Show peek of adjacent slides",
|
|
41
46
|
"type": "boolean",
|
|
42
47
|
"default": false
|
|
43
48
|
},
|
|
44
|
-
"slides-per-view": {
|
|
45
|
-
"description": "Number of visible slides",
|
|
46
|
-
"type": "string",
|
|
47
|
-
"default": ""
|
|
48
|
-
},
|
|
49
49
|
"slidesPerView": {
|
|
50
|
-
"description": "Number of slides visible at once. Accepts \"1\", \"2\", \"3\", or \"auto\".",
|
|
50
|
+
"description": "Number of slides visible at once. Accepts \"1\", \"2\", \"3\", or \"auto\". Empty = CSS default (single slide).",
|
|
51
51
|
"type": "string",
|
|
52
|
-
"default": "
|
|
52
|
+
"default": ""
|
|
53
53
|
},
|
|
54
54
|
"snap": {
|
|
55
55
|
"description": "Scroll-snap alignment — start, center, end, or none.",
|
|
@@ -31,7 +31,7 @@ class AdiaSwiper extends AdiaElement {
|
|
|
31
31
|
peek: { type: Boolean, default: false, reflect: true },
|
|
32
32
|
snap: { type: String, default: 'start', reflect: true },
|
|
33
33
|
gap: { type: String, default: '', reflect: true },
|
|
34
|
-
|
|
34
|
+
slidesPerView: { type: String, default: '', reflect: true, attribute: 'slides-per-view' },
|
|
35
35
|
};
|
|
36
36
|
|
|
37
37
|
static template = () => null;
|
|
@@ -13,9 +13,9 @@ props:
|
|
|
13
13
|
type: boolean
|
|
14
14
|
default: false
|
|
15
15
|
slidesPerView:
|
|
16
|
-
description: Number of slides visible at once. Accepts "1", "2", "3", or "auto".
|
|
16
|
+
description: Number of slides visible at once. Accepts "1", "2", "3", or "auto". Empty = CSS default (single slide).
|
|
17
17
|
type: string
|
|
18
|
-
default: "
|
|
18
|
+
default: ""
|
|
19
19
|
attribute: slides-per-view
|
|
20
20
|
snap:
|
|
21
21
|
description: Scroll-snap alignment — start, center, end, or none.
|
|
@@ -34,14 +34,16 @@ props:
|
|
|
34
34
|
description: Infinite loop
|
|
35
35
|
type: boolean
|
|
36
36
|
default: false
|
|
37
|
+
noPauseOnHover:
|
|
38
|
+
description: Suppress the default pause-on-hover/focus behavior for autoplay.
|
|
39
|
+
type: boolean
|
|
40
|
+
default: false
|
|
41
|
+
reflect: true
|
|
42
|
+
attribute: no-pause-on-hover
|
|
37
43
|
peek:
|
|
38
44
|
description: Show peek of adjacent slides
|
|
39
45
|
type: boolean
|
|
40
46
|
default: false
|
|
41
|
-
slides-per-view:
|
|
42
|
-
description: Number of visible slides
|
|
43
|
-
type: string
|
|
44
|
-
default: ""
|
|
45
47
|
events:
|
|
46
48
|
autoplay-pause:
|
|
47
49
|
description: "Fired on autoplay-pause."
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
--switch-thumb-inset: 2px;
|
|
36
36
|
--switch-thumb-size: calc(var(--a-toggle-size) - 2 * var(--switch-thumb-inset) - 2px); /* -2px for 1px border each side */
|
|
37
37
|
--switch-thumb-bg: var(--a-fg-muted);
|
|
38
|
-
--switch-thumb-bg-checked:
|
|
38
|
+
--switch-thumb-bg-checked: var(--a-chrome-light);
|
|
39
39
|
--switch-thumb-travel: calc(var(--switch-track-width) - var(--switch-thumb-size) - 2 * var(--switch-thumb-inset) - 2px);
|
|
40
40
|
|
|
41
41
|
/* ── State: disabled ── */
|
|
@@ -21,11 +21,6 @@
|
|
|
21
21
|
"type": "boolean",
|
|
22
22
|
"default": false
|
|
23
23
|
},
|
|
24
|
-
"dismissible": {
|
|
25
|
-
"description": "Alias for `removable`; accepted for back-compat.",
|
|
26
|
-
"type": "boolean",
|
|
27
|
-
"default": false
|
|
28
|
-
},
|
|
29
24
|
"removable": {
|
|
30
25
|
"description": "Shows a dismiss button that fires the remove event.",
|
|
31
26
|
"type": "boolean",
|
package/components/tag/tag.yaml
CHANGED
|
@@ -17,10 +17,6 @@ props:
|
|
|
17
17
|
description: Shows a dismiss button that fires the remove event.
|
|
18
18
|
type: boolean
|
|
19
19
|
default: false
|
|
20
|
-
dismissible:
|
|
21
|
-
description: Alias for `removable`; accepted for back-compat.
|
|
22
|
-
type: boolean
|
|
23
|
-
default: false
|
|
24
20
|
size:
|
|
25
21
|
description: Size preset controlling font-size and padding.
|
|
26
22
|
type: string
|
|
@@ -25,6 +25,11 @@
|
|
|
25
25
|
"description": "Display text content. The main payload field for Text components extracted from HTML.",
|
|
26
26
|
"$ref": "common_types.json#/$defs/DynamicString"
|
|
27
27
|
},
|
|
28
|
+
"truncate": {
|
|
29
|
+
"description": "Single-line truncation with ellipsis. Ignored when `lines` is set.",
|
|
30
|
+
"type": "boolean",
|
|
31
|
+
"default": false
|
|
32
|
+
},
|
|
28
33
|
"variant": {
|
|
29
34
|
"description": "Typography variant — sets role tokens (size/weight/tracking/color).",
|
|
30
35
|
"type": "string",
|
package/components/text/text.css
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
@scope (text-ui) {
|
|
2
|
+
:where(:scope) {
|
|
2
3
|
/* ── Tokens (body defaults) ── */
|
|
3
4
|
--text-family: var(--a-body-family);
|
|
4
5
|
--text-weight: var(--a-weight);
|
|
@@ -10,7 +11,6 @@
|
|
|
10
11
|
--text-color: var(--a-fg);
|
|
11
12
|
--text-color-strong: var(--a-fg-strong);
|
|
12
13
|
}
|
|
13
|
-
@scope (text-ui) {
|
|
14
14
|
|
|
15
15
|
:scope {
|
|
16
16
|
box-sizing: border-box;
|
|
@@ -12,6 +12,11 @@ props:
|
|
|
12
12
|
description: Multi-line clamp count (0 = no clamp)
|
|
13
13
|
type: number
|
|
14
14
|
default: 0
|
|
15
|
+
truncate:
|
|
16
|
+
description: Single-line truncation with ellipsis. Ignored when `lines` is set.
|
|
17
|
+
type: boolean
|
|
18
|
+
default: false
|
|
19
|
+
reflect: true
|
|
15
20
|
textContent:
|
|
16
21
|
description: Display text content. The main payload field for Text components extracted from HTML.
|
|
17
22
|
type: string
|
|
@@ -16,15 +16,6 @@
|
|
|
16
16
|
"component": {
|
|
17
17
|
"const": "Timeline"
|
|
18
18
|
},
|
|
19
|
-
"mode": {
|
|
20
|
-
"description": "Display mode",
|
|
21
|
-
"type": "string",
|
|
22
|
-
"enum": [
|
|
23
|
-
"timeline",
|
|
24
|
-
"steps"
|
|
25
|
-
],
|
|
26
|
-
"default": "timeline"
|
|
27
|
-
},
|
|
28
19
|
"orientation": {
|
|
29
20
|
"description": "Layout direction",
|
|
30
21
|
"type": "string",
|
|
@@ -34,10 +25,14 @@
|
|
|
34
25
|
],
|
|
35
26
|
"default": "vertical"
|
|
36
27
|
},
|
|
37
|
-
"
|
|
38
|
-
"description": "
|
|
39
|
-
"type": "
|
|
40
|
-
"
|
|
28
|
+
"size": {
|
|
29
|
+
"description": "Rail size preset — use `sm` for agent-reasoning/pipeline views; `md` is the default.",
|
|
30
|
+
"type": "string",
|
|
31
|
+
"enum": [
|
|
32
|
+
"sm",
|
|
33
|
+
"md"
|
|
34
|
+
],
|
|
35
|
+
"default": "md"
|
|
41
36
|
}
|
|
42
37
|
},
|
|
43
38
|
"required": [
|
|
@@ -8,13 +8,6 @@ category: display
|
|
|
8
8
|
version: 1
|
|
9
9
|
description: "Timeline and step wizard. Two modes: timeline (per-item state) and steps (parent-driven)."
|
|
10
10
|
props:
|
|
11
|
-
mode:
|
|
12
|
-
description: Display mode
|
|
13
|
-
type: string
|
|
14
|
-
default: timeline
|
|
15
|
-
enum:
|
|
16
|
-
- timeline
|
|
17
|
-
- steps
|
|
18
11
|
orientation:
|
|
19
12
|
description: Layout direction
|
|
20
13
|
type: string
|
|
@@ -22,10 +15,12 @@ props:
|
|
|
22
15
|
enum:
|
|
23
16
|
- vertical
|
|
24
17
|
- horizontal
|
|
25
|
-
|
|
26
|
-
description:
|
|
27
|
-
type:
|
|
28
|
-
default:
|
|
18
|
+
size:
|
|
19
|
+
description: Rail size preset — use `sm` for agent-reasoning/pipeline views; `md` is the default.
|
|
20
|
+
type: string
|
|
21
|
+
default: md
|
|
22
|
+
reflect: true
|
|
23
|
+
enum: [sm, md]
|
|
29
24
|
events: {}
|
|
30
25
|
slots:
|
|
31
26
|
default:
|
|
@@ -13,11 +13,6 @@
|
|
|
13
13
|
}
|
|
14
14
|
],
|
|
15
15
|
"properties": {
|
|
16
|
-
"closable": {
|
|
17
|
-
"description": "When true, renders a dismiss button.",
|
|
18
|
-
"type": "boolean",
|
|
19
|
-
"default": true
|
|
20
|
-
},
|
|
21
16
|
"component": {
|
|
22
17
|
"const": "Toast"
|
|
23
18
|
},
|
|
@@ -26,16 +21,6 @@
|
|
|
26
21
|
"type": "number",
|
|
27
22
|
"default": 4000
|
|
28
23
|
},
|
|
29
|
-
"icon": {
|
|
30
|
-
"description": "Leading Phosphor icon name; when omitted, defaults from `variant` (success → check, danger → x, etc.).",
|
|
31
|
-
"type": "string",
|
|
32
|
-
"default": ""
|
|
33
|
-
},
|
|
34
|
-
"open": {
|
|
35
|
-
"description": "Controls visibility and triggers auto-dismiss timer",
|
|
36
|
-
"type": "boolean",
|
|
37
|
-
"default": false
|
|
38
|
-
},
|
|
39
24
|
"position": {
|
|
40
25
|
"description": "Screen position",
|
|
41
26
|
"type": "string",
|
|
@@ -8,23 +8,10 @@ category: container
|
|
|
8
8
|
version: 1
|
|
9
9
|
description: Notification popup with auto-dismiss. Animated enter/exit.
|
|
10
10
|
props:
|
|
11
|
-
icon:
|
|
12
|
-
description: Leading Phosphor icon name; when omitted, defaults from `variant` (success → check, danger → x, etc.).
|
|
13
|
-
type: string
|
|
14
|
-
default: ""
|
|
15
|
-
closable:
|
|
16
|
-
description: When true, renders a dismiss button.
|
|
17
|
-
type: boolean
|
|
18
|
-
default: true
|
|
19
11
|
duration:
|
|
20
12
|
description: Auto-dismiss time in milliseconds. 0 disables auto-dismiss.
|
|
21
13
|
type: number
|
|
22
14
|
default: 4000
|
|
23
|
-
open:
|
|
24
|
-
description: Controls visibility and triggers auto-dismiss timer
|
|
25
|
-
type: boolean
|
|
26
|
-
default: false
|
|
27
|
-
reflect: true
|
|
28
15
|
position:
|
|
29
16
|
description: Screen position
|
|
30
17
|
type: string
|
|
@@ -31,15 +31,6 @@
|
|
|
31
31
|
"type": "string",
|
|
32
32
|
"default": "sm"
|
|
33
33
|
},
|
|
34
|
-
"orientation": {
|
|
35
|
-
"description": "Layout direction. Vertical mode disables overflow.",
|
|
36
|
-
"type": "string",
|
|
37
|
-
"enum": [
|
|
38
|
-
"horizontal",
|
|
39
|
-
"vertical"
|
|
40
|
-
],
|
|
41
|
-
"default": "horizontal"
|
|
42
|
-
},
|
|
43
34
|
"overflow": {
|
|
44
35
|
"description": "Overflow behavior",
|
|
45
36
|
"type": "string",
|
|
@@ -48,20 +39,6 @@
|
|
|
48
39
|
"none"
|
|
49
40
|
],
|
|
50
41
|
"default": "menu"
|
|
51
|
-
},
|
|
52
|
-
"variant": {
|
|
53
|
-
"description": "Visual style. Transparent removes background, border, and padding.",
|
|
54
|
-
"type": "string",
|
|
55
|
-
"enum": [
|
|
56
|
-
"",
|
|
57
|
-
"transparent"
|
|
58
|
-
],
|
|
59
|
-
"default": ""
|
|
60
|
-
},
|
|
61
|
-
"vertical": {
|
|
62
|
-
"description": "Stack items vertically (alias for orientation=\"vertical\").",
|
|
63
|
-
"type": "boolean",
|
|
64
|
-
"default": false
|
|
65
42
|
}
|
|
66
43
|
},
|
|
67
44
|
"required": [
|
|
@@ -48,6 +48,7 @@ class AdiaToolbar extends AdiaElement {
|
|
|
48
48
|
#spilloverCleanup = null;
|
|
49
49
|
#measuring = false;
|
|
50
50
|
#reflowQueued = false;
|
|
51
|
+
#rafId = null;
|
|
51
52
|
|
|
52
53
|
connected() {
|
|
53
54
|
this.setAttribute('role', 'toolbar');
|
|
@@ -111,7 +112,8 @@ class AdiaToolbar extends AdiaElement {
|
|
|
111
112
|
placement: 'bottom-end',
|
|
112
113
|
gap: 4,
|
|
113
114
|
});
|
|
114
|
-
requestAnimationFrame(() => {
|
|
115
|
+
this.#rafId = requestAnimationFrame(() => {
|
|
116
|
+
this.#rafId = null;
|
|
115
117
|
document.addEventListener('pointerdown', this.#onOutside, true);
|
|
116
118
|
document.addEventListener('keydown', this.#onKey, true);
|
|
117
119
|
});
|
|
@@ -121,6 +123,10 @@ class AdiaToolbar extends AdiaElement {
|
|
|
121
123
|
this.#spilloverCleanup?.();
|
|
122
124
|
this.#spilloverCleanup = null;
|
|
123
125
|
if (this.#popover?.matches(':popover-open')) this.#popover.hidePopover?.();
|
|
126
|
+
if (this.#rafId != null) {
|
|
127
|
+
cancelAnimationFrame(this.#rafId);
|
|
128
|
+
this.#rafId = null;
|
|
129
|
+
}
|
|
124
130
|
document.removeEventListener('pointerdown', this.#onOutside, true);
|
|
125
131
|
document.removeEventListener('keydown', this.#onKey, true);
|
|
126
132
|
}
|
|
@@ -168,6 +174,10 @@ class AdiaToolbar extends AdiaElement {
|
|
|
168
174
|
// Keep listeners cleaned up if closed externally.
|
|
169
175
|
this.#spilloverCleanup?.();
|
|
170
176
|
this.#spilloverCleanup = null;
|
|
177
|
+
if (this.#rafId != null) {
|
|
178
|
+
cancelAnimationFrame(this.#rafId);
|
|
179
|
+
this.#rafId = null;
|
|
180
|
+
}
|
|
171
181
|
document.removeEventListener('pointerdown', this.#onOutside, true);
|
|
172
182
|
document.removeEventListener('keydown', this.#onKey, true);
|
|
173
183
|
}
|
|
@@ -14,11 +14,6 @@ props:
|
|
|
14
14
|
type: boolean
|
|
15
15
|
default: false
|
|
16
16
|
reflect: true
|
|
17
|
-
vertical:
|
|
18
|
-
description: Stack items vertically (alias for orientation="vertical").
|
|
19
|
-
type: boolean
|
|
20
|
-
default: false
|
|
21
|
-
reflect: true
|
|
22
17
|
align:
|
|
23
18
|
description: Item alignment
|
|
24
19
|
type: string
|
|
@@ -27,13 +22,6 @@ props:
|
|
|
27
22
|
description: Gap between items
|
|
28
23
|
type: string
|
|
29
24
|
default: sm
|
|
30
|
-
orientation:
|
|
31
|
-
description: Layout direction. Vertical mode disables overflow.
|
|
32
|
-
type: string
|
|
33
|
-
default: horizontal
|
|
34
|
-
enum:
|
|
35
|
-
- horizontal
|
|
36
|
-
- vertical
|
|
37
25
|
overflow:
|
|
38
26
|
description: Overflow behavior
|
|
39
27
|
type: string
|
|
@@ -41,13 +29,6 @@ props:
|
|
|
41
29
|
enum:
|
|
42
30
|
- menu
|
|
43
31
|
- none
|
|
44
|
-
variant:
|
|
45
|
-
description: Visual style. Transparent removes background, border, and padding.
|
|
46
|
-
type: string
|
|
47
|
-
default: ""
|
|
48
|
-
enum:
|
|
49
|
-
- ""
|
|
50
|
-
- transparent
|
|
51
32
|
events: {}
|
|
52
33
|
slots: {}
|
|
53
34
|
states:
|
|
@@ -13,11 +13,6 @@
|
|
|
13
13
|
}
|
|
14
14
|
],
|
|
15
15
|
"properties": {
|
|
16
|
-
"anchor": {
|
|
17
|
-
"description": "ID of the anchor element that triggers the tooltip.",
|
|
18
|
-
"type": "string",
|
|
19
|
-
"default": ""
|
|
20
|
-
},
|
|
21
16
|
"component": {
|
|
22
17
|
"const": "Tooltip"
|
|
23
18
|
},
|
|
@@ -26,11 +21,6 @@
|
|
|
26
21
|
"type": "number",
|
|
27
22
|
"default": 400
|
|
28
23
|
},
|
|
29
|
-
"offset": {
|
|
30
|
-
"description": "Distance in pixels between the tooltip and the anchor element.",
|
|
31
|
-
"type": "number",
|
|
32
|
-
"default": 8
|
|
33
|
-
},
|
|
34
24
|
"placement": {
|
|
35
25
|
"description": "Preferred position relative to the anchor element.",
|
|
36
26
|
"type": "string",
|
|
@@ -8,18 +8,10 @@ category: container
|
|
|
8
8
|
version: 1
|
|
9
9
|
description: Tooltip popup on hover/focus. Uses Popover API for top-layer rendering.
|
|
10
10
|
props:
|
|
11
|
-
anchor:
|
|
12
|
-
description: ID of the anchor element that triggers the tooltip.
|
|
13
|
-
type: string
|
|
14
|
-
default: ""
|
|
15
11
|
delay:
|
|
16
12
|
description: Delay in milliseconds before showing the tooltip on hover.
|
|
17
13
|
type: number
|
|
18
14
|
default: 400
|
|
19
|
-
offset:
|
|
20
|
-
description: Distance in pixels between the tooltip and the anchor element.
|
|
21
|
-
type: number
|
|
22
|
-
default: 8
|
|
23
15
|
placement:
|
|
24
16
|
description: Preferred position relative to the anchor element.
|
|
25
17
|
type: string
|
package/package.json
CHANGED
|
@@ -10,10 +10,10 @@ adia-chat-ui [data-cursor] {
|
|
|
10
10
|
background: var(--chat-cursor-color);
|
|
11
11
|
margin-inline-start: 1px;
|
|
12
12
|
vertical-align: text-bottom;
|
|
13
|
-
animation: adia-chat-
|
|
13
|
+
animation: adia-chat-blink var(--chat-cursor-speed) step-end infinite;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
@keyframes adia-chat-
|
|
16
|
+
@keyframes adia-chat-blink {
|
|
17
17
|
50% { opacity: 0; }
|
|
18
18
|
}
|
|
19
19
|
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
grid-template-columns: minmax(320px, 1fr) 1.5fr;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
:scope[mode="split"] >
|
|
40
|
+
:scope[mode="split"] > chat-ui {
|
|
41
41
|
border-right: var(--a-border-thin) solid var(--a-canvas-border-subtle);
|
|
42
42
|
}
|
|
43
43
|
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
grid-template-columns: 1fr;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
:scope[mode="canvas"] >
|
|
52
|
+
:scope[mode="canvas"] > chat-ui {
|
|
53
53
|
display: none;
|
|
54
54
|
}
|
|
55
55
|
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
CHILDREN — fill grid cells
|
|
75
75
|
═══════════════════════════════════════════════════════ */
|
|
76
76
|
|
|
77
|
-
:scope >
|
|
77
|
+
:scope > chat-ui,
|
|
78
78
|
:scope > canvas-ui,
|
|
79
79
|
:scope > inspector-ui {
|
|
80
80
|
min-height: 0;
|