@boostdev/design-system-components 2.6.0 → 2.7.1

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 (90) hide show
  1. package/AGENTS.md +102 -2
  2. package/dist/client.cjs +257 -219
  3. package/dist/client.css +587 -539
  4. package/dist/client.d.cts +27 -1
  5. package/dist/client.d.ts +27 -1
  6. package/dist/client.js +220 -183
  7. package/dist/index.cjs +257 -219
  8. package/dist/index.css +587 -539
  9. package/dist/index.d.cts +27 -1
  10. package/dist/index.d.ts +27 -1
  11. package/dist/index.js +220 -183
  12. package/dist/web-components/{chunk-T6AETZRP.js → chunk-3GFWLSLS.js} +1 -1
  13. package/dist/web-components/{chunk-N6IMUOY4.js → chunk-65JXQOBA.js} +3 -3
  14. package/dist/web-components/{chunk-ZTC6GRP7.js → chunk-BKIHQYJR.js} +1 -0
  15. package/dist/web-components/{chunk-X3FKVHLK.js → chunk-CM3KYZ6Z.js} +1 -1
  16. package/dist/web-components/{chunk-QLZ2362S.js → chunk-CZBIVR4V.js} +1 -1
  17. package/dist/web-components/{chunk-GER5UJOF.js → chunk-F5E3IT7G.js} +1 -3
  18. package/dist/web-components/{chunk-UFFCKVZE.js → chunk-FXURM6D5.js} +1 -1
  19. package/dist/web-components/{chunk-HHHRF2PS.js → chunk-IYGF6CD5.js} +1 -1
  20. package/dist/web-components/{chunk-OCODKRVZ.js → chunk-KUI55GFB.js} +2 -2
  21. package/dist/web-components/{chunk-ZNKEZIYE.js → chunk-NCPQ7AF3.js} +3 -2
  22. package/dist/web-components/{chunk-RTOS7LLG.js → chunk-PC3IOQAH.js} +3 -8
  23. package/dist/web-components/{chunk-JUKB3BUP.js → chunk-PXZWYO6Z.js} +1 -1
  24. package/dist/web-components/{chunk-EBJM3VD4.js → chunk-QBB6ZX4R.js} +1 -1
  25. package/dist/web-components/{chunk-ECW3HHWA.js → chunk-TQ7IQ4GZ.js} +7 -2
  26. package/dist/web-components/{chunk-AJSXNDAP.js → chunk-X46KL5BK.js} +19 -18
  27. package/dist/web-components/{chunk-XNA6WTXG.js → chunk-Y3POAKGS.js} +1 -1
  28. package/dist/web-components/{chunk-HGBNDR22.js → chunk-Y7V7LM6R.js} +1 -1
  29. package/dist/web-components/index.d.ts +56 -1
  30. package/dist/web-components/index.js +140 -19
  31. package/dist/web-components/interaction/bds-accordion-item.js +1 -1
  32. package/dist/web-components/interaction/bds-accordion.js +1 -1
  33. package/dist/web-components/interaction/bds-button.js +1 -1
  34. package/dist/web-components/interaction/bds-dialog.js +1 -1
  35. package/dist/web-components/interaction/bds-drawer.js +1 -1
  36. package/dist/web-components/interaction/bds-popover.js +1 -1
  37. package/dist/web-components/interaction/bds-tooltip.js +1 -1
  38. package/dist/web-components/interaction/form/bds-checkbox.js +1 -1
  39. package/dist/web-components/interaction/form/bds-combobox.js +1 -1
  40. package/dist/web-components/interaction/form/bds-number-input.js +1 -1
  41. package/dist/web-components/interaction/form/bds-radio.js +1 -1
  42. package/dist/web-components/interaction/form/bds-select.js +1 -1
  43. package/dist/web-components/interaction/form/bds-switch.js +1 -1
  44. package/dist/web-components/interaction/form/bds-textarea.js +1 -1
  45. package/dist/web-components/ui/bds-alert.js +1 -1
  46. package/dist/web-components/ui/bds-card.d.ts +3 -9
  47. package/dist/web-components/ui/bds-card.js +1 -1
  48. package/dist/web-components/ui/bds-notification-banner.js +1 -1
  49. package/package.json +4 -2
  50. package/src/components/interaction/form/FieldGroup/FieldGroup.mdx +113 -0
  51. package/src/components/interaction/form/FieldGroup/FieldGroup.module.css +96 -0
  52. package/src/components/interaction/form/FieldGroup/FieldGroup.spec.tsx +196 -0
  53. package/src/components/interaction/form/FieldGroup/FieldGroup.stories.tsx +99 -0
  54. package/src/components/interaction/form/FieldGroup/FieldGroup.tsx +64 -0
  55. package/src/components/interaction/form/FieldGroup/index.ts +2 -0
  56. package/src/components/interaction/form/atoms/Message.module.css +4 -0
  57. package/src/components/layout/IconWrapper/IconWrapper.module.css +2 -2
  58. package/src/index.ts +2 -0
  59. package/src/test/token-contract.spec.ts +86 -0
  60. package/src/web-components/index.ts +2 -0
  61. package/src/web-components/interaction/bds-accordion-item.ts +1 -1
  62. package/src/web-components/interaction/bds-accordion.ts +1 -0
  63. package/src/web-components/interaction/bds-button.ts +1 -3
  64. package/src/web-components/interaction/bds-dialog.ts +3 -3
  65. package/src/web-components/interaction/bds-drawer.ts +2 -2
  66. package/src/web-components/interaction/bds-popover.ts +7 -2
  67. package/src/web-components/interaction/bds-tooltip.ts +1 -1
  68. package/src/web-components/interaction/form/BdsFieldGroup.mdx +67 -0
  69. package/src/web-components/interaction/form/BdsFieldGroup.stories.tsx +110 -0
  70. package/src/web-components/interaction/form/bds-checkbox-group.ts +1 -0
  71. package/src/web-components/interaction/form/bds-checkbox.ts +1 -1
  72. package/src/web-components/interaction/form/bds-combobox.ts +1 -1
  73. package/src/web-components/interaction/form/bds-field-group.spec.ts +64 -0
  74. package/src/web-components/interaction/form/bds-field-group.ts +157 -0
  75. package/src/web-components/interaction/form/bds-form-input.ts +2 -1
  76. package/src/web-components/interaction/form/bds-number-input.ts +1 -1
  77. package/src/web-components/interaction/form/bds-radio-group.ts +1 -0
  78. package/src/web-components/interaction/form/bds-radio.ts +1 -1
  79. package/src/web-components/interaction/form/bds-select.ts +1 -1
  80. package/src/web-components/interaction/form/bds-switch.ts +1 -1
  81. package/src/web-components/interaction/form/bds-textarea.ts +1 -1
  82. package/src/web-components/ui/BdsCard.mdx +4 -3
  83. package/src/web-components/ui/BdsCard.stories.tsx +7 -11
  84. package/src/web-components/ui/BdsSkeleton.stories.tsx +4 -4
  85. package/src/web-components/ui/bds-alert.ts +3 -2
  86. package/src/web-components/ui/bds-card.spec.ts +3 -5
  87. package/src/web-components/ui/bds-card.ts +5 -12
  88. package/src/web-components/ui/bds-notification-banner.ts +19 -18
  89. package/src/web-components/ui/bds-pagination.ts +1 -1
  90. package/src/web-components/ui/bds-table.ts +4 -0
