@fremtind/jokul 3.5.2 → 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/components/table/TableHeader.cjs +1 -1
- package/build/cjs/components/table/TableHeader.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/components/table/TableHeader.js +1 -1
- package/build/es/components/table/TableHeader.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/table/table.css +6 -6
- package/styles/components/table/table.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 +40 -40
- 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,128 +0,0 @@
|
|
|
1
|
-
@charset "UTF-8";
|
|
2
|
-
@use "sass:color";
|
|
3
|
-
@use "sass:math";
|
|
4
|
-
@use "../../core/jkl/index" as jkl;
|
|
5
|
-
@use "../../core/jkl/colors";
|
|
6
|
-
|
|
7
|
-
@include jkl.compact-density-variables {
|
|
8
|
-
--jkl-select-input-height: #{jkl.$unit-40};
|
|
9
|
-
--jkl-select-button-padding: #{jkl.$unit-05} #{jkl.$unit-40} #{jkl.$unit-05}
|
|
10
|
-
#{jkl.$unit-10};
|
|
11
|
-
--jkl-select-arrow-right: #{jkl.$unit-05};
|
|
12
|
-
--jkl-select-search-input-padding: #{jkl.$unit-05} #{jkl.$unit-10};
|
|
13
|
-
--jkl-select-native-padding: #{jkl.$unit-05} #{jkl.$unit-30} #{jkl.$unit-05}
|
|
14
|
-
#{jkl.$unit-05};
|
|
15
|
-
--jkl-select-option-padding: #{jkl.$unit-05} #{jkl.$unit-10};
|
|
16
|
-
|
|
17
|
-
@include jkl.declare-font-variables("jkl-select", "small");
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
@include jkl.comfortable-density-variables {
|
|
21
|
-
--jkl-select-input-height: #{jkl.$unit-60};
|
|
22
|
-
--jkl-select-button-padding: #{jkl.$unit-10} #{jkl.rem(36px)} #{jkl.$unit-10}
|
|
23
|
-
#{jkl.$unit-15};
|
|
24
|
-
--jkl-select-arrow-right: #{jkl.$unit-02};
|
|
25
|
-
--jkl-select-search-input-padding: var(--jkl-select-button-padding);
|
|
26
|
-
--jkl-select-native-padding: 0 #{jkl.$unit-50} 0 #{jkl.$unit-10};
|
|
27
|
-
--jkl-select-option-padding: #{jkl.$unit-10} #{jkl.$unit-15};
|
|
28
|
-
|
|
29
|
-
@include jkl.declare-font-variables("jkl-select", "body");
|
|
30
|
-
|
|
31
|
-
@include jkl.small-device {
|
|
32
|
-
--jkl-select-input-height: #{jkl.rem(44px)};
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
.jkl-select--beta {
|
|
37
|
-
--border-color: var(--jkl-color-border-input);
|
|
38
|
-
--background-color: var(transparent);
|
|
39
|
-
--color: var(--jkl-color-text-default);
|
|
40
|
-
--box-shadow: 0 0 0 jkl.rem(1px) transparent;
|
|
41
|
-
|
|
42
|
-
display: block;
|
|
43
|
-
position: relative;
|
|
44
|
-
|
|
45
|
-
@include jkl.reset-outline;
|
|
46
|
-
|
|
47
|
-
& *:focus-visible {
|
|
48
|
-
outline: none;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
& .jkl-tooltip-question-button:focus {
|
|
52
|
-
@include jkl.focus-outline($offset: 0);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
&-wrapper {
|
|
56
|
-
display: grid;
|
|
57
|
-
grid-template-columns: 1fr auto;
|
|
58
|
-
align-items: center;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
& select,
|
|
62
|
-
& .jkl-icon {
|
|
63
|
-
grid-row: 1;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
& select {
|
|
67
|
-
// State variables
|
|
68
|
-
background-color: var(--background-color);
|
|
69
|
-
color: var(--color);
|
|
70
|
-
border-color: var(--border-color);
|
|
71
|
-
box-shadow: var(--box-shadow);
|
|
72
|
-
|
|
73
|
-
// Mode variables
|
|
74
|
-
padding: var(--jkl-select-button-padding);
|
|
75
|
-
height: var(--jkl-select-input-height);
|
|
76
|
-
|
|
77
|
-
grid-column: 1 / -1;
|
|
78
|
-
appearance: none;
|
|
79
|
-
overflow: hidden;
|
|
80
|
-
text-overflow: ellipsis;
|
|
81
|
-
white-space: nowrap;
|
|
82
|
-
cursor: pointer;
|
|
83
|
-
border-radius: jkl.rem(3px);
|
|
84
|
-
border: jkl.rem(1px) solid;
|
|
85
|
-
text-align: left;
|
|
86
|
-
width: 100%;
|
|
87
|
-
transition-property: color, border-color, box-shadow;
|
|
88
|
-
|
|
89
|
-
&:has(option:checked[value=""]) {
|
|
90
|
-
--color: var(--jkl-color-text-subdued);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
&:hover {
|
|
94
|
-
--border-color: var(--jkl-color-border-input-focus);
|
|
95
|
-
--box-shadow: 0 0 0 jkl.rem(1px) var(--jkl-color-border-input-focus);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
&:invalid {
|
|
99
|
-
--background-color: var(--jkl-color-background-alert-error);
|
|
100
|
-
--color: var(--jkl-color-text-on-alert-subdued);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
&:focus-visible {
|
|
104
|
-
outline: none;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
@include jkl.motion;
|
|
108
|
-
@include jkl.use-font-variables("jkl-select");
|
|
109
|
-
@include jkl.keyboard-navigation {
|
|
110
|
-
&:focus-visible,
|
|
111
|
-
&:has(:focus-visible) {
|
|
112
|
-
@include jkl.focus-outline;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
&:has(:focus-visible) {
|
|
116
|
-
select {
|
|
117
|
-
@include jkl.focus-outline;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
& .jkl-icon {
|
|
124
|
-
pointer-events: none;
|
|
125
|
-
grid-column: 2;
|
|
126
|
-
padding-inline-end: var(--jkl-select-arrow-right);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
@use "../../core/jkl";
|
|
2
|
-
|
|
3
|
-
@include jkl.comfortable-density-variables {
|
|
4
|
-
--ordered-item-padding: var(--jkl-unit-10);
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
@include jkl.compact-density-variables {
|
|
8
|
-
--ordered-item-padding: var(--jkl-unit-05);
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.jkl-table-of-contents--beta {
|
|
12
|
-
--border: 1px solid var(--jkl-color-border-separator);
|
|
13
|
-
--text-color: var(--jkl-color-text-default);
|
|
14
|
-
|
|
15
|
-
.jkl-table-of-contents-title {
|
|
16
|
-
margin-block-end: var(--jkl-unit-05);
|
|
17
|
-
@include jkl.text-style("small");
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
& ol {
|
|
21
|
-
display: flex;
|
|
22
|
-
flex-direction: column;
|
|
23
|
-
width: 100%;
|
|
24
|
-
padding: 0;
|
|
25
|
-
margin: 0;
|
|
26
|
-
height: min-content;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
& .jkl-table-of-contents-item {
|
|
30
|
-
display: flex;
|
|
31
|
-
|
|
32
|
-
&:not(:last-of-type) {
|
|
33
|
-
.jkl-table-of-contents-link {
|
|
34
|
-
border-block-end: var(--border);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
& .jkl-table-of-contents-link {
|
|
40
|
-
display: flex;
|
|
41
|
-
align-items: center;
|
|
42
|
-
gap: var(--jkl-unit-20);
|
|
43
|
-
width: 100%;
|
|
44
|
-
text-decoration: none;
|
|
45
|
-
color: var(--text-color);
|
|
46
|
-
text-wrap: balance;
|
|
47
|
-
box-sizing: border-box;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
&:has(ol) {
|
|
51
|
-
.jkl-table-of-contents-title {
|
|
52
|
-
@include jkl.screenreader-only()
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
& ol {
|
|
57
|
-
border-block: var(--border);
|
|
58
|
-
counter-reset: table-of-contents;
|
|
59
|
-
|
|
60
|
-
&:has(.jkl-table-of-contents-link:is(:hover, :focus-visible)) {
|
|
61
|
-
--text-color: rgb(from currentColor r g b / 0.6);
|
|
62
|
-
|
|
63
|
-
.jkl-table-of-contents-link:is(:hover, :focus-visible) {
|
|
64
|
-
--text-color: rgb(from currentColor r g b / 1);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
& .jkl-table-of-contents-item {
|
|
69
|
-
counter-increment: table-of-contents;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
& .jkl-table-of-contents-link {
|
|
73
|
-
padding-inline-end: var(--jkl-unit-20);
|
|
74
|
-
padding-block: var(--ordered-item-padding);
|
|
75
|
-
|
|
76
|
-
@include jkl.motion("standard", "productive");
|
|
77
|
-
transition-property: color;
|
|
78
|
-
|
|
79
|
-
&::before {
|
|
80
|
-
content: counter(table-of-contents, decimal-leading-zero);
|
|
81
|
-
|
|
82
|
-
@include jkl.use-font-family("Fremtind Grotesk Mono");
|
|
83
|
-
color: inherit;
|
|
84
|
-
font-size: var(--jkl-small-font-size);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
package/styles/core/_layers.scss
DELETED
package/styles/core/core.scss
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
@use "../jkl";
|
|
2
|
-
|
|
3
|
-
@layer jokul.global {
|
|
4
|
-
/* Legger til støtte for fontskalering via OS-innstillinger på Apple-enheter */
|
|
5
|
-
@supports (font: -apple-system-body) {
|
|
6
|
-
:root {
|
|
7
|
-
/* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */
|
|
8
|
-
font: -apple-system-body;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.jkl {
|
|
13
|
-
-webkit-font-smoothing: antialiased;
|
|
14
|
-
-moz-osx-font-smoothing: grayscale;
|
|
15
|
-
|
|
16
|
-
background-color: var(--jkl-background-color);
|
|
17
|
-
color: var(--jkl-color);
|
|
18
|
-
|
|
19
|
-
@include jkl.use-font-family("Fremtind Grotesk");
|
|
20
|
-
|
|
21
|
-
strong {
|
|
22
|
-
--jkl-icon-weight: #{jkl.$icon-weight-bold};
|
|
23
|
-
font-weight: jkl.$typography-weight-bold;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
@include jkl.prefers-reduced-motion {
|
|
28
|
-
*,
|
|
29
|
-
*::after,
|
|
30
|
-
*::before {
|
|
31
|
-
animation-duration: 0ms !important;
|
|
32
|
-
animation-delay: 0ms !important;
|
|
33
|
-
transition: none !important;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
@use "../jkl";
|
|
2
|
-
|
|
3
|
-
@layer jokul.global {
|
|
4
|
-
[popover] {
|
|
5
|
-
opacity: 0;
|
|
6
|
-
transition: opacity,
|
|
7
|
-
overlay allow-discrete,
|
|
8
|
-
display allow-discrete;
|
|
9
|
-
|
|
10
|
-
@include jkl.motion("standard", "productive");
|
|
11
|
-
|
|
12
|
-
&:popover-open {
|
|
13
|
-
opacity: 1;
|
|
14
|
-
|
|
15
|
-
@starting-style {
|
|
16
|
-
opacity: 0;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
@use "sass:map";
|
|
2
|
-
@use "./legacy" as *;
|
|
3
|
-
|
|
4
|
-
/// @type Color
|
|
5
|
-
$color-focus-color: $color-granitt;
|
|
6
|
-
|
|
7
|
-
/// @type Color
|
|
8
|
-
$color-focus-color--darkbg: $color-snohvit;
|
|
9
|
-
|
|
10
|
-
// Varslingsfarger / Meldingsfarger.
|
|
11
|
-
// Kun til bruk som bakgrunn i komponenter som gir varslinger til bruker.
|
|
12
|
-
$_varslingsfarger: (
|
|
13
|
-
"suksess": var(--jkl-success),
|
|
14
|
-
"feil": var(--jkl-error),
|
|
15
|
-
"info": var(--jkl-info),
|
|
16
|
-
"advarsel": var(--jkl-warning),
|
|
17
|
-
);
|
|
18
|
-
|
|
19
|
-
/// Hent fargekoden til en navngitt varslingsfarge
|
|
20
|
-
/// @param {"suksess" | "feil" | "info" | "advarsel"} $farge - Navn på fargen du ønsker verdien til
|
|
21
|
-
/// @deprecated Bruk tokens direkte ($color-success, $color-error, $color-info, $color-warning)
|
|
22
|
-
/// @return {Color} - fargekoden til den ønskede fargen
|
|
23
|
-
/// @access private - forwardes ikke ut av modulen, men er tilgjengelig ved direkteimport. KUN FOR INTERN BRUK I JØKUL.
|
|
24
|
-
@function varslingsfarge($farge) {
|
|
25
|
-
@return map.get($_varslingsfarger, $farge);
|
|
26
|
-
}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
@use "sass:color";
|
|
2
|
-
@use "sass:list";
|
|
3
|
-
@use "sass:map";
|
|
4
|
-
@use "sass:math";
|
|
5
|
-
@use "sass:meta";
|
|
6
|
-
@use "sass:string";
|
|
7
|
-
|
|
8
|
-
/// Casts a string into a number
|
|
9
|
-
/// https://hugogiraudel.com/2014/01/15/sass-string-to-number/
|
|
10
|
-
/// @author Hugo Giraudel
|
|
11
|
-
/// @param {String | Number} $value - Value to be parsed
|
|
12
|
-
/// @return {Number} - $value converted to a number
|
|
13
|
-
@function to-number($value) {
|
|
14
|
-
@if meta.type-of($value) == "number" {
|
|
15
|
-
@return $value;
|
|
16
|
-
} @else if meta.type-of($value) != "string" {
|
|
17
|
-
@warn "Value for `to-number` should be a number or a string.";
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
$result: 0;
|
|
21
|
-
$digits: 0;
|
|
22
|
-
$minus: string.slice($value, 1, 1) == "-";
|
|
23
|
-
$numbers: (
|
|
24
|
-
"0": 0,
|
|
25
|
-
"1": 1,
|
|
26
|
-
"2": 2,
|
|
27
|
-
"3": 3,
|
|
28
|
-
"4": 4,
|
|
29
|
-
"5": 5,
|
|
30
|
-
"6": 6,
|
|
31
|
-
"7": 7,
|
|
32
|
-
"8": 8,
|
|
33
|
-
"9": 9,
|
|
34
|
-
);
|
|
35
|
-
|
|
36
|
-
@for $i from if($minus, 2, 1) through string.length($value) {
|
|
37
|
-
$character: string.slice($value, $i, $i);
|
|
38
|
-
|
|
39
|
-
@if not(list.index(map.keys($numbers), $character) or $character == ".")
|
|
40
|
-
{
|
|
41
|
-
@return to-length(
|
|
42
|
-
if($minus, -$result, $result),
|
|
43
|
-
string.slice($value, $i)
|
|
44
|
-
);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
@if $character == "." {
|
|
48
|
-
$digits: 1;
|
|
49
|
-
} @else if $digits == 0 {
|
|
50
|
-
$result: $result * 10 + map.get($numbers, $character);
|
|
51
|
-
} @else {
|
|
52
|
-
$digits: $digits * 10;
|
|
53
|
-
$result: $result + math.div(map.get($numbers, $character), $digits);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
@return if($minus, -$result, $result);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/// Add `$unit` to `$value`
|
|
61
|
-
/// @param {Number} $value - Value to add unit to
|
|
62
|
-
/// @param {String} $unit - String representation of the unit
|
|
63
|
-
/// @return {Number} - `$value` expressed in `$unit`
|
|
64
|
-
@function to-length($value, $unit) {
|
|
65
|
-
$units: (
|
|
66
|
-
"px": 1px,
|
|
67
|
-
"cm": 1cm,
|
|
68
|
-
"mm": 1mm,
|
|
69
|
-
"%": 1%,
|
|
70
|
-
"ch": 1ch,
|
|
71
|
-
"pc": 1pc,
|
|
72
|
-
"in": 1in,
|
|
73
|
-
"em": 1em,
|
|
74
|
-
"rem": 1rem,
|
|
75
|
-
"pt": 1pt,
|
|
76
|
-
"ex": 1ex,
|
|
77
|
-
"vw": 1vw,
|
|
78
|
-
"vh": 1vh,
|
|
79
|
-
"vmin": 1vmin,
|
|
80
|
-
"vmax": 1vmax,
|
|
81
|
-
);
|
|
82
|
-
|
|
83
|
-
@if not list.index(map.keys($units), $unit) {
|
|
84
|
-
@warn "Invalid unit `#{$unit}`.";
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
@return $value * map.get($units, $unit);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
/// Gjør en fargeverdi URL-safe, for eksempel til bruk i inline SVG
|
|
91
|
-
/// @param {Color} $color - Sass fargetype. Kan være HEX, hsl, hsla, rgb eller rgba.
|
|
92
|
-
/// @return {String} - input konvertert til en URL-safe HEX-verdi
|
|
93
|
-
@function urlencodecolor($color) {
|
|
94
|
-
@if meta.type-of($color) == "color" and string.index(#{$color}, "#") == 1 {
|
|
95
|
-
$hex: string.slice(color.ie-hex-str($color), 4);
|
|
96
|
-
$converted-color: string.unquote("#{$hex}");
|
|
97
|
-
|
|
98
|
-
@return "%23" + $converted-color;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
@return $color;
|
|
102
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/// Gjør flexbox litt mindre verbos. Setter display: flex; med gitt align-items og justify-content.
|
|
2
|
-
/// @param {String} $align-items [center] – settes på align-items
|
|
3
|
-
/// @param {String} $justify-content [center] – settes på justify-content
|
|
4
|
-
/// @output display: flex og angitt align-items og justify-content
|
|
5
|
-
@mixin flex($align-items: center, $justify-content: center) {
|
|
6
|
-
display: flex;
|
|
7
|
-
align-items: $align-items;
|
|
8
|
-
justify-content: $justify-content;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
/// Samle alt som har med posisjonering å gjøre i én mixin. Alle parameternavn matcher CSS-attributtet.
|
|
12
|
-
/// @param {String} $position
|
|
13
|
-
/// @param {String} $top [initial]
|
|
14
|
-
/// @param {String} $left [initial]
|
|
15
|
-
/// @param {String} $right [initial]
|
|
16
|
-
/// @param {String} $bottom [initial]
|
|
17
|
-
@mixin position(
|
|
18
|
-
$position,
|
|
19
|
-
$top: initial,
|
|
20
|
-
$left: initial,
|
|
21
|
-
$right: initial,
|
|
22
|
-
$bottom: initial
|
|
23
|
-
) {
|
|
24
|
-
position: $position;
|
|
25
|
-
inset: $top $right $bottom $left;
|
|
26
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
@forward "legacy";
|
|
2
|
-
@forward "colors" hide varslingsfarge;
|
|
3
|
-
@forward "convert";
|
|
4
|
-
@forward "helpers";
|
|
5
|
-
@forward "motion";
|
|
6
|
-
@forward "navigation";
|
|
7
|
-
@forward "ornaments";
|
|
8
|
-
@forward "reset";
|
|
9
|
-
@forward "responsive-units";
|
|
10
|
-
@forward "screenreader";
|
|
11
|
-
@forward "screens";
|
|
12
|
-
@forward "shadows";
|
|
13
|
-
@forward "spacing" hide $spacing, $combinations, $positions;
|
|
14
|
-
@forward "theme";
|
|
15
|
-
@forward "tokens" hide $color-background-page, $color-border-subdued, $color-text-default, $color-text-subdued;
|
|
16
|
-
@forward "typography" hide $text-styles;
|
|
17
|
-
@forward "underline";
|
|
18
|
-
@forward "z-index";
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
@use "sass:map";
|
|
2
|
-
@use "sass:list";
|
|
3
|
-
|
|
4
|
-
// Oppdater verdier i motion.ts også
|
|
5
|
-
$_easings: (
|
|
6
|
-
"standard": ease,
|
|
7
|
-
"entrance": ease-out,
|
|
8
|
-
"exit": ease-in,
|
|
9
|
-
"easeInBounceOut": cubic-bezier(0, 0, 0.375, 1.17),
|
|
10
|
-
"focus": cubic-bezier(0.6, 0.2, 0.35, 1),
|
|
11
|
-
);
|
|
12
|
-
|
|
13
|
-
/// Hent en easing til bruk i animasjoner. Se også `timing`-funksjonen og `motion`-mixinen.
|
|
14
|
-
/// @param {"standard" | "entrance" | "exit" | "easeInBounceOut" | "focus"} $name - Navn på easingen du ønsker verdien til
|
|
15
|
-
/// @return {String} - easingverdi til bruk i animasjoner
|
|
16
|
-
/// @see timing
|
|
17
|
-
/// @see motion
|
|
18
|
-
@function easing($name, $easings: $_easings) {
|
|
19
|
-
@if map.has-key($easings, $name) {
|
|
20
|
-
@return map.get($easings, $name);
|
|
21
|
-
} @else {
|
|
22
|
-
@error 'Unable to find an easing named #{$name} in our supported easings.';
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// Oppdater verdier i motion.ts også
|
|
27
|
-
$_timings: (
|
|
28
|
-
"energetic": 75ms,
|
|
29
|
-
"snappy": 100ms,
|
|
30
|
-
"productive": 150ms,
|
|
31
|
-
"polite": 200ms,
|
|
32
|
-
"expressive": 250ms,
|
|
33
|
-
"lazy": 400ms,
|
|
34
|
-
);
|
|
35
|
-
|
|
36
|
-
/// Hent en timing til bruk i animasjoner. Se også `easing`-funksjonen og `motion`-mixinen.
|
|
37
|
-
/// @param {"energetic" | "snappy" | "productive" | "expressive" | "lazy"} $mode - Navn på timingen du ønsker verdien til
|
|
38
|
-
/// @return {String} - timingverdi til bruk i animasjoner
|
|
39
|
-
/// @see easing
|
|
40
|
-
/// @see motion
|
|
41
|
-
@function timing($mode, $timings: $_timings) {
|
|
42
|
-
@if map.has-key($timings, $mode) {
|
|
43
|
-
@return map.get($timings, $mode);
|
|
44
|
-
} @else {
|
|
45
|
-
@error 'Unable to find a timing named #{$mode} in our supported timings';
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/// Setter transition-timing-function og transition-duration, for bruk i animasjoner.
|
|
50
|
-
/// Se også `timing`- og `easing`-funksjonene.
|
|
51
|
-
/// @param {"standard" | "entrance" | "exit" | "easeInBounceOut" | "focus"} $name [standard] - Navn på easingen du ønsker verdien til
|
|
52
|
-
/// @param {"energetic" | "snappy" | "productive" | "expressive" | "lazy"} $mode [productive] - Navn på timingen du ønsker verdien til
|
|
53
|
-
/// @param $properties - Kommaseparert liste over egenskapene du ønsker å animere
|
|
54
|
-
/// @see easing
|
|
55
|
-
/// @see timing
|
|
56
|
-
@mixin motion($name: "standard", $mode: "productive", $properties...) {
|
|
57
|
-
transition-timing-function: easing($name);
|
|
58
|
-
transition-duration: timing($mode);
|
|
59
|
-
|
|
60
|
-
@if list.length($properties) > 0 {
|
|
61
|
-
transition-property: $properties;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/// Brukes for CSS som skal gjelde bare ved tastaturnavigasjon.
|
|
2
|
-
/// Brukes typisk til ekstra tydelige fokus-stiler. Krever at
|
|
3
|
-
/// `initTabListener()` fra core er kjørt. Se README til core.
|
|
4
|
-
/// @content Innholdet plasseres i en selector som bare matcher dersom vi _ikke_ har data-mousenavigation eller data-touchnavigation på html-elementet.
|
|
5
|
-
@mixin keyboard-navigation {
|
|
6
|
-
@at-root html:not([data-mousenavigation]):not([data-touchnavigation]) #{&} {
|
|
7
|
-
@content;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
@use "motion";
|
|
2
|
-
|
|
3
|
-
@mixin chevron($size, $color, $weight: 0.125rem, $rotate: 0, $state: closed) {
|
|
4
|
-
box-sizing: border-box;
|
|
5
|
-
width: $size;
|
|
6
|
-
height: $size;
|
|
7
|
-
|
|
8
|
-
transform-origin: 26.33% 73.66%; // places origin in center of chevron
|
|
9
|
-
transform: rotate(
|
|
10
|
-
(-45 + $rotate) * 1deg
|
|
11
|
-
); // default orientation is pointing down
|
|
12
|
-
|
|
13
|
-
border-left: $weight solid $color;
|
|
14
|
-
border-bottom: $weight solid $color;
|
|
15
|
-
transition: transform motion.timing("lazy") ease;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
@mixin decorative($content) {
|
|
19
|
-
// Detaljer finnes her: https://github.com/fremtind/jokul/issues/2774#issuecomment-1056575107
|
|
20
|
-
content: $content; // Fallback for nettlesere som ikke støtter ny syntaks (Firefox, Safari)
|
|
21
|
-
content: $content / ""; // Tom alternativ tekst
|
|
22
|
-
alt: " "; // WebKit-alternativ, fases ut når varianten fra speccen er støttet
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
@mixin focus-outline($offset: 3px, $thickness: 3px) {
|
|
26
|
-
outline: $thickness solid var(--jkl-color-border-action);
|
|
27
|
-
outline-offset: $offset;
|
|
28
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
@use "theme";
|
|
2
|
-
|
|
3
|
-
/// En omfattende reset for alt av outlines og borders på interaktive elementer
|
|
4
|
-
@mixin reset-outline {
|
|
5
|
-
& {
|
|
6
|
-
outline: 0;
|
|
7
|
-
border-style: none;
|
|
8
|
-
outline-style: none;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
&:active,
|
|
12
|
-
&:hover,
|
|
13
|
-
&:focus {
|
|
14
|
-
outline: 0;
|
|
15
|
-
outline-style: none;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
// Reset alt som er gjort over hvis brukeren har på forced-colors.
|
|
19
|
-
// Da mister vi box-shadow og er avhengig av at borders og outlines synes.
|
|
20
|
-
@include theme.forced-colors-mode {
|
|
21
|
-
outline: revert;
|
|
22
|
-
border-style: revert;
|
|
23
|
-
outline-style: revert;
|
|
24
|
-
|
|
25
|
-
&:active,
|
|
26
|
-
&:hover,
|
|
27
|
-
&:focus {
|
|
28
|
-
outline: revert;
|
|
29
|
-
outline-style: revert;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/// Removes increment and decrement buttons
|
|
35
|
-
/// for number input fields.
|
|
36
|
-
@mixin remove-inner-outer-button {
|
|
37
|
-
input[type="number"]::-webkit-outer-spin-button,
|
|
38
|
-
input[type="number"]::-webkit-inner-spin-button {
|
|
39
|
-
-webkit-appearance: none;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
input[type="number"] {
|
|
43
|
-
-moz-appearance: textfield;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
@use "sass:math";
|
|
2
|
-
@use "convert";
|
|
3
|
-
|
|
4
|
-
/// Kalkuler riktig rem-verdi basert på en gitt pixelverdi
|
|
5
|
-
/// @param {Number} $px-size - Pixelverdi, helst med unit
|
|
6
|
-
/// @return {Number} - Pixelverdien konvertert til rem
|
|
7
|
-
/// @example
|
|
8
|
-
/// jkl.rem(16px);
|
|
9
|
-
@function rem($px-size) {
|
|
10
|
-
@if $px-size == 0 {
|
|
11
|
-
@return 0;
|
|
12
|
-
}
|
|
13
|
-
$rem-size: math.div($px-size, 16px);
|
|
14
|
-
// Default font size on html element is 100%, equivalent to 16px;
|
|
15
|
-
@return convert.to-number(#{$rem-size}rem);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/// Calculate a responsive size value relative to a given screen size
|
|
19
|
-
/// Will return a CSS rule that corresponds to the given pixel size at
|
|
20
|
-
/// the given screen size and scales with changes in screen size
|
|
21
|
-
/// @param {Number} $px-size - Size to calculate from, in px without unit
|
|
22
|
-
/// @param {Number} $screen-width - Screen width to calculate from, in px without unit, default 1400
|
|
23
|
-
/// @param {Number} $screen-height - Screen height to calculate from, in px without unit, default 900
|
|
24
|
-
/// @return {Number} - Input expressed as a responsive value
|
|
25
|
-
@function relative-size($px-size, $screen-width: 1400, $screen-height: 900) {
|
|
26
|
-
$hor-size: math.div($px-size, $screen-width) * 100 * 1vw;
|
|
27
|
-
$ver-size: math.div($px-size, $screen-height) * 100 * 1vh;
|
|
28
|
-
|
|
29
|
-
@return min(#{$hor-size}, #{$ver-size});
|
|
30
|
-
}
|