@boostdev/design-system-components 2.7.1 → 2.8.0

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 (43) hide show
  1. package/dist/client.cjs +52 -52
  2. package/dist/client.css +546 -546
  3. package/dist/client.js +52 -52
  4. package/dist/index.cjs +52 -52
  5. package/dist/index.css +546 -546
  6. package/dist/index.js +52 -52
  7. package/dist/web-components/{chunk-7FMR53BW.js → chunk-7YURXHTS.js} +35 -15
  8. package/dist/web-components/{chunk-5TFWOPLH.js → chunk-A3RLT3AS.js} +3 -3
  9. package/dist/web-components/{chunk-CM3KYZ6Z.js → chunk-ARMKC4BQ.js} +1 -1
  10. package/dist/web-components/{chunk-QBB6ZX4R.js → chunk-DZOEPVFT.js} +1 -1
  11. package/dist/web-components/{chunk-57TRNCWQ.js → chunk-FSZRP43R.js} +1 -1
  12. package/dist/web-components/{chunk-IYGF6CD5.js → chunk-JYYRJS2D.js} +2 -2
  13. package/dist/web-components/chunk-OF6FFGOT.js +167 -0
  14. package/dist/web-components/{chunk-F5E3IT7G.js → chunk-ORC56MDY.js} +5 -5
  15. package/dist/web-components/{chunk-5R6IFELV.js → chunk-QLT6MTZF.js} +1 -1
  16. package/dist/web-components/{chunk-CZBIVR4V.js → chunk-UUKSDCYS.js} +1 -1
  17. package/dist/web-components/{chunk-ITHLKR7Q.js → chunk-X3NQMBAQ.js} +2 -2
  18. package/dist/web-components/index.js +18 -18
  19. package/dist/web-components/interaction/bds-button.js +1 -1
  20. package/dist/web-components/interaction/form/bds-combobox.js +1 -1
  21. package/dist/web-components/interaction/form/bds-radio.js +1 -1
  22. package/dist/web-components/interaction/form/bds-select.js +1 -1
  23. package/dist/web-components/interaction/form/bds-slider.js +1 -1
  24. package/dist/web-components/interaction/form/bds-switch.js +1 -1
  25. package/dist/web-components/interaction/form/bds-textarea.js +1 -1
  26. package/dist/web-components/ui/bds-avatar.js +1 -1
  27. package/dist/web-components/ui/bds-icon-wrapper.js +1 -1
  28. package/dist/web-components/ui/bds-loading.js +1 -1
  29. package/dist/web-components/ui/bds-progress.js +1 -1
  30. package/package.json +1 -1
  31. package/src/web-components/interaction/bds-button.ts +5 -5
  32. package/src/web-components/interaction/form/bds-combobox.ts +1 -1
  33. package/src/web-components/interaction/form/bds-radio.ts +2 -2
  34. package/src/web-components/interaction/form/bds-select.ts +1 -1
  35. package/src/web-components/interaction/form/bds-slider.ts +35 -15
  36. package/src/web-components/interaction/form/bds-switch.ts +73 -39
  37. package/src/web-components/interaction/form/bds-textarea.ts +1 -1
  38. package/src/web-components/ui/bds-avatar.ts +1 -1
  39. package/src/web-components/ui/bds-carousel.ts +7 -7
  40. package/src/web-components/ui/bds-icon-wrapper.ts +3 -3
  41. package/src/web-components/ui/bds-loading.ts +1 -1
  42. package/src/web-components/ui/bds-progress.ts +2 -2
  43. package/dist/web-components/chunk-Y3POAKGS.js +0 -133
@@ -41,44 +41,64 @@ export class BdsSlider extends LitElement {
41
41
  }
42
42
 
43
43
  .input {
44
+ --slider_track-height: var(--bds-space_xxs);
45
+ --slider_thumb-size: calc(var(--bds-space_s) * 2);
46
+
47
+ color: var(--slider_color, var(--bds-color_on-bg));
44
48
  inline-size: 100%;
45
49
  appearance: none;
46
- block-size: 0.25rem;
47
- border-radius: 999px;
50
+ block-size: var(--slider_track-height);
51
+ border-radius: var(--slider_track-radius, var(--bds-border_radius--full));
48
52
  background: linear-gradient(
49
53
  to right,
50
- var(--slider_fill-color, var(--bds-color_interactive)) var(--slider_fill, 0%),
51
- var(--slider_track-color, var(--bds-color_bg--subtle)) var(--slider_fill, 0%)
54
+ var(--slider_color-active, var(--bdc-color_active)) 0%,
55
+ var(--slider_color-active, var(--bdc-color_active)) var(--slider_fill, 0%),
56
+ var(--slider_track-bg, var(--bds-color_bg--subtle)) var(--slider_fill, 0%),
57
+ var(--slider_track-bg, var(--bds-color_bg--subtle)) 100%
52
58
  );
53
59
  outline: none;
54
60
  cursor: pointer;
61
+ transition: var(--bds-animation_transition);
55
62
  }