@@ -30,7 +30,7 @@ var BdsCheckbox = class extends i2 {
30
30
  inline-size: var(--inputSize);
31
31
  block-size: var(--inputSize);
32
32
  flex-shrink: 0;
33
- --bdc_color: currentcolor;
33
+ --bdc_color: var(--checkbox_border-color, currentcolor);
34
34
  --bdc-outline_radius: var(--bds-border_radius--xs);
35
35
 
36
36
  border-radius: var(--checkbox_radius, var(--bdc-outline_radius));
@@ -15,7 +15,7 @@ var BdsDialog = class extends i2 {
15
15
  .dialog {
16
16
  font-size: var(--bds-font_size--body--s);
17
17
  border: var(--dialog_border, none);
18
- --bdc_color: currentcolor;
18
+ --bdc_color: var(--dialog_border-color, currentcolor);
19
19
  --bdc-outline_radius: var(--bds-border_radius--m);
20
20
 
21
21
  border-radius: var(--dialog_radius, var(--bdc-outline_radius));
@@ -47,11 +47,11 @@ var BdsDialog = class extends i2 {
47
47
  display: flex;
48
48
  align-items: center;
49
49
  justify-content: center;
50
- border-radius: 50%;
50
+ border-radius: var(--dialog_close-radius, var(--bds-border_radius--circle));
51
51
  background-color: var(--bds-color_bg);
52
52
  color: currentcolor;
53
53
  border: var(--dialog_close-border, none);
54
- --bdc_color: currentcolor;
54
+ --bdc_color: var(--dialog_close-border-color, currentcolor);
55
55
 
56
56
  box-shadow: inset 0 0 0 var(--bdc-outline_width) var(--bdc_color);
57
57
  cursor: pointer;
@@ -9,6 +9,7 @@ var BdsAccordion = class extends i2 {
9
9
  static styles = i`
10
10
  :host {
11
11
  display: block;
12
+ border: var(--accordion_border, none);
12
13
  --bdc_color: var(--bds-color_bg--subtle);
13
14
  --bdc-outline_radius: var(--bds-border_radius--s);
14
15
  border-radius: var(--accordion_radius, var(--bdc-outline_radius));
@@ -29,7 +29,7 @@ var BdsSelect = class extends i2 {
29
29
  padding: var(--bds-space_s);
30
30
  padding-inline-end: var(--bds-space_xl);
31
31
  border: none;
32
- --bdc_color: currentcolor;
32
+ --bdc_color: var(--select_border-color, currentcolor);
33
33
  --bdc-outline_radius: var(--bds-border_radius--xs);
34
34
 
35
35
  border-radius: var(--select_radius, var(--bdc-outline_radius));
@@ -29,7 +29,7 @@ var BdsCombobox = class extends i2 {
29
29
  padding: var(--bds-space_s);
30
30
  padding-inline-end: var(--bds-space_xl);
31
31
  border: none;
32
- --bdc_color: currentcolor;
32
+ --bdc_color: var(--combobox_border-color, currentcolor);
33
33
  --bdc-outline_radius: var(--bds-border_radius--xs);
34
34
 
35
35
  border-radius: var(--combobox_radius, var(--bdc-outline_radius));
@@ -31,7 +31,7 @@ var BdsButton = class extends i2 {
31
31
  padding-inline: var(--bds-space_l);
32
32
  display: inline-flex;
33
33
  gap: var(--bds-space_xs);
34
- border-radius: var(--button_border_radius--s, var(--bds-border_radius--s));
34
+ border-radius: var(--button_radius, var(--bds-border_radius--full));
35
35
  align-items: center;
36
36
  cursor: pointer;
37
37
  justify-content: center;
@@ -77,7 +77,6 @@ var BdsButton = class extends i2 {
77
77
  .button.small {
78
78
  --button_height: 2.25em;
79
79
  --button_font-size: var(--bds-font_size--body--s);
80
- --button_border_radius--s: var(--bds-border_radius--xs);
81
80
  padding-inline: var(--bds-space_m);
82
81
  }
83
82
 
@@ -88,7 +87,6 @@ var BdsButton = class extends i2 {
88
87
 
89
88
  .button.large {
90
89
  --button_font-size: var(--bds-font_size--heading-3);
91
- --button_border_radius--s: var(--bds-border_radius--m);
92
90
  padding-inline: var(--bds-space_xl);
93
91
  }
94
92
 
@@ -49,7 +49,7 @@ var BdsAccordionItem = class extends i2 {
49
49
 
50
50
  @media (hover: hover) and (pointer: fine) {
51
51
  .trigger:not(:disabled):hover {
52
- background-color: var(--bds-color_bg--subtle);
52
+ background-color: var(--accordion_trigger-bg--hover, var(--bds-color_bg--subtle));
53
53
  }
54
54
  }
55
55
 
@@ -30,7 +30,7 @@ var BdsRadio = class extends i2 {
30
30
  inline-size: var(--inputSize);
31
31
  block-size: var(--inputSize);
32
32
  flex-shrink: 0;
33
- --bdc_color: currentcolor;
33
+ --bdc_color: var(--radio_border-color, currentcolor);
34
34
  --bdc-outline_radius: 50%;
35
35
 
36
36
  border-radius: 50%;
@@ -96,7 +96,7 @@ var BdsDrawer = class extends i2 {
96
96
  justify-content: center;
97
97
  inline-size: 2rem;
98
98
  block-size: 2rem;
99
- border-radius: 50%;
99
+ border-radius: var(--drawer_close-radius, var(--bds-border_radius--circle));
100
100
  cursor: pointer;
101
101
  transition: var(--bds-animation_transition);
102
102
  }
@@ -113,7 +113,7 @@ var BdsDrawer = class extends i2 {
113
113
 
114
114
  @media (hover: hover) and (pointer: fine) {
115
115
  .close-button:hover {
116
- background-color: var(--bds-color_bg--subtle);
116
+ background-color: var(--drawer_close-bg--hover, var(--bds-color_bg--subtle));
117
117
  }
118
118
  }
119
119
 
@@ -89,7 +89,8 @@ var BdsAlert = class extends i2 {
89
89
  cursor: pointer;
90
90
  color: currentcolor;
91
91
  transition: var(--bds-animation_transition);
92
- border-radius: 50%;
92
+ border: var(--alert_dismiss-border, none);
93
+ border-radius: var(--alert_dismiss-radius, var(--bds-border_radius--circle));
93
94
  --bdc_color: currentcolor;
94
95
  box-shadow: inset 0 0 0 var(--bdc-outline_width) var(--bdc_color);
95
96
  }
@@ -106,7 +107,7 @@ var BdsAlert = class extends i2 {
106
107
 
107
108
  @media (hover: hover) and (pointer: fine) {
108
109
  .dismiss:hover {
109
- opacity: 0.7;
110
+ opacity: var(--alert_dismiss-opacity--hover, 0.7);
110
111
  }
111
112
  }
112
113
  `;
@@ -20,9 +20,11 @@ var BdsCard = class extends i2 {
20
20
  position: relative;
21
21
  box-sizing: border-box;
22
22
  inline-size: 100%;
23
+ block-size: 100%;
23
24
  text-align: inherit;
24
25
  font: inherit;
25
26
  border: none;
27
+ padding: var(--card_padding, var(--bds-space_m));
26
28
  }
27
29
 
28
30
  /* Resting shadows — consumers can override per-variant via
@@ -31,15 +33,11 @@ var BdsCard = class extends i2 {
31
33
  .card.--elevated { box-shadow: var(--card_shadow--elevated, var(--bds-shadow_m)); }
32
34
 
33
35
  .card.--outlined {
36
+ border: var(--card_border, none);
34
37
  --bdc_color: currentcolor;
35
38
  box-shadow: var(--card_shadow--outlined, inset 0 0 0 var(--bdc-outline_width) var(--bdc_color), var(--bds-shadow_s));
36
39
  }
37
40
 
38
- .card.--padding-none { padding: 0; }
39
- .card.--padding-small { padding: var(--bds-space_s); }
40
- .card.--padding-medium { padding: var(--bds-space_m); }
41
- .card.--padding-large { padding: var(--bds-space_l); }
42
-
43
41
  .card.--text-start { text-align: start; }
44
42
  .card.--text-center { text-align: center; }
45
43
  .card.--text-end { text-align: end; }
@@ -72,7 +70,6 @@ var BdsCard = class extends i2 {
72
70
  `;
73
71
  static properties = {
74
72
  variant: { type: String, reflect: true },
75
- padding: { type: String, reflect: true },
76
73
  textAlign: { type: String, attribute: "text-align", reflect: true },
77
74
  clickable: { type: Boolean, reflect: true },
78
75
  ariaLabel: { type: String, attribute: "aria-label" }
@@ -80,7 +77,6 @@ var BdsCard = class extends i2 {
80
77
  constructor() {
81
78
  super();
82
79
  this.variant = "default";
83
- this.padding = "medium";
84
80
  this.textAlign = "start";
85
81
  this.clickable = false;
86
82
  this.ariaLabel = "";
@@ -92,7 +88,6 @@ var BdsCard = class extends i2 {
92
88
  const classes = [
93
89
  "card",
94
90
  `--${this.variant}`,
95
- `--padding-${this.padding}`,
96
91
  `--text-${this.textAlign}`,
97
92
  this.clickable ? "--clickable" : ""
98
93
  ].filter(Boolean).join(" ");
@@ -28,7 +28,7 @@ var BdsNumberInput = class extends i2 {
28
28
  font-size: var(--bds-font_size--body);
29
29
  padding: var(--bds-space_s);
30
30
  border: none;
31
- --bdc_color: currentcolor;
31
+ --bdc_color: var(--number-input_border-color, currentcolor);
32
32
  --bdc-outline_radius: var(--bds-border_radius--xs);
33
33
 
34
34
  border-radius: var(--number-input_radius, var(--bdc-outline_radius));
@@ -24,7 +24,7 @@ var BdsTextarea = class extends i2 {
24
24
  line-height: var(--bds-font_line-height--body);
25
25
  padding: var(--bds-space_s);
26
26
  border: none;
27
- --bdc_color: currentcolor;
27
+ --bdc_color: var(--textarea_border-color, currentcolor);
28
28
  --bdc-outline_radius: var(--bds-border_radius--xs);
29
29
 
30
30
  border-radius: var(--textarea_radius, var(--bdc-outline_radius));
@@ -28,10 +28,15 @@ var BdsPopover = class extends i2 {
28
28
  overflow-y: auto;
29
29
  z-index: var(--popover_z-index, 100);
30
30
  min-width: 12rem;
31
+ max-width: var(--popover_max-width, 20rem);
32
+ max-height: var(--popover_max-height, 80dvh);
31
33
  padding: var(--bds-space_m);
32
- border-radius: var(--bds-border_radius--s);
34
+ border: var(--popover_border, none);
35
+ --bdc_color: currentcolor;
36
+ --bdc-outline_radius: var(--bds-border_radius--s);
37
+ border-radius: var(--popover_radius, var(--bdc-outline_radius));
33
38
  background-color: var(--popover_color, var(--bds-color_bg));
34
- box-shadow: var(--popover_shadow, var(--bds-shadow_m));
39
+ box-shadow: inset 0 0 0 var(--bdc-outline_width) var(--bdc_color), var(--popover_shadow, var(--bds-shadow_m));
35
40
  color: var(--popover_on-color, var(--bds-color_on-bg));
36
41
  font-size: var(--bds-font_size--body);
37
42
  }
@@ -17,9 +17,9 @@ var BdsNotificationBanner = class extends i2 {
17
17
  align-items: center;
18
18
  gap: var(--bds-space_m);
19
19
  padding: var(--bds-space_s) var(--bds-space_m);
20
- background-color: var(--banner_bg, var(--bds-color_blue--subtle));
21
- color: var(--banner_text, var(--bds-color_on-blue--subtle));
22
- border-block-end: 3px solid var(--banner_border, var(--bds-color_blue));
20
+ background-color: var(--banner_bg, var(--banner_bg--variant, var(--bds-color_blue--subtle)));
21
+ color: var(--banner_text, var(--banner_text--variant, var(--bds-color_on-blue--subtle)));
22
+ border-block-end: 3px solid var(--banner_border, var(--banner_border--variant, var(--bds-color_blue)));
23
23
  font-size: var(--bds-font_size--body);
24
24
  line-height: var(--bds-font_line-height--body);
25
25
  inline-size: 100%;
@@ -27,27 +27,27 @@ var BdsNotificationBanner = class extends i2 {
27
27
  }
28
28
 
29
29
  :host([variant='info']) .banner {
30
- --banner_bg: var(--bds-color_blue--subtle);
31
- --banner_text: var(--bds-color_on-blue--subtle);
32
- --banner_border: var(--bds-color_blue);
30
+ --banner_bg--variant: var(--banner_bg--info, var(--bds-color_blue--subtle));
31
+ --banner_text--variant: var(--banner_text--info, var(--bds-color_on-blue--subtle));
32
+ --banner_border--variant: var(--banner_border--info, var(--bds-color_blue));
33
33
  }
34
34
 
35
35
  :host([variant='success']) .banner {
36
- --banner_bg: var(--bds-color_success--subtle);
37
- --banner_text: var(--bds-color_on-success--subtle);
38
- --banner_border: var(--bds-color_success);
36
+ --banner_bg--variant: var(--banner_bg--success, var(--bds-color_success--subtle));
37
+ --banner_text--variant: var(--banner_text--success, var(--bds-color_on-success--subtle));
38
+ --banner_border--variant: var(--banner_border--success, var(--bds-color_success));
39
39
  }
40
40
 
41
41
  :host([variant='warning']) .banner {
42
- --banner_bg: var(--bds-color_orange--subtle);
43
- --banner_text: var(--bds-color_on-orange--subtle);
44
- --banner_border: var(--bds-color_warning);
42
+ --banner_bg--variant: var(--banner_bg--warning, var(--bds-color_orange--subtle));
43
+ --banner_text--variant: var(--banner_text--warning, var(--bds-color_on-orange--subtle));
44
+ --banner_border--variant: var(--banner_border--warning, var(--bds-color_warning));
45
45
  }
46
46
 
47
47
  :host([variant='error']) .banner {
48
- --banner_bg: rgb(from var(--bds-color_error) r g b / 12%);
49
- --banner_text: var(--bds-color_on-bg);
50
- --banner_border: var(--bds-color_error);
48
+ --banner_bg--variant: var(--banner_bg--error, rgb(from var(--bds-color_error) r g b / 12%));
49
+ --banner_text--variant: var(--banner_text--error, var(--bds-color_on-bg));
50
+ --banner_border--variant: var(--banner_border--error, var(--bds-color_error));
51
51
  }
52
52
 
53
53
  .content {
@@ -71,9 +71,10 @@ var BdsNotificationBanner = class extends i2 {
71
71
  flex-shrink: 0;
72
72
  cursor: pointer;
73
73
  color: currentcolor;
74
- border-radius: 50%;
74
+ border-radius: var(--banner_dismiss-radius, var(--bds-border_radius--circle));
75
+ border: var(--banner_dismiss-border, none);
75
76
  transition: var(--bds-animation_transition);
76
- --bdc_color: currentcolor;
77
+ --bdc_color: var(--notification-banner_dismiss-border-color, currentcolor);
77
78
  box-shadow: inset 0 0 0 var(--bdc-outline_width) var(--bdc_color);
78
79
  }
79
80
 
@@ -89,7 +90,7 @@ var BdsNotificationBanner = class extends i2 {
89
90
 
90
91
  @media (hover: hover) and (pointer: fine) {
91
92
  .dismiss:hover {
92
- opacity: 0.7;
93
+ opacity: var(--banner_dismiss-opacity--hover, 0.7);
93
94
  }
94
95
  }
95
96
  `;
@@ -30,7 +30,7 @@ var BdsSwitch = class extends i2 {
30
30
  block-size: 1.5rem;
31
31
  border-radius: 999px;
32
32
  background-color: var(--switch_color_bg, var(--bds-color_bg--subtle));
33
- --bdc_color: currentcolor;
33
+ --bdc_color: var(--switch_border-color, currentcolor);
34
34
 
35
35
  box-shadow: inset 0 0 0 var(--bdc-outline_width) var(--bdc_color);
36
36
  transition: background-color 0.2s ease;
@@ -17,7 +17,7 @@ var BdsTooltip = class extends i2 {
17
17
  position: absolute;
18
18
  z-index: var(--bds-z-index_popover, 200);
19
19
  padding: var(--bds-space_xxs) var(--bds-space_xs);
20
- border-radius: var(--bds-border_radius--xs);
20
+ border-radius: var(--tooltip_radius, var(--bds-border_radius--full));
21
21
  background-color: var(--tooltip_bg, var(--bds-color_on-bg));
22
22
  color: var(--tooltip_text, var(--bds-color_bg));
23
23
  font-size: var(--bds-font_size--body--s);
@@ -426,6 +426,61 @@ declare global {
426
426
  }
427
427
  }
428
428
 
429
+ type FieldGroupVariant = 'horizontal' | 'vertical';
430
+ /**
431
+ * `<bds-field-group>` — framework-agnostic FieldGroup custom element.
432
+ *
433
+ * Semantically groups related form fields under a single `<fieldset>` and
434
+ * lays them out either horizontally (with a CSS container query that
435
+ * collapses to a vertical stack when the FieldGroup itself is too narrow)
436
+ * or vertically. Mirrors the React `FieldGroup` component.
437
+ *
438
+ * Attributes:
439
+ * variant — "horizontal" (default) | "vertical"
440
+ * legend — optional legend text rendered above the fields
441
+ * disabled — boolean; forwarded to the inner <fieldset>
442
+ *
443
+ * Slots:
444
+ * (default) — form fields (any element). The slotted-element count is
445
+ * measured on each `slotchange` and surfaced via the
446
+ * `--fieldGroup_field-count` custom property, which the auto-derived
447
+ * collapse threshold reads.
448
+ *
449
+ * @example
450
+ * <bds-field-group variant="horizontal" legend="Contact details">
451
+ * <bds-form-input label="First name" name="first"></bds-form-input>
452
+ * <bds-form-input label="Last name" name="last"></bds-form-input>
453
+ * <bds-form-input label="Email" name="email"></bds-form-input>
454
+ * </bds-field-group>
455
+ */
456
+ declare class BdsFieldGroup extends LitElement {
457
+ static styles: lit.CSSResult;
458
+ static properties: {
459
+ variant: {
460
+ type: StringConstructor;
461
+ reflect: boolean;
462
+ };
463
+ legend: {
464
+ type: StringConstructor;
465
+ };
466
+ disabled: {
467
+ type: BooleanConstructor;
468
+ reflect: boolean;
469
+ };
470
+ };
471
+ variant: FieldGroupVariant;
472
+ legend: string;
473
+ disabled: boolean;
474
+ constructor();
475
+ private _onSlotChange;
476
+ render(): lit.TemplateResult<1>;
477
+ }
478
+ declare global {
479
+ interface HTMLElementTagNameMap {
480
+ 'bds-field-group': BdsFieldGroup;
481
+ }
482
+ }
483
+
429
484
  /**
430
485
  * `<bds-form-input>` — form-associated text input with label, hint, and error support.
431
486
  *
@@ -749,4 +804,4 @@ declare global {
749
804
  }
750
805
  }
751
806
 
752
- export { BdsButtonGroup, BdsCalendar, BdsCarousel, BdsCheckboxGroup, BdsDropdownMenu, BdsDropdownMenuItem, BdsFormInput, BdsGrid, BdsGridItem, BdsPagination, BdsRadioGroup, BdsTable };
807
+ export { BdsButtonGroup, BdsCalendar, BdsCarousel, BdsCheckboxGroup, BdsDropdownMenu, BdsDropdownMenuItem, BdsFieldGroup, type FieldGroupVariant as BdsFieldGroupVariant, BdsFormInput, BdsGrid, BdsGridItem, BdsPagination, BdsRadioGroup, BdsTable };