@fremtind/jokul 0.1.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/LICENSE +21 -0
- package/build/build-stats.html +4842 -0
- package/build/cjs/components/ScreenReaderOnly.js +2 -0
- package/build/cjs/components/ScreenReaderOnly.js.map +1 -0
- package/build/cjs/components/SlotComponent.js +2 -0
- package/build/cjs/components/SlotComponent.js.map +1 -0
- package/build/cjs/components/index.js +2 -0
- package/build/cjs/components/index.js.map +1 -0
- package/build/cjs/components/navigation/Link.js +2 -0
- package/build/cjs/components/navigation/Link.js.map +1 -0
- package/build/cjs/components/navigation/NavLink.js +2 -0
- package/build/cjs/components/navigation/NavLink.js.map +1 -0
- package/build/cjs/components/navigation/index.js +2 -0
- package/build/cjs/components/navigation/index.js.map +1 -0
- package/build/cjs/core/as-child.js +2 -0
- package/build/cjs/core/as-child.js.map +1 -0
- package/build/cjs/core/index.js +2 -0
- package/build/cjs/core/index.js.map +1 -0
- package/build/cjs/core/polymorphism.js +2 -0
- package/build/cjs/core/polymorphism.js.map +1 -0
- package/build/cjs/core/tokens.js +2 -0
- package/build/cjs/core/tokens.js.map +1 -0
- package/build/cjs/core/types.js +2 -0
- package/build/cjs/core/types.js.map +1 -0
- package/build/cjs/core/utils/breakpoints.js +2 -0
- package/build/cjs/core/utils/breakpoints.js.map +1 -0
- package/build/cjs/core/utils/density.js +2 -0
- package/build/cjs/core/utils/density.js.map +1 -0
- package/build/cjs/core/utils/getValuePair.js +2 -0
- package/build/cjs/core/utils/getValuePair.js.map +1 -0
- package/build/cjs/core/utils/index.js +2 -0
- package/build/cjs/core/utils/index.js.map +1 -0
- package/build/cjs/core/utils/mergeProps.js +2 -0
- package/build/cjs/core/utils/mergeProps.js.map +1 -0
- package/build/cjs/core/utils/mergeRefs.js +2 -0
- package/build/cjs/core/utils/mergeRefs.js.map +1 -0
- package/build/cjs/core/utils/motion.js +2 -0
- package/build/cjs/core/utils/motion.js.map +1 -0
- package/build/cjs/core/utils/tabListener.js +2 -0
- package/build/cjs/core/utils/tabListener.js.map +1 -0
- package/build/cjs/hooks/index.js +2 -0
- package/build/cjs/hooks/index.js.map +1 -0
- package/build/cjs/hooks/mediaQueryUtils.js +2 -0
- package/build/cjs/hooks/mediaQueryUtils.js.map +1 -0
- package/build/cjs/hooks/useAnimatedDetails/index.js +2 -0
- package/build/cjs/hooks/useAnimatedDetails/index.js.map +1 -0
- package/build/cjs/hooks/useAnimatedDetails/useAnimatedDetails.js +2 -0
- package/build/cjs/hooks/useAnimatedDetails/useAnimatedDetails.js.map +1 -0
- package/build/cjs/hooks/useAnimatedHeight/index.js +2 -0
- package/build/cjs/hooks/useAnimatedHeight/index.js.map +1 -0
- package/build/cjs/hooks/useAnimatedHeight/types.js +2 -0
- package/build/cjs/hooks/useAnimatedHeight/types.js.map +1 -0
- package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeight.js +2 -0
- package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeight.js.map +1 -0
- package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeightBetween.js +2 -0
- package/build/cjs/hooks/useAnimatedHeight/useAnimatedHeightBetween.js.map +1 -0
- package/build/cjs/hooks/useAnimatedHeight/useAutoAnimateHeight.js +2 -0
- package/build/cjs/hooks/useAnimatedHeight/useAutoAnimateHeight.js.map +1 -0
- package/build/cjs/hooks/useAriaLiveRegion/index.js +2 -0
- package/build/cjs/hooks/useAriaLiveRegion/index.js.map +1 -0
- package/build/cjs/hooks/useAriaLiveRegion/useAriaLiveRegion.js +2 -0
- package/build/cjs/hooks/useAriaLiveRegion/useAriaLiveRegion.js.map +1 -0
- package/build/cjs/hooks/useBrowserPreferences/index.js +2 -0
- package/build/cjs/hooks/useBrowserPreferences/index.js.map +1 -0
- package/build/cjs/hooks/useBrowserPreferences/useBrowserPreferences.js +2 -0
- package/build/cjs/hooks/useBrowserPreferences/useBrowserPreferences.js.map +1 -0
- package/build/cjs/hooks/useClickOutside/index.js +2 -0
- package/build/cjs/hooks/useClickOutside/index.js.map +1 -0
- package/build/cjs/hooks/useClickOutside/useClickOutside.js +2 -0
- package/build/cjs/hooks/useClickOutside/useClickOutside.js.map +1 -0
- package/build/cjs/hooks/useElementDimensions/index.js +2 -0
- package/build/cjs/hooks/useElementDimensions/index.js.map +1 -0
- package/build/cjs/hooks/useElementDimensions/useElementDimensions.js +2 -0
- package/build/cjs/hooks/useElementDimensions/useElementDimensions.js.map +1 -0
- package/build/cjs/hooks/useFocusOutside/index.js +2 -0
- package/build/cjs/hooks/useFocusOutside/index.js.map +1 -0
- package/build/cjs/hooks/useFocusOutside/useFocusOutside.js +2 -0
- package/build/cjs/hooks/useFocusOutside/useFocusOutside.js.map +1 -0
- package/build/cjs/hooks/useId/index.js +2 -0
- package/build/cjs/hooks/useId/index.js.map +1 -0
- package/build/cjs/hooks/useId/useId.js +2 -0
- package/build/cjs/hooks/useId/useId.js.map +1 -0
- package/build/cjs/hooks/useIntersectionObserver/index.js +2 -0
- package/build/cjs/hooks/useIntersectionObserver/index.js.map +1 -0
- package/build/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -0
- package/build/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -0
- package/build/cjs/hooks/useKeyListener/index.js +2 -0
- package/build/cjs/hooks/useKeyListener/index.js.map +1 -0
- package/build/cjs/hooks/useKeyListener/useKeyListener.js +2 -0
- package/build/cjs/hooks/useKeyListener/useKeyListener.js.map +1 -0
- package/build/cjs/hooks/useListNavigation/index.js +2 -0
- package/build/cjs/hooks/useListNavigation/index.js.map +1 -0
- package/build/cjs/hooks/useListNavigation/useListNavigation.js +2 -0
- package/build/cjs/hooks/useListNavigation/useListNavigation.js.map +1 -0
- package/build/cjs/hooks/useLocalStorage/index.js +2 -0
- package/build/cjs/hooks/useLocalStorage/index.js.map +1 -0
- package/build/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -0
- package/build/cjs/hooks/useLocalStorage/useLocalStorage.js.map +1 -0
- package/build/cjs/hooks/useMutationObserver/index.js +2 -0
- package/build/cjs/hooks/useMutationObserver/index.js.map +1 -0
- package/build/cjs/hooks/useMutationObserver/useMutationObserver.js +2 -0
- package/build/cjs/hooks/useMutationObserver/useMutationObserver.js.map +1 -0
- package/build/cjs/hooks/usePreviousValue/index.js +2 -0
- package/build/cjs/hooks/usePreviousValue/index.js.map +1 -0
- package/build/cjs/hooks/usePreviousValue/usePreviousValue.js +2 -0
- package/build/cjs/hooks/usePreviousValue/usePreviousValue.js.map +1 -0
- package/build/cjs/hooks/useProgressiveImg/index.js +2 -0
- package/build/cjs/hooks/useProgressiveImg/index.js.map +1 -0
- package/build/cjs/hooks/useProgressiveImg/useProgressiveImg.js +2 -0
- package/build/cjs/hooks/useProgressiveImg/useProgressiveImg.js.map +1 -0
- package/build/cjs/hooks/useScreen/index.js +2 -0
- package/build/cjs/hooks/useScreen/index.js.map +1 -0
- package/build/cjs/hooks/useScreen/state.js +2 -0
- package/build/cjs/hooks/useScreen/state.js.map +1 -0
- package/build/cjs/hooks/useScreen/useScreen.js +2 -0
- package/build/cjs/hooks/useScreen/useScreen.js.map +1 -0
- package/build/cjs/hooks/useScrollIntoView/index.js +2 -0
- package/build/cjs/hooks/useScrollIntoView/index.js.map +1 -0
- package/build/cjs/hooks/useScrollIntoView/useScrollIntoView.js +2 -0
- package/build/cjs/hooks/useScrollIntoView/useScrollIntoView.js.map +1 -0
- package/build/cjs/hooks/useSwipeGesture/index.js +2 -0
- package/build/cjs/hooks/useSwipeGesture/index.js.map +1 -0
- package/build/cjs/hooks/useSwipeGesture/useSwipeGesture.js +2 -0
- package/build/cjs/hooks/useSwipeGesture/useSwipeGesture.js.map +1 -0
- package/build/clsx-BeLtu-UY.js +2 -0
- package/build/clsx-BeLtu-UY.js.map +1 -0
- package/build/clsx-E3yX_9sL.cjs +2 -0
- package/build/clsx-E3yX_9sL.cjs.map +1 -0
- package/build/components/ScreenReaderOnly.d.ts +6 -0
- package/build/components/SlotComponent.d.ts +7 -0
- package/build/components/index.d.ts +2 -0
- package/build/components/navigation/Link.d.ts +5 -0
- package/build/components/navigation/NavLink.d.ts +6 -0
- package/build/components/navigation/index.d.ts +2 -0
- package/build/core/as-child.d.ts +39 -0
- package/build/core/index.d.ts +7 -0
- package/build/core/polymorphism.d.ts +11 -0
- package/build/core/tokens.d.ts +351 -0
- package/build/core/types.d.ts +42 -0
- package/build/core/utils/breakpoints.d.ts +6 -0
- package/build/core/utils/density.d.ts +1 -0
- package/build/core/utils/getValuePair.d.ts +2 -0
- package/build/core/utils/index.d.ts +8 -0
- package/build/core/utils/mergeProps.d.ts +3 -0
- package/build/core/utils/mergeRefs.d.ts +3 -0
- package/build/core/utils/motion.d.ts +16 -0
- package/build/core/utils/tabListener.d.ts +1 -0
- package/build/es/components/ScreenReaderOnly.js +2 -0
- package/build/es/components/ScreenReaderOnly.js.map +1 -0
- package/build/es/components/SlotComponent.js +2 -0
- package/build/es/components/SlotComponent.js.map +1 -0
- package/build/es/components/index.js +2 -0
- package/build/es/components/index.js.map +1 -0
- package/build/es/components/navigation/Link.js +2 -0
- package/build/es/components/navigation/Link.js.map +1 -0
- package/build/es/components/navigation/NavLink.js +2 -0
- package/build/es/components/navigation/NavLink.js.map +1 -0
- package/build/es/components/navigation/index.js +2 -0
- package/build/es/components/navigation/index.js.map +1 -0
- package/build/es/core/as-child.js +2 -0
- package/build/es/core/as-child.js.map +1 -0
- package/build/es/core/index.js +2 -0
- package/build/es/core/index.js.map +1 -0
- package/build/es/core/polymorphism.js +2 -0
- package/build/es/core/polymorphism.js.map +1 -0
- package/build/es/core/tokens.js +2 -0
- package/build/es/core/tokens.js.map +1 -0
- package/build/es/core/types.js +2 -0
- package/build/es/core/types.js.map +1 -0
- package/build/es/core/utils/breakpoints.js +2 -0
- package/build/es/core/utils/breakpoints.js.map +1 -0
- package/build/es/core/utils/density.js +2 -0
- package/build/es/core/utils/density.js.map +1 -0
- package/build/es/core/utils/getValuePair.js +2 -0
- package/build/es/core/utils/getValuePair.js.map +1 -0
- package/build/es/core/utils/index.js +2 -0
- package/build/es/core/utils/index.js.map +1 -0
- package/build/es/core/utils/mergeProps.js +2 -0
- package/build/es/core/utils/mergeProps.js.map +1 -0
- package/build/es/core/utils/mergeRefs.js +2 -0
- package/build/es/core/utils/mergeRefs.js.map +1 -0
- package/build/es/core/utils/motion.js +2 -0
- package/build/es/core/utils/motion.js.map +1 -0
- package/build/es/core/utils/tabListener.js +2 -0
- package/build/es/core/utils/tabListener.js.map +1 -0
- package/build/es/hooks/index.js +2 -0
- package/build/es/hooks/index.js.map +1 -0
- package/build/es/hooks/mediaQueryUtils.js +2 -0
- package/build/es/hooks/mediaQueryUtils.js.map +1 -0
- package/build/es/hooks/useAnimatedDetails/index.js +2 -0
- package/build/es/hooks/useAnimatedDetails/index.js.map +1 -0
- package/build/es/hooks/useAnimatedDetails/useAnimatedDetails.js +2 -0
- package/build/es/hooks/useAnimatedDetails/useAnimatedDetails.js.map +1 -0
- package/build/es/hooks/useAnimatedHeight/index.js +2 -0
- package/build/es/hooks/useAnimatedHeight/index.js.map +1 -0
- package/build/es/hooks/useAnimatedHeight/types.js +2 -0
- package/build/es/hooks/useAnimatedHeight/types.js.map +1 -0
- package/build/es/hooks/useAnimatedHeight/useAnimatedHeight.js +2 -0
- package/build/es/hooks/useAnimatedHeight/useAnimatedHeight.js.map +1 -0
- package/build/es/hooks/useAnimatedHeight/useAnimatedHeightBetween.js +2 -0
- package/build/es/hooks/useAnimatedHeight/useAnimatedHeightBetween.js.map +1 -0
- package/build/es/hooks/useAnimatedHeight/useAutoAnimateHeight.js +2 -0
- package/build/es/hooks/useAnimatedHeight/useAutoAnimateHeight.js.map +1 -0
- package/build/es/hooks/useAriaLiveRegion/index.js +2 -0
- package/build/es/hooks/useAriaLiveRegion/index.js.map +1 -0
- package/build/es/hooks/useAriaLiveRegion/useAriaLiveRegion.js +2 -0
- package/build/es/hooks/useAriaLiveRegion/useAriaLiveRegion.js.map +1 -0
- package/build/es/hooks/useBrowserPreferences/index.js +2 -0
- package/build/es/hooks/useBrowserPreferences/index.js.map +1 -0
- package/build/es/hooks/useBrowserPreferences/useBrowserPreferences.js +2 -0
- package/build/es/hooks/useBrowserPreferences/useBrowserPreferences.js.map +1 -0
- package/build/es/hooks/useClickOutside/index.js +2 -0
- package/build/es/hooks/useClickOutside/index.js.map +1 -0
- package/build/es/hooks/useClickOutside/useClickOutside.js +2 -0
- package/build/es/hooks/useClickOutside/useClickOutside.js.map +1 -0
- package/build/es/hooks/useElementDimensions/index.js +2 -0
- package/build/es/hooks/useElementDimensions/index.js.map +1 -0
- package/build/es/hooks/useElementDimensions/useElementDimensions.js +2 -0
- package/build/es/hooks/useElementDimensions/useElementDimensions.js.map +1 -0
- package/build/es/hooks/useFocusOutside/index.js +2 -0
- package/build/es/hooks/useFocusOutside/index.js.map +1 -0
- package/build/es/hooks/useFocusOutside/useFocusOutside.js +2 -0
- package/build/es/hooks/useFocusOutside/useFocusOutside.js.map +1 -0
- package/build/es/hooks/useId/index.js +2 -0
- package/build/es/hooks/useId/index.js.map +1 -0
- package/build/es/hooks/useId/useId.js +2 -0
- package/build/es/hooks/useId/useId.js.map +1 -0
- package/build/es/hooks/useIntersectionObserver/index.js +2 -0
- package/build/es/hooks/useIntersectionObserver/index.js.map +1 -0
- package/build/es/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -0
- package/build/es/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -0
- package/build/es/hooks/useKeyListener/index.js +2 -0
- package/build/es/hooks/useKeyListener/index.js.map +1 -0
- package/build/es/hooks/useKeyListener/useKeyListener.js +2 -0
- package/build/es/hooks/useKeyListener/useKeyListener.js.map +1 -0
- package/build/es/hooks/useListNavigation/index.js +2 -0
- package/build/es/hooks/useListNavigation/index.js.map +1 -0
- package/build/es/hooks/useListNavigation/useListNavigation.js +2 -0
- package/build/es/hooks/useListNavigation/useListNavigation.js.map +1 -0
- package/build/es/hooks/useLocalStorage/index.js +2 -0
- package/build/es/hooks/useLocalStorage/index.js.map +1 -0
- package/build/es/hooks/useLocalStorage/useLocalStorage.js +2 -0
- package/build/es/hooks/useLocalStorage/useLocalStorage.js.map +1 -0
- package/build/es/hooks/useMutationObserver/index.js +2 -0
- package/build/es/hooks/useMutationObserver/index.js.map +1 -0
- package/build/es/hooks/useMutationObserver/useMutationObserver.js +2 -0
- package/build/es/hooks/useMutationObserver/useMutationObserver.js.map +1 -0
- package/build/es/hooks/usePreviousValue/index.js +2 -0
- package/build/es/hooks/usePreviousValue/index.js.map +1 -0
- package/build/es/hooks/usePreviousValue/usePreviousValue.js +2 -0
- package/build/es/hooks/usePreviousValue/usePreviousValue.js.map +1 -0
- package/build/es/hooks/useProgressiveImg/index.js +2 -0
- package/build/es/hooks/useProgressiveImg/index.js.map +1 -0
- package/build/es/hooks/useProgressiveImg/useProgressiveImg.js +2 -0
- package/build/es/hooks/useProgressiveImg/useProgressiveImg.js.map +1 -0
- package/build/es/hooks/useScreen/index.js +2 -0
- package/build/es/hooks/useScreen/index.js.map +1 -0
- package/build/es/hooks/useScreen/state.js +2 -0
- package/build/es/hooks/useScreen/state.js.map +1 -0
- package/build/es/hooks/useScreen/useScreen.js +2 -0
- package/build/es/hooks/useScreen/useScreen.js.map +1 -0
- package/build/es/hooks/useScrollIntoView/index.js +2 -0
- package/build/es/hooks/useScrollIntoView/index.js.map +1 -0
- package/build/es/hooks/useScrollIntoView/useScrollIntoView.js +2 -0
- package/build/es/hooks/useScrollIntoView/useScrollIntoView.js.map +1 -0
- package/build/es/hooks/useSwipeGesture/index.js +2 -0
- package/build/es/hooks/useSwipeGesture/index.js.map +1 -0
- package/build/es/hooks/useSwipeGesture/useSwipeGesture.js +2 -0
- package/build/es/hooks/useSwipeGesture/useSwipeGesture.js.map +1 -0
- package/build/hooks/index.d.ts +18 -0
- package/build/hooks/mediaQueryUtils.d.ts +21 -0
- package/build/hooks/useAnimatedDetails/index.d.ts +1 -0
- package/build/hooks/useAnimatedDetails/useAnimatedDetails.d.ts +20 -0
- package/build/hooks/useAnimatedHeight/index.d.ts +4 -0
- package/build/hooks/useAnimatedHeight/types.d.ts +26 -0
- package/build/hooks/useAnimatedHeight/useAnimatedHeight.d.ts +10 -0
- package/build/hooks/useAnimatedHeight/useAnimatedHeightBetween.d.ts +10 -0
- package/build/hooks/useAnimatedHeight/useAutoAnimateHeight.d.ts +20 -0
- package/build/hooks/useAriaLiveRegion/index.d.ts +1 -0
- package/build/hooks/useAriaLiveRegion/useAriaLiveRegion.d.ts +15 -0
- package/build/hooks/useBrowserPreferences/index.d.ts +1 -0
- package/build/hooks/useBrowserPreferences/useBrowserPreferences.d.ts +12 -0
- package/build/hooks/useClickOutside/index.d.ts +1 -0
- package/build/hooks/useClickOutside/useClickOutside.d.ts +7 -0
- package/build/hooks/useElementDimensions/index.d.ts +1 -0
- package/build/hooks/useElementDimensions/useElementDimensions.d.ts +11 -0
- package/build/hooks/useFocusOutside/index.d.ts +1 -0
- package/build/hooks/useFocusOutside/useFocusOutside.d.ts +7 -0
- package/build/hooks/useId/index.d.ts +1 -0
- package/build/hooks/useId/useId.d.ts +11 -0
- package/build/hooks/useIntersectionObserver/index.d.ts +1 -0
- package/build/hooks/useIntersectionObserver/useIntersectionObserver.d.ts +13 -0
- package/build/hooks/useKeyListener/index.d.ts +1 -0
- package/build/hooks/useKeyListener/useKeyListener.d.ts +8 -0
- package/build/hooks/useListNavigation/index.d.ts +1 -0
- package/build/hooks/useListNavigation/useListNavigation.d.ts +7 -0
- package/build/hooks/useLocalStorage/index.d.ts +1 -0
- package/build/hooks/useLocalStorage/useLocalStorage.d.ts +1 -0
- package/build/hooks/useMutationObserver/index.d.ts +1 -0
- package/build/hooks/useMutationObserver/useMutationObserver.d.ts +9 -0
- package/build/hooks/usePreviousValue/index.d.ts +1 -0
- package/build/hooks/usePreviousValue/usePreviousValue.d.ts +6 -0
- package/build/hooks/useProgressiveImg/index.d.ts +1 -0
- package/build/hooks/useProgressiveImg/useProgressiveImg.d.ts +10 -0
- package/build/hooks/useScreen/index.d.ts +2 -0
- package/build/hooks/useScreen/state.d.ts +17 -0
- package/build/hooks/useScreen/useScreen.d.ts +6 -0
- package/build/hooks/useScrollIntoView/index.d.ts +1 -0
- package/build/hooks/useScrollIntoView/useScrollIntoView.d.ts +11 -0
- package/build/hooks/useSwipeGesture/index.d.ts +1 -0
- package/build/hooks/useSwipeGesture/useSwipeGesture.d.ts +27 -0
- package/package.json +83 -0
- package/src/components/navigation/styles/link.css +152 -0
- package/src/components/navigation/styles/link.min.css +1 -0
- package/src/components/navigation/styles/link.scss +138 -0
- package/src/core/jkl/_colors.scss +26 -0
- package/src/core/jkl/_convert.scss +96 -0
- package/src/core/jkl/_helpers.scss +20 -0
- package/src/core/jkl/_index.scss +18 -0
- package/src/core/jkl/_legacy-tokens.scss +22 -0
- package/src/core/jkl/_motion.scss +62 -0
- package/src/core/jkl/_navigation.scss +9 -0
- package/src/core/jkl/_ornaments.scss +26 -0
- package/src/core/jkl/_reset.scss +43 -0
- package/src/core/jkl/_responsive-units.scss +30 -0
- package/src/core/jkl/_screenreader.scss +59 -0
- package/src/core/jkl/_screens.scss +135 -0
- package/src/core/jkl/_shadows.scss +25 -0
- package/src/core/jkl/_spacing.scss +210 -0
- package/src/core/jkl/_theme.scss +144 -0
- package/src/core/jkl/_tokens.scss +148 -0
- package/src/core/jkl/_typography.scss +327 -0
- package/src/core/jkl/_underline.scss +16 -0
- package/src/core/jkl/_z-index.scss +23 -0
- package/src/core/styles/_color-tokens.scss +75 -0
- package/src/core/styles/_headings.scss +29 -0
- package/src/core/styles/_index.scss +10 -0
- package/src/core/styles/_legacy-tokens.scss +26 -0
- package/src/core/styles/_normalize.scss +250 -0
- package/src/core/styles/_paragraphs.scss +16 -0
- package/src/core/styles/_reset.scss +66 -0
- package/src/core/styles/_screen-reader.scss +9 -0
- package/src/core/styles/_spacing.scss +75 -0
- package/src/core/styles/_tokens.scss +114 -0
- package/src/core/styles/core.css +1614 -0
- package/src/core/styles/core.min.css +1 -0
- package/src/core/styles/core.scss +71 -0
- package/src/core/styles/vind/_flex.scss +113 -0
- package/src/core/styles/vind/_font.scss +19 -0
- package/src/core/styles/vind/_margin.scss +43 -0
- package/src/core/styles/vind/_padding.scss +43 -0
- package/src/core/styles/vind/_space-between.scss +13 -0
- package/src/core/styles/vind/_typography.scss +47 -0
- package/src/core/styles/vind/_vind.scss +6 -0
- package/src/core/styles/vind.css +1742 -0
- package/src/core/styles/vind.min.css +1 -0
- package/src/core/styles/vind.scss +3 -0
- package/src/core/tokens.less +196 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/// Improved screen reader only CSS class
|
|
2
|
+
/// @author Gaël Poupard
|
|
3
|
+
/// licence https://codepen.io/ffoodd/pen/gwKZyq/license
|
|
4
|
+
/// Based on Yahoo!'s technique
|
|
5
|
+
/// @author Thierry Koblentz
|
|
6
|
+
/// @link https://developer.yahoo.com/blogs/ydn/clip-hidden-content-better-accessibility-53456.html
|
|
7
|
+
/// 1.
|
|
8
|
+
/// `clip` is deprecated but works everywhere
|
|
9
|
+
/// @link https://developer.mozilla.org/en-US/docs/Web/CSS/clip
|
|
10
|
+
/// 2.
|
|
11
|
+
/// `clip-path` is the future-proof version, but not very well supported yet
|
|
12
|
+
/// @link https://developer.mozilla.org/en-US/docs/Web/CSS/clip-path
|
|
13
|
+
/// @link http://caniuse.com/#search=clip-path
|
|
14
|
+
/// @author Yvain Liechti
|
|
15
|
+
/// @link https://twitter.com/ryuran78/status/778943389819604992
|
|
16
|
+
/// 3.
|
|
17
|
+
/// preventing text to be condensed
|
|
18
|
+
/// @author J. Renée Beach
|
|
19
|
+
/// @link https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
|
|
20
|
+
/// Drupal 8 goes with word-wrap: normal instead
|
|
21
|
+
/// @link https://www.drupal.org/node/2045151
|
|
22
|
+
/// @link http://cgit.drupalcode.org/drupal/commit/?id=5b847ea
|
|
23
|
+
/// 4.
|
|
24
|
+
/// !important is important
|
|
25
|
+
/// Obviously you wanna hide something
|
|
26
|
+
/// @author Harry Roberts
|
|
27
|
+
/// @link https://csswizardry.com/2016/05/the-importance-of-important/
|
|
28
|
+
@mixin screenreader-only {
|
|
29
|
+
border: 0 !important;
|
|
30
|
+
clip: rect(1px, 1px, 1px, 1px) !important; /* 1 */
|
|
31
|
+
clip-path: inset(50%) !important; /* 2 */
|
|
32
|
+
height: 1px !important;
|
|
33
|
+
margin: -1px !important;
|
|
34
|
+
overflow: hidden !important;
|
|
35
|
+
padding: 0 !important;
|
|
36
|
+
position: absolute !important;
|
|
37
|
+
width: 1px !important;
|
|
38
|
+
white-space: nowrap !important; /* 3 */
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/// Use in conjunction with .sr-only to only display content when it's focused.
|
|
42
|
+
/// Useful for skip links
|
|
43
|
+
/// @link http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
|
|
44
|
+
/// Based on a HTML5 Boilerplate technique, included in Bootstrap
|
|
45
|
+
/// Fixed a bug with position: static on iOS 10.0.2 + VoiceOver
|
|
46
|
+
/// @author Sylvain Pigeard
|
|
47
|
+
/// @link https://github.com/twbs/bootstrap/issues/20732
|
|
48
|
+
@mixin screenreader-only-focusable {
|
|
49
|
+
&:focus,
|
|
50
|
+
&:active {
|
|
51
|
+
clip: auto !important;
|
|
52
|
+
clip-path: none !important;
|
|
53
|
+
height: auto !important;
|
|
54
|
+
margin: auto !important;
|
|
55
|
+
overflow: visible !important;
|
|
56
|
+
width: auto !important;
|
|
57
|
+
white-space: normal !important;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/// @type Number
|
|
2
|
+
$breakpoint--medium: 680px;
|
|
3
|
+
|
|
4
|
+
/// @type Number
|
|
5
|
+
$breakpoint--large: 1200px;
|
|
6
|
+
|
|
7
|
+
/// @type Number
|
|
8
|
+
$breakpoint--xl: 1600px;
|
|
9
|
+
|
|
10
|
+
/// Forenkler media queries som skal gjelde mellom to skjermbredder.
|
|
11
|
+
/// Maksverdien er _eksklusiv_ (verdien vil bli $max - 1px).
|
|
12
|
+
/// @content Plasseres i et media query med min-width lik $min og max-width lik $max - 1px
|
|
13
|
+
/// @example
|
|
14
|
+
/// .class {
|
|
15
|
+
/// @include jkl.screen-between(42px, 420px) {
|
|
16
|
+
/// display: none;
|
|
17
|
+
/// }
|
|
18
|
+
/// }
|
|
19
|
+
@mixin screen-between($min, $max) {
|
|
20
|
+
@media (min-width: $min) and (max-width: #{$max - 1px}) {
|
|
21
|
+
@content;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/// Forenkler å skrive CSS som skal gjelde fra en viss pixelbredde og oppover.
|
|
26
|
+
/// @content Plasseres i et media query med min-width lik $min
|
|
27
|
+
/// @example
|
|
28
|
+
/// .class {
|
|
29
|
+
/// @include jkl.screen-from(42px) {
|
|
30
|
+
/// display: none;
|
|
31
|
+
/// }
|
|
32
|
+
/// }
|
|
33
|
+
@mixin screen-from($min) {
|
|
34
|
+
@media (min-width: $min) {
|
|
35
|
+
@content;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/// Forenkler å skrive CSS som skal gjelde opp til en viss pixelbredde
|
|
40
|
+
/// @content Plasseres i et media query med max-width lik $max - 1
|
|
41
|
+
/// @example
|
|
42
|
+
/// .class {
|
|
43
|
+
/// @include jkl.screen-to(375px) {
|
|
44
|
+
/// display: none;
|
|
45
|
+
/// }
|
|
46
|
+
/// }
|
|
47
|
+
@mixin screen-to($max) {
|
|
48
|
+
@media (width >= 0) and (max-width: #{$max - 1px}) {
|
|
49
|
+
@content;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/// Forenkler å skrive CSS som skal gjelde for hva Jøkul definerer som små skjermer.
|
|
54
|
+
/// @content Plasseres i et media query for små skjermer
|
|
55
|
+
/// @example
|
|
56
|
+
/// .class {
|
|
57
|
+
/// @include jkl.small-device {
|
|
58
|
+
/// display: none;
|
|
59
|
+
/// }
|
|
60
|
+
/// }
|
|
61
|
+
@mixin small-device {
|
|
62
|
+
@media (width >= 0) and (max-width: #{$breakpoint--medium - 1px}) {
|
|
63
|
+
@content;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/// Forenkler å skrive CSS som skal gjelde for hva Jøkul definerer som mellomstore skjermer.
|
|
68
|
+
/// @content Plasseres i et media query for mellomstore skjermer
|
|
69
|
+
/// @example
|
|
70
|
+
/// .class {
|
|
71
|
+
/// @include jkl.medium-device {
|
|
72
|
+
/// display: none;
|
|
73
|
+
/// }
|
|
74
|
+
/// }
|
|
75
|
+
@mixin medium-device {
|
|
76
|
+
@media (min-width: #{$breakpoint--medium}) and (max-width: #{$breakpoint--large - 1px}) {
|
|
77
|
+
@content;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/// Forenkler å skrive CSS som skal gjelde for hva Jøkul definerer som mellomstore skjermer _og større_
|
|
82
|
+
/// @content Plasseres i et media query som gjelder mellomstore skjermer og oppover
|
|
83
|
+
/// @example
|
|
84
|
+
/// .class {
|
|
85
|
+
/// @include jkl.from-medium-device {
|
|
86
|
+
/// display: none;
|
|
87
|
+
/// }
|
|
88
|
+
/// }
|
|
89
|
+
@mixin from-medium-device {
|
|
90
|
+
@media (min-width: #{$breakpoint--medium}) {
|
|
91
|
+
@content;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/// Forenkler å skrive CSS som skal gjelde for hva Jøkul definerer som store skjermer.
|
|
96
|
+
/// @content Plasseres i et media query for store skjermer
|
|
97
|
+
/// @example
|
|
98
|
+
/// .class {
|
|
99
|
+
/// @include jkl.large-device {
|
|
100
|
+
/// display: none;
|
|
101
|
+
/// }
|
|
102
|
+
/// }
|
|
103
|
+
@mixin large-device {
|
|
104
|
+
@media (min-width: #{$breakpoint--large}) and (max-width: #{$breakpoint--xl - 1px}) {
|
|
105
|
+
@content;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/// Forenkler å skrive CSS som skal gjelde for hva Jøkul definerer som store skjermer _og større_
|
|
110
|
+
/// @content Plasseres i et media query som gjelder store skjermer og oppover
|
|
111
|
+
/// @example
|
|
112
|
+
/// .class {
|
|
113
|
+
/// @include jkl.from-large-device {
|
|
114
|
+
/// display: none;
|
|
115
|
+
/// }
|
|
116
|
+
/// }
|
|
117
|
+
@mixin from-large-device {
|
|
118
|
+
@media (min-width: #{$breakpoint--large}) {
|
|
119
|
+
@content;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/// Forenkler å skrive CSS som skal gjelde for hva Jøkul definerer som ekstra store skjermer.
|
|
124
|
+
/// @content Plasseres i et media query for ekstra store skjermer
|
|
125
|
+
/// @example
|
|
126
|
+
/// .class {
|
|
127
|
+
/// @include jkl.xl-device {
|
|
128
|
+
/// display: none;
|
|
129
|
+
/// }
|
|
130
|
+
/// }
|
|
131
|
+
@mixin xl-device {
|
|
132
|
+
@media (min-width: #{$breakpoint--xl}) {
|
|
133
|
+
@content;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
@use "responsive-units" as ru;
|
|
2
|
+
|
|
3
|
+
/// Skygge som indikerer at noe er klikkbart og vil ta deg til et annet sted
|
|
4
|
+
/// @type List
|
|
5
|
+
$shadow-navigation: 0 ru.rem(4px) ru.rem(15px) rgb(37 42 49 / 10%);
|
|
6
|
+
|
|
7
|
+
/// Skygge som indikerer at pekeren er over noe sin er klikkbart og vil ta deg til et annet sted
|
|
8
|
+
/// @type List
|
|
9
|
+
$shadow-navigation--hover: 0 ru.rem(6px) ru.rem(25px) rgb(37 42 49 / 12%);
|
|
10
|
+
|
|
11
|
+
/// Skygge som indikerer at noe er klikkbart og at klikk vil gjøre en endring på nåværende side
|
|
12
|
+
/// @type List
|
|
13
|
+
$shadow-task-card: 0 ru.rem(4px) ru.rem(12px) rgb(37 42 49 / 3%);
|
|
14
|
+
|
|
15
|
+
/// @type List
|
|
16
|
+
/// @deprecated Se tilgjengelige skygger i _shadows.scss
|
|
17
|
+
$drop-shadow--small: 0 ru.rem(4px) ru.rem(8px) rgb(0 0 0 / 8%);
|
|
18
|
+
|
|
19
|
+
/// @type List
|
|
20
|
+
/// @deprecated Se tilgjengelige skygger i _shadows.scss
|
|
21
|
+
$drop-shadow--medium: ru.rem(4px) ru.rem(4px) ru.rem(8px) rgb(0 0 0 / 8%);
|
|
22
|
+
|
|
23
|
+
/// @type List
|
|
24
|
+
/// @deprecated Se tilgjengelige skygger i _shadows.scss
|
|
25
|
+
$drop-shadow--large: ru.rem(4px) ru.rem(6px) ru.rem(16px) rgb(0 0 0 / 15%);
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
@use "sass:string";
|
|
2
|
+
@use "sass:map";
|
|
3
|
+
@use "sass:list";
|
|
4
|
+
@use "screens";
|
|
5
|
+
@use "tokens" as *;
|
|
6
|
+
|
|
7
|
+
/// Tilsvarer 2px
|
|
8
|
+
/// @deprecated Bruk heller $spacing-2
|
|
9
|
+
/// @type Number
|
|
10
|
+
$spacing-3xs: $spacing-2;
|
|
11
|
+
|
|
12
|
+
/// Tilsvarer 4px
|
|
13
|
+
/// @deprecated Bruk heller $spacing-4
|
|
14
|
+
/// @type Number
|
|
15
|
+
$spacing-2xs: $spacing-4;
|
|
16
|
+
|
|
17
|
+
/// Tilsvarer 8px
|
|
18
|
+
/// @deprecated Bruk heller $spacing-8
|
|
19
|
+
/// @type Number
|
|
20
|
+
$spacing-xs: $spacing-8;
|
|
21
|
+
|
|
22
|
+
/// Tilsvarer 12px
|
|
23
|
+
/// @deprecated Bruk heller $spacing-12
|
|
24
|
+
/// @type Number
|
|
25
|
+
$spacing-s: $spacing-12;
|
|
26
|
+
|
|
27
|
+
/// Tilsvarer 16px
|
|
28
|
+
/// @deprecated Bruk heller $spacing-16
|
|
29
|
+
/// @type Number
|
|
30
|
+
$spacing-m: $spacing-16;
|
|
31
|
+
|
|
32
|
+
/// Tilsvarer 24px
|
|
33
|
+
/// @deprecated Bruk heller $spacing-24
|
|
34
|
+
/// @type Number
|
|
35
|
+
$spacing-l: $spacing-24;
|
|
36
|
+
|
|
37
|
+
/// Tilsvarer 40px
|
|
38
|
+
/// @deprecated Bruk heller $spacing-40
|
|
39
|
+
/// @type Number
|
|
40
|
+
$spacing-xl: $spacing-40;
|
|
41
|
+
|
|
42
|
+
/// Tilsvarer 64px
|
|
43
|
+
/// @deprecated Bruk heller $spacing-64
|
|
44
|
+
/// @type Number
|
|
45
|
+
$spacing-2xl: $spacing-64;
|
|
46
|
+
|
|
47
|
+
/// Tilsvarer 104px
|
|
48
|
+
/// @deprecated Bruk heller $spacing-104
|
|
49
|
+
/// @type Number
|
|
50
|
+
$spacing-3xl: $spacing-104;
|
|
51
|
+
|
|
52
|
+
/// Tilsvarer 168px
|
|
53
|
+
/// @deprecated Bruk heller $spacing-168
|
|
54
|
+
/// @type Number
|
|
55
|
+
$spacing-4xl: $spacing-168;
|
|
56
|
+
|
|
57
|
+
/// Lar deg gjøre oppslag på navnet uten `spacing`-prefix for å få ut rem-verdien
|
|
58
|
+
/// @type Map
|
|
59
|
+
$spacing: (
|
|
60
|
+
"2": $spacing-2,
|
|
61
|
+
"4": $spacing-4,
|
|
62
|
+
"8": $spacing-8,
|
|
63
|
+
"12": $spacing-12,
|
|
64
|
+
"16": $spacing-16,
|
|
65
|
+
"24": $spacing-24,
|
|
66
|
+
"32": $spacing-32,
|
|
67
|
+
"40": $spacing-40,
|
|
68
|
+
"64": $spacing-64,
|
|
69
|
+
"104": $spacing-104,
|
|
70
|
+
"168": $spacing-168,
|
|
71
|
+
// Gamle t-skjortestørrelser for kompatibilitet
|
|
72
|
+
"3xs": $spacing-3xs,
|
|
73
|
+
"2xs": $spacing-2xs,
|
|
74
|
+
"xs": $spacing-xs,
|
|
75
|
+
"s": $spacing-s,
|
|
76
|
+
"m": $spacing-m,
|
|
77
|
+
"l": $spacing-l,
|
|
78
|
+
"xl": $spacing-xl,
|
|
79
|
+
"2xl": $spacing-2xl,
|
|
80
|
+
"3xl": $spacing-3xl,
|
|
81
|
+
"4xl": $spacing-4xl,
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
/// Her defineres kombinasjoner av spacinger til bruk i nytteklasser for spacing.
|
|
85
|
+
/// Nytteklasser for alle enkeltspacinger, samt kombinasjoner, i denne listen
|
|
86
|
+
/// blir automatisk generert i core.css, med versjoner for alle posisjoner (top, right, etc.).
|
|
87
|
+
/// @type Map
|
|
88
|
+
$combinations: (
|
|
89
|
+
"2",
|
|
90
|
+
"4",
|
|
91
|
+
"8",
|
|
92
|
+
"12",
|
|
93
|
+
"16",
|
|
94
|
+
"24",
|
|
95
|
+
"32",
|
|
96
|
+
"40",
|
|
97
|
+
"64",
|
|
98
|
+
"104",
|
|
99
|
+
"168",
|
|
100
|
+
"16" "24",
|
|
101
|
+
"24" "40",
|
|
102
|
+
"24" "32",
|
|
103
|
+
"32" "40",
|
|
104
|
+
"40" "64",
|
|
105
|
+
"64" "104",
|
|
106
|
+
"104" "168",
|
|
107
|
+
"16" "16" "24",
|
|
108
|
+
"16" "24" "32",
|
|
109
|
+
"16" "24" "40",
|
|
110
|
+
"24" "24" "32",
|
|
111
|
+
"24" "24" "40",
|
|
112
|
+
"24" "32" "40",
|
|
113
|
+
"32" "32" "40",
|
|
114
|
+
"32" "40" "64",
|
|
115
|
+
"40" "40" "64",
|
|
116
|
+
"40" "64" "104",
|
|
117
|
+
"64" "64" "104",
|
|
118
|
+
"64" "104" "168",
|
|
119
|
+
"104" "104" "168"
|
|
120
|
+
);
|
|
121
|
+
|
|
122
|
+
/// Posisjoner som kan benyttes for spacing
|
|
123
|
+
/// @type Map
|
|
124
|
+
$positions: (top, bottom, left, right);
|
|
125
|
+
|
|
126
|
+
/// Deler opp en streng i substrenger, gitt et tegn du vil bruke som avdeler.
|
|
127
|
+
/// @param { string } $string En streng du vil dele opp
|
|
128
|
+
/// @param { string } $delimiter [null] En string du vil bruke som avdeler, f.eks. komma
|
|
129
|
+
/// @return { list } Returnerer en liste med substrenger
|
|
130
|
+
/// @example
|
|
131
|
+
/// splitString("24/40", "/"); // "24", "40"
|
|
132
|
+
@function _split-string($string, $delimiter: null) {
|
|
133
|
+
// Returner en liste med uendret streng hvis ingen separator er satt, eller strengen er tom
|
|
134
|
+
@if not $delimiter or string.length($string) == 0 {
|
|
135
|
+
@return ($string);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// Finn index til separatoren
|
|
139
|
+
$delimiter-index: string.index($string, $delimiter);
|
|
140
|
+
|
|
141
|
+
// Returner en liste med uendret streng hvis ikke separatoren finnes i strengen
|
|
142
|
+
@if not $delimiter-index {
|
|
143
|
+
@return ($string);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
$first-value: string.slice($string, 0, $delimiter-index - 1);
|
|
147
|
+
// Finn eventuelt flere substrenger ved å kjøre funksjonen rekursivt
|
|
148
|
+
$other-values: _split-string(string.slice($string, $delimiter-index + 1), $delimiter);
|
|
149
|
+
|
|
150
|
+
// Returner en kommaseparert liste over substrengene
|
|
151
|
+
@return list.join($first-value, $other-values, "comma");
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/// Setter marginer ut fra et steg i spacing-skalaen
|
|
155
|
+
/// @param {"2" | "4" | "8" | "12" | "16" | "24" | "32" | "40" | "64" | "104" | "168"} $spacing-step Et steg i spacingskalaen
|
|
156
|
+
/// @param {"top" | "right" | "bottom" | "left"} $position En posisjon du vil sette spacingen i
|
|
157
|
+
/// @output margin-<posisjon>: <verdi i spacing-skalaen>;
|
|
158
|
+
@mixin _single-spacing($spacing-step, $position) {
|
|
159
|
+
@if $position and list.index($positions, $position) {
|
|
160
|
+
// Legg til bindestrek foran posisjonen for enklere interpolering
|
|
161
|
+
$position: "-#{$position}";
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
@if map.has-key($spacing, $spacing-step) {
|
|
165
|
+
margin#{$position}: map.get($spacing, $spacing-step);
|
|
166
|
+
} @else {
|
|
167
|
+
@error "Fant ikke \"#{$spacing-step}\" i våre spacing-verdier";
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/// Gir deg marginer basert på stegene i spacing-skalaen.
|
|
172
|
+
/// @param $steps Navnet på ett, to eller tre steg i spacing-skalaen, adskilt av "/".
|
|
173
|
+
/// Stegene trer i kraft fra henholdsvis små, mellomstore og store skjermstørrelser i den rekkefølgen du angir dem.
|
|
174
|
+
/// @param {"top" | "right" | "bottom" | "left"} $position Lar deg spesifisere margin for kun én av sidene
|
|
175
|
+
/// @example
|
|
176
|
+
/// .class {
|
|
177
|
+
/// // Gir spacing-40 på små skjermer, og spacing-64 fra mellomstore skjermer
|
|
178
|
+
/// @include jkl.spacing("40/64");
|
|
179
|
+
/// }
|
|
180
|
+
/// @example
|
|
181
|
+
/// .class {
|
|
182
|
+
/// // Gir spacing-40 på små skjermer, spacing-64 på mellomstore skjermer, og spacing-104 fra store skjermer
|
|
183
|
+
/// @include jkl.spacing("40/64/104");
|
|
184
|
+
/// }
|
|
185
|
+
/// @example
|
|
186
|
+
/// .class {
|
|
187
|
+
/// @include jkl.spacing("16", "bottom");
|
|
188
|
+
/// }
|
|
189
|
+
@mixin spacing($steps, $position: null) {
|
|
190
|
+
$steps: _split-string($steps, "/");
|
|
191
|
+
|
|
192
|
+
@if list.length($steps) > 3 {
|
|
193
|
+
@error "Du kan ikke oppgi fler enn tre spacing-steg";
|
|
194
|
+
} @else if list.length($steps) < 1 {
|
|
195
|
+
@error "Du må oppgi minst ett spacing-steg";
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
@include _single-spacing(list.nth($steps, 1), $position);
|
|
199
|
+
|
|
200
|
+
@if list.length($steps) > 1 {
|
|
201
|
+
@include screens.from-medium-device {
|
|
202
|
+
@include _single-spacing(list.nth($steps, 2), $position);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
@if list.length($steps) > 2 {
|
|
206
|
+
@include screens.from-large-device {
|
|
207
|
+
@include _single-spacing(list.nth($steps, 3), $position);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
@use "sass:string";
|
|
2
|
+
@use "sass:color";
|
|
3
|
+
@use "sass:list";
|
|
4
|
+
|
|
5
|
+
/// Brukes til å sette CSS-variabler for bruk i lyst tema, typisk tekst- og
|
|
6
|
+
/// bakgrunnsfarge. Se også dark-mode-variables.
|
|
7
|
+
/// @content Settes på :root hvis brukeren har lyst tema, og på [data-theme="light"]
|
|
8
|
+
/// @see dark-mode-variables
|
|
9
|
+
/// @see forced-colors-mode
|
|
10
|
+
@mixin light-mode-variables {
|
|
11
|
+
@media screen and (prefers-color-scheme: light) {
|
|
12
|
+
:root {
|
|
13
|
+
@content;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
[data-theme="light"] {
|
|
18
|
+
@content;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/// Brukes til å sette CSS-variabler for bruk i mørkt tema, typisk tekst- og
|
|
23
|
+
/// bakgrunnsfarge. Se også light-mode-variables.
|
|
24
|
+
/// @content Settes på :root hvis brukeren har mørkt tema, og på [data-theme="dark"]
|
|
25
|
+
/// @see light-mode-variables
|
|
26
|
+
/// @see forced-colors-mode
|
|
27
|
+
@mixin dark-mode-variables {
|
|
28
|
+
@media screen and (prefers-color-scheme: dark) {
|
|
29
|
+
:root {
|
|
30
|
+
@content;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
[data-theme="dark"] {
|
|
35
|
+
@content;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/// Brukes til å sette CSS-variabler som skal gjelde i vanlig (ukompakt) modus.
|
|
40
|
+
/// @deprecated Bruk heller jkl.comfortable-density, som skal brukes INNE I komponenten
|
|
41
|
+
/// @content Settes på :root, [data-density="comfortable"], og [data-layout-density="comfortable"]
|
|
42
|
+
@mixin comfortable-density-variables {
|
|
43
|
+
:root,
|
|
44
|
+
[data-layout-density="comfortable"],
|
|
45
|
+
[data-density="comfortable"] {
|
|
46
|
+
@content;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/// Brukes til å sette CSS-variabler som skal gjelde i kompakt modus.
|
|
51
|
+
/// @deprecated Bruk heller jkl.compact-density, som skal brukes INNE I komponenten
|
|
52
|
+
/// @content Settes på [data-density="compact"], og på [data-layout-density="compact"]
|
|
53
|
+
@mixin compact-density-variables {
|
|
54
|
+
[data-layout-density="compact"],
|
|
55
|
+
[data-density="compact"] {
|
|
56
|
+
@content;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/// Brukes til å sette CSS-variabler inne i en komponent, og som skal gjelde i vanlig (ukompakt) modus.
|
|
61
|
+
/// @content Settes på .jkl &, [data-density="comfortable"] &, og [data-layout-density="comfortable"] &
|
|
62
|
+
@mixin comfortable-density {
|
|
63
|
+
.jkl &,
|
|
64
|
+
&[data-layout-density="comfortable"],
|
|
65
|
+
&[data-density="comfortable"],
|
|
66
|
+
[data-layout-density="comfortable"] &,
|
|
67
|
+
[data-density="comfortable"] & {
|
|
68
|
+
@content;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/// Brukes til å sette CSS-variabler inne i en komponent, og som skal gjelde i kompakt modus.
|
|
73
|
+
/// @content Settes på [data-density="compact"] &, og på [data-layout-density="compact"] &
|
|
74
|
+
@mixin compact-density {
|
|
75
|
+
&[data-layout-density="compact"],
|
|
76
|
+
&[data-density="compact"],
|
|
77
|
+
[data-layout-density="compact"] &,
|
|
78
|
+
[data-density="compact"] & {
|
|
79
|
+
@content;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/// Brukes til å overstyre stiler for bruk i Forced Colors-modus.
|
|
84
|
+
/// Her vil du typisk legge til fallbacks for manglende box-shadow,
|
|
85
|
+
/// som for eksempel `outline: revert;` og `border: revert;`,
|
|
86
|
+
/// og eventuelle andre problemer som oppstår for brukere av høykontrasttemaer.
|
|
87
|
+
/// Se https://developer.mozilla.org/en-US/docs/Web/CSS/@media/forced-colors
|
|
88
|
+
/// og https://www.smashingmagazine.com/2022/03/windows-high-contrast-colors-mode-css-custom-properties/
|
|
89
|
+
/// @content Innholdet plasseres i et media query som matcher hvis høykontrasttema er i bruk
|
|
90
|
+
/// @see forced-colors-svg-fallback
|
|
91
|
+
/// @see light-mode-variables
|
|
92
|
+
/// @see dark-mode-variables
|
|
93
|
+
@mixin forced-colors-mode {
|
|
94
|
+
@media screen and (forced-colors: active) {
|
|
95
|
+
@content;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
$_valid-forced-colors-text-values: (
|
|
100
|
+
"Canvas",
|
|
101
|
+
"CanvasText",
|
|
102
|
+
"LinkText",
|
|
103
|
+
"GrayText",
|
|
104
|
+
"Highlight",
|
|
105
|
+
"HighlightText",
|
|
106
|
+
"ButtonFace",
|
|
107
|
+
"ButtonText"
|
|
108
|
+
);
|
|
109
|
+
|
|
110
|
+
/// Hjelper for å sette riktig farge på SVGer i Chrome for brukere med Forced Color-modus.
|
|
111
|
+
/// Se https://melanie-richards.com/blog/currentcolor-svg-hcm/ for detaljer
|
|
112
|
+
/// @param {"Canvas" | "CanvasText" | "LinkText" | "GrayText" | "Highlight" | "HighlightText" | "ButtonFace" | "ButtonText"} $stroke - Definer hvilken systemfarge som skal brukes til stroke. Fargene har en forventet betydning for brukeren. Følg den semantiske betydningen til fargen, ikke velg fargen du selv synes "ser best ut".
|
|
113
|
+
/// @param {"Canvas" | "CanvasText" | "LinkText" | "GrayText" | "Highlight" | "HighlightText" | "ButtonFace" | "ButtonText"} $fill [null] - Som $stroke, bare for fill. Valgfri.
|
|
114
|
+
/// @output Setter angitte verdier på nåværende selector og dens svg og path children, inni et media query som treffer dersom forced-colors er aktiv.
|
|
115
|
+
@mixin forced-colors-svg-fallback($stroke, $fill: null) {
|
|
116
|
+
@if not list.index($_valid-forced-colors-text-values, $stroke) {
|
|
117
|
+
@error "#{$stroke} will not be used for stroke in Forced Color mode. Valid options are: #{$_valid-forced-colors-text-values}. Use the correct color for your given context.";
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
@if $fill and not list.index($_valid-forced-colors-text-values, $fill) {
|
|
121
|
+
@error "#{$fill} will not be used for fill in Forced Color mode. Valid options are: null, #{$_valid-forced-colors-text-values}. Use the correct color for your given context.";
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
@media screen and (forced-colors: active) {
|
|
125
|
+
stroke: $stroke;
|
|
126
|
+
fill: $fill;
|
|
127
|
+
|
|
128
|
+
& svg,
|
|
129
|
+
& path {
|
|
130
|
+
stroke: $stroke;
|
|
131
|
+
fill: $fill;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/// Jøkul har en automatisk overstyring av animasjoner og transitions i denne modusen,
|
|
137
|
+
/// men om du trenger å gjøre noe ekstra for brukere som ønsker redusert bevegelse
|
|
138
|
+
/// kan du bruke denne mixinen for å plassere CSS inni riktig media query.
|
|
139
|
+
/// @content Innholdet plasseres i et media query som matcher hvis brukeren foretrekker redusert bevegelse
|
|
140
|
+
@mixin prefers-reduced-motion {
|
|
141
|
+
@media screen and (prefers-reduced-motion: reduce) {
|
|
142
|
+
@content;
|
|
143
|
+
}
|
|
144
|
+
}
|