@fremtind/jokul 6.1.0-next.3 → 6.1.0-next.4

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 (112) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/cjs/components/button-group/ButtonGroup.cjs +2 -0
  3. package/build/cjs/components/button-group/ButtonGroup.cjs.map +1 -0
  4. package/build/cjs/components/button-group/ButtonGroup.d.cts +7 -0
  5. package/build/cjs/components/button-group/index.cjs +2 -0
  6. package/build/cjs/components/button-group/index.cjs.map +1 -0
  7. package/build/cjs/components/button-group/index.d.cts +1 -0
  8. package/build/cjs/components/date-input/DateInput.cjs +1 -1
  9. package/build/cjs/components/date-input/DateInput.cjs.map +1 -1
  10. package/build/cjs/components/input-group/Label.cjs +1 -1
  11. package/build/cjs/components/input-group/Label.cjs.map +1 -1
  12. package/build/cjs/components/input-group/types.d.cts +7 -0
  13. package/build/cjs/hooks/index.cjs +1 -1
  14. package/build/cjs/hooks/index.d.cts +1 -0
  15. package/build/cjs/hooks/useMergeRefs/useMergeRefs.cjs +2 -0
  16. package/build/cjs/hooks/useMergeRefs/useMergeRefs.cjs.map +1 -0
  17. package/build/cjs/hooks/useMergeRefs/useMergeRefs.d.cts +8 -0
  18. package/build/cjs/utilities/index.cjs +1 -1
  19. package/build/cjs/utilities/index.d.cts +1 -0
  20. package/build/cjs/utilities/mergeRefs.cjs +1 -1
  21. package/build/cjs/utilities/mergeRefs.cjs.map +1 -1
  22. package/build/cjs/utilities/mergeRefs.d.cts +0 -8
  23. package/build/es/components/button-group/ButtonGroup.d.ts +7 -0
  24. package/build/es/components/button-group/ButtonGroup.js +2 -0
  25. package/build/es/components/button-group/ButtonGroup.js.map +1 -0
  26. package/build/es/components/button-group/index.d.ts +1 -0
  27. package/build/es/components/button-group/index.js +2 -0
  28. package/build/es/components/button-group/index.js.map +1 -0
  29. package/build/es/components/date-input/DateInput.js +1 -1
  30. package/build/es/components/date-input/DateInput.js.map +1 -1
  31. package/build/es/components/input-group/Label.js +1 -1
  32. package/build/es/components/input-group/Label.js.map +1 -1
  33. package/build/es/components/input-group/types.d.ts +7 -0
  34. package/build/es/hooks/index.d.ts +1 -0
  35. package/build/es/hooks/index.js +1 -1
  36. package/build/es/hooks/useMergeRefs/useMergeRefs.d.ts +8 -0
  37. package/build/es/hooks/useMergeRefs/useMergeRefs.js +2 -0
  38. package/build/es/hooks/useMergeRefs/useMergeRefs.js.map +1 -0
  39. package/build/es/utilities/index.d.ts +1 -0
  40. package/build/es/utilities/index.js +1 -1
  41. package/build/es/utilities/mergeRefs.d.ts +0 -8
  42. package/build/es/utilities/mergeRefs.js +1 -1
  43. package/build/es/utilities/mergeRefs.js.map +1 -1
  44. package/package.json +3 -2
  45. package/styles/base.min.css +1 -1
  46. package/styles/components/autosuggest/autosuggest.min.css +1 -1
  47. package/styles/components/beta/nav-link/navlink.min.css +1 -1
  48. package/styles/components/button/button.css +1 -2
  49. package/styles/components/button/button.min.css +1 -1
  50. package/styles/components/button/button.scss +1 -2
  51. package/styles/components/button-group/_index.scss +1 -0
  52. package/styles/components/button-group/button-group.css +12 -0
  53. package/styles/components/button-group/button-group.min.css +1 -0
  54. package/styles/components/button-group/button-group.scss +14 -0
  55. package/styles/components/card/card.min.css +1 -1
  56. package/styles/components/checkbox/checkbox.min.css +1 -1
  57. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  58. package/styles/components/combobox/combobox.min.css +1 -1
  59. package/styles/components/cookie-consent/cookie-consent.min.css +1 -1
  60. package/styles/components/countdown/countdown.css +2 -2
  61. package/styles/components/countdown/countdown.min.css +1 -1
  62. package/styles/components/date-input/calendar/calendar.min.css +1 -1
  63. package/styles/components/date-input/date-input.min.css +1 -1
  64. package/styles/components/description-list/description-list.min.css +1 -1
  65. package/styles/components/expander/accordion.min.css +1 -1
  66. package/styles/components/expander/expandable.min.css +1 -1
  67. package/styles/components/feedback/feedback.css +2 -2
  68. package/styles/components/feedback/feedback.min.css +1 -1
  69. package/styles/components/file/file.min.css +1 -1
  70. package/styles/components/file-input/file-input.css +10 -11
  71. package/styles/components/file-input/file-input.min.css +1 -1
  72. package/styles/components/icon-button/icon-button.min.css +1 -1
  73. package/styles/components/input-group/_labels.scss +23 -0
  74. package/styles/components/input-group/input-group.css +22 -2
  75. package/styles/components/input-group/input-group.min.css +1 -1
  76. package/styles/components/input-panel/input-panel.min.css +1 -1
  77. package/styles/components/link-list/link-list.min.css +1 -1
  78. package/styles/components/list/list.min.css +1 -1
  79. package/styles/components/loader/loader.css +6 -6
  80. package/styles/components/loader/loader.min.css +1 -1
  81. package/styles/components/loader/skeleton-loader.css +3 -3
  82. package/styles/components/loader/skeleton-loader.min.css +1 -1
  83. package/styles/components/menu/menu.min.css +1 -1
  84. package/styles/components/message/message.css +2 -2
  85. package/styles/components/message/message.min.css +1 -1
  86. package/styles/components/modal/modal.min.css +1 -1
  87. package/styles/components/nav-link/nav-link.min.css +1 -1
  88. package/styles/components/number-input/number-input.min.css +1 -1
  89. package/styles/components/popover/popover.min.css +1 -1
  90. package/styles/components/progress-bar/progress-bar.css +1 -1
  91. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  92. package/styles/components/radio-button/radio-button.min.css +1 -1
  93. package/styles/components/radio-panel/radio-panel.min.css +1 -1
  94. package/styles/components/search/search.min.css +1 -1
  95. package/styles/components/segmented-control/segmented-control.css +33 -13
  96. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  97. package/styles/components/segmented-control/segmented-control.scss +2 -2
  98. package/styles/components/select/option.min.css +1 -1
  99. package/styles/components/select/select.min.css +1 -1
  100. package/styles/components/system-message/system-message.css +2 -2
  101. package/styles/components/system-message/system-message.min.css +1 -1
  102. package/styles/components/table/table.min.css +2 -2
  103. package/styles/components/tabs/tabs.min.css +1 -1
  104. package/styles/components/text-area/text-area.min.css +1 -1
  105. package/styles/components/text-input/text-input.min.css +1 -1
  106. package/styles/components/toast/toast.css +4 -4
  107. package/styles/components/toast/toast.min.css +1 -1
  108. package/styles/components/toggle-switch/toggle-switch.min.css +1 -1
  109. package/styles/components/tooltip/tooltip.min.css +1 -1
  110. package/styles/components.css +68 -37
  111. package/styles/components.min.css +2 -2
  112. package/styles/components.scss +1 -0
