@adia-ai/web-components 0.7.2 → 0.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/components/accordion/accordion.css +2 -2
  3. package/components/action-list/action-list.css +2 -2
  4. package/components/agent-artifact/agent-artifact.css +31 -31
  5. package/components/agent-feedback-bar/agent-feedback-bar.css +10 -10
  6. package/components/agent-questions/agent-questions.css +59 -57
  7. package/components/agent-reasoning/agent-reasoning.css +54 -54
  8. package/components/agent-suggestions/agent-suggestions.css +4 -4
  9. package/components/agent-trace/agent-trace.css +53 -53
  10. package/components/alert/alert.css +53 -53
  11. package/components/avatar/avatar.css +27 -27
  12. package/components/badge/badge.css +56 -53
  13. package/components/block/block.css +16 -16
  14. package/components/blockquote/blockquote.css +16 -16
  15. package/components/breadcrumb/breadcrumb.css +23 -23
  16. package/components/button/button.css +99 -100
  17. package/components/calendar-grid/calendar-grid.css +95 -92
  18. package/components/calendar-picker/calendar-picker.css +141 -139
  19. package/components/canvas/canvas.css +12 -12
  20. package/components/card/card.css +83 -83
  21. package/components/chart/chart.css +218 -218
  22. package/components/chart-legend/chart-legend.css +26 -26
  23. package/components/check/check.css +40 -40
  24. package/components/code/code.css +125 -125
  25. package/components/col/col.a2ui.json +1 -1
  26. package/components/col/col.css +15 -15
  27. package/components/col/col.d.ts +1 -1
  28. package/components/col/col.yaml +6 -3
  29. package/components/color-picker/color-picker.css +55 -55
  30. package/components/combobox/combobox.css +64 -62
  31. package/components/command/command.css +91 -91
  32. package/components/context-menu/context-menu.css +1 -1
  33. package/components/date-range-picker/date-range-picker.css +59 -59
  34. package/components/datetime-picker/datetime-picker.css +25 -25
  35. package/components/demo-toggle/demo-toggle.css +27 -27
  36. package/components/description-list/description-list.css +18 -18
  37. package/components/divider/divider.css +24 -24
  38. package/components/embed/embed.css +6 -6
  39. package/components/empty-state/empty-state.css +29 -29
  40. package/components/feed/feed.css +12 -12
  41. package/components/field/field.css +28 -28
  42. package/components/field/field.test.js +2 -2
  43. package/components/fields/fields.css +5 -5
  44. package/components/grid/grid.a2ui.json +11 -1
  45. package/components/grid/grid.css +26 -7
  46. package/components/grid/grid.d.ts +5 -1
  47. package/components/grid/grid.yaml +18 -3
  48. package/components/heatmap/heatmap.css +61 -61
  49. package/components/icon/icon.css +12 -12
  50. package/components/image/image.css +14 -14
  51. package/components/inline-edit/inline-edit.css +16 -16
  52. package/components/inline-message/inline-message.css +16 -16
  53. package/components/input/input.css +69 -66
  54. package/components/inspector/inspector.css +6 -6
  55. package/components/integration-card/integration-card.css +41 -41
  56. package/components/integration-card/integration-card.test.js +4 -4
  57. package/components/kbd/kbd.css +47 -40
  58. package/components/link/link.css +12 -12
  59. package/components/list/list.css +8 -8
  60. package/components/list-window/list-window.css +10 -10
  61. package/components/loading-overlay/loading-overlay.css +17 -18
  62. package/components/loading-overlay/loading-overlay.test.js +8 -8
  63. package/components/mark/mark.css +16 -16
  64. package/components/menu/menu.css +9 -9
  65. package/components/modal/modal.class.js +5 -9
  66. package/components/modal/modal.css +43 -43
  67. package/components/nav/nav.css +40 -40
  68. package/components/nav-group/nav-group.css +54 -54
  69. package/components/nav-item/nav-item.css +44 -44
  70. package/components/noodles/noodles.css +31 -31
  71. package/components/number-format/number-format.css +4 -4
  72. package/components/option-card/option-card.css +70 -70
  73. package/components/otp-input/otp-input.css +29 -29
  74. package/components/page/page.a2ui.json +1 -1
  75. package/components/page/page.css +27 -27
  76. package/components/page/page.d.ts +1 -1
  77. package/components/page/page.yaml +1 -1
  78. package/components/pagination/pagination.css +6 -6
  79. package/components/pane/pane.css +57 -57
  80. package/components/password-strength/password-strength.css +32 -32
  81. package/components/pipeline-status/pipeline-status.css +67 -67
  82. package/components/popover/popover.css +11 -11
  83. package/components/preview/preview.css +21 -21
  84. package/components/progress/progress.css +23 -23
  85. package/components/progress-row/progress-row.css +17 -17
  86. package/components/qr-code/qr-code.css +4 -4
  87. package/components/radio/radio.css +39 -39
  88. package/components/range/range.css +58 -55
  89. package/components/rating/rating.css +28 -28
  90. package/components/relative-time/relative-time.css +6 -6
  91. package/components/richtext/richtext.css +133 -133
  92. package/components/row/row.a2ui.json +1 -1
  93. package/components/row/row.css +24 -22
  94. package/components/row/row.d.ts +1 -1
  95. package/components/row/row.yaml +4 -2
  96. package/components/search/search.css +5 -5
  97. package/components/segment/segment.css +29 -24
  98. package/components/segmented/segmented.css +30 -25
  99. package/components/select/select.css +95 -93
  100. package/components/skeleton/skeleton.css +14 -14
  101. package/components/skip-nav/skip-nav.css +4 -4
  102. package/components/slider/slider.css +61 -61
  103. package/components/spinner/spinner.css +40 -40
  104. package/components/spinner/spinner.test.js +10 -12
  105. package/components/stack/stack.css +11 -11
  106. package/components/stat/stat.css +27 -27
  107. package/components/step-progress/step-progress.css +20 -20
  108. package/components/stepper/stepper.css +29 -29
  109. package/components/stream/stream.css +12 -12
  110. package/components/swatch/swatch.css +68 -68
  111. package/components/swiper/swiper.class.js +5 -12
  112. package/components/swiper/swiper.css +57 -57
  113. package/components/switch/switch.css +53 -53
  114. package/components/table/table.css +166 -163
  115. package/components/table-toolbar/table-toolbar.css +33 -33
  116. package/components/tabs/tabs.css +54 -51
  117. package/components/tag/tag.css +74 -71
  118. package/components/tag/tag.test.js +14 -14
  119. package/components/tags-input/tags-input.css +51 -49
  120. package/components/text/text.css +44 -44
  121. package/components/textarea/textarea.css +49 -46
  122. package/components/time-picker/time-picker.css +47 -47
  123. package/components/timeline/timeline.css +54 -54
  124. package/components/toast/toast.css +58 -58
  125. package/components/toc/toc.css +28 -28
  126. package/components/toggle-group/toggle-group.css +9 -6
  127. package/components/toggle-scheme/toggle-scheme.css +2 -2
  128. package/components/toolbar/toolbar.css +18 -18
  129. package/components/tooltip/tooltip.css +2 -2
  130. package/components/tour/tour.css +4 -4
  131. package/components/tree/tree.class.js +89 -16
  132. package/components/tree/tree.css +37 -37
  133. package/components/tree/tree.test.js +49 -0
  134. package/components/upload/upload.css +49 -49
  135. package/dist/host.min.css +1 -0
  136. package/dist/web-components.min.css +1 -1
  137. package/dist/web-components.min.js +3 -3
  138. package/package.json +1 -1
  139. package/styles/api/sizing.css +52 -16
  140. package/styles/foundation/space.css +25 -8
  141. package/styles/host.css +48 -0
  142. package/styles/prose.css +187 -170
  143. package/styles/type/scale.css +6 -0
  144. package/styles/typography.css +10 -5
  145. package/styles/verse.css +122 -0
