@fremtind/jokul 0.15.0 → 0.16.1
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/datepicker/DatePicker.js +1 -1
- package/build/cjs/components/datepicker/DatePicker.js.map +1 -1
- package/build/cjs/components/datepicker/internal/Calendar.js +1 -1
- package/build/cjs/components/datepicker/internal/Calendar.js.map +1 -1
- package/build/cjs/components/popover/Popover.js +1 -1
- package/build/cjs/components/popover/Popover.js.map +1 -1
- package/build/cjs/components/popover/utils.js.map +1 -1
- package/build/cjs/components/text-input/BaseTextInput.js +1 -1
- package/build/cjs/components/text-input/BaseTextInput.js.map +1 -1
- package/build/cjs/components/toggle-switch/documentation/Example.js +2 -0
- package/build/cjs/components/toggle-switch/documentation/Example.js.map +1 -0
- package/build/cjs/components/toggle-switch/documentation/main.js +2 -0
- package/build/cjs/components/toggle-switch/documentation/main.js.map +1 -0
- package/build/cjs/components/toggle-switch/documentation/vite.dev.config.js +2 -0
- package/build/cjs/components/toggle-switch/documentation/vite.dev.config.js.map +1 -0
- package/build/es/components/datepicker/DatePicker.js +1 -1
- package/build/es/components/datepicker/DatePicker.js.map +1 -1
- package/build/es/components/datepicker/internal/Calendar.js +1 -1
- package/build/es/components/datepicker/internal/Calendar.js.map +1 -1
- package/build/es/components/popover/Popover.js +1 -1
- package/build/es/components/popover/Popover.js.map +1 -1
- package/build/es/components/popover/utils.js.map +1 -1
- package/build/es/components/text-input/BaseTextInput.js +1 -1
- package/build/es/components/text-input/BaseTextInput.js.map +1 -1
- package/build/es/components/toggle-switch/documentation/Example.js +2 -0
- package/build/es/components/toggle-switch/documentation/Example.js.map +1 -0
- package/build/es/components/toggle-switch/documentation/main.js +2 -0
- package/build/es/components/toggle-switch/documentation/main.js.map +1 -0
- package/build/es/components/toggle-switch/documentation/vite.dev.config.js +2 -0
- package/build/es/components/toggle-switch/documentation/vite.dev.config.js.map +1 -0
- package/build/packages/jokul/src/components/datepicker/internal/Calendar.d.ts +0 -1
- package/build/packages/jokul/src/components/popover/Popover.d.ts +61 -21
- package/build/packages/jokul/src/components/popover/utils.d.ts +1 -1
- package/build/packages/jokul/src/components/text-input/BaseTextInput.d.ts +8 -0
- package/build/packages/jokul/src/components/toggle-switch/documentation/Example.d.ts +2 -0
- package/build/packages/jokul/src/components/toggle-switch/documentation/main.d.ts +1 -0
- package/build/packages/jokul/src/components/toggle-switch/documentation/vite.dev.config.d.ts +2 -0
- package/build/style.css +1 -1
- package/package.json +2 -2
- package/src/components/button/styles/button.css +2 -2
- package/src/components/button/styles/button.min.css +1 -1
- package/src/components/checkbox/styles/checkbox.css +4 -4
- package/src/components/checkbox/styles/checkbox.min.css +1 -1
- package/src/components/datepicker/styles/_calendar.scss +11 -32
- package/src/components/datepicker/styles/datepicker.css +8 -33
- package/src/components/datepicker/styles/datepicker.min.css +1 -1
- package/src/components/feedback/styles/feedback.css +2 -2
- package/src/components/feedback/styles/feedback.min.css +1 -1
- package/src/components/input-group/styles/input-group.css +2 -2
- package/src/components/input-group/styles/input-group.min.css +1 -1
- package/src/components/loader/styles/loader.css +6 -6
- package/src/components/loader/styles/loader.min.css +1 -1
- package/src/components/loader/styles/skeleton-loader.css +5 -5
- package/src/components/loader/styles/skeleton-loader.min.css +1 -1
- package/src/components/message/styles/message.css +2 -2
- package/src/components/message/styles/message.min.css +1 -1
- package/src/components/progress-bar/styles/progress-bar.css +2 -2
- package/src/components/progress-bar/styles/progress-bar.min.css +1 -1
- package/src/components/radio-button/styles/radio-button.css +2 -2
- package/src/components/radio-button/styles/radio-button.min.css +1 -1
- package/src/components/system-message/styles/system-message.css +2 -2
- package/src/components/system-message/styles/system-message.min.css +1 -1
- package/src/components/toast/styles/toast.css +4 -4
- package/src/components/toast/styles/toast.min.css +1 -1
- package/src/components/toggle-switch/styles/toggle-switch.css +301 -0
- package/src/components/toggle-switch/styles/toggle-switch.min.css +1 -0
- package/src/components/toggle-switch/styles/toggle-switch.scss +138 -0
|
@@ -193,14 +193,14 @@
|
|
|
193
193
|
|
|
194
194
|
.jkl-toast[data-animation=entering],
|
|
195
195
|
.jkl-toast[data-animation=queued] {
|
|
196
|
-
animation: jkl-entering-
|
|
196
|
+
animation: jkl-entering-uh8al8y 200ms ease-out forwards;
|
|
197
197
|
}
|
|
198
198
|
|
|
199
199
|
.jkl-toast[data-animation=exiting] {
|
|
200
|
-
animation: jkl-exiting-
|
|
200
|
+
animation: jkl-exiting-uh8al9b 150ms ease-in forwards;
|
|
201
201
|
}
|
|
202
202
|
|
|
203
|
-
@keyframes jkl-entering-
|
|
203
|
+
@keyframes jkl-entering-uh8al8y {
|
|
204
204
|
from {
|
|
205
205
|
opacity: 0;
|
|
206
206
|
transform: translate3d(0, 50%, 0);
|
|
@@ -210,7 +210,7 @@
|
|
|
210
210
|
transform: translate3d(0, 0, 0);
|
|
211
211
|
}
|
|
212
212
|
}
|
|
213
|
-
@keyframes jkl-exiting-
|
|
213
|
+
@keyframes jkl-exiting-uh8al9b {
|
|
214
214
|
from {
|
|
215
215
|
opacity: 1;
|
|
216
216
|
transform: translate3d(0, 0, 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-toast-padding:1rem}@media (width >= 0) and (max-width:679px){:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-toast-padding:0.75rem}}[data-density=compact],[data-layout-density=compact]{--jkl-toast-padding:0.5rem}.jkl-toast-region{background:#0000;bottom:1.5rem;display:flex;justify-content:center;left:0;pointer-events:none;position:fixed;right:0;width:100%;z-index:10000}.jkl-toast-region__toasts{align-items:center;display:flex;flex-direction:column;gap:1rem;min-width:18rem;pointer-events:auto}.jkl-toast-region--left{justify-content:flex-start;left:1.5rem}.jkl-toast{--background-color:var(--jkl-color-background-container-high);--text-color:var(--jkl-color-text-default);align-items:start;background-color:var(--background-color);border-radius:4px;box-sizing:border-box;color:var(--text-color);display:grid;font-size:1.125rem;font-weight:400;line-height:1.75rem;max-width:min(30rem,85vw);overflow:hidden;padding:var(--jkl-toast-padding);padding-top:0;width:100%;--jkl-icon-weight:300}@media (min-width:680px){.jkl-toast{font-size:1.25rem;font-weight:400;line-height:2rem;--jkl-icon-weight:300}}@media (width >= 0) and (max-width:679px){.jkl-toast{grid-template-areas:"progress progress" "icon dismiss" "content content"}}@media (min-width:680px){.jkl-toast{grid-template-areas:"progress progress progress" "icon content dismiss";grid-template-columns:auto 1fr auto}}.jkl-toast__progress{grid-area:progress;margin-bottom:1rem;margin-inline:calc(var(--jkl-toast-padding)*-1)}.jkl-toast__progress .jkl-countdown{--bar-color:var(--text-color);--track-color:#0000;border-radius:0}.jkl-toast__icon{grid-area:icon;margin-right:1rem;width:1.5rem}@media screen and (forced-colors:active){.jkl-toast__icon,.jkl-toast__icon path,.jkl-toast__icon svg{stroke:CanvasText}}.jkl-toast__content{grid-area:content}.jkl-toast__message{margin-top:-.125rem}.jkl-toast__title{font-size:1.125rem;font-weight:700;line-height:1.5rem;margin:0 0 .25rem;--jkl-icon-weight:500}@media (min-width:680px){.jkl-toast__title{font-size:1.3125rem;font-weight:700;line-height:1.75rem;--jkl-icon-weight:500}}.jkl-toast__title~.jkl-toast__message{margin-top:0}.jkl-toast__dismiss-button{background-color:initial;color:inherit;cursor:pointer;grid-area:dismiss;justify-self:end;margin-left:var(--jkl-toast-gap);padding:0;position:relative}@media screen and (forced-colors:active){.jkl-toast__dismiss-button,.jkl-toast__dismiss-button path,.jkl-toast__dismiss-button svg{stroke:ButtonText}.jkl-toast__dismiss-button{background-color:ButtonFace}}.jkl-toast__dismiss-button:after{--tap-increment:-0.75rem;border-radius:.1875rem;content:"";inset:var(--tap-increment) var(--tap-increment) var(--tap-increment) var(--tap-increment);position:absolute}.jkl-toast--error,.jkl-toast--info,.jkl-toast--success,.jkl-toast--warning{--text-color:var(--jkl-color-text-on-alert)}.jkl-toast--info{--background-color:var(--jkl-color-background-alert-info)}.jkl-toast--warning{--background-color:var(--jkl-color-background-alert-warning)}.jkl-toast--error{--background-color:var(--jkl-color-background-alert-error)}.jkl-toast--success{--background-color:var(--jkl-color-background-alert-success)}@media screen and (forced-colors:active){.jkl-toast{border:2px solid CanvasText}.jkl-toast--info{border-style:dotted}.jkl-toast--warning{border-style:dashed}.jkl-toast--error{border-style:double;border-width:4px}}.jkl-toast[data-animation=entering],.jkl-toast[data-animation=queued]{animation:jkl-entering-
|
|
1
|
+
:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-toast-padding:1rem}@media (width >= 0) and (max-width:679px){:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-toast-padding:0.75rem}}[data-density=compact],[data-layout-density=compact]{--jkl-toast-padding:0.5rem}.jkl-toast-region{background:#0000;bottom:1.5rem;display:flex;justify-content:center;left:0;pointer-events:none;position:fixed;right:0;width:100%;z-index:10000}.jkl-toast-region__toasts{align-items:center;display:flex;flex-direction:column;gap:1rem;min-width:18rem;pointer-events:auto}.jkl-toast-region--left{justify-content:flex-start;left:1.5rem}.jkl-toast{--background-color:var(--jkl-color-background-container-high);--text-color:var(--jkl-color-text-default);align-items:start;background-color:var(--background-color);border-radius:4px;box-sizing:border-box;color:var(--text-color);display:grid;font-size:1.125rem;font-weight:400;line-height:1.75rem;max-width:min(30rem,85vw);overflow:hidden;padding:var(--jkl-toast-padding);padding-top:0;width:100%;--jkl-icon-weight:300}@media (min-width:680px){.jkl-toast{font-size:1.25rem;font-weight:400;line-height:2rem;--jkl-icon-weight:300}}@media (width >= 0) and (max-width:679px){.jkl-toast{grid-template-areas:"progress progress" "icon dismiss" "content content"}}@media (min-width:680px){.jkl-toast{grid-template-areas:"progress progress progress" "icon content dismiss";grid-template-columns:auto 1fr auto}}.jkl-toast__progress{grid-area:progress;margin-bottom:1rem;margin-inline:calc(var(--jkl-toast-padding)*-1)}.jkl-toast__progress .jkl-countdown{--bar-color:var(--text-color);--track-color:#0000;border-radius:0}.jkl-toast__icon{grid-area:icon;margin-right:1rem;width:1.5rem}@media screen and (forced-colors:active){.jkl-toast__icon,.jkl-toast__icon path,.jkl-toast__icon svg{stroke:CanvasText}}.jkl-toast__content{grid-area:content}.jkl-toast__message{margin-top:-.125rem}.jkl-toast__title{font-size:1.125rem;font-weight:700;line-height:1.5rem;margin:0 0 .25rem;--jkl-icon-weight:500}@media (min-width:680px){.jkl-toast__title{font-size:1.3125rem;font-weight:700;line-height:1.75rem;--jkl-icon-weight:500}}.jkl-toast__title~.jkl-toast__message{margin-top:0}.jkl-toast__dismiss-button{background-color:initial;color:inherit;cursor:pointer;grid-area:dismiss;justify-self:end;margin-left:var(--jkl-toast-gap);padding:0;position:relative}@media screen and (forced-colors:active){.jkl-toast__dismiss-button,.jkl-toast__dismiss-button path,.jkl-toast__dismiss-button svg{stroke:ButtonText}.jkl-toast__dismiss-button{background-color:ButtonFace}}.jkl-toast__dismiss-button:after{--tap-increment:-0.75rem;border-radius:.1875rem;content:"";inset:var(--tap-increment) var(--tap-increment) var(--tap-increment) var(--tap-increment);position:absolute}.jkl-toast--error,.jkl-toast--info,.jkl-toast--success,.jkl-toast--warning{--text-color:var(--jkl-color-text-on-alert)}.jkl-toast--info{--background-color:var(--jkl-color-background-alert-info)}.jkl-toast--warning{--background-color:var(--jkl-color-background-alert-warning)}.jkl-toast--error{--background-color:var(--jkl-color-background-alert-error)}.jkl-toast--success{--background-color:var(--jkl-color-background-alert-success)}@media screen and (forced-colors:active){.jkl-toast{border:2px solid CanvasText}.jkl-toast--info{border-style:dotted}.jkl-toast--warning{border-style:dashed}.jkl-toast--error{border-style:double;border-width:4px}}.jkl-toast[data-animation=entering],.jkl-toast[data-animation=queued]{animation:jkl-entering-uh8al8y .2s ease-out forwards}.jkl-toast[data-animation=exiting]{animation:jkl-exiting-uh8al9b .15s ease-in forwards}@keyframes jkl-entering-uh8al8y{0%{opacity:0;transform:translate3d(0,50%,0)}to{opacity:1;transform:translateZ(0)}}@keyframes jkl-exiting-uh8al9b{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,50%,0)}}
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Do not edit directly
|
|
3
|
+
* Generated on Mon, 23 Sep 2024 08:51:40 GMT
|
|
4
|
+
*/
|
|
5
|
+
@media screen and (prefers-color-scheme: light) {
|
|
6
|
+
:root {
|
|
7
|
+
--jkl-slider-bg: #e0dbd4;
|
|
8
|
+
--jkl-slider-pill: #f9f9f9;
|
|
9
|
+
--jkl-slider-pill-text: #1b1917;
|
|
10
|
+
--jkl-slider-pill-text--active: #000000;
|
|
11
|
+
--jkl-slider-focus-color: #000000;
|
|
12
|
+
--jkl-slider-hover-color: #000000;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
[data-theme=light] {
|
|
16
|
+
--jkl-slider-bg: #e0dbd4;
|
|
17
|
+
--jkl-slider-pill: #f9f9f9;
|
|
18
|
+
--jkl-slider-pill-text: #1b1917;
|
|
19
|
+
--jkl-slider-pill-text--active: #000000;
|
|
20
|
+
--jkl-slider-focus-color: #000000;
|
|
21
|
+
--jkl-slider-hover-color: #000000;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@media screen and (prefers-color-scheme: dark) {
|
|
25
|
+
:root {
|
|
26
|
+
--jkl-slider-bg: #444141;
|
|
27
|
+
--jkl-slider-pill: #1b1917;
|
|
28
|
+
--jkl-slider-pill-text: #f9f9f9;
|
|
29
|
+
--jkl-slider-pill-text--active: #ffffff;
|
|
30
|
+
--jkl-slider-focus-color: #c8c5c3;
|
|
31
|
+
--jkl-slider-hover-color: #ffffff;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
[data-theme=dark] {
|
|
35
|
+
--jkl-slider-bg: #444141;
|
|
36
|
+
--jkl-slider-pill: #1b1917;
|
|
37
|
+
--jkl-slider-pill-text: #f9f9f9;
|
|
38
|
+
--jkl-slider-pill-text--active: #ffffff;
|
|
39
|
+
--jkl-slider-focus-color: #c8c5c3;
|
|
40
|
+
--jkl-slider-hover-color: #ffffff;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
:root,
|
|
44
|
+
[data-layout-density=comfortable],
|
|
45
|
+
[data-density=comfortable] {
|
|
46
|
+
--jkl-slider-font-size: var(--jkl-body-font-size);
|
|
47
|
+
--jkl-slider-line-height: var(--jkl-body-line-height);
|
|
48
|
+
--jkl-slider-font-weight: var(--jkl-body-font-weight);
|
|
49
|
+
--jkl-slider-legend-font-size: var(--jkl-body-font-size);
|
|
50
|
+
--jkl-slider-legend-line-height: var(--jkl-body-line-height);
|
|
51
|
+
--jkl-slider-legend-font-weight: 700;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
[data-layout-density=compact],
|
|
55
|
+
[data-density=compact] {
|
|
56
|
+
--jkl-slider-font-size: var(--jkl-small-font-size);
|
|
57
|
+
--jkl-slider-line-height: var(--jkl-small-line-height);
|
|
58
|
+
--jkl-slider-font-weight: var(--jkl-small-font-weight);
|
|
59
|
+
--jkl-slider-legend-font-size: var(--jkl-small-font-size);
|
|
60
|
+
--jkl-slider-legend-line-height: var(--jkl-small-line-height);
|
|
61
|
+
--jkl-slider-legend-font-weight: 700;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.jkl-toggle-slider {
|
|
65
|
+
font-size: var(--jkl-slider-font-size);
|
|
66
|
+
line-height: var(--jkl-slider-line-height);
|
|
67
|
+
font-weight: var(--jkl-slider-font-weight);
|
|
68
|
+
position: relative;
|
|
69
|
+
overflow: hidden;
|
|
70
|
+
display: flex;
|
|
71
|
+
align-items: flex-start;
|
|
72
|
+
width: 100%;
|
|
73
|
+
flex-direction: column;
|
|
74
|
+
user-select: none;
|
|
75
|
+
}
|
|
76
|
+
html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:focus-within .jkl-toggle-slider__pill {
|
|
77
|
+
box-shadow: inset 0 0 0 0.125rem var(--jkl-slider-focus-color);
|
|
78
|
+
}
|
|
79
|
+
.jkl-toggle-slider__legend {
|
|
80
|
+
margin-bottom: 0.5rem;
|
|
81
|
+
font-size: var(--jkl-slider-legend-font-size);
|
|
82
|
+
line-height: var(--jkl-slider-legend-line-height);
|
|
83
|
+
font-weight: var(--jkl-slider-legend-font-weight);
|
|
84
|
+
}
|
|
85
|
+
.jkl-toggle-slider__legend--sr-only {
|
|
86
|
+
border: 0 !important;
|
|
87
|
+
clip: rect(1px, 1px, 1px, 1px) !important; /* 1 */
|
|
88
|
+
clip-path: inset(50%) !important; /* 2 */
|
|
89
|
+
height: 1px !important;
|
|
90
|
+
margin: -1px !important;
|
|
91
|
+
overflow: hidden !important;
|
|
92
|
+
padding: 0 !important;
|
|
93
|
+
position: absolute !important;
|
|
94
|
+
width: 1px !important;
|
|
95
|
+
white-space: nowrap !important; /* 3 */
|
|
96
|
+
}
|
|
97
|
+
.jkl-toggle-slider__inputs {
|
|
98
|
+
display: flex;
|
|
99
|
+
position: relative;
|
|
100
|
+
overflow: hidden;
|
|
101
|
+
background-color: var(--jkl-slider-bg);
|
|
102
|
+
border-radius: 6.25rem;
|
|
103
|
+
border: 2px solid var(--jkl-slider-bg);
|
|
104
|
+
}
|
|
105
|
+
.jkl-toggle-slider__input {
|
|
106
|
+
position: absolute;
|
|
107
|
+
opacity: 0;
|
|
108
|
+
}
|
|
109
|
+
.jkl-toggle-slider__label {
|
|
110
|
+
display: flex;
|
|
111
|
+
align-items: center;
|
|
112
|
+
justify-content: center;
|
|
113
|
+
z-index: 1;
|
|
114
|
+
cursor: pointer;
|
|
115
|
+
padding: 0.125rem 1rem;
|
|
116
|
+
color: var(--jkl-slider-pill-text);
|
|
117
|
+
-webkit-tap-highlight-color: transparent;
|
|
118
|
+
/* Prevent really short labels to look like circles */
|
|
119
|
+
min-width: 30px;
|
|
120
|
+
}
|
|
121
|
+
.jkl-toggle-slider__label:hover {
|
|
122
|
+
color: var(--jkl-slider-hover-color);
|
|
123
|
+
}
|
|
124
|
+
.jkl-toggle-slider__label--selected {
|
|
125
|
+
--jkl-icon-weight: 500;
|
|
126
|
+
font-weight: 700;
|
|
127
|
+
letter-spacing: -0.014em;
|
|
128
|
+
color: var(--jkl-slider-pill-text--active);
|
|
129
|
+
}
|
|
130
|
+
.jkl-toggle-slider__pill {
|
|
131
|
+
height: 100%;
|
|
132
|
+
background-color: var(--jkl-slider-pill);
|
|
133
|
+
position: absolute;
|
|
134
|
+
transition-property: width, transform;
|
|
135
|
+
border-radius: 6.25rem;
|
|
136
|
+
transition-timing-function: ease;
|
|
137
|
+
transition-duration: 250ms;
|
|
138
|
+
}
|
|
139
|
+
@media (min-width: 680px) {
|
|
140
|
+
.jkl-toggle-slider {
|
|
141
|
+
flex-direction: row;
|
|
142
|
+
align-items: center;
|
|
143
|
+
}
|
|
144
|
+
.jkl-toggle-slider__legend {
|
|
145
|
+
margin-bottom: 0;
|
|
146
|
+
margin-right: 1.2em;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
@media screen and (forced-colors: active) {
|
|
150
|
+
.jkl-toggle-slider .jkl-toggle-slider__inputs {
|
|
151
|
+
background-color: Canvas;
|
|
152
|
+
}
|
|
153
|
+
.jkl-toggle-slider .jkl-toggle-slider__pill {
|
|
154
|
+
background-color: ButtonFace;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
:root,
|
|
159
|
+
[data-layout-density=comfortable],
|
|
160
|
+
[data-density=comfortable] {
|
|
161
|
+
--jkl-toggle-font-size: var(--jkl-body-font-size);
|
|
162
|
+
--jkl-toggle-line-height: var(--jkl-body-line-height);
|
|
163
|
+
--jkl-toggle-font-weight: var(--jkl-body-font-weight);
|
|
164
|
+
--jkl-toggle-switch-height: 1.75rem;
|
|
165
|
+
--jkl-toggle-switch-width: 3rem;
|
|
166
|
+
--jkl-toggle-switch-knob-size: 1.25rem;
|
|
167
|
+
--jkl-toggle-switch-indicator-spacing: 0;
|
|
168
|
+
--jkl-toggle-switch-help-label-spacing: var(--jkl-spacing-2);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
[data-layout-density=compact],
|
|
172
|
+
[data-density=compact] {
|
|
173
|
+
--jkl-toggle-font-size: var(--jkl-small-font-size);
|
|
174
|
+
--jkl-toggle-line-height: var(--jkl-small-line-height);
|
|
175
|
+
--jkl-toggle-font-weight: var(--jkl-small-font-weight);
|
|
176
|
+
--jkl-toggle-switch-height: 1.25rem;
|
|
177
|
+
--jkl-toggle-switch-width: 2.25rem;
|
|
178
|
+
--jkl-toggle-switch-knob-size: 0.75rem;
|
|
179
|
+
--jkl-toggle-switch-indicator-spacing: -0.125rem;
|
|
180
|
+
--jkl-toggle-switch-help-label-spacing: 0;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
.jkl-toggle-switch {
|
|
184
|
+
--border-width: 0.0625rem;
|
|
185
|
+
--switch-padding: 0.25rem;
|
|
186
|
+
--knob-position: 0;
|
|
187
|
+
--switch-border-color: var(--jkl-color-border-action);
|
|
188
|
+
--indicator-color: var(--jkl-color-background-container-high);
|
|
189
|
+
--knob-border-color: var(--jkl-color-border-action);
|
|
190
|
+
--knob-color: var(--jkl-color-background-container-high);
|
|
191
|
+
--text-color: var(--jkl-color-text-default);
|
|
192
|
+
--icon-color: var(--jkl-color-text-inverted);
|
|
193
|
+
background: transparent;
|
|
194
|
+
color: var(--text-color);
|
|
195
|
+
padding: 0;
|
|
196
|
+
cursor: pointer;
|
|
197
|
+
-webkit-tap-highlight-color: transparent;
|
|
198
|
+
display: flex;
|
|
199
|
+
flex-direction: row-reverse;
|
|
200
|
+
align-items: center;
|
|
201
|
+
gap: var(--jkl-spacing-8);
|
|
202
|
+
touch-action: none;
|
|
203
|
+
font-size: var(--jkl-toggle-font-size);
|
|
204
|
+
line-height: var(--jkl-toggle-line-height);
|
|
205
|
+
font-weight: var(--jkl-toggle-font-weight);
|
|
206
|
+
outline: 0;
|
|
207
|
+
border-style: none;
|
|
208
|
+
outline-style: none;
|
|
209
|
+
}
|
|
210
|
+
.jkl-toggle-switch:active, .jkl-toggle-switch:hover, .jkl-toggle-switch:focus {
|
|
211
|
+
outline: 0;
|
|
212
|
+
outline-style: none;
|
|
213
|
+
}
|
|
214
|
+
@media screen and (forced-colors: active) {
|
|
215
|
+
.jkl-toggle-switch {
|
|
216
|
+
outline: revert;
|
|
217
|
+
border-style: revert;
|
|
218
|
+
outline-style: revert;
|
|
219
|
+
}
|
|
220
|
+
.jkl-toggle-switch:active, .jkl-toggle-switch:hover, .jkl-toggle-switch:focus {
|
|
221
|
+
outline: revert;
|
|
222
|
+
outline-style: revert;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
@media screen and (forced-colors: active) {
|
|
226
|
+
.jkl-toggle-switch {
|
|
227
|
+
border-color: transparent;
|
|
228
|
+
border-style: none;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
.jkl-toggle-switch[aria-pressed=true], [aria-checked=true] > .jkl-toggle-switch {
|
|
232
|
+
--indicator-color: var(--jkl-color-background-container-inverted);
|
|
233
|
+
--knob-color: var(--jkl-color-text-inverted);
|
|
234
|
+
--knob-position: calc(
|
|
235
|
+
var(--jkl-toggle-switch-width) - var(--jkl-toggle-switch-knob-size) - var(--switch-padding) * 2
|
|
236
|
+
);
|
|
237
|
+
}
|
|
238
|
+
.jkl-toggle-switch[disabled] {
|
|
239
|
+
cursor: revert;
|
|
240
|
+
--text-color: var(--jkl-color-text-subdued);
|
|
241
|
+
--switch-border-color: var(--jkl-color-border-subdued);
|
|
242
|
+
--knob-border-color: var(--jkl-color-border-subdued);
|
|
243
|
+
}
|
|
244
|
+
.jkl-toggle-switch[disabled][aria-pressed=true], [aria-checked=true] > .jkl-toggle-switch[disabled] {
|
|
245
|
+
--indicator-color: var(--jkl-color-border-subdued);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
.jkl-toggle-switch-widget {
|
|
249
|
+
position: relative;
|
|
250
|
+
box-sizing: border-box;
|
|
251
|
+
display: flex;
|
|
252
|
+
flex-direction: row;
|
|
253
|
+
align-items: center;
|
|
254
|
+
height: var(--jkl-toggle-switch-height);
|
|
255
|
+
width: var(--jkl-toggle-switch-width);
|
|
256
|
+
border-radius: 9999px;
|
|
257
|
+
border: var(--border-width) solid var(--switch-border-color);
|
|
258
|
+
overflow: hidden;
|
|
259
|
+
user-select: none;
|
|
260
|
+
padding: var(--switch-padding);
|
|
261
|
+
background-color: var(--indicator-color);
|
|
262
|
+
pointer-events: none;
|
|
263
|
+
}
|
|
264
|
+
@media screen and (forced-colors: active) {
|
|
265
|
+
.jkl-toggle-switch-widget {
|
|
266
|
+
border: 0.0625rem solid ButtonText;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
.jkl-toggle-switch:focus-visible .jkl-toggle-switch-widget {
|
|
270
|
+
outline: 2px solid var(--jkl-color-border-action);
|
|
271
|
+
outline-offset: 2px;
|
|
272
|
+
}
|
|
273
|
+
.jkl-toggle-switch-widget__slider {
|
|
274
|
+
position: relative;
|
|
275
|
+
box-sizing: border-box;
|
|
276
|
+
height: var(--jkl-toggle-switch-knob-size);
|
|
277
|
+
width: var(--jkl-toggle-switch-knob-size);
|
|
278
|
+
color: var(--icon-color);
|
|
279
|
+
transition-timing-function: ease;
|
|
280
|
+
transition-duration: 150ms;
|
|
281
|
+
transition-property: translate;
|
|
282
|
+
translate: var(--knob-position);
|
|
283
|
+
}
|
|
284
|
+
.jkl-toggle-switch-widget__knob {
|
|
285
|
+
position: absolute;
|
|
286
|
+
inset: 0;
|
|
287
|
+
border-radius: 9999px;
|
|
288
|
+
border: var(--border-width) solid var(--knob-border-color);
|
|
289
|
+
background-color: var(--knob-color);
|
|
290
|
+
}
|
|
291
|
+
.jkl-toggle-switch-widget__indicator {
|
|
292
|
+
position: absolute;
|
|
293
|
+
top: 50%;
|
|
294
|
+
right: 100%;
|
|
295
|
+
margin-right: var(--jkl-toggle-switch-indicator-spacing);
|
|
296
|
+
transform: translate(0, -50%);
|
|
297
|
+
}
|
|
298
|
+
.jkl-toggle-switch-widget__indicator > .jkl-icon__icon {
|
|
299
|
+
position: absolute;
|
|
300
|
+
inset: 0;
|
|
301
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@media screen and (prefers-color-scheme:light){:root{--jkl-slider-bg:#e0dbd4;--jkl-slider-pill:#f9f9f9;--jkl-slider-pill-text:#1b1917;--jkl-slider-pill-text--active:#000;--jkl-slider-focus-color:#000;--jkl-slider-hover-color:#000}}[data-theme=light]{--jkl-slider-bg:#e0dbd4;--jkl-slider-pill:#f9f9f9;--jkl-slider-pill-text:#1b1917;--jkl-slider-pill-text--active:#000;--jkl-slider-focus-color:#000;--jkl-slider-hover-color:#000}@media screen and (prefers-color-scheme:dark){:root{--jkl-slider-bg:#444141;--jkl-slider-pill:#1b1917;--jkl-slider-pill-text:#f9f9f9;--jkl-slider-pill-text--active:#fff;--jkl-slider-focus-color:#c8c5c3;--jkl-slider-hover-color:#fff}}[data-theme=dark]{--jkl-slider-bg:#444141;--jkl-slider-pill:#1b1917;--jkl-slider-pill-text:#f9f9f9;--jkl-slider-pill-text--active:#fff;--jkl-slider-focus-color:#c8c5c3;--jkl-slider-hover-color:#fff}:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-slider-font-size:var(--jkl-body-font-size);--jkl-slider-line-height:var(--jkl-body-line-height);--jkl-slider-font-weight:var(--jkl-body-font-weight);--jkl-slider-legend-font-size:var(--jkl-body-font-size);--jkl-slider-legend-line-height:var(--jkl-body-line-height);--jkl-slider-legend-font-weight:700}[data-density=compact],[data-layout-density=compact]{--jkl-slider-font-size:var(--jkl-small-font-size);--jkl-slider-line-height:var(--jkl-small-line-height);--jkl-slider-font-weight:var(--jkl-small-font-weight);--jkl-slider-legend-font-size:var(--jkl-small-font-size);--jkl-slider-legend-line-height:var(--jkl-small-line-height);--jkl-slider-legend-font-weight:700}.jkl-toggle-slider{align-items:flex-start;display:flex;flex-direction:column;font-size:var(--jkl-slider-font-size);font-weight:var(--jkl-slider-font-weight);line-height:var(--jkl-slider-line-height);overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;width:100%}html:not([data-mousenavigation]):not([data-touchnavigation]) .jkl-toggle-slider:focus-within .jkl-toggle-slider__pill{box-shadow:inset 0 0 0 .125rem var(--jkl-slider-focus-color)}.jkl-toggle-slider__legend{font-size:var(--jkl-slider-legend-font-size);font-weight:var(--jkl-slider-legend-font-weight);line-height:var(--jkl-slider-legend-line-height);margin-bottom:.5rem}.jkl-toggle-slider__legend--sr-only{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.jkl-toggle-slider__inputs{background-color:var(--jkl-slider-bg);border:2px solid var(--jkl-slider-bg);border-radius:6.25rem;display:flex;overflow:hidden;position:relative}.jkl-toggle-slider__input{opacity:0;position:absolute}.jkl-toggle-slider__label{align-items:center;color:var(--jkl-slider-pill-text);cursor:pointer;display:flex;justify-content:center;padding:.125rem 1rem;z-index:1;-webkit-tap-highlight-color:transparent;min-width:30px}.jkl-toggle-slider__label:hover{color:var(--jkl-slider-hover-color)}.jkl-toggle-slider__label--selected{--jkl-icon-weight:500;color:var(--jkl-slider-pill-text--active);font-weight:700;letter-spacing:-.014em}.jkl-toggle-slider__pill{background-color:var(--jkl-slider-pill);border-radius:6.25rem;height:100%;position:absolute;transition-duration:.25s;transition-property:width,transform;transition-timing-function:ease}@media (min-width:680px){.jkl-toggle-slider{align-items:center;flex-direction:row}.jkl-toggle-slider__legend{margin-bottom:0;margin-right:1.2em}}@media screen and (forced-colors:active){.jkl-toggle-slider .jkl-toggle-slider__inputs{background-color:Canvas}.jkl-toggle-slider .jkl-toggle-slider__pill{background-color:ButtonFace}}:root,[data-density=comfortable],[data-layout-density=comfortable]{--jkl-toggle-font-size:var(--jkl-body-font-size);--jkl-toggle-line-height:var(--jkl-body-line-height);--jkl-toggle-font-weight:var(--jkl-body-font-weight);--jkl-toggle-switch-height:1.75rem;--jkl-toggle-switch-width:3rem;--jkl-toggle-switch-knob-size:1.25rem;--jkl-toggle-switch-indicator-spacing:0;--jkl-toggle-switch-help-label-spacing:var(--jkl-spacing-2)}[data-density=compact],[data-layout-density=compact]{--jkl-toggle-font-size:var(--jkl-small-font-size);--jkl-toggle-line-height:var(--jkl-small-line-height);--jkl-toggle-font-weight:var(--jkl-small-font-weight);--jkl-toggle-switch-height:1.25rem;--jkl-toggle-switch-width:2.25rem;--jkl-toggle-switch-knob-size:0.75rem;--jkl-toggle-switch-indicator-spacing:-0.125rem;--jkl-toggle-switch-help-label-spacing:0}.jkl-toggle-switch{--border-width:0.0625rem;--switch-padding:0.25rem;--knob-position:0;--switch-border-color:var(--jkl-color-border-action);--indicator-color:var(--jkl-color-background-container-high);--knob-border-color:var(--jkl-color-border-action);--knob-color:var(--jkl-color-background-container-high);--text-color:var(--jkl-color-text-default);--icon-color:var(--jkl-color-text-inverted);background:#0000;color:var(--text-color);cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent;align-items:center;border-style:none;display:flex;flex-direction:row-reverse;font-size:var(--jkl-toggle-font-size);font-weight:var(--jkl-toggle-font-weight);gap:var(--jkl-spacing-8);line-height:var(--jkl-toggle-line-height);touch-action:none}.jkl-toggle-switch,.jkl-toggle-switch:active,.jkl-toggle-switch:focus,.jkl-toggle-switch:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-toggle-switch{border-style:revert}.jkl-toggle-switch,.jkl-toggle-switch:active,.jkl-toggle-switch:focus,.jkl-toggle-switch:hover{outline:revert;outline-style:revert}.jkl-toggle-switch{border-color:#0000;border-style:none}}.jkl-toggle-switch[aria-pressed=true],[aria-checked=true]>.jkl-toggle-switch{--indicator-color:var(--jkl-color-background-container-inverted);--knob-color:var(--jkl-color-text-inverted);--knob-position:calc(var(--jkl-toggle-switch-width) - var(--jkl-toggle-switch-knob-size) - var(--switch-padding)*2)}.jkl-toggle-switch[disabled]{cursor:revert;--text-color:var(--jkl-color-text-subdued);--switch-border-color:var(--jkl-color-border-subdued);--knob-border-color:var(--jkl-color-border-subdued)}.jkl-toggle-switch[disabled][aria-pressed=true],[aria-checked=true]>.jkl-toggle-switch[disabled]{--indicator-color:var(--jkl-color-border-subdued)}.jkl-toggle-switch-widget{align-items:center;background-color:var(--indicator-color);border:var(--border-width) solid var(--switch-border-color);border-radius:9999px;box-sizing:border-box;display:flex;flex-direction:row;height:var(--jkl-toggle-switch-height);overflow:hidden;padding:var(--switch-padding);pointer-events:none;position:relative;-webkit-user-select:none;user-select:none;width:var(--jkl-toggle-switch-width)}@media screen and (forced-colors:active){.jkl-toggle-switch-widget{border:.0625rem solid ButtonText}}.jkl-toggle-switch:focus-visible .jkl-toggle-switch-widget{outline:2px solid var(--jkl-color-border-action);outline-offset:2px}.jkl-toggle-switch-widget__slider{box-sizing:border-box;color:var(--icon-color);height:var(--jkl-toggle-switch-knob-size);position:relative;transition-duration:.15s;transition-property:translate;transition-timing-function:ease;translate:var(--knob-position);width:var(--jkl-toggle-switch-knob-size)}.jkl-toggle-switch-widget__knob{background-color:var(--knob-color);border:var(--border-width) solid var(--knob-border-color);border-radius:9999px;inset:0;position:absolute}.jkl-toggle-switch-widget__indicator{margin-right:var(--jkl-toggle-switch-indicator-spacing);position:absolute;right:100%;top:50%;transform:translateY(-50%)}.jkl-toggle-switch-widget__indicator>.jkl-icon__icon{inset:0;position:absolute}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
@charset "UTF-8";
|
|
2
|
+
@use "../../../core/jkl";
|
|
3
|
+
|
|
4
|
+
@use "./toggle-slider";
|
|
5
|
+
|
|
6
|
+
@include jkl.comfortable-density-variables {
|
|
7
|
+
@include jkl.declare-font-variables("jkl-toggle", "body");
|
|
8
|
+
|
|
9
|
+
--jkl-toggle-switch-height: #{jkl.rem(28px)};
|
|
10
|
+
--jkl-toggle-switch-width: #{jkl.rem(48px)};
|
|
11
|
+
--jkl-toggle-switch-knob-size: #{jkl.rem(20px)};
|
|
12
|
+
--jkl-toggle-switch-indicator-spacing: 0;
|
|
13
|
+
--jkl-toggle-switch-help-label-spacing: var(--jkl-spacing-2);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@include jkl.compact-density-variables {
|
|
17
|
+
@include jkl.declare-font-variables("jkl-toggle", "small");
|
|
18
|
+
|
|
19
|
+
--jkl-toggle-switch-height: #{jkl.rem(20px)};
|
|
20
|
+
--jkl-toggle-switch-width: #{jkl.rem(36px)};
|
|
21
|
+
--jkl-toggle-switch-knob-size: #{jkl.rem(12px)};
|
|
22
|
+
--jkl-toggle-switch-indicator-spacing: #{jkl.rem(-2px)};
|
|
23
|
+
--jkl-toggle-switch-help-label-spacing: 0;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.jkl-toggle-switch {
|
|
27
|
+
--border-width: #{jkl.rem(1px)};
|
|
28
|
+
--switch-padding: #{jkl.rem(4px)};
|
|
29
|
+
--knob-position: 0;
|
|
30
|
+
--switch-border-color: var(--jkl-color-border-action);
|
|
31
|
+
--indicator-color: var(--jkl-color-background-container-high);
|
|
32
|
+
--knob-border-color: var(--jkl-color-border-action);
|
|
33
|
+
--knob-color: var(--jkl-color-background-container-high);
|
|
34
|
+
--text-color: var(--jkl-color-text-default);
|
|
35
|
+
--icon-color: var(--jkl-color-text-inverted);
|
|
36
|
+
|
|
37
|
+
background: transparent;
|
|
38
|
+
color: var(--text-color);
|
|
39
|
+
padding: 0;
|
|
40
|
+
cursor: pointer;
|
|
41
|
+
-webkit-tap-highlight-color: transparent;
|
|
42
|
+
|
|
43
|
+
display: flex;
|
|
44
|
+
flex-direction: row-reverse;
|
|
45
|
+
align-items: center;
|
|
46
|
+
gap: var(--jkl-spacing-8);
|
|
47
|
+
touch-action: none; // Forhindrer at siden flytter på seg når man drar i toggle
|
|
48
|
+
|
|
49
|
+
@include jkl.use-font-variables("jkl-toggle");
|
|
50
|
+
|
|
51
|
+
@include jkl.reset-outline;
|
|
52
|
+
|
|
53
|
+
@include jkl.forced-colors-mode {
|
|
54
|
+
border-color: transparent;
|
|
55
|
+
border-style: none;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
&[aria-pressed="true"],
|
|
59
|
+
[aria-checked="true"] > & {
|
|
60
|
+
--indicator-color: var(--jkl-color-background-container-inverted);
|
|
61
|
+
--knob-color: var(--jkl-color-text-inverted);
|
|
62
|
+
--knob-position: calc(
|
|
63
|
+
var(--jkl-toggle-switch-width) - var(--jkl-toggle-switch-knob-size) - var(--switch-padding) * 2
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
&[disabled] {
|
|
68
|
+
cursor: revert;
|
|
69
|
+
|
|
70
|
+
--text-color: var(--jkl-color-text-subdued);
|
|
71
|
+
--switch-border-color: var(--jkl-color-border-subdued);
|
|
72
|
+
--knob-border-color: var(--jkl-color-border-subdued);
|
|
73
|
+
|
|
74
|
+
&[aria-pressed="true"],
|
|
75
|
+
[aria-checked="true"] > & {
|
|
76
|
+
--indicator-color: var(--jkl-color-border-subdued);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.jkl-toggle-switch-widget {
|
|
82
|
+
position: relative;
|
|
83
|
+
box-sizing: border-box;
|
|
84
|
+
display: flex;
|
|
85
|
+
flex-direction: row;
|
|
86
|
+
align-items: center;
|
|
87
|
+
height: var(--jkl-toggle-switch-height);
|
|
88
|
+
width: var(--jkl-toggle-switch-width);
|
|
89
|
+
border-radius: 9999px;
|
|
90
|
+
border: var(--border-width) solid var(--switch-border-color);
|
|
91
|
+
overflow: hidden;
|
|
92
|
+
user-select: none;
|
|
93
|
+
padding: var(--switch-padding);
|
|
94
|
+
background-color: var(--indicator-color);
|
|
95
|
+
pointer-events: none;
|
|
96
|
+
|
|
97
|
+
@include jkl.forced-colors-mode {
|
|
98
|
+
border: jkl.rem(1px) solid ButtonText;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.jkl-toggle-switch:focus-visible & {
|
|
102
|
+
@include jkl.focus-outline;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
&__slider {
|
|
106
|
+
position: relative;
|
|
107
|
+
box-sizing: border-box;
|
|
108
|
+
height: var(--jkl-toggle-switch-knob-size);
|
|
109
|
+
width: var(--jkl-toggle-switch-knob-size);
|
|
110
|
+
color: var(--icon-color);
|
|
111
|
+
|
|
112
|
+
@include jkl.motion;
|
|
113
|
+
transition-property: translate;
|
|
114
|
+
translate: var(--knob-position);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
&__knob {
|
|
118
|
+
position: absolute;
|
|
119
|
+
inset: 0;
|
|
120
|
+
border-radius: 9999px;
|
|
121
|
+
border: var(--border-width) solid var(--knob-border-color);
|
|
122
|
+
background-color: var(--knob-color);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
&__indicator {
|
|
126
|
+
position: absolute;
|
|
127
|
+
top: 50%;
|
|
128
|
+
right: 100%;
|
|
129
|
+
margin-right: var(--jkl-toggle-switch-indicator-spacing);
|
|
130
|
+
transform: translate(0, -50%);
|
|
131
|
+
|
|
132
|
+
& > .jkl-icon__icon {
|
|
133
|
+
// Uten dette får ikonet feil alignment. Mulig bug i ikonpakken?
|
|
134
|
+
position: absolute;
|
|
135
|
+
inset: 0;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|