@rikstv/shared-components 0.8.1 → 1.1.79

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.
Files changed (151) hide show
  1. package/README.md +21 -2
  2. package/dist/{accordion → components/accordion}/Accordion.d.ts +1 -2
  3. package/dist/components/accordion/Accordion.js +34 -0
  4. package/dist/{accordion → components/accordion}/accordion.scss +58 -39
  5. package/dist/components/breadcrumb/Breadcrumb.d.ts +13 -0
  6. package/dist/components/breadcrumb/Breadcrumb.js +39 -0
  7. package/dist/components/breadcrumb/breadcrumb.scss +75 -0
  8. package/dist/components/button/ArrowButton.d.ts +12 -0
  9. package/dist/components/button/ArrowButton.js +44 -0
  10. package/dist/components/button/BaseButton.d.ts +18 -0
  11. package/dist/components/button/BaseButton.js +42 -0
  12. package/dist/components/button/BaseDecoratedButton.d.ts +11 -0
  13. package/dist/components/button/BaseDecoratedButton.js +32 -0
  14. package/dist/components/button/BaseLinkButton.d.ts +20 -0
  15. package/dist/components/button/BaseLinkButton.js +44 -0
  16. package/dist/{button → components/button}/Button.d.ts +2 -0
  17. package/dist/components/button/Button.js +29 -0
  18. package/dist/components/button/DecoratedButton.d.ts +7 -0
  19. package/dist/components/button/DecoratedButton.js +23 -0
  20. package/dist/{button → components/button}/IconButton.d.ts +2 -3
  21. package/dist/components/button/IconButton.js +24 -0
  22. package/dist/components/button/LinkButton.d.ts +5 -0
  23. package/dist/components/button/LinkButton.js +10 -0
  24. package/dist/components/button/arrow-button.scss +37 -0
  25. package/dist/{button → components/button}/button-shared.scss +14 -3
  26. package/dist/components/button/button.scss +93 -0
  27. package/dist/{button → components/button}/icon-button.scss +0 -0
  28. package/dist/components/button/link-button.scss +6 -0
  29. package/dist/components/checkbox/Checkbox.d.ts +9 -0
  30. package/dist/components/checkbox/Checkbox.js +40 -0
  31. package/dist/components/checkbox/checkbox.scss +116 -0
  32. package/dist/{core → components/core}/Core.d.ts +0 -0
  33. package/dist/{core → components/core}/Core.js +0 -0
  34. package/dist/{core → components/core}/LightMode.d.ts +0 -0
  35. package/dist/components/core/LightMode.js +14 -0
  36. package/dist/{core → components/core}/RiksTV.d.ts +0 -0
  37. package/dist/components/core/RiksTV.js +116 -0
  38. package/dist/{core → components/core}/Strim.d.ts +0 -0
  39. package/dist/components/core/Strim.js +10 -0
  40. package/dist/components/core/core.scss +102 -0
  41. package/dist/components/core/docs/Spacing.scss +12 -0
  42. package/dist/components/core/docs/componets/ColorSwatch/ColorSwatch.scss +66 -0
  43. package/dist/components/core/docs/componets/ColorSwatch/ColorSwatchBtn.scss +19 -0
  44. package/dist/components/core/docs/componets/ExampleGrid/ExampleGrid.scss +12 -0
  45. package/dist/components/core/docs/componets/SpacingBlock/SpacingBlock.scss +6 -0
  46. package/dist/components/core/docs/hooks/animated.scss +12 -0
  47. package/dist/components/core/docs/hooks/clickOutside.scss +11 -0
  48. package/dist/components/core/docs/hooks/intersection.scss +14 -0
  49. package/dist/components/core/hooks/useAnimatedHeight.d.ts +19 -0
  50. package/dist/components/core/hooks/useBrowserPreferences.d.ts +5 -0
  51. package/dist/components/core/hooks/useClickOutsideListener.d.ts +8 -0
  52. package/dist/components/core/hooks/useIntersectionObserver.d.ts +2 -0
  53. package/dist/components/core/hooks/useMutationObserver.d.ts +2 -0
  54. package/dist/components/core/mixin/breakpoints.scss +44 -0
  55. package/dist/{core → components/core}/mixin/fluid.scss +0 -0
  56. package/dist/{core → components/core}/mixin/focus.scss +0 -0
  57. package/dist/{core → components/core}/mixin/navigation.scss +0 -0
  58. package/dist/{core → components/core}/mixin/rem.scss +0 -0
  59. package/dist/components/core/rikstvColors.scss +71 -0
  60. package/dist/components/core/rtv.scss +75 -0
  61. package/dist/components/core/spacing/Gutter.d.ts +2 -0
  62. package/dist/components/core/spacing/GutterPadding.d.ts +2 -0
  63. package/dist/components/core/strimColors.scss +48 -0
  64. package/dist/components/core/strm.scss +79 -0
  65. package/dist/{core → components/core}/utils/detectUserInputMethod.d.ts +0 -0
  66. package/dist/components/icons/Arrow.d.ts +2 -0
  67. package/dist/components/icons/Arrow.js +12 -0
  68. package/dist/{icons → components/icons}/Chevron.d.ts +0 -0
  69. package/dist/{icons → components/icons}/Chevron.js +0 -0
  70. package/dist/{icons → components/icons}/heartToggle.scss +12 -6
  71. package/dist/components/index.d.ts +31 -0
  72. package/dist/components/list/CheckmarkListItem.d.ts +8 -0
  73. package/dist/components/list/CheckmarkListItem.js +32 -0
  74. package/dist/components/list/CheckmarkListItem.scss +41 -0
  75. package/dist/components/list/CrossmarkListItem.d.ts +8 -0
  76. package/dist/components/list/CrossmarkListItem.js +23 -0
  77. package/dist/components/list/CrossmarkListItem.scss +42 -0
  78. package/dist/components/list/List.d.ts +8 -0
  79. package/dist/components/list/List.js +28 -0
  80. package/dist/components/list/List.scss +15 -0
  81. package/dist/components/list/ListItem.d.ts +8 -0
  82. package/dist/components/list/ListItem.js +19 -0
  83. package/dist/components/list/ListItem.scss +25 -0
  84. package/dist/components/list/OrderedListItem.d.ts +7 -0
  85. package/dist/components/list/OrderedListItem.js +15 -0
  86. package/dist/components/list/OrderedListItem.scss +21 -0
  87. package/dist/components/list/internal/getMarkColor.d.ts +3 -0
  88. package/dist/components/loader/Loader.d.ts +7 -0
  89. package/dist/components/loader/Loader.js +31 -0
  90. package/dist/components/loader/Loader.scss +148 -0
  91. package/dist/components/loader/RawLoader.d.ts +10 -0
  92. package/dist/components/loader/RawLoader.js +30 -0
  93. package/dist/components/panel/Info.d.ts +2 -0
  94. package/dist/components/panel/Info.js +25 -0
  95. package/dist/components/panel/Panel.d.ts +15 -0
  96. package/dist/components/panel/Panel.js +55 -0
  97. package/dist/components/panel/Success.d.ts +2 -0
  98. package/dist/components/panel/Success.js +80 -0
  99. package/dist/components/panel/Warning.d.ts +2 -0
  100. package/dist/components/panel/Warning.js +14 -0
  101. package/dist/components/panel/panel.scss +95 -0
  102. package/dist/components/progress/CircularProgress.d.ts +11 -0
  103. package/dist/components/progress/CircularProgress.js +87 -0
  104. package/dist/components/progress/Progress.d.ts +11 -0
  105. package/dist/components/progress/Progress.js +42 -0
  106. package/dist/components/progress/Progress.scss +76 -0
  107. package/dist/components/progress/circularProgress.scss +70 -0
  108. package/dist/components/spacing/Gutter.js +13 -0
  109. package/dist/components/spacing/GutterPadding.js +13 -0
  110. package/dist/{textfield → components/textfield}/TextField.d.ts +6 -5
  111. package/dist/components/textfield/TextField.js +57 -0
  112. package/dist/components/textfield/textfield.scss +178 -0
  113. package/dist/{toggle → components/toggle}/FieldSet.d.ts +0 -0
  114. package/dist/components/toggle/FieldSet.js +29 -0
  115. package/dist/{toggle → components/toggle}/RadioContext.d.ts +0 -0
  116. package/dist/{toggle → components/toggle}/RadioToggle.d.ts +0 -0
  117. package/dist/components/toggle/RadioToggle.js +30 -0
  118. package/dist/{toggle → components/toggle}/radioToggle.scss +2 -1
  119. package/dist/{toggleButton → components/toggleButton}/ToggleButton.d.ts +1 -0
  120. package/dist/components/toggleButton/ToggleButton.js +70 -0
  121. package/dist/{toggleButton → components/toggleButton}/toggleButton.scss +16 -8
  122. package/dist/components/toggleLinkButton/ToggleLinkButton.d.ts +10 -0
  123. package/dist/components/toggleLinkButton/ToggleLinkButton.js +60 -0
  124. package/dist/components/toggleLinkButton/toggleLinkButton.scss +54 -0
  125. package/dist/{typography → components/typography}/Typography.d.ts +3 -1
  126. package/dist/components/typography/Typography.js +67 -0
  127. package/dist/{typography → components/typography}/typography.scss +30 -1
  128. package/dist/shared-components.es.js +210 -15
  129. package/dist/style.css +1 -1
  130. package/dist/{core/utils → utils}/generateId.d.ts +0 -0
  131. package/package.json +12 -17
  132. package/dist/accordion/Accordion.js +0 -73
  133. package/dist/button/BaseButton.d.ts +0 -15
  134. package/dist/button/BaseButton.js +0 -80
  135. package/dist/button/Button.js +0 -40
  136. package/dist/button/IconButton.js +0 -40
  137. package/dist/button/button.scss +0 -46
  138. package/dist/core/LightMode.js +0 -50
  139. package/dist/core/RiksTV.js +0 -115
  140. package/dist/core/Strim.js +0 -10
  141. package/dist/core/core.scss +0 -29
  142. package/dist/core/rtv.scss +0 -58
  143. package/dist/core/strm.scss +0 -62
  144. package/dist/index.d.ts +0 -11
  145. package/dist/textfield/TextField.js +0 -87
  146. package/dist/textfield/textfield.scss +0 -101
  147. package/dist/toggle/FieldSet.js +0 -66
  148. package/dist/toggle/RadioToggle.js +0 -65
  149. package/dist/toggleButton/ToggleButton.js +0 -106
  150. package/dist/toggleButton/internal/generateId.d.ts +0 -1
  151. package/dist/typography/Typography.js +0 -95
