@rikstv/shared-components 1.1.97 → 2.0.2

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 (89) hide show
  1. package/dist/components/accordion/Accordion-4b8edd28.mjs +669 -0
  2. package/dist/components/breadcrumb/Breadcrumb-1b579cc3.mjs +21 -0
  3. package/dist/components/button/ArrowButton-af5de307.mjs +48 -0
  4. package/dist/components/button/BaseButton-4f6e9dd4.mjs +46 -0
  5. package/dist/components/button/BaseButton.d.ts +2 -2
  6. package/dist/components/button/BaseDecoratedButton-c5799b0f.mjs +15 -0
  7. package/dist/components/button/BaseLinkButton-348be18c.mjs +42 -0
  8. package/dist/components/button/BaseLinkButton.d.ts +2 -2
  9. package/dist/components/button/Button-4e09c58d.mjs +17 -0
  10. package/dist/components/button/DecoratedButton-ab90a6bd.mjs +21 -0
  11. package/dist/components/button/IconButton-dd3478ff.mjs +15 -0
  12. package/dist/components/button/LinkButton-85fc759b.mjs +8 -0
  13. package/dist/components/button/LinkButton.d.ts +1 -1
  14. package/dist/components/checkbox/BaseCheckbox-6fed1663.mjs +41 -0
  15. package/dist/components/checkbox/Checkbox-cc58a275.mjs +22 -0
  16. package/dist/components/core/Core-ba0340f6.mjs +46 -0
  17. package/dist/components/core/LightMode-b458f91d.mjs +9 -0
  18. package/dist/components/core/RiksTV-698a6154.mjs +6 -0
  19. package/dist/components/core/Strim-51ea8e08.mjs +6 -0
  20. package/dist/components/core/core.scss +20 -6
  21. package/dist/components/core/hooks/useBrowserPreferences.d.ts +1 -1
  22. package/dist/components/core/mixin/breakpoints.scss +1 -1
  23. package/dist/components/icons/{Arrow.js → Arrow-feb3e25e.mjs} +9 -10
  24. package/dist/components/icons/{Chevron.js → Chevron-ef147695.mjs} +9 -12
  25. package/dist/components/list/CheckmarkListItem-f9df7013.mjs +38 -0
  26. package/dist/components/list/CrossmarkListItem-348c226a.mjs +28 -0
  27. package/dist/components/list/List-86ad4810.mjs +27 -0
  28. package/dist/components/list/ListItem-4e47bb2e.mjs +5 -0
  29. package/dist/components/list/OrderedListItem-a70598a1.mjs +5 -0
  30. package/dist/components/loader/Loader-7ab4a8f0.mjs +21 -0
  31. package/dist/components/loader/RawLoader-7e00f143.mjs +47 -0
  32. package/dist/components/notificationDot/NotificationDot-b03fa811.mjs +26 -0
  33. package/dist/components/panel/{Info.js → Info-7fe85f53.mjs} +20 -12
  34. package/dist/components/panel/Panel-5cd1bda7.mjs +50 -0
  35. package/dist/components/panel/{Success.js → Success-c116cc05.mjs} +75 -23
  36. package/dist/components/panel/Warning-fa1839e3.mjs +11 -0
  37. package/dist/components/progress/CircularProgress-e4622fd6.mjs +52 -0
  38. package/dist/components/progress/Progress-ef42810b.mjs +26 -0
  39. package/dist/components/spacing/Gutter-32112716.mjs +5 -0
  40. package/dist/components/spacing/GutterPadding-6be6c9d9.mjs +5 -0
  41. package/dist/components/textfield/TextField-765a87bf.mjs +70 -0
  42. package/dist/components/toggle/FieldSet-4bdc4b7e.mjs +13 -0
  43. package/dist/components/toggle/RadioToggle-1528c002.mjs +17 -0
  44. package/dist/components/toggleButton/ToggleButton-a2d4302f.mjs +47 -0
  45. package/dist/components/toggleInlineButton/ToggleInlineButton-1e480eaa.mjs +40 -0
  46. package/dist/components/toggleLinkButton/ToggleLinkButton-08c60e4d.mjs +45 -0
  47. package/dist/components/typography/Typography-91af1c48.mjs +33 -0
  48. package/dist/components/typography/Typography.d.ts +2 -2
  49. package/dist/shared-components.mjs +199 -0
  50. package/dist/style.css +1 -1
  51. package/package.json +2 -4
  52. package/dist/components/accordion/Accordion.js +0 -34
  53. package/dist/components/breadcrumb/Breadcrumb.js +0 -39
  54. package/dist/components/button/ArrowButton.js +0 -44
  55. package/dist/components/button/BaseButton.js +0 -42
  56. package/dist/components/button/BaseDecoratedButton.js +0 -32
  57. package/dist/components/button/BaseLinkButton.js +0 -44
  58. package/dist/components/button/Button.js +0 -29
  59. package/dist/components/button/DecoratedButton.js +0 -23
  60. package/dist/components/button/IconButton.js +0 -24
  61. package/dist/components/button/LinkButton.js +0 -10
  62. package/dist/components/checkbox/BaseCheckbox.js +0 -35
  63. package/dist/components/checkbox/Checkbox.js +0 -26
  64. package/dist/components/core/Core.js +0 -76
  65. package/dist/components/core/LightMode.js +0 -14
  66. package/dist/components/core/RiksTV.js +0 -43
  67. package/dist/components/core/Strim.js +0 -10
  68. package/dist/components/list/CheckmarkListItem.js +0 -36
  69. package/dist/components/list/CrossmarkListItem.js +0 -27
  70. package/dist/components/list/List.js +0 -28
  71. package/dist/components/list/ListItem.js +0 -19
  72. package/dist/components/list/OrderedListItem.js +0 -19
  73. package/dist/components/loader/Loader.js +0 -31
  74. package/dist/components/loader/RawLoader.js +0 -30
  75. package/dist/components/notificationDot/NotificationDot.js +0 -22
  76. package/dist/components/panel/Panel.js +0 -55
  77. package/dist/components/panel/Warning.js +0 -14
  78. package/dist/components/progress/CircularProgress.js +0 -87
  79. package/dist/components/progress/Progress.js +0 -42
  80. package/dist/components/spacing/Gutter.js +0 -13
  81. package/dist/components/spacing/GutterPadding.js +0 -13
  82. package/dist/components/textfield/TextField.js +0 -63
  83. package/dist/components/toggle/FieldSet.js +0 -29
  84. package/dist/components/toggle/RadioToggle.js +0 -30
  85. package/dist/components/toggleButton/ToggleButton.js +0 -64
  86. package/dist/components/toggleInlineButton/ToggleInlineButton.js +0 -48
  87. package/dist/components/toggleLinkButton/ToggleLinkButton.js +0 -55
  88. package/dist/components/typography/Typography.js +0 -67
  89. package/dist/shared-components.es.js +0 -213
