@fremtind/jokul 0.46.0 → 0.48.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 (217) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/cjs/components/accordion/stories/Accordion.stories.cjs +2 -0
  3. package/build/cjs/components/accordion/stories/Accordion.stories.cjs.map +1 -0
  4. package/build/cjs/components/accordion/stories/Accordion.stories.d.cts +13 -0
  5. package/build/cjs/components/accordion/stories/AccordionItem.stories.cjs +2 -0
  6. package/build/cjs/components/accordion/stories/AccordionItem.stories.cjs.map +1 -0
  7. package/build/cjs/components/accordion/stories/AccordionItem.stories.d.cts +13 -0
  8. package/build/cjs/components/autosuggest/stories/Autosuggest.stories.cjs +2 -0
  9. package/build/cjs/components/autosuggest/stories/Autosuggest.stories.cjs.map +1 -0
  10. package/build/cjs/components/autosuggest/stories/Autosuggest.stories.d.cts +12 -0
  11. package/build/cjs/components/breadcrumb/stories/Breadcrumb.stories.cjs +2 -0
  12. package/build/cjs/components/breadcrumb/stories/Breadcrumb.stories.cjs.map +1 -0
  13. package/build/cjs/components/breadcrumb/stories/Breadcrumb.stories.d.cts +12 -0
  14. package/build/cjs/components/breadcrumb/stories/BreadcrumbItem.stories.cjs +2 -0
  15. package/build/cjs/components/breadcrumb/stories/BreadcrumbItem.stories.cjs.map +1 -0
  16. package/build/cjs/components/breadcrumb/stories/BreadcrumbItem.stories.d.cts +12 -0
  17. package/build/cjs/components/button/stories/Button.stories.cjs +2 -0
  18. package/build/cjs/components/button/stories/Button.stories.cjs.map +1 -0
  19. package/build/cjs/components/button/stories/Button.stories.d.cts +16 -0
  20. package/build/cjs/components/button/types.cjs.map +1 -1
  21. package/build/cjs/components/button/types.d.cts +6 -4
  22. package/build/cjs/components/card/Card.cjs +1 -1
  23. package/build/cjs/components/card/Card.cjs.map +1 -1
  24. package/build/cjs/components/card/Card.d.cts +1 -27
  25. package/build/cjs/components/card/index.d.cts +2 -2
  26. package/build/cjs/components/card/stories/Card.stories.cjs +1 -1
  27. package/build/cjs/components/card/stories/Card.stories.cjs.map +1 -1
  28. package/build/cjs/components/card/stories/Card.stories.d.cts +3 -2
  29. package/build/cjs/components/card/types.cjs +1 -1
  30. package/build/cjs/components/card/types.cjs.map +1 -1
  31. package/build/cjs/components/card/types.d.cts +28 -0
  32. package/build/cjs/components/checkbox/stories/Checkbox.stories.cjs +2 -0
  33. package/build/cjs/components/checkbox/stories/Checkbox.stories.cjs.map +1 -0
  34. package/build/cjs/components/checkbox/stories/Checkbox.stories.d.cts +12 -0
  35. package/build/cjs/components/checkbox-panel/stories/CheckboxPanel.stories.cjs +2 -0
  36. package/build/cjs/components/checkbox-panel/stories/CheckboxPanel.stories.cjs.map +1 -0
  37. package/build/cjs/components/checkbox-panel/stories/CheckboxPanel.stories.d.cts +13 -0
  38. package/build/cjs/components/chip/stories/Chip.stories.cjs +2 -0
  39. package/build/cjs/components/chip/stories/Chip.stories.cjs.map +1 -0
  40. package/build/cjs/components/chip/stories/Chip.stories.d.cts +22 -0
  41. package/build/cjs/components/combobox/stories/Combobox.stories.cjs +2 -0
  42. package/build/cjs/components/combobox/stories/Combobox.stories.cjs.map +1 -0
  43. package/build/cjs/components/combobox/stories/Combobox.stories.d.cts +13 -0
  44. package/build/cjs/components/cookie-consent/stories/CookieConsent.stories.cjs +2 -0
  45. package/build/cjs/components/cookie-consent/stories/CookieConsent.stories.cjs.map +1 -0
  46. package/build/cjs/components/cookie-consent/stories/CookieConsent.stories.d.cts +14 -0
  47. package/build/cjs/components/countdown/stories/Countdown.stories.cjs +2 -0
  48. package/build/cjs/components/countdown/stories/Countdown.stories.cjs.map +1 -0
  49. package/build/cjs/components/countdown/stories/Countdown.stories.d.cts +13 -0
  50. package/build/cjs/components/datepicker/DatePicker.cjs +1 -1
  51. package/build/cjs/components/datepicker/DatePicker.cjs.map +1 -1
  52. package/build/cjs/components/datepicker/stories/Datepicker.stories.cjs +2 -0
  53. package/build/cjs/components/datepicker/stories/Datepicker.stories.cjs.map +1 -0
  54. package/build/cjs/components/datepicker/stories/Datepicker.stories.d.cts +12 -0
  55. package/build/cjs/components/feedback/Feedback.cjs.map +1 -1
  56. package/build/cjs/components/feedback/Feedback.d.cts +1 -1
  57. package/build/cjs/components/feedback/feedbackContext.cjs.map +1 -1
  58. package/build/cjs/components/feedback/feedbackContext.d.cts +1 -1
  59. package/build/cjs/components/feedback/questions/AddonQuestion.cjs +1 -1
  60. package/build/cjs/components/feedback/questions/AddonQuestion.cjs.map +1 -1
  61. package/build/cjs/components/feedback/questions/TextQuestion.cjs +1 -1
  62. package/build/cjs/components/feedback/questions/TextQuestion.cjs.map +1 -1
  63. package/build/cjs/components/feedback/utils.cjs +1 -1
  64. package/build/cjs/components/feedback/utils.cjs.map +1 -1
  65. package/build/cjs/components/index.cjs +1 -1
  66. package/build/cjs/components/index.d.cts +7 -5
  67. package/build/cjs/components/{text-input → text-area}/BaseTextArea.cjs +1 -1
  68. package/build/{es/components/text-input/BaseTextArea.js.map → cjs/components/text-area/BaseTextArea.cjs.map} +1 -1
  69. package/build/{es/components/text-input/TextArea.js.map → cjs/components/text-area/TextArea.cjs.map} +1 -1
  70. package/build/cjs/components/text-area/index.cjs +2 -0
  71. package/build/cjs/components/text-area/index.cjs.map +1 -0
  72. package/build/cjs/components/text-area/index.d.cts +3 -0
  73. package/build/cjs/components/text-area/types.cjs +2 -0
  74. package/build/cjs/components/text-area/types.cjs.map +1 -0
  75. package/build/cjs/components/text-area/types.d.cts +28 -0
  76. package/build/cjs/components/text-input/index.cjs +1 -1
  77. package/build/cjs/components/text-input/index.d.cts +1 -3
  78. package/build/cjs/components/text-input/types.d.cts +1 -27
  79. package/build/cjs/index.cjs +1 -1
  80. package/build/cjs/utilities/polymorphism/polymorphism.d.cts +7 -2
  81. package/build/es/components/accordion/stories/Accordion.stories.d.ts +13 -0
  82. package/build/es/components/accordion/stories/Accordion.stories.js +2 -0
  83. package/build/es/components/accordion/stories/Accordion.stories.js.map +1 -0
  84. package/build/es/components/accordion/stories/AccordionItem.stories.d.ts +13 -0
  85. package/build/es/components/accordion/stories/AccordionItem.stories.js +2 -0
  86. package/build/es/components/accordion/stories/AccordionItem.stories.js.map +1 -0
  87. package/build/es/components/autosuggest/stories/Autosuggest.stories.d.ts +12 -0
  88. package/build/es/components/autosuggest/stories/Autosuggest.stories.js +2 -0
  89. package/build/es/components/autosuggest/stories/Autosuggest.stories.js.map +1 -0
  90. package/build/es/components/breadcrumb/stories/Breadcrumb.stories.d.ts +12 -0
  91. package/build/es/components/breadcrumb/stories/Breadcrumb.stories.js +2 -0
  92. package/build/es/components/breadcrumb/stories/Breadcrumb.stories.js.map +1 -0
  93. package/build/es/components/breadcrumb/stories/BreadcrumbItem.stories.d.ts +12 -0
  94. package/build/es/components/breadcrumb/stories/BreadcrumbItem.stories.js +2 -0
  95. package/build/es/components/breadcrumb/stories/BreadcrumbItem.stories.js.map +1 -0
  96. package/build/es/components/button/stories/Button.stories.d.ts +16 -0
  97. package/build/es/components/button/stories/Button.stories.js +2 -0
  98. package/build/es/components/button/stories/Button.stories.js.map +1 -0
  99. package/build/es/components/button/types.d.ts +6 -4
  100. package/build/es/components/button/types.js.map +1 -1
  101. package/build/es/components/card/Card.d.ts +1 -27
  102. package/build/es/components/card/Card.js +1 -1
  103. package/build/es/components/card/Card.js.map +1 -1
  104. package/build/es/components/card/index.d.ts +2 -2
  105. package/build/es/components/card/stories/Card.stories.d.ts +3 -2
  106. package/build/es/components/card/stories/Card.stories.js +1 -1
  107. package/build/es/components/card/stories/Card.stories.js.map +1 -1
  108. package/build/es/components/card/types.d.ts +28 -0
  109. package/build/es/components/card/types.js +1 -1
  110. package/build/es/components/card/types.js.map +1 -1
  111. package/build/es/components/checkbox/stories/Checkbox.stories.d.ts +12 -0
  112. package/build/es/components/checkbox/stories/Checkbox.stories.js +2 -0
  113. package/build/es/components/checkbox/stories/Checkbox.stories.js.map +1 -0
  114. package/build/es/components/checkbox-panel/stories/CheckboxPanel.stories.d.ts +13 -0
  115. package/build/es/components/checkbox-panel/stories/CheckboxPanel.stories.js +2 -0
  116. package/build/es/components/checkbox-panel/stories/CheckboxPanel.stories.js.map +1 -0
  117. package/build/es/components/chip/stories/Chip.stories.d.ts +22 -0
  118. package/build/es/components/chip/stories/Chip.stories.js +2 -0
  119. package/build/es/components/chip/stories/Chip.stories.js.map +1 -0
  120. package/build/es/components/combobox/stories/Combobox.stories.d.ts +13 -0
  121. package/build/es/components/combobox/stories/Combobox.stories.js +2 -0
  122. package/build/es/components/combobox/stories/Combobox.stories.js.map +1 -0
  123. package/build/es/components/cookie-consent/stories/CookieConsent.stories.d.ts +14 -0
  124. package/build/es/components/cookie-consent/stories/CookieConsent.stories.js +2 -0
  125. package/build/es/components/cookie-consent/stories/CookieConsent.stories.js.map +1 -0
  126. package/build/es/components/countdown/stories/Countdown.stories.d.ts +13 -0
  127. package/build/es/components/countdown/stories/Countdown.stories.js +2 -0
  128. package/build/es/components/countdown/stories/Countdown.stories.js.map +1 -0
  129. package/build/es/components/datepicker/DatePicker.js +1 -1
  130. package/build/es/components/datepicker/DatePicker.js.map +1 -1
  131. package/build/es/components/datepicker/stories/Datepicker.stories.d.ts +12 -0
  132. package/build/es/components/datepicker/stories/Datepicker.stories.js +2 -0
  133. package/build/es/components/datepicker/stories/Datepicker.stories.js.map +1 -0
  134. package/build/es/components/feedback/Feedback.d.ts +1 -1
  135. package/build/es/components/feedback/Feedback.js.map +1 -1
  136. package/build/es/components/feedback/feedbackContext.d.ts +1 -1
  137. package/build/es/components/feedback/feedbackContext.js.map +1 -1
  138. package/build/es/components/feedback/questions/AddonQuestion.js +1 -1
  139. package/build/es/components/feedback/questions/AddonQuestion.js.map +1 -1
  140. package/build/es/components/feedback/questions/TextQuestion.js +1 -1
  141. package/build/es/components/feedback/questions/TextQuestion.js.map +1 -1
  142. package/build/es/components/feedback/utils.js +1 -1
  143. package/build/es/components/feedback/utils.js.map +1 -1
  144. package/build/es/components/index.d.ts +7 -5
  145. package/build/es/components/index.js +1 -1
  146. package/build/es/components/{text-input → text-area}/BaseTextArea.js +1 -1
  147. package/build/es/components/text-area/BaseTextArea.js.map +1 -0
  148. package/build/es/components/text-area/TextArea.js.map +1 -0
  149. package/build/es/components/text-area/index.d.ts +3 -0
  150. package/build/es/components/text-area/index.js +2 -0
  151. package/build/es/components/text-area/index.js.map +1 -0
  152. package/build/es/components/text-area/types.d.ts +28 -0
  153. package/build/es/components/text-area/types.js +2 -0
  154. package/build/es/components/text-area/types.js.map +1 -0
  155. package/build/es/components/text-input/index.d.ts +1 -3
  156. package/build/es/components/text-input/index.js +1 -1
  157. package/build/es/components/text-input/types.d.ts +1 -27
  158. package/build/es/index.js +1 -1
  159. package/build/es/utilities/polymorphism/polymorphism.d.ts +7 -2
  160. package/build/style.css +1 -1
  161. package/package.json +13 -2
  162. package/styles/components/button/button.css +2 -2
  163. package/styles/components/button/button.min.css +1 -1
  164. package/styles/components/checkbox/checkbox.css +4 -4
  165. package/styles/components/checkbox/checkbox.min.css +1 -1
  166. package/styles/components/checkbox-panel/checkbox-panel.css +2 -2
  167. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  168. package/styles/components/checkbox-panel/stories/styles.css +25 -0
  169. package/styles/components/checkbox-panel/stories/styles.min.css +1 -0
  170. package/styles/components/checkbox-panel/stories/styles.scss +27 -0
  171. package/styles/components/countdown/countdown.css +2 -2
  172. package/styles/components/countdown/countdown.min.css +1 -1
  173. package/styles/components/datepicker/_index.scss +1 -0
  174. package/styles/components/feedback/feedback.css +2 -2
  175. package/styles/components/feedback/feedback.min.css +1 -1
  176. package/styles/components/input-group/input-group.css +2 -2
  177. package/styles/components/input-group/input-group.min.css +1 -1
  178. package/styles/components/loader/loader.css +6 -6
  179. package/styles/components/loader/loader.min.css +1 -1
  180. package/styles/components/loader/skeleton-loader.css +5 -5
  181. package/styles/components/loader/skeleton-loader.min.css +1 -1
  182. package/styles/components/message/message.css +2 -2
  183. package/styles/components/message/message.min.css +1 -1
  184. package/styles/components/progress-bar/progress-bar.css +1 -1
  185. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  186. package/styles/components/radio-button/radio-button.css +2 -2
  187. package/styles/components/radio-button/radio-button.min.css +1 -1
  188. package/styles/components/radio-panel/radio-panel.css +2 -2
  189. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  190. package/styles/components/system-message/system-message.css +2 -2
  191. package/styles/components/system-message/system-message.min.css +1 -1
  192. package/styles/components/text-area/_index.scss +5 -0
  193. package/styles/components/text-area/text-area.css +415 -0
  194. package/styles/components/text-area/text-area.min.css +1 -0
  195. package/styles/components/text-area/text-area.scss +123 -0
  196. package/styles/components/text-input/text-input.css +0 -232
  197. package/styles/components/text-input/text-input.min.css +1 -1
  198. package/styles/components/text-input/text-input.scss +3 -362
  199. package/styles/components/toast/toast.css +4 -4
  200. package/styles/components/toast/toast.min.css +1 -1
  201. package/styles/shared/input/shared-input-styles.css +106 -0
  202. package/styles/shared/input/shared-input-styles.min.css +1 -0
  203. package/styles/shared/input/shared-input-styles.scss +251 -0
  204. package/styles/styles.css +354 -277
  205. package/styles/styles.min.css +1 -1
  206. package/styles/styles.scss +1 -0
  207. package/build/cjs/components/text-input/BaseTextArea.cjs.map +0 -1
  208. package/build/cjs/components/text-input/TextArea.cjs.map +0 -1
  209. package/styles/components/text-input/development/index.css +0 -12
  210. package/styles/components/text-input/development/index.min.css +0 -1
  211. package/styles/components/text-input/development/index.scss +0 -16
  212. /package/build/cjs/components/{text-input → text-area}/BaseTextArea.d.cts +0 -0
  213. /package/build/cjs/components/{text-input → text-area}/TextArea.cjs +0 -0
  214. /package/build/cjs/components/{text-input → text-area}/TextArea.d.cts +0 -0
  215. /package/build/es/components/{text-input → text-area}/BaseTextArea.d.ts +0 -0
  216. /package/build/es/components/{text-input → text-area}/TextArea.d.ts +0 -0
  217. /package/build/es/components/{text-input → text-area}/TextArea.js +0 -0
