@fremtind/jokul 0.1.1 → 0.2.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 (93) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/cjs/components/index.js +1 -1
  3. package/build/cjs/components/link/Link.js.map +1 -0
  4. package/build/cjs/components/link/NavLink.js.map +1 -0
  5. package/build/cjs/components/loader/Loader.js +2 -0
  6. package/build/cjs/components/loader/Loader.js.map +1 -0
  7. package/build/cjs/components/loader/index.js +2 -0
  8. package/build/cjs/components/loader/skeletons/SkeletonAnimation.js +2 -0
  9. package/build/cjs/components/loader/skeletons/SkeletonAnimation.js.map +1 -0
  10. package/build/cjs/components/loader/skeletons/SkeletonButton.js +2 -0
  11. package/build/cjs/components/loader/skeletons/SkeletonButton.js.map +1 -0
  12. package/build/cjs/components/loader/skeletons/SkeletonCheckboxGroup.js +2 -0
  13. package/build/cjs/components/loader/skeletons/SkeletonCheckboxGroup.js.map +1 -0
  14. package/build/cjs/components/loader/skeletons/SkeletonElement.js +2 -0
  15. package/build/cjs/components/loader/skeletons/SkeletonElement.js.map +1 -0
  16. package/build/cjs/components/loader/skeletons/SkeletonInput.js +2 -0
  17. package/build/cjs/components/loader/skeletons/SkeletonInput.js.map +1 -0
  18. package/build/cjs/components/loader/skeletons/SkeletonLabel.js +2 -0
  19. package/build/cjs/components/loader/skeletons/SkeletonLabel.js.map +1 -0
  20. package/build/cjs/components/loader/skeletons/SkeletonRadioButtonGroup.js +2 -0
  21. package/build/cjs/components/loader/skeletons/SkeletonRadioButtonGroup.js.map +1 -0
  22. package/build/cjs/components/loader/skeletons/SkeletonTable.js +2 -0
  23. package/build/cjs/components/loader/skeletons/SkeletonTable.js.map +1 -0
  24. package/build/cjs/components/loader/skeletons/SkeletonTextArea.js +2 -0
  25. package/build/cjs/components/loader/skeletons/SkeletonTextArea.js.map +1 -0
  26. package/build/cjs/components/loader/useDelayedRender.js +2 -0
  27. package/build/cjs/components/loader/useDelayedRender.js.map +1 -0
  28. package/build/components/index.d.ts +2 -0
  29. package/build/components/loader/Loader.d.ts +16 -0
  30. package/build/components/loader/index.d.ts +18 -0
  31. package/build/components/loader/skeletons/SkeletonAnimation.d.ts +16 -0
  32. package/build/components/loader/skeletons/SkeletonButton.d.ts +7 -0
  33. package/build/components/loader/skeletons/SkeletonCheckboxGroup.d.ts +12 -0
  34. package/build/components/loader/skeletons/SkeletonElement.d.ts +8 -0
  35. package/build/components/loader/skeletons/SkeletonInput.d.ts +11 -0
  36. package/build/components/loader/skeletons/SkeletonLabel.d.ts +8 -0
  37. package/build/components/loader/skeletons/SkeletonRadioButtonGroup.d.ts +12 -0
  38. package/build/components/loader/skeletons/SkeletonTable.d.ts +19 -0
  39. package/build/components/loader/skeletons/SkeletonTextArea.d.ts +11 -0
  40. package/build/components/loader/useDelayedRender.d.ts +1 -0
  41. package/build/es/components/index.js +1 -1
  42. package/build/es/components/link/Link.js.map +1 -0
  43. package/build/es/components/link/NavLink.js.map +1 -0
  44. package/build/es/components/link/index.js.map +1 -0
  45. package/build/es/components/loader/Loader.js +2 -0
  46. package/build/es/components/loader/Loader.js.map +1 -0
  47. package/build/es/components/loader/index.js +2 -0
  48. package/build/es/components/loader/index.js.map +1 -0
  49. package/build/es/components/loader/skeletons/SkeletonAnimation.js +2 -0
  50. package/build/es/components/loader/skeletons/SkeletonAnimation.js.map +1 -0
  51. package/build/es/components/loader/skeletons/SkeletonButton.js +2 -0
  52. package/build/es/components/loader/skeletons/SkeletonButton.js.map +1 -0
  53. package/build/es/components/loader/skeletons/SkeletonCheckboxGroup.js +2 -0
  54. package/build/es/components/loader/skeletons/SkeletonCheckboxGroup.js.map +1 -0
  55. package/build/es/components/loader/skeletons/SkeletonElement.js +2 -0
  56. package/build/es/components/loader/skeletons/SkeletonElement.js.map +1 -0
  57. package/build/es/components/loader/skeletons/SkeletonInput.js +2 -0
  58. package/build/es/components/loader/skeletons/SkeletonInput.js.map +1 -0
  59. package/build/es/components/loader/skeletons/SkeletonLabel.js +2 -0
  60. package/build/es/components/loader/skeletons/SkeletonLabel.js.map +1 -0
  61. package/build/es/components/loader/skeletons/SkeletonRadioButtonGroup.js +2 -0
  62. package/build/es/components/loader/skeletons/SkeletonRadioButtonGroup.js.map +1 -0
  63. package/build/es/components/loader/skeletons/SkeletonTable.js +2 -0
  64. package/build/es/components/loader/skeletons/SkeletonTable.js.map +1 -0
  65. package/build/es/components/loader/skeletons/SkeletonTextArea.js +2 -0
  66. package/build/es/components/loader/skeletons/SkeletonTextArea.js.map +1 -0
  67. package/build/es/components/loader/useDelayedRender.js +2 -0
  68. package/build/es/components/loader/useDelayedRender.js.map +1 -0
  69. package/package.json +18 -16
  70. package/src/components/loader/styles/loader.css +100 -0
  71. package/src/components/loader/styles/loader.min.css +1 -0
  72. package/src/components/loader/styles/loader.scss +135 -0
  73. package/src/components/loader/styles/skeleton-loader.css +148 -0
  74. package/src/components/loader/styles/skeleton-loader.min.css +1 -0
  75. package/src/components/loader/styles/skeleton-loader.scss +174 -0
  76. package/build/cjs/components/navigation/Link.js.map +0 -1
  77. package/build/cjs/components/navigation/NavLink.js.map +0 -1
  78. package/build/es/components/navigation/Link.js.map +0 -1
  79. package/build/es/components/navigation/NavLink.js.map +0 -1
  80. /package/build/cjs/components/{navigation → link}/Link.js +0 -0
  81. /package/build/cjs/components/{navigation → link}/NavLink.js +0 -0
  82. /package/build/cjs/components/{navigation → link}/index.js +0 -0
  83. /package/build/cjs/components/{navigation → link}/index.js.map +0 -0
  84. /package/build/{es/components/navigation → cjs/components/loader}/index.js.map +0 -0
  85. /package/build/components/{navigation → link}/Link.d.ts +0 -0
  86. /package/build/components/{navigation → link}/NavLink.d.ts +0 -0
  87. /package/build/components/{navigation → link}/index.d.ts +0 -0
  88. /package/build/es/components/{navigation → link}/Link.js +0 -0
  89. /package/build/es/components/{navigation → link}/NavLink.js +0 -0
  90. /package/build/es/components/{navigation → link}/index.js +0 -0
  91. /package/src/components/{navigation → link}/styles/link.css +0 -0
  92. /package/src/components/{navigation → link}/styles/link.min.css +0 -0
  93. /package/src/components/{navigation → link}/styles/link.scss +0 -0
