@prokodo/ui 0.1.15 → 1.0.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 (283) hide show
  1. package/LICENSE +187 -26
  2. package/NOTICE +24 -0
  3. package/README.md +32 -302
  4. package/dist/components/RTE/RTE.css +180 -68
  5. package/dist/components/RTE/RTE.module.css +180 -68
  6. package/dist/components/RTE/RTE.module.scss.js +10 -0
  7. package/dist/components/RTE/RTE.view.js +5 -1
  8. package/dist/components/accordion/Accordion.css +120 -67
  9. package/dist/components/accordion/Accordion.module.css +120 -67
  10. package/dist/components/accordion/Accordion.module.scss.js +12 -5
  11. package/dist/components/accordion/Accordion.view.js +3 -3
  12. package/dist/components/autocomplete/Autocomplete.css +111 -95
  13. package/dist/components/autocomplete/Autocomplete.module.css +111 -95
  14. package/dist/components/autocomplete/Autocomplete.module.scss.js +11 -4
  15. package/dist/components/autocomplete/Autocomplete.view.js +3 -1
  16. package/dist/components/avatar/Avatar.css +11 -8
  17. package/dist/components/avatar/Avatar.module.css +11 -8
  18. package/dist/components/avatar/Avatar.module.scss.js +1 -0
  19. package/dist/components/avatar/Avatar.view.js +5 -5
  20. package/dist/components/button/Button.client.js +12 -16
  21. package/dist/components/button/Button.css +85 -137
  22. package/dist/components/button/Button.module.css +85 -137
  23. package/dist/components/button/Button.module.scss.js +15 -19
  24. package/dist/components/button/Button.view.js +6 -2
  25. package/dist/components/calendly/Calendly.css +132 -0
  26. package/dist/components/calendly/Calendly.module.css +132 -0
  27. package/dist/components/calendly/Calendly.module.scss.js +6 -0
  28. package/dist/components/calendly/Calendly.view.js +12 -6
  29. package/dist/components/card/Card.client.js +6 -1
  30. package/dist/components/card/Card.css +67 -32
  31. package/dist/components/card/Card.module.css +67 -32
  32. package/dist/components/card/Card.module.scss.js +8 -2
  33. package/dist/components/card/Card.view.js +3 -3
  34. package/dist/components/carousel/Carousel.client.js +2 -4
  35. package/dist/components/carousel/Carousel.css +8 -4
  36. package/dist/components/carousel/Carousel.module.css +8 -4
  37. package/dist/components/checkbox/Checkbox.css +100 -79
  38. package/dist/components/checkbox/Checkbox.module.css +100 -79
  39. package/dist/components/checkbox/Checkbox.module.scss.js +11 -4
  40. package/dist/components/checkbox/Checkbox.view.js +3 -1
  41. package/dist/components/checkbox-group/CheckboxGroup.css +39 -6
  42. package/dist/components/checkbox-group/CheckboxGroup.module.css +39 -6
  43. package/dist/components/checkbox-group/CheckboxGroup.module.scss.js +8 -0
  44. package/dist/components/checkbox-group/CheckboxGroup.view.js +3 -1
  45. package/dist/components/chip/Chip.css +185 -61
  46. package/dist/components/chip/Chip.module.css +185 -61
  47. package/dist/components/chip/Chip.module.scss.js +13 -17
  48. package/dist/components/chip/Chip.view.js +3 -4
  49. package/dist/components/datePicker/DatePicker.client.js +211 -66
  50. package/dist/components/datePicker/DatePicker.css +940 -0
  51. package/dist/components/datePicker/DatePicker.module.css +940 -0
  52. package/dist/components/datePicker/DatePicker.module.scss.js +62 -0
  53. package/dist/components/datePicker/DatePicker.server.js +31 -1
  54. package/dist/components/datePicker/DatePicker.utils.js +103 -0
  55. package/dist/components/datePicker/DatePicker.view.js +113 -41
  56. package/dist/components/datePicker/DatePickerDialog.view.js +291 -0
  57. package/dist/components/dialog/Dialog.css +107 -132
  58. package/dist/components/dialog/Dialog.module.css +107 -132
  59. package/dist/components/dialog/Dialog.module.scss.js +13 -8
  60. package/dist/components/drawer/Drawer.css +8 -8
  61. package/dist/components/drawer/Drawer.module.css +8 -8
  62. package/dist/components/dynamic-list/DynamicList.css +20 -12
  63. package/dist/components/dynamic-list/DynamicList.module.css +20 -12
  64. package/dist/components/dynamic-list/DynamicList.module.scss.js +1 -0
  65. package/dist/components/dynamic-list/DynamicList.view.js +78 -46
  66. package/dist/components/form/Form.view.js +3 -3
  67. package/dist/components/form/FormField.client.js +51 -2
  68. package/dist/components/form/FormField.server.js +10 -4
  69. package/dist/components/form/FormResponse.js +2 -2
  70. package/dist/components/grid/Grid.css +1 -1
  71. package/dist/components/grid/Grid.module.css +1 -1
  72. package/dist/components/headline/Headline.css +16 -16
  73. package/dist/components/headline/Headline.js +5 -6
  74. package/dist/components/headline/Headline.module.css +16 -16
  75. package/dist/components/headline/Headline.module.scss.js +1 -1
  76. package/dist/components/headline/Headline.variants.js +4 -1
  77. package/dist/components/icon/Icon.css +14 -14
  78. package/dist/components/icon/Icon.module.css +14 -14
  79. package/dist/components/image/Image.css +4 -3
  80. package/dist/components/image/Image.module.css +4 -3
  81. package/dist/components/image-text/ImageText.css +43 -14
  82. package/dist/components/image-text/ImageText.js +61 -53
  83. package/dist/components/image-text/ImageText.module.css +43 -14
  84. package/dist/components/image-text/ImageText.module.scss.js +11 -2
  85. package/dist/components/input/Input.css +197 -115
  86. package/dist/components/input/Input.module.css +197 -115
  87. package/dist/components/input/Input.module.scss.js +19 -3
  88. package/dist/components/input/Input.view.js +87 -57
  89. package/dist/components/inputOTP/InputOTP.client.js +165 -0
  90. package/dist/components/inputOTP/InputOTP.css +155 -7
  91. package/dist/components/inputOTP/InputOTP.js +10 -195
  92. package/dist/components/inputOTP/InputOTP.lazy.js +12 -0
  93. package/dist/components/inputOTP/InputOTP.module.css +155 -7
  94. package/dist/components/inputOTP/InputOTP.module.scss.js +14 -0
  95. package/dist/components/inputOTP/InputOTP.server.js +32 -0
  96. package/dist/components/inputOTP/InputOTP.view.js +117 -0
  97. package/dist/components/label/Label.css +33 -14
  98. package/dist/components/label/Label.js +37 -35
  99. package/dist/components/label/Label.module.css +33 -14
  100. package/dist/components/label/Label.module.scss.js +9 -2
  101. package/dist/components/link/Link.css +13 -13
  102. package/dist/components/link/Link.module.css +13 -13
  103. package/dist/components/link/Link.view.js +14 -12
  104. package/dist/components/list/List.css +71 -32
  105. package/dist/components/list/List.js +25 -8
  106. package/dist/components/list/List.module.css +71 -32
  107. package/dist/components/list/List.module.scss.js +1 -1
  108. package/dist/components/loading/Loading.view.js +22 -2
  109. package/dist/components/lottie/Lottie.css +16 -0
  110. package/dist/components/lottie/Lottie.module.css +16 -0
  111. package/dist/components/lottie/Lottie.module.scss.js +6 -2
  112. package/dist/components/map/Map.css +130 -0
  113. package/dist/components/map/Map.js +5 -2
  114. package/dist/components/map/Map.module.css +130 -0
  115. package/dist/components/map/Map.module.scss.js +6 -0
  116. package/dist/components/pagination/Pagination.css +127 -11
  117. package/dist/components/pagination/Pagination.module.css +127 -11
  118. package/dist/components/pagination/Pagination.module.scss.js +12 -4
  119. package/dist/components/pagination/Pagination.view.js +13 -1
  120. package/dist/components/post-item/PostItem.css +16 -16
  121. package/dist/components/post-item/PostItem.module.css +16 -16
  122. package/dist/components/post-item/PostItem.view.js +14 -5
  123. package/dist/components/post-teaser/PostTeaser.css +13 -13
  124. package/dist/components/post-teaser/PostTeaser.module.css +13 -13
  125. package/dist/components/post-teaser/PostTeaser.view.js +10 -3
  126. package/dist/components/post-widget/PostWidget.css +6 -8
  127. package/dist/components/post-widget/PostWidget.module.css +6 -8
  128. package/dist/components/post-widget/PostWidget.view.js +12 -5
  129. package/dist/components/post-widget-carousel/PostWidgetCarousel.css +7 -7
  130. package/dist/components/post-widget-carousel/PostWidgetCarousel.module.css +7 -7
  131. package/dist/components/post-widget-carousel/PostWidgetCarousel.view.js +30 -13
  132. package/dist/components/progressBar/ProgressBar.css +4 -4
  133. package/dist/components/progressBar/ProgressBar.module.css +4 -4
  134. package/dist/components/progressBar/ProgressBar.view.js +2 -2
  135. package/dist/components/quote/Quote.css +21 -6
  136. package/dist/components/quote/Quote.js +5 -5
  137. package/dist/components/quote/Quote.module.css +21 -6
  138. package/dist/components/quote/Quote.module.scss.js +5 -0
  139. package/dist/components/rating/Rating.css +34 -21
  140. package/dist/components/rating/Rating.module.css +34 -21
  141. package/dist/components/rating/Rating.module.scss.js +8 -0
  142. package/dist/components/rating/Rating.view.js +4 -2
  143. package/dist/components/rich-text/RichText.client.js +3 -3
  144. package/dist/components/rich-text/RichText.css +47 -31
  145. package/dist/components/rich-text/RichText.module.css +47 -31
  146. package/dist/components/rich-text/RichText.server.js +1 -1
  147. package/dist/components/select/Select.client.js +154 -1
  148. package/dist/components/select/Select.css +542 -221
  149. package/dist/components/select/Select.module.css +542 -221
  150. package/dist/components/select/Select.module.scss.js +57 -14
  151. package/dist/components/select/Select.view.js +40 -14
  152. package/dist/components/sidenav/SideNav.client.js +24 -1
  153. package/dist/components/sidenav/SideNav.css +89 -21
  154. package/dist/components/sidenav/SideNav.module.css +89 -21
  155. package/dist/components/sidenav/SideNav.module.scss.js +6 -1
  156. package/dist/components/sidenav/SideNav.view.js +69 -14
  157. package/dist/components/skeleton/Skeleton.css +7 -7
  158. package/dist/components/skeleton/Skeleton.module.css +7 -7
  159. package/dist/components/slider/Slider.css +177 -112
  160. package/dist/components/slider/Slider.module.css +177 -112
  161. package/dist/components/slider/Slider.module.scss.js +11 -2
  162. package/dist/components/slider/Slider.view.js +113 -101
  163. package/dist/components/snackbar/Snackbar.css +125 -64
  164. package/dist/components/snackbar/Snackbar.module.css +125 -64
  165. package/dist/components/snackbar/Snackbar.module.scss.js +11 -13
  166. package/dist/components/snackbar/Snackbar.view.js +2 -2
  167. package/dist/components/stepper/Stepper.client.js +21 -6
  168. package/dist/components/stepper/Stepper.css +46 -11
  169. package/dist/components/stepper/Stepper.module.css +46 -11
  170. package/dist/components/stepper/Stepper.module.scss.js +7 -0
  171. package/dist/components/stepper/Stepper.server.js +2 -0
  172. package/dist/components/stepper/Stepper.view.js +6 -1
  173. package/dist/components/switch/Switch.css +108 -84
  174. package/dist/components/switch/Switch.module.css +108 -84
  175. package/dist/components/switch/Switch.module.scss.js +14 -12
  176. package/dist/components/switch/Switch.view.js +9 -8
  177. package/dist/components/table/Table.css +19 -14
  178. package/dist/components/table/Table.module.css +19 -14
  179. package/dist/components/tabs/Tabs.css +53 -27
  180. package/dist/components/tabs/Tabs.module.css +53 -27
  181. package/dist/components/tabs/Tabs.module.scss.js +7 -2
  182. package/dist/components/tabs/Tabs.view.js +4 -2
  183. package/dist/components/teaser/Teaser.css +5 -5
  184. package/dist/components/teaser/Teaser.js +4 -4
  185. package/dist/components/teaser/Teaser.module.css +5 -5
  186. package/dist/components/tooltip/Tooltip.client.js +14 -4
  187. package/dist/components/tooltip/Tooltip.css +46 -9
  188. package/dist/components/tooltip/Tooltip.module.css +46 -9
  189. package/dist/components/tooltip/Tooltip.module.scss.js +5 -1
  190. package/dist/components/tooltip/Tooltip.view.js +6 -1
  191. package/dist/constants/project.js +1 -1
  192. package/dist/theme.css +3269 -1588
  193. package/dist/tsconfig.build.tsbuildinfo +1 -1
  194. package/dist/types/components/RTE/RTE.d.ts +5 -0
  195. package/dist/types/components/RTE/RTE.lazy.d.ts +5 -0
  196. package/dist/types/components/RTE/RTE.view.d.ts +1 -1
  197. package/dist/types/components/accordion/Accordion.d.ts +1 -1
  198. package/dist/types/components/accordion/Accordion.lazy.d.ts +1 -1
  199. package/dist/types/components/accordion/Accordion.model.d.ts +1 -1
  200. package/dist/types/components/accordion/Accordion.view.d.ts +1 -1
  201. package/dist/types/components/autocomplete/Autocomplete.model.d.ts +2 -0
  202. package/dist/types/components/autocomplete/Autocomplete.view.d.ts +1 -1
  203. package/dist/types/components/avatar/Avatar.d.ts +1 -1
  204. package/dist/types/components/avatar/Avatar.lazy.d.ts +1 -1
  205. package/dist/types/components/avatar/Avatar.model.d.ts +1 -1
  206. package/dist/types/components/avatar/Avatar.view.d.ts +1 -1
  207. package/dist/types/components/calendly/Calendly.view.d.ts +1 -1
  208. package/dist/types/components/card/Card.model.d.ts +1 -1
  209. package/dist/types/components/card/Card.view.d.ts +1 -1
  210. package/dist/types/components/checkbox/Checkbox.d.ts +1 -0
  211. package/dist/types/components/checkbox/Checkbox.lazy.d.ts +1 -0
  212. package/dist/types/components/checkbox/Checkbox.model.d.ts +2 -0
  213. package/dist/types/components/checkbox/Checkbox.view.d.ts +1 -1
  214. package/dist/types/components/checkbox-group/CheckboxGroup.model.d.ts +2 -0
  215. package/dist/types/components/checkbox-group/CheckboxGroup.view.d.ts +1 -1
  216. package/dist/types/components/datePicker/DatePicker.model.d.ts +70 -1
  217. package/dist/types/components/datePicker/DatePicker.utils.d.ts +10 -0
  218. package/dist/types/components/datePicker/DatePicker.view.d.ts +7 -4
  219. package/dist/types/components/datePicker/DatePickerDialog.view.d.ts +4 -0
  220. package/dist/types/components/dynamic-list/DynamicList.model.d.ts +2 -0
  221. package/dist/types/components/dynamic-list/DynamicList.view.d.ts +1 -1
  222. package/dist/types/components/form/Form.d.ts +1 -1
  223. package/dist/types/components/form/Form.lazy.d.ts +1 -1
  224. package/dist/types/components/form/Form.model.d.ts +19 -4
  225. package/dist/types/components/form/FormField.client.d.ts +2 -2
  226. package/dist/types/components/form/FormField.d.ts +1 -1
  227. package/dist/types/components/form/FormField.lazy.d.ts +1 -1
  228. package/dist/types/components/form/FormField.server.d.ts +2 -2
  229. package/dist/types/components/headline/Headline.model.d.ts +1 -1
  230. package/dist/types/components/input/Input.model.d.ts +8 -1
  231. package/dist/types/components/input/Input.view.d.ts +1 -1
  232. package/dist/types/components/inputOTP/InputOTP.client.d.ts +4 -0
  233. package/dist/types/components/inputOTP/InputOTP.d.ts +10 -3
  234. package/dist/types/components/inputOTP/InputOTP.lazy.d.ts +11 -0
  235. package/dist/types/components/inputOTP/InputOTP.model.d.ts +10 -0
  236. package/dist/types/components/inputOTP/InputOTP.server.d.ts +3 -0
  237. package/dist/types/components/inputOTP/InputOTP.view.d.ts +3 -0
  238. package/dist/types/components/inputOTP/index.d.ts +1 -1
  239. package/dist/types/components/label/Label.model.d.ts +2 -0
  240. package/dist/types/components/link/Link.model.d.ts +1 -1
  241. package/dist/types/components/link/Link.view.d.ts +1 -1
  242. package/dist/types/components/list/List.d.ts +1 -1
  243. package/dist/types/components/list/List.model.d.ts +14 -5
  244. package/dist/types/components/list/index.d.ts +1 -1
  245. package/dist/types/components/loading/Loading.model.d.ts +2 -0
  246. package/dist/types/components/loading/index.d.ts +1 -1
  247. package/dist/types/components/pagination/Pagination.model.d.ts +2 -0
  248. package/dist/types/components/pagination/Pagination.view.d.ts +1 -1
  249. package/dist/types/components/post-item/PostItem.model.d.ts +2 -1
  250. package/dist/types/components/post-teaser/PostTeaser.model.d.ts +2 -1
  251. package/dist/types/components/post-widget/PostWidget.view.d.ts +1 -1
  252. package/dist/types/components/progressBar/ProgressBar.d.ts +1 -1
  253. package/dist/types/components/progressBar/ProgressBar.lazy.d.ts +1 -1
  254. package/dist/types/components/progressBar/ProgressBar.model.d.ts +3 -2
  255. package/dist/types/components/progressBar/ProgressBar.view.d.ts +1 -1
  256. package/dist/types/components/progressBar/index.d.ts +1 -1
  257. package/dist/types/components/quote/Quote.model.d.ts +1 -1
  258. package/dist/types/components/rating/Rating.model.d.ts +2 -0
  259. package/dist/types/components/rich-text/RichText.client.d.ts +1 -1
  260. package/dist/types/components/rich-text/RichText.d.ts +1 -1
  261. package/dist/types/components/rich-text/RichText.lazy.d.ts +1 -1
  262. package/dist/types/components/rich-text/RichText.model.d.ts +1 -1
  263. package/dist/types/components/select/Select.model.d.ts +2 -0
  264. package/dist/types/components/select/Select.view.d.ts +1 -1
  265. package/dist/types/components/sidenav/SideNav.client.d.ts +1 -1
  266. package/dist/types/components/sidenav/SideNav.model.d.ts +16 -2
  267. package/dist/types/components/sidenav/SideNav.view.d.ts +1 -1
  268. package/dist/types/components/slider/Slider.model.d.ts +2 -0
  269. package/dist/types/components/snackbar/Snackbar.model.d.ts +3 -2
  270. package/dist/types/components/snackbar/Snackbar.view.d.ts +3 -2
  271. package/dist/types/components/snackbar/index.d.ts +1 -1
  272. package/dist/types/components/stepper/Stepper.d.ts +1 -0
  273. package/dist/types/components/stepper/Stepper.lazy.d.ts +1 -0
  274. package/dist/types/components/stepper/Stepper.model.d.ts +3 -0
  275. package/dist/types/components/stepper/Stepper.server.d.ts +1 -1
  276. package/dist/types/components/switch/Switch.d.ts +2 -2
  277. package/dist/types/components/switch/Switch.lazy.d.ts +2 -2
  278. package/dist/types/components/switch/Switch.model.d.ts +3 -4
  279. package/dist/types/components/tabs/Tabs.model.d.ts +2 -0
  280. package/dist/types/components/tabs/Tabs.view.d.ts +1 -1
  281. package/dist/types/components/teaser/Teaser.model.d.ts +1 -1
  282. package/dist/types/components/tooltip/Tooltip.model.d.ts +2 -0
  283. package/package.json +37 -22