@@ -1,21 +1,23 @@
1
1
  @scope (row-ui) {
2
2
  :where(:scope) {
3
- /* `--a-gap` defaults to `--a-gap-md` at :root in tokens.css; the
4
- universal `[gap="N"]` rules override it on the element, so reading
5
- `--a-gap` here picks up `<row-ui gap="…">` automatically. */
6
- --row-gap-default: var(--a-gap);
7
- --row-justify-default: flex-start;
8
- --row-align-default: center;
9
- --row-drag-bg-active-default: var(--a-accent-muted);
3
+ /* Gap resolves explicit-then-ambient: `[gap="N"]` sets the
4
+ non-inheriting `--a-gap-self`; `[size]`/`:root` set the inheriting
5
+ ambient `--a-gap` (base `--a-gap-md`). Reading
6
+ `var(--a-gap-self, var(--a-gap))` picks up `<row-ui gap="…">` on
7
+ this element, else falls through to the inherited ambient. */
8
+ --row-gap: var(--a-gap-self, var(--a-gap));
9
+ --row-justify: flex-start;
10
+ --row-align: center;
11
+ --row-drag-bg-active: var(--a-accent-muted);
10
12
  }
11
13
 
12
14
  :scope {
13
15
  box-sizing: border-box;
14
16
  display: flex;
15
17
  flex-direction: row;
16
- gap: var(--row-gap, var(--row-gap-default));
17
- justify-content: var(--row-justify, var(--row-justify-default));
18
- align-items: var(--row-align, var(--row-align-default));
18
+ gap: var(--row-gap);
19
+ justify-content: var(--row-justify);
20
+ align-items: var(--row-align);
19
21
  /* Universal [padding] / [margin] opt-in — see tokens.css for scale. */
20
22
  padding: var(--a-padding, 0);
21
23
  margin: var(--a-margin, 0);
@@ -31,23 +33,23 @@
31
33
  :scope[draggable]:active,
32
34
  :scope[draggable][data-draggable-dragging] {
33
35
  cursor: grabbing;
34
- background: var(--row-drag-bg-active, var(--row-drag-bg-active-default));
36
+ background: var(--row-drag-bg-active);
35
37
  }
36
38
 
37
39
  /* Justify */
38
- :scope[justify="start"] { --row-justify-default: flex-start; }
39
- :scope[justify="center"] { --row-justify-default: center; }
40
- :scope[justify="end"] { --row-justify-default: flex-end; }
41
- :scope[justify="between"] { --row-justify-default: space-between; }
42
- :scope[justify="space-between"] { --row-justify-default: space-between; }
43
- :scope[justify="space-around"] { --row-justify-default: space-around; }
40
+ :scope[justify="start"] { --row-justify: flex-start; }
41
+ :scope[justify="center"] { --row-justify: center; }
42
+ :scope[justify="end"] { --row-justify: flex-end; }
43
+ :scope[justify="between"] { --row-justify: space-between; }
44
+ :scope[justify="space-between"] { --row-justify: space-between; }
45
+ :scope[justify="space-around"] { --row-justify: space-around; }
44
46
 
45
47
  /* Align */
46
- :scope[align="start"] { --row-align-default: flex-start; }
47
- :scope[align="center"] { --row-align-default: center; }
48
- :scope[align="end"] { --row-align-default: flex-end; }
49
- :scope[align="stretch"] { --row-align-default: stretch; }
50
- :scope[align="baseline"] { --row-align-default: baseline; }
48
+ :scope[align="start"] { --row-align: flex-start; }
49
+ :scope[align="center"] { --row-align: center; }
50
+ :scope[align="end"] { --row-align: flex-end; }
51
+ :scope[align="stretch"] { --row-align: stretch; }
52
+ :scope[align="baseline"] { --row-align: baseline; }
51
53
 
52
54
  /* Wrap */
53
55
  :scope[wrap] { flex-wrap: wrap; }
@@ -24,7 +24,7 @@ export class UIRow extends UIElement {
24
24
  align: string;
25
25
  /** Enables drag handle + cursor:grab. Wires the draggable trait; dispatches drag-end. */
26
26
  draggable: boolean;
27
- /** Gap between children. Named scale (xs/sm/md/lg/xl) or numeric spacing rung ("1"…"16"). Accepts `@bp` notation: gap="2 4@md". */
27
+ /** Gap between children. Two grammars: a NAMED scale (xs/sm/md/lg/xl, parametric via --a-gap-k — 4/8/12/16/20px at k=1) and an integer space-rung ("0"…"10", "12", "16", literal). At k=1 they coincide: xs=1, sm=2, md=3, lg=4, xl=5. Accepts `@bp` notation: gap="2 4@md". */
28
28
  gap: string;
29
29
  /** Fills remaining space in a flex parent. CSS-only attribute via :scope[grow] in row.css. */
30
30
  grow: boolean;
@@ -29,8 +29,10 @@ props:
29
29
  reflect: true
30
30
  gap:
31
31
  description: >-
32
- Gap between children. Named scale (xs/sm/md/lg/xl) or numeric spacing
33
- rung ("1"…"16"). Accepts `@bp` notation: gap="2 4@md".
32
+ Gap between children. Two grammars: a NAMED scale (xs/sm/md/lg/xl, parametric
33
+ via --a-gap-k — 4/8/12/16/20px at k=1) and an integer space-rung ("0"…"10",
34
+ "12", "16", literal). At k=1 they coincide: xs=1, sm=2, md=3, lg=4, xl=5.
35
+ Accepts `@bp` notation: gap="2 4@md".
34
36
  type: string
35
37
  default: md
36
38
  grow:
@@ -1,9 +1,9 @@
1
1
  @scope (search-ui) {
2
2
  :where(:scope) {
3
3
  /* ── Tokens ── */
4
- --search-radius-default: var(--a-radius);
5
- --search-duration-default: var(--a-duration-fast);
6
- --search-easing-default: var(--a-easing);
4
+ --search-radius: var(--a-radius);
5
+ --search-duration: var(--a-duration-fast);
6
+ --search-easing: var(--a-easing);
7
7
  text-align: start; /* §text-align-reset — blocks inheritance from centered ancestors */
8
8
  }
9
9
 
@@ -19,11 +19,11 @@
19
19
  }
20
20
 
21
21
  [slot="suffix"] {
22
- transition: opacity var(--search-duration, var(--search-duration-default)) var(--search-easing, var(--search-easing-default));
22
+ transition: opacity var(--search-duration) var(--search-easing);
23
23
  }
24
24
 
25
25
  /* Override input-ui radius to pill for search */
26
26
  input-ui {
27
- --input-radius: var(--search-radius, var(--search-radius-default));
27
+ --input-radius: var(--search-radius);
28
28
  }
29
29
  }
@@ -2,35 +2,36 @@
2
2
  (Flavor B — attribute-removal restyle) both fail inside `@scope`.
3
3
  Selectors moved out. See docs/BROWSER-COMPAT.md §3a. */
4
4
  segment-ui:not([disabled]):not([selected]):hover {
5
- color: var(--segment-fg-hover, var(--segment-fg-hover-default));
5
+ color: var(--segment-fg-hover);
6
6
  }
7
7
  segment-ui[selected] {
8
- color: var(--segment-fg-selected, var(--segment-fg-selected-default));
8
+ color: var(--segment-fg-selected);
9
9
  }
10
10
 
11
11
  @scope (segment-ui) {
12
12
  :where(:scope) {
13
13
  /* ── Layout ── */
14
- --segment-px-default: var(--a-ui-px);
15
- --segment-gap-default: var(--a-space-1);
16
- --segment-radius-default: calc(var(--a-radius) - 2px);
14
+ --segment-px: var(--a-ui-px);
15
+ --segment-gap: var(--a-space-1);
16
+ --segment-radius: calc(var(--a-radius) - 2px);
17
17
 
18
18
  /* ── Typography ── */
19
- --segment-font-size-default: var(--a-ui-size);
20
- --segment-font-weight-default: var(--a-ui-weight);
19
+ --segment-font-size: var(--a-ui-size);
20
+ --segment-font-weight: var(--a-ui-weight);
21
+ --segment-font-family: var(--a-font-family-ui);
21
22
 
22
23
  /* ── Colors ── */
23
- --segment-fg-default: var(--a-ui-text-subtle);
24
- --segment-fg-hover-default: var(--a-ui-text-hover);
25
- --segment-fg-selected-default: var(--a-chrome-dark);
26
- --segment-fg-disabled-default: var(--a-ui-text-disabled);
24
+ --segment-fg: var(--a-ui-text-subtle);
25
+ --segment-fg-hover: var(--a-ui-text-hover);
26
+ --segment-fg-selected: var(--a-chrome-dark);
27
+ --segment-fg-disabled: var(--a-ui-text-disabled);
27
28
 
28
29
  /* ── Transition ── */
29
- --segment-duration-default: var(--a-duration-fast);
30
- --segment-easing-default: var(--a-easing);
30
+ --segment-duration: var(--a-duration-fast);
31
+ --segment-easing: var(--a-easing);
31
32
 
32
33
  /* ── Focus ── */
33
- --segment-focus-ring-default: var(--a-focus-ring);
34
+ --segment-focus-ring: var(--a-focus-ring);
34
35
  }
35
36
 
36
37
  :scope {
@@ -41,15 +42,19 @@ segment-ui[selected] {
41
42
  justify-content: center;
42
43
  align-self: stretch;
43
44
  min-width: 0;
44
- gap: var(--segment-gap, var(--segment-gap-default));
45
+ gap: var(--segment-gap);
45
46
 
46
- padding-inline: var(--segment-px, var(--segment-px-default));
47
+ padding-inline: var(--segment-px);
47
48
 
48
49
  font: inherit;
49
- font-size: var(--segment-font-size, var(--segment-font-size-default));
50
- font-weight: var(--segment-font-weight, var(--segment-font-weight-default));
50
+ /* font-family floor — `font: inherit` alone has no default, so a broken
51
+ inherited font (e.g. serif host doc) leaks straight through. Anchor to
52
+ the UI font; overridable via --segment-font-family. */
53
+ font-family: var(--segment-font-family);
54
+ font-size: var(--segment-font-size);
55
+ font-weight: var(--segment-font-weight);
51
56
  line-height: 1;
52
- color: var(--segment-fg, var(--segment-fg-default));
57
+ color: var(--segment-fg);
53
58
  white-space: nowrap;
54
59
  overflow: hidden;
55
60
  text-overflow: ellipsis;
@@ -59,12 +64,12 @@ segment-ui[selected] {
59
64
  z-index: 1;
60
65
  cursor: pointer;
61
66
  user-select: none;
62
- border-radius: var(--segment-radius, var(--segment-radius-default));
67
+ border-radius: var(--segment-radius);
63
68
  background: transparent;
64
69
 
65
70
  transition:
66
- color var(--segment-duration, var(--segment-duration-default)) var(--segment-easing, var(--segment-easing-default)),
67
- background var(--segment-duration, var(--segment-duration-default)) var(--segment-easing, var(--segment-easing-default));
71
+ color var(--segment-duration) var(--segment-easing),
72
+ background var(--segment-duration) var(--segment-easing);
68
73
  }
69
74
 
70
75
  /* Text rendered via ::after so consumers can drive label via [text].
@@ -93,11 +98,11 @@ segment-ui[selected] {
93
98
 
94
99
  :scope:focus-visible {
95
100
  outline: none;
96
- box-shadow: var(--segment-focus-ring, var(--segment-focus-ring-default));
101
+ box-shadow: var(--segment-focus-ring);
97
102
  }
98
103
 
99
104
  :scope[disabled] {
100
- color: var(--segment-fg-disabled, var(--segment-fg-disabled-default));
105
+ color: var(--segment-fg-disabled);
101
106
  cursor: not-allowed;
102
107
  pointer-events: none;
103
108
  }
@@ -1,26 +1,27 @@
1
1
  @scope (segmented-ui) {
2
2
  :where(:scope) {
3
3
  /* ── Layout ── */
4
- --segmented-height-default: var(--a-size);
4
+ --segmented-height: var(--a-size);
5
5
  /* Component-intrinsic visual constants; no --a-space-* equivalent */
6
- --segmented-padding-default: 2px;
7
- --segmented-border-width-default: 0px;
8
- --segmented-inset-default: calc(var(--segmented-padding, var(--segmented-padding-default)) + var(--segmented-border-width, var(--segmented-border-width-default)));
9
- --segmented-radius-default: var(--a-radius);
6
+ --segmented-padding: 2px;
7
+ --segmented-border-width: 0px;
8
+ --segmented-inset: calc(var(--segmented-padding) + var(--segmented-border-width));
9
+ --segmented-radius: var(--a-radius);
10
10
 
11
11
  /* ── Colors ── */
12
- --segmented-bg-default: var(--a-ui-bg);
13
- --segmented-border-default: transparent;
14
- --segmented-indicator-bg-default: var(--a-chrome-light);
15
- --segmented-indicator-shadow-default: var(--a-shadow-sm);
16
- --segmented-indicator-radius-default: calc(var(--segmented-radius, var(--segmented-radius-default)) - var(--segmented-inset, var(--segmented-inset-default)));
12
+ --segmented-bg: var(--a-ui-bg);
13
+ --segmented-border: transparent;
14
+ --segmented-indicator-bg: var(--a-chrome-light);
15
+ --segmented-indicator-shadow: var(--a-shadow-sm);
16
+ --segmented-indicator-radius: calc(var(--segmented-radius) - var(--segmented-inset));
17
17
 
18
18
  /* ── Typography ── */
19
- --segmented-font-size-default: var(--a-ui-size);
19
+ --segmented-font-size: var(--a-ui-size);
20
+ --segmented-font-family: var(--a-font-family-ui);
20
21
 
21
22
  /* ── Transition ── */
22
- --segmented-duration-default: var(--a-duration);
23
- --segmented-easing-default: var(--a-easing-out);
23
+ --segmented-duration: var(--a-duration);
24
+ --segmented-easing: var(--a-easing-out);
24
25
 
25
26
  text-align: start; /* §text-align-reset — blocks inheritance from centered ancestors */
26
27
  }
@@ -46,13 +47,17 @@
46
47
  isolation: isolate;
47
48
  overflow: hidden;
48
49
 
49
- min-height: var(--segmented-height, var(--segmented-height-default));
50
- padding: var(--segmented-padding, var(--segmented-padding-default));
51
- font-size: var(--segmented-font-size, var(--segmented-font-size-default));
50
+ min-height: var(--segmented-height);
51
+ padding: var(--segmented-padding);
52
+ /* font-family floor — anchor to the UI font so the control keeps its
53
+ AdiaUI identity even if the host page's inherited font is broken/unset
54
+ (e.g. a serif host document). Overridable via --segmented-font-family. */
55
+ font-family: var(--segmented-font-family);
56
+ font-size: var(--segmented-font-size);
52
57
 
53
- background: var(--segmented-bg, var(--segmented-bg-default));
54
- border: var(--segmented-border-width, var(--segmented-border-width-default)) solid var(--segmented-border, var(--segmented-border-default));
55
- border-radius: var(--segmented-radius, var(--segmented-radius-default));
58
+ background: var(--segmented-bg);
59
+ border: var(--segmented-border-width) solid var(--segmented-border);
60
+ border-radius: var(--segmented-radius);
56
61
  }
57
62
 
58
63
  /* Display convention (ADR-0037): block-level by default; [inline] opts back to inline-level. */
@@ -66,16 +71,16 @@
66
71
  :scope[data-indicator-ready] > [data-indicator] {
67
72
  display: block;
68
73
  position: absolute;
69
- inset: var(--segmented-inset, var(--segmented-inset-default));
74
+ inset: var(--segmented-inset);
70
75
  right: auto;
71
- width: calc((100% - var(--segmented-inset, var(--segmented-inset-default)) * 2) / var(--_segment-count));
76
+ width: calc((100% - var(--segmented-inset) * 2) / var(--_segment-count));
72
77
 
73
- background: var(--segmented-indicator-bg, var(--segmented-indicator-bg-default));
74
- border-radius: var(--segmented-indicator-radius, var(--segmented-indicator-radius-default));
75
- box-shadow: var(--segmented-indicator-shadow, var(--segmented-indicator-shadow-default));
78
+ background: var(--segmented-indicator-bg);
79
+ border-radius: var(--segmented-indicator-radius);
80
+ box-shadow: var(--segmented-indicator-shadow);
76
81
  pointer-events: none;
77
82
 
78
- transition: transform var(--segmented-duration, var(--segmented-duration-default)) var(--segmented-easing, var(--segmented-easing-default));
83
+ transition: transform var(--segmented-duration) var(--segmented-easing);
79
84
  }
80
85
 
81
86
  /* Size handled by universal [size] attribute system. */