@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
@@ -125,10 +125,60 @@
125
125
  * content.
126
126
  */
127
127
  .prokodo-Slider {
128
- padding-bottom: 1.5rem;
128
+ position: relative;
129
+ width: 100%;
130
+ display: flex;
131
+ flex-direction: column;
132
+ gap: var(--pk-space-xs);
133
+ }
134
+ .prokodo-Slider--primary {
135
+ --pk-slider-fill-from: var(--pk-color-brand);
136
+ --pk-slider-fill-to: var(--pk-color-accent);
137
+ }
138
+ .prokodo-Slider--secondary {
139
+ --pk-slider-fill-from: var(--pk-color-accent);
140
+ --pk-slider-fill-to: var(--pk-color-brand);
141
+ }
142
+ .prokodo-Slider--success {
143
+ --pk-slider-fill-from: var(--pk-color-success);
144
+ --pk-slider-fill-to: #10CCB8;
145
+ }
146
+ .prokodo-Slider--warning {
147
+ --pk-slider-fill-from: var(--pk-color-warning);
148
+ --pk-slider-fill-to: #f7cc6a;
149
+ }
150
+ .prokodo-Slider--error {
151
+ --pk-slider-fill-from: var(--pk-color-error);
152
+ --pk-slider-fill-to: #ff6b6b;
153
+ }
154
+ .prokodo-Slider--info, .prokodo-Slider--inherit, .prokodo-Slider--white {
155
+ --pk-slider-fill-from: var(--pk-color-muted);
156
+ --pk-slider-fill-to: var(--pk-color-border);
157
+ }
158
+ .prokodo-Slider__label {
159
+ color: var(--pk-slider-label-fg);
160
+ font-weight: 400;
161
+ font-size: 1.125rem;
162
+ font-family: var(--font-secondary), -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
163
+ font-style: normal;
164
+ line-height: 1.55;
165
+ letter-spacing: 0.03em;
166
+ text-transform: none;
167
+ text-align: left;
168
+ text-decoration: none;
169
+ }
170
+ @media screen and (min-width: 480px) {
171
+ .prokodo-Slider__label {
172
+ font-size: 1rem;
173
+ }
174
+ }
175
+ @media screen and (min-width: 960px) {
176
+ .prokodo-Slider__label {
177
+ font-size: 1rem;
178
+ }
129
179
  }
130
180
  .prokodo-Slider__label {
131
- padding-bottom: 2rem;
181
+ transition: transform var(--pk-slider-timing) ease;
132
182
  }
