@fremtind/jokul 4.6.0 → 4.7.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 (94) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/cjs/components/system-message/types.d.cts +7 -2
  3. package/build/cjs/components/typography/Text.cjs +2 -0
  4. package/build/cjs/components/typography/Text.cjs.map +1 -0
  5. package/build/cjs/components/typography/Text.d.cts +5 -0
  6. package/build/cjs/components/typography/Title.cjs +2 -0
  7. package/build/cjs/components/typography/Title.cjs.map +1 -0
  8. package/build/cjs/components/typography/Title.d.cts +5 -0
  9. package/build/cjs/components/typography/index.cjs +2 -0
  10. package/build/cjs/components/typography/index.cjs.map +1 -0
  11. package/build/cjs/components/typography/index.d.cts +3 -0
  12. package/build/cjs/components/typography/types.cjs +2 -0
  13. package/build/cjs/components/typography/types.cjs.map +1 -0
  14. package/build/cjs/components/typography/types.d.cts +48 -0
  15. package/build/es/components/datepicker/DatePicker.js +1 -1
  16. package/build/es/components/datepicker/internal/Calendar.js +1 -1
  17. package/build/es/components/datepicker/internal/useCalendar.js +1 -1
  18. package/build/es/components/datepicker/internal/utils.js +1 -1
  19. package/build/es/components/menu/Menu.js +1 -1
  20. package/build/es/components/system-message/types.d.ts +7 -2
  21. package/build/es/components/toast/toastContext.js +1 -1
  22. package/build/es/components/tooltip/Tooltip.js +1 -1
  23. package/build/es/components/typography/Text.d.ts +5 -0
  24. package/build/es/components/typography/Text.js +2 -0
  25. package/build/es/components/typography/Text.js.map +1 -0
  26. package/build/es/components/typography/Title.d.ts +5 -0
  27. package/build/es/components/typography/Title.js +2 -0
  28. package/build/es/components/typography/Title.js.map +1 -0
  29. package/build/es/components/typography/index.d.ts +3 -0
  30. package/build/es/components/typography/index.js +2 -0
  31. package/build/es/components/typography/index.js.map +1 -0
  32. package/build/es/components/typography/types.d.ts +48 -0
  33. package/build/es/components/typography/types.js +2 -0
  34. package/build/es/components/typography/types.js.map +1 -0
  35. package/build/es/hooks/stories/content.js +1 -1
  36. package/build/es/index.js +1 -1
  37. package/build/es/utilities/constants/index.js +1 -1
  38. package/build/es/utilities/constants/unicode.js +1 -1
  39. package/build/es/utilities/formatters/bytes/formatBytes.js +1 -1
  40. package/build/es/utilities/formatters/fodselsnummer/formatFodselsnummer.js +1 -1
  41. package/build/es/utilities/formatters/kontonummer/formatKontonummer.js +1 -1
  42. package/build/es/utilities/formatters/kortnummer/formatKortnummer.js +1 -1
  43. package/build/es/utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.js +1 -1
  44. package/build/es/utilities/formatters/telefonnummer/formatTelefonnummer.js +1 -1
  45. package/build/es/utilities/formatters/valuta/formatValuta.js +1 -1
  46. package/build/es/utilities/index.js +1 -1
  47. package/build/{index-CWRMnfcx.js → index-C1iqmqvT.js} +2 -2
  48. package/build/{index-CWRMnfcx.js.map → index-C1iqmqvT.js.map} +1 -1
  49. package/build/{utils-CcE6HjQp.js → utils-CtwpNW4I.js} +2 -2
  50. package/build/{utils-CcE6HjQp.js.map → utils-CtwpNW4I.js.map} +1 -1
  51. package/package.json +16 -2
  52. package/styles/components/button/button.css +2 -1
  53. package/styles/components/button/button.min.css +1 -1
  54. package/styles/components/button/button.scss +3 -2
  55. package/styles/components/countdown/countdown.css +2 -2
  56. package/styles/components/countdown/countdown.min.css +1 -1
  57. package/styles/components/feedback/feedback.css +2 -2
  58. package/styles/components/feedback/feedback.min.css +1 -1
  59. package/styles/components/file/file.css +1 -1
  60. package/styles/components/file/file.min.css +1 -1
  61. package/styles/components/file/file.scss +2 -1
  62. package/styles/components/file-input/file-input.css +12 -11
  63. package/styles/components/file-input/file-input.min.css +1 -1
  64. package/styles/components/input-group/input-group.css +2 -2
  65. package/styles/components/input-group/input-group.min.css +1 -1
  66. package/styles/components/loader/loader.css +6 -6
  67. package/styles/components/loader/loader.min.css +1 -1
  68. package/styles/components/loader/skeleton-loader.css +3 -3
  69. package/styles/components/loader/skeleton-loader.min.css +1 -1
  70. package/styles/components/message/message.css +2 -2
  71. package/styles/components/message/message.min.css +1 -1
  72. package/styles/components/progress-bar/progress-bar.css +1 -1
  73. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  74. package/styles/components/segmented-control/segmented-control.css +2 -2
  75. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  76. package/styles/components/system-message/system-message.css +7 -16
  77. package/styles/components/system-message/system-message.min.css +1 -1
  78. package/styles/components/system-message/system-message.scss +2 -10
  79. package/styles/components/toast/toast.css +4 -4
  80. package/styles/components/toast/toast.min.css +1 -1
  81. package/styles/components/typography/_index.scss +2 -0
  82. package/styles/components/typography/text.css +52 -0
  83. package/styles/components/typography/text.min.css +1 -0
  84. package/styles/components/typography/text.scss +55 -0
  85. package/styles/components/typography/title.css +70 -0
  86. package/styles/components/typography/title.min.css +1 -0
  87. package/styles/components/typography/title.scss +58 -0
  88. package/styles/core/core.css +1 -1
  89. package/styles/core/core.min.css +1 -1
  90. package/styles/core/jkl/_convert.scss +15 -6
  91. package/styles/core/utility/_paragraphs.scss +11 -1
  92. package/styles/styles.css +148 -40
  93. package/styles/styles.min.css +2 -2
  94. package/styles/styles.scss +1 -0
