@chayns-ui/core 0.6.0 → 0.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 (135) hide show
  1. package/README.md +9 -3
  2. package/dist/accordion.css +66 -2
  3. package/dist/avatar.css +5 -11
  4. package/dist/badge.css +3 -3
  5. package/dist/banner.css +89 -0
  6. package/dist/button.css +16 -2
  7. package/dist/card.css +29 -2
  8. package/dist/checkbox.css +24 -13
  9. package/dist/combo-box.css +20 -2
  10. package/dist/components/accordion/Accordion.d.ts +10 -2
  11. package/dist/components/accordion/Accordion.d.ts.map +1 -1
  12. package/dist/components/accordion/Accordion.js +120 -46
  13. package/dist/components/accordion/Accordion.js.map +1 -1
  14. package/dist/components/accordion/Accordion.types.d.ts +24 -1
  15. package/dist/components/accordion/Accordion.types.d.ts.map +1 -1
  16. package/dist/components/accordion/Accordion.types.js +6 -0
  17. package/dist/components/accordion/Accordion.types.js.map +1 -0
  18. package/dist/components/accordion/AccordionContext.d.ts +9 -0
  19. package/dist/components/accordion/AccordionContext.d.ts.map +1 -1
  20. package/dist/components/accordion/AccordionContext.js +8 -2
  21. package/dist/components/accordion/AccordionContext.js.map +1 -1
  22. package/dist/components/accordion-group/AccordionGroup.d.ts +1 -1
  23. package/dist/components/accordion-group/AccordionGroup.d.ts.map +1 -1
  24. package/dist/components/accordion-group/AccordionGroup.js +3 -3
  25. package/dist/components/accordion-group/AccordionGroup.js.map +1 -1
  26. package/dist/components/avatar/Avatar.d.ts +1 -0
  27. package/dist/components/avatar/Avatar.d.ts.map +1 -1
  28. package/dist/components/avatar/Avatar.js +11 -8
  29. package/dist/components/avatar/Avatar.js.map +1 -1
  30. package/dist/components/avatar-group/AvatarGroup.js +1 -1
  31. package/dist/components/badge/Badge.js +1 -1
  32. package/dist/components/banner/Banner.d.ts +3 -0
  33. package/dist/components/banner/Banner.d.ts.map +1 -0
  34. package/dist/components/banner/Banner.js +46 -0
  35. package/dist/components/banner/Banner.js.map +1 -0
  36. package/dist/components/banner/Banner.types.d.ts +24 -0
  37. package/dist/components/banner/Banner.types.d.ts.map +1 -0
  38. package/dist/components/banner/Banner.types.js +11 -0
  39. package/dist/components/banner/Banner.types.js.map +1 -0
  40. package/dist/components/button/Button.d.ts +1 -1
  41. package/dist/components/button/Button.d.ts.map +1 -1
  42. package/dist/components/button/Button.js +8 -3
  43. package/dist/components/button/Button.js.map +1 -1
  44. package/dist/components/button/Button.types.d.ts +6 -2
  45. package/dist/components/button/Button.types.d.ts.map +1 -1
  46. package/dist/components/button/Button.types.js.map +1 -1
  47. package/dist/components/card/Card.d.ts +4 -2
  48. package/dist/components/card/Card.d.ts.map +1 -1
  49. package/dist/components/card/Card.js +24 -8
  50. package/dist/components/card/Card.js.map +1 -1
  51. package/dist/components/card/Card.types.d.ts +10 -12
  52. package/dist/components/card/Card.types.d.ts.map +1 -1
  53. package/dist/components/checkbox/Checkbox.d.ts +1 -1
  54. package/dist/components/checkbox/Checkbox.d.ts.map +1 -1
  55. package/dist/components/checkbox/Checkbox.js +15 -6
  56. package/dist/components/checkbox/Checkbox.js.map +1 -1
  57. package/dist/components/checkbox/Checkbox.types.d.ts +2 -0
  58. package/dist/components/checkbox/Checkbox.types.d.ts.map +1 -1
  59. package/dist/components/combo-box/ComboBox.d.ts.map +1 -1
  60. package/dist/components/combo-box/ComboBox.js +20 -3
  61. package/dist/components/combo-box/ComboBox.js.map +1 -1
  62. package/dist/components/date-time-picker/DateTimePicker.d.ts +4 -0
  63. package/dist/components/date-time-picker/DateTimePicker.d.ts.map +1 -0
  64. package/dist/components/date-time-picker/DateTimePicker.js +339 -0
  65. package/dist/components/date-time-picker/DateTimePicker.js.map +1 -0
  66. package/dist/components/date-time-picker/DateTimePicker.types.d.ts +26 -0
  67. package/dist/components/date-time-picker/DateTimePicker.types.d.ts.map +1 -0
  68. package/dist/components/date-time-picker/DateTimePicker.types.js +12 -0
  69. package/dist/components/date-time-picker/DateTimePicker.types.js.map +1 -0
  70. package/dist/components/icon-button/IconButton.d.ts +7 -2
  71. package/dist/components/icon-button/IconButton.d.ts.map +1 -1
  72. package/dist/components/icon-button/IconButton.js +8 -3
  73. package/dist/components/icon-button/IconButton.js.map +1 -1
  74. package/dist/components/icon-button/IconButton.types.d.ts +3 -1
  75. package/dist/components/icon-button/IconButton.types.d.ts.map +1 -1
  76. package/dist/components/list/List.js +1 -1
  77. package/dist/components/popup/Popup.js +1 -1
  78. package/dist/components/popup/PopupList.js +1 -1
  79. package/dist/components/radio-group/RadioGroup.d.ts.map +1 -1
  80. package/dist/components/radio-group/RadioGroup.js +17 -8
  81. package/dist/components/radio-group/RadioGroup.js.map +1 -1
  82. package/dist/components/radio-group/RadioGroup.types.d.ts +5 -3
  83. package/dist/components/radio-group/RadioGroup.types.d.ts.map +1 -1
  84. package/dist/components/segmented-control/SegmentedControl.d.ts.map +1 -1
  85. package/dist/components/segmented-control/SegmentedControl.js +12 -5
  86. package/dist/components/segmented-control/SegmentedControl.js.map +1 -1
  87. package/dist/components/segmented-control/SegmentedControl.types.d.ts +5 -2
  88. package/dist/components/segmented-control/SegmentedControl.types.d.ts.map +1 -1
  89. package/dist/components/skeleton/Skeleton.d.ts +4 -0
  90. package/dist/components/skeleton/Skeleton.d.ts.map +1 -0
  91. package/dist/components/skeleton/Skeleton.js +20 -0
  92. package/dist/components/skeleton/Skeleton.js.map +1 -0
  93. package/dist/components/skeleton/Skeleton.types.d.ts +11 -0
  94. package/dist/components/skeleton/Skeleton.types.d.ts.map +1 -0
  95. package/dist/components/skeleton/Skeleton.types.js +10 -0
  96. package/dist/components/skeleton/Skeleton.types.js.map +1 -0
  97. package/dist/components/split-button/SplitButton.d.ts +1 -1
  98. package/dist/components/split-button/SplitButton.d.ts.map +1 -1
  99. package/dist/components/split-button/SplitButton.js +9 -17
  100. package/dist/components/split-button/SplitButton.js.map +1 -1
  101. package/dist/components/switch/Switch.d.ts +1 -1
  102. package/dist/components/switch/Switch.d.ts.map +1 -1
  103. package/dist/components/switch/Switch.js +13 -5
  104. package/dist/components/switch/Switch.js.map +1 -1
  105. package/dist/components/switch/Switch.types.d.ts +2 -0
  106. package/dist/components/switch/Switch.types.d.ts.map +1 -1
  107. package/dist/components/text-area/TextArea.d.ts +1 -1
  108. package/dist/components/text-area/TextArea.d.ts.map +1 -1
  109. package/dist/components/text-area/TextArea.js +5 -4
  110. package/dist/components/text-area/TextArea.js.map +1 -1
  111. package/dist/components/text-field/TextField.d.ts +1 -1
  112. package/dist/components/text-field/TextField.d.ts.map +1 -1
  113. package/dist/components/text-field/TextField.js +5 -4
  114. package/dist/components/text-field/TextField.js.map +1 -1
  115. package/dist/date-time-picker.css +121 -0
  116. package/dist/index.d.ts +12 -5
  117. package/dist/index.d.ts.map +1 -1
  118. package/dist/index.js +8 -2
  119. package/dist/list.css +4 -4
  120. package/dist/radio-group.css +13 -1
  121. package/dist/segmented-control.css +24 -7
  122. package/dist/skeleton.css +41 -0
  123. package/dist/split-button.css +1 -1
  124. package/dist/styles.css +3 -1
  125. package/dist/switch.css +18 -5
  126. package/dist/text-area.css +2 -2
  127. package/dist/text-field.css +1 -1
  128. package/package.json +4 -2
  129. package/dist/components/message-box/MessageBox.d.ts +0 -4
  130. package/dist/components/message-box/MessageBox.d.ts.map +0 -1
  131. package/dist/components/message-box/MessageBox.js +0 -19
  132. package/dist/components/message-box/MessageBox.js.map +0 -1
  133. package/dist/components/message-box/MessageBox.types.d.ts +0 -13
  134. package/dist/components/message-box/MessageBox.types.d.ts.map +0 -1
  135. package/dist/message-box.css +0 -26