56
63
 
57
64
  .input::-webkit-slider-thumb {
58
65
  appearance: none;
59
- inline-size: 1.25rem;
60
- block-size: 1.25rem;
61
- border-radius: 50%;
62
- background-color: var(--slider_thumb-color, var(--bds-color_interactive));
63
- box-shadow: var(--bds-shadow_m);
66
+ inline-size: var(--slider_thumb-size);
67
+ block-size: var(--slider_thumb-size);
68
+ border-radius: var(--slider_thumb-radius, var(--bds-border_radius--circle));
69
+ background-color: var(--slider_color-active, var(--bdc-color_active));
70
+ box-shadow: var(--bds-shadow_s);
64
71
  cursor: pointer;
65
72
  transition: var(--bds-animation_transition);
66
73
  }
67
74
 
68
75
  .input::-moz-range-thumb {
69
- inline-size: 1.25rem;
70
- block-size: 1.25rem;
71
- border-radius: 50%;
76
+ inline-size: var(--slider_thumb-size);
77
+ block-size: var(--slider_thumb-size);
72
78
  border: none;
73
- background-color: var(--slider_thumb-color, var(--bds-color_interactive));
74
- box-shadow: var(--bds-shadow_m);
79
+ border-radius: var(--slider_thumb-radius, var(--bds-border_radius--circle));
80
+ background-color: var(--slider_color-active, var(--bdc-color_active));
81
+ box-shadow: var(--bds-shadow_s);
75
82
  cursor: pointer;
76
83
  }
77
84
 
85
+ .input:disabled {
86
+ opacity: 0.4;
87
+ cursor: not-allowed;
88
+ }
89
+
78
90
  .input:focus-visible {
79
91
  outline: var(--bds-outline_default);
80
92
  outline-offset: var(--bds-outline_offset);
81
- border-radius: 999px;
93
+ border-radius: var(--slider_track-radius, var(--bds-border_radius--full));
94
+ }
95
+
96
+ @media (prefers-reduced-motion: reduce) {
97
+ .input,
98
+ .input::-webkit-slider-thumb,
99
+ .input::-moz-range-thumb {
100
+ transition: none;
101
+ }
82
102
  }