@@ -0,0 +1,102 @@
1
+ @use "./mixin/rem";
2
+ @use "./mixin/breakpoints" as break;
3
+ @use "./mixin/focus" as focus;
4
+
5
+ :root {
6
+ // Spacing
7
+ --rds-spacing--2: #{rem.convert(2px)};
8
+ --rds-spacing--4: #{rem.convert(4px)};
9
+ --rds-spacing--8: #{rem.convert(8px)};
10
+ --rds-spacing--16: #{rem.convert(16px)};
11
+ --rds-spacing--24: #{rem.convert(24px)};
12
+ --rds-spacing--32: #{rem.convert(32px)};
13
+ --rds-spacing--48: #{rem.convert(48px)};
14
+ --rds-spacing--64: #{rem.convert(64px)};
15
+ --rds-spacing--80: #{rem.convert(80px)};
16
+ --rds-spacing--96: #{rem.convert(96px)};
17
+
18
+ // Common shadows
19
+ --rds-box-shadow--default: 0px 8px 16px rgba(0, 0, 0, 0.5);
20
+
21
+ // Widths
22
+ --rds-readability-width: 60ch;
23
+ --rds-content-width--default: 1070px;
24
+
25
+ // Breakpoints
26
+ --rds-breakpoint--sm: #{break.$sm};
27
+ --rds-breakpoint--md: #{break.$md};
28
+ --rds-breakpoint--lg: #{break.$lg};
29
+
30
+ // Gutters
31
+ --rds-gutter--sm: 1rem;
32
+ --rds-gutter--md: 5vw;
33
+ --rds-gutter--lg: 7.5vw;
34
+
35
+ --rds-gutter: var(--rds-gutter--sm);
36
+
37
+ @include break.min("sm") {
38
+ --rds-gutter: var(--rds-gutter--md);
39
+ }
40
+
41
+ @include break.min("lg") {
42
+ --rds-gutter: var(--rds-gutter--lg);
43
+ }
44
+ }
45
+
46
+ .rds-gutter {
47
+ margin-inline: var(--rds-gutter);
48
+ }
49
+
50
+ .rds-gutter-padding {
51
+ padding-inline: var(--rds-gutter);
52
+ }
53
+
54
+ .sr-only {
55
+ position: absolute;
56
+ width: 1px;
57
+ height: 1px;
58
+ margin: -1px;
59
+ padding: 0;
60
+ overflow: hidden;
61
+ clip: rect(0, 0, 0, 0);
62
+ border: 0;
63
+ }
64
+
65
+ .with-keyboard-focus {
66
+ @include focus.with-keyboard-focus;
67
+ }
68
+
69
+ @font-face {
70
+ font-family: "HALMatex";
71
+ src: url("https://static.rikstv.no/strim/fonts/HALMatexStrim-Regular.woff2") format("woff2"),
72
+ url("https://static.rikstv.no/strim/fonts/HALMatexStrim-Regular.woff") format("woff");
73
+ font-style: normal;
74
+ font-display: swap;
75
+ }
76
+
77
+ @font-face {
78
+ font-family: "AvertaRegular";
79
+ src: url("https://static.rikstv.no/strim/fonts/AvertaStandardRegular.woff2") format("woff2"),
80
+ url("https://static.rikstv.no/strim/fonts/hinted-AvertaStd-Regular.woff") format("woff");
81
+ font-weight: 400;
82
+ font-style: normal;
83
+ font-display: swap;
84
+ }
85
+
86
+ @font-face {
87
+ font-family: "AvertaSemibold";
88
+ src: url("https://static.rikstv.no/strim/fonts/AvertaStandardSemibold.woff2") format("woff2"),
89
+ url("https://static.rikstv.no/strim/fonts/hinted-AvertaStd-Semibold.woff") format("woff");
90
+ font-weight: 500;
91
+ font-style: normal;
92
+ font-display: swap;
93
+ }
94
+
95
+ @font-face {
96
+ font-family: "AvertaBold";
97
+ src: url("https://static.rikstv.no/strim/fonts/AvertaStandardBold.woff2") format("woff2"),
98
+ url("https://static.rikstv.no/strim/fonts/hinted-AvertaStd-Bold.woff") format("woff");
99
+ font-weight: 700;
100
+ font-style: normal;
101
+ font-display: swap;
102
+ }
@@ -0,0 +1,12 @@
1
+ .spacing-block {
2
+ &__container {
3
+ display: flex;
4
+ }
5
+
6
+ &__list {
7
+ display: flex;
8
+ flex-direction: column;
9
+ width: fit-content;
10
+ gap: var(--rds-spacing--8);
11
+ }
12
+ }
@@ -0,0 +1,66 @@
1
+ .color-swatch {
2
+ &__wrapper {
3
+ display: flex;
4
+ align-items: center;
5
+ flex-direction: column;
6
+ width: 230px;
7
+ background-color: var(--rds-foreground-primary);
8
+ border-radius: var(--rds-roundness--default);
9
+ overflow: hidden;
10
+ border: var(--swatch-border);
11
+ position: relative;
12
+
13
+ @keyframes color-swatch-copy-fade {
14
+ 25% {
15
+ opacity: 1;
16
+ transform: translateY(0);
17
+ }
18
+ 75% {
19
+ opacity: 1;
20
+ transform: translateY(0);
21
+ }
22
+ 100% {
23
+ opacity: 0;
24
+ transform: translateY(calc(var(--color-swatch-animation-offset) * -1));
25
+ }
26
+ }
27
+
28
+ &--copied::before {
29
+ --color-swatch-animation-offset: 10px;
30
+ @media (prefers-reduced-motion) {
31
+ --color-swatch-animation-offset: 0px;
32
+ }
33
+
34
+ content: attr(data-copied);
35
+ position: absolute;
36
+ padding: var(--rds-spacing--24);
37
+ border-radius: var(--rds-roundness--default);
38
+ inset: auto 0 0 0;
39
+ margin: 4px;
40
+ background-color: var(--rds-heading-accent);
41
+ color: var(--rds-background-secondary);
42
+ text-align: center;
43
+ opacity: 0;
44
+ transform: translateY(var(--color-swatch-animation-offset));
45
+ animation-duration: var(--swatch-animation-duration);
46
+ animation-fill-mode: forwards;
47
+ animation-iteration-count: 1;
48
+ animation-name: color-swatch-copy-fade;
49
+ animation-timing-function: ease;
50
+ box-shadow: var(--rds-box-shadow--default);
51
+ }
52
+ }
53
+
54
+ &__palette {
55
+ width: 100%;
56
+ height: 200px;
57
+ background-color: var(--swatch-color);
58
+ margin-bottom: var(--rds-spacing--16);
59
+ }
60
+
61
+ &__text {
62
+ padding-inline: var(--rds-spacing--16);
63
+ box-sizing: border-box;
64
+ width: 100%;
65
+ }
66
+ }
@@ -0,0 +1,19 @@
1
+ .color-swatch {
2
+ &__btn {
3
+ border: none;
4
+ width: auto;
5
+ background: transparent;
6
+ line-height: normal;
7
+ -webkit-appearance: none;
8
+ &::-moz-focus-inner {
9
+ border: 0;
10
+ padding: 0;
11
+ }
12
+
13
+ display: flex;
14
+ text-align: left;
15
+ padding: 0;
16
+ cursor: pointer;
17
+ margin-block: var(--rds-spacing--8);
18
+ }
19
+ }
@@ -0,0 +1,12 @@
1
+ .example-grid {
2
+ &__title::first-letter {
3
+ text-transform: uppercase;
4
+ }
5
+
6
+ &__container {
7
+ display: grid;
8
+ grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
9
+ gap: var(--rds-spacing--32);
10
+ margin-bottom: var(--rds-spacing--48);
11
+ }
12
+ }
@@ -0,0 +1,6 @@
1
+ .spacing-block {
2
+ background-color: var(--rds-accent-color-dark);
3
+ margin-left: var(--rds-spacing--8);
4
+ height: var(--spacing-size);
5
+ width: var(--spacing-size);
6
+ }
@@ -0,0 +1,12 @@
1
+ .animation {
2
+ &-panel {
3
+ transition: 200ms height ease-in-out;
4
+ max-width: var(--rds-readability-width);
5
+ &--hidden {
6
+ display: none;
7
+ }
8
+ }
9
+ &-btn {
10
+ margin-bottom: var(--rds-spacing--24);
11
+ }
12
+ }
@@ -0,0 +1,11 @@
1
+ .click-outside {
2
+ border: 1px solid var(--rds-heading-accent);
3
+ border-radius: var(--rds-roundness--default);
4
+ height: 250px;
5
+ max-width: var(--rds-readability-width);
6
+ display: grid;
7
+ place-items: center;
8
+ & > span {
9
+ user-select: none;
10
+ }
11
+ }
@@ -0,0 +1,14 @@
1
+ .example-intersection {
2
+ transition: 200ms background-color ease-in-out;
3
+ border-radius: var(--rds-roundness--default);
4
+ padding: var(--rds-spacing--32);
5
+ margin-top: 50vh;
6
+
7
+ &--visible {
8
+ background-color: var(--rds-background-secondary);
9
+ }
10
+
11
+ &--not-visible {
12
+ background-color: var(--rds-background-tertiary);
13
+ }
14
+ }
@@ -0,0 +1,19 @@
1
+ import { RefObject } from "react";
2
+ export interface UseAnimatedHeightOptions {
3
+ onTransitionStart?: (isOpening: boolean) => void;
4
+ onTransitionEnd?: (isOpen: boolean) => void;
5
+ }
6
+ /**
7
+ *
8
+ * useMagic or useAnimatedHeight as its called
9
+ * lets you smoothly animate elements by height
10
+ *
11
+ * set `transition: 200ms height ease-in-out` on the
12
+ * transitioning element, and `display: none` on the
13
+ * hidden state
14
+ *
15
+ * This can be an rather expensive operation, so use
16
+ * with care and attention
17
+ *
18
+ */
19
+ export declare function useAnimatedHeight<T extends HTMLElement>(isOpen: boolean, options?: UseAnimatedHeightOptions): [RefObject<T>, () => void];
@@ -0,0 +1,5 @@
1
+ declare type BrowserPreferences = {
2
+ prefersReducedMotion: boolean;
3
+ };
4
+ export declare const useBrowserPreferences: () => BrowserPreferences;
5
+ export {};
@@ -0,0 +1,8 @@
1
+ import { RefObject } from "react";
2
+ interface Props {
3
+ ref: RefObject<HTMLElement> | null;
4
+ callback: (e: MouseEvent) => void;
5
+ condition?: boolean;
6
+ }
7
+ export declare const useClickOutsideListener: ({ ref, callback, condition }: Props) => void;
8
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare const useIntersectionObserver: (callback: IntersectionObserverCallback, options?: IntersectionObserverInit, fallback?: VoidFunction, enabled?: boolean) => ((refNode: any) => void)[];
2
+ export declare const useElementVisible: (options?: IntersectionObserverInit, enabled?: boolean) => readonly [(refNode: any) => void, boolean];
@@ -0,0 +1,2 @@
1
+ import { RefObject } from "react";
2
+ export declare const useMutationObserver: (target: Element | RefObject<HTMLElement>, onObservation: MutationCallback, config?: Partial<MutationObserverInit>) => void;
@@ -0,0 +1,44 @@
1
+ $xs: 568px;
2
+ $sm: 768px;
3
+ $md: 992px;
4
+ $ml: 1025px;
5
+ $lg: 1200px;
6
+ $lw: 1600px;
7
+ $xl: 2400px;
8
+
9
+ $breakpoints: (
10
+ "xs": $xs,
11
+ "sm": $sm,
12
+ "md": $md,
13
+ "ml": $ml,
14
+ "lg": $lg,
15
+ "lw": $lw,
16
+ "xl": $xl,
17
+ ) !default;
18
+
19
+ @mixin breakpoint($breakpoint) {
20
+ // If the key exists in the map
21
+ @if map-has-key($breakpoints, $breakpoint) {
22
+ // Prints a media query based on the value
23
+ @media (max-width: map-get($breakpoints, $breakpoint)) {
24
+ @content;
25
+ }
26
+ }
27
+
28
+ // If the key doesn't exist in the map
29
+ @else {
30
+ @warn 'Unfortunately, no value could be retrieved from `#{$breakpoint}`. ' + 'Available breakpoints are: #{map-keys($breakpoints)}.';
31
+ }
32
+ }
33
+
34
+ @mixin min($breakpoint) {
35
+ // If the key exists in the map
36
+ @if map-has-key($breakpoints, $breakpoint) {
37
+ // Prints a media query based on the value
38
+ @media (min-width: map-get($breakpoints, $breakpoint)) {
39
+ @content;
40
+ }
41
+ } @else {
42
+ @warn 'Unfortunately, no value could be retrieved from `#{$breakpoint}`. ' + 'Available breakpoints are: #{map-keys($breakpoints)}.';
43
+ }
44
+ }
File without changes
File without changes
File without changes
@@ -0,0 +1,71 @@
1
+ @use "./core";
2
+
3
+ .rtv {
4
+ // RiksTV Red
5
+ --rikstv-red: #ef4642;
6
+ --rikstv-red-120: #d41612;
7
+
8
+ // Neutrals
9
+ --rikstv-white: #ffffff;
10
+ --rikstv-black: #000000;
11
+
12
+ // Onyx
13
+ --rikstv-onyx-150: #0f0f0f;
14
+ --rikstv-onyx: #1d1d1d;
15
+ --rikstv-onyx-90: #313131;
16
+
17
+ // Slate
18
+ --rikstv-slate: #353535;
19
+ --rikstv-slate-80: #626262;
20
+ --rikstv-slate-60: #828282;
21
+ --rikstv-slate-40: #afafaf;
22
+ --rikstv-slate-20: #ddd;
23
+
24
+ // Ask
25
+ --rikstv-ask: #5c5c5c;
26
+ --rikstv-ask-80: #787878;
27
+ --rikstv-ask-60: #9c9c9c;
28
+ --rikstv-ask-40: #c0c0c0;
29
+
30
+ // Sterling
31
+ --rikstv-sterling: #b8b8b8;
32
+ --rikstv-sterling-40: #e5e5e5;
33
+ --rikstv-sterling-20: #f1f1f1;
34
+ --rikstv-sterling-10: #f8f8f8;
35
+
36
+ // Secondary
37
+ --rikstv-purple: #542453;
38
+ --rikstv-green: #00816d;
39
+ --rikstv-blue: #195a89;
40
+ --rikstv-light-blue: #0f7ca2;
41
+ --rikstv-yellow: #f2a900;
42
+
43
+ // Feedback colors
44
+ --rikstv-info-light: #00aec7;
45
+ --rikstv-warning-light: #f2a900;
46
+ --rikstv-success-light: #4cbb81;
47
+ --rikstv-error-light: #f17774;
48
+
49
+ --rikstv-info-dark: #007485;
50
+ --rikstv-warning-dark: #996b00;
51
+ --rikstv-success-dark: #2a6f4b;
52
+ --rikstv-error-dark: #e01c17;
53
+
54
+ // NEEDS HANDLING
55
+ // Background
56
+ --rikstv-background-gray-150: #0b0b0b;
57
+ --rikstv-background-gray: #252525;
58
+ --rikstv-background-gray-90: #3b3b3b;
59
+ --rikstv-banner-background: #e9e9e9;
60
+ --rikstv-background: #f9f9f9;
61
+
62
+ // Card
63
+ --rikstv-card-gray: #434343;
64
+ --rikstv-card-gray-80: #333333;
65
+ --rikstv-card-gray-60: #6e6e6e;
66
+ --rikstv-card-gray-20: #d9d9d9;
67
+
68
+ // Foreground
69
+ --rikstv-foreground-gray: #666666;
70
+ --rikstv-foreground-gray-80: #858585;
71
+ }
@@ -0,0 +1,75 @@
1
+ @use "./core";
2
+ @use "./rikstvColors";
3
+
4
+ // Semantic colors/tags
5
+ .rtv {
6
+ // Brand colors
7
+ --rds-heading-accent: var(--rikstv-white);
8
+ --rds-accent-color: var(--rikstv-red);
9
+ --rds-accent-color-mid: #ed302b; // mangler
10
+ --rds-accent-color-dark: var(--rikstv-red-120);
11
+ --rds-accent-hover: var(--rikstv-red-120);
12
+
13
+ // Buttons
14
+ --rds-button-primary-fg: var(--rikstv-white);
15
+ --rds-button-secondary-pressed-fg: var(--rikstv-foreground-gray);
16
+ --rds-button-secondary-pressed-bg: var(--rikstv-white);
17
+ --rds-button-tertirary-bg: var(--rikstv-background-gray-90);
18
+ --rds-button-tertiary-hover-bg: var(--rikstv-card-gray);
19
+
20
+ // Foreground
21
+ --rds-foreground-primary: var(--rikstv-white);
22
+ --rds-foreground-secondary: #a8a8a8; // mangler
23
+ --rds-foreground-tertiary: var(--rikstv-foreground-gray);
24
+
25
+ // Background
26
+ --rds-background-primary-rgb: var(--rikstv-background-gray);
27
+ --rds-background-primary: var(--rikstv-background-gray);
28
+ --rds-background-secondary: var(--rikstv-background-gray-150);
29
+ --rds-background-tertiary: var(--rikstv-card-gray);
30
+ --rds-background-card: var(--rikstv-background-gray-90);
31
+
32
+ // Transparent objects
33
+ --rds-foreground-overlay-soft: #ffffff1a;
34
+ --rds-foreground-overlay-medium: #ffffff4d;
35
+ --rds-foreground-overlay-heavy: #ffffffb3;
36
+
37
+ // ?
38
+ --rds-foreground-solid-soft: #3c3c3c; // mangler
39
+ --rds-surface-foreground: var(--rikstv-card-gray);
40
+
41
+ // Toggle
42
+ --rds-toggle-collapsed: var(--rds-accent-color);
43
+ --rds-toggle-expanded: var(--rds-accent-color-dark);
44
+
45
+ // Image/player overlays
46
+ --rds-background-overlay-soft: #0000001a;
47
+ --rds-background-overlay-medium: #00000080;
48
+ --rds-background-overlay-heavy: #000000d9;
49
+
50
+ // Feedback
51
+ --rds-feedback-info: var(--rikstv-light-blue);
52
+ --rds-feedback-warning: var(--rikstv-yellow);
53
+ --rds-feedback-confirm: var(--rikstv-success-light);
54
+ --rds-feedback-error: var(--rikstv-error-dark); // deprecated and should not be used
55
+ --rds-feedback-error-text: var(--rikstv-error-light);
56
+ --rds-feedback-error-object: var(--rikstv-error-dark);
57
+
58
+ // Roundness
59
+ --rds-roundness--default: 4px;
60
+ --rds-roundness--medium: 6px;
61
+ --rds-roundness--large: 8px;
62
+ --rds-roundness--xlarge: 12px;
63
+ --rds-roundness--button: 34px;
64
+
65
+ // Fonts
66
+ --rds-font-family-lg-headlines: "AvertaBold", Arial, Helvetica, "system-ui", sans-serif;
67
+ --rds-font-family-headlines: "AvertaBold", Arial, Helvetica, "system-ui", sans-serif;
68
+ --rds-font-family-m-headlines: "AvertaSemibold", Arial, Helvetica, "system-ui", sans-serif;
69
+ --rds-font-family-body: "AvertaRegular", Arial, Helvetica, "system-ui", sans-serif;
70
+
71
+ --rds-font-size--default: 1.125rem;
72
+
73
+ -webkit-font-smoothing: antialiased;
74
+ -moz-osx-font-smoothing: grayscale;
75
+ }
@@ -0,0 +1,2 @@
1
+ import { FC, HTMLAttributes } from "react";
2
+ export declare const Gutter: FC<HTMLAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ import { FC, HTMLAttributes } from "react";
2
+ export declare const GutterPadding: FC<HTMLAttributes<HTMLDivElement>>;
@@ -0,0 +1,48 @@
1
+ @use "./core";
2
+
3
+ .strm {
4
+ // Yellow
5
+ --strim-action-yellow: #faed6f;
6
+ --strim-action-yellow-60: #fcf4a9;
7
+ --strim-action-yellow-40: #fefbe2;
8
+
9
+ // Neutrals
10
+ --strim-white: #ffffff;
11
+ --strim-black: #000000;
12
+
13
+ // Fantasy green
14
+ --strim-fantasy-green-150: #001515;
15
+ --strim-fantasy-green: #002a2a;
16
+ --strim-fantasy-green-90: #193f3f;
17
+ --strim-fantasy-green-60: #4c7571;
18
+
19
+ // Thriller teal
20
+ --strim-thriller-teal: #004b50;
21
+ --strim-thriller-teal-80: #267c82;
22
+ --strim-thriller-teal-60: #419da2;
23
+ --strim-thriller-teal-40: #79c6c6;
24
+ --strim-thriller-teal-20: #c3e8e7;
25
+
26
+ // Romance green
27
+ --strim-romance-green: #356e63;
28
+ --strim-romance-green-80: #429181;
29
+ --strim-romance-green-60: #62b7a5;
30
+ --strim-romance-green-40: #93d6c9;
31
+
32
+ // Standup green
33
+ --strim-standup-green: #49f5a4;
34
+ --strim-standup-green-40: #bcfbde;
35
+ --strim-standup-green-20: #d6ffec;
36
+ --strim-standup-green-10: #edfef6;
37
+
38
+ // Feedback colors
39
+ --strim-info-light: #30d7f9;
40
+ --strim-warning-light: #f2a900;
41
+ --strim-success-light: #80ed99;
42
+ --strim-error-light: #ff8fa3;
43
+
44
+ --strim-info-dark: #167183;
45
+ --strim-warning-dark: #996b00;
46
+ --strim-success-dark: #13862d;
47
+ --strim-error-dark: #d91b4e;
48
+ }
@@ -0,0 +1,79 @@
1
+ @use "./core";
2
+ @use "./strimColors";
3
+
4
+ .strm {
5
+ // ?
6
+ --stand-up-green: var(--strim-standup-green);
7
+ --surface-background: var(--strim-standup-green-10);
8
+ --faded-text: var(--strim-thriller-teal-40);
9
+
10
+ // Brand colors
11
+ --rds-heading-accent: var(--stand-up-green);
12
+ --rds-accent-color: var(--strim-action-yellow);
13
+ --rds-accent-color-mid: #f7e426; // mangler
14
+ --rds-accent-color-dark: #f7e426; // mangler
15
+ --rds-accent-hover: var(--strim-action-yellow-60);
16
+
17
+ // Buttons
18
+ --rds-button-primary-fg: var(--strim-thriller-teal);
19
+ --rds-button-secondary-pressed-fg: var(--strim-white);
20
+ --rds-button-secondary-pressed-bg: #001d1d; // mangler
21
+ --rds-button-tertirary-bg: var(--strim-fantasy-green-90);
22
+ --rds-button-tertiary-hover-bg: var(--strim-thriller-teal);
23
+
24
+ // Foreground
25
+ --rds-foreground-primary: var(--strim-white);
26
+ --rds-foreground-secondary: #b2bfbf; // mangler
27
+ --rds-foreground-tertiary: var(--strim-romance-green);
28
+
29
+ // Background
30
+ --rds-background-primary-rgb: var(--strim-fantasy-green); // not shown in portal
31
+ --rds-background-primary: var(--strim-fantasy-green);
32
+ --rds-background-secondary: var(--strim-fantasy-green-150);
33
+ --rds-background-tertiary: var(--strim-thriller-teal);
34
+ --rds-background-card: var(--strim-fantasy-green-90);
35
+
36
+ // Transparent objects
37
+ --rds-foreground-overlay-soft: #ffffff1a;
38
+ --rds-foreground-overlay-medium: #ffffff4d;
39
+ --rds-foreground-overlay-heavy: #ffffffb3;
40
+
41
+ // ?
42
+ --rds-foreground-solid-soft: #1a4040; // mangler
43
+ --rds-surface-foreground: var(--strim-thriller-teal);
44
+
45
+ // Toggle
46
+ --rds-toggle-collapsed: var(--strim-standup-green-40);
47
+ --rds-toggle-expanded: var(--strim-standup-green);
48
+
49
+ // Image/player overlays
50
+ --rds-background-overlay-soft: #0000001a;
51
+ --rds-background-overlay-medium: #00000080;
52
+ --rds-background-overlay-heavy: #000000d9;
53
+
54
+ // Feedback
55
+ --rds-feedback-info: var(--strim-info-light);
56
+ --rds-feedback-warning: var(--strim-warning-light);
57
+ --rds-feedback-confirm: #4cbb81; // mangler
58
+ --rds-feedback-error: #e01c17; // deprecated and should not be used
59
+ --rds-feedback-error-text: var(--strim-error-light);
60
+ --rds-feedback-error-object: var(--strim-error-dark);
61
+
62
+ // Roundsness
63
+ --rds-roundness--default: 12px;
64
+ --rds-roundness--medium: 16px;
65
+ --rds-roundness--large: 24px;
66
+ --rds-roundness--xlarge: 40px;
67
+ --rds-roundness--button: 12px;
68
+
69
+ // Fonts
70
+ --rds-font-family-lg-headlines: "HALMatex", "system-ui", sans-serif;
71
+ --rds-font-family-headlines: "AvertaBold", Arial, Helvetica, "system-ui", sans-serif;
72
+ --rds-font-family-m-headlines: "AvertaSemibold", Arial, Helvetica, "system-ui", sans-serif;
73
+ --rds-font-family-body: "AvertaRegular", Arial, Helvetica, "system-ui", sans-serif;
74
+
75
+ --rds-font-size--default: 1.125rem;
76
+
77
+ -webkit-font-smoothing: antialiased;
78
+ -moz-osx-font-smoothing: grayscale;
79
+ }
@@ -0,0 +1,2 @@
1
+ import { FC } from "react";
2
+ export declare const Arrow: FC;
@@ -0,0 +1,12 @@
1
+ import { j as jsx } from "../core/RiksTV.js";
2
+ const Arrow = () => /* @__PURE__ */ jsx("svg", {
3
+ "aria-label": "Pil",
4
+ viewBox: "0 0 32 32",
5
+ fill: "none",
6
+ xmlns: "http://www.w3.org/2000/svg",
7
+ children: /* @__PURE__ */ jsx("path", {
8
+ fill: "currentColor",
9
+ d: "M28.146 15.903a1.586 1.586 0 0 0-.078-.36 1.533 1.533 0 0 0-.233-.379L17.633 4.33a1.127 1.127 0 0 0-1.594 0 1.224 1.224 0 0 0 0 1.632l8.492 8.9H5.167a1.166 1.166 0 1 0 0 2.333h19.356l-8.483 8.852a1.224 1.224 0 0 0 0 1.603 1.058 1.058 0 0 0 .797.35 1.078 1.078 0 0 0 .806-.35l10.193-10.883c.106-.108.189-.237.243-.379.042-.109.068-.223.078-.34l-.01-.145Z"
10
+ })
11
+ });
12
+ export { Arrow as A };
File without changes
File without changes