package/README.md CHANGED
@@ -36,11 +36,11 @@ import '@chayns-ui/core/button.css';
36
36
 
37
37
  | Import | CSS-Export |
38
38
  |---|---|
39
- | `Button`, `IconButton` | `@chayns-ui/core/button.css` |
39
+ | `Button`, `IconButton`, `SplitButton` | `@chayns-ui/core/button.css`, `@chayns-ui/core/split-button.css` |
40
40
  | `Card` | `@chayns-ui/core/card.css` |
41
- | `Avatar`, `AvatarGroup` | `@chayns-ui/core/avatar.css` |
41
+ | `Avatar`, `AvatarGroup`, `Badge`, `Banner` | matching CSS exports |
42
42
  | `List` | `@chayns-ui/core/list.css` |
43
- | `TextField`, `TextArea`, `Checkbox`, `Switch`, `RadioGroup`, `SegmentedControl`, `MessageBox` | their matching CSS export |
43
+ | `TextField`, `TextArea`, `Checkbox`, `Switch`, `RadioGroup`, `SegmentedControl`, `Banner`, `ComboBox` | matching CSS exports |
44
44
  | `Accordion`, `AccordionGroup` | `@chayns-ui/core/accordion.css` |
45
45
  | `Popup`, `PopupList` | `@chayns-ui/core/popup.css` |