@@ -425,7 +425,7 @@
425
425
  display: inline-flex;
426
426
  }
427
427
  .jkl-form-support-label--error .jkl-form-support-label__icon, .jkl-form-support-label--warning .jkl-form-support-label__icon, .jkl-form-support-label--success .jkl-form-support-label__icon {
428
- animation: var(--jkl-motion-timing-lazy) cubic-bezier(0, 0, 0.3, 1) var(--jkl-motion-timing-expressive) jkl-support-icon-entrance-uuyifus forwards;
428
+ animation: var(--jkl-motion-timing-lazy) cubic-bezier(0, 0, 0.3, 1) var(--jkl-motion-timing-expressive) jkl-support-icon-entrance-u8trttj forwards;
429
429
  }
430
430
  .jkl-form-support-label--sr-only {
431
431
  border: 0 !important;
@@ -479,7 +479,27 @@
479
479
  .jkl-label:has(+ .jkl-input-group-description) {
480
480
  margin-block-end: var(--jkl-spacing-4);
481
481
  }
482
- @keyframes jkl-support-icon-entrance-uuyifus {
482
+ h1.jkl-label-heading {
483
+ font: var(--jkl-text-style-heading-3);
484
+ margin-block: 0;
485
+ }
486
+ h1.jkl-label-heading > .jkl-label {
487
+ margin: 0;
488
+ }
489
+ .jkl-input-group > h1.jkl-label-heading,
490
+ .jkl-field-group__legend:has(.jkl-label-heading) {
491
+ margin-block-end: var(--jkl-spacing-32);
492
+ }
493
+ .jkl-input-group > h1.jkl-label-heading:has(+ .jkl-input-group-description),
494
+ .jkl-field-group__legend:has(.jkl-label-heading):has(+ .jkl-input-group-description) {
495
+ margin-block-end: var(--jkl-spacing-4);
496
+ }
497
+ .jkl-input-group > h1.jkl-label-heading + .jkl-input-group-description,
498
+ .jkl-field-group__legend:has(.jkl-label-heading) + .jkl-input-group-description {
499
+ font: var(--jkl-text-style-paragraph-medium);
500
+ margin-block-end: var(--jkl-spacing-32);
501
+ }
502
+ @keyframes jkl-support-icon-entrance-u8trttj {
483
503
  0% {
484
504
  margin-right: 0;
485
505
  opacity: 0;
@@ -700,7 +720,6 @@
700
720
  --jkl-button-padding-icon-button: var(--jkl-unit-10);
701
721
  --jkl-button-tertiary-padding-icon: var(--jkl-unit-05);
702
722
  --jkl-button-text-ink-offset: 0.1em;
703
- --button-min-width: 9ch;
704
723
  --jkl-icon-weight: var(--jkl-icon-weight-bold);
705
724
  --text-color: var(--jkl-color-text-default);
706
725
  --background-color: transparent;
@@ -727,7 +746,7 @@
727
746
  transition-property: background-color;
728
747
  }
729
748
  .jkl-button:has(.jkl-button__text) {
730
- min-width: var(--button-min-width);
749
+ min-width: var(--button-min-width, 9ch);
731
750
  }
732
751
  .jkl-button:has(.jkl-button__text):has(.jkl-icon) {
733
752
  min-width: initial;
@@ -839,22 +858,22 @@
839
858
  animation: 2500ms linear infinite;
840
859
  }
841
860
  .jkl-loader__dot--left {
842
- animation-name: jkl-loader-left-spin-uuyifuu;
861
+ animation-name: jkl-loader-left-spin-u8trtud;
843
862
  margin-right: calc(var(--jkl-loader-spacing) * 0.9);
844
863
  }
845
864
  .jkl-loader__dot--middle {
846
- animation-name: jkl-loader-middle-spin-uuyifvb;
865
+ animation-name: jkl-loader-middle-spin-u8trtuw;
847
866
  margin-right: var(--jkl-loader-spacing);
848
867
  }
849
868
  .jkl-loader__dot--right {
850
- animation-name: jkl-loader-right-spin-uuyifvw;
869
+ animation-name: jkl-loader-right-spin-u8trtvq;
851
870
  }
852
871
  @media screen and (forced-colors: active) {
853
872
  .jkl-loader__dot {
854
873
  background-color: CanvasText;
855
874
  }
856
875
  }
857
- @keyframes jkl-loader-left-spin-uuyifuu {
876
+ @keyframes jkl-loader-left-spin-u8trtud {
858
877
  0% {
859
878
  transform: rotate(0) scale(0);
860
879
  }
@@ -868,7 +887,7 @@
868
887
  transform: rotate(180deg) scale(0);
869
888
  }
870
889
  }
871
- @keyframes jkl-loader-middle-spin-uuyifvb {
890
+ @keyframes jkl-loader-middle-spin-u8trtuw {
872
891
  0% {
873
892
  transform: rotate(20deg) scale(0);
874
893
  }
@@ -885,7 +904,7 @@
885
904
  transform: rotate(200deg) scale(0);
886
905
  }
887
906
  }
888
- @keyframes jkl-loader-right-spin-uuyifvw {
907
+ @keyframes jkl-loader-right-spin-u8trtvq {
889
908
  0% {
890
909
  transform: rotate(40deg) scale(0);
891
910
  }
@@ -925,7 +944,7 @@
925
944
  @media screen and (forced-colors: active) {
926
945
  .jkl-skeleton-element {
927
946
  border: 1px solid CanvasText;
928
- animation: 2s ease infinite jkl-blink-uuyifwr;
947
+ animation: 2s ease infinite jkl-blink-u8trtw4;
929
948
  }
930
949
  }
931
950
  .jkl-skeleton-input {
@@ -973,10 +992,10 @@
973
992
  }
974
993
  @media screen and (forced-colors: active) {
975
994
  .jkl-skeleton-table {
976
- animation: 2s ease-in-out infinite jkl-blink-uuyifwr;
995
+ animation: 2s ease-in-out infinite jkl-blink-u8trtw4;
977
996
  }
978
997
  }
979
- @keyframes jkl-blink-uuyifwr {
998
+ @keyframes jkl-blink-u8trtw4 {
980
999
  0% {
981
1000
  opacity: 1;
982
1001
  }
@@ -996,6 +1015,18 @@
996
1015
  }
997
1016
  }
998
1017
  }
1018
+ @layer jokul.components {
1019
+ .jkl-button-group {
1020
+ --button-min-width: 15ch;
1021
+ container: --jkl-button-group/inline-size;
1022
+ width: 100%;
1023
+ }
1024
+ @container --jkl-button-group (width < 35ch) {
1025
+ .jkl-button-group > .jkl-button {
1026
+ align-self: stretch;
1027
+ }
1028
+ }
1029
+ }
999
1030
  @layer jokul.components {
1000
1031
  .jkl-card {
1001
1032
  --padding-s: var(--jkl-unit-10);
@@ -2124,10 +2155,10 @@
2124
2155
  }
2125
2156
  }
2126
2157
  .jkl-countdown__tracker {
2127
- animation: jkl-downcount-uuyifxp var(--duration) linear forwards;
2158
+ animation: jkl-downcount-u8trtx3 var(--duration) linear forwards;
2128
2159
  animation-play-state: var(--play-state, running);
2129
2160
  }
2130
- @keyframes jkl-downcount-uuyifxp {
2161
+ @keyframes jkl-downcount-u8trtx3 {
2131
2162
  from {
2132
2163
  width: 100%;
2133
2164
  }
@@ -3556,12 +3587,12 @@
3556
3587
  font: var(--jkl-text-style-paragraph-small);
3557
3588
  }
3558
3589
  .jkl-feedback__fade-in {
3559
- animation: jkl-show-uuyify4 0.25s ease-out;
3590
+ animation: jkl-show-u8trtxc 0.25s ease-out;
3560
3591
  }
3561
3592
  .jkl-feedback__buttons {
3562
3593
  display: flex;
3563
3594
  }
3564
- @keyframes jkl-show-uuyify4 {
3595
+ @keyframes jkl-show-u8trtxc {
3565
3596
  from {
3566
3597
  transform: translate3d(0, 0.5rem, 0);
3567
3598
  opacity: 0;
@@ -3773,7 +3804,7 @@
3773
3804
  --icon-color: var(--jkl-color-success-background-contrast);
3774
3805
  }
3775
3806
  .jkl-message--dismissed {
3776
- animation: jkl-dismiss-uuyifys var(--jkl-motion-timing-lazy) ease-in-out forwards;
3807
+ animation: jkl-dismiss-u8trtxe var(--jkl-motion-timing-lazy) ease-in-out forwards;
3777
3808
  transition: visibility 0ms var(--jkl-motion-timing-lazy);
3778
3809
  visibility: hidden;
3779
3810
  }
@@ -3795,7 +3826,7 @@
3795
3826
  .jkl-form-error-message {
3796
3827
  padding-bottom: var(--jkl-unit-50);
3797
3828
  }
3798
- @keyframes jkl-dismiss-uuyifys {
3829
+ @keyframes jkl-dismiss-u8trtxe {
3799
3830
  from {
3800
3831
  opacity: 1;
3801
3832
  transform: translate3d(0, 0, 0);
@@ -5098,7 +5129,7 @@
5098
5129
  transition-timing-function: var(--jkl-motion-easing-standard);
5099
5130
  transition-duration: var(--jkl-motion-timing-productive);
5100
5131
  }
5101
- @keyframes jkl-downcount-uuyifz4 {
5132
+ @keyframes jkl-downcount-u8trtxs {
5102
5133
  from {
5103
5134
  width: 100%;
5104
5135
  }
@@ -5124,7 +5155,7 @@
5124
5155
  .jkl-segmented-control .jkl-segmented-control-legend {
5125
5156
  margin-block-end: 0.25lh;
5126
5157
  }
5127
- .jkl-segmented-control .jkl-segmented-control-item {
5158
+ .jkl-segmented-control .jkl-segmented-control-item.jkl-radio-button {
5128
5159
  --jkl-segmented-control-border-width: 1px;
5129
5160
  --jkl-segmented-controls-border-radius: 2lh;
5130
5161
  cursor: pointer;
@@ -5135,46 +5166,46 @@
5135
5166
  border: var(--jkl-segmented-control-border-width) solid var(--jkl-color-border-subdued);
5136
5167
  border-radius: 0;
5137
5168
  margin-inline-end: calc(var(--jkl-segmented-control-border-width) * -1);
5138
- margin-block-end: 0.5lh;
5169
+ margin-block: 0;
5139
5170
  transition-timing-function: var(--jkl-motion-easing-ease-in-bounce-out);
5140
5171
  transition-duration: var(--jkl-motion-timing-expressive);
5141
5172
  transition-property: border background;
5142
5173
  }
5143
- .jkl-segmented-control .jkl-segmented-control-item label {
5174
+ .jkl-segmented-control .jkl-segmented-control-item.jkl-radio-button label {
5144
5175
  cursor: pointer;
5145
5176
  padding: var(--jkl-segmented-controls-padding);
5146
5177
  }
5147
- .jkl-segmented-control .jkl-segmented-control-item:hover {
5178
+ .jkl-segmented-control .jkl-segmented-control-item.jkl-radio-button:hover {
5148
5179
  background-color: color-mix(in srgb, currentColor 6%, transparent);
5149
5180
  border-color: var(--jkl-color-border-default);
5150
5181
  z-index: 2;
5151
5182
  }
5152
- .jkl-segmented-control .jkl-segmented-control-item:has(input:checked) {
5183
+ .jkl-segmented-control .jkl-segmented-control-item.jkl-radio-button:has(input:checked) {
5153
5184
  background-color: var(--jkl-color-background-container);
5154
5185
  border-color: var(--jkl-color-border-subdued);
5155
5186
  z-index: 1;
5156
5187
  }
5157
- .jkl-segmented-control .jkl-segmented-control-item:has(input[data-separated=true]) {
5188
+ .jkl-segmented-control .jkl-segmented-control-item.jkl-radio-button:has(input[data-separated=true]) {
5158
5189
  border-radius: var(--jkl-segmented-controls-border-radius);
5159
5190
  margin-inline-start: var(--jkl-segmented-controls-margin);
5160
5191
  }
5161
- .jkl-segmented-control .jkl-segmented-control-item:has(input[data-separated=true]):first-of-type {
5192
+ .jkl-segmented-control .jkl-segmented-control-item.jkl-radio-button:has(input[data-separated=true]):first-of-type {
5162
5193
  margin-inline-start: 0;
5163
5194
  }
5164
- .jkl-segmented-control .jkl-segmented-control-item:has(input[data-separated=true]) + span + .jkl-segmented-control-item {
5195
+ .jkl-segmented-control .jkl-segmented-control-item.jkl-radio-button:has(input[data-separated=true]) + span + .jkl-segmented-control-item {
5165
5196
  border-end-start-radius: var(--jkl-segmented-controls-border-radius);
5166
5197
  border-start-start-radius: var(--jkl-segmented-controls-border-radius);
5167
5198
  margin-inline-start: var(--jkl-segmented-controls-margin);
5168
5199
  }
5169
- .jkl-segmented-control .jkl-segmented-control-item:first-of-type {
5200
+ .jkl-segmented-control .jkl-segmented-control-item.jkl-radio-button:first-of-type {
5170
5201
  border-end-start-radius: var(--jkl-segmented-controls-border-radius);
5171
5202
  border-start-start-radius: var(--jkl-segmented-controls-border-radius);
5172
5203
  }
5173
- .jkl-segmented-control .jkl-segmented-control-item:last-of-type {
5204
+ .jkl-segmented-control .jkl-segmented-control-item.jkl-radio-button:last-of-type {
5174
5205
  border-end-end-radius: var(--jkl-segmented-controls-border-radius);
5175
5206
  border-start-end-radius: var(--jkl-segmented-controls-border-radius);
5176
5207
  }
5177
- .jkl-segmented-control .jkl-segmented-control-item:has(+ span + .jkl-segmented-control-item > input[data-separated=true]) {
5208
+ .jkl-segmented-control .jkl-segmented-control-item.jkl-radio-button:has(+ span + .jkl-segmented-control-item > input[data-separated=true]) {
5178
5209
  border-end-end-radius: var(--jkl-segmented-controls-border-radius);
5179
5210
  border-start-end-radius: var(--jkl-segmented-controls-border-radius);
5180
5211
  }
@@ -5338,7 +5369,7 @@
5338
5369
  margin-bottom: 0;
5339
5370
  }
5340
5371
  .jkl-system-message--dismissed {
5341
- animation: jkl-dismiss-uuyifzv var(--jkl-motion-timing-lazy) forwards;
5372
+ animation: jkl-dismiss-u8trtyy var(--jkl-motion-timing-lazy) forwards;
5342
5373
  transition: block var(--jkl-motion-timing-lazy) var(--jkl-motion-timing-lazy);
5343
5374
  }
5344
5375
  .jkl-system-message--info {
@@ -5376,7 +5407,7 @@
5376
5407
  border-width: 4px;
5377
5408
  }
5378
5409
  }
5379
- @keyframes jkl-dismiss-uuyifzv {
5410
+ @keyframes jkl-dismiss-u8trtyy {
5380
5411
  from {
5381
5412
  opacity: 1;
5382
5413
  transform: translateY(0);
@@ -5728,12 +5759,12 @@
5728
5759
  }
5729
5760
  .jkl-toast[data-animation=entering],
5730
5761
  .jkl-toast[data-animation=queued] {
5731
- animation: jkl-entering-uuyifzy var(--jkl-motion-timing-polite) var(--jkl-motion-easing-entrance) forwards;
5762
+ animation: jkl-entering-u8trtzh var(--jkl-motion-timing-polite) var(--jkl-motion-easing-entrance) forwards;
5732
5763
  }
5733
5764
  .jkl-toast[data-animation=exiting] {
5734
- animation: jkl-exiting-uuyig0m var(--jkl-motion-timing-productive) var(--jkl-motion-easing-exit) forwards;
5765
+ animation: jkl-exiting-u8trtzp var(--jkl-motion-timing-productive) var(--jkl-motion-easing-exit) forwards;
5735
5766
  }
5736
- @keyframes jkl-entering-uuyifzy {
5767
+ @keyframes jkl-entering-u8trtzh {
5737
5768
  from {
5738
5769
  opacity: 0;
5739
5770
  transform: translate3d(0, 50%, 0);
@@ -5743,7 +5774,7 @@
5743
5774
  transform: translate3d(0, 0, 0);
5744
5775
  }
5745
5776
  }
5746
- @keyframes jkl-exiting-uuyig0m {
5777
+ @keyframes jkl-exiting-u8trtzp {
5747
5778
  from {
5748
5779
  opacity: 1;
5749
5780
  transform: translate3d(0, 0, 0);