133
183
  .prokodo-Slider__label--is-hidden {
134
184
  position: absolute;
@@ -141,62 +191,63 @@
141
191
  .prokodo-Slider__root {
142
192
  position: relative;
143
193
  width: 100%;
144
- height: 30px;
145
- display: inline-flex;
146
- align-items: center;
147
- cursor: pointer;
148
- touch-action: none;
149
- -webkit-tap-highlight-color: transparent;
194
+ height: calc(var(--pk-slider-tooltip-height) + var(--pk-slider-tooltip-gap) + var(--pk-slider-thumb-size) + var(--pk-slider-mark-label-height));
195
+ margin-top: calc(-1 * (var(--pk-slider-tooltip-height) + var(--pk-slider-tooltip-gap)));
196
+ transition: margin-top var(--pk-slider-timing) ease;
150
197
  }
151
198
  .prokodo-Slider__root--disabled {
152
- cursor: default;
153
- pointer-events: none;
154
199
  opacity: 0.4;
200
+ pointer-events: none;
201
+ cursor: not-allowed;
155
202
  }
156
203
  .prokodo-Slider__rail {
157
204
  position: absolute;
158
- width: 100%;
159
- height: 4px;
160
- top: 50%;
205
+ left: 0;
206
+ right: 0;
207
+ top: calc(var(--pk-slider-tooltip-height) + var(--pk-slider-tooltip-gap) + var(--pk-slider-thumb-size) / 2);
161
208
  transform: translateY(-50%);
162
- border-radius: 6px;
163
- opacity: 0.3;
164
- z-index: 1;
165
- background: var(--gradient-background-primary-grey-secondary);
209
+ height: var(--pk-slider-track-height);
210
+ border-radius: 9999px;
211
+ background: linear-gradient(90deg, var(--pk-slider-fill-from), var(--pk-slider-fill-to));
212
+ opacity: 0.25;
213
+ pointer-events: none;
166
214
  }
167
215
  .prokodo-Slider__track {
168
216
  position: absolute;
169
- height: 4px;
170
- top: 50%;
217
+ left: 0;
218
+ top: calc(var(--pk-slider-tooltip-height) + var(--pk-slider-tooltip-gap) + var(--pk-slider-thumb-size) / 2);
171
219
  transform: translateY(-50%);
172
- border-radius: 6px;
173
- z-index: 2;
174
- background: var(--gradient-background-primary-secondary);
220
+ height: var(--pk-slider-track-height);
221
+ border-radius: 9999px;
222
+ background: linear-gradient(90deg, var(--pk-slider-fill-from), var(--pk-slider-fill-to));
223
+ pointer-events: none;
224
+ transition: width var(--pk-slider-timing) ease;
175
225
  }
176
226
  .prokodo-Slider__mark {
177
227
  position: absolute;
178
- width: 20px;
179
- height: 20px;
180
- background-color: #dedede;
228
+ top: calc(var(--pk-slider-tooltip-height) + var(--pk-slider-tooltip-gap) + var(--pk-slider-thumb-size) + 4px);
229
+ transform: translateX(-50%);
230
+ display: flex;
231
+ flex-direction: column;
232
+ align-items: center;
233
+ pointer-events: none;
234
+ }
235
+ .prokodo-Slider__mark::before {
236
+ content: "";
237
+ display: block;
238
+ width: 4px;
239
+ height: 4px;
181
240
  border-radius: 50%;
182
- top: 50%;
183
- text-align: center;
184
- transform: translateX(-50%) translateY(-50%);
185
- z-index: 3;
241
+ background-color: var(--pk-slider-mark-bg);
242
+ margin-bottom: 2px;
186
243
  }
187
244
  .prokodo-Slider__mark__label {
188
- position: relative;
189
- display: inline-block;
190
- bottom: 0;
191
- left: 50%;
192
- padding-top: 1.5rem;
193
- transform: translateX(-50%);
194
- color: var(--color-grey-300);
245
+ color: var(--pk-slider-mark-label-fg);
195
246
  font-weight: 400;
196
- font-size: 1.125rem;
247
+ font-size: 1rem;
197
248
  font-family: var(--font-secondary), -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
198
249
  font-style: normal;
199
- line-height: 1.55;
250
+ line-height: 1.45;
200
251
  letter-spacing: 0.03em;
201
252
  text-transform: none;
202
253
  text-align: left;
@@ -204,102 +255,116 @@
204
255
  }
205
256
  @media screen and (min-width: 480px) {
206
257
  .prokodo-Slider__mark__label {
207
- font-size: 1rem;
258
+ font-size: 0.875rem;
259
+ line-height: 1.4;
208
260
  }
209
261
  }
210
262
  @media screen and (min-width: 960px) {
211
263
  .prokodo-Slider__mark__label {
212
- font-size: 1rem;
264
+ font-size: 0.875rem;
265
+ line-height: 1.4;
213
266
  }
214
267
  }
215
268
  .prokodo-Slider__mark__label {
216
- text-align: center;
217
- font-size: 0.8rem;
218
- }
219
- @media screen and (min-width: 480px) {
220
- .prokodo-Slider__mark__label {
221
- position: static;
222
- width: auto;
223
- height: auto;
224
- left: auto;
225
- text-indent: inherit;
226
- margin-left: 50%;
227
- min-width: 100px;
228
- font-size: 1rem;
229
- }
269
+ white-space: nowrap;
230
270
  }
231
271
  .prokodo-Slider__input {
232
- /* Native Slider-Optik verbergen, aber Funktion erhalten */
233
- -moz-appearance: none;
234
- appearance: none;
235
- -webkit-appearance: none;
272
+ position: absolute;
273
+ inset: 0;
236
274
  width: 100%;
237
275
  height: 100%;
238
- background: transparent;
239
- position: relative;
240
- z-index: 4;
276
+ opacity: 0;
277
+ cursor: pointer;
241
278
  margin: 0;
242
- padding: 0;
243
- cursor: inherit;
244
- }
245
- .prokodo-Slider__input:focus {
246
- outline: none;
247
- }
248
- .prokodo-Slider__input::-webkit-slider-thumb {
249
- -webkit-appearance: none;
250
- width: 0;
251
- height: 0;
252
- }
253
- .prokodo-Slider__input::-webkit-slider-runnable-track {
254
- -webkit-appearance: none;
255
- background: transparent;
256
- border: none;
257
- }
258
- .prokodo-Slider__input::-moz-range-thumb {
259
- width: 0;
260
- height: 0;
261
- background: transparent;
262
- border: none;
263
- }
264
- .prokodo-Slider__input::-moz-range-track {
265
- background: transparent;
266
- border: none;
267
- }
268
- .prokodo-Slider__thumb {
269
- position: absolute;
270
- top: 50%;
271
- width: 30px;
272
- height: 30px;
273
- border-radius: 50%;
274
- background-color: var(--color-primary-500);
275
- transform: translateX(-50%) translateY(-50%);
276
- transition: box-shadow 120ms ease, transform 120ms ease;
277
- z-index: 3;
278
- background: var(--gradient-background-primary-secondary);
279
+ z-index: 2;
279
280
  }
280
- .prokodo-Slider__thumb:hover {
281
- box-shadow: 0 0 0 6px rgba(var(--color-primary-500-rgb), 0.3);
282
- }
283
- .prokodo-Slider__thumb--focused {
284
- box-shadow: 0 0 0 6px rgba(var(--color-primary-700-rgb), 0.3);
285
- outline: none;
286
- outline: 3px solid #1E90FF;
287
- outline-offset: 4px;
288
- border-radius: 100%;
281
+ .prokodo-Slider__input:disabled {
282
+ cursor: not-allowed;
289
283
  }
290
284
  .prokodo-Slider__valueText {
291
285
  position: absolute;
292
- top: -1.7em;
293
- white-space: nowrap;
286
+ top: 0;
294
287
  transform: translateX(-50%);
295
- z-index: 4;
288
+ background-color: var(--pk-slider-tooltip-bg);
289
+ color: var(--pk-slider-tooltip-fg);
290
+ border-radius: 999px;
291
+ padding: 3px calc(var(--pk-space-xs) * 1.5);
292
+ height: var(--pk-slider-tooltip-height);
293
+ display: flex;
294
+ align-items: center;
295
+ white-space: nowrap;
296
+ pointer-events: none;
297
+ z-index: 1;
298
+ opacity: 0;
299
+ transition: opacity var(--pk-slider-timing) ease;
296
300
  font-weight: 400;
297
301
  font-size: 1rem;
298
- font-family: var(--font-primary), -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
302
+ font-family: var(--font-secondary), -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
299
303
  font-style: normal;
300
- line-height: 1.4;
304
+ line-height: 1.45;
301
305
  letter-spacing: 0.03em;
302
306
  text-transform: none;
303
307
  text-align: left;
304
308
  text-decoration: none;
309
+ }
310
+ @media screen and (min-width: 480px) {
311
+ .prokodo-Slider__valueText {
312
+ font-size: 0.875rem;
313
+ line-height: 1.4;
314
+ }
315
+ }
316
+ @media screen and (min-width: 960px) {
317
+ .prokodo-Slider__valueText {
318
+ font-size: 0.875rem;
319
+ line-height: 1.4;
320
+ }
321
+ }
322
+ .prokodo-Slider__valueText--focused {
323
+ opacity: 1;
324
+ }
325
+ @media (hover: hover) {
326
+ .prokodo-Slider:hover .prokodo-Slider__root {
327
+ margin-top: 0;
328
+ }
329
+ .prokodo-Slider:hover .prokodo-Slider__valueText {
330
+ opacity: 1;
331
+ }
332
+ .prokodo-Slider:hover .prokodo-Slider__label {
333
+ transform: translateY(var(--pk-space-xs));
334
+ }
335
+ }
336
+ .prokodo-Slider:has(.prokodo-Slider__valueText--focused) .prokodo-Slider__root {
337
+ margin-top: 0;
338
+ }
339
+ .prokodo-Slider:has(.prokodo-Slider__valueText--focused) .prokodo-Slider__label {
340
+ transform: translateY(var(--pk-space-xs));
341
+ }
342
+ @media (hover: none) {
343
+ .prokodo-Slider__root {
344
+ margin-top: 0;
345
+ }
346
+ .prokodo-Slider__valueText {
347
+ opacity: 1;
348
+ }
349
+ .prokodo-Slider__label {
350
+ transition: none;
351
+ }
352
+ }
353
+ .prokodo-Slider__thumb {
354
+ position: absolute;
355
+ top: calc(var(--pk-slider-tooltip-height) + var(--pk-slider-tooltip-gap) + var(--pk-slider-thumb-size) / 2);
356
+ transform: translate(-50%, -50%);
357
+ width: var(--pk-slider-thumb-size);
358
+ height: var(--pk-slider-thumb-size);
359
+ border-radius: 50%;
360
+ background: radial-gradient(circle at 38% 38%, color-mix(in srgb, var(--pk-slider-fill-to) 60%, white 40%), var(--pk-slider-fill-from) 70%);
361
+ border: 2.5px solid var(--pk-slider-thumb-border);
362
+ box-shadow: var(--pk-shadow-sm), 0 0 0 4px rgb(var(--pk-slider-thumb-glow-rgb)/0.18);
363
+ pointer-events: none;
364
+ z-index: 1;
365
+ transition: box-shadow var(--pk-slider-timing) ease, transform var(--pk-slider-timing) ease;
366
+ }
367
+ .prokodo-Slider__thumb--focused {
368
+ box-shadow: var(--pk-shadow-sm), 0 0 0 8px rgb(var(--pk-slider-thumb-glow-rgb)/0.3);
369
+ transform: translate(-50%, -50%) scale(1.12);
305
370
  }
@@ -1,5 +1,13 @@
1
1
  const styles = {
2
2
  "prokodo-Slider": "prokodo-Slider",
3
+ "prokodo-Slider--primary": "prokodo-Slider--primary",
4
+ "prokodo-Slider--secondary": "prokodo-Slider--secondary",
5
+ "prokodo-Slider--success": "prokodo-Slider--success",
6
+ "prokodo-Slider--warning": "prokodo-Slider--warning",
7
+ "prokodo-Slider--error": "prokodo-Slider--error",
8
+ "prokodo-Slider--info": "prokodo-Slider--info",
9
+ "prokodo-Slider--inherit": "prokodo-Slider--inherit",
10
+ "prokodo-Slider--white": "prokodo-Slider--white",
3
11
  "prokodo-Slider__label": "prokodo-Slider__label",
4
12
  "prokodo-Slider__label--is-hidden": "prokodo-Slider__label--is-hidden",
5
13
  "prokodo-Slider__root": "prokodo-Slider__root",
@@ -9,9 +17,10 @@ const styles = {
9
17
  "prokodo-Slider__mark": "prokodo-Slider__mark",
10
18
  "prokodo-Slider__mark__label": "prokodo-Slider__mark__label",
11
19
  "prokodo-Slider__input": "prokodo-Slider__input",
20
+ "prokodo-Slider__valueText": "prokodo-Slider__valueText",
21
+ "prokodo-Slider__valueText--focused": "prokodo-Slider__valueText--focused",
12
22
  "prokodo-Slider__thumb": "prokodo-Slider__thumb",
13
- "prokodo-Slider__thumb--focused": "prokodo-Slider__thumb--focused",
14
- "prokodo-Slider__valueText": "prokodo-Slider__valueText"
23
+ "prokodo-Slider__thumb--focused": "prokodo-Slider__thumb--focused"
15
24
  };
16
25
  export {
17
26
  styles as default
@@ -28,6 +28,7 @@ const SliderView = /* @__PURE__ */ __name(({
28
28
  marks = false,
29
29
  valueLabelProps = {},
30
30
  className,
31
+ color,
31
32
  internalValue,
32
33
  isFocused,
33
34
  onFocusInternal,
@@ -67,110 +68,121 @@ const SliderView = /* @__PURE__ */ __name(({
67
68
  }
68
69
  markPoints = pts;
69
70
  }
70
- return /* @__PURE__ */ jsxs("div", { className: bem(void 0, void 0, className), children: [
71
- isString(label) && /* @__PURE__ */ jsx(
72
- Label,
73
- {
74
- ...labelProps,
75
- htmlFor: id,
76
- label,
77
- required,
78
- className: bem("label", {
79
- "is-hidden": Boolean(hideLabel)
80
- })
81
- }
82
- ),
83
- /* @__PURE__ */ jsxs("div", { className: bem("root", { disabled: Boolean(disabled) }), children: [
84
- /* @__PURE__ */ jsx("div", { className: bem("rail") }),
85
- /* @__PURE__ */ jsx("div", { className: bem("track"), style: { width: `${pct}%` } }),
86
- markPoints.map((m) => {
87
- const leftPct = max > min ? (
88
- /* istanbul ignore next */
89
- ((m.value < min ? (
90
- /* istanbul ignore next */
91
- min
92
- ) : (
93
- /* istanbul ignore next */
94
- m.value > max ? (
95
- /* istanbul ignore next */
96
- max
97
- ) : m.value
98
- )) - min) / (max - min) * 100
99
- ) : (
100
- /* istanbul ignore next */
101
- 0
102
- );
103
- return /* @__PURE__ */ jsx(
104
- "div",
105
- {
106
- "aria-hidden": "true",
107
- className: bem("mark"),
108
- style: { left: `${leftPct}%` },
109
- children: typeof m.label === "string" ? /* @__PURE__ */ jsx("span", { className: bem("mark__label"), children: m.label }) : null
110
- },
111
- m.value
112
- );
113
- }),
114
- /* @__PURE__ */ jsx(
115
- "input",
116
- {
117
- "aria-disabled": Boolean(disabled) || void 0,
118
- "aria-label": label,
119
- "aria-valuemax": max,
120
- "aria-valuemin": min,
121
- "aria-valuenow": internalValue,
122
- "aria-valuetext": String(internalValue),
123
- className: bem("input"),
124
- disabled,
125
- id,
126
- max,
127
- min,
128
- step,
129
- type: "range",
130
- value: internalValue,
131
- onBlur: onBlurInternal,
132
- onChange: onChangeInternal,
133
- onFocus: onFocusInternal
134
- }
71
+ return /* @__PURE__ */ jsxs(
72
+ "div",
73
+ {
74
+ className: bem(
75
+ void 0,
76
+ color ? { [color]: true } : void 0,
77
+ className
135
78
  ),
136
- !Boolean(disabled) && /* @__PURE__ */ jsx(
137
- "span",
138
- {
139
- ...valueLabelProps,
140
- className: bem("valueText", { focused: isFocused }),
141
- style: (() => {
142
- const EDGE_PAD_PX = 8;
143
- if (pct <= 10) {
144
- return {
145
- left: "0%",
146
- transform: `translateX(${EDGE_PAD_PX}px)`
147
- };
79
+ children: [
80
+ isString(label) && /* @__PURE__ */ jsx(
81
+ Label,
82
+ {
83
+ ...labelProps,
84
+ color,
85
+ htmlFor: id,
86
+ label,
87
+ required,
88
+ className: bem("label", {
89
+ "is-hidden": Boolean(hideLabel)
90
+ })
91
+ }
92
+ ),
93
+ /* @__PURE__ */ jsxs("div", { className: bem("root", { disabled: Boolean(disabled) }), children: [
94
+ /* @__PURE__ */ jsx("div", { className: bem("rail") }),
95
+ /* @__PURE__ */ jsx("div", { className: bem("track"), style: { width: `${pct}%` } }),
96
+ markPoints.map((m) => {
97
+ const leftPct = max > min ? (
98
+ /* istanbul ignore next */
99
+ ((m.value < min ? (
100
+ /* istanbul ignore next */
101
+ min
102
+ ) : (
103
+ /* istanbul ignore next */
104
+ m.value > max ? (
105
+ /* istanbul ignore next */
106
+ max
107
+ ) : m.value
108
+ )) - min) / (max - min) * 100
109
+ ) : (
110
+ /* istanbul ignore next */
111
+ 0
112
+ );
113
+ return /* @__PURE__ */ jsx(
114
+ "div",
115
+ {
116
+ "aria-hidden": "true",
117
+ className: bem("mark"),
118
+ style: { left: `${leftPct}%` },
119
+ children: typeof m.label === "string" ? /* @__PURE__ */ jsx("span", { className: bem("mark__label"), children: m.label }) : null
120
+ },
121
+ m.value
122
+ );
123
+ }),
124
+ /* @__PURE__ */ jsx(
125
+ "input",
126
+ {
127
+ "aria-disabled": Boolean(disabled) || void 0,
128
+ "aria-label": label,
129
+ "aria-valuemax": max,
130
+ "aria-valuemin": min,
131
+ "aria-valuenow": internalValue,
132
+ "aria-valuetext": String(internalValue),
133
+ className: bem("input"),
134
+ disabled,
135
+ id,
136
+ max,
137
+ min,
138
+ step,
139
+ type: "range",
140
+ value: internalValue,
141
+ onBlur: onBlurInternal,
142
+ onChange: onChangeInternal,
143
+ onFocus: onFocusInternal
148
144
  }
149
- if (pct >= 90) {
150
- return {
151
- left: "100%",
152
- transform: `translateX(calc(-100% - ${EDGE_PAD_PX}px))`
153
- };
145
+ ),
146
+ !Boolean(disabled) && /* @__PURE__ */ jsx(
147
+ "span",
148
+ {
149
+ ...valueLabelProps,
150
+ className: bem("valueText", { focused: isFocused }),
151
+ style: (() => {
152
+ const EDGE_PAD_PX = 8;
153
+ if (pct <= 10) {
154
+ return {
155
+ left: "0%",
156
+ transform: `translateX(${EDGE_PAD_PX}px)`
157
+ };
158
+ }
159
+ if (pct >= 90) {
160
+ return {
161
+ left: "100%",
162
+ transform: `translateX(calc(-100% - ${EDGE_PAD_PX}px))`
163
+ };
164
+ }
165
+ return {
166
+ left: `${pct}%`,
167
+ transform: "translateX(-50%)"
168
+ };
169
+ })(),
170
+ children: internalValue
154
171
  }
155
- return {
156
- left: `${pct}%`,
157
- transform: "translateX(-50%)"
158
- };
159
- })(),
160
- children: internalValue
161
- }
162
- ),
163
- /* @__PURE__ */ jsx(
164
- "div",
165
- {
166
- className: bem("thumb", { focused: isFocused }),
167
- style: {
168
- left: `${pct}%`
169
- }
170
- }
171
- )
172
- ] })
173
- ] });
172
+ ),
173
+ /* @__PURE__ */ jsx(
174
+ "div",
175
+ {
176
+ className: bem("thumb", { focused: isFocused }),
177
+ style: {
178
+ left: `${pct}%`
179
+ }
180
+ }
181
+ )
182
+ ] })
183
+ ]
184
+ }
185
+ );
174
186
  }, "SliderView");
175
187
  export {
176
188
  SliderView