46
46
  | `SplitButton` | `@chayns-ui/core/split-button.css` |
@@ -50,6 +50,12 @@ Alternativ lädt `@chayns-ui/core/styles.css` das gebündelte CSS aller Komponen
50
50
  `ListItem` wurde vor 1.0 durch `List.Item` ersetzt. Komponiere Zeilen mit
51
51
  `List.Item.Action`, `List.Item.Body`, `List.Item.Title` und optionalen Slots.
52
52
 
53
+ `ComboBox` unterstützt Single-Select und Multi-Select. `TextField` und
54
+ `TextArea` akzeptieren native `type`- beziehungsweise `autoComplete`-Werte,
55
+ einschließlich `type="password"`; eine Sichtbarkeitsumschaltung ist kein Teil
56
+ des Core-Vertrags. `Badge` ist ein statischer Statusindikator, während
57
+ `Banner` ein optional schließbares Statusmuster ist.
58
+
53
59
  ## Hinweise
54
60
 
55
61
  Die Bibliothek lädt keine Fonts, injiziert kein CSS und kalibriert keine
@@ -45,6 +45,12 @@
45
45
  cursor: pointer;
46
46
  }
47
47
 
48
+ .chayns-accordion--list > .chayns-accordion__header {
49
+ gap: var(--k12);
50
+ padding: var(--k12) var(--k16);
51
+ transition: background 0.16s ease;
52
+ }
53
+
48
54
  .chayns-accordion--wrapped > .chayns-accordion__header {
49
55
  gap: var(--k10);
50
56
  padding: var(--k10) var(--k12);
@@ -80,7 +86,47 @@
80
86
  color: var(--text);
81
87
  }
82
88
 