83
103
  `;
84
104
 
@@ -31,7 +31,7 @@ export class BdsSwitch extends LitElement {
31
31
  cursor: pointer;
32
32
  font-size: var(--bds-font_size--body);
33
33
  font-family: var(--bds-font_family--body);
34
- color: var(--bds-color_on-bg);
34
+ color: var(--switch_color, var(--bds-color_on-bg));
35
35
  }
36
36
 
37
37
  :host([disabled]) {
@@ -40,53 +40,87 @@ export class BdsSwitch extends LitElement {
40
40
  pointer-events: none;
41
41
  }
42
42
 
43
- .track {
44
- position: relative;
45
- inline-size: 2.75rem;
46
- block-size: 1.5rem;
47
- border-radius: 999px;
48
- background-color: var(--switch_color_bg, var(--bds-color_bg--subtle));
49
- --bdc_color: var(--switch_border-color, currentcolor);
50
-
51
- box-shadow: inset 0 0 0 var(--bdc-outline_width) var(--bdc_color);
52
- transition: background-color 0.2s ease;
53
- flex-shrink: 0;
54
- }
55
-
56
- .thumb {
57
- position: absolute;
58
- inset-block-start: 0.2rem;
59
- inset-inline-start: 0.2rem;
60
- inline-size: 1.1rem;
61
- block-size: 1.1rem;
62
- border-radius: 50%;
63
- background-color: var(--switch_thumb_color, var(--bds-color_interactive));
64
- transition: inset-inline-start 0.2s ease;
43
+ label {
44
+ display: inline-flex;
45
+ align-items: center;
46
+ gap: var(--bds-space_xs);
47
+ cursor: pointer;
65
48
  }
66
49
 
67
50
  .input {
68
51
  position: absolute;
52
+ inset: 0;
53
+ appearance: none;
69
54
  opacity: 0;
70
- inline-size: 0;
71
- block-size: 0;
55
+ inline-size: 100%;
56
+ block-size: 100%;
72
57
  margin: 0;
58
+ cursor: pointer;
59
+ z-index: 1;
60
+ }
61
+
62
+ .input:disabled {
63
+ cursor: not-allowed;
64
+ }
65
+
66
+ .track {
67
+ --switch_thumb-size: 1.25em;
68
+ --switch_track-pad: var(--bds-space_xxxs);
69
+ --switch_track-height: calc(var(--switch_thumb-size) + var(--switch_track-pad) * 2);
70
+ --switch_track-width: calc(var(--switch_thumb-size) * 2 + var(--switch_track-pad) * 2);
71
+
72
+ position: relative;
73
+ display: inline-flex;
74
+ align-items: center;
75
+ inline-size: var(--switch_track-width);
76
+ block-size: var(--switch_track-height);
77
+ border-radius: var(--switch_track-radius, var(--bds-border_radius--full));
78
+ background-color: var(--switch_track-bg, var(--bds-color_grey--subtle));
79
+ padding-inline: var(--switch_track-pad);
80
+ --bdc_color: var(--switch_thumb-bg, var(--bds-color_interactive));
81
+ box-shadow: inset 0 0 0 var(--bdc-outline_width) var(--bdc_color), var(--switch_shadow, var(--bdc-outline_shadow));
82
+ transition: --bdc_color var(--bds-animation_transition-duration) var(--bds-animation_easing),
83
+ background-color var(--bds-animation_transition-duration) var(--bds-animation_easing);
84
+ flex-shrink: 0;
85
+ pointer-events: none;
86
+ }
87
+
88
+ .thumb {
89
+ display: block;
90
+ inline-size: var(--switch_thumb-size);
91
+ block-size: var(--switch_thumb-size);
92
+ border-radius: var(--switch_thumb-radius, var(--bds-border_radius--circle));
93
+ background-color: var(--switch_thumb-bg, var(--bds-color_interactive));
94
+ box-shadow: var(--bds-shadow_s);
95
+ transition: var(--bds-animation_transition);
96
+ transform: translateX(0);
73
97
  }
74
98
 
75
99
  .input:checked + .track {
76
- background-color: var(--switch_color-active, var(--bdc-color_active--subtle));
100
+ background-color: var(--switch_track-bg--active, var(--bdc-color_active--subtle));
101
+ --bdc_color: var(--switch_thumb-bg--active, var(--bds-color_interactive));
77
102
  }
78
103
 
79
104
  .input:checked + .track .thumb {
80
- inset-inline-start: calc(100% - 1.3rem);
105
+ background-color: var(--switch_thumb-bg--active, var(--bds-color_interactive));
106
+ transform: translateX(var(--switch_thumb-size));
81
107
  }
82
108
 
83
109
  .input:focus-visible + .track {
84
110
  outline: var(--bds-outline_default);
85
111
  outline-offset: var(--bds-outline_offset);
112
+ border-radius: var(--switch_track-radius, var(--bds-border_radius--full));
86
113
  }
87
114
 
88
- label {
89
- cursor: pointer;
115
+ .input:disabled + .track {
116
+ opacity: 0.4;
117
+ }
118
+
119
+ @media (prefers-reduced-motion: reduce) {
120
+ .track,
121
+ .thumb {
122
+ transition: none;
123
+ }
90
124
  }
91
125
  `;
92
126
 