@@ -1,64 +0,0 @@
1
- import { forwardRef, useRef, useState } from "react";
2
- import { B as BaseCheckbox } from "../checkbox/BaseCheckbox.js";
3
- import { j as jsx, a as jsxs, F as Fragment } from "../core/RiksTV.js";
4
- var toggleButton = /* @__PURE__ */ (() => '.rds-button__shared,.rds-toggle-button{--common-button--primary-color: var(--rds-button-primary-fg);--common-button--primary-bg: var(--rds-accent-color);--common-button--primary-hover-bg: var(--rds-accent-hover);--common-button--primary-pressed-bg: var(--rds-accent-color);--common-button--secondary-border-color: var(--rds-foreground-primary);--common-button--secondary-color: var(--rds-foreground-primary);--common-button--secondary-bg: var(--rds-background-primary);--common-button--secondary-hover-color: var(--rds-background-primary);--common-button--secondary-hover-bg: var(--rds-foreground-primary);--common-button--secondary-pressed-color: var(--rds-button-secondary-pressed-fg);--common-button--secondary-pressed-bg: var(--rds-button-secondary-pressed-bg);--common-button--tertiary-bg: var(--rds-button-tertirary-bg);--common-button--tertiary-color: var(--rds-foreground-primary);--common-button--tertiary-hover-bg: var(--rds-button-tertiary-hover-bg);--common-button--tertiary-hover-color: var(--rds-foreground-primary);--common-button--tertiary-pressed-bg: var(--rds-background-secondary);--common-button--tertiary-pressed-color: var(--rds-foreground-primary);--common-button--disabled-bg: var(--rds-foreground-secondary);--common-button--disabled-color: var(--rds-foreground-tertiary);border:none;width:auto;background:transparent;line-height:normal;-webkit-appearance:none;display:flex;transition:125ms ease-in-out;transition-property:color,box-shadow,background-color;font-family:var(--rds-font-family-m-headlines)}.rds-button__shared::-moz-focus-inner,.rds-toggle-button::-moz-focus-inner{border:0;padding:0}.rds-button__shared--primary{color:var(--common-button--primary-color);background-color:var(--common-button--primary-bg)}.rds-button__shared--primary:hover{background-color:var(--common-button--primary-hover-bg)}.rds-button__shared--primary:active{box-shadow:none;background-color:var(--common-button--primary-pressed-bg)}.rds-button__shared--secondary{background-color:var(--common-button--secondary-bg);box-shadow:inset 0 0 0 2px var(--common-button--secondary-border-color);color:var(--common-button--secondary-color)}.rds-button__shared--secondary:hover{background-color:var(--common-button--secondary-hover-bg);color:var(--common-button--secondary-hover-color)}.rds-button__shared--secondary:active{background-color:var(--common-button--secondary-pressed-bg);color:var(--common-button--secondary-pressed-color);border-color:var(--common-button--secondary-pressed-bg)}.rds-button__shared--tertiary,.rds-toggle-button{background-color:var(--common-button--tertiary-bg);color:var(--common-button--tertiary-color)}.rds-button__shared--tertiary:hover,.rds-toggle-button:hover{background-color:var(--common-button--tertiary-hover-bg);color:var(--common-button--tertiary-hover-color)}.rds-button__shared--tertiary:active,.rds-toggle-button:active{background-color:var(--common-button--tertiary-pressed-bg);color:var(--common-button--tertiary-pressed-color)}.rds-button__shared:disabled,.rds-toggle-button:disabled{background-color:var(--common-button--disabled-bg);color:var(--common-button--disabled-color);box-shadow:none;cursor:not-allowed;border:none}.rds-button__shared:hover,.rds-toggle-button:hover{box-shadow:var(--rds-box-shadow--default)}.rds-button__shared:active,.rds-toggle-button:active{box-shadow:none}.rds-button__shared:focus::-moz-focus-inner,.rds-toggle-button:focus::-moz-focus-inner{border-style:none;outline:0}.rds-button__shared:focus button::-moz-focus-inner,.rds-toggle-button:focus button::-moz-focus-inner,.rds-button__shared:focus [type=button]::-moz-focus-inner,.rds-toggle-button:focus [type=button]::-moz-focus-inner,.rds-button__shared:focus [type=reset]::-moz-focus-inner,.rds-toggle-button:focus [type=reset]::-moz-focus-inner,.rds-button__shared:focus [type=submit]::-moz-focus-inner,.rds-toggle-button:focus [type=submit]::-moz-focus-inner{border-style:none}.rds-button__shared:focus input[type=button]::-moz-focus-inner,.rds-toggle-button:focus input[type=button]::-moz-focus-inner{outline:0}html:not([data-mousenavigation]):not([data-touchnavigation]) .rds-button__shared:focus,html:not([data-mousenavigation]):not([data-touchnavigation]) .rds-toggle-button:focus{outline-offset:2px;outline:2px solid var(--rds-feedback-info);transition:outline-offset .25s ease}.rds-light .rds-button__shared--primary,.rds-light.rds-button__shared--primary{--common-button--primary-color: var(--rds-foreground-primary);--common-button--primary-bg: var(--rds-button-primary-fg)}.rds-light .rds-button__shared--primary:hover,.rds-light.rds-button__shared--primary:hover{--common-button--primary-hover-bg: var(--rds-foreground-tertiary)}.rds-light .rds-button__shared--primary:active,.rds-light.rds-button__shared--primary:active{box-shadow:none;--common-button--primary-pressed-bg: var(--rds-background-primary)}.rds-light .rds-button__shared--primary:disabled,.rds-light.rds-button__shared--primary:disabled{--common-button--disabled-color: var(--rds-button-tertiary-hover-bg)}.rds-light .rds-button__shared--secondary,.rds-light.rds-button__shared--secondary{--common-button--secondary-color: var(--rds-button-tertiary-hover-bg);--common-button--secondary-border-color: var(--rds-button-tertiary-hover-bg);--common-button--secondary-bg: var(--surface-background)}.rds-light .rds-button__shared--secondary:hover,.rds-light.rds-button__shared--secondary:hover{--common-button--secondary-hover-bg: var(--rds-button-primary-fg);--common-button--secondary-hover-color: var(--rds-foreground-primary)}.rds-light .rds-button__shared--secondary:active,.rds-light.rds-button__shared--secondary:active{--common-button--secondary-pressed-color: var(--rds-foreground-primary);--common-button--secondary-pressed-bg: var(--rds-button-primary-fg)}.rds-light .rds-button__shared--secondary:disabled,.rds-light.rds-button__shared--secondary:disabled{--common-button--disabled-color: var(--rds-button-primary-fg)}.rds-light.rds-white.rds-button__shared--secondary{--common-button--secondary-bg: var(--rds-foreground-primary)}.rds-transparent.rds-button__shared--secondary{--common-button--secondary-bg: transparent}.rds-arrow-button,.rds-button,.rds-toggle-button{--fluid-block: clamp(.65625rem, 2vw, .78125rem);--fluid-inline: clamp(1rem, 2vw, 1.5rem);padding:var(--fluid-block) var(--fluid-inline);border-radius:var(--rds-roundness--button);overflow-y:hidden;cursor:pointer;font-size:1.125rem}.rds-arrow-button__icon,.rds-button__icon,.rds-toggle-button__icon{display:flex;align-items:center;align-self:center;margin-right:var(--rds-spacing--16);width:1.125rem}.rds-arrow-button__icon>svg,.rds-button__icon>svg,.rds-toggle-button__icon>svg{width:100%}.rds-arrow-button__postfix,.rds-button__postfix{position:relative;display:flex;align-items:center;margin-left:var(--rds-spacing--16);padding-left:var(--rds-spacing--16)}.rds-arrow-button__postfix:before,.rds-button__postfix:before{content:" ";position:absolute;width:1px;background-color:currentColor;height:220%;left:0}.rds-arrow-button--loading:disabled,.rds-button--loading:disabled{cursor:wait!important;position:relative;overflow:hidden}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rds-arrow-button--loading:disabled:before,.rds-button--loading:disabled:before{content:"";position:absolute;inset:0;background-color:var(--rds-background-overlay-medium)}.rds-arrow-button--loading:disabled:after,.rds-button--loading:disabled:after{--button-spinner-size: 24px;--button-spinner-width: 3px;--calculated-spinner-size: calc( calc(var(--button-spinner-size) + var(--button-spinner-width) + var(--button-spinner-width)) / 2 );content:"";position:absolute;left:calc(50% - var(--calculated-spinner-size));top:calc(50% - var(--calculated-spinner-size));height:var(--button-spinner-size);width:var(--button-spinner-size);background-color:transparent;border-top:var(--button-spinner-width) solid var(--rds-accent-color-dark);border-left:var(--button-spinner-width) solid var(--rds-accent-color-dark);border-right:var(--button-spinner-width) solid var(--rds-accent-color-dark);border-bottom:var(--button-spinner-width) solid transparent;border-radius:50px;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:spin;animation-timing-function:linear}.rds-arrow-button--loading:disabled:hover,.rds-button--loading:disabled:hover{box-shadow:none}.rds-toggle-button{display:inline-block;user-select:none}.rds-toggle-button__input{opacity:0;position:absolute}.rds-toggle-button__input:checked+.rds-toggle-button{background-color:var(--rds-foreground-tertiary)}.rds-toggle-button__input:checked+.rds-toggle-button:active{background-color:var(--rds-foreground-overlay-medium)}.rds-toggle-button__content{display:flex;align-items:center}.rds-toggle-button__icon{margin-right:0;width:auto}.rds-toggle-button__icon svg{height:23px;width:auto}.rds-toggle-button .label-text__icon{display:none;margin-left:var(--rds-spacing--16)}@media (min-width: 768px){.rds-toggle-button .label-text__icon{display:block}}.rds-toggle-button .label-text__icon.always-show-label{display:block}\n')();
5
- const ToggleButton = forwardRef(({
6
- children,
7
- className = "",
8
- defaultChecked,
9
- icons,
10
- iconClass = "",
11
- id,
12
- onChange,
13
- alwaysShowLabel = false,
14
- ...rest
15
- }, ref) => {
16
- const internalRef = useRef(null);
17
- const [isChecked, setIsChecked] = useState(!!defaultChecked);
18
- const CheckedIcon = icons && "checkedIcon" in icons ? icons.checkedIcon : null;
19
- const UncheckedIcon = icons && "uncheckedIcon" in icons ? icons.uncheckedIcon : null;
20
- const ToggleIcon = icons && "toggleIcon" in icons ? icons.toggleIcon : null;
21
- const inputRef = ref || internalRef;
22
- const handleChange = (e) => {
23
- var _a;
24
- if (typeof onChange === "function") {
25
- onChange(e);
26
- }
27
- if (typeof inputRef !== "function") {
28
- setIsChecked(!!((_a = inputRef.current) == null ? void 0 : _a.checked));
29
- } else {
30
- setIsChecked(!isChecked);
31
- }
32
- };
33
- return /* @__PURE__ */ jsx(BaseCheckbox, {
34
- id,
35
- ref: inputRef,
36
- dataTestId: "toggle-button__label",
37
- containerClassName: className,
38
- inputClassName: "rds-toggle-button__input",
39
- labelClassName: "rds-toggle-button",
40
- onChange: handleChange,
41
- defaultChecked,
42
- ...rest,
43
- children: /* @__PURE__ */ jsxs("span", {
44
- className: "rds-toggle-button__content",
45
- children: [icons && /* @__PURE__ */ jsxs(Fragment, {
46
- children: [/* @__PURE__ */ jsxs("span", {
47
- className: `rds-toggle-button__icon ${iconClass}`,
48
- children: [ToggleIcon && /* @__PURE__ */ jsx(ToggleIcon, {
49
- checked: isChecked
50
- }), CheckedIcon && isChecked && /* @__PURE__ */ jsx(CheckedIcon, {}), UncheckedIcon && !isChecked && /* @__PURE__ */ jsx(UncheckedIcon, {})]
51
- }), /* @__PURE__ */ jsx("span", {
52
- "data-testid": "toggle-button__icon__label__text",
53
- className: `label-text__icon ${alwaysShowLabel ? "always-show-label" : ""}`,
54
- children
55
- })]
56
- }), !icons && /* @__PURE__ */ jsx("span", {
57
- "data-testid": "toggle-button__label__text",
58
- children
59
- })]
60
- })
61
- });
62
- });
63
- ToggleButton.displayName = "ToggleButton";
64
- export { ToggleButton as T };
@@ -1,48 +0,0 @@
1
- import { forwardRef, useRef, useState } from "react";
2
- import { B as BaseCheckbox } from "../checkbox/BaseCheckbox.js";
3
- import { j as jsx } from "../core/RiksTV.js";
4
- var toggleInlineButton = /* @__PURE__ */ (() => ".rds-toggle-inline-button{--border-color: var(--rds-toggle-collapsed);display:inline-block;user-select:none}.rds-toggle-inline-button__input{opacity:0;position:absolute}.rds-light .rds-toggle-inline-button__content{color:var(--rds-button-primary-fg)}\n")();
5
- const ToggleInlineButton = forwardRef(({
6
- defaultChecked,
7
- lightBackground,
8
- children,
9
- onChange,
10
- id,
11
- className = "",
12
- inputClassName = "",
13
- labelClassName = "",
14
- ...rest
15
- }, ref) => {
16
- const internalRef = useRef(null);
17
- const [isChecked, setIsChecked] = useState(!!defaultChecked);
18
- const inputRef = ref || internalRef;
19
- const handleChange = (e) => {
20
- var _a;
21
- if (typeof onChange === "function") {
22
- onChange(e);
23
- }
24
- if (typeof inputRef !== "function") {
25
- setIsChecked(!!((_a = inputRef.current) == null ? void 0 : _a.checked));
26
- } else {
27
- setIsChecked(!isChecked);
28
- }
29
- };
30
- return /* @__PURE__ */ jsx(BaseCheckbox, {
31
- id,
32
- ref: inputRef,
33
- onChange: handleChange,
34
- checked: isChecked,
35
- dataTestId: "toggle-inline-button__label",
36
- containerClassName: `rds-toggle-inline-button ${className}`,
37
- inputClassName: `rds-toggle-inline-button__input ${inputClassName}`,
38
- labelClassName: `${lightBackground ? "rds-light" : ""} ${labelClassName}`,
39
- ...rest,
40
- children: /* @__PURE__ */ jsx("span", {
41
- "data-testid": "toggle-inline-button__label__text",
42
- className: "rds-toggle-inline-button__content",
43
- children
44
- })
45
- });
46
- });
47
- ToggleInlineButton.displayName = "ToggleInlineButton";
48
- export { ToggleInlineButton as T };
@@ -1,55 +0,0 @@
1
- import { forwardRef, useRef, useState } from "react";
2
- import { B as BaseCheckbox } from "../checkbox/BaseCheckbox.js";
3
- import { C as Chevron } from "../icons/Chevron.js";
4
- import { j as jsx, a as jsxs } from "../core/RiksTV.js";
5
- var toggleLinkButton = /* @__PURE__ */ (() => ".rds-toggle-link-button{--border-color: var(--rds-toggle-collapsed);display:inline-block;user-select:none}.rds-toggle-link-button__input{opacity:0;position:absolute}.rds-toggle-link-button__input:checked+.rds-toggle-link-button__label{--chevron-direction: 180deg;--border-color: var(--rds-toggle-expanded)}.rds-toggle-link-button__label__content{display:flex;align-items:center}.rds-toggle-link-button__label__content>span:first-child{border-bottom:2px solid var(--border-color);padding-bottom:7px}.rds-toggle-link-button__label__chevron{padding-left:var(--rds-spacing--8)}.rds-toggle-link-button__label__chevron>svg{height:100%;width:20px;transform:rotate(var(--chevron-direction));transition:transform 125ms ease-in-out;transform-origin:center}.rds-toggle-link-button__label__chevron>svg>path{fill:currentColor}.rds-light{--border-color: var(--rds-foreground-tertiary)}.rds-light .rds-toggle-link-button__input:checked+.rds-toggle-link-button__label{--border-color: var(--rds-background-secondary)}.rds-light .rds-toggle-link-button__label{color:var(--rds-button-primary-fg)}\n")();
6
- const ToggleLinkButton = forwardRef(({
7
- defaultChecked,
8
- toggledContentId,
9
- iconClass = "",
10
- lightBackground,
11
- children,
12
- onChange,
13
- id,
14
- className = "",
15
- ...rest
16
- }, ref) => {
17
- const internalRef = useRef(null);
18
- const [isChecked, setIsChecked] = useState(!!defaultChecked);
19
- const inputRef = ref || internalRef;
20
- const handleChange = (e) => {
21
- var _a;
22
- if (typeof onChange === "function") {
23
- onChange(e);
24
- }
25
- if (typeof inputRef !== "function") {
26
- setIsChecked(!!((_a = inputRef.current) == null ? void 0 : _a.checked));
27
- } else {
28
- setIsChecked(!isChecked);
29
- }
30
- };
31
- return /* @__PURE__ */ jsx(BaseCheckbox, {
32
- id,
33
- ref: inputRef,
34
- onChange: handleChange,
35
- checked: isChecked,
36
- "aria-controls": toggledContentId,
37
- dataTestId: "toggle-link-button__label",
38
- containerClassName: "rds-toggle-link-button",
39
- inputClassName: "rds-toggle-link-button__input",
40
- labelClassName: `rds-toggle-link-button__label ${lightBackground ? "rds-light" : ""} ${className}`,
41
- ...rest,
42
- children: /* @__PURE__ */ jsxs("span", {
43
- className: "rds-toggle-link-button__label__content",
44
- children: [/* @__PURE__ */ jsx("span", {
45
- "data-testid": `toggle-link-button__label__text`,
46
- children
47
- }), /* @__PURE__ */ jsx("span", {
48
- className: `rds-toggle-link-button__label__chevron ${iconClass}`,
49
- children: /* @__PURE__ */ jsx(Chevron, {})
50
- })]
51
- })
52
- });
53
- });
54
- ToggleLinkButton.displayName = "ToggleLinkButton";
55
- export { ToggleLinkButton as T };
@@ -1,67 +0,0 @@
1
- import { forwardRef } from "react";
2
- import { j as jsx } from "../core/RiksTV.js";
3
- var typography = /* @__PURE__ */ (() => ".rtv{--sub-body-color--light: var(--rds-foreground-solid-soft)}.strm{--sub-body-color--light: var(--rds-button-primary-fg)}.rds-link{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;color:var(--rds-foreground-primary);transition:75ms ease color}.rds-link:visited{color:var(--rds-foreground-primary)}.rds-link:hover{text-decoration-thickness:2px;color:var(--rds-heading-accent)}.rds-link:active{text-decoration:none;text-shadow:0px 0px 1px var(--rds-foreground-primary)}.rds-link--active,.rds-link[aria-current=page]{text-shadow:0px 0px 1px var(--rds-foreground-primary)}.rds-link:focus::-moz-focus-inner{border-style:none;outline:0}.rds-link:focus button::-moz-focus-inner,.rds-link:focus [type=button]::-moz-focus-inner,.rds-link:focus [type=reset]::-moz-focus-inner,.rds-link:focus [type=submit]::-moz-focus-inner{border-style:none}.rds-link:focus input[type=button]::-moz-focus-inner{outline:0}html:not([data-mousenavigation]):not([data-touchnavigation]) .rds-link:focus{outline-offset:2px;outline:2px solid var(--rds-feedback-info);transition:outline-offset .25s ease}.rds-display-title{font-family:var(--rds-font-family-lg-headlines);font-size:clamp(2.5rem,calc(1.4285714286rem + 2.9761904762vw),5rem);font-weight:400;line-height:1.2;color:var(--rds-foreground-primary)}.rds-title-1{font-family:var(--rds-font-family-lg-headlines);font-size:clamp(1.875rem,calc(1.1785714286rem + 1.9345238095vw),3.5rem);font-weight:400;line-height:1.2;color:var(--rds-foreground-primary)}.rds-title-2{font-family:var(--rds-font-family-lg-headlines);font-size:clamp(1.5rem,calc(1.0714285714rem + 1.1904761905vw),2.5rem);font-weight:400;line-height:1.2;color:var(--rds-foreground-primary)}.rds-sub-title-2{font-family:var(--rds-font-family-lg-headlines);font-size:clamp(1.375rem,calc(1.1071428571rem + .744047619vw),2rem);font-weight:400;line-height:1.2;color:var(--rds-foreground-primary)}.rds-title-3{font-family:var(--rds-font-family-m-headlines);font-size:clamp(1.25rem,calc(1.1964285714rem + .1488095238vw),1.375rem);font-weight:400;line-height:1.2;color:var(--rds-heading-accent)}.rds-title-4{font-family:var(--rds-font-family-m-headlines);font-size:clamp(1rem,calc(.9464285714rem + .1488095238vw),1.125rem);font-weight:400;line-height:1.2;color:var(--rds-foreground-primary)}.rds-lead{font-family:var(--rds-font-family-lead);font-size:clamp(1rem,calc(.9464285714rem + .1488095238vw),1.125rem);font-weight:400;line-height:1.5;color:var(--rds-foreground-primary)}.rds-body,.rds-span{font-family:var(--rds-font-family-body);font-size:clamp(1rem,calc(.9464285714rem + .1488095238vw),1.125rem);font-weight:400;line-height:1.5;color:var(--rds-foreground-primary)}.rds-sub-body{font-family:var(--rds-font-family-body);font-size:clamp(.875rem,calc(.8214285714rem + .1488095238vw),1rem);font-weight:400;line-height:1.5;color:var(--rds-foreground-primary)}.rds-tag{font-family:var(--rds-font-family-headlines);text-transform:uppercase;font-size:clamp(.75rem,calc(.6964285714rem + .1488095238vw),.875rem);line-height:1.2;font-weight:400;letter-spacing:.09375rem;color:var(--rds-foreground-primary)}.rds-bold{font-family:var(--rds-font-family-headlines);font-size:clamp(1.125rem,calc(1.125rem + 0vw),1.125rem);font-weight:400;line-height:1.5;color:var(--rds-foreground-primary)}.rds-meta{font-family:var(--rds-font-family-body);font-size:clamp(.75rem,calc(.6964285714rem + .1488095238vw),.875rem);font-weight:400;line-height:1.5;color:var(--rds-foreground-overlay-heavy)}.rds-link--light,.rds-light .rds-link{color:var(--rds-background-primary)}.rds-link--light:hover,.rds-light .rds-link:hover{color:var(--rds-foreground-tertiary)}.rds-link--light:active,.rds-light .rds-link:active{text-shadow:0px 0px 1px var(--rds-background-primary)}.rds-link--light:visited,.rds-light .rds-link:visited{color:var(--rds-background-primary)}.rds-link--light--active,.rds-link--light[aria-current=page],.rds-light [aria-current=page].rds-link{text-shadow:0px 0px 1px var(--rds-background-primary)}.rds-light .rds-display-title,.rds-display-title--light{color:var(--rds-foreground-tertiary)}.rds-light .rds-title-1,.rds-title-1--light,.rds-light .rds-title-2,.rds-title-2--light,.rds-light .rds-title-3,.rds-title-3--light,.rds-light .rds-title-4,.rds-title-4--light,.rds-light .rds-sub-title-2,.rds-sub-title-2--light,.rds-light .rds-lead,.rds-lead--light{color:var(--rds-button-primary-fg)}.rds-light .rds-body,.rds-light .rds-span,.rds-body--light{color:var(--rds-background-primary)}.rds-light .rds-sub-body,.rds-sub-body--light{color:var(--sub-body-color--light)}.rds-light .rds-tag,.rds-tag--light,.rds-light .rds-bold,.rds-bold--light{color:var(--rds-background-primary)}.rds-light .rds-meta,.rds-meta--light{color:var(--rds-button-primary-fg)}\n")();
4
- const typographyFactory = (factoryProps) => forwardRef(({
5
- children,
6
- lookLike = factoryProps.lookLike,
7
- className = "",
8
- lightBackground = false,
9
- ...props
10
- }, ref) => {
11
- const C = factoryProps.semanticElement;
12
- return /* @__PURE__ */ jsx(C, {
13
- className: `rds-${lookLike} ${lightBackground ? `rds-${lookLike}--light` : ""} ${className}`,
14
- ...props,
15
- ref,
16
- children
17
- });
18
- });
19
- const DisplayTitle = typographyFactory({
20
- semanticElement: "h1",
21
- lookLike: "display-title"
22
- });
23
- const H1 = typographyFactory({
24
- semanticElement: "h1",
25
- lookLike: "title-1"
26
- });
27
- const H2 = typographyFactory({
28
- semanticElement: "h2",
29
- lookLike: "title-2"
30
- });
31
- const H3 = typographyFactory({
32
- semanticElement: "h3",
33
- lookLike: "title-3"
34
- });
35
- const H4 = typographyFactory({
36
- semanticElement: "h4",
37
- lookLike: "title-4"
38
- });
39
- const Lead = typographyFactory({
40
- semanticElement: "p",
41
- lookLike: "lead"
42
- });
43
- const Body = typographyFactory({
44
- semanticElement: "p",
45
- lookLike: "body"
46
- });
47
- const SubBody = typographyFactory({
48
- semanticElement: "p",
49
- lookLike: "sub-body"
50
- });
51
- const Tag = typographyFactory({
52
- semanticElement: "span",
53
- lookLike: "tag"
54
- });
55
- const Bold = typographyFactory({
56
- semanticElement: "strong",
57
- lookLike: "bold"
58
- });
59
- const Meta = typographyFactory({
60
- semanticElement: "span",
61
- lookLike: "meta"
62
- });
63
- const Span = typographyFactory({
64
- semanticElement: "span",
65
- lookLike: "span"
66
- });
67
- export { Body as B, DisplayTitle as D, H1 as H, Lead as L, Meta as M, Span as S, Tag as T, H2 as a, H3 as b, H4 as c, Bold as d, SubBody as e };
@@ -1,213 +0,0 @@
1
- export { R as RiksTVProvider } from "./components/core/RiksTV.js";
2
- export { S as StrimProvider } from "./components/core/Strim.js";
3
- export { L as LightMode } from "./components/core/LightMode.js";
4
- export { G as Gutter } from "./components/spacing/Gutter.js";
5
- export { G as GutterPadding } from "./components/spacing/GutterPadding.js";
6
- export { N as NotificationDot } from "./components/notificationDot/NotificationDot.js";
7
- export { A as Accordion } from "./components/accordion/Accordion.js";
8
- export { P as Panel } from "./components/panel/Panel.js";
9
- export { B as Breadcrumb, a as BreadcrumbCurrent } from "./components/breadcrumb/Breadcrumb.js";
10
- export { P as Progress } from "./components/progress/Progress.js";
11
- export { L as Loader } from "./components/loader/Loader.js";
12
- export { C as CircularProgress } from "./components/progress/CircularProgress.js";
13
- export { P as PrimaryButton, S as SecondaryButton, T as TertiaryButton } from "./components/button/Button.js";
14
- export { P as PrimaryArrowButton, S as SecondaryArrowButton, T as TertiaryArrowButton } from "./components/button/ArrowButton.js";
15
- export { P as PrimaryIconButton, S as SecondaryIconButton, T as TertiaryIconButton } from "./components/button/IconButton.js";
16
- export { T as ToggleButton } from "./components/toggleButton/ToggleButton.js";
17
- export { T as ToggleInlineButton } from "./components/toggleInlineButton/ToggleInlineButton.js";
18
- export { T as ToggleLinkButton } from "./components/toggleLinkButton/ToggleLinkButton.js";
19
- export { C as Checkbox } from "./components/checkbox/Checkbox.js";
20
- export { a as RadioToggleInput } from "./components/toggle/RadioToggle.js";
21
- export { F as FieldSet } from "./components/toggle/FieldSet.js";
22
- export { T as TextField } from "./components/textfield/TextField.js";
23
- export { B as Body, d as Bold, D as DisplayTitle, H as H1, a as H2, b as H3, c as H4, L as Lead, M as Meta, S as Span, e as SubBody, T as Tag } from "./components/typography/Typography.js";
24
- export { L as List } from "./components/list/List.js";
25
- export { C as CheckmarkListItem } from "./components/list/CheckmarkListItem.js";
26
- export { L as ListItem } from "./components/list/ListItem.js";
27
- export { C as CrossmarkListItem } from "./components/list/CrossmarkListItem.js";
28
- export { O as OrderedListItem } from "./components/list/OrderedListItem.js";
29
- import { useState, useEffect, useRef, useCallback, useLayoutEffect } from "react";
30
- export { L as LinkButton } from "./components/button/LinkButton.js";
31
- export { B as BaseLinkButton } from "./components/button/BaseLinkButton.js";
32
- import "./components/core/Core.js";
33
- import "./components/icons/Chevron.js";
34
- import "./components/panel/Success.js";
35
- import "./components/panel/Warning.js";
36
- import "./components/panel/Info.js";
37
- import "./components/loader/RawLoader.js";
38
- import "./components/button/BaseButton.js";
39
- import "./components/button/DecoratedButton.js";
40
- import "./components/button/BaseDecoratedButton.js";
41
- import "./components/icons/Arrow.js";
42
- import "./components/checkbox/BaseCheckbox.js";
43
- const PREFERS_REDUCED_MOTION = "(prefers-reduced-motion: reduce)";
44
- const getInitialMediaQueryMatch = (mediaQuery) => {
45
- if (typeof window !== "undefined" && window.matchMedia) {
46
- return window.matchMedia(mediaQuery).matches;
47
- }
48
- return false;
49
- };
50
- const addMediaQueryListener = (mq, callback) => {
51
- if (typeof mq.addEventListener !== "undefined") {
52
- mq.addEventListener("change", callback);
53
- }
54
- };
55
- const useBrowserPreferences = () => {
56
- const [prefersReducedMotion, setPrefersReducedMotion] = useState(getInitialMediaQueryMatch(PREFERS_REDUCED_MOTION));
57
- useEffect(() => {
58
- if (typeof window !== "undefined" && window.matchMedia) {
59
- addMediaQueryListener(window.matchMedia(PREFERS_REDUCED_MOTION), (e2) => {
60
- setPrefersReducedMotion(e2.matches);
61
- });
62
- }
63
- }, []);
64
- return { prefersReducedMotion };
65
- };
66
- function useAnimatedHeight(isOpen, options) {
67
- const raf1 = useRef();
68
- const raf2 = useRef();
69
- const elementRef = useRef(null);
70
- const firstRender = useRef(true);
71
- const { prefersReducedMotion } = useBrowserPreferences();
72
- function handleTransitionEnd(event) {
73
- var _a;
74
- const element = elementRef.current;
75
- if (element && event.target === element) {
76
- element.removeAttribute("style");
77
- (_a = options == null ? void 0 : options.onTransitionEnd) == null ? void 0 : _a.call(options, isOpen);
78
- }
79
- }
80
- const runAnimation = useCallback(() => {
81
- var _a, _b;
82
- if (firstRender.current) {
83
- return;
84
- }
85
- (_a = options == null ? void 0 : options.onTransitionStart) == null ? void 0 : _a.call(options, isOpen);
86
- if (prefersReducedMotion) {
87
- (_b = options == null ? void 0 : options.onTransitionEnd) == null ? void 0 : _b.call(options, isOpen);
88
- return;
89
- }
90
- const element = elementRef.current;
91
- if (element) {
92
- element.style.display = "block";
93
- element.style.overflow = "hidden";
94
- if (isOpen) {
95
- element.style.height = "0";
96
- element.style.height = `${element.scrollHeight}px`;
97
- } else {
98
- if (element.scrollHeight === 0) {
99
- element.removeAttribute("style");
100
- return;
101
- }
102
- element.style.height = `${element.scrollHeight}px`;
103
- raf1.current = requestAnimationFrame(() => {
104
- raf2.current = requestAnimationFrame(() => {
105
- element.style.height = `${0}px`;
106
- });
107
- });
108
- }
109
- }
110
- }, [isOpen, options, prefersReducedMotion]);
111
- useLayoutEffect(() => {
112
- runAnimation();
113
- }, [isOpen, runAnimation]);
114
- useEffect(() => {
115
- const element = elementRef.current;
116
- if (element) {
117
- element.addEventListener("transitionend", handleTransitionEnd);
118
- }
119
- return () => {
120
- if (element) {
121
- element.removeEventListener("transitionend", handleTransitionEnd);
122
- }
123
- };
124
- }, [isOpen]);
125
- useEffect(() => {
126
- const r1 = raf1.current;
127
- const r2 = raf2.current;
128
- firstRender.current = false;
129
- return () => {
130
- r1 && cancelAnimationFrame(r1);
131
- r2 && cancelAnimationFrame(r2);
132
- };
133
- }, [raf1, raf2]);
134
- return [elementRef, runAnimation];
135
- }
136
- const useClickOutsideListener = ({ ref, callback, condition = true }) => {
137
- const handleClick = useCallback((e2) => {
138
- if ((ref == null ? void 0 : ref.current) && !ref.current.contains(e2.target)) {
139
- callback(e2);
140
- }
141
- }, [callback, ref]);
142
- useEffect(() => {
143
- if (ref && condition) {
144
- document && document.addEventListener("click", handleClick);
145
- }
146
- return () => {
147
- document && document.removeEventListener("click", handleClick);
148
- };
149
- }, [ref, condition, handleClick]);
150
- };
151
- const intersectionObserverSupported = (() => {
152
- const entry = globalThis.IntersectionObserverEntry;
153
- return "IntersectionObserver" in globalThis && entry && "isIntersecting" in entry.prototype;
154
- })();
155
- const noop = () => void 0;
156
- const useIntersectionObserver = (callback, options = {}, fallback = noop, enabled = true) => {
157
- const [triggerElement, setTriggerElement] = useState(null);
158
- const observedElementRef = useCallback((refNode) => setTriggerElement(refNode), [setTriggerElement]);
159
- const optionsRef = useRef(options);
160
- const observerRef = useRef(null);
161
- useEffect(() => {
162
- if (!intersectionObserverSupported) {
163
- fallback == null ? void 0 : fallback();
164
- return;
165
- }
166
- let observer = observerRef.current;
167
- observer == null ? void 0 : observer.disconnect();
168
- if (triggerElement && enabled) {
169
- observer = new IntersectionObserver(callback, optionsRef.current);
170
- observer.observe(triggerElement);
171
- }
172
- return () => {
173
- observer == null ? void 0 : observer.disconnect();
174
- };
175
- }, [triggerElement, callback, fallback, enabled]);
176
- return [observedElementRef];
177
- };
178
- const useElementVisible = (options = { rootMargin: "150px" }, enabled = true) => {
179
- const [isVisible, setIsVisible] = useState(false);
180
- const [targetRef] = useIntersectionObserver((items) => {
181
- const isIntersecting = items.some((i) => i.isIntersecting);
182
- setIsVisible(isIntersecting);
183
- }, options, void 0, enabled);
184
- return [targetRef, isVisible];
185
- };
186
- const hasWindowWithMutationObserver = () => typeof window !== "undefined" && typeof MutationObserver !== "undefined";
187
- const useMutationObserver = (target, onObservation, config) => {
188
- const observerRef = useRef(null);
189
- useEffect(() => {
190
- let observer = observerRef.current;
191
- if (hasWindowWithMutationObserver()) {
192
- if (observer) {
193
- observer.disconnect();
194
- }
195
- observer = new MutationObserver(onObservation);
196
- if (target) {
197
- if ("current" in target) {
198
- if (target.current) {
199
- observer.observe(target.current, config);
200
- }
201
- } else {
202
- observer.observe(target, config);
203
- }
204
- }
205
- }
206
- return () => {
207
- if (hasWindowWithMutationObserver() && observer) {
208
- observer.disconnect();
209
- }
210
- };
211
- }, [target, onObservation, config]);
212
- };
213
- export { useAnimatedHeight, useBrowserPreferences, useClickOutsideListener, useElementVisible, useIntersectionObserver, useMutationObserver };