83
- .chayns-accordion--open > .chayns-accordion__header > .chayns-accordion__title {
89
+ .chayns-accordion__head-content {
90
+ display: flex;
91
+ min-inline-size: 0;
92
+ flex: 1;
93
+ flex-direction: column;
94
+ }
95
+
96
+ .chayns-accordion__subtitle {
97
+ overflow: hidden;
98
+ color: var(--text-3);
99
+ font-size: var(--fs-meta);
100
+ text-overflow: ellipsis;
101
+ white-space: nowrap;
102
+ }
103
+
104
+ .chayns-accordion__leading {
105
+ display: inline-flex;
106
+ inline-size: var(--k32);
107
+ block-size: var(--k32);
108
+ flex: none;
109
+ align-items: center;
110
+ justify-content: center;
111
+ overflow: hidden;
112
+ }
113
+
114
+ .chayns-accordion--list .chayns-accordion__leading {
115
+ inline-size: var(--k38);
116
+ block-size: var(--k38);
117
+ }
118
+
119
+ .chayns-accordion--list .chayns-accordion__leading > .chayns-avatar--small {
120
+ inline-size: var(--k38);
121
+ block-size: var(--k38);
122
+ }
123
+
124
+ .chayns-accordion__leading > * {
125
+ max-inline-size: 100%;
126
+ max-block-size: 100%;
127
+ }
128
+
129
+ .chayns-accordion--open .chayns-accordion__title {
84
130
  font-weight: 600;
85
131
  }
86
132
 
@@ -112,6 +158,18 @@
112
158
  color: var(--text-3);
113
159
  }
114
160
 
161
+ .chayns-accordion--has-leading .chayns-accordion__content {
162
+ padding-inline-start: calc(var(--k16) + var(--k16) + var(--k12) + var(--k32) + var(--k12));
163
+ }
164
+
165
+ .chayns-accordion--list .chayns-accordion__content {
166
+ padding: 0 var(--k16) var(--k14) calc(var(--k16) + var(--k16) + var(--k12));
167
+ }
168
+
169
+ .chayns-accordion--wrapped.chayns-accordion--has-leading .chayns-accordion__content {
170
+ padding-inline-start: calc(var(--k12) + var(--k14) + var(--k10) + var(--k32) + var(--k10));
171
+ }
172
+
115
173
  .chayns-accordion--wrapped
116
174
  > .chayns-accordion__panel
117
175
  > .chayns-accordion__inner
@@ -127,10 +185,16 @@
127
185
  color: var(--muted);
128
186
  }
129
187
 