@@ -1,4 +1,3 @@
1
- @charset "UTF-8";
2
1
  /* stylelint-disable */
3
2
  /**
4
3
  * Calculates a rem-based value by a given pixel size.
@@ -125,6 +124,14 @@
125
124
  * This mixin specifies basic text-styles for components that render a richtext
126
125
  * content.
127
126
  */
127
+ @keyframes inputNotchAnimate {
128
+ 0%, 100% {
129
+ border-color: var(--pk-input-gradient-from);
130
+ }
131
+ 50% {
132
+ border-color: var(--pk-input-gradient-to);
133
+ }
134
+ }
128
135
  .prokodo-Input {
129
136
  position: relative;
130
137
  display: flex;
@@ -132,79 +139,129 @@
132
139
  height: 100%;
133
140
  width: 100%;
134
141
  }
142
+ .prokodo-Input--primary {
143
+ --pk-input-shadow-color-focus: color-mix(in srgb, var(--pk-color-brand) 30%, transparent);
144
+ --pk-input-gradient-from: var(--pk-color-brand);
145
+ --pk-input-gradient-to: var(--pk-color-accent);
146
+ --pk-input-label-focused-fg: var(--pk-color-brand);
147
+ --pk-input-border-focus: var(--pk-color-brand);
148
+ }
149
+ .prokodo-Input--secondary {
150
+ --pk-input-shadow-color-focus: color-mix(in srgb, var(--pk-color-accent) 30%, transparent);
151
+ --pk-input-gradient-from: var(--pk-color-accent);
152
+ --pk-input-gradient-to: var(--pk-color-brand);
153
+ --pk-input-label-focused-fg: var(--pk-color-accent);
154
+ --pk-input-border-focus: var(--pk-color-accent);
155
+ }
156
+ .prokodo-Input--success {
157
+ --pk-input-shadow-color-focus: color-mix(in srgb, var(--pk-color-success) 30%, transparent);
158
+ --pk-input-gradient-from: var(--pk-color-success);
159
+ --pk-input-gradient-to: #10CCB8;
160
+ --pk-input-label-focused-fg: var(--pk-color-success);
161
+ --pk-input-border-focus: var(--pk-color-success);
162
+ }
163
+ .prokodo-Input--warning {
164
+ --pk-input-shadow-color-focus: color-mix(in srgb, var(--pk-color-warning) 30%, transparent);
165
+ --pk-input-gradient-from: var(--pk-color-warning);
166
+ --pk-input-gradient-to: #f7cc6a;
167
+ --pk-input-label-focused-fg: var(--pk-color-warning);
168
+ --pk-input-border-focus: var(--pk-color-warning);
169
+ }
170
+ .prokodo-Input--error {
171
+ --pk-input-shadow-color-focus: color-mix(in srgb, var(--pk-color-error) 30%, transparent);
172
+ --pk-input-gradient-from: var(--pk-color-error);
173
+ --pk-input-gradient-to: #ff6b6b;
174
+ --pk-input-label-focused-fg: var(--pk-color-error);
175
+ --pk-input-border-focus: var(--pk-color-error);
176
+ }
177
+ .prokodo-Input--info, .prokodo-Input--inherit, .prokodo-Input--white {
178
+ --pk-input-shadow-color-focus: rgba(0, 0, 0, 0.1);
179
+ --pk-input-gradient-from: var(--pk-color-muted);
180
+ --pk-input-gradient-to: var(--pk-color-border);
181
+ --pk-input-label-focused-fg: var(--pk-color-muted);
182
+ --pk-input-border-focus: var(--pk-color-border);
183
+ }
184
+ html[data-theme="dark"] .prokodo-Input--info, [data-theme="dark"] .prokodo-Input--info, .pk-theme-dark .prokodo-Input--info, html[data-theme="dark"] .prokodo-Input--inherit, [data-theme="dark"] .prokodo-Input--inherit, .pk-theme-dark .prokodo-Input--inherit, html[data-theme="dark"] .prokodo-Input--white, [data-theme="dark"] .prokodo-Input--white, .pk-theme-dark .prokodo-Input--white {
185
+ --pk-input-gradient-from: var(--pk-palette-grey-100);
186
+ --pk-input-gradient-to: var(--pk-palette-grey-200);
187
+ }
135
188
  .prokodo-Input__label {
189
+ --pk-label-gradient-from: var(--pk-input-gradient-from);
190
+ --pk-label-gradient-to: var(--pk-input-gradient-to);
191
+ position: absolute;
192
+ left: var(--pk-space-xl);
193
+ font-size: 1.125rem;
194
+ top: calc(var(--pk-space-xl) + var(--pk-space-xs));
195
+ transform: translateY(-50%) scale(1);
196
+ padding: 0;
136
197
  transform-origin: top left;
137
- transition: transform 0.2s ease, color 0.2s ease, background-color 0.2s ease;
138
- padding-bottom: 0.5rem;
139
- color: var(--color-grey-600);
140
- z-index: 1;
198
+ transition: transform var(--pk-timing-normal) ease, color var(--pk-timing-normal) ease;
199
+ color: var(--pk-input-label-fg);
200
+ z-index: 2;
141
201
  pointer-events: none;
142
202
  }
