@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
@@ -20,10 +20,16 @@
20
20
  }
21
21
 
22
22
  .rds-icon__heart-toggle {
23
- transform: scale(1);
24
- animation-duration: 1000ms;
25
- animation-fill-mode: forwards;
26
- animation-iteration-count: 1;
27
- animation-name: rds-heart-beat;
28
- animation-timing-function: ease-out;
23
+ &--checked {
24
+ transform: scale(1);
25
+ animation-duration: 1000ms;
26
+ animation-fill-mode: forwards;
27
+ animation-iteration-count: 1;
28
+ animation-name: rds-heart-beat;
29
+ animation-timing-function: ease-out;
30
+ }
31
+
32
+ svg {
33
+ display: block;
34
+ }
29
35
  }
@@ -0,0 +1,31 @@
1
+ export { RiksTVProvider } from "./core/RiksTV";
2
+ export { StrimProvider } from "./core/Strim";
3
+ export { LightMode } from "./core/LightMode";
4
+ export { Gutter } from "./core/spacing/Gutter";
5
+ export { GutterPadding } from "./core/spacing/GutterPadding";
6
+ export { Accordion } from "./accordion/Accordion";
7
+ export { Panel } from "./panel/Panel";
8
+ export { Checkbox } from "./checkbox/Checkbox";
9
+ export { PrimaryButton, SecondaryButton, TertiaryButton, LinkButton, BaseLinkButton } from "./button/Button";
10
+ export { PrimaryIconButton, SecondaryIconButton, TertiaryIconButton } from "./button/IconButton";
11
+ export { PrimaryArrowButton, SecondaryArrowButton, TertiaryArrowButton } from "./button/ArrowButton";
12
+ export { ToggleButton } from "./toggleButton/ToggleButton";
13
+ export { ToggleLinkButton } from "./toggleLinkButton/ToggleLinkButton";
14
+ export { RadioToggleInput } from "./toggle/RadioToggle";
15
+ export { FieldSet } from "./toggle/FieldSet";
16
+ export { TextField } from "./textfield/TextField";
17
+ export { Breadcrumb, BreadcrumbCurrent } from "./breadcrumb/Breadcrumb";
18
+ export { Progress } from "./progress/Progress";
19
+ export { DisplayTitle, H1, H2, H3, H4, Lead, Body, Bold, SubBody, Tag, Meta, Span } from "./typography/Typography";
20
+ export { List } from "./list/List";
21
+ export { CheckmarkListItem } from "./list/CheckmarkListItem";
22
+ export { ListItem } from "./list/ListItem";
23
+ export { CrossmarkListItem } from "./list/CrossmarkListItem";
24
+ export { OrderedListItem } from "./list/OrderedListItem";
25
+ export { Loader } from "./loader/Loader";
26
+ export { CircularProgress } from "./progress/CircularProgress";
27
+ export { useAnimatedHeight } from "./core/hooks/useAnimatedHeight";
28
+ export { useBrowserPreferences } from "./core/hooks/useBrowserPreferences";
29
+ export { useClickOutsideListener } from "./core/hooks/useClickOutsideListener";
30
+ export { useIntersectionObserver, useElementVisible } from "./core/hooks/useIntersectionObserver";
31
+ export { useMutationObserver } from "./core/hooks/useMutationObserver";
@@ -0,0 +1,8 @@
1
+ import { FC, HTMLAttributes } from "react";
2
+ import "./CheckmarkListItem.scss";
3
+ interface Props extends HTMLAttributes<HTMLLIElement> {
4
+ className?: string;
5
+ color?: "error" | "success";
6
+ }
7
+ export declare const CheckmarkListItem: FC<Props>;
8
+ export {};
@@ -0,0 +1,32 @@
1
+ import { j as jsx } from "../core/RiksTV.js";
2
+ const getMarkColor = (color) => {
3
+ switch (color) {
4
+ case "error":
5
+ return { "--mark-color": "var(--rds-feedback-error-object)" };
6
+ case "success":
7
+ return { "--mark-color": "var(--rds-feedback-confirm)" };
8
+ default:
9
+ return void 0;
10
+ }
11
+ };
12
+ var CheckmarkListItem$1 = /* @__PURE__ */ (() => '@charset "UTF-8";.rds-list__item__checkmark{--mark-color: currentColor;--unicode-cross: "\\2713";display:flex;align-items:flex-start;margin-bottom:var(--list-item__spacing)}.rds-list__item__checkmark:last-child{margin:0}.rds-list__item__checkmark:before{content:var(--unicode-cross);alt:var(--unicode-cross);text-indent:-9999px;display:block;width:1em;height:1em;flex-shrink:0;margin-right:1rem;margin-top:.225em;clip-path:polygon(33.59% 75.55%,2.27% 44.24%,2.27% 33.29%,13.21% 33.29%,35.62% 55.65%,89% 2.27%,100% 2.27%,100% 13.21%,37.6% 75.55%,33.59% 75.55%);background-color:var(--mark-color)}\n')();
13
+ const CheckmarkListItem = ({
14
+ color,
15
+ style,
16
+ className = "",
17
+ children,
18
+ ...rest
19
+ }) => {
20
+ const calculatedStyle = {
21
+ ...style,
22
+ ...getMarkColor(color)
23
+ };
24
+ return /* @__PURE__ */ jsx("li", {
25
+ style: calculatedStyle,
26
+ className: `rds-list__item__checkmark ${className}`,
27
+ "data-testid": "rds-list-item--check",
28
+ ...rest,
29
+ children
30
+ });
31
+ };
32
+ export { CheckmarkListItem as C, getMarkColor as g };
@@ -0,0 +1,41 @@
1
+ .rds-list__item__checkmark {
2
+ --mark-color: currentColor;
3
+ --unicode-cross: "\2713";
4
+
5
+ display: flex;
6
+ align-items: flex-start;
7
+ margin-bottom: var(--list-item__spacing);
8
+
9
+ &:last-child {
10
+ margin: 0;
11
+ }
12
+
13
+ &::before {
14
+ content: var(--unicode-cross);
15
+ // Safari handling of screen reader
16
+ alt: var(--unicode-cross);
17
+ // Move the text off screen
18
+ text-indent: -9999px;
19
+
20
+ display: block;
21
+ width: 1em;
22
+ height: 1em;
23
+ flex-shrink: 0;
24
+ margin-right: 1rem;
25
+ margin-top: 0.225em;
26
+
27
+ clip-path: polygon(
28
+ 33.59% 75.55%,
29
+ 2.27% 44.24%,
30
+ 2.27% 33.29%,
31
+ 13.21% 33.29%,
32
+ 35.62% 55.65%,
33
+ 89% 2.27%,
34
+ 100% 2.27%,
35
+ 100% 13.21%,
36
+ 37.6% 75.55%,
37
+ 33.59% 75.55%
38
+ );
39
+ background-color: var(--mark-color);
40
+ }
41
+ }
@@ -0,0 +1,8 @@
1
+ import { FC, HTMLAttributes } from "react";
2
+ import "./CrossmarkListItem.scss";
3
+ interface Props extends Omit<HTMLAttributes<HTMLLIElement>, "color"> {
4
+ className?: string;
5
+ color?: "error" | "success";
6
+ }
7
+ export declare const CrossmarkListItem: FC<Props>;
8
+ export {};
@@ -0,0 +1,23 @@
1
+ import { g as getMarkColor } from "./CheckmarkListItem.js";
2
+ import { j as jsx } from "../core/RiksTV.js";
3
+ var CrossmarkListItem$1 = /* @__PURE__ */ (() => '@charset "UTF-8";.rds-list__item__crossmark{--mark-color: currentColor;--unicode-cross: "\\274c";display:flex;align-items:center;margin-bottom:var(--list-item__spacing)}.rds-list__item__crossmark:last-child{margin:0}.rds-list__item__crossmark:before{content:var(--unicode-cross);alt:var(--unicode-cross);text-indent:-9999px;display:block;width:1em;height:1em;flex-shrink:0;margin-right:1rem;clip-path:polygon(10% 0%,0% 10%,40% 50%,0% 90%,10% 100%,50% 60%,90% 100%,100% 90%,60% 50%,100% 10%,90% 0%,50% 40%);background-color:var(--mark-color)}\n')();
4
+ const CrossmarkListItem = ({
5
+ color,
6
+ style,
7
+ className = "",
8
+ children,
9
+ ...rest
10
+ }) => {
11
+ const calculatedStyle = {
12
+ ...style,
13
+ ...getMarkColor(color)
14
+ };
15
+ return /* @__PURE__ */ jsx("li", {
16
+ style: calculatedStyle,
17
+ className: `rds-list__item__crossmark ${className}`,
18
+ "data-testid": "rds-list-item--cross",
19
+ ...rest,
20
+ children
21
+ });
22
+ };
23
+ export { CrossmarkListItem as C };
@@ -0,0 +1,42 @@
1
+ .rds-list__item__crossmark {
2
+ --mark-color: currentColor;
3
+ --unicode-cross: "\274C";
4
+
5
+ display: flex;
6
+ align-items: center;
7
+ margin-bottom: var(--list-item__spacing);
8
+
9
+ &:last-child {
10
+ margin: 0;
11
+ }
12
+
13
+ &::before {
14
+ content: var(--unicode-cross);
15
+ // Safari handling of screen reader
16
+ alt: var(--unicode-cross);
17
+ // Move the text off screen
18
+ text-indent: -9999px;
19
+
20
+ display: block;
21
+ width: 1em;
22
+ height: 1em;
23
+ flex-shrink: 0;
24
+ margin-right: 1rem;
25
+
26
+ clip-path: polygon(
27
+ 10% 0%,
28
+ 0% 10%,
29
+ 40% 50%,
30
+ 0% 90%,
31
+ 10% 100%,
32
+ 50% 60%,
33
+ 90% 100%,
34
+ 100% 90%,
35
+ 60% 50%,
36
+ 100% 10%,
37
+ 90% 0%,
38
+ 50% 40%
39
+ );
40
+ background-color: var(--mark-color);
41
+ }
42
+ }
@@ -0,0 +1,8 @@
1
+ import { HTMLAttributes } from "react";
2
+ import "./List.scss";
3
+ interface Props extends HTMLAttributes<HTMLUListElement | HTMLOListElement> {
4
+ className?: string;
5
+ ordered?: boolean;
6
+ }
7
+ export declare const List: import("react").ForwardRefExoticComponent<Props & import("react").RefAttributes<HTMLOListElement | HTMLUListElement>>;
8
+ export {};
@@ -0,0 +1,28 @@
1
+ import { forwardRef } from "react";
2
+ import { j as jsx } from "../core/RiksTV.js";
3
+ var List$1 = /* @__PURE__ */ (() => ".rds-list{--list-item__spacing: 1em;list-style:none;padding:0;counter-reset:listCounter}.rds-list .rds-list>li{padding-left:2rem;margin-bottom:var(--list-item__spacing)}\n")();
4
+ const List = forwardRef(({
5
+ className = "",
6
+ ordered = false,
7
+ children,
8
+ ...rest
9
+ }, ref) => {
10
+ if (ordered) {
11
+ return /* @__PURE__ */ jsx("ol", {
12
+ ref,
13
+ className: `rds-list ${className}`,
14
+ "data-testid": "rds-list--ordered",
15
+ ...rest,
16
+ children
17
+ });
18
+ }
19
+ return /* @__PURE__ */ jsx("ul", {
20
+ ref,
21
+ className: `rds-list ${className}`,
22
+ "data-testid": "rds-list--unordered",
23
+ ...rest,
24
+ children
25
+ });
26
+ });
27
+ List.displayName = "List";
28
+ export { List as L };
@@ -0,0 +1,15 @@
1
+ @use "../core/mixin/rem";
2
+
3
+ .rds-list {
4
+ --list-item__spacing: 1em;
5
+
6
+ list-style: none;
7
+ padding: 0;
8
+
9
+ counter-reset: listCounter;
10
+
11
+ & & > li {
12
+ padding-left: rem.convert(32px);
13
+ margin-bottom: var(--list-item__spacing);
14
+ }
15
+ }
@@ -0,0 +1,8 @@
1
+ import { FC, HTMLAttributes } from "react";
2
+ import "./ListItem.scss";
3
+ interface Props extends HTMLAttributes<HTMLLIElement> {
4
+ className?: string;
5
+ innerClassName?: string;
6
+ }
7
+ export declare const ListItem: FC<Props>;
8
+ export {};
@@ -0,0 +1,19 @@
1
+ import { j as jsx } from "../core/RiksTV.js";
2
+ var ListItem$1 = /* @__PURE__ */ (() => '.rds-list__item{--list-item__topalignment: .375em;display:flex;align-items:flex-start;margin-bottom:var(--list-item__spacing)}.rds-list__item:last-child{margin:0}.rds-list__item:before{content:"";display:block;width:.5em;height:.5em;flex-shrink:0;margin-left:.25em;margin-right:calc(1rem + .25em);box-sizing:border-box;border-radius:50%;margin-top:var(--list-item__topalignment);background-color:currentColor}\n')();
3
+ const ListItem = ({
4
+ className = "",
5
+ children,
6
+ innerClassName = "",
7
+ ...rest
8
+ }) => {
9
+ return /* @__PURE__ */ jsx("li", {
10
+ className: `rds-list__item ${className}`,
11
+ "data-testid": "rds-list-item",
12
+ ...rest,
13
+ children: /* @__PURE__ */ jsx("span", {
14
+ className: `${innerClassName}`,
15
+ children
16
+ })
17
+ });
18
+ };
19
+ export { ListItem as L };
@@ -0,0 +1,25 @@
1
+ .rds-list__item {
2
+ --list-item__topalignment: 0.375em;
3
+
4
+ display: flex;
5
+ align-items: flex-start;
6
+ margin-bottom: var(--list-item__spacing);
7
+
8
+ &:last-child {
9
+ margin: 0;
10
+ }
11
+
12
+ &::before {
13
+ content: "";
14
+ display: block;
15
+ width: 0.5em;
16
+ height: 0.5em;
17
+ flex-shrink: 0;
18
+ margin-left: 0.25em;
19
+ margin-right: calc(1rem + 0.25em);
20
+ box-sizing: border-box;
21
+ border-radius: 50%;
22
+ margin-top: var(--list-item__topalignment);
23
+ background-color: currentColor;
24
+ }
25
+ }
@@ -0,0 +1,7 @@
1
+ import { FC, HTMLAttributes } from "react";
2
+ import "./OrderedListItem.scss";
3
+ interface Props extends HTMLAttributes<HTMLLIElement> {
4
+ className?: string;
5
+ }
6
+ export declare const OrderedListItem: FC<Props>;
7
+ export {};
@@ -0,0 +1,15 @@
1
+ import { j as jsx } from "../core/RiksTV.js";
2
+ var OrderedListItem$1 = /* @__PURE__ */ (() => '.rds-list__item__ordered{display:flex;margin-bottom:var(--list-item__spacing);counter-increment:listCounter}.rds-list__item__ordered:last-child{margin:0}.rds-list__item__ordered:before{content:counter(listCounter) ".";display:block;width:1em;flex-shrink:0;margin-right:1rem;text-align:center;color:currentColor}\n')();
3
+ const OrderedListItem = ({
4
+ className = "",
5
+ children,
6
+ ...rest
7
+ }) => {
8
+ return /* @__PURE__ */ jsx("li", {
9
+ className: `rds-list__item__ordered ${className}`,
10
+ "data-testid": "rds-ordered-list-item",
11
+ ...rest,
12
+ children
13
+ });
14
+ };
15
+ export { OrderedListItem as O };
@@ -0,0 +1,21 @@
1
+ .rds-list__item__ordered {
2
+ display: flex;
3
+ margin-bottom: var(--list-item__spacing);
4
+
5
+ counter-increment: listCounter;
6
+
7
+ &:last-child {
8
+ margin: 0;
9
+ }
10
+
11
+ &::before {
12
+ content: counter(listCounter) ".";
13
+ display: block;
14
+ width: 1em;
15
+ flex-shrink: 0;
16
+ margin-right: 1rem;
17
+ text-align: center;
18
+
19
+ color: currentColor;
20
+ }
21
+ }
@@ -0,0 +1,3 @@
1
+ export declare const getMarkColor: (color?: "error" | "success") => {
2
+ "--mark-color": string;
3
+ };
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { Props as LoaderProps } from "./RawLoader";
3
+ interface Props extends LoaderProps {
4
+ delay?: number;
5
+ }
6
+ export declare const Loader: import("react").ForwardRefExoticComponent<Props & import("react").RefAttributes<HTMLDivElement>>;
7
+ export {};
@@ -0,0 +1,31 @@
1
+ import { forwardRef, useState, useEffect } from "react";
2
+ import { R as RawLoader } from "./RawLoader.js";
3
+ import { j as jsx } from "../core/RiksTV.js";
4
+ const useDeferredRender = (delayMilliseconds) => {
5
+ const [renderComponent, setRenderComponent] = useState(delayMilliseconds === 0);
6
+ useEffect(() => {
7
+ if (delayMilliseconds === 0) {
8
+ return;
9
+ }
10
+ const deferrer = setTimeout(() => setRenderComponent(true), delayMilliseconds);
11
+ return () => {
12
+ clearTimeout(deferrer);
13
+ };
14
+ }, [delayMilliseconds]);
15
+ return [renderComponent];
16
+ };
17
+ const Loader = forwardRef(({
18
+ delay = 200,
19
+ ...props
20
+ }, ref) => {
21
+ const [renderComponent] = useDeferredRender(delay);
22
+ if (!renderComponent) {
23
+ return null;
24
+ }
25
+ return /* @__PURE__ */ jsx(RawLoader, {
26
+ ref,
27
+ ...props
28
+ });
29
+ });
30
+ Loader.displayName = "Loader";
31
+ export { Loader as L };
@@ -0,0 +1,148 @@
1
+ .rds-loader-container {
2
+ display: grid;
3
+ place-items: center;
4
+
5
+ --loader-color: var(--rds-accent-color-dark);
6
+
7
+ &--light {
8
+ --loader-color: var(--rds-foreground-tertiary);
9
+ }
10
+
11
+ $deg: 0deg, 22.5deg, 45deg, 67.5deg, 90deg, 112.5deg, 135deg, 157.5deg, 180deg, 202.5deg, 225deg, 247.5deg, 270deg,
12
+ 292.5deg, 315deg, 337.5deg;
13
+
14
+ @for $i from 1 through length($deg) {
15
+ @keyframes loader-container-spinner-child-#{$i} {
16
+ 0% {
17
+ opacity: 1;
18
+ transform: rotate(nth($deg, $i)) scaleY(1.2);
19
+ }
20
+ 10%,
21
+ 100% {
22
+ transform: rotate(nth($deg, $i));
23
+ }
24
+ 100% {
25
+ opacity: 0;
26
+ }
27
+ }
28
+ }
29
+
30
+ &__spinner {
31
+ &__large {
32
+ span {
33
+ position: absolute;
34
+ background: var(--loader-color);
35
+ left: 48px;
36
+ top: 0;
37
+ width: 3px;
38
+ height: 30px;
39
+ border-radius: 200px;
40
+ transform-origin: 1px 60px;
41
+ }
42
+ margin-top: 30px;
43
+ padding-bottom: 50px;
44
+ }
45
+
46
+ &__small {
47
+ span {
48
+ position: absolute;
49
+ background: var(--loader-color);
50
+ left: 48px;
51
+ top: 0;
52
+ width: 3px;
53
+ height: 10px;
54
+ border-radius: 200px;
55
+ transform-origin: 1px 20px;
56
+ }
57
+ margin-top: 30px;
58
+ }
59
+
60
+ span:nth-child(1) {
61
+ animation: loader-container-spinner-child-1 linear 2s infinite;
62
+ animation-delay: -1.875s;
63
+ }
64
+
65
+ span:nth-child(2) {
66
+ animation: loader-container-spinner-child-2 linear 2s infinite;
67
+ animation-delay: -1.75s;
68
+ }
69
+
70
+ span:nth-child(3) {
71
+ animation: loader-container-spinner-child-3 linear 2s infinite;
72
+ animation-delay: -1.625s;
73
+ }
74
+
75
+ span:nth-child(4) {
76
+ animation: loader-container-spinner-child-4 linear 2s infinite;
77
+ animation-delay: -1.5s;
78
+ }
79
+
80
+ span:nth-child(5) {
81
+ animation: loader-container-spinner-child-5 linear 2s infinite;
82
+ animation-delay: -1.375s;
83
+ }
84
+
85
+ span:nth-child(6) {
86
+ animation: loader-container-spinner-child-6 linear 2s infinite;
87
+ animation-delay: -1.25s;
88
+ }
89
+
90
+ span:nth-child(7) {
91
+ animation: loader-container-spinner-child-7 linear 2s infinite;
92
+ animation-delay: -1.125s;
93
+ }
94
+
95
+ span:nth-child(8) {
96
+ animation: loader-container-spinner-child-8 linear 2s infinite;
97
+ animation-delay: -1s;
98
+ }
99
+
100
+ span:nth-child(9) {
101
+ animation: loader-container-spinner-child-9 linear 2s infinite;
102
+ animation-delay: -0.875s;
103
+ }
104
+
105
+ span:nth-child(10) {
106
+ animation: loader-container-spinner-child-10 linear 2s infinite;
107
+ animation-delay: -0.75s;
108
+ }
109
+
110
+ span:nth-child(11) {
111
+ animation: loader-container-spinner-child-11 linear 2s infinite;
112
+ animation-delay: -0.625s;
113
+ }
114
+
115
+ span:nth-child(12) {
116
+ animation: loader-container-spinner-child-12 linear 2s infinite;
117
+ animation-delay: -0.5s;
118
+ }
119
+
120
+ span:nth-child(13) {
121
+ animation: loader-container-spinner-child-13 linear 2s infinite;
122
+ animation-delay: -0.375s;
123
+ }
124
+
125
+ span:nth-child(14) {
126
+ animation: loader-container-spinner-child-14 linear 2s infinite;
127
+ animation-delay: -0.25s;
128
+ }
129
+
130
+ span:nth-child(15) {
131
+ animation: loader-container-spinner-child-15 linear 2s infinite;
132
+ animation-delay: -0.125s;
133
+ }
134
+
135
+ span:nth-child(16) {
136
+ animation: loader-container-spinner-child-16 linear 2s infinite;
137
+ animation-delay: 0s;
138
+ }
139
+
140
+ transform: translate(-50px, -50px) scale(0.5) translate(50px, 50px);
141
+ }
142
+ }
143
+
144
+ .rds-light {
145
+ .rds-loader-container__spinner > span {
146
+ --loader-color: var(--rds-foreground-tertiary);
147
+ }
148
+ }
@@ -0,0 +1,10 @@
1
+ import { HTMLAttributes } from "react";
2
+ import "./Loader.scss";
3
+ export interface Props extends HTMLAttributes<HTMLDivElement> {
4
+ className?: string;
5
+ size?: "small" | "large";
6
+ lightBackground?: boolean;
7
+ label?: string;
8
+ politeness?: "polite" | "assertive";
9
+ }
10
+ export declare const RawLoader: import("react").ForwardRefExoticComponent<Props & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,30 @@
1
+ import { forwardRef } from "react";
2
+ import { j as jsx, a as jsxs } from "../core/RiksTV.js";
3
+ var Loader = /* @__PURE__ */ (() => ".rds-loader-container{display:grid;place-items:center;--loader-color: var(--rds-accent-color-dark)}.rds-loader-container--light{--loader-color: var(--rds-foreground-tertiary)}@keyframes loader-container-spinner-child-1{0%{opacity:1;transform:rotate(0) scaleY(1.2)}10%,to{transform:rotate(0)}to{opacity:0}}@keyframes loader-container-spinner-child-2{0%{opacity:1;transform:rotate(22.5deg) scaleY(1.2)}10%,to{transform:rotate(22.5deg)}to{opacity:0}}@keyframes loader-container-spinner-child-3{0%{opacity:1;transform:rotate(45deg) scaleY(1.2)}10%,to{transform:rotate(45deg)}to{opacity:0}}@keyframes loader-container-spinner-child-4{0%{opacity:1;transform:rotate(67.5deg) scaleY(1.2)}10%,to{transform:rotate(67.5deg)}to{opacity:0}}@keyframes loader-container-spinner-child-5{0%{opacity:1;transform:rotate(90deg) scaleY(1.2)}10%,to{transform:rotate(90deg)}to{opacity:0}}@keyframes loader-container-spinner-child-6{0%{opacity:1;transform:rotate(112.5deg) scaleY(1.2)}10%,to{transform:rotate(112.5deg)}to{opacity:0}}@keyframes loader-container-spinner-child-7{0%{opacity:1;transform:rotate(135deg) scaleY(1.2)}10%,to{transform:rotate(135deg)}to{opacity:0}}@keyframes loader-container-spinner-child-8{0%{opacity:1;transform:rotate(157.5deg) scaleY(1.2)}10%,to{transform:rotate(157.5deg)}to{opacity:0}}@keyframes loader-container-spinner-child-9{0%{opacity:1;transform:rotate(180deg) scaleY(1.2)}10%,to{transform:rotate(180deg)}to{opacity:0}}@keyframes loader-container-spinner-child-10{0%{opacity:1;transform:rotate(202.5deg) scaleY(1.2)}10%,to{transform:rotate(202.5deg)}to{opacity:0}}@keyframes loader-container-spinner-child-11{0%{opacity:1;transform:rotate(225deg) scaleY(1.2)}10%,to{transform:rotate(225deg)}to{opacity:0}}@keyframes loader-container-spinner-child-12{0%{opacity:1;transform:rotate(247.5deg) scaleY(1.2)}10%,to{transform:rotate(247.5deg)}to{opacity:0}}@keyframes loader-container-spinner-child-13{0%{opacity:1;transform:rotate(270deg) scaleY(1.2)}10%,to{transform:rotate(270deg)}to{opacity:0}}@keyframes loader-container-spinner-child-14{0%{opacity:1;transform:rotate(292.5deg) scaleY(1.2)}10%,to{transform:rotate(292.5deg)}to{opacity:0}}@keyframes loader-container-spinner-child-15{0%{opacity:1;transform:rotate(315deg) scaleY(1.2)}10%,to{transform:rotate(315deg)}to{opacity:0}}@keyframes loader-container-spinner-child-16{0%{opacity:1;transform:rotate(337.5deg) scaleY(1.2)}10%,to{transform:rotate(337.5deg)}to{opacity:0}}.rds-loader-container__spinner{transform:translate(-50px,-50px) scale(.5) translate(50px,50px)}.rds-loader-container__spinner__large{margin-top:30px;padding-bottom:50px}.rds-loader-container__spinner__large span{position:absolute;background:var(--loader-color);left:48px;top:0;width:3px;height:30px;border-radius:200px;transform-origin:1px 60px}.rds-loader-container__spinner__small{margin-top:30px}.rds-loader-container__spinner__small span{position:absolute;background:var(--loader-color);left:48px;top:0;width:3px;height:10px;border-radius:200px;transform-origin:1px 20px}.rds-loader-container__spinner span:nth-child(1){animation:loader-container-spinner-child-1 linear 2s infinite;animation-delay:-1.875s}.rds-loader-container__spinner span:nth-child(2){animation:loader-container-spinner-child-2 linear 2s infinite;animation-delay:-1.75s}.rds-loader-container__spinner span:nth-child(3){animation:loader-container-spinner-child-3 linear 2s infinite;animation-delay:-1.625s}.rds-loader-container__spinner span:nth-child(4){animation:loader-container-spinner-child-4 linear 2s infinite;animation-delay:-1.5s}.rds-loader-container__spinner span:nth-child(5){animation:loader-container-spinner-child-5 linear 2s infinite;animation-delay:-1.375s}.rds-loader-container__spinner span:nth-child(6){animation:loader-container-spinner-child-6 linear 2s infinite;animation-delay:-1.25s}.rds-loader-container__spinner span:nth-child(7){animation:loader-container-spinner-child-7 linear 2s infinite;animation-delay:-1.125s}.rds-loader-container__spinner span:nth-child(8){animation:loader-container-spinner-child-8 linear 2s infinite;animation-delay:-1s}.rds-loader-container__spinner span:nth-child(9){animation:loader-container-spinner-child-9 linear 2s infinite;animation-delay:-.875s}.rds-loader-container__spinner span:nth-child(10){animation:loader-container-spinner-child-10 linear 2s infinite;animation-delay:-.75s}.rds-loader-container__spinner span:nth-child(11){animation:loader-container-spinner-child-11 linear 2s infinite;animation-delay:-.625s}.rds-loader-container__spinner span:nth-child(12){animation:loader-container-spinner-child-12 linear 2s infinite;animation-delay:-.5s}.rds-loader-container__spinner span:nth-child(13){animation:loader-container-spinner-child-13 linear 2s infinite;animation-delay:-.375s}.rds-loader-container__spinner span:nth-child(14){animation:loader-container-spinner-child-14 linear 2s infinite;animation-delay:-.25s}.rds-loader-container__spinner span:nth-child(15){animation:loader-container-spinner-child-15 linear 2s infinite;animation-delay:-.125s}.rds-loader-container__spinner span:nth-child(16){animation:loader-container-spinner-child-16 linear 2s infinite;animation-delay:0s}.rds-light .rds-loader-container__spinner>span{--loader-color: var(--rds-foreground-tertiary)}\n")();
4
+ const RawLoader = forwardRef(({
5
+ size = "small",
6
+ className = "",
7
+ lightBackground,
8
+ label = "Laster",
9
+ politeness = "polite",
10
+ ...rest
11
+ }, ref) => {
12
+ return /* @__PURE__ */ jsx("div", {
13
+ ref,
14
+ "aria-label": label,
15
+ "aria-busy": "true",
16
+ "aria-live": politeness,
17
+ role: "alert",
18
+ title: label,
19
+ className: `rds-loader-container ${lightBackground ? "rds-loader-container--light" : ""} ${className}`,
20
+ "data-testid": "rds-loader",
21
+ ...rest,
22
+ children: /* @__PURE__ */ jsxs("div", {
23
+ "data-testid": "rds-spinner",
24
+ className: `rds-loader-container__spinner rds-loader-container__spinner__${size}`,
25
+ children: [/* @__PURE__ */ jsx("span", {}), /* @__PURE__ */ jsx("span", {}), /* @__PURE__ */ jsx("span", {}), /* @__PURE__ */ jsx("span", {}), /* @__PURE__ */ jsx("span", {}), /* @__PURE__ */ jsx("span", {}), /* @__PURE__ */ jsx("span", {}), /* @__PURE__ */ jsx("span", {}), /* @__PURE__ */ jsx("span", {}), /* @__PURE__ */ jsx("span", {}), /* @__PURE__ */ jsx("span", {}), /* @__PURE__ */ jsx("span", {}), /* @__PURE__ */ jsx("span", {}), /* @__PURE__ */ jsx("span", {}), /* @__PURE__ */ jsx("span", {}), /* @__PURE__ */ jsx("span", {})]
26
+ })
27
+ });
28
+ });
29
+ RawLoader.displayName = "RawLoader";
30
+ export { RawLoader as R };
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const Info: () => JSX.Element;
@@ -0,0 +1,25 @@
1
+ import { a as jsxs, j as jsx } from "../core/RiksTV.js";
2
+ const Info = () => {
3
+ return /* @__PURE__ */ jsxs("svg", {
4
+ viewBox: "0 0 18 18",
5
+ fill: "none",
6
+ xmlns: "http://www.w3.org/2000/svg",
7
+ children: [/* @__PURE__ */ jsx("path", {
8
+ fillRule: "evenodd",
9
+ clipRule: "evenodd",
10
+ d: "M7.3125 7.875C7.3125 7.56434 7.56434 7.3125 7.875 7.3125H8.4375C9.05882 7.3125 9.5625 7.81618 9.5625 8.4375V11.25C9.5625 11.5607 9.81434 11.8125 10.125 11.8125H10.6875C10.9982 11.8125 11.25 12.0643 11.25 12.375C11.25 12.6857 10.9982 12.9375 10.6875 12.9375H10.125C9.19302 12.9375 8.4375 12.182 8.4375 11.25V8.4375H7.875C7.56434 8.4375 7.3125 8.18566 7.3125 7.875Z",
11
+ fill: "currentColor"
12
+ }), /* @__PURE__ */ jsx("path", {
13
+ fillRule: "evenodd",
14
+ clipRule: "evenodd",
15
+ d: "M7.875 5.34375C7.875 4.87776 8.25276 4.5 8.71875 4.5C9.18474 4.5 9.5625 4.87776 9.5625 5.34375C9.5625 5.80974 9.18474 6.1875 8.71875 6.1875C8.25276 6.1875 7.875 5.80974 7.875 5.34375Z",
16
+ fill: "currentColor"
17
+ }), /* @__PURE__ */ jsx("path", {
18
+ fillRule: "evenodd",
19
+ clipRule: "evenodd",
20
+ d: "M0 9C0 4.02944 4.02944 0 9 0C13.9706 0 18 4.02944 18 9C18 13.9706 13.9706 18 9 18C4.02944 18 0 13.9706 0 9ZM9 1.125C4.65076 1.125 1.125 4.65076 1.125 9C1.125 13.3492 4.65076 16.875 9 16.875C13.3492 16.875 16.875 13.3492 16.875 9C16.875 4.65076 13.3492 1.125 9 1.125Z",
21
+ fill: "currentColor"
22
+ })]
23
+ });
24
+ };
25
+ export { Info as I };