@@ -280,236 +280,4 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-input__in
280
280
  display: inline-block;
281
281
  vertical-align: middle;
282
282
  margin: -0.125rem 0.25rem;
283
- }
284
-
285
- .jkl-text-area {
286
- height: auto;
287
- width: 100%;
288
- }
289
- .jkl-text-area__text-area {
290
- scrollbar-color: var(--jkl-color) transparent;
291
- box-sizing: border-box;
292
- resize: none;
293
- width: 100%;
294
- padding: var(--jkl-text-input-padding);
295
- max-height: var(--jkl-text-input-height);
296
- height: var(--jkl-text-input-height);
297
- min-height: var(--jkl-text-input-height);
298
- transition-timing-function: ease;
299
- transition-duration: 150ms;
300
- transition-property: height, min-height, max-height, padding;
301
- background: none;
302
- -webkit-appearance: none;
303
- color: var(--jkl-color);
304
- font-size: var(--jkl-text-input-font-size);
305
- line-height: var(--jkl-text-input-line-height);
306
- font-weight: var(--jkl-text-input-font-weight);
307
- }
308
- .jkl-text-area__text-area {
309
- outline: 0;
310
- border-style: none;
311
- outline-style: none;
312
- }
313
- .jkl-text-area__text-area:active, .jkl-text-area__text-area:hover, .jkl-text-area__text-area:focus {
314
- outline: 0;
315
- outline-style: none;
316
- }
317
- @media screen and (forced-colors: active) {
318
- .jkl-text-area__text-area {
319
- outline: revert;
320
- border-style: revert;
321
- outline-style: revert;
322
- }
323
- .jkl-text-area__text-area:active, .jkl-text-area__text-area:hover, .jkl-text-area__text-area:focus {
324
- outline: revert;
325
- outline-style: revert;
326
- }
327
- }
328
- .jkl-text-area__text-area input[type=number]::-webkit-outer-spin-button,
329
- .jkl-text-area__text-area input[type=number]::-webkit-inner-spin-button {
330
- -webkit-appearance: none;
331
- }
332
- .jkl-text-area__text-area input[type=number] {
333
- -moz-appearance: textfield;
334
- }
335
- @media screen and (forced-colors: active) {
336
- .jkl-text-area__text-area {
337
- outline: none;
338
- border: none;
339
- }
340
- .jkl-text-area__text-area:focus-visible {
341
- outline: none;
342
- }
343
- }
344
- .jkl-text-area__text-area::placeholder {
345
- opacity: 1;
346
- color: var(--jkl-text-input-placeholder-color);
347
- }
348
- .jkl-text-area__text-area::selection {
349
- background-color: var(--jkl-text-input-selection-color);
350
- }
351
- [data-theme=dark] .jkl-text-area__text-area::selection {
352
- background-color: var(--jkl-text-input-selection-color);
353
- }
354
- .jkl-text-area__text-area[aria-invalid=true] {
355
- color: var(--jkl-text-input-error-text-color);
356
- }
357
- .jkl-text-area__text-area[aria-invalid=true]::placeholder {
358
- color: var(--jkl-text-input-error-placeholder-color);
359
- }
360
- .jkl-text-area__text-area[aria-invalid=true]::selection {
361
- background-color: var(--jkl-text-input-error-selection-color);
362
- }
363
- .jkl-text-area__text-area[aria-invalid=true] ~ .jkl-text-input-action-button {
364
- color: var(--jkl-color-text-on-alert);
365
- }
366
- .jkl-text-area__text-area[aria-invalid=true] ~ .jkl-text-input-action-button:hover {
367
- color: var(--jkl-text-input-error-text-color);
368
- }
369
- html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-area__text-area[aria-invalid=true] ~ .jkl-text-input-action-button:focus::after {
370
- box-shadow: inset 0 0 0 0.125rem var(--jkl-text-input-error-text-color);
371
- }
372
-
373
- .jkl-text-area__text-area[aria-invalid=true] ~ .jkl-text-input__unit {
374
- color: var(--jkl-text-input-error-text-color);
375
- }
376
- .jkl-text-area .jkl-text-input-wrapper {
377
- height: auto;
378
- max-height: 100%;
379
- }
380
- .jkl-text-area--start-open .jkl-text-input-wrapper {
381
- max-height: 100%;
382
- }
383
- .jkl-text-area--auto-expand .jkl-text-area__text-area {
384
- overflow: hidden;
385
- }
386
- .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-input-wrapper {
387
- position: relative;
388
- }
389
- .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-input-wrapper[data-has-content=true], .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-input-wrapper:focus-within {
390
- padding-bottom: calc(var(--jkl-text-input-height) + 0.25rem);
391
- }
392
- .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area__counter {
393
- transition-timing-function: ease;
394
- transition-duration: 150ms;
395
- transition-property: opacity;
396
- opacity: 0;
397
- pointer-events: none;
398
- position: absolute;
399
- bottom: 0;
400
- left: 0;
401
- right: 0;
402
- }
403
- .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area__counter-count {
404
- padding: var(--jkl-text-input-padding);
405
- color: var(--jkl-text-area-counter-count-color);
406
- font-size: 1rem;
407
- line-height: 1.5rem;
408
- font-weight: 400;
409
- --jkl-icon-weight: 300;
410
- --jkl-icon-size: 1.25rem;
411
- --jkl-icon-opsz: 20;
412
- }
413
- .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area__counter-progress {
414
- background-color: transparent;
415
- height: 0.25rem;
416
- width: 100%;
417
- overflow: hidden;
418
- }
419
- .jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area__counter-progress::after {
420
- content: "";
421
- width: var(--progress-width, 100%);
422
- display: block;
423
- height: 0.25rem;
424
- background-color: var(--jkl-color);
425
- transition-property: width;
426
- transition-timing-function: ease;
427
- transition-duration: 400ms;
428
- }
429
- .jkl-text-area:has(.jkl-text-area__counter):focus-within .jkl-text-area__counter {
430
- opacity: 1;
431
- transition-delay: 150ms;
432
- }
433
- .jkl-text-area:has(.jkl-text-area__counter) [aria-invalid=true] ~ .jkl-text-area__counter {
434
- color: var(--jkl-text-input-error-text-color);
435
- }
436
-
437
- .jkl-text-area__text-area--3-rows:focus,
438
- .jkl-text-area__text-area--3-rows:not(:placeholder-shown),
439
- .jkl-text-area--start-open .jkl-text-area__text-area--3-rows {
440
- --height: calc(var(--jkl-text-input-line-height) * 3);
441
- --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
442
- min-height: calc(var(--height) + var(--vertical-padding));
443
- height: calc(var(--height) + var(--vertical-padding));
444
- max-height: 100%;
445
- }
446
-
447
- .jkl-text-area__text-area--4-rows:focus,
448
- .jkl-text-area__text-area--4-rows:not(:placeholder-shown),
449
- .jkl-text-area--start-open .jkl-text-area__text-area--4-rows {
450
- --height: calc(var(--jkl-text-input-line-height) * 4);
451
- --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
452
- min-height: calc(var(--height) + var(--vertical-padding));
453
- height: calc(var(--height) + var(--vertical-padding));
454
- max-height: 100%;
455
- }
456
-
457
- .jkl-text-area__text-area--5-rows:focus,
458
- .jkl-text-area__text-area--5-rows:not(:placeholder-shown),
459
- .jkl-text-area--start-open .jkl-text-area__text-area--5-rows {
460
- --height: calc(var(--jkl-text-input-line-height) * 5);
461
- --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
462
- min-height: calc(var(--height) + var(--vertical-padding));
463
- height: calc(var(--height) + var(--vertical-padding));
464
- max-height: 100%;
465
- }
466
-
467
- .jkl-text-area__text-area--6-rows:focus,
468
- .jkl-text-area__text-area--6-rows:not(:placeholder-shown),
469
- .jkl-text-area--start-open .jkl-text-area__text-area--6-rows {
470
- --height: calc(var(--jkl-text-input-line-height) * 6);
471
- --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
472
- min-height: calc(var(--height) + var(--vertical-padding));
473
- height: calc(var(--height) + var(--vertical-padding));
474
- max-height: 100%;
475
- }
476
-
477
- .jkl-text-area__text-area--7-rows:focus,
478
- .jkl-text-area__text-area--7-rows:not(:placeholder-shown),
479
- .jkl-text-area--start-open .jkl-text-area__text-area--7-rows {
480
- --height: calc(var(--jkl-text-input-line-height) * 7);
481
- --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
482
- min-height: calc(var(--height) + var(--vertical-padding));
483
- height: calc(var(--height) + var(--vertical-padding));
484
- max-height: 100%;
485
- }
486
-
487
- .jkl-text-area__text-area--8-rows:focus,
488
- .jkl-text-area__text-area--8-rows:not(:placeholder-shown),
489
- .jkl-text-area--start-open .jkl-text-area__text-area--8-rows {
490
- --height: calc(var(--jkl-text-input-line-height) * 8);
491
- --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
492
- min-height: calc(var(--height) + var(--vertical-padding));
493
- height: calc(var(--height) + var(--vertical-padding));
494
- max-height: 100%;
495
- }
496
-
497
- .jkl-text-area__text-area--9-rows:focus,
498
- .jkl-text-area__text-area--9-rows:not(:placeholder-shown),
499
- .jkl-text-area--start-open .jkl-text-area__text-area--9-rows {
500
- --height: calc(var(--jkl-text-input-line-height) * 9);
501
- --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
502
- min-height: calc(var(--height) + var(--vertical-padding));
503
- height: calc(var(--height) + var(--vertical-padding));
504
- max-height: 100%;
505
- }
506
-
507
- .jkl-text-area__text-area--10-rows:focus,
508
- .jkl-text-area__text-area--10-rows:not(:placeholder-shown),
509
- .jkl-text-area--start-open .jkl-text-area__text-area--10-rows {
510
- --height: calc(var(--jkl-text-input-line-height) * 10);
511
- --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
512
- min-height: calc(var(--height) + var(--vertical-padding));
513
- height: calc(var(--height) + var(--vertical-padding));
514
- max-height: 100%;
515
283
  }