@@ -0,0 +1,174 @@
1
+ @charset "UTF-8";
2
+ @use "sass:string";
3
+ @use "../../../core/jkl";
4
+
5
+ $_sweep-animation-name: jkl-sweep-#{string.unique-id()};
6
+ $_blink-animation-name: jkl-blink-#{string.unique-id()};
7
+
8
+ @include jkl.light-mode-variables {
9
+ --jkl-skeleton-element-color: #{jkl.$color-varde};
10
+ --jkl-skeleton-sweeper-color: #{jkl.$color-snohvit};
11
+ }
12
+
13
+ @include jkl.dark-mode-variables {
14
+ --jkl-skeleton-element-color: #{jkl.$color-stein};
15
+ --jkl-skeleton-sweeper-color: #{jkl.$color-granitt};
16
+ }
17
+
18
+ .jkl-skeleton-animation {
19
+ --jkl-skeleton-sweep-duration: 3s;
20
+
21
+ position: relative;
22
+ overflow: hidden;
23
+
24
+ &::after {
25
+ content: " ";
26
+ position: absolute;
27
+ top: 0;
28
+ bottom: 0;
29
+ width: jkl.rem(200px);
30
+ background: linear-gradient(
31
+ 89.17deg,
32
+ rgb(249 249 249 / 0%) 0.8%,
33
+ var(--jkl-skeleton-sweeper-color) 50.09%,
34
+ rgb(249 249 249 / 0%) 96.31%
35
+ );
36
+ animation: var(--jkl-skeleton-sweep-duration) ease infinite $_sweep-animation-name;
37
+ }
38
+
39
+ @include jkl.small-device {
40
+ width: jkl.rem(150px);
41
+ }
42
+
43
+ @include jkl.prefers-reduced-motion {
44
+ &::after {
45
+ background: none; // Skjul gradienten som nå ikke beveger seg
46
+ }
47
+ }
48
+
49
+ @include jkl.forced-colors-mode {
50
+ &::after {
51
+ // Vi kan ikke bruke "gradient-trikset" for å skape den samme effekten,
52
+ // så vi må tenke annerledes. Bruk gjennomsiktighet for å indikere at
53
+ // noe skjer. Animasjonen gjøres på jkl-skeleton-element.
54
+ animation: none;
55
+ }
56
+ }
57
+
58
+ &--compact::after {
59
+ width: jkl.rem(150px);
60
+ }
61
+ }
62
+
63
+ .jkl-skeleton-element {
64
+ border-radius: jkl.rem(2px);
65
+ background-color: var(--jkl-skeleton-element-color);
66
+
67
+ &--circle {
68
+ border-radius: 50%;
69
+ }
70
+
71
+ @include jkl.forced-colors-mode {
72
+ border: 1px solid CanvasText;
73
+ // Vi kan ikke bruke "gradient-trikset" for å skape den samme effekten,
74
+ // så vi må tenke annerledes. Bruk gjennomsiktighet for å indikere at
75
+ // noe skjer.
76
+ animation: 2s ease infinite $_blink-animation-name;
77
+ }
78
+ }
79
+
80
+ .jkl-skeleton-input {
81
+ display: flex;
82
+ flex-direction: column;
83
+ gap: jkl.$spacing-s;
84
+
85
+ &__checkbox {
86
+ display: flex;
87
+ flex-direction: row;
88
+ flex-wrap: nowrap;
89
+ gap: jkl.$spacing-xs;
90
+ }
91
+
92
+ @include jkl.small-device {
93
+ gap: jkl.$spacing-xs;
94
+ }
95
+
96
+ &--compact::after {
97
+ gap: jkl.$spacing-xs;
98
+ }
99
+ }
100
+
101
+ .jkl-skeleton-table {
102
+ display: flex;
103
+ flex-direction: column;
104
+
105
+ &__header,
106
+ &__row {
107
+ display: flex;
108
+ flex-direction: row;
109
+ justify-content: space-between;
110
+ border-bottom: solid 1px var(--jkl-skeleton-element-color);
111
+ }
112
+
113
+ &__header {
114
+ padding: jkl.$spacing-s jkl.$spacing-xs;
115
+ }
116
+
117
+ &__row {
118
+ padding: jkl.$spacing-m jkl.$spacing-xs;
119
+ }
120
+
121
+ @include jkl.small-device {
122
+ &__header {
123
+ padding: jkl.$spacing-xs jkl.$spacing-2xs;
124
+ }
125
+
126
+ &__row {
127
+ padding: jkl.$spacing-s jkl.$spacing-2xs;
128
+ }
129
+ }
130
+
131
+ &--compact::after {
132
+ &__header {
133
+ padding: jkl.$spacing-xs jkl.$spacing-2xs;
134
+ }
135
+
136
+ &__row {
137
+ padding: jkl.$spacing-s jkl.$spacing-2xs;
138
+ }
139
+ }
140
+
141
+ @include jkl.forced-colors-mode {
142
+ // Vi kan ikke bruke "gradient-trikset" for å skape den samme effekten,
143
+ // så vi må tenke annerledes. Bruk gjennomsiktighet for å indikere at
144
+ // noe skjer.
145
+ animation: 2s ease-in-out infinite $_blink-animation-name;
146
+ }
147
+ }
148
+
149
+ @keyframes #{$_sweep-animation-name} {
150
+ 0% {
151
+ transform: translateX(calc(0vw - 200px));
152
+ }
153
+
154
+ 80%,
155
+ 100% {
156
+ transform: translateX(calc(100vw + calc(200px * 2)));
157
+ }
158
+ }
159
+
160
+ @keyframes #{$_blink-animation-name} {
161
+ 0% {
162
+ opacity: 1;
163
+ }
164
+
165
+ 40%,
166
+ 50% {
167
+ opacity: 0.3;
168
+ }
169
+
170
+ 70%,
171
+ 100% {
172
+ opacity: 1;
173
+ }
174
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"Link.js","sources":["../../../../src/components/navigation/Link.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport React, { AnchorHTMLAttributes, FC } from \"react\";\n\nexport interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n external?: boolean;\n}\n\nexport const Link: FC<LinkProps> = ({ external = false, className = \"\", children, ...rest }) => (\n <a\n className={clsx(\"jkl-link\", className, {\n \"jkl-link--external\": external,\n })}\n {...rest}\n >\n {children}\n </a>\n);\n"],"names":["external","className","children","rest","jsx","clsx"],"mappings":"0KAOmC,EAAGA,SAAAA,GAAW,EAAOC,UAAAA,EAAY,GAAIC,SAAAA,KAAaC,KACjFC,EAAAA,IAAC,IAAA,CACGH,UAAWI,EAAAA,KAAK,WAAYJ,EAAW,CACnC,qBAAsBD,OAEtBG,EAEHD,SAAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavLink.js","sources":["../../../../src/components/navigation/NavLink.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport React, { AnchorHTMLAttributes, FC } from \"react\";\n\nexport interface NavLinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n active?: boolean;\n back?: boolean;\n}\n\nexport const NavLink: FC<NavLinkProps> = ({ active = false, back = false, className, children, ...rest }) => (\n <a\n className={clsx(\n \"jkl-nav-link\",\n {\n \"jkl-nav-link--active\": active,\n \"jkl-nav-link--back\": back,\n },\n className,\n )}\n {...rest}\n >\n {children}\n </a>\n);\n"],"names":["active","back","className","children","rest","jsx","clsx"],"mappings":"6KAQyC,EAAGA,OAAAA,GAAS,EAAOC,KAAAA,GAAO,EAAOC,UAAAA,EAAWC,SAAAA,KAAaC,KAC9FC,EAAAA,IAAC,IAAA,CACGH,UAAWI,EAAAA,KACP,eACA,CACI,uBAAwBN,EACxB,qBAAsBC,GAE1BC,MAEAE,EAEHD,SAAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Link.js","sources":["../../../../src/components/navigation/Link.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport React, { AnchorHTMLAttributes, FC } from \"react\";\n\nexport interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n external?: boolean;\n}\n\nexport const Link: FC<LinkProps> = ({ external = false, className = \"\", children, ...rest }) => (\n <a\n className={clsx(\"jkl-link\", className, {\n \"jkl-link--external\": external,\n })}\n {...rest}\n >\n {children}\n </a>\n);\n"],"names":["Link","external","className","children","rest","jsx","clsx"],"mappings":"sFAOa,MAAAA,EAAsB,EAAGC,SAAAA,GAAW,EAAOC,UAAAA,EAAY,GAAIC,SAAAA,KAAaC,KACjFC,EAAC,IAAA,CACGH,UAAWI,EAAK,WAAYJ,EAAW,CACnC,qBAAsBD,OAEtBG,EAEHD,SAAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavLink.js","sources":["../../../../src/components/navigation/NavLink.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport React, { AnchorHTMLAttributes, FC } from \"react\";\n\nexport interface NavLinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n active?: boolean;\n back?: boolean;\n}\n\nexport const NavLink: FC<NavLinkProps> = ({ active = false, back = false, className, children, ...rest }) => (\n <a\n className={clsx(\n \"jkl-nav-link\",\n {\n \"jkl-nav-link--active\": active,\n \"jkl-nav-link--back\": back,\n },\n className,\n )}\n {...rest}\n >\n {children}\n </a>\n);\n"],"names":["NavLink","active","back","className","children","rest","jsx","clsx"],"mappings":"iFAQa,MAAAA,EAA4B,EAAGC,OAAAA,GAAS,EAAOC,KAAAA,GAAO,EAAOC,UAAAA,EAAWC,SAAAA,KAAaC,KAC9FC,EAAC,IAAA,CACGH,UAAWI,EACP,eACA,CACI,uBAAwBN,EACxB,qBAAsBC,GAE1BC,MAEAE,EAEHD,SAAAA"}
File without changes