@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.
- package/build/build-stats.html +1 -1
- package/build/cjs/components/index.js +1 -1
- package/build/cjs/components/link/Link.js.map +1 -0
- package/build/cjs/components/link/NavLink.js.map +1 -0
- package/build/cjs/components/loader/Loader.js +2 -0
- package/build/cjs/components/loader/Loader.js.map +1 -0
- package/build/cjs/components/loader/index.js +2 -0
- package/build/cjs/components/loader/skeletons/SkeletonAnimation.js +2 -0
- package/build/cjs/components/loader/skeletons/SkeletonAnimation.js.map +1 -0
- package/build/cjs/components/loader/skeletons/SkeletonButton.js +2 -0
- package/build/cjs/components/loader/skeletons/SkeletonButton.js.map +1 -0
- package/build/cjs/components/loader/skeletons/SkeletonCheckboxGroup.js +2 -0
- package/build/cjs/components/loader/skeletons/SkeletonCheckboxGroup.js.map +1 -0
- package/build/cjs/components/loader/skeletons/SkeletonElement.js +2 -0
- package/build/cjs/components/loader/skeletons/SkeletonElement.js.map +1 -0
- package/build/cjs/components/loader/skeletons/SkeletonInput.js +2 -0
- package/build/cjs/components/loader/skeletons/SkeletonInput.js.map +1 -0
- package/build/cjs/components/loader/skeletons/SkeletonLabel.js +2 -0
- package/build/cjs/components/loader/skeletons/SkeletonLabel.js.map +1 -0
- package/build/cjs/components/loader/skeletons/SkeletonRadioButtonGroup.js +2 -0
- package/build/cjs/components/loader/skeletons/SkeletonRadioButtonGroup.js.map +1 -0
- package/build/cjs/components/loader/skeletons/SkeletonTable.js +2 -0
- package/build/cjs/components/loader/skeletons/SkeletonTable.js.map +1 -0
- package/build/cjs/components/loader/skeletons/SkeletonTextArea.js +2 -0
- package/build/cjs/components/loader/skeletons/SkeletonTextArea.js.map +1 -0
- package/build/cjs/components/loader/useDelayedRender.js +2 -0
- package/build/cjs/components/loader/useDelayedRender.js.map +1 -0
- package/build/components/index.d.ts +2 -0
- package/build/components/loader/Loader.d.ts +16 -0
- package/build/components/loader/index.d.ts +18 -0
- package/build/components/loader/skeletons/SkeletonAnimation.d.ts +16 -0
- package/build/components/loader/skeletons/SkeletonButton.d.ts +7 -0
- package/build/components/loader/skeletons/SkeletonCheckboxGroup.d.ts +12 -0
- package/build/components/loader/skeletons/SkeletonElement.d.ts +8 -0
- package/build/components/loader/skeletons/SkeletonInput.d.ts +11 -0
- package/build/components/loader/skeletons/SkeletonLabel.d.ts +8 -0
- package/build/components/loader/skeletons/SkeletonRadioButtonGroup.d.ts +12 -0
- package/build/components/loader/skeletons/SkeletonTable.d.ts +19 -0
- package/build/components/loader/skeletons/SkeletonTextArea.d.ts +11 -0
- package/build/components/loader/useDelayedRender.d.ts +1 -0
- package/build/es/components/index.js +1 -1
- package/build/es/components/link/Link.js.map +1 -0
- package/build/es/components/link/NavLink.js.map +1 -0
- package/build/es/components/link/index.js.map +1 -0
- package/build/es/components/loader/Loader.js +2 -0
- package/build/es/components/loader/Loader.js.map +1 -0
- package/build/es/components/loader/index.js +2 -0
- package/build/es/components/loader/index.js.map +1 -0
- package/build/es/components/loader/skeletons/SkeletonAnimation.js +2 -0
- package/build/es/components/loader/skeletons/SkeletonAnimation.js.map +1 -0
- package/build/es/components/loader/skeletons/SkeletonButton.js +2 -0
- package/build/es/components/loader/skeletons/SkeletonButton.js.map +1 -0
- package/build/es/components/loader/skeletons/SkeletonCheckboxGroup.js +2 -0
- package/build/es/components/loader/skeletons/SkeletonCheckboxGroup.js.map +1 -0
- package/build/es/components/loader/skeletons/SkeletonElement.js +2 -0
- package/build/es/components/loader/skeletons/SkeletonElement.js.map +1 -0
- package/build/es/components/loader/skeletons/SkeletonInput.js +2 -0
- package/build/es/components/loader/skeletons/SkeletonInput.js.map +1 -0
- package/build/es/components/loader/skeletons/SkeletonLabel.js +2 -0
- package/build/es/components/loader/skeletons/SkeletonLabel.js.map +1 -0
- package/build/es/components/loader/skeletons/SkeletonRadioButtonGroup.js +2 -0
- package/build/es/components/loader/skeletons/SkeletonRadioButtonGroup.js.map +1 -0
- package/build/es/components/loader/skeletons/SkeletonTable.js +2 -0
- package/build/es/components/loader/skeletons/SkeletonTable.js.map +1 -0
- package/build/es/components/loader/skeletons/SkeletonTextArea.js +2 -0
- package/build/es/components/loader/skeletons/SkeletonTextArea.js.map +1 -0
- package/build/es/components/loader/useDelayedRender.js +2 -0
- package/build/es/components/loader/useDelayedRender.js.map +1 -0
- package/package.json +18 -16
- package/src/components/loader/styles/loader.css +100 -0
- package/src/components/loader/styles/loader.min.css +1 -0
- package/src/components/loader/styles/loader.scss +135 -0
- package/src/components/loader/styles/skeleton-loader.css +148 -0
- package/src/components/loader/styles/skeleton-loader.min.css +1 -0
- package/src/components/loader/styles/skeleton-loader.scss +174 -0
- package/build/cjs/components/navigation/Link.js.map +0 -1
- package/build/cjs/components/navigation/NavLink.js.map +0 -1
- package/build/es/components/navigation/Link.js.map +0 -1
- package/build/es/components/navigation/NavLink.js.map +0 -1
- /package/build/cjs/components/{navigation → link}/Link.js +0 -0
- /package/build/cjs/components/{navigation → link}/NavLink.js +0 -0
- /package/build/cjs/components/{navigation → link}/index.js +0 -0
- /package/build/cjs/components/{navigation → link}/index.js.map +0 -0
- /package/build/{es/components/navigation → cjs/components/loader}/index.js.map +0 -0
- /package/build/components/{navigation → link}/Link.d.ts +0 -0
- /package/build/components/{navigation → link}/NavLink.d.ts +0 -0
- /package/build/components/{navigation → link}/index.d.ts +0 -0
- /package/build/es/components/{navigation → link}/Link.js +0 -0
- /package/build/es/components/{navigation → link}/NavLink.js +0 -0
- /package/build/es/components/{navigation → link}/index.js +0 -0
- /package/src/components/{navigation → link}/styles/link.css +0 -0
- /package/src/components/{navigation → link}/styles/link.min.css +0 -0
- /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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|