130
- .chayns-accordion--disabled > .chayns-accordion__header > .chayns-accordion__title {
188
+ .chayns-accordion--disabled .chayns-accordion__title {
131
189
  color: var(--muted);
132
190
  }
133
191
 
192
+ .chayns-accordion--list.chayns-accordion--open
193
+ > .chayns-accordion__header
194
+ .chayns-accordion__title {
195
+ font-weight: 500;
196
+ }
197
+
134
198
  @media (hover: hover) {
135
199
  .chayns-accordion__header:not(:disabled):hover {
136
200
  background: var(--hover);
package/dist/avatar.css CHANGED
@@ -1,5 +1,7 @@
1
1
  @layer chayns.components {
2
2
  .chayns-avatar {
3
+ --chayns-avatar-initials-lightness: 25%;
4
+
3
5
  position: relative;
4
6
  display: inline-flex;
5
7
  flex: none;
@@ -9,7 +11,7 @@
9
11
  block-size: var(--k44);
10
12
  overflow: visible;
11
13
  border-radius: 50%;
12
- background: var(--accent);
14
+ background: var(--chayns-avatar-initials-color, var(--accent));
13
15
  color: var(--on-accent);
14
16
  font-size: var(--fs-body);
15
17
  font-weight: 600;
@@ -17,16 +19,8 @@
17
19
  vertical-align: middle;
18
20
  }
19
21
 
20
- .chayns-avatar--tone-0 {
21
- background: var(--accent);
22
- }
23
-
24
- .chayns-avatar--tone-1 {
25
- background: var(--accent-hover);
26
- }
27
-
28
- .chayns-avatar--tone-2 {
29
- background: var(--accent-active);
22
+ :is(.chayns-theme--dark .chayns-avatar, .chayns-theme--dark.chayns-avatar) {
23
+ --chayns-avatar-initials-lightness: 70%;
30
24
  }
31
25
 
32
26
  .chayns-avatar--small {
package/dist/badge.css CHANGED
@@ -31,16 +31,16 @@
31
31
  .chayns-badge--success {
32
32
  /* stylelint-disable-next-line custom-property-pattern */
33
33
  background: var(--success-bg);
34
- color: var(--text);
34
+ color: var(--success);
35
35
  }
36
36
 
37
37
  .chayns-badge--warning {
38
38
  background: var(--warning-bg);
39
- color: var(--text);
39
+ color: var(--warning);
40
40
  }
41
41
 
42
42
  .chayns-badge--danger {
43
43
  background: var(--danger-bg);
44
- color: var(--text);
44
+ color: var(--danger);
45
45
  }
46
46
  }
@@ -0,0 +1,89 @@
1
+ @layer chayns.components {
2
+ .chayns-banner {
3
+ box-sizing: border-box;
4
+ display: flex;
5
+ align-items: center;
6
+ gap: var(--k13);
7
+ inline-size: 100%;
8
+ padding: var(--k13) var(--k16);
9
+ border: 1px solid var(--border);
10
+ border-radius: 12px;
11
+ background: var(--surface-alt);
12
+ color: var(--text);
13
+ }
14
+
15
+ .chayns-banner--success {
16
+ /* stylelint-disable-next-line custom-property-pattern */
17
+ border-color: var(--success);
18
+ /* stylelint-disable-next-line custom-property-pattern */
19
+ background: var(--success-bg);
20
+ }
21
+
22
+ .chayns-banner--neutral {
23
+ border-color: var(--accent-300);
24
+ }
25
+
26
+ .chayns-banner--warning {
27
+ border-color: var(--warning);
28
+ background: var(--warning-bg);
29
+ }
30
+
31
+ .chayns-banner--danger {
32
+ border-color: var(--danger);
33
+ background: var(--danger-bg);
34
+ }
35
+
36
+ .chayns-banner__icon {
37
+ display: inline-flex;
38
+ flex: none;
39
+ align-items: center;
40
+ justify-content: center;
41
+ inline-size: var(--icon-lg);
42
+ block-size: var(--icon-lg);
43
+ color: var(--accent);
44
+ }
45
+
46
+ .chayns-banner--success .chayns-banner__icon {
47
+ /* stylelint-disable-next-line custom-property-pattern */
48
+ color: var(--success);
49
+ }
50
+
51
+ .chayns-banner--warning .chayns-banner__icon {
52
+ color: var(--warning);
53
+ }
54
+
55
+ .chayns-banner--danger .chayns-banner__icon {
56
+ color: var(--danger);
57
+ }
58
+
59
+ .chayns-banner__content {
60
+ min-inline-size: 0;
61
+ flex: 1;
62
+ }
63
+
64
+ .chayns-banner__close {
65
+ display: inline-flex;
66
+ flex: none;
67
+ align-items: center;
68
+ justify-content: center;
69
+ inline-size: var(--k28);
70
+ block-size: var(--k28);
71
+ margin-block-start: 0;
72
+ padding: 0;
73
+ border: 0;
74
+ border-radius: 50%;
75
+ background: transparent;
76
+ color: var(--text-2);
77
+ cursor: pointer;
78
+ }
79
+
80
+ .chayns-banner__close:hover {
81
+ background: var(--hover);
82
+ color: var(--text);
83
+ }
84
+
85
+ .chayns-banner__close:focus-visible {
86
+ outline: var(--focus-ring-size) solid rgb(var(--focus-ring-rgb), var(--focus-ring-alpha-strong));
87
+ outline-offset: 2px;
88
+ }
89
+ }
package/dist/button.css CHANGED
@@ -65,11 +65,11 @@
65
65
  }
66
66
 
67
67
  :where(.chayns-button, .chayns-icon-button):active:not(:disabled) {
68
- transform: scale(0.97);
68
+ transform: scale(0.96);
69
69
  }
70
70
 
71
71
  :where(.chayns-icon-button):active:not(:disabled) {
72
- transform: scale(0.9);
72
+ transform: scale(0.96);
73
73
  }
74
74
 
75
75
  :where(.chayns-button--primary, .chayns-icon-button--primary):active:not(:disabled) {
@@ -135,6 +135,10 @@
135
135
  display: none;
136
136
  }
137
137
 
138
+ :where(.chayns-button--loading, .chayns-icon-button--loading) .chayns-button-icon {
139
+ animation: chayns-button-spin 0.8s linear infinite;
140
+ }
141
+
138
142
  :where(.chayns-button, .chayns-icon-button):active:not(:disabled)
139
143
  .chayns-button-icon__weight:not(.chayns-button-icon__weight--active) {
140
144
  display: none;
@@ -203,5 +207,15 @@
203
207
  :where(.chayns-button, .chayns-icon-button) {
204
208
  transition: none;
205
209
  }
210
+
211
+ :where(.chayns-button--loading, .chayns-icon-button--loading) .chayns-button-icon {
212
+ animation: none;
213
+ }
214
+ }
215
+
216
+ @keyframes chayns-button-spin {
217
+ to {
218
+ transform: rotate(360deg);
219
+ }
206
220
  }
207
221
  }
package/dist/card.css CHANGED
@@ -2,12 +2,39 @@
2
2
  .chayns-card {
3
3
  box-sizing: border-box;
4
4
  display: block;
5
+ padding: var(--k16);
5
6
  background: var(--surface);
6
7
  border: 1px solid var(--border);
7
8
  border-radius: 16px;
8
9
  }
9
10
 
10
- .chayns-card--elevated {
11
- box-shadow: var(--shadow-card);
11
+ .chayns-card__header {
12
+ display: flex;
13
+ align-items: center;
14
+ gap: var(--k12);
15
+ margin-block-end: var(--k12);
16
+ color: var(--text);
17
+ font-size: var(--fs-body);
18
+ font-weight: 600;
19
+ }
20
+
21
+ .chayns-card__header-icon {
22
+ display: inline-grid;
23
+ inline-size: var(--k32);
24
+ block-size: var(--k32);
25
+ flex: none;
26
+ place-items: center;
27
+ border-radius: 8px;
28
+ background: var(--surface-alt);
29
+ }
30
+
31
+ .chayns-card__header-content {
32
+ min-inline-size: 0;
33
+ }
34
+
35
+ @media (hover: hover) {
36
+ .chayns-card:hover {
37
+ box-shadow: var(--shadow-hover);
38
+ }
12
39
  }
13
40
  }
package/dist/checkbox.css CHANGED
@@ -1,7 +1,7 @@
1
1
  @layer chayns.components {
2
2
  .chayns-checkbox {
3
3
  display: inline-flex;
4
- align-items: flex-start;
4
+ align-items: center;
5
5
  gap: var(--k12);
6
6
  margin: 0;
7
7
  color: var(--text);
@@ -20,25 +20,24 @@
20
20
 
21
21
  .chayns-checkbox__control {
22
22
  box-sizing: border-box;
23
- display: inline-grid;
23
+ display: inline-flex;
24
24
  inline-size: var(--k20);
25
25
  block-size: var(--k20);
26
26
  flex: none;
27
- place-items: center;
27
+ align-items: center;
28
+ justify-content: center;
28
29
  margin-block-start: 1px;
29
30
  border: 2px solid var(--input-border);
30
31
  border-radius: 6px;
31
32
  background: transparent;
33
+ color: var(--on-accent);
34
+ font-size: var(--fs-micro);
35
+ transition: all 0.15s ease;
32
36
  }
33
37
 
34
- .chayns-checkbox__control::after {
35
- inline-size: calc(var(--k8) - 2px);
36
- block-size: var(--k12);
37
- border-inline-end: 2px solid var(--on-accent);
38
- border-block-end: 2px solid var(--on-accent);
39
- content: '';
38
+ .chayns-checkbox__control > i {
40
39
  opacity: 0;
41
- transform: rotate(45deg) scale(0.6);
40
+ transform: scale(0.4);
42
41
  transition:
43
42
  opacity 0.12s ease,
44
43
  transform 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);
@@ -49,9 +48,9 @@
49
48
  background: var(--accent);
50
49
  }
51
50
 
52
- .chayns-checkbox__input:checked + .chayns-checkbox__control::after {
51
+ .chayns-checkbox__input:checked + .chayns-checkbox__control > i {
53
52
  opacity: 1;
54
- transform: rotate(45deg) scale(1);
53
+ transform: scale(1);
55
54
  }
56
55
 
57
56
  .chayns-checkbox__input:focus-visible + .chayns-checkbox__control {
@@ -75,8 +74,20 @@
75
74
  line-height: 1.4;
76
75
  }
77
76
 
77
+ .chayns-checkbox__content {
78
+ display: grid;
79
+ gap: var(--k2);
80
+ min-inline-size: 0;
81
+ }
82
+
83
+ .chayns-checkbox__description {
84
+ color: var(--text-3);
85
+ font-size: var(--fs-meta);
86
+ line-height: 1.4;
87
+ }
88
+
78
89
  @media (prefers-reduced-motion: reduce) {
79
- .chayns-checkbox__control::after {
90
+ .chayns-checkbox__control > i {
80
91
  transition: none;
81
92
  }
82
93
  }
@@ -8,7 +8,7 @@
8
8
  box-sizing: border-box;
9
9
  inline-size: 100%;
10
10
  min-block-size: calc(1.2em + 2 * var(--input-py) + 3px);
11
- padding: var(--input-py) var(--input-px);
11
+ padding: var(--input-py) var(--k36) var(--input-py) var(--input-px);
12
12
  border: 1.5px solid var(--input-border);
13
13
  border-radius: 10px;
14
14
  background: var(--surface);
@@ -45,6 +45,23 @@
45
45
  white-space: nowrap;
46
46
  }
47
47
 
48
+ .chayns-combo-box__chevron {
49
+ position: absolute;
50
+ inset-block-start: 50%;
51
+ inset-inline-end: var(--input-px);
52
+ display: inline-flex;
53
+ align-items: center;
54
+ justify-content: center;
55
+ color: var(--muted);
56
+ pointer-events: none;
57
+ transform: translateY(-50%);
58
+ transition: transform 0.18s ease;
59
+ }
60
+
61
+ .chayns-combo-box--open .chayns-combo-box__chevron {
62
+ transform: translateY(-50%) rotate(180deg);
63
+ }
64
+
48
65
  .chayns-combo-box--open .chayns-combo-box__label,
49
66
  .chayns-combo-box__input:not(:placeholder-shown) + .chayns-combo-box__label {
50
67
  color: var(--accent);
@@ -137,7 +154,8 @@
137
154
 
138
155
  @media (prefers-reduced-motion: reduce) {
139
156
  .chayns-combo-box__input,
140
- .chayns-combo-box__label {
157
+ .chayns-combo-box__label,
158
+ .chayns-combo-box__chevron {
141
159
  transition: none;
142
160
  }
143
161
  }
@@ -1,4 +1,12 @@
1
- import type { AccordionProps } from './Accordion.types.js';
2
- declare const Accordion: ({ children, className, defaultOpen, disabled, id, onOpenChange, open, ref, title, ...rootProps }: AccordionProps) => import("react").JSX.Element;
1
+ import type { AccordionContentProps, AccordionHeadContentProps, AccordionHeadProps, AccordionPartProps, AccordionProps } from './Accordion.types.js';
2
+ declare function HeadContent({ className, subtitle, title }: AccordionHeadContentProps): import("react").JSX.Element;
3
+ declare const Accordion: import("react").ForwardRefExoticComponent<Omit<AccordionProps, "ref"> & import("react").RefAttributes<HTMLDivElement>> & {
4
+ Content: import("react").ForwardRefExoticComponent<Omit<AccordionContentProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
5
+ Head: import("react").ForwardRefExoticComponent<Omit<AccordionHeadProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>> & {
6
+ Content: typeof HeadContent;
7
+ Leading: (props: AccordionPartProps) => import("react").JSX.Element;
8
+ Trailing: (props: AccordionPartProps) => import("react").JSX.Element;
9
+ };
10
+ };
3
11
  export default Accordion;
4
12
  //# sourceMappingURL=Accordion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../src/components/accordion/Accordion.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,QAAA,MAAM,SAAS,GAAI,kGAWhB,cAAc,gCAkFhB,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../src/components/accordion/Accordion.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACf,MAAM,sBAAsB,CAAC;AAgB9B,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,yBAAyB,+BAS7E;AA8JD,QAAA,MAAM,SAAS;;;;yBA1Ka,kBAAkB;0BACjB,kBAAkB;;CAgL7C,CAAC;AAEH,eAAe,SAAS,CAAC"}