@@ -136,17 +170,17 @@ export class BdsSwitch extends LitElement {
136
170
  render() {
137
171
  const id = `bds-switch-${this._uid}`;
138
172
  return html`
139
- <input
140
- id=${id}
141
- type="checkbox"
142
- role="switch"
143
- class="input"
144
- .checked=${this.checked}
145
- ?required=${this.required}
146
- ?disabled=${this.disabled}
147
- @change=${this._handleChange}
148
- />
149
173
  <label for=${id}>
174
+ <input
175
+ id=${id}
176
+ type="checkbox"
177
+ role="switch"
178
+ class="input"
179
+ .checked=${this.checked}
180
+ ?required=${this.required}
181
+ ?disabled=${this.disabled}
182
+ @change=${this._handleChange}
183
+ />
150
184
  <span class="track">
151
185
  <span class="thumb"></span>
152
186
  </span>
@@ -42,7 +42,7 @@ export class BdsTextarea extends LitElement {
42
42
  padding: var(--bds-space_s);
43
43
  border: none;
44
44
  --bdc_color: var(--textarea_border-color, currentcolor);
45
- --bdc-outline_radius: var(--bds-border_radius--xs);
45
+ --bdc-outline_radius: var(--bdc-outline_radius--l);
46
46
 
47
47
  border-radius: var(--textarea_radius, var(--bdc-outline_radius));
48
48
  box-shadow: inset 0 0 0 var(--bdc-outline_width) var(--bdc_color), var(--textarea_shadow, var(--bdc-outline_shadow));
@@ -23,7 +23,7 @@ export class BdsAvatar extends LitElement {
23
23
  justify-content: center;
24
24
  inline-size: var(--avatar_size, 3em);
25
25
  block-size: var(--avatar_size, 3em);
26
- border-radius: 50%;
26
+ border-radius: var(--avatar_radius, var(--bds-border_radius--circle));
27
27
  overflow: hidden;
28
28
  flex-shrink: 0;
29
29
  }
@@ -63,8 +63,8 @@ export class BdsCarousel extends LitElement {
63
63
  inline-size: 2.5rem;
64
64
  block-size: 2.5rem;
65
65
  border: none;
66
- border-radius: var(--bds-border_radius--full, 9999px);
67
- background-color: var(--bds-color_bg--subtle);
66
+ border-radius: var(--carousel_navBtn-radius, var(--bds-border_radius--circle));
67
+ background-color: var(--carousel_navBtn-bg, var(--bds-color_bg--subtle));
68
68
  color: var(--bds-color_on-bg);
69
69
  cursor: pointer;
70
70
  transition: var(--bds-animation_transition);
@@ -77,7 +77,7 @@ export class BdsCarousel extends LitElement {
77
77
 
78
78
  @media (hover: hover) and (pointer: fine) {
79
79
  .nav-btn:hover {
80
- background-color: var(--bds-color_bg--strong);
80
+ background-color: var(--carousel_navBtn-bg--hover, var(--bds-color_bg--strong));
81
81
  }
82
82
  }
83
83
 
@@ -102,18 +102,18 @@ export class BdsCarousel extends LitElement {
102
102
  .dot {
103
103
  inline-size: 0.5rem;
104
104
  block-size: 0.5rem;
105
- border-radius: 50%;
105
+ border-radius: var(--carousel_indicator-radius, var(--bds-border_radius--circle));
106
106
  border: none;
107
107
  padding: 0;
108
- background-color: var(--bds-color_bg--strong);
108
+ background-color: var(--carousel_indicator-bg, var(--bds-color_bg--strong));
109
109
  cursor: pointer;
110
110
  transition: var(--bds-animation_transition);
111
111
  }
112
112
 
113
113
  .dot.--active {
114
- background-color: var(--bds-color_interactive);
114
+ background-color: var(--carousel_indicator-bg--active, var(--bds-color_interactive));
115
115
  inline-size: 1rem;
116
- border-radius: 0.25rem;
116
+ border-radius: var(--carousel_indicator-radius--active, var(--bds-border_radius--full));
117
117
  }
118
118
 
119
119
  .dot:focus-visible {
@@ -26,14 +26,14 @@ export class BdsIconWrapper extends LitElement {
26
26
  inline-size: 2em;
27
27
  block-size: 2em;
28
28
  font-size: 3em;
29
- border-radius: 50%;
29
+ border-radius: var(--icon-wrapper-radius, var(--bds-border_radius--circle));
30
30
  display: flex;
31
31
  align-items: center;
32
32
  justify-content: center;
33
33
  margin: var(--bds-space_l) auto var(--bds-space_m);
34
34
  background: var(--icon-wrapper-color, var(--bds-color_bg));
35
- color: var(--bds-on-icon-wrapper-color, var(--bds-color_on-bg));
36
- fill: var(--bds-on-icon-wrapper-color, var(--bds-color_on-bg));
35
+ color: var(--icon-wrapper_on-color, var(--bds-on-icon-wrapper-color, var(--bds-color_on-bg)));
36
+ fill: currentcolor;
37
37
  position: relative;
38
38
  transition: var(--bds-animation_transition);
39
39
  }
@@ -23,7 +23,7 @@ export class BdsLoading extends LitElement {
23
23
  block-size: 2.5em;
24
24
  border: 4px solid var(--bds-color_bg);
25
25
  border-block-start: 4px solid var(--bds-color_interactive);
26
- border-radius: 50%;
26
+ border-radius: var(--loading_radius, var(--bds-border_radius--circle));
27
27
  animation: spin 1s linear infinite;
28
28
  }
29
29
 
@@ -42,7 +42,7 @@ export class BdsProgress extends LitElement {
42
42
  inline-size: 100%;
43
43
  block-size: var(--progress_height, var(--bds-space_xs));
44
44
  background-color: var(--bds-color_bg--subtle);
45
- border-radius: 999px;
45
+ border-radius: var(--progress_radius, var(--bds-border_radius--full));
46
46
  overflow: hidden;
47
47
  }
48
48
 
@@ -53,7 +53,7 @@ export class BdsProgress extends LitElement {
53
53
  .fill {
54
54
  block-size: 100%;
55
55
  background-color: var(--progress_color-active, var(--bdc-color_active));
56
- border-radius: 999px;
56
+ border-radius: var(--progress_radius, var(--bds-border_radius--full));
57
57
  transition: inline-size var(--bds-animation_transition-duration) var(--bds-animation_easing);
58
58
  }
59
59
 
@@ -1,133 +0,0 @@
1
- import {
2
- T,
3
- i,
4
- i2
5
- } from "./chunk-LGEZYFUU.js";
6
-
7
- // src/web-components/interaction/form/bds-switch.ts
8
- var BdsSwitch = class extends i2 {
9
- static formAssociated = true;
10
- static styles = i`
11
- :host {
12
- display: inline-flex;
13
- align-items: center;
14
- gap: var(--bds-space_xs);
15
- cursor: pointer;
16
- font-size: var(--bds-font_size--body);
17
- font-family: var(--bds-font_family--body);
18
- color: var(--bds-color_on-bg);
19
- }
20
-
21
- :host([disabled]) {
22
- opacity: 0.5;
23
- cursor: not-allowed;
24
- pointer-events: none;
25
- }
26
-
27
- .track {
28
- position: relative;
29
- inline-size: 2.75rem;
30
- block-size: 1.5rem;
31
- border-radius: 999px;
32
- background-color: var(--switch_color_bg, var(--bds-color_bg--subtle));
33
- --bdc_color: var(--switch_border-color, currentcolor);
34
-
35
- box-shadow: inset 0 0 0 var(--bdc-outline_width) var(--bdc_color);
36
- transition: background-color 0.2s ease;
37
- flex-shrink: 0;
38
- }
39
-
40
- .thumb {
41
- position: absolute;
42
- inset-block-start: 0.2rem;
43
- inset-inline-start: 0.2rem;
44
- inline-size: 1.1rem;
45
- block-size: 1.1rem;
46
- border-radius: 50%;
47
- background-color: var(--switch_thumb_color, var(--bds-color_interactive));
48
- transition: inset-inline-start 0.2s ease;
49
- }
50
-
51
- .input {
52
- position: absolute;
53
- opacity: 0;
54
- inline-size: 0;
55
- block-size: 0;
56
- margin: 0;
57
- }
58
-
59
- .input:checked + .track {
60
- background-color: var(--switch_color-active, var(--bdc-color_active--subtle));
61
- }
62
-
63
- .input:checked + .track .thumb {
64
- inset-inline-start: calc(100% - 1.3rem);
65
- }
66
-
67
- .input:focus-visible + .track {
68
- outline: var(--bds-outline_default);
69
- outline-offset: var(--bds-outline_offset);
70
- }
71
-
72
- label {
73
- cursor: pointer;
74
- }
75
- `;
76
- static properties = {
77
- name: { type: String, reflect: true },
78
- value: { type: String },
79
- checked: { type: Boolean, reflect: true },
80
- required: { type: Boolean, reflect: true },
81
- disabled: { type: Boolean, reflect: true }
82
- };
83
- _internals;
84
- _uid = Math.random().toString(36).slice(2, 8);
85
- constructor() {
86
- super();
87
- this._internals = this.attachInternals();
88
- this.name = "";
89
- this.value = "on";
90
- this.checked = false;
91
- this.required = false;
92
- this.disabled = false;
93
- }
94
- updated(changed) {
95
- super.updated(changed);
96
- if (changed.has("checked") || changed.has("value")) {
97
- this._internals.setFormValue?.(this.checked ? this.value : null);
98
- }
99
- }
100
- formResetCallback() {
101
- this.checked = false;
102
- this._internals.setFormValue?.(null);
103
- }
104
- _handleChange(e) {
105
- this.checked = e.target.checked;
106
- }
107
- render() {
108
- const id = `bds-switch-${this._uid}`;
109
- return T`
110
- <input
111
- id=${id}
112
- type="checkbox"
113
- role="switch"
114
- class="input"
115
- .checked=${this.checked}
116
- ?required=${this.required}
117
- ?disabled=${this.disabled}
118
- @change=${this._handleChange}
119
- />
120
- <label for=${id}>
121
- <span class="track">
122
- <span class="thumb"></span>
123
- </span>
124
- <slot></slot>
125
- </label>
126
- `;
127
- }
128
- };
129
- customElements.define("bds-switch", BdsSwitch);
130
-
131
- export {
132
- BdsSwitch
133
- };