143
- @media screen and (min-width: 960px) {
144
- .prokodo-Input__label {
145
- position: absolute;
146
- left: 1.5rem;
147
- font-size: 1.125rem;
148
- top: 1.75rem;
149
- /* start centered vertically, at full size */
150
- transform: translateY(-50%) scale(1);
151
- padding: 0;
152
- }
153
- }
154
- @media screen and (min-width: 960px) {
155
- .prokodo-Input__label--is-focused {
156
- /* lift up and shrink */
157
- transform: translateY(-150%) scale(0.75);
158
- color: var(--color-primary-500);
159
- /* white background behind text so it “floats” */
160
- background-color: var(--color-white);
161
- padding: 0 0.25rem;
162
- }
163
- html[data-theme=dark] .prokodo-Input__label--is-focused {
164
- background-color: rgb(16, 19, 27);
165
- }
203
+ .prokodo-Input__label--is-focused {
204
+ top: 0;
205
+ transform: translateY(-50%) scale(0.75);
206
+ color: var(--pk-input-label-focused-fg);
166
207
  }
167
208
  .prokodo-Input__inner {
168
209
  position: relative;
169
210
  }
170
211
  .prokodo-Input__field {
171
212
  position: relative;
172
- box-shadow: var(--elevation-1);
173
- border-radius: 1.5rem;
213
+ box-shadow: var(--pk-input-shadow);
214
+ border-radius: var(--pk-input-radius);
215
+ transition: box-shadow var(--pk-timing-normal) ease;
216
+ }
217
+ .prokodo-Input__field:hover {
218
+ box-shadow: 0 4px 12px var(--pk-input-shadow-color-focus), 0 0 5px var(--pk-input-shadow-color-focus);
219
+ }
220
+ .prokodo-Input__field:hover fieldset {
221
+ animation: inputNotchAnimate 2s linear infinite;
222
+ border-color: var(--pk-input-gradient-from);
223
+ }
224
+ .prokodo-Input__field:focus-within {
225
+ box-shadow: 0 4px 12px var(--pk-input-shadow-color-focus), 0 0 5px var(--pk-input-shadow-color-focus);
226
+ }
227
+ .prokodo-Input__field:focus-within fieldset {
228
+ animation: none;
229
+ border-color: var(--pk-input-border-focus);
230
+ }
231
+ .prokodo-Input__field:has(.prokodo-Input__input--is-focused), .prokodo-Input__field:has(.prokodo-Input__input--focused) {
232
+ box-shadow: 0 4px 12px var(--pk-input-shadow-color-focus), 0 0 5px var(--pk-input-shadow-color-focus);
233
+ }
234
+ .prokodo-Input__field:has(.prokodo-Input__input--is-focused) fieldset, .prokodo-Input__field:has(.prokodo-Input__input--focused) fieldset {
235
+ animation: none;
236
+ border-color: var(--pk-input-border-focus);
237
+ }
238
+ .prokodo-Input__field:has(.prokodo-Input__input--disabled) {
239
+ box-shadow: var(--pk-input-shadow);
240
+ }
241
+ .prokodo-Input__field:has(.prokodo-Input__input--disabled):hover {
242
+ box-shadow: var(--pk-input-shadow);
243
+ }
244
+ .prokodo-Input__field:has(.prokodo-Input__input--disabled):hover fieldset {
245
+ animation: none;
246
+ border-color: var(--pk-input-border);
174
247
  }
175
248
  .prokodo-Input__input {
176
- width: calc(100% - 0.25rem + 4px);
249
+ width: calc(100% - var(--pk-space-xs) + 4px);
177
250
  padding: 0;
178
251
  text-align: left;
179
- -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
180
- mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
181
- -webkit-mask-composite: source-over;
182
- mask-composite: add;
183
252
  border: none;
184
- color: var(--color-grey-900);
185
- border-radius: 1.5rem;
186
- background: var(--gradient-border-7);
187
- /* Standard :autofill selector (supported in modern browsers) */
188
- /* Chrome / Edge / Opera / Safari (WebKit/Blink) */
189
- /* Firefox (legacy) */
190
- /* Optional: border style when autofilled */
191
- /* Optional: gleiche Styles für Textareas, falls autocomplete genutzt wird */
253
+ color: var(--pk-input-fg);
254
+ border-radius: var(--pk-input-radius);
255
+ background: transparent;
192
256
  }
193
257
  .prokodo-Input__input input:-webkit-autofill, .prokodo-Input__input textarea:-webkit-autofill {
194
- background-color: var(--color-white);
195
- color: var(--color-grey-900);
258
+ background-color: var(--pk-input-bg);
259
+ color: var(--pk-input-fg);
196
260
  }
197
261
  .prokodo-Input__input input:autofill,
198
262
  .prokodo-Input__input textarea:autofill {
199
- background-color: var(--color-white);
200
- color: var(--color-grey-900);
201
- }
202
- html[data-theme=dark] .prokodo-Input__input input:-webkit-autofill, html[data-theme=dark] .prokodo-Input__input textarea:-webkit-autofill {
203
- background-color: rgb(16, 19, 27);
204
- }
205
- html[data-theme=dark] .prokodo-Input__input input:autofill,
206
- html[data-theme=dark] .prokodo-Input__input textarea:autofill {
207
- background-color: rgb(16, 19, 27);
263
+ background-color: var(--pk-input-bg);
264
+ color: var(--pk-input-fg);
208
265
  }
209
266
  .prokodo-Input__input input:-webkit-autofill,
210
267
  .prokodo-Input__input input:-webkit-autofill:hover,
@@ -212,66 +269,44 @@ html[data-theme=dark] .prokodo-Input__input textarea:autofill {
212
269
  .prokodo-Input__input textarea:-webkit-autofill,
213
270
  .prokodo-Input__input textarea:-webkit-autofill:hover,
214
271
  .prokodo-Input__input textarea:-webkit-autofill:focus {
215
- /* Paint over the browser’s autofill background */
216
- box-shadow: 0 0 0 1000px var(--color-white) inset;
217
- /* Text color inside autofilled field */
218
- -webkit-text-fill-color: var(--color-grey-900);
219
- /* Long transition hack so the yellow flash is not visible */
272
+ box-shadow: 0 0 0 1000px var(--pk-input-bg) inset;
273
+ -webkit-text-fill-color: var(--pk-input-fg);
220
274
  -webkit-transition: background-color 9999s ease-out, color 9999s ease-out;
221
275
  transition: background-color 9999s ease-out, color 9999s ease-out;
222
276
  }
223
277
  .prokodo-Input__input input:-moz-autofill,
224
278
  .prokodo-Input__input textarea:-moz-autofill {
225
- box-shadow: 0 0 0 1000px var(--color-white) inset;
226
- background-color: var(--color-white);
227
- color: var(--color-grey-900);
228
- }
229
- html[data-theme=dark] .prokodo-Input__input input:-moz-autofill,
230
- html[data-theme=dark] .prokodo-Input__input textarea:-moz-autofill {
231
- background-color: rgb(16, 19, 27);
279
+ box-shadow: 0 0 0 1000px var(--pk-input-bg) inset;
280
+ background-color: var(--pk-input-bg);
281
+ color: var(--pk-input-fg);
232
282
  }
233
283
  .prokodo-Input__input input:is(:-webkit-autofill, :-webkit-autofill), .prokodo-Input__input textarea:is(:-webkit-autofill, :-webkit-autofill) {
234
- border-color: none; /* adjust as needed */
284
+ border-color: none;
235
285
  }
236
286
  .prokodo-Input__input input:is(:autofill, :-webkit-autofill),
237
287
  .prokodo-Input__input textarea:is(:autofill, :-webkit-autofill) {
238
- border-color: none; /* adjust as needed */
288
+ border-color: none;
239
289
  }
240
290
  .prokodo-Input__input textarea:-webkit-autofill,
241
291
  .prokodo-Input__input textarea:-moz-autofill {
242
- box-shadow: 0 0 0 1000px #ffffff inset;
243
- -webkit-text-fill-color: #000000;
244
- color: #000000 !important;
245
- }
246
- .prokodo-Input__input--is-focused {
247
- background: var(--gradient-border-4);
248
- }
249
- .prokodo-Input__input:hover {
250
- background: var(--gradient-border-4);
292
+ box-shadow: 0 0 0 1000px var(--pk-input-bg) inset;
293
+ -webkit-text-fill-color: var(--pk-input-fg);
294
+ color: var(--pk-input-fg);
251
295
  }
252
296
  .prokodo-Input__input--multiline {
253
297
  display: flex;
254
298
  flex-direction: column;
255
299
  height: 100%;
256
300
  }
257
- .prokodo-Input__input--focused {
258
- background: var(--gradient-border-4);
259
- }
260
- .prokodo-Input__input--disabled {
261
- background: var(--gradient-border-8);
262
- }
263
- .prokodo-Input__input--disabled:hover {
264
- background: var(--gradient-border-8);
265
- }
266
301
  .prokodo-Input__input__node {
267
- width: calc(100% - 1rem - 1rem - 0.25rem);
268
- padding: 0.875rem 1rem;
302
+ width: calc(100% - var(--pk-input-padding-x) - var(--pk-input-trailing-pr, var(--pk-input-padding-x)) - var(--pk-space-xs));
303
+ padding: var(--pk-input-padding-y) var(--pk-input-trailing-pr, var(--pk-input-padding-x)) var(--pk-input-padding-y) var(--pk-input-padding-x);
269
304
  margin: 2px;
270
305
  border: none;
271
306
  outline: none;
272
- border-radius: 1.5rem;
273
- color: var(--color-grey-900);
274
- background-color: var(--color-white);
307
+ border-radius: var(--pk-input-radius);
308
+ color: var(--pk-input-fg);
309
+ background-color: var(--pk-input-bg);
275
310
  font-weight: 400;
276
311
  font-size: 1.125rem;
277
312
  font-family: var(--font-secondary), -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
@@ -292,16 +327,11 @@ html[data-theme=dark] .prokodo-Input__input textarea:-moz-autofill {
292
327
  font-size: 1rem;
293
328
  }
294
329
  }
295
- html[data-theme=dark] .prokodo-Input__input__node {
296
- background-color: rgb(16, 19, 27);
297
- }
298
330
  .prokodo-Input__input__node {
299
331
  font-size: 1rem;
300
332
  }
301
333
  .prokodo-Input__input__node--multiline {
302
- /* allow it to grow to fill the wrapper */
303
334
  flex: 1 1;
304
- /* remove inline-table & min-height */
305
335
  display: block;
306
336
  height: 100%;
307
337
  resize: vertical;
@@ -323,18 +353,73 @@ html[data-theme=dark] .prokodo-Input__input__node {
323
353
  pointer-events: none;
324
354
  }
325
355
  .prokodo-Input__input__node:disabled {
326
- color: var(--color-grey-700);
327
- background: var(--color-white);
356
+ color: var(--pk-input-fg-muted);
357
+ background: var(--pk-input-bg);
358
+ }
359
+ .prokodo-Input__input--has-trailing {
360
+ --pk-input-trailing-pr: calc(var(--pk-input-padding-x) + 1.5rem);
361
+ }
362
+ .prokodo-Input__notch {
363
+ position: absolute;
364
+ inset: 0;
365
+ margin: 0;
366
+ padding: 0 calc(var(--pk-space-xl) - 0.25em);
367
+ border: 2px solid var(--pk-input-border);
368
+ border-radius: var(--pk-input-radius);
369
+ pointer-events: none;
370
+ z-index: 1;
371
+ background: transparent;
372
+ transition: border-color var(--pk-timing-normal) ease;
328
373
  }
329
- html[data-theme=dark] .prokodo-Input__input__node:disabled {
330
- background-color: rgb(16, 19, 27);
374
+ .prokodo-Input__notch legend {
375
+ display: block;
376
+ height: 0;
377
+ font-size: 0.84375rem;
378
+ visibility: hidden;
379
+ overflow: hidden;
380
+ white-space: nowrap;
381
+ padding: 0;
382
+ max-width: 0.01px;
383
+ transition: max-width var(--pk-timing-normal) ease;
384
+ }
385
+ .prokodo-Input__notch legend span {
386
+ padding: 0 0.5em;
387
+ display: inline-block;
388
+ }
389
+ .prokodo-Input__notch--is-focused legend {
390
+ max-width: 100%;
391
+ }
392
+ .prokodo-Input__trailing {
393
+ position: absolute;
394
+ right: var(--pk-input-padding-x);
395
+ top: 50%;
396
+ transform: translateY(-50%);
397
+ display: flex;
398
+ align-items: center;
399
+ color: var(--pk-input-fg-muted);
400
+ pointer-events: none;
401
+ z-index: 2;
402
+ }
403
+ [data-theme="dark"] .prokodo-Input__trailing, .pk-theme-dark .prokodo-Input__trailing {
404
+ color: var(--pk-palette-grey-300);
331
405
  }
332
- .prokodo-Input__input:focus {
333
- border-color: var(--color-primary-500);
334
- box-shadow: 0 0 5px var(--color-primary-500);
406
+ .prokodo-Input__trailing--clickable {
407
+ pointer-events: auto;
408
+ background: none;
409
+ border: none;
410
+ padding: var(--pk-space-xs);
411
+ margin-right: calc(-1 * var(--pk-space-xs));
412
+ cursor: pointer;
413
+ border-radius: var(--pk-input-radius);
414
+ transition: color var(--pk-timing-normal) ease, background var(--pk-timing-normal) ease;
415
+ }
416
+ .prokodo-Input__trailing--clickable:hover {
417
+ color: var(--pk-input-fg);
418
+ background: color-mix(in srgb, var(--pk-input-fg) 8%, transparent);
335
419
  }
336
- .prokodo-Input__input[aria-invalid=true] {
337
- border-color: var(--color-error);
420
+ .prokodo-Input__trailing--clickable:focus-visible {
421
+ outline: 2px solid var(--pk-input-border-focus);
422
+ outline-offset: 2px;
338
423
  }
339
424
  .prokodo-Input__footer {
340
425
  display: flex;
@@ -344,14 +429,14 @@ html[data-theme=dark] .prokodo-Input__input__node:disabled {
344
429
  justify-content: flex-end;
345
430
  }
346
431
  .prokodo-Input__helperText__wrapper {
347
- padding-top: 0.25rem;
432
+ padding-top: var(--pk-space-xs);
348
433
  margin-bottom: 0 !important;
349
434
  }
350
435
  .prokodo-Input__helperText {
351
- padding-left: 1.5rem;
352
- padding-top: 0.75rem;
436
+ padding-left: var(--pk-space-xl);
437
+ padding-top: var(--pk-space-md);
353
438
  display: flex;
354
- color: var(--color-grey-300);
439
+ color: var(--pk-input-helper-fg);
355
440
  width: 80%;
356
441
  font-weight: 400;
357
442
  font-size: 1rem;
@@ -375,22 +460,19 @@ html[data-theme=dark] .prokodo-Input__input__node:disabled {
375
460
  line-height: 1.4;
376
461
  }
377
462
  }
378
- html[data-theme=dark] .prokodo-Input__helperText {
379
- color: var(--color-grey-700);
380
- }
381
463
  .prokodo-Input__helperText__content {
382
464
  width: 100%;
383
465
  }
384
466
  .prokodo-Input__helperText__content--is-error {
385
- color: var(--color-error);
467
+ color: var(--pk-color-error);
386
468
  }
387
469
  .prokodo-Input__helperText__legend {
388
470
  width: 25%;
389
471
  text-align: right;
390
472
  }
391
473
  .prokodo-Input__counter {
392
- padding-top: 0.75rem;
393
- color: var(--color-grey-600);
474
+ padding-top: var(--pk-space-md);
475
+ color: var(--pk-palette-grey-600);
394
476
  font-weight: 400;
395
477
  font-size: 1rem;
396
478
  font-family: var(--font-secondary), -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
@@ -1,16 +1,31 @@
1
+ const inputNotchAnimate = "inputNotchAnimate";
1
2
  const styles = {
2
3
  "prokodo-Input": "prokodo-Input",
4
+ "prokodo-Input--primary": "prokodo-Input--primary",
5
+ "prokodo-Input--secondary": "prokodo-Input--secondary",
6
+ "prokodo-Input--success": "prokodo-Input--success",
7
+ "prokodo-Input--warning": "prokodo-Input--warning",
8
+ "prokodo-Input--error": "prokodo-Input--error",
9
+ "prokodo-Input--info": "prokodo-Input--info",
10
+ "prokodo-Input--inherit": "prokodo-Input--inherit",
11
+ "prokodo-Input--white": "prokodo-Input--white",
3
12
  "prokodo-Input__label": "prokodo-Input__label",
4
13
  "prokodo-Input__label--is-focused": "prokodo-Input__label--is-focused",
5
14
  "prokodo-Input__inner": "prokodo-Input__inner",
6
15
  "prokodo-Input__field": "prokodo-Input__field",
7
- "prokodo-Input__input": "prokodo-Input__input",
16
+ inputNotchAnimate,
8
17
  "prokodo-Input__input--is-focused": "prokodo-Input__input--is-focused",
9
- "prokodo-Input__input--multiline": "prokodo-Input__input--multiline",
10
18
  "prokodo-Input__input--focused": "prokodo-Input__input--focused",
11
19
  "prokodo-Input__input--disabled": "prokodo-Input__input--disabled",
20
+ "prokodo-Input__input": "prokodo-Input__input",
21
+ "prokodo-Input__input--multiline": "prokodo-Input__input--multiline",
12
22
  "prokodo-Input__input__node": "prokodo-Input__input__node",
13
23
  "prokodo-Input__input__node--multiline": "prokodo-Input__input__node--multiline",
24
+ "prokodo-Input__input--has-trailing": "prokodo-Input__input--has-trailing",
25
+ "prokodo-Input__notch": "prokodo-Input__notch",
26
+ "prokodo-Input__notch--is-focused": "prokodo-Input__notch--is-focused",
27
+ "prokodo-Input__trailing": "prokodo-Input__trailing",
28
+ "prokodo-Input__trailing--clickable": "prokodo-Input__trailing--clickable",
14
29
  "prokodo-Input__footer": "prokodo-Input__footer",
15
30
  "prokodo-Input__footer--counter-only": "prokodo-Input__footer--counter-only",
16
31
  "prokodo-Input__helperText__wrapper": "prokodo-Input__helperText__wrapper",
@@ -21,5 +36,6 @@ const styles = {
21
36
  "prokodo-Input__counter": "prokodo-Input__counter"
22
37
  };
23
38
  export {
24
- styles as default
39
+ styles as default,
40
+ inputNotchAnimate
25
41
  };
@@ -5,6 +5,7 @@ import { create } from "../../helpers/bem.js";
5
5
  import { isString } from "../../helpers/validations.js";
6
6
  import styles from "./Input.module.scss.js";
7
7
  import { Label } from "../label/Label.js";
8
+ import { Icon } from "../icon/Icon.js";
8
9
  const bem = create(styles, "Input");
9
10
  function InputView({
10
11
  inputRef,
@@ -34,6 +35,11 @@ function InputView({
34
35
  maxRows,
35
36
  type = "text",
36
37
  renderNode,
38
+ color = "primary",
39
+ trailingIcon,
40
+ trailingIconLabel,
41
+ onTrailingIconClick,
42
+ trailingIconButtonProps = {},
37
43
  ...rest
38
44
  }) {
39
45
  rest == null ? true : delete rest.onValidate;
@@ -50,7 +56,7 @@ function InputView({
50
56
  { multiline: Boolean(multiline) },
51
57
  inputClassName
52
58
  );
53
- return /* @__PURE__ */ jsxs("div", { className: bem(void 0, void 0, className), children: [
59
+ return /* @__PURE__ */ jsxs("div", { className: bem(void 0, { [color]: true }, className), children: [
54
60
  /* @__PURE__ */ jsxs("div", { className: bem("inner"), children: [
55
61
  typeof label === "string" && /* @__PURE__ */ jsx(
56
62
  Label,
@@ -69,66 +75,90 @@ function InputView({
69
75
  )
70
76
  }
71
77
  ),
72
- /* @__PURE__ */ jsx("div", { className: bem("field", void 0, fieldClassName), children: /* @__PURE__ */ jsx(
73
- "div",
74
- {
75
- className: bem(
76
- "input",
77
- {
78
- "is-focused": Boolean(isFocused),
79
- disabled: Boolean(disabled),
80
- multiline: Boolean(multiline),
81
- fullWidth: Boolean(fullWidth)
82
- },
83
- inputContainerClassName
84
- ),
85
- children: typeof renderNode === "function" ? renderNode({
86
- id: name,
87
- name,
88
- disabled,
89
- required,
90
- readOnly: rest == null ? void 0 : rest.readOnly,
91
- placeholder,
92
- isError,
93
- describedBy,
94
- nodeClassName
95
- }) : Boolean(multiline) ? /* @__PURE__ */ jsx(
96
- "textarea",
97
- {
98
- ...rest,
99
- ref: inputRef,
100
- "aria-describedby": describedBy,
101
- "aria-invalid": isError,
102
- "aria-required": required,
103
- className: nodeClassName,
104
- disabled,
78
+ /* @__PURE__ */ jsxs("div", { className: bem("field", void 0, fieldClassName), children: [
79
+ typeof label === "string" && /* @__PURE__ */ jsx(
80
+ "fieldset",
81
+ {
82
+ "aria-hidden": "true",
83
+ className: bem("notch", {
84
+ "is-focused": Boolean(isFocused) || hasValue
85
+ }),
86
+ children: /* @__PURE__ */ jsx("legend", { className: bem("notchLegend"), children: /* @__PURE__ */ jsx("span", { children: label }) })
87
+ }
88
+ ),
89
+ /* @__PURE__ */ jsx(
90
+ "div",
91
+ {
92
+ className: bem(
93
+ "input",
94
+ {
95
+ "is-focused": Boolean(isFocused),
96
+ disabled: Boolean(disabled),
97
+ multiline: Boolean(multiline),
98
+ fullWidth: Boolean(fullWidth),
99
+ "has-trailing": Boolean(trailingIcon)
100
+ },
101
+ inputContainerClassName
102
+ ),
103
+ children: typeof renderNode === "function" ? renderNode({
105
104
  id: name,
106
105
  name,
107
- placeholder,
108
- required: Boolean(required),
109
- rows,
110
- value: value ?? ""
111
- }
112
- ) : /* @__PURE__ */ jsx(
113
- "input",
114
- {
115
- ...rest,
116
- ref: inputRef,
117
- "aria-describedby": describedBy,
118
- "aria-invalid": isError,
119
- "aria-required": required,
120
- className: nodeClassName,
121
106
  disabled,
122
- id: name,
123
- name,
107
+ required,
108
+ readOnly: rest == null ? void 0 : rest.readOnly,
124
109
  placeholder,
125
- required: Boolean(required),
126
- type,
127
- value: value ?? ""
128
- }
129
- )
130
- }
131
- ) })
110
+ isError,
111
+ describedBy,
112
+ nodeClassName
113
+ }) : Boolean(multiline) ? /* @__PURE__ */ jsx(
114
+ "textarea",
115
+ {
116
+ ...rest,
117
+ ref: inputRef,
118
+ "aria-describedby": describedBy,
119
+ "aria-invalid": isError,
120
+ "aria-required": required,
121
+ className: nodeClassName,
122
+ disabled,
123
+ id: name,
124
+ name,
125
+ placeholder,
126
+ required: Boolean(required),
127
+ rows,
128
+ value: value ?? ""
129
+ }
130
+ ) : /* @__PURE__ */ jsx(
131
+ "input",
132
+ {
133
+ ...rest,
134
+ ref: inputRef,
135
+ "aria-describedby": describedBy,
136
+ "aria-invalid": isError,
137
+ "aria-required": required,
138
+ className: nodeClassName,
139
+ disabled,
140
+ id: name,
141
+ name,
142
+ placeholder,
143
+ required: Boolean(required),
144
+ type,
145
+ value: value ?? ""
146
+ }
147
+ )
148
+ }
149
+ ),
150
+ trailingIcon && (onTrailingIconClick ? /* @__PURE__ */ jsx(
151
+ "button",
152
+ {
153
+ ...trailingIconButtonProps,
154
+ "aria-label": trailingIconLabel,
155
+ className: bem("trailing", { clickable: true }),
156
+ type: "button",
157
+ onClick: onTrailingIconClick,
158
+ children: /* @__PURE__ */ jsx(Icon, { name: trailingIcon, size: "sm" })
159
+ }
160
+ ) : /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: bem("trailing"), children: /* @__PURE__ */ jsx(Icon, { name: trailingIcon, size: "sm" }) }))
161
+ ] })
132
162
  ] }),
133
163
  (isError || hasHelperText || typeof maxLength === "number") && /* @__PURE__ */ jsxs(
134
164
  "div",