@fremtind/jokul 3.5.3 → 3.6.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/_commonjsHelpers-C37NGDzP.cjs +2 -0
- package/build/_commonjsHelpers-C37NGDzP.cjs.map +1 -0
- package/build/_commonjsHelpers-CXUWDbkB.js +2 -0
- package/build/_commonjsHelpers-CXUWDbkB.js.map +1 -0
- package/build/build-stats.html +1 -1
- package/build/cjs/components/autosuggest/BaseAutosuggest.cjs +1 -1
- package/build/cjs/components/autosuggest/BaseAutosuggest.cjs.map +1 -1
- package/build/cjs/components/datepicker/DatePicker.cjs +1 -1
- package/build/cjs/components/datepicker/DatePicker.cjs.map +1 -1
- package/build/cjs/components/datepicker/internal/Calendar.cjs +1 -1
- package/build/cjs/components/datepicker/internal/Calendar.cjs.map +1 -1
- package/build/cjs/components/datepicker/internal/useCalendar.cjs +1 -1
- package/build/cjs/components/datepicker/internal/useCalendar.cjs.map +1 -1
- package/build/cjs/components/datepicker/internal/utils.cjs +1 -1
- package/build/cjs/components/datepicker/internal/utils.cjs.map +1 -1
- package/build/cjs/core/tokens/build-tailwind-4.cjs +2 -0
- package/build/cjs/core/tokens/build-tailwind-4.cjs.map +1 -0
- package/build/cjs/core/tokens/build-tailwind-4.d.cts +1 -0
- package/build/es/components/autosuggest/BaseAutosuggest.js +1 -1
- package/build/es/components/autosuggest/BaseAutosuggest.js.map +1 -1
- 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/datepicker/internal/useCalendar.js +1 -1
- package/build/es/components/datepicker/internal/useCalendar.js.map +1 -1
- package/build/es/components/datepicker/internal/utils.js +1 -1
- package/build/es/components/datepicker/internal/utils.js.map +1 -1
- package/build/es/core/tokens/build-tailwind-4.d.ts +1 -0
- package/build/es/core/tokens/build-tailwind-4.js +2 -0
- package/build/es/core/tokens/build-tailwind-4.js.map +1 -0
- package/build/utils-CcE6HjQp.js +2 -0
- package/build/utils-CcE6HjQp.js.map +1 -0
- package/build/utils-DxmZDrR9.cjs +2 -0
- package/build/utils-DxmZDrR9.cjs.map +1 -0
- package/package.json +2 -2
- package/styles/components/checkbox/checkbox.css +4 -4
- package/styles/components/checkbox/checkbox.min.css +1 -1
- package/styles/components/checkbox/development/public/fonts/webfonts.css +115 -0
- package/styles/components/checkbox/development/public/fonts/webfonts.min.css +1 -0
- package/styles/components/checkbox-panel/checkbox-panel.css +6 -6
- package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
- package/styles/components/countdown/countdown.css +2 -2
- package/styles/components/countdown/countdown.min.css +1 -1
- package/styles/components/feedback/feedback.css +2 -2
- package/styles/components/feedback/feedback.min.css +1 -1
- package/styles/components/file-input/development/public/fonts/_index.scss +1 -0
- package/styles/components/file-input/development/public/fonts/webfonts.css +108 -0
- package/styles/components/file-input/development/public/fonts/webfonts.min.css +1 -0
- package/styles/components/file-input/development/public/fonts/webfonts.scss +137 -0
- package/styles/components/file-input/file-input.css +9 -9
- package/styles/components/file-input/file-input.min.css +1 -1
- package/styles/components/input-group/input-group.css +2 -2
- package/styles/components/input-group/input-group.min.css +1 -1
- package/styles/components/loader/loader.css +6 -6
- package/styles/components/loader/loader.min.css +1 -1
- package/styles/components/loader/skeleton-loader.css +3 -3
- package/styles/components/loader/skeleton-loader.min.css +1 -1
- package/styles/components/menu/development/public/fonts/_index.scss +1 -0
- package/styles/components/menu/development/public/fonts/webfonts.css +108 -0
- package/styles/components/menu/development/public/fonts/webfonts.min.css +1 -0
- package/styles/components/menu/development/public/fonts/webfonts.scss +137 -0
- package/styles/components/message/message.css +2 -2
- package/styles/components/message/message.min.css +1 -1
- package/styles/components/progress-bar/progress-bar.css +1 -1
- package/styles/components/progress-bar/progress-bar.min.css +1 -1
- package/styles/components/radio-button/development/public/fonts/_index.scss +1 -0
- package/styles/components/radio-button/development/public/fonts/webfonts.css +115 -0
- package/styles/components/radio-button/development/public/fonts/webfonts.min.css +1 -0
- package/styles/components/radio-button/development/public/fonts/webfonts.scss +145 -0
- package/styles/components/radio-button/radio-button.css +2 -2
- package/styles/components/radio-button/radio-button.min.css +1 -1
- package/styles/components/radio-panel/radio-panel.css +2 -2
- package/styles/components/radio-panel/radio-panel.min.css +1 -1
- package/styles/components/segmented-control/segmented-control.css +4 -4
- package/styles/components/segmented-control/segmented-control.min.css +1 -1
- package/styles/components/system-message/system-message.css +2 -2
- package/styles/components/system-message/system-message.min.css +1 -1
- package/styles/components/text-input/development/public/fonts/_index.scss +1 -0
- package/styles/components/text-input/development/public/fonts/webfonts.css +115 -0
- package/styles/components/text-input/development/public/fonts/webfonts.min.css +1 -0
- package/styles/components/text-input/development/public/fonts/webfonts.scss +145 -0
- package/styles/components/toast/toast.css +4 -4
- package/styles/components/toast/toast.min.css +1 -1
- package/styles/components/toggle-switch/development/public/fonts/_index.scss +1 -0
- package/styles/components/toggle-switch/development/public/fonts/webfonts.css +115 -0
- package/styles/components/toggle-switch/development/public/fonts/webfonts.min.css +1 -0
- package/styles/components/toggle-switch/development/public/fonts/webfonts.scss +145 -0
- package/styles/styles.css +34 -34
- package/styles/styles.min.css +2 -2
- package/styles/components/autosuggest/_index.scss +0 -2
- package/styles/components/autosuggest/autosuggest.scss +0 -87
- package/styles/components/breadcrumb/_index.scss +0 -2
- package/styles/components/breadcrumb/breadcrumb.scss +0 -38
- package/styles/components/button/_index.scss +0 -2
- package/styles/components/button/button.scss +0 -169
- package/styles/components/card/_index.scss +0 -3
- package/styles/components/card/card.scss +0 -105
- package/styles/components/checkbox/_index.scss +0 -1
- package/styles/components/checkbox/checkbox.scss +0 -248
- package/styles/components/checkbox-panel/_index.scss +0 -1
- package/styles/components/checkbox-panel/checkbox-panel.scss +0 -95
- package/styles/components/checkbox-panel/development/styles.scss +0 -27
- package/styles/components/chip/_index.scss +0 -2
- package/styles/components/chip/chip.scss +0 -104
- package/styles/components/combobox/_index.scss +0 -6
- package/styles/components/combobox/combobox.scss +0 -238
- package/styles/components/cookie-consent/_index.scss +0 -5
- package/styles/components/cookie-consent/cookie-consent.scss +0 -31
- package/styles/components/countdown/_index.scss +0 -1
- package/styles/components/countdown/countdown.scss +0 -25
- package/styles/components/datepicker/_calendar-date-button.scss +0 -85
- package/styles/components/datepicker/_calendar-navigation-dropdown.scss +0 -52
- package/styles/components/datepicker/_calendar-navigation.scss +0 -12
- package/styles/components/datepicker/_calendar-table.scss +0 -27
- package/styles/components/datepicker/_calendar.scss +0 -36
- package/styles/components/datepicker/_index.scss +0 -6
- package/styles/components/datepicker/datepicker.scss +0 -47
- package/styles/components/description-list/_index.scss +0 -1
- package/styles/components/description-list/description-list.scss +0 -58
- package/styles/components/expander/_index.scss +0 -4
- package/styles/components/expander/expandable.scss +0 -141
- package/styles/components/feedback/_index.scss +0 -10
- package/styles/components/feedback/feedback.scss +0 -113
- package/styles/components/file/_index.scss +0 -3
- package/styles/components/file/file.scss +0 -164
- package/styles/components/file-input/_index.scss +0 -5
- package/styles/components/file-input/file-input.scss +0 -130
- package/styles/components/flex/_index.scss +0 -1
- package/styles/components/flex/flex.scss +0 -252
- package/styles/components/help/_index.scss +0 -2
- package/styles/components/help/help.scss +0 -47
- package/styles/components/icon/_base-styles.scss +0 -21
- package/styles/components/icon/_index.scss +0 -1
- package/styles/components/icon/development/internal/icons-example-grid.scss +0 -13
- package/styles/components/icon/icon.scss +0 -139
- package/styles/components/icon-button/_index.scss +0 -1
- package/styles/components/icon-button/icon-button.scss +0 -38
- package/styles/components/image/_index.scss +0 -1
- package/styles/components/image/development/style.scss +0 -9
- package/styles/components/image/image.scss +0 -37
- package/styles/components/image/stories/styles.scss +0 -9
- package/styles/components/input-group/_field-group.scss +0 -5
- package/styles/components/input-group/_index.scss +0 -3
- package/styles/components/input-group/_labels.scss +0 -159
- package/styles/components/input-group/input-group.scss +0 -11
- package/styles/components/input-panel/input-panel.scss +0 -84
- package/styles/components/link/_index.scss +0 -1
- package/styles/components/link/link.scss +0 -62
- package/styles/components/link-list/_index.scss +0 -2
- package/styles/components/link-list/link-list.scss +0 -94
- package/styles/components/list/_index.scss +0 -1
- package/styles/components/list/list.scss +0 -98
- package/styles/components/loader/_index.scss +0 -2
- package/styles/components/loader/development/styles.scss +0 -11
- package/styles/components/loader/loader.scss +0 -139
- package/styles/components/loader/skeleton-loader.scss +0 -137
- package/styles/components/logo/_index.scss +0 -1
- package/styles/components/logo/development/styles.scss +0 -9
- package/styles/components/logo/logo.scss +0 -90
- package/styles/components/menu/_index.scss +0 -1
- package/styles/components/menu/_menu-divider.scss +0 -10
- package/styles/components/menu/_menu-item.scss +0 -71
- package/styles/components/menu/menu.scss +0 -40
- package/styles/components/message/_index.scss +0 -2
- package/styles/components/message/message.scss +0 -187
- package/styles/components/modal/_index.scss +0 -3
- package/styles/components/modal/modal.scss +0 -107
- package/styles/components/nav-link/_index.scss +0 -1
- package/styles/components/nav-link/nav-link.scss +0 -66
- package/styles/components/pagination/_index.scss +0 -5
- package/styles/components/pagination/development/styles.scss +0 -35
- package/styles/components/pagination/pagination.scss +0 -49
- package/styles/components/popover/_index.scss +0 -1
- package/styles/components/popover/popover.scss +0 -19
- package/styles/components/progress-bar/_index.scss +0 -1
- package/styles/components/progress-bar/progress-bar.scss +0 -27
- package/styles/components/radio-button/_index.scss +0 -2
- package/styles/components/radio-button/radio-button.scss +0 -219
- package/styles/components/radio-panel/_index.scss +0 -1
- package/styles/components/radio-panel/development/styles.scss +0 -27
- package/styles/components/radio-panel/radio-panel.scss +0 -82
- package/styles/components/segmented-control/_index.scss +0 -3
- package/styles/components/segmented-control/segmented-control.scss +0 -99
- package/styles/components/select/_index.scss +0 -3
- package/styles/components/select/select.scss +0 -299
- package/styles/components/summary-table/_index.scss +0 -1
- package/styles/components/summary-table/development/summary-table-example.scss +0 -10
- package/styles/components/summary-table/summary-table.scss +0 -49
- package/styles/components/system-message/_index.scss +0 -2
- package/styles/components/system-message/system-message.scss +0 -177
- package/styles/components/table/_index.scss +0 -6
- package/styles/components/table/_table-caption.scss +0 -7
- package/styles/components/table/_table-cell.scss +0 -86
- package/styles/components/table/_table-head.scss +0 -36
- package/styles/components/table/_table-header.scss +0 -65
- package/styles/components/table/_table-pagination.scss +0 -126
- package/styles/components/table/_table-row.scss +0 -177
- package/styles/components/table/table.scss +0 -53
- package/styles/components/table-of-contents/_index.scss +0 -1
- package/styles/components/tabs/_index.scss +0 -1
- package/styles/components/tabs/tabs.scss +0 -114
- package/styles/components/tag/_index.scss +0 -3
- package/styles/components/tag/tag.scss +0 -65
- package/styles/components/text-area/_index.scss +0 -4
- package/styles/components/text-area/text-area.scss +0 -111
- package/styles/components/text-input/_index.scss +0 -4
- package/styles/components/text-input/text-input.scss +0 -43
- package/styles/components/toast/_index.scss +0 -4
- package/styles/components/toast/toast.scss +0 -219
- package/styles/components/toggle-switch/_index.scss +0 -2
- package/styles/components/toggle-switch/_toggle-slider.scss +0 -123
- package/styles/components/toggle-switch/toggle-switch.scss +0 -137
- package/styles/components/tooltip/_index.scss +0 -3
- package/styles/components/tooltip/popuptip.scss +0 -5
- package/styles/components/tooltip/tooltip.scss +0 -87
- package/styles/components-beta/description-list/_index.scss +0 -1
- package/styles/components-beta/description-list/description-list.scss +0 -80
- package/styles/components-beta/link-list/_index.scss +0 -2
- package/styles/components-beta/link-list/link-list.scss +0 -81
- package/styles/components-beta/nav-link/_index.scss +0 -1
- package/styles/components-beta/nav-link/navlink.scss +0 -66
- package/styles/components-beta/search/_index.scss +0 -4
- package/styles/components-beta/search/search-with-submit-button.scss +0 -37
- package/styles/components-beta/search/search.scss +0 -106
- package/styles/components-beta/select/_index.scss +0 -3
- package/styles/components-beta/select/select.scss +0 -128
- package/styles/components-beta/table-of-contents/_index.scss +0 -2
- package/styles/components-beta/table-of-contents/table-of-contents.scss +0 -88
- package/styles/core/_layers.scss +0 -3
- package/styles/core/core.scss +0 -6
- package/styles/core/global/_base-class.scss +0 -36
- package/styles/core/global/_index.scss +0 -2
- package/styles/core/global/_top-layer.scss +0 -20
- package/styles/core/jkl/_colors.scss +0 -26
- package/styles/core/jkl/_convert.scss +0 -102
- package/styles/core/jkl/_helpers.scss +0 -26
- package/styles/core/jkl/_index.scss +0 -18
- package/styles/core/jkl/_motion.scss +0 -63
- package/styles/core/jkl/_navigation.scss +0 -9
- package/styles/core/jkl/_ornaments.scss +0 -28
- package/styles/core/jkl/_reset.scss +0 -45
- package/styles/core/jkl/_responsive-units.scss +0 -30
- package/styles/core/jkl/_screenreader.scss +0 -59
- package/styles/core/jkl/_screens.scss +0 -135
- package/styles/core/jkl/_shadows.scss +0 -25
- package/styles/core/jkl/_spacing.scss +0 -149
- package/styles/core/jkl/_theme.scss +0 -119
- package/styles/core/jkl/_tokens.scss +0 -58
- package/styles/core/jkl/_typography.scss +0 -269
- package/styles/core/jkl/_underline.scss +0 -16
- package/styles/core/jkl/_z-index.scss +0 -23
- package/styles/core/jkl/legacy/_dynamic-colors.scss +0 -40
- package/styles/core/jkl/legacy/_index.scss +0 -2
- package/styles/core/jkl/legacy/_tokens.scss +0 -396
- package/styles/core/resets/_index.scss +0 -2
- package/styles/core/resets/_normalize.scss +0 -251
- package/styles/core/resets/_reset.scss +0 -68
- package/styles/core/theme/_color-tokens.scss +0 -73
- package/styles/core/theme/_dynamic-spacing.scss +0 -55
- package/styles/core/theme/_index.scss +0 -8
- package/styles/core/theme/_legacy-color-tokens.scss +0 -81
- package/styles/core/theme/_legacy-tokens.scss +0 -159
- package/styles/core/theme/_old-vars.scss +0 -30
- package/styles/core/theme/_spacing-tokens.scss +0 -32
- package/styles/core/theme/_tokens.scss +0 -32
- package/styles/core/theme/_typography.scss +0 -27
- package/styles/core/utility/_headings.scss +0 -31
- package/styles/core/utility/_index.scss +0 -4
- package/styles/core/utility/_paragraphs.scss +0 -18
- package/styles/core/utility/_screen-reader.scss +0 -11
- package/styles/core/utility/_spacing.scss +0 -49
- package/styles/hooks/stories/styles.scss +0 -78
- package/styles/shared/input/shared-input-styles.scss +0 -181
- package/styles/shared/track/track.scss +0 -27
- package/styles/styles.scss +0 -52
- /package/styles/{fonts → components/checkbox/development/public/fonts}/_index.scss +0 -0
- /package/styles/{fonts → components/checkbox/development/public/fonts}/webfonts.scss +0 -0
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
@use "../../core/jkl";
|
|
2
|
-
@use "../file";
|
|
3
|
-
|
|
4
|
-
@include jkl.comfortable-density-variables {
|
|
5
|
-
@include jkl.declare-font-variables("jkl-file-input-drag", "heading-2");
|
|
6
|
-
@include jkl.declare-font-variables("jkl-file-size-hint", "small");
|
|
7
|
-
|
|
8
|
-
--jkl-file-input-dropzone-padding: #{jkl.$unit-30};
|
|
9
|
-
--jkl-file-input-dropzone-gap: #{jkl.$unit-30};
|
|
10
|
-
--jkl-file-cta-gap: #{jkl.$unit-30};
|
|
11
|
-
--jkl-file-cta-with-files-gap: #{jkl.$unit-15};
|
|
12
|
-
--jkl-file-list-gap: #{jkl.$unit-10};
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
@include jkl.compact-density-variables {
|
|
16
|
-
@include jkl.declare-font-variables("jkl-file-input-drag", "body");
|
|
17
|
-
|
|
18
|
-
--jkl-file-input-dropzone-padding: #{jkl.$unit-20};
|
|
19
|
-
--jkl-file-input-dropzone-gap: #{jkl.$unit-20};
|
|
20
|
-
--jkl-file-cta-gap: #{jkl.$unit-15};
|
|
21
|
-
--jkl-file-cta-with-files-gap: #{jkl.$unit-05};
|
|
22
|
-
--jkl-file-list-gap: #{jkl.$unit-10};
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.jkl-file-input {
|
|
26
|
-
&__dropzone {
|
|
27
|
-
--border-color: var(--jkl-color-border-input);
|
|
28
|
-
--background-color: transparent;
|
|
29
|
-
|
|
30
|
-
border: var(--border-color) 1px dashed;
|
|
31
|
-
border-radius: jkl.rem(4px);
|
|
32
|
-
padding: var(--jkl-file-input-dropzone-padding);
|
|
33
|
-
display: flex;
|
|
34
|
-
justify-content: center;
|
|
35
|
-
align-items: center;
|
|
36
|
-
flex-direction: column;
|
|
37
|
-
flex-wrap: nowrap;
|
|
38
|
-
gap: var(--jkl-file-input-dropzone-gap);
|
|
39
|
-
|
|
40
|
-
@include jkl.motion("standard", "productive");
|
|
41
|
-
transition-property: background-color;
|
|
42
|
-
background-color: var(--background-color);
|
|
43
|
-
|
|
44
|
-
&--enter {
|
|
45
|
-
--border-color: var(--jkl-color-border-input-focus);
|
|
46
|
-
--background-color: var(--jkl-color-background-container-high);
|
|
47
|
-
border-style: solid;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
&__drag-text {
|
|
51
|
-
@include jkl.use-font-variables("jkl-file-input-drag");
|
|
52
|
-
|
|
53
|
-
@include jkl.small-device {
|
|
54
|
-
display: none;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
&__call-to-action {
|
|
60
|
-
display: flex;
|
|
61
|
-
justify-content: center;
|
|
62
|
-
align-items: center;
|
|
63
|
-
flex-direction: column;
|
|
64
|
-
flex-wrap: nowrap;
|
|
65
|
-
|
|
66
|
-
&:has(:focus-visible) {
|
|
67
|
-
.jkl-button {
|
|
68
|
-
transform: scale(1.05);
|
|
69
|
-
|
|
70
|
-
@include jkl.focus-outline;
|
|
71
|
-
|
|
72
|
-
&:active {
|
|
73
|
-
transform: scale(1);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
&__dropzone-hint {
|
|
80
|
-
margin-top: jkl.$unit-30;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
&--has-files &__dropzone-hint {
|
|
84
|
-
display: none;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
&__max-size-text {
|
|
88
|
-
@include jkl.use-font-variables("jkl-file-size-hint");
|
|
89
|
-
color: var(--jkl-color-text-subdued);
|
|
90
|
-
margin-top: jkl.$unit-30;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
&__files {
|
|
94
|
-
list-style: none;
|
|
95
|
-
margin: 0;
|
|
96
|
-
padding: 0;
|
|
97
|
-
display: flex;
|
|
98
|
-
flex-direction: column;
|
|
99
|
-
gap: var(--jkl-file-list-gap);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
&--small {
|
|
103
|
-
.jkl-file-input__dropzone-hint {
|
|
104
|
-
margin: 0;
|
|
105
|
-
display: block;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
.jkl-file-input__dropzone {
|
|
109
|
-
padding: jkl.$unit-20;
|
|
110
|
-
gap: jkl.$unit-20;
|
|
111
|
-
margin-bottom: jkl.$unit-20;
|
|
112
|
-
justify-content: flex-start;
|
|
113
|
-
flex-direction: row;
|
|
114
|
-
max-width: fit-content;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
.jkl-file-input__call-to-action {
|
|
118
|
-
@include jkl.use-font-variables("jkl-file-size-hint");
|
|
119
|
-
|
|
120
|
-
gap: #{jkl.$unit-15};
|
|
121
|
-
flex-direction: row;
|
|
122
|
-
justify-content: flex-start;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
.jkl-file-input__max-size-text {
|
|
126
|
-
margin-top: calc(-1 * #{jkl.$unit-15});
|
|
127
|
-
margin-bottom: jkl.$unit-20;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@forward "flex";
|
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
@charset "UTF-8";
|
|
2
|
-
@use "sass:math";
|
|
3
|
-
@use "sass:map";
|
|
4
|
-
@use "../../core/jkl";
|
|
5
|
-
|
|
6
|
-
// ==========================================================================
|
|
7
|
-
// 1. Konfigurasjon
|
|
8
|
-
// ==========================================================================
|
|
9
|
-
|
|
10
|
-
// Angir globale CSS custom properties for maksimale container-bredder.
|
|
11
|
-
@layer jokul.components {
|
|
12
|
-
:root {
|
|
13
|
-
--container-m: 43.75rem;
|
|
14
|
-
--container-l: 60rem;
|
|
15
|
-
--container-xl: 75rem;
|
|
16
|
-
--container-2xl: 90rem;
|
|
17
|
-
--container-full: 100%;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
$jokul-breakpoints: map.get(jkl.$tokens, "breakpoint");
|
|
22
|
-
$jokul-spacing: map.get(jkl.$tokens, "semantic-spacing");
|
|
23
|
-
|
|
24
|
-
// Map for å generere klasser for uniforme (jevnt fordelte) kolonner.
|
|
25
|
-
// Nøkkelen (key) representerer antall elementer, og verdien (value) er hvor mange
|
|
26
|
-
// av de 12 grid-kolonnene hvert element skal oppta.
|
|
27
|
-
$uniform-layouts: (
|
|
28
|
-
"0": "auto",
|
|
29
|
-
// Automatisk bredde basert på innhold
|
|
30
|
-
"1": 12,
|
|
31
|
-
// 1 element i full bredde
|
|
32
|
-
"2": 6,
|
|
33
|
-
// 2 elementer, 50% bredde hver
|
|
34
|
-
"3": 4,
|
|
35
|
-
// 3 elementer, 33.3% bredde hver
|
|
36
|
-
"4": 3,
|
|
37
|
-
// 4 elementer, 25% bredde hver
|
|
38
|
-
"6": 2,
|
|
39
|
-
// 6 elementer, 16.6% bredde hver
|
|
40
|
-
);
|
|
41
|
-
|
|
42
|
-
// Map for å generere asymmetriske layout-klasser (f.eks. .s-2\.10).
|
|
43
|
-
// Nøkkelen (key) er klassens suffiks, og verdien (value) angir bredden i antall
|
|
44
|
-
// grid-kolonner for elementer på oddetallsplassering (1, 3, 5, ...).
|
|
45
|
-
// Bredden for partallselementer beregnes automatisk (12 - verdi).
|
|
46
|
-
$asymmetric-layouts: (
|
|
47
|
-
"2\\.10": 2,
|
|
48
|
-
"10\\.2": 10,
|
|
49
|
-
"3\\.9": 3,
|
|
50
|
-
"9\\.3": 9,
|
|
51
|
-
"4\\.8": 4,
|
|
52
|
-
"8\\.4": 8,
|
|
53
|
-
"5\\.7": 5,
|
|
54
|
-
"7\\.5": 7,
|
|
55
|
-
);
|
|
56
|
-
|
|
57
|
-
// Sass-map for å generere generiske hjelpeklasser (utility classes).
|
|
58
|
-
// Hver nøkkel på toppnivå er en CSS-egenskap, og de nøstede map-ene
|
|
59
|
-
// definerer klassenavn og tilhørende verdi.
|
|
60
|
-
$utility-classes: (
|
|
61
|
-
"display": (inline-flex,
|
|
62
|
-
),
|
|
63
|
-
"flex-wrap": (wrap-reverse,
|
|
64
|
-
nowrap,
|
|
65
|
-
),
|
|
66
|
-
"flex-direction": (column,
|
|
67
|
-
column-reverse,
|
|
68
|
-
row-reverse,
|
|
69
|
-
),
|
|
70
|
-
"text-align": (left,
|
|
71
|
-
center,
|
|
72
|
-
right,
|
|
73
|
-
),
|
|
74
|
-
"align-items": (start,
|
|
75
|
-
center,
|
|
76
|
-
end,
|
|
77
|
-
baseline,
|
|
78
|
-
stretch,
|
|
79
|
-
),
|
|
80
|
-
"align-content": (start,
|
|
81
|
-
center,
|
|
82
|
-
end,
|
|
83
|
-
stretch,
|
|
84
|
-
baseline,
|
|
85
|
-
space-around,
|
|
86
|
-
space-between,
|
|
87
|
-
space-evenly,
|
|
88
|
-
),
|
|
89
|
-
"justify-content": (start,
|
|
90
|
-
center,
|
|
91
|
-
end,
|
|
92
|
-
space-around,
|
|
93
|
-
space-between,
|
|
94
|
-
space-evenly,
|
|
95
|
-
),
|
|
96
|
-
);
|
|
97
|
-
|
|
98
|
-
// Map som definerer maksimale bredder for sentrerte containere (`.center-*`).
|
|
99
|
-
// Brukes til å generere responsive breddebegrensninger.
|
|
100
|
-
$containers: (
|
|
101
|
-
"small": var(--container-m),
|
|
102
|
-
"medium": var(--container-l),
|
|
103
|
-
"large": var(--container-xl),
|
|
104
|
-
"xl": var(--container-2xl),
|
|
105
|
-
);
|
|
106
|
-
|
|
107
|
-
// ==========================================================================
|
|
108
|
-
// 2. Verktøy (Mixins)
|
|
109
|
-
// ==========================================================================
|
|
110
|
-
|
|
111
|
-
/// Mixin som genererer hjelpeklasser for de forskjellige egenskapene et
|
|
112
|
-
/// flex-element kan ha. For eksempel vil man for `align-items`-egenskapen
|
|
113
|
-
/// få generert ut hjelpeklasser som `.align-items-end`.
|
|
114
|
-
/// @output Hjelpeklasser for de vanligste flex-egenskapene
|
|
115
|
-
@mixin generate-utility-classes() {
|
|
116
|
-
@each $property, $values in $utility-classes {
|
|
117
|
-
@each $value in $values {
|
|
118
|
-
.#{$property}-#{$value} {
|
|
119
|
-
#{$property}: $value;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
// Mixin for å generere responsive layout-klasser basert på $asymmetric-layouts og $uniform-layouts.
|
|
126
|
-
@mixin generate-layout-classes($breakpoint) {
|
|
127
|
-
|
|
128
|
-
// --- Asymmetriske layouts ---
|
|
129
|
-
// Genererer klasser for layouts der oddetalls- og partalls-elementer har ulik bredde.
|
|
130
|
-
@each $layout, $odd-child-columns in $asymmetric-layouts {
|
|
131
|
-
$even-child-columns: 12 - $odd-child-columns;
|
|
132
|
-
|
|
133
|
-
.screen-#{$breakpoint}-#{$layout} {
|
|
134
|
-
> :where(:nth-child(odd)) {
|
|
135
|
-
--jkl-flex-layout: #{$odd-child-columns};
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
> :where(:nth-child(even)) {
|
|
139
|
-
--jkl-flex-layout: #{$even-child-columns};
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
// --- Uniforme layouts ---
|
|
145
|
-
// Genererer klasser for layouts der alle elementer har lik bredde.
|
|
146
|
-
@each $layout, $value in $uniform-layouts {
|
|
147
|
-
.screen-#{$breakpoint}-#{$layout} > * {
|
|
148
|
-
--jkl-flex-layout: #{$value};
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
// Mixin for å generere klasser for `row-gap` og `column-gap`.
|
|
155
|
-
@mixin generate-gap-classes($breakpoint) {
|
|
156
|
-
@each $spacing, $value in $jokul-spacing {
|
|
157
|
-
.screen-#{$breakpoint}-row-gap-#{$spacing} {
|
|
158
|
-
row-gap: var(--jkl-spacing-#{$spacing});
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
.screen-#{$breakpoint}-col-gap-#{$spacing} {
|
|
162
|
-
column-gap: var(--jkl-spacing-#{$spacing});
|
|
163
|
-
|
|
164
|
-
// Setter en custom property for å kunne kalkulere nøyaktig kolonnebredde
|
|
165
|
-
// i `flex-basis`, justert for `column-gap`.
|
|
166
|
-
& > * {
|
|
167
|
-
--jkl-flex-gap: var(--jkl-spacing-#{$spacing});
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
// ==========================================================================
|
|
174
|
-
// 3. Kjernestiler
|
|
175
|
-
// ==========================================================================
|
|
176
|
-
|
|
177
|
-
@layer jokul.components {
|
|
178
|
-
|
|
179
|
-
// Basisstil for alle flex-containere.
|
|
180
|
-
:is(.jkl-flex) {
|
|
181
|
-
box-sizing: border-box;
|
|
182
|
-
display: flex;
|
|
183
|
-
flex-direction: row;
|
|
184
|
-
flex-wrap: wrap;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
// Sørger for at direkte barn av .fill-elementer fyller tilgjengelig plass.
|
|
188
|
-
// :where brukes for å holde spesifisiteten lav.
|
|
189
|
-
:where(.fill > *) {
|
|
190
|
-
flex-grow: 1;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
// Definerer standardoppførsel for alle direkte elementer av en `.flex`-container.
|
|
194
|
-
:where(.jkl-flex > *) {
|
|
195
|
-
--jkl-flex-gap: 0px; // Standard gap er null.
|
|
196
|
-
--jkl-flex-layout: auto; // Standard layout er automatisk bredde.
|
|
197
|
-
|
|
198
|
-
box-sizing: border-box;
|
|
199
|
-
|
|
200
|
-
// Kalkulerer `flex-basis` for å lage et grid-system som tar hensyn til `gap`.
|
|
201
|
-
// Formelen fordeler bredden basert på antall kolonner definert av `--jkl-flex-layout`.
|
|
202
|
-
flex-basis: calc((100% - (12 / var(--jkl-flex-layout) - 1) * var(--jkl-flex-gap)) / 12 * var(--jkl-flex-layout));
|
|
203
|
-
|
|
204
|
-
// Sørger for at elementene kan krympe, for å unngå at de flyter ut av containeren.
|
|
205
|
-
min-width: calc(var(--jkl-flex-layout) * 0px);
|
|
206
|
-
min-height: calc(var(--jkl-flex-layout) * 0px);
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
// Hindrer at elementer krymper når `flex-wrap: nowrap` er satt.
|
|
210
|
-
:where(.wrap-nowrap > *) {
|
|
211
|
-
flex-shrink: calc(var(--jkl-flex-layout) * 0);
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
// ==========================================================================
|
|
216
|
-
// 4. CSS-generering
|
|
217
|
-
// ==========================================================================
|
|
218
|
-
|
|
219
|
-
@layer jokul.components {
|
|
220
|
-
@include generate-utility-classes;
|
|
221
|
-
|
|
222
|
-
// Stiler for sentrerte containere.
|
|
223
|
-
:is(.center-m, .center-l, .center-xl, .center-2xl) {
|
|
224
|
-
box-sizing: border-box;
|
|
225
|
-
margin-inline: auto;
|
|
226
|
-
width: calc(100% - var(--jkl-unit-50));
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
// Genererer responsive `max-width` for hver container-størrelse.
|
|
230
|
-
@each $size, $width in $containers {
|
|
231
|
-
@media (width >=#{map.get($jokul-breakpoints, $size)}) {
|
|
232
|
-
.center-#{$size} {
|
|
233
|
-
max-width: $width;
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
// Itererer gjennom alle definerte breakpoints for å generere responsive layout- og gap-klasser.
|
|
239
|
-
@each $breakpoint, $width in $jokul-breakpoints {
|
|
240
|
-
@if $breakpoint =="small" {
|
|
241
|
-
@include generate-layout-classes($breakpoint);
|
|
242
|
-
@include generate-gap-classes($breakpoint);
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
@else {
|
|
246
|
-
@media (width >=#{$width}) {
|
|
247
|
-
@include generate-layout-classes($breakpoint);
|
|
248
|
-
@include generate-gap-classes($breakpoint);
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
@use "../../core/jkl/index" as jkl;
|
|
2
|
-
|
|
3
|
-
.jkl-help-trigger {
|
|
4
|
-
vertical-align: middle;
|
|
5
|
-
width: fit-content;
|
|
6
|
-
height: fit-content;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
.jkl-help-popover {
|
|
10
|
-
max-width: 40ch;
|
|
11
|
-
padding: var(--jkl-unit-30);
|
|
12
|
-
margin: var(--jkl-unit-05);
|
|
13
|
-
inset: auto;
|
|
14
|
-
border: none;
|
|
15
|
-
background-color: var(--jkl-color-background-container-inverted);
|
|
16
|
-
color: var(--jkl-color-text-inverted);
|
|
17
|
-
|
|
18
|
-
header button {
|
|
19
|
-
display: none;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.title {
|
|
23
|
-
@include jkl.text-style("body") {
|
|
24
|
-
font-weight: bold;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
&[data-position="top"] {
|
|
29
|
-
position-area: top center;
|
|
30
|
-
position-try: top, bottom, right, left;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
&[data-position="bottom"] {
|
|
34
|
-
position-area: bottom center;
|
|
35
|
-
position-try: bottom, top, right, left;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
&[data-position="left"] {
|
|
39
|
-
position-area: left center;
|
|
40
|
-
position-try: left, right, top, bottom;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
&[data-position="right"] {
|
|
44
|
-
position-area: right center;
|
|
45
|
-
position-try: right, left, top, bottom;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
@charset "UTF-8";
|
|
2
|
-
@use "../../core/jkl";
|
|
3
|
-
|
|
4
|
-
/// Vi tilbyr dette som en mixin for å kunne være konsekvent i stilsettingen
|
|
5
|
-
/// av ikoner også der man ikke kan bruke jkl-icon-klassen.
|
|
6
|
-
/// @output Basestiler for Jøkul-ikoner
|
|
7
|
-
@mixin base-styles {
|
|
8
|
-
font-family: "Fremtind Material Symbols", "Fremtind Material Symbols Fallback", sans-serif;
|
|
9
|
-
font-variation-settings: "FILL" var(--jkl-icon-fill, 0),
|
|
10
|
-
"GRAD" var(--jkl-icon-grade, 0), "opsz" var(--jkl-icon-opsz, 24);
|
|
11
|
-
font-feature-settings: "liga";
|
|
12
|
-
-webkit-font-feature-settings: "liga";
|
|
13
|
-
font-size: var(--jkl-icon-size, #{jkl.rem(24px)});
|
|
14
|
-
font-weight: var(--jkl-icon-weight, #{jkl.$icon-weight-normal});
|
|
15
|
-
line-height: 1;
|
|
16
|
-
display: inline-block;
|
|
17
|
-
-webkit-font-smoothing: antialiased;
|
|
18
|
-
|
|
19
|
-
@include jkl.motion("standard", "productive");
|
|
20
|
-
transition-property: font-variation-settings, transform;
|
|
21
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@forward "icon";
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
@charset "UTF-8";
|
|
2
|
-
@use "../../core/jkl";
|
|
3
|
-
@use "./base-styles" as *;
|
|
4
|
-
|
|
5
|
-
@layer jokul.theme {
|
|
6
|
-
@include jkl.light-mode-variables {
|
|
7
|
-
--jkl-icon-grade: 0;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
@include jkl.dark-mode-variables {
|
|
11
|
-
--jkl-icon-grade: -25;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
@layer jokul.components {
|
|
16
|
-
.jkl-icon {
|
|
17
|
-
--jkl-icon-fill: 0;
|
|
18
|
-
|
|
19
|
-
@include base-styles;
|
|
20
|
-
|
|
21
|
-
&--bold {
|
|
22
|
-
--jkl-icon-weight: #{jkl.$icon-weight-bold};
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
&--filled {
|
|
26
|
-
--jkl-icon-fill: 1;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
&--medium {
|
|
30
|
-
--jkl-icon-opsz: 24;
|
|
31
|
-
--jkl-icon-size: #{jkl.rem(24px)};
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
&--small {
|
|
35
|
-
--jkl-icon-opsz: 20;
|
|
36
|
-
--jkl-icon-size: #{jkl.rem(20px)};
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
&--inherit {
|
|
40
|
-
--jkl-icon-opsz: 20;
|
|
41
|
-
--jkl-icon-size: 1.2em;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
&--animated {
|
|
45
|
-
display: block;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
.jkl-icon-red-cross {
|
|
50
|
-
--red-cross-circle: var(--jkl-color-background-alert-error);
|
|
51
|
-
--red-cross-path: var(--jkl-color-text-on-alert);
|
|
52
|
-
|
|
53
|
-
width: jkl.rem(24px);
|
|
54
|
-
height: jkl.rem(24px);
|
|
55
|
-
|
|
56
|
-
& path {
|
|
57
|
-
fill: var(--red-cross-path);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
& circle {
|
|
61
|
-
fill: var(--red-cross-circle);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.jkl-icon-green-check {
|
|
66
|
-
--green-check-circle: var(--jkl-color-background-alert-success);
|
|
67
|
-
--green-check-path: var(--jkl-color-text-on-alert);
|
|
68
|
-
|
|
69
|
-
width: jkl.rem(24px);
|
|
70
|
-
height: jkl.rem(24px);
|
|
71
|
-
|
|
72
|
-
& path {
|
|
73
|
-
fill: var(--green-check-path);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
& circle {
|
|
77
|
-
fill: var(--green-check-circle);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
.jkl-animated-horizontal-arrows,
|
|
82
|
-
.jkl-animated-vertical-arrows {
|
|
83
|
-
overflow: hidden;
|
|
84
|
-
width: var(--jkl-icon-size, #{jkl.rem(24px)});
|
|
85
|
-
height: var(--jkl-icon-size, #{jkl.rem(24px)});
|
|
86
|
-
|
|
87
|
-
&__slider {
|
|
88
|
-
display: flex;
|
|
89
|
-
|
|
90
|
-
@include jkl.motion(standard, expressive);
|
|
91
|
-
transition-delay: calc(#{jkl.timing("expressive")} * (1 / 3));
|
|
92
|
-
transition-property: transform;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
&__arrow {
|
|
96
|
-
flex-shrink: 0;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
.jkl-animated-vertical-arrows__slider {
|
|
101
|
-
flex-direction: column;
|
|
102
|
-
height: calc(var(--jkl-icon-size, #{jkl.rem(24px)}) * 2);
|
|
103
|
-
|
|
104
|
-
&[data-show="up"] {
|
|
105
|
-
transform: translate3d(0, 0, 0);
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
&[data-show="down"] {
|
|
109
|
-
transform: translate3d(0, -50%, 0);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
.jkl-animated-horizontal-arrows__slider {
|
|
114
|
-
flex-direction: row;
|
|
115
|
-
width: calc(var(--jkl-icon-size, #{jkl.rem(24px)}) * 2);
|
|
116
|
-
|
|
117
|
-
&[data-show="left"] {
|
|
118
|
-
transform: translate3d(0, 0, 0);
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
&[data-show="right"] {
|
|
122
|
-
transform: translate3d(-50%, 0, 0);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
.jkl-icons-animated__plus {
|
|
127
|
-
@include jkl.motion("easeInBounceOut", "expressive");
|
|
128
|
-
transition-property: transform;
|
|
129
|
-
transform-origin: 50% 50%;
|
|
130
|
-
|
|
131
|
-
&--plus {
|
|
132
|
-
transform: rotate(0);
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
&--close {
|
|
136
|
-
transform: rotate(135deg);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@forward "icon-button";
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
@charset "UTF-8";
|
|
2
|
-
@use "../../core/jkl";
|
|
3
|
-
|
|
4
|
-
@layer jokul.components {
|
|
5
|
-
.jkl-icon-button {
|
|
6
|
-
background-color: transparent;
|
|
7
|
-
cursor: pointer;
|
|
8
|
-
color: inherit;
|
|
9
|
-
position: relative;
|
|
10
|
-
transition-property: box-shadow;
|
|
11
|
-
padding: 0;
|
|
12
|
-
|
|
13
|
-
@include jkl.motion(focus, snappy);
|
|
14
|
-
@include jkl.reset-outline;
|
|
15
|
-
|
|
16
|
-
.jkl-icon {
|
|
17
|
-
display: flex;
|
|
18
|
-
align-items: center;
|
|
19
|
-
|
|
20
|
-
&--animated {
|
|
21
|
-
display: revert;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
&:focus-visible {
|
|
26
|
-
@include jkl.focus-outline;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
&:hover {
|
|
30
|
-
color: var(--jkl-color-text-interactive-hover);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
@include jkl.forced-colors-mode {
|
|
34
|
-
border: none;
|
|
35
|
-
background: none;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@forward "image";
|