package/styles/styles.css CHANGED
@@ -481,7 +481,7 @@
481
481
  --color: var(--jkl-color-text-default);
482
482
  }
483
483
  .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 {
484
- animation: 400ms cubic-bezier(0, 0, 0.3, 1) 250ms jkl-support-icon-entrance-uw1i6bw forwards;
484
+ animation: 400ms cubic-bezier(0, 0, 0.3, 1) 250ms jkl-support-icon-entrance-u5wtga8 forwards;
485
485
  }
486
486
  .jkl-form-support-label--sr-only {
487
487
  border: 0 !important;
@@ -547,7 +547,7 @@
547
547
  .jkl-label:has(+ .jkl-input-group-description) {
548
548
  margin-block-end: var(--jkl-spacing-4);
549
549
  }
550
- @keyframes jkl-support-icon-entrance-uw1i6bw {
550
+ @keyframes jkl-support-icon-entrance-u5wtga8 {
551
551
  0% {
552
552
  margin-right: 0;
553
553
  opacity: 0;
@@ -840,7 +840,8 @@
840
840
  text-overflow: ellipsis;
841
841
  }
842
842
  .jkl-button[data-loading=true] .jkl-button__label {
843
- translate: 0 -120%;
843
+ --button-loading-offset: calc(-100% - var(--jkl-button-padding-block) * 2 - var(--jkl-button-text-ink-offset));
844
+ translate: 0 var(--button-loading-offset);
844
845
  }
845
846
  .jkl-button[data-loading=true] .jkl-button__loader {
846
847
  translate: -50% -50%;
@@ -903,22 +904,22 @@
903
904
  animation: 2500ms linear infinite;
904
905
  }
905
906
  .jkl-loader__dot--left {
906
- animation-name: jkl-loader-left-spin-uw1i6c3;
907
+ animation-name: jkl-loader-left-spin-u5wtgaz;
907
908
  margin-right: calc(var(--jkl-loader-spacing) * 0.9);
908
909
  }
909
910
  .jkl-loader__dot--middle {
910
- animation-name: jkl-loader-middle-spin-uw1i6cy;
911
+ animation-name: jkl-loader-middle-spin-u5wtgbc;
911
912
  margin-right: var(--jkl-loader-spacing);
912
913
  }
913
914
  .jkl-loader__dot--right {
914
- animation-name: jkl-loader-right-spin-uw1i6dq;
915
+ animation-name: jkl-loader-right-spin-u5wtgbf;
915
916
  }
916
917
  @media screen and (forced-colors: active) {
917
918
  .jkl-loader__dot {
918
919
  background-color: CanvasText;
919
920
  }
920
921
  }
921
- @keyframes jkl-loader-left-spin-uw1i6c3 {
922
+ @keyframes jkl-loader-left-spin-u5wtgaz {
922
923
  0% {
923
924
  transform: rotate(0) scale(0);
924
925
  }
@@ -932,7 +933,7 @@
932
933
  transform: rotate(180deg) scale(0);
933
934
  }
934
935
  }
935
- @keyframes jkl-loader-middle-spin-uw1i6cy {
936
+ @keyframes jkl-loader-middle-spin-u5wtgbc {
936
937
  0% {
937
938
  transform: rotate(20deg) scale(0);
938
939
  }
@@ -949,7 +950,7 @@
949
950
  transform: rotate(200deg) scale(0);
950
951
  }
951
952
  }
952
- @keyframes jkl-loader-right-spin-uw1i6dq {
953
+ @keyframes jkl-loader-right-spin-u5wtgbf {
953
954
  0% {
954
955
  transform: rotate(40deg) scale(0);
955
956
  }
@@ -989,7 +990,7 @@
989
990
  @media screen and (forced-colors: active) {
990
991
  .jkl-skeleton-element {
991
992
  border: 1px solid CanvasText;
992
- animation: 2s ease infinite jkl-blink-uw1i6e4;
993
+ animation: 2s ease infinite jkl-blink-u5wtgbu;
993
994
  }
994
995
  }
995
996
  .jkl-skeleton-input {
@@ -1037,10 +1038,10 @@
1037
1038
  }
1038
1039
  @media screen and (forced-colors: active) {
1039
1040
  .jkl-skeleton-table {
1040
- animation: 2s ease-in-out infinite jkl-blink-uw1i6e4;
1041
+ animation: 2s ease-in-out infinite jkl-blink-u5wtgbu;
1041
1042
  }
1042
1043
  }
1043
- @keyframes jkl-blink-uw1i6e4 {
1044
+ @keyframes jkl-blink-u5wtgbu {
1044
1045
  0% {
1045
1046
  opacity: 1;
1046
1047
  }
@@ -2144,10 +2145,10 @@
2144
2145
  }
2145
2146
  }
2146
2147
  .jkl-countdown__tracker {
2147
- animation: jkl-downcount-uw1i6f0 var(--duration) linear forwards;
2148
+ animation: jkl-downcount-u5wtgca var(--duration) linear forwards;
2148
2149
  animation-play-state: var(--play-state, running);
2149
2150
  }
2150
- @keyframes jkl-downcount-uw1i6f0 {
2151
+ @keyframes jkl-downcount-u5wtgca {
2151
2152
  from {
2152
2153
  width: 100%;
2153
2154
  }
@@ -2659,12 +2660,12 @@
2659
2660
  --jkl-icon-size: 1.2em;
2660
2661
  }
2661
2662
  .jkl-feedback__fade-in {
2662
- animation: jkl-show-uw1i6fq 0.25s ease-out;
2663
+ animation: jkl-show-u5wtgcd 0.25s ease-out;
2663
2664
  }
2664
2665
  .jkl-feedback__buttons {
2665
2666
  display: flex;
2666
2667
  }
2667
- @keyframes jkl-show-uw1i6fq {
2668
+ @keyframes jkl-show-u5wtgcd {
2668
2669
  from {
2669
2670
  transform: translate3d(0, 0.5rem, 0);
2670
2671
  opacity: 0;
@@ -2879,7 +2880,7 @@
2879
2880
  --background-color: var(--jkl-color-background-alert-success);
2880
2881
  }
2881
2882
  .jkl-message--dismissed {
2882
- animation: jkl-dismiss-uw1i6gf 400ms ease-in-out forwards;
2883
+ animation: jkl-dismiss-u5wtgcw 400ms ease-in-out forwards;
2883
2884
  transition: visibility 0ms 400ms;
2884
2885
  visibility: hidden;
2885
2886
  }
@@ -2901,7 +2902,7 @@
2901
2902
  .jkl-form-error-message {
2902
2903
  padding-bottom: calc(var(--jkl-unit-base) * 5);
2903
2904
  }
2904
- @keyframes jkl-dismiss-uw1i6gf {
2905
+ @keyframes jkl-dismiss-u5wtgcw {
2905
2906
  from {
2906
2907
  opacity: 1;
2907
2908
  transform: translate3d(0, 0, 0);
@@ -3336,7 +3337,7 @@
3336
3337
  transition-timing-function: ease;
3337
3338
  transition-duration: 100ms;
3338
3339
  transition-property: background-color, border-color, color;
3339
- color: var(--jkl-color-text-default);
3340
+ color: var(--text-color);
3340
3341
  padding: var(--jkl-file-padding);
3341
3342
  border: var(--border);
3342
3343
  border-radius: var(--border-radius);
@@ -4528,7 +4529,7 @@
4528
4529
  transition-timing-function: ease;
4529
4530
  transition-duration: 150ms;
4530
4531
  }
4531
- @keyframes jkl-downcount-uw1i6h8 {
4532
+ @keyframes jkl-downcount-u5wtgd2 {
4532
4533
  from {
4533
4534
  width: 100%;
4534
4535
  }
@@ -4918,8 +4919,6 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4918
4919
  }
4919
4920
  @layer jokul.components {
4920
4921
  .jkl-system-message {
4921
- --jkl-system-message-icon-height: var(--jkl-unit-30);
4922
- --jkl-system-message-icon-padding: 0.1875rem 0 0 0;
4923
4922
  --jkl-system-message-content-padding: var(--jkl-unit-30);
4924
4923
  --jkl-system-message-dismiss-button-size: var(--jkl-unit-40);
4925
4924
  --jkl-system-message-dismiss-button-margin: -0.40625rem -1.125rem -0.40625rem
@@ -4934,19 +4933,18 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4934
4933
  box-sizing: border-box;
4935
4934
  }
4936
4935
  .jkl-system-message__content {
4936
+ font-size: var(--jkl-font-size-3);
4937
+ line-height: var(--jkl-line-height-tight);
4938
+ font-weight: 400;
4939
+ --jkl-icon-weight: 300;
4937
4940
  box-sizing: border-box;
4938
4941
  padding: var(--jkl-system-message-content-padding);
4939
4942
  display: grid;
4940
4943
  grid-template-columns: min-content 1fr min-content;
4941
- align-items: flex-start;
4944
+ align-items: start;
4942
4945
  width: 100%;
4943
4946
  margin: 0 auto;
4944
4947
  }
4945
- .jkl-system-message__icon {
4946
- height: var(--jkl-system-message-icon-height);
4947
- margin: var(--jkl-system-message-icon-padding);
4948
- flex-shrink: 0;
4949
- }
4950
4948
  @media screen and (forced-colors: active) {
4951
4949
  .jkl-system-message__icon {
4952
4950
  stroke: CanvasText;
@@ -4956,10 +4954,6 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4956
4954
  }
4957
4955
  }
4958
4956
  .jkl-system-message__message {
4959
- font-size: var(--jkl-font-size-3);
4960
- line-height: var(--jkl-line-height-tight);
4961
- font-weight: 400;
4962
- --jkl-icon-weight: 300;
4963
4957
  margin: var(--jkl-system-message-message-margin);
4964
4958
  }
4965
4959
  .jkl-system-message__dismiss-button {
@@ -4969,8 +4963,6 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
4969
4963
  display: grid;
4970
4964
  place-content: center;
4971
4965
  position: relative;
4972
- flex-shrink: 0;
4973
- margin-top: 0.1875rem;
4974
4966
  color: inherit;
4975
4967
  }
4976
4968
  .jkl-system-message__dismiss-button::after {
@@ -5041,7 +5033,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5041
5033
  margin-bottom: 0;
5042
5034
  }
5043
5035
  .jkl-system-message--dismissed {
5044
- animation: jkl-dismiss-uw1i6i9 400ms forwards;
5036
+ animation: jkl-dismiss-u5wtgeh 400ms forwards;
5045
5037
  transition: block 400ms 400ms;
5046
5038
  }
5047
5039
  .jkl-system-message--info {
@@ -5071,7 +5063,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5071
5063
  border-width: 4px;
5072
5064
  }
5073
5065
  }
5074
- @keyframes jkl-dismiss-uw1i6i9 {
5066
+ @keyframes jkl-dismiss-u5wtgeh {
5075
5067
  from {
5076
5068
  opacity: 1;
5077
5069
  transform: translateY(0);
@@ -5908,12 +5900,12 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5908
5900
  }
5909
5901
  .jkl-toast[data-animation=entering],
5910
5902
  .jkl-toast[data-animation=queued] {
5911
- animation: jkl-entering-uw1i6in 200ms ease-out forwards;
5903
+ animation: jkl-entering-u5wtgf4 200ms ease-out forwards;
5912
5904
  }
5913
5905
  .jkl-toast[data-animation=exiting] {
5914
- animation: jkl-exiting-uw1i6iv 150ms ease-in forwards;
5906
+ animation: jkl-exiting-u5wtgft 150ms ease-in forwards;
5915
5907
  }
5916
- @keyframes jkl-entering-uw1i6in {
5908
+ @keyframes jkl-entering-u5wtgf4 {
5917
5909
  from {
5918
5910
  opacity: 0;
5919
5911
  transform: translate3d(0, 50%, 0);
@@ -5923,7 +5915,7 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-select--beta s
5923
5915
  transform: translate3d(0, 0, 0);
5924
5916
  }
5925
5917
  }
5926
- @keyframes jkl-exiting-uw1i6iv {
5918
+ @keyframes jkl-exiting-u5wtgft {
5927
5919
  from {
5928
5920
  opacity: 1;
5929
5921
  transform: translate3d(0, 0, 0);
@@ -7511,6 +7503,122 @@ html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:
7511
7503
  transform: translate(0, -50%);
7512
7504
  }
7513
7505
 
7506
+ @layer jokul.components {
7507
+ :where(.jkl-text) {
7508
+ font-weight: var(--jkl-typography-weight-normal);
7509
+ line-height: var(--jkl-line-height-relaxed);
7510
+ }
7511
+ .jkl-text[data-text-size] {
7512
+ margin-block: 0;
7513
+ }
7514
+ .jkl-text[data-text-size=xs] {
7515
+ font-size: var(--jkl-font-size-1);
7516
+ line-height: var(--jkl-line-height-tight);
7517
+ font-weight: 400;
7518
+ --jkl-icon-weight: 300;
7519
+ }
7520
+ .jkl-text[data-text-size=s] {
7521
+ font-size: var(--jkl-font-size-2);
7522
+ line-height: var(--jkl-line-height-relaxed);
7523
+ font-weight: 400;
7524
+ --jkl-icon-weight: 300;
7525
+ --jkl-icon-size: 1.2em;
7526
+ }
7527
+ .jkl-text[data-text-size=m] {
7528
+ font-size: var(--jkl-font-size-3);
7529
+ line-height: var(--jkl-line-height-relaxed);
7530
+ font-weight: 400;
7531
+ --jkl-icon-weight: 300;
7532
+ }
7533
+ .jkl-text[data-text-size=l] {
7534
+ font-size: var(--jkl-font-size-5);
7535
+ line-height: var(--jkl-line-height-relaxed);
7536
+ font-weight: 400;
7537
+ --jkl-icon-weight: 300;
7538
+ }
7539
+ .jkl-text[data-bold],
7540
+ strong.jkl-text[data-text-size] {
7541
+ font-weight: var(--jkl-typography-weight-bold);
7542
+ --jkl-icon-weight: 400;
7543
+ }
7544
+ .jkl-text[data-short] {
7545
+ line-height: var(--jkl-line-height-tight);
7546
+ }
7547
+ :is(code, kbd, samp, var).jkl-text {
7548
+ font-family: "Fremtind Grotesk Mono", "Adjusted Courier New Fallback", -apple-system, BlinkMacSystemFont, monospace;
7549
+ }
7550
+ label.jkl-text {
7551
+ display: block;
7552
+ margin-block-end: var(--jkl-spacing-8);
7553
+ }
7554
+ }
7555
+ @layer jokul.components {
7556
+ :where(.jkl-title) {
7557
+ font-weight: var(--jkl-typography-weight-normal);
7558
+ line-height: var(--jkl-line-height-tight);
7559
+ }
7560
+ .jkl-title[data-text-size] {
7561
+ margin-block: 0;
7562
+ }
7563
+ .jkl-title[data-text-size=xs],
7564
+ .jkl-heading-xs {
7565
+ font-size: var(--jkl-font-size-4);
7566
+ line-height: var(--jkl-line-height-tight);
7567
+ font-weight: 700;
7568
+ --jkl-icon-weight: 400;
7569
+ }
7570
+ :where(.jkl-heading-xs) {
7571
+ margin-block: 0;
7572
+ }
7573
+ .jkl-title[data-text-size=s],
7574
+ .jkl-heading-s {
7575
+ font-size: var(--jkl-font-size-5);
7576
+ line-height: var(--jkl-line-height-tight);
7577
+ font-weight: 700;
7578
+ --jkl-icon-weight: 400;
7579
+ }
7580
+ :where(.jkl-heading-s) {
7581
+ margin-block: 0;
7582
+ }
7583
+ .jkl-title[data-text-size=m],
7584
+ .jkl-heading-m {
7585
+ font-size: var(--jkl-font-size-6);
7586
+ line-height: var(--jkl-line-height-tight);
7587
+ font-weight: 700;
7588
+ --jkl-icon-weight: 400;
7589
+ }
7590
+ :where(.jkl-heading-m) {
7591
+ margin-block: 0;
7592
+ }
7593
+ .jkl-title[data-text-size=l],
7594
+ .jkl-heading-l {
7595
+ font-size: var(--jkl-font-size-7);
7596
+ line-height: var(--jkl-line-height-tight);
7597
+ font-weight: 400;
7598
+ --jkl-icon-weight: 300;
7599
+ }
7600
+ :where(.jkl-heading-l) {
7601
+ margin-block: 0;
7602
+ }
7603
+ .jkl-title[data-text-size=xl],
7604
+ .jkl-heading-xl {
7605
+ font-size: var(--jkl-font-size-8);
7606
+ line-height: var(--jkl-line-height-tight);
7607
+ font-weight: 400;
7608
+ --jkl-icon-weight: 300;
7609
+ }
7610
+ :where(.jkl-heading-xl) {
7611
+ margin-block: 0;
7612
+ }
7613
+ :is(label, legend).jkl-title[data-text-size] {
7614
+ font-weight: var(--jkl-typography-weight-normal);
7615
+ line-height: var(--jkl-line-height-relaxed);
7616
+ }
7617
+ label.jkl-title[data-text-size] {
7618
+ display: block;
7619
+ margin-block-end: var(--jkl-spacing-8);
7620
+ }
7621
+ }
7514
7622
  @layer jokul.components {
7515
7623
  .jkl-help {
7516
7624
  anchor-scope: all;