@@ -1 +1 @@
1
- @media screen and (prefers-color-scheme:light){:root{--jkl-text-input-border-color:#636060;--jkl-text-input-text-color:#1b1917;--jkl-text-input-placeholder-color:#636060;--jkl-text-input-unit-color:#1b1917;--jkl-text-input-background-color:#fff;--jkl-text-input-focus-color:#1b1917;--jkl-text-input-error-background-color:#f6b3b3;--jkl-text-input-error-text-color:#1b1917;--jkl-text-input-error-placeholder-color:#636060;--jkl-text-input-selection-color:#1b191733;--jkl-text-input-error-selection-color:#1b191733;--jkl-text-area-counter-count-color:#636060}}[data-theme=light]{--jkl-text-input-border-color:#636060;--jkl-text-input-text-color:#1b1917;--jkl-text-input-placeholder-color:#636060;--jkl-text-input-unit-color:#1b1917;--jkl-text-input-background-color:#fff;--jkl-text-input-focus-color:#1b1917;--jkl-text-input-error-background-color:#f6b3b3;--jkl-text-input-error-text-color:#1b1917;--jkl-text-input-error-placeholder-color:#636060;--jkl-text-input-selection-color:#1b191733;--jkl-text-input-error-selection-color:#1b191733;--jkl-text-area-counter-count-color:#636060}@media screen and (prefers-color-scheme:dark){:root{--jkl-text-input-border-color:#c8c5c3;--jkl-text-input-text-color:#f9f9f9;--jkl-text-input-placeholder-color:#c8c5c3;--jkl-text-input-unit-color:#f9f9f9;--jkl-text-input-background-color:#313030;--jkl-text-input-focus-color:#f9f9f9;--jkl-text-input-selection-color:#f9f9f940;--jkl-text-input-error-background-color:#f6b3b3;--jkl-text-input-error-text-color:#1b1917;--jkl-text-input-error-placeholder-color:#636060;--jkl-text-input-error-selection-color:#1b191733;--jkl-text-area-counter-count-color:#c8c5c3}}[data-theme=dark]{--jkl-text-input-border-color:#c8c5c3;--jkl-text-input-text-color:#f9f9f9;--jkl-text-input-placeholder-color:#c8c5c3;--jkl-text-input-unit-color:#f9f9f9;--jkl-text-input-background-color:#313030;--jkl-text-input-focus-color:#f9f9f9;--jkl-text-input-selection-color:#f9f9f940;--jkl-text-input-error-background-color:#f6b3b3;--jkl-text-input-error-text-color:#1b1917;--jkl-text-input-error-placeholder-color:#636060;--jkl-text-input-error-selection-color:#1b191733;--jkl-text-area-counter-count-color:#c8c5c3}:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-text-input-font-size:var(--jkl-body-font-size);--jkl-text-input-line-height:var(--jkl-body-line-height);--jkl-text-input-font-weight:var(--jkl-body-font-weight);--jkl-text-input-height:3rem;--jkl-text-input-vertical-padding:0.5rem;--jkl-text-input-horizontal-padding:0.75rem;--jkl-text-input-padding:var(--jkl-text-input-vertical-padding) var(--jkl-text-input-horizontal-padding);--jkl-text-input-action-button-size:3rem;--jkl-text-input-action-button-icon-size:1.25rem;--jkl-text-input-action-button-padding:0.5rem 0;--jkl-text-input-action-button-focus-position:0.375rem}@media (width >= 0) and (max-width:679px){:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-text-input-height:2.75rem;--jkl-text-input-action-button-size:2.75rem}}[data-density=compact],[data-layout-density=compact]{--jkl-text-input-font-size:var(--jkl-small-font-size);--jkl-text-input-line-height:var(--jkl-small-line-height);--jkl-text-input-font-weight:var(--jkl-small-font-weight);--jkl-text-input-height:2rem;--jkl-text-input-vertical-padding:0.25rem;--jkl-text-input-horizontal-padding:0.5rem;--jkl-text-input-padding:var(--jkl-text-input-vertical-padding) var(--jkl-text-input-horizontal-padding);--jkl-text-input-action-button-size:2rem;--jkl-text-input-action-button-icon-size:1.125rem;--jkl-text-input-action-button-padding:0;--jkl-text-input-action-button-focus-position:0}.jkl-text-input-wrapper{align-items:center;background-color:initial;border-radius:.1875rem;box-shadow:inset 0 0 0 .0625rem var(--jkl-text-input-border-color),0 0 0 .0625rem #0000;box-sizing:border-box;color:var(--jkl-text-input-text-color);display:flex;font-size:var(--jkl-text-input-font-size);font-weight:var(--jkl-text-input-font-weight);height:var(--jkl-text-input-height);line-height:var(--jkl-text-input-line-height);max-width:100%;position:relative;transition-duration:.15s;transition-property:color,box-shadow,background-color;transition-timing-function:ease}.jkl-text-input-wrapper[data-invalid=true]{background-color:var(--jkl-text-input-error-background-color);color:var(--jkl-text-input-error-text-color)}.jkl-text-input-wrapper:hover{border-color:var(--jkl-text-input-focus-color);box-shadow:inset 0 0 0 .0625rem var(--jkl-text-input-focus-color),0 0 0 .0625rem var(--jkl-text-input-focus-color)}@media screen and (forced-colors:active){.jkl-text-input-wrapper:hover{border:.125rem solid ButtonText}}.jkl-text-input-wrapper:has(:active){background-color:var(--jkl-text-input-background-color)}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-input-wrapper:has(.jkl-text-area__text-area:focus-visible),html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-input-wrapper:has(.jkl-text-input__input:focus-visible){outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-text-input-wrapper>.jkl-icon-button:focus-visible{outline:3px solid var(--jkl-color-border-action);outline-offset:-8px}@media screen and (forced-colors:active){.jkl-text-input-wrapper>.jkl-icon-button:focus-visible{--jkl-color-border-action:ButtonText}}.jkl-text-input-wrapper>.jkl-text-input-action-button{align-items:center;box-sizing:border-box;display:flex;flex-shrink:0;height:var(--jkl-text-input-action-button-size);justify-content:center;padding:var(--jkl-text-input-action-button-padding);width:var(--jkl-text-input-action-button-size);-webkit-margin-start:calc(var(--jkl-text-input-horizontal-padding)*-1);margin-inline-start:calc(var(--jkl-text-input-horizontal-padding)*-1)}.jkl-text-input-wrapper>.jkl-text-input-action-button .jkl-icon-button__icon{height:var(--jkl-text-input-action-button-icon-size);width:var(--jkl-text-input-action-button-icon-size)}.jkl-text-input-wrapper>.jkl-text-input-action-button:hover{color:var(--jkl-text-input-focus-color)}@media screen and (forced-colors:active){.jkl-text-input-wrapper,.jkl-text-input-wrapper>.jkl-text-input-action-button:hover{border:.125rem inset ButtonText}}.jkl-text-input{align-items:flex-start;display:flex;flex-direction:column}.jkl-text-input__input{-webkit-appearance:none;background:none;border-style:none;color:var(--jkl-color);font-size:var(--jkl-text-input-font-size);font-weight:var(--jkl-text-input-font-weight);line-height:var(--jkl-text-input-line-height);padding:var(--jkl-text-input-padding);width:100%}.jkl-text-input__input,.jkl-text-input__input:active,.jkl-text-input__input:focus,.jkl-text-input__input:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-text-input__input{border-style:revert}.jkl-text-input__input,.jkl-text-input__input:active,.jkl-text-input__input:focus,.jkl-text-input__input:hover{outline:revert;outline-style:revert}}.jkl-text-input__input input[type=number]::-webkit-inner-spin-button,.jkl-text-input__input input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.jkl-text-input__input input[type=number]{-moz-appearance:textfield}@media screen and (forced-colors:active){.jkl-text-input__input{border:none;outline:none}.jkl-text-input__input:focus-visible{outline:none}}.jkl-text-input__input::placeholder{color:var(--jkl-text-input-placeholder-color);opacity:1}.jkl-text-input__input::selection{background-color:var(--jkl-text-input-selection-color)}[data-theme=dark] .jkl-text-input__input::selection{background-color:var(--jkl-text-input-selection-color)}.jkl-text-input__input[aria-invalid=true]{color:var(--jkl-text-input-error-text-color)}.jkl-text-input__input[aria-invalid=true]::placeholder{color:var(--jkl-text-input-error-placeholder-color)}.jkl-text-input__input[aria-invalid=true]::selection{background-color:var(--jkl-text-input-error-selection-color)}.jkl-text-input__input[aria-invalid=true]~.jkl-text-input-action-button{color:var(--jkl-color-text-on-alert)}.jkl-text-input__input[aria-invalid=true]~.jkl-text-input-action-button:hover{color:var(--jkl-text-input-error-text-color)}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-input__input[aria-invalid=true]~.jkl-text-input-action-button:focus:after{box-shadow:inset 0 0 0 .125rem var(--jkl-text-input-error-text-color)}.jkl-text-input__input[aria-invalid=true]~.jkl-text-input__unit{color:var(--jkl-text-input-error-text-color)}.jkl-text-input__input--align-right{text-align:right}.jkl-text-input__unit{-webkit-padding-end:var(--jkl-text-input-horizontal-padding);color:var(--jkl-text-input-unit-color);padding-block:var(--jkl-text-input-vertical-padding);padding-inline-end:var(--jkl-text-input-horizontal-padding)}.jkl-text-input__action-button{-webkit-margin-start:calc(var(--jkl-text-input-horizontal-padding)*-1);margin-inline-start:calc(var(--jkl-text-input-horizontal-padding)*-1)}.jkl-text-input--inline{display:inline-block;margin:-.125rem .25rem;vertical-align:middle}.jkl-text-area{height:auto;width:100%}.jkl-text-area__text-area{-webkit-appearance:none;background:none;border-style:none;box-sizing:border-box;color:var(--jkl-color);font-size:var(--jkl-text-input-font-size);font-weight:var(--jkl-text-input-font-weight);height:var(--jkl-text-input-height);line-height:var(--jkl-text-input-line-height);max-height:var(--jkl-text-input-height);min-height:var(--jkl-text-input-height);padding:var(--jkl-text-input-padding);resize:none;scrollbar-color:var(--jkl-color) #0000;transition-duration:.15s;transition-property:height,min-height,max-height,padding;transition-timing-function:ease;width:100%}.jkl-text-area__text-area,.jkl-text-area__text-area:active,.jkl-text-area__text-area:focus,.jkl-text-area__text-area:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-text-area__text-area{border-style:revert}.jkl-text-area__text-area,.jkl-text-area__text-area:active,.jkl-text-area__text-area:focus,.jkl-text-area__text-area:hover{outline:revert;outline-style:revert}}.jkl-text-area__text-area input[type=number]::-webkit-inner-spin-button,.jkl-text-area__text-area input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.jkl-text-area__text-area input[type=number]{-moz-appearance:textfield}@media screen and (forced-colors:active){.jkl-text-area__text-area{border:none;outline:none}.jkl-text-area__text-area:focus-visible{outline:none}}.jkl-text-area__text-area::placeholder{color:var(--jkl-text-input-placeholder-color);opacity:1}.jkl-text-area__text-area::selection{background-color:var(--jkl-text-input-selection-color)}[data-theme=dark] .jkl-text-area__text-area::selection{background-color:var(--jkl-text-input-selection-color)}.jkl-text-area__text-area[aria-invalid=true]{color:var(--jkl-text-input-error-text-color)}.jkl-text-area__text-area[aria-invalid=true]::placeholder{color:var(--jkl-text-input-error-placeholder-color)}.jkl-text-area__text-area[aria-invalid=true]::selection{background-color:var(--jkl-text-input-error-selection-color)}.jkl-text-area__text-area[aria-invalid=true]~.jkl-text-input-action-button{color:var(--jkl-color-text-on-alert)}.jkl-text-area__text-area[aria-invalid=true]~.jkl-text-input-action-button:hover{color:var(--jkl-text-input-error-text-color)}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-area__text-area[aria-invalid=true]~.jkl-text-input-action-button:focus:after{box-shadow:inset 0 0 0 .125rem var(--jkl-text-input-error-text-color)}.jkl-text-area__text-area[aria-invalid=true]~.jkl-text-input__unit{color:var(--jkl-text-input-error-text-color)}.jkl-text-area .jkl-text-input-wrapper{height:auto;max-height:100%}.jkl-text-area--start-open .jkl-text-input-wrapper{max-height:100%}.jkl-text-area--auto-expand .jkl-text-area__text-area{overflow:hidden}.jkl-text-area:has(.jkl-text-area__counter) .jkl-text-input-wrapper{position:relative}.jkl-text-area:has(.jkl-text-area__counter) .jkl-text-input-wrapper:focus-within,.jkl-text-area:has(.jkl-text-area__counter) .jkl-text-input-wrapper[data-has-content=true]{padding-bottom:calc(var(--jkl-text-input-height) + .25rem)}.jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area__counter{bottom:0;left:0;opacity:0;pointer-events:none;position:absolute;right:0;transition-duration:.15s;transition-property:opacity;transition-timing-function:ease}.jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area__counter-count{color:var(--jkl-text-area-counter-count-color);font-size:1rem;font-weight:400;line-height:1.5rem;padding:var(--jkl-text-input-padding);--jkl-icon-weight:300;--jkl-icon-size:1.25rem;--jkl-icon-opsz:20}.jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area__counter-progress{background-color:initial;height:.25rem;overflow:hidden;width:100%}.jkl-text-area:has(.jkl-text-area__counter) .jkl-text-area__counter-progress:after{background-color:var(--jkl-color);content:"";display:block;height:.25rem;transition-duration:.4s;transition-property:width;transition-timing-function:ease;width:var(--progress-width,100%)}.jkl-text-area:has(.jkl-text-area__counter):focus-within .jkl-text-area__counter{opacity:1;transition-delay:.15s}.jkl-text-area:has(.jkl-text-area__counter) [aria-invalid=true]~.jkl-text-area__counter{color:var(--jkl-text-input-error-text-color)}.jkl-text-area--start-open .jkl-text-area__text-area--3-rows,.jkl-text-area__text-area--3-rows:focus,.jkl-text-area__text-area--3-rows:not(:placeholder-shown){--height:calc(var(--jkl-text-input-line-height)*3);--vertical-padding:calc(var(--jkl-text-input-vertical-padding)*2);height:calc(var(--height) + var(--vertical-padding));max-height:100%;min-height:calc(var(--height) + var(--vertical-padding))}.jkl-text-area--start-open .jkl-text-area__text-area--4-rows,.jkl-text-area__text-area--4-rows:focus,.jkl-text-area__text-area--4-rows:not(:placeholder-shown){--height:calc(var(--jkl-text-input-line-height)*4);--vertical-padding:calc(var(--jkl-text-input-vertical-padding)*2);height:calc(var(--height) + var(--vertical-padding));max-height:100%;min-height:calc(var(--height) + var(--vertical-padding))}.jkl-text-area--start-open .jkl-text-area__text-area--5-rows,.jkl-text-area__text-area--5-rows:focus,.jkl-text-area__text-area--5-rows:not(:placeholder-shown){--height:calc(var(--jkl-text-input-line-height)*5);--vertical-padding:calc(var(--jkl-text-input-vertical-padding)*2);height:calc(var(--height) + var(--vertical-padding));max-height:100%;min-height:calc(var(--height) + var(--vertical-padding))}.jkl-text-area--start-open .jkl-text-area__text-area--6-rows,.jkl-text-area__text-area--6-rows:focus,.jkl-text-area__text-area--6-rows:not(:placeholder-shown){--height:calc(var(--jkl-text-input-line-height)*6);--vertical-padding:calc(var(--jkl-text-input-vertical-padding)*2);height:calc(var(--height) + var(--vertical-padding));max-height:100%;min-height:calc(var(--height) + var(--vertical-padding))}.jkl-text-area--start-open .jkl-text-area__text-area--7-rows,.jkl-text-area__text-area--7-rows:focus,.jkl-text-area__text-area--7-rows:not(:placeholder-shown){--height:calc(var(--jkl-text-input-line-height)*7);--vertical-padding:calc(var(--jkl-text-input-vertical-padding)*2);height:calc(var(--height) + var(--vertical-padding));max-height:100%;min-height:calc(var(--height) + var(--vertical-padding))}.jkl-text-area--start-open .jkl-text-area__text-area--8-rows,.jkl-text-area__text-area--8-rows:focus,.jkl-text-area__text-area--8-rows:not(:placeholder-shown){--height:calc(var(--jkl-text-input-line-height)*8);--vertical-padding:calc(var(--jkl-text-input-vertical-padding)*2);height:calc(var(--height) + var(--vertical-padding));max-height:100%;min-height:calc(var(--height) + var(--vertical-padding))}.jkl-text-area--start-open .jkl-text-area__text-area--9-rows,.jkl-text-area__text-area--9-rows:focus,.jkl-text-area__text-area--9-rows:not(:placeholder-shown){--height:calc(var(--jkl-text-input-line-height)*9);--vertical-padding:calc(var(--jkl-text-input-vertical-padding)*2);height:calc(var(--height) + var(--vertical-padding));max-height:100%;min-height:calc(var(--height) + var(--vertical-padding))}.jkl-text-area--start-open .jkl-text-area__text-area--10-rows,.jkl-text-area__text-area--10-rows:focus,.jkl-text-area__text-area--10-rows:not(:placeholder-shown){--height:calc(var(--jkl-text-input-line-height)*10);--vertical-padding:calc(var(--jkl-text-input-vertical-padding)*2);height:calc(var(--height) + var(--vertical-padding));max-height:100%;min-height:calc(var(--height) + var(--vertical-padding))}
1
+ @media screen and (prefers-color-scheme:light){:root{--jkl-text-input-border-color:#636060;--jkl-text-input-text-color:#1b1917;--jkl-text-input-placeholder-color:#636060;--jkl-text-input-unit-color:#1b1917;--jkl-text-input-background-color:#fff;--jkl-text-input-focus-color:#1b1917;--jkl-text-input-error-background-color:#f6b3b3;--jkl-text-input-error-text-color:#1b1917;--jkl-text-input-error-placeholder-color:#636060;--jkl-text-input-selection-color:#1b191733;--jkl-text-input-error-selection-color:#1b191733;--jkl-text-area-counter-count-color:#636060}}[data-theme=light]{--jkl-text-input-border-color:#636060;--jkl-text-input-text-color:#1b1917;--jkl-text-input-placeholder-color:#636060;--jkl-text-input-unit-color:#1b1917;--jkl-text-input-background-color:#fff;--jkl-text-input-focus-color:#1b1917;--jkl-text-input-error-background-color:#f6b3b3;--jkl-text-input-error-text-color:#1b1917;--jkl-text-input-error-placeholder-color:#636060;--jkl-text-input-selection-color:#1b191733;--jkl-text-input-error-selection-color:#1b191733;--jkl-text-area-counter-count-color:#636060}@media screen and (prefers-color-scheme:dark){:root{--jkl-text-input-border-color:#c8c5c3;--jkl-text-input-text-color:#f9f9f9;--jkl-text-input-placeholder-color:#c8c5c3;--jkl-text-input-unit-color:#f9f9f9;--jkl-text-input-background-color:#313030;--jkl-text-input-focus-color:#f9f9f9;--jkl-text-input-selection-color:#f9f9f940;--jkl-text-input-error-background-color:#f6b3b3;--jkl-text-input-error-text-color:#1b1917;--jkl-text-input-error-placeholder-color:#636060;--jkl-text-input-error-selection-color:#1b191733;--jkl-text-area-counter-count-color:#c8c5c3}}[data-theme=dark]{--jkl-text-input-border-color:#c8c5c3;--jkl-text-input-text-color:#f9f9f9;--jkl-text-input-placeholder-color:#c8c5c3;--jkl-text-input-unit-color:#f9f9f9;--jkl-text-input-background-color:#313030;--jkl-text-input-focus-color:#f9f9f9;--jkl-text-input-selection-color:#f9f9f940;--jkl-text-input-error-background-color:#f6b3b3;--jkl-text-input-error-text-color:#1b1917;--jkl-text-input-error-placeholder-color:#636060;--jkl-text-input-error-selection-color:#1b191733;--jkl-text-area-counter-count-color:#c8c5c3}:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-text-input-font-size:var(--jkl-body-font-size);--jkl-text-input-line-height:var(--jkl-body-line-height);--jkl-text-input-font-weight:var(--jkl-body-font-weight);--jkl-text-input-height:3rem;--jkl-text-input-vertical-padding:0.5rem;--jkl-text-input-horizontal-padding:0.75rem;--jkl-text-input-padding:var(--jkl-text-input-vertical-padding) var(--jkl-text-input-horizontal-padding);--jkl-text-input-action-button-size:3rem;--jkl-text-input-action-button-icon-size:1.25rem;--jkl-text-input-action-button-padding:0.5rem 0;--jkl-text-input-action-button-focus-position:0.375rem}@media (width >= 0) and (max-width:679px){:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-text-input-height:2.75rem;--jkl-text-input-action-button-size:2.75rem}}[data-density=compact],[data-layout-density=compact]{--jkl-text-input-font-size:var(--jkl-small-font-size);--jkl-text-input-line-height:var(--jkl-small-line-height);--jkl-text-input-font-weight:var(--jkl-small-font-weight);--jkl-text-input-height:2rem;--jkl-text-input-vertical-padding:0.25rem;--jkl-text-input-horizontal-padding:0.5rem;--jkl-text-input-padding:var(--jkl-text-input-vertical-padding) var(--jkl-text-input-horizontal-padding);--jkl-text-input-action-button-size:2rem;--jkl-text-input-action-button-icon-size:1.125rem;--jkl-text-input-action-button-padding:0;--jkl-text-input-action-button-focus-position:0}.jkl-text-input-wrapper{align-items:center;background-color:initial;border-radius:.1875rem;box-shadow:inset 0 0 0 .0625rem var(--jkl-text-input-border-color),0 0 0 .0625rem #0000;box-sizing:border-box;color:var(--jkl-text-input-text-color);display:flex;font-size:var(--jkl-text-input-font-size);font-weight:var(--jkl-text-input-font-weight);height:var(--jkl-text-input-height);line-height:var(--jkl-text-input-line-height);max-width:100%;position:relative;transition-duration:.15s;transition-property:color,box-shadow,background-color;transition-timing-function:ease}.jkl-text-input-wrapper[data-invalid=true]{background-color:var(--jkl-text-input-error-background-color);color:var(--jkl-text-input-error-text-color)}.jkl-text-input-wrapper:hover{border-color:var(--jkl-text-input-focus-color);box-shadow:inset 0 0 0 .0625rem var(--jkl-text-input-focus-color),0 0 0 .0625rem var(--jkl-text-input-focus-color)}@media screen and (forced-colors:active){.jkl-text-input-wrapper:hover{border:.125rem solid ButtonText}}.jkl-text-input-wrapper:has(:active){background-color:var(--jkl-text-input-background-color)}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-input-wrapper:has(.jkl-text-area__text-area:focus-visible),html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-input-wrapper:has(.jkl-text-input__input:focus-visible){outline:3px solid var(--jkl-color-border-action);outline-offset:3px}.jkl-text-input-wrapper>.jkl-icon-button:focus-visible{outline:3px solid var(--jkl-color-border-action);outline-offset:-8px}@media screen and (forced-colors:active){.jkl-text-input-wrapper>.jkl-icon-button:focus-visible{--jkl-color-border-action:ButtonText}}.jkl-text-input-wrapper>.jkl-text-input-action-button{align-items:center;box-sizing:border-box;display:flex;flex-shrink:0;height:var(--jkl-text-input-action-button-size);justify-content:center;padding:var(--jkl-text-input-action-button-padding);width:var(--jkl-text-input-action-button-size);-webkit-margin-start:calc(var(--jkl-text-input-horizontal-padding)*-1);margin-inline-start:calc(var(--jkl-text-input-horizontal-padding)*-1)}.jkl-text-input-wrapper>.jkl-text-input-action-button .jkl-icon-button__icon{height:var(--jkl-text-input-action-button-icon-size);width:var(--jkl-text-input-action-button-icon-size)}.jkl-text-input-wrapper>.jkl-text-input-action-button:hover{color:var(--jkl-text-input-focus-color)}@media screen and (forced-colors:active){.jkl-text-input-wrapper,.jkl-text-input-wrapper>.jkl-text-input-action-button:hover{border:.125rem inset ButtonText}}.jkl-text-input{align-items:flex-start;display:flex;flex-direction:column}.jkl-text-input__input{-webkit-appearance:none;background:none;border-style:none;color:var(--jkl-color);font-size:var(--jkl-text-input-font-size);font-weight:var(--jkl-text-input-font-weight);line-height:var(--jkl-text-input-line-height);padding:var(--jkl-text-input-padding);width:100%}.jkl-text-input__input,.jkl-text-input__input:active,.jkl-text-input__input:focus,.jkl-text-input__input:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-text-input__input{border-style:revert}.jkl-text-input__input,.jkl-text-input__input:active,.jkl-text-input__input:focus,.jkl-text-input__input:hover{outline:revert;outline-style:revert}}.jkl-text-input__input input[type=number]::-webkit-inner-spin-button,.jkl-text-input__input input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.jkl-text-input__input input[type=number]{-moz-appearance:textfield}@media screen and (forced-colors:active){.jkl-text-input__input{border:none;outline:none}.jkl-text-input__input:focus-visible{outline:none}}.jkl-text-input__input::placeholder{color:var(--jkl-text-input-placeholder-color);opacity:1}.jkl-text-input__input::selection{background-color:var(--jkl-text-input-selection-color)}[data-theme=dark] .jkl-text-input__input::selection{background-color:var(--jkl-text-input-selection-color)}.jkl-text-input__input[aria-invalid=true]{color:var(--jkl-text-input-error-text-color)}.jkl-text-input__input[aria-invalid=true]::placeholder{color:var(--jkl-text-input-error-placeholder-color)}.jkl-text-input__input[aria-invalid=true]::selection{background-color:var(--jkl-text-input-error-selection-color)}.jkl-text-input__input[aria-invalid=true]~.jkl-text-input-action-button{color:var(--jkl-color-text-on-alert)}.jkl-text-input__input[aria-invalid=true]~.jkl-text-input-action-button:hover{color:var(--jkl-text-input-error-text-color)}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-text-input__input[aria-invalid=true]~.jkl-text-input-action-button:focus:after{box-shadow:inset 0 0 0 .125rem var(--jkl-text-input-error-text-color)}.jkl-text-input__input[aria-invalid=true]~.jkl-text-input__unit{color:var(--jkl-text-input-error-text-color)}.jkl-text-input__input--align-right{text-align:right}.jkl-text-input__unit{-webkit-padding-end:var(--jkl-text-input-horizontal-padding);color:var(--jkl-text-input-unit-color);padding-block:var(--jkl-text-input-vertical-padding);padding-inline-end:var(--jkl-text-input-horizontal-padding)}.jkl-text-input__action-button{-webkit-margin-start:calc(var(--jkl-text-input-horizontal-padding)*-1);margin-inline-start:calc(var(--jkl-text-input-horizontal-padding)*-1)}.jkl-text-input--inline{display:inline-block;margin:-.125rem .25rem;vertical-align:middle}
@@ -2,254 +2,10 @@
2
2
  @use "sass:color";
3
3
  @use "../../core/jkl";
4
4
  @use "../../core/jkl/colors";
5
-
6
- $_text-input-height: jkl.rem(48px);
7
- $_text-input-height--mobile: jkl.rem(44px);
8
- $_text-input-height--compact: jkl.rem(32px);
9
- $_text-input-vertical-padding: jkl.$spacing-xs;
10
- $_text-input-vertical-padding--compact: jkl.$spacing-2xs;
11
- $_text-input-horizontal-padding: jkl.$spacing-s;
12
- $_text-input-horizontal-padding--compact: jkl.$spacing-xs;
13
-
14
- $_action-button-size: jkl.rem(48px);
15
- $_action-button-size--mobile: jkl.rem(44px);
16
- $_action-button-size--compact: jkl.rem(32px);
17
- $_action-button-icon-size: jkl.rem(20px);
18
- $_action-button-icon-size--compact: jkl.rem(18px);
19
- $_action-button-padding: jkl.$spacing-xs 0;
20
- $_action-button-padding--compact: 0;
21
- $_action-button-focus-position: jkl.rem(6px);
22
- $_action-button-focus-position--compact: 0;
23
-
24
- $_text-input-focus-color: jkl.$color-granitt;
25
- $_text-input-selection-color: color.scale(
26
- $color: $_text-input-focus-color,
27
- $alpha: -80%,
28
- );
29
-
30
- $_text-input-focus-color--inverted: jkl.$color-snohvit;
31
- $_text-input-selection-color--inverted: color.scale(
32
- $color: $_text-input-focus-color--inverted,
33
- $alpha: -75%,
34
- );
35
-
36
- @include jkl.light-mode-variables {
37
- --jkl-text-input-border-color: #{jkl.$color-stein};
38
- --jkl-text-input-text-color: #{jkl.$color-granitt};
39
- --jkl-text-input-placeholder-color: #{jkl.$color-stein};
40
- --jkl-text-input-unit-color: #{jkl.$color-granitt};
41
- --jkl-text-input-background-color: #{jkl.$color-hvit};
42
- --jkl-text-input-focus-color: #{$_text-input-focus-color};
43
- --jkl-text-input-error-background-color: #{jkl.$color-feil};
44
- --jkl-text-input-error-text-color: #{jkl.$color-granitt};
45
- --jkl-text-input-error-placeholder-color: #{jkl.$color-stein};
46
- --jkl-text-input-selection-color: #{$_text-input-selection-color};
47
- --jkl-text-input-error-selection-color: #{$_text-input-selection-color};
48
- --jkl-text-area-counter-count-color: #{jkl.$color-stein};
49
- }
50
-
51
- @include jkl.dark-mode-variables {
52
- --jkl-text-input-border-color: #{jkl.$color-svaberg};
53
- --jkl-text-input-text-color: #{jkl.$color-snohvit};
54
- --jkl-text-input-placeholder-color: #{jkl.$color-svaberg};
55
- --jkl-text-input-unit-color: #{jkl.$color-snohvit};
56
- --jkl-text-input-background-color: #{jkl.$color-skifer};
57
- --jkl-text-input-focus-color: #{$_text-input-focus-color--inverted};
58
- --jkl-text-input-selection-color: #{$_text-input-selection-color--inverted};
59
- --jkl-text-input-error-background-color: #{jkl.$color-feil};
60
- --jkl-text-input-error-text-color: #{jkl.$color-granitt};
61
- --jkl-text-input-error-placeholder-color: #{jkl.$color-stein};
62
- --jkl-text-input-error-selection-color: #{$_text-input-selection-color};
63
- --jkl-text-area-counter-count-color: #{jkl.$color-svaberg};
64
- }
65
-
66
- @include jkl.comfortable-density-variables {
67
- @include jkl.declare-font-variables("jkl-text-input", "body");
68
-
69
- --jkl-text-input-height: #{$_text-input-height};
70
- --jkl-text-input-vertical-padding: #{$_text-input-vertical-padding};
71
- --jkl-text-input-horizontal-padding: #{$_text-input-horizontal-padding};
72
- --jkl-text-input-padding: var(--jkl-text-input-vertical-padding)
73
- var(--jkl-text-input-horizontal-padding);
74
- --jkl-text-input-action-button-size: #{$_action-button-size};
75
- --jkl-text-input-action-button-icon-size: #{$_action-button-icon-size};
76
- --jkl-text-input-action-button-padding: #{$_action-button-padding};
77
- --jkl-text-input-action-button-focus-position: #{$_action-button-focus-position};
78
-
79
- @include jkl.small-device {
80
- --jkl-text-input-height: #{$_text-input-height--mobile};
81
- --jkl-text-input-action-button-size: #{$_action-button-size--mobile};
82
- }
83
- }
84
-
85
- @include jkl.compact-density-variables {
86
- @include jkl.declare-font-variables("jkl-text-input", "small");
87
-
88
- --jkl-text-input-height: #{$_text-input-height--compact};
89
- --jkl-text-input-vertical-padding: #{$_text-input-vertical-padding--compact};
90
- --jkl-text-input-horizontal-padding: #{$_text-input-horizontal-padding--compact};
91
- --jkl-text-input-padding: var(--jkl-text-input-vertical-padding)
92
- var(--jkl-text-input-horizontal-padding);
93
- --jkl-text-input-action-button-size: #{$_action-button-size--compact};
94
- --jkl-text-input-action-button-icon-size: #{$_action-button-icon-size--compact};
95
- --jkl-text-input-action-button-padding: #{$_action-button-padding--compact};
96
- --jkl-text-input-action-button-focus-position: #{$_action-button-focus-position--compact};
97
- }
98
-
99
- @mixin _shared-input-styles {
100
- background: none;
101
- -webkit-appearance: none;
102
- color: var(--jkl-color);
103
-
104
- @include jkl.use-font-variables("jkl-text-input");
105
- @include jkl.reset-outline;
106
- @include jkl.remove-inner-outer-button;
107
-
108
- @include jkl.forced-colors-mode {
109
- outline: none;
110
- border: none;
111
-
112
- &:focus-visible {
113
- outline: none;
114
- }
115
- }
116
-
117
- // Placeholder text style
118
- &::placeholder {
119
- opacity: 1;
120
- color: var(--jkl-text-input-placeholder-color);
121
- }
122
-
123
- // Color of text selection
124
- &::selection {
125
- background-color: var(--jkl-text-input-selection-color);
126
-
127
- [data-theme="dark"] & {
128
- background-color: var(--jkl-text-input-selection-color);
129
- }
130
- }
131
-
132
- // Invalid state
133
- &[aria-invalid="true"] {
134
- color: var(--jkl-text-input-error-text-color);
135
-
136
- &::placeholder {
137
- color: var(--jkl-text-input-error-placeholder-color);
138
- }
139
-
140
- // Color of text selection
141
- &::selection {
142
- background-color: var(--jkl-text-input-error-selection-color);
143
- }
144
-
145
- & ~ .jkl-text-input-action-button {
146
- color: var(--jkl-color-text-on-alert);
147
-
148
- &:hover {
149
- color: var(--jkl-text-input-error-text-color);
150
- }
151
-
152
- &:focus {
153
- @include jkl.keyboard-navigation {
154
- &::after {
155
- box-shadow: inset 0 0 0 jkl.rem(2px)
156
- var(--jkl-text-input-error-text-color);
157
- }
158
- }
159
- }
160
- }
161
-
162
- & ~ .jkl-text-input__unit {
163
- color: var(--jkl-text-input-error-text-color);
164
- }
165
- }
166
- }
5
+ @use "../../shared/input/styles/shared-input-styles" as shared;
167
6
 
168
7
  .jkl-text-input-wrapper {
169
- border-radius: jkl.rem(3px);
170
- box-sizing: border-box;
171
- max-width: 100%;
172
-
173
- position: relative;
174
- display: flex;
175
- align-items: center;
176
- height: var(--jkl-text-input-height);
177
-
178
- @include jkl.use-font-variables("jkl-text-input");
179
- @include jkl.motion;
180
- transition-property: color, box-shadow, background-color;
181
-
182
- color: var(--jkl-text-input-text-color);
183
- box-shadow: inset 0 0 0 jkl.rem(1px) var(--jkl-text-input-border-color),
184
- 0 0 0 jkl.rem(1px) transparent;
185
- background-color: transparent;
186
-
187
- &[data-invalid="true"] {
188
- background-color: var(--jkl-text-input-error-background-color);
189
- color: var(--jkl-text-input-error-text-color);
190
- }
191
-
192
- &:hover {
193
- box-shadow: inset 0 0 0 jkl.rem(1px) var(--jkl-text-input-focus-color),
194
- 0 0 0 jkl.rem(1px) var(--jkl-text-input-focus-color);
195
- border-color: var(--jkl-text-input-focus-color);
196
-
197
- @include jkl.forced-colors-mode {
198
- border: jkl.rem(2px) solid ButtonText;
199
- }
200
- }
201
-
202
- &:has(:active) {
203
- background-color: var(--jkl-text-input-background-color);
204
- }
205
-
206
- @include jkl.keyboard-navigation {
207
- &:has(.jkl-text-input__input:focus-visible),
208
- &:has(.jkl-text-area__text-area:focus-visible) {
209
- @include jkl.focus-outline;
210
- }
211
- }
212
-
213
- > .jkl-icon-button:focus-visible {
214
- @include jkl.focus-outline($offset: -8px);
215
-
216
- @include jkl.forced-colors-mode {
217
- --jkl-color-border-action: ButtonText;
218
- }
219
- }
220
-
221
- > .jkl-text-input-action-button {
222
- flex-shrink: 0;
223
- display: flex;
224
- box-sizing: border-box;
225
- align-items: center;
226
- justify-content: center;
227
- padding: var(--jkl-text-input-action-button-padding);
228
- height: var(--jkl-text-input-action-button-size);
229
- width: var(--jkl-text-input-action-button-size);
230
-
231
- // Unngå for langt mellomrom mellom ikon og teksten i feltet
232
- margin-inline-start: calc(
233
- var(--jkl-text-input-horizontal-padding) * -1
234
- );
235
-
236
- .jkl-icon-button__icon {
237
- height: var(--jkl-text-input-action-button-icon-size);
238
- width: var(--jkl-text-input-action-button-icon-size);
239
- }
240
-
241
- &:hover {
242
- color: var(--jkl-text-input-focus-color);
243
-
244
- @include jkl.forced-colors-mode {
245
- border: jkl.rem(2px) inset ButtonText;
246
- }
247
- }
248
- }
249
-
250
- @include jkl.forced-colors-mode {
251
- border: jkl.rem(2px) inset ButtonText;
252
- }
8
+ @include shared.wrapper_styles;
253
9
  }
254
10
 
255
11
  .jkl-text-input {
@@ -260,7 +16,7 @@ $_text-input-selection-color--inverted: color.scale(
260
16
  &__input {
261
17
  padding: var(--jkl-text-input-padding);
262
18
  width: 100%;
263
- @include _shared-input-styles;
19
+ @include shared.input-styles;
264
20
 
265
21
  &--align-right {
266
22
  text-align: right;
@@ -285,118 +41,3 @@ $_text-input-selection-color--inverted: color.scale(
285
41
  margin: jkl.rem(-2px) jkl.rem(4px);
286
42
  }
287
43
  }
288
-
289
- .jkl-text-area {
290
- height: auto;
291
- width: 100%;
292
-
293
- &__text-area {
294
- scrollbar-color: var(--jkl-color) transparent; // Unngå at scrollbar ligger oppå rammen
295
- box-sizing: border-box;
296
- resize: none; // Fjern mulighet for resizing av feltet
297
- width: 100%;
298
- padding: var(--jkl-text-input-padding);
299
- max-height: var(--jkl-text-input-height);
300
- height: var(--jkl-text-input-height);
301
- min-height: var(--jkl-text-input-height);
302
-
303
- @include jkl.motion;
304
- transition-property: height, min-height, max-height, padding;
305
- @include _shared-input-styles;
306
- }
307
-
308
- .jkl-text-input-wrapper {
309
- height: auto;
310
- max-height: 100%;
311
- }
312
-
313
- &--start-open {
314
- .jkl-text-input-wrapper {
315
- max-height: 100%;
316
- }
317
- }
318
-
319
- &--auto-expand {
320
- .jkl-text-area__text-area {
321
- overflow: hidden; // Skjul scrollbar når høyden autojusteres
322
- }
323
- }
324
-
325
- &:has(.jkl-text-area__counter) {
326
- $progress-bar-height: jkl.rem(4px);
327
-
328
- .jkl-text-input-wrapper {
329
- position: relative;
330
-
331
- &[data-has-content="true"],
332
- &:focus-within {
333
- padding-bottom: calc(
334
- var(--jkl-text-input-height) + #{$progress-bar-height}
335
- );
336
- }
337
- }
338
-
339
- .jkl-text-area__counter {
340
- @include jkl.motion;
341
- transition-property: opacity;
342
- opacity: 0;
343
-
344
- pointer-events: none; // La brukeren klikke gjennom telleren når feltet er kollapset
345
- position: absolute;
346
- bottom: 0;
347
- left: 0;
348
- right: 0;
349
-
350
- &-count {
351
- padding: var(--jkl-text-input-padding);
352
- color: var(--jkl-text-area-counter-count-color);
353
- @include jkl.text-style("small");
354
- }
355
-
356
- &-progress {
357
- background-color: transparent;
358
- height: $progress-bar-height;
359
- width: 100%;
360
- overflow: hidden;
361
-
362
- &::after {
363
- content: "";
364
- width: var(--progress-width, 100%);
365
- display: block;
366
- height: $progress-bar-height;
367
- background-color: var(--jkl-color);
368
- transition-property: width;
369
- @include jkl.motion("standard", "lazy");
370
- }
371
- }
372
- }
373
-
374
- &:focus-within .jkl-text-area__counter {
375
- opacity: 1;
376
- transition-delay: jkl.timing(
377
- "productive"
378
- ); // Vent med å fade inn til feltet er ekspandert
379
- }
380
-
381
- [aria-invalid="true"] ~ .jkl-text-area__counter {
382
- color: var(--jkl-text-input-error-text-color);
383
- }
384
- }
385
- }
386
-
387
- // Nytteklasser for tekstfelt med $num antall rader
388
- @for $num from 3 through 10 {
389
- .jkl-text-area__text-area--#{$num}-rows:focus,
390
- .jkl-text-area__text-area--#{$num}-rows:not(:placeholder-shown),
391
- .jkl-text-area--start-open .jkl-text-area__text-area--#{$num}-rows {
392
- --height: calc(var(--jkl-text-input-line-height) * #{$num});
393
- --vertical-padding: calc(var(--jkl-text-input-vertical-padding) * 2);
394
-
395
- // (#2751) Ekspanderende får inline style med height auto,
396
- // som gir et "hopp" dersom det er en teller og vi
397
- // ikke har en minimumshøyde.
398
- min-height: calc(var(--height) + var(--vertical-padding)); // (#2751)
399
- height: calc(var(--height) + var(--vertical-padding));
400
- max-height: 100%;
401
- }
402
- }