@helsenorge/designsystem-react 9.0.0-beta.0 → 9.0.0-beta.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.
- package/CHANGELOG.md +27 -3
- package/FormGroup.js +45 -38
- package/FormGroup.js.map +1 -1
- package/Input.js.map +1 -1
- package/Label.js +58 -54
- package/Label.js.map +1 -1
- package/Select.js +45 -36
- package/Select.js.map +1 -1
- package/Slider.js +218 -0
- package/Slider.js.map +1 -0
- package/Spacer.js.map +1 -1
- package/StatusDot.js +12 -12
- package/StatusDot.js.map +1 -1
- package/__mocks__/matchMedia.js.map +1 -1
- package/__mocks__/useHover.js +2 -3
- package/__mocks__/useHover.js.map +1 -1
- package/__mocks__/useLayoutEvent.js +2 -3
- package/__mocks__/useLayoutEvent.js.map +1 -1
- package/__mocks__/useOutsideEvent.js +2 -3
- package/__mocks__/useOutsideEvent.js.map +1 -1
- package/__mocks__/usePseudoClasses.js +2 -3
- package/__mocks__/usePseudoClasses.js.map +1 -1
- package/__mocks__/useSize.js +2 -3
- package/__mocks__/useSize.js.map +1 -1
- package/__mocks__/uuid.js +2 -3
- package/__mocks__/uuid.js.map +1 -1
- package/components/AnchorLink/AnchorLink.test.d.ts +1 -0
- package/components/Avatar/Avatar.test.d.ts +1 -0
- package/components/Badge/Badge.test.d.ts +1 -0
- package/components/Button/Button.test.d.ts +1 -0
- package/components/Checkbox/Checkbox.test.d.ts +1 -0
- package/components/Chip/Chip.test.d.ts +1 -0
- package/components/Close/Close.test.d.ts +1 -0
- package/components/DictionaryTrigger/DictionaryTrigger.test.d.ts +1 -0
- package/components/Dropdown/Dropdown.test.d.ts +1 -0
- package/components/Duolist/Duolist.test.d.ts +1 -0
- package/components/EmptyState/EmptyState.test.d.ts +1 -0
- package/components/ErrorWrapper/ErrorWrapper.test.d.ts +1 -0
- package/components/Expander/Expander.test.d.ts +1 -0
- package/components/ExpanderHierarchy/ExpanderHierarchy.test.d.ts +1 -0
- package/components/ExpanderList/ExpanderList.test.d.ts +1 -0
- package/components/ExpanderList/styles.module.scss +5 -0
- package/components/EyebrowHeader/EyebrowHeader.test.d.ts +1 -0
- package/components/FormGroup/FormGroup.test.d.ts +1 -0
- package/components/FormLayout/FormLayout.test.d.ts +1 -0
- package/components/HelpBubble/HelpBubble.test.d.ts +1 -0
- package/components/HelpPanel/HelpPanel.test.d.ts +1 -0
- package/components/HelpQuestion/HelpQuestion.test.d.ts +1 -0
- package/components/HighlightPanel/HighlightPanel.test.d.ts +1 -0
- package/components/HorizontalScroll/HorizontalScroll.test.d.ts +1 -0
- package/components/Icon/Icon.test.d.ts +1 -0
- package/components/Illustration/Illustration.test.d.ts +1 -0
- package/components/Input/Input.d.ts +1 -1
- package/components/Input/Input.test.d.ts +1 -0
- package/components/Label/Label.d.ts +5 -2
- package/components/Label/Label.test.d.ts +1 -0
- package/components/LazyIcon/LazyIcon.test.d.ts +1 -0
- package/components/LazyIllustration/LazyIllustration.test.d.ts +1 -0
- package/components/LinkList/LinkList.test.d.ts +1 -0
- package/components/List/List.test.d.ts +1 -0
- package/components/Loader/Loader.test.d.ts +1 -0
- package/components/Logo/Logo.test.d.ts +1 -0
- package/components/MaxCharacters/MaxCharacters.test.d.ts +1 -0
- package/components/Modal/Modal.test.d.ts +1 -0
- package/components/NotificationPanel/NotificationPanel.test.d.ts +1 -0
- package/components/Panel/Panel.test.d.ts +1 -0
- package/components/PanelList/PanelList.test.d.ts +1 -0
- package/components/PopMenu/PopMenu.test.d.ts +1 -0
- package/components/PopOver/PopOver.test.d.ts +1 -0
- package/components/Progressbar/Progressbar.test.d.ts +1 -0
- package/components/PromoPanel/PromoPanel.test.d.ts +1 -0
- package/components/RadioButton/RadioButton.test.d.ts +1 -0
- package/components/Select/Select.test.d.ts +1 -0
- package/components/ServiceMessage/ServiceMessage.test.d.ts +1 -0
- package/components/SharingStatus/SharingStatus.test.d.ts +1 -0
- package/components/Slider/Slider.d.ts +9 -4
- package/components/Slider/Slider.test.d.ts +1 -0
- package/components/Slider/index.js +3 -189
- package/components/Slider/index.js.map +1 -1
- package/components/Slider/styles.module.scss +19 -6
- package/components/Slider/styles.module.scss.d.ts +3 -0
- package/components/Spacer/Spacer.test.d.ts +1 -0
- package/components/StatusDot/StatusDot.test.d.ts +1 -0
- package/components/Step/Step.test.d.ts +1 -0
- package/components/StepButtons/StepButtons.test.d.ts +1 -0
- package/components/Stepper/Stepper.test.d.ts +1 -0
- package/components/Table/Table.test.d.ts +1 -0
- package/components/Tabs/Tabs.test.d.ts +1 -0
- package/components/Tag/Tag.test.d.ts +1 -0
- package/components/TagList/TagList.test.d.ts +1 -0
- package/components/Textarea/Textarea.test.d.ts +1 -0
- package/components/Tile/Tile.test.d.ts +1 -0
- package/components/Title/Title.test.d.ts +1 -0
- package/components/Toggle/Toggle.test.d.ts +1 -0
- package/components/Toggle/index.js +424 -432
- package/components/Toggle/index.js.map +1 -1
- package/components/Tooltip/Tooltip.test.d.ts +1 -0
- package/components/Trigger/Trigger.test.d.ts +1 -0
- package/components/Validation/Validation.test.d.ts +1 -0
- package/components/Validation/ValidationSummary.test.d.ts +1 -0
- package/components/Validation/index.js +15 -14
- package/components/Validation/index.js.map +1 -1
- package/docs/FormExample/FormExample.d.ts +1 -0
- package/hoc/withBreakpoint/withBreakpoint.test.d.ts +1 -0
- package/package.json +1 -1
package/Select.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { jsx as l, jsxs as
|
|
1
|
+
import { jsx as l, jsxs as I } from "react/jsx-runtime";
|
|
2
2
|
import H from "react";
|
|
3
|
-
import
|
|
3
|
+
import i from "classnames";
|
|
4
4
|
import { FormOnColor as U, AnalyticsId as V, IconSize as X, AVERAGE_CHARACTER_WIDTH_PX as $ } from "./constants.js";
|
|
5
5
|
import { useUuid as h } from "./hooks/useUuid.js";
|
|
6
6
|
import { getColor as v } from "./theme/currys/color.js";
|
|
@@ -10,62 +10,71 @@ import { I as M } from "./Icon.js";
|
|
|
10
10
|
import O from "./components/Icons/ChevronDown.js";
|
|
11
11
|
import { a as P } from "./Label.js";
|
|
12
12
|
import e from "./components/Select/styles.module.scss";
|
|
13
|
-
const k = (
|
|
13
|
+
const k = (t) => `calc(${t * $}px + 2rem)`, J = (t, r) => r ? v("neutral", 500) : v(t ? "cherry" : "blueberry", 600), ie = H.forwardRef(function(r, c) {
|
|
14
14
|
const {
|
|
15
15
|
className: y,
|
|
16
|
-
children:
|
|
17
|
-
concept:
|
|
16
|
+
children: x,
|
|
17
|
+
concept: N = "normal",
|
|
18
18
|
disabled: a,
|
|
19
|
-
error:
|
|
20
|
-
errorText:
|
|
21
|
-
errorTextId:
|
|
22
|
-
errorWrapperClassName:
|
|
23
|
-
label:
|
|
24
|
-
selectId:
|
|
25
|
-
name:
|
|
19
|
+
error: W,
|
|
20
|
+
errorText: d,
|
|
21
|
+
errorTextId: S,
|
|
22
|
+
errorWrapperClassName: g,
|
|
23
|
+
label: A,
|
|
24
|
+
selectId: p,
|
|
25
|
+
name: R = p,
|
|
26
26
|
onColor: s = U.onwhite,
|
|
27
|
-
testId:
|
|
27
|
+
testId: n,
|
|
28
28
|
width: m,
|
|
29
|
-
required:
|
|
29
|
+
required: u,
|
|
30
30
|
value: T,
|
|
31
31
|
defaultValue: E,
|
|
32
|
-
autoComplete:
|
|
32
|
+
autoComplete: f = "off",
|
|
33
33
|
wrapperClassName: D,
|
|
34
34
|
..._
|
|
35
|
-
} = r,
|
|
35
|
+
} = r, C = h(p), b = h(S), w = s === "onblueberry", o = s === "oninvalid" || !!d || !!W, j = J(o, !!a), q = m ? k(m) : void 0, z = i(
|
|
36
36
|
e["select-inner-wrapper"],
|
|
37
37
|
{
|
|
38
|
-
[e["select-inner-wrapper--transparent"]]:
|
|
39
|
-
[e["select-inner-wrapper--on-blueberry"]]:
|
|
40
|
-
[e["select-inner-wrapper--invalid"]]:
|
|
38
|
+
[e["select-inner-wrapper--transparent"]]: N === "transparent",
|
|
39
|
+
[e["select-inner-wrapper--on-blueberry"]]: w,
|
|
40
|
+
[e["select-inner-wrapper--invalid"]]: o,
|
|
41
41
|
[e["select-inner-wrapper--disabled"]]: a
|
|
42
42
|
},
|
|
43
43
|
y
|
|
44
|
-
), B =
|
|
45
|
-
[e["select--on-blueberry"]]:
|
|
46
|
-
[e["select--invalid"]]:
|
|
47
|
-
}), F =
|
|
48
|
-
return /* @__PURE__ */ l(L, { className:
|
|
49
|
-
P(
|
|
50
|
-
/* @__PURE__ */
|
|
51
|
-
/* @__PURE__ */ l(
|
|
44
|
+
), B = i(e.select, {
|
|
45
|
+
[e["select--on-blueberry"]]: w,
|
|
46
|
+
[e["select--invalid"]]: o
|
|
47
|
+
}), F = i(e["select-wrapper"], D);
|
|
48
|
+
return /* @__PURE__ */ l(L, { className: g, errorText: d, errorTextId: b, children: /* @__PURE__ */ I("div", { "data-testid": n, "data-analyticsid": V.Select, className: F, style: { maxWidth: q }, children: [
|
|
49
|
+
P(A, C, s),
|
|
50
|
+
/* @__PURE__ */ I("div", { className: z, "data-testid": n + "-inner-wrapper", children: [
|
|
51
|
+
/* @__PURE__ */ l(
|
|
52
|
+
M,
|
|
53
|
+
{
|
|
54
|
+
className: e["select-arrow"],
|
|
55
|
+
svgIcon: O,
|
|
56
|
+
color: j,
|
|
57
|
+
size: X.XSmall,
|
|
58
|
+
testId: n + "-icon"
|
|
59
|
+
}
|
|
60
|
+
),
|
|
52
61
|
/* @__PURE__ */ l(
|
|
53
62
|
"select",
|
|
54
63
|
{
|
|
55
|
-
"aria-invalid": !!
|
|
56
|
-
id:
|
|
57
|
-
name:
|
|
64
|
+
"aria-invalid": !!o,
|
|
65
|
+
id: C,
|
|
66
|
+
name: R,
|
|
58
67
|
className: B,
|
|
59
68
|
disabled: a,
|
|
60
|
-
ref:
|
|
61
|
-
required:
|
|
62
|
-
"aria-describedby": G(r,
|
|
63
|
-
"aria-required": !!
|
|
69
|
+
ref: c,
|
|
70
|
+
required: u,
|
|
71
|
+
"aria-describedby": G(r, b),
|
|
72
|
+
"aria-required": !!u,
|
|
64
73
|
value: T,
|
|
65
74
|
defaultValue: E,
|
|
66
|
-
autoComplete:
|
|
75
|
+
autoComplete: f || void 0,
|
|
67
76
|
..._,
|
|
68
|
-
children:
|
|
77
|
+
children: x
|
|
69
78
|
}
|
|
70
79
|
)
|
|
71
80
|
] })
|
package/Select.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sources":["../src/components/Select/Select.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId, AVERAGE_CHARACTER_WIDTH_PX, FormOnColor, IconSize } from '../../constants';\nimport { useUuid } from '../../hooks/useUuid';\nimport { getColor } from '../../theme/currys';\nimport { getAriaDescribedBy } from '../../utils/accessibility';\nimport ErrorWrapper, { ErrorWrapperClassNameProps } from '../ErrorWrapper';\nimport Icon from '../Icon';\nimport ChevronDown from '../Icons/ChevronDown';\nimport { renderLabel } from '../Label';\n\nimport selectStyles from './styles.module.scss';\n\ntype SelectConcept = 'normal' | 'transparent';\n\nexport interface SelectProps\n extends ErrorWrapperClassNameProps,\n Pick<\n React.SelectHTMLAttributes<HTMLSelectElement>,\n 'aria-describedby' | 'name' | 'disabled' | 'required' | 'value' | 'onChange' | 'autoComplete'\n > {\n /** Sets the content of the select element. */\n children: React.ReactNode;\n /** Adds custom classes to the element. */\n className?: string;\n /** Changes the visuals of the component */\n concept?: SelectConcept;\n /** The label text above the select */\n label?: React.ReactNode;\n /** Changes the visuals of the component */\n onColor?: keyof typeof FormOnColor;\n /** Activates Error style for the select component - This is can be true while errorText is empty, when in a FormGroup */\n error?: boolean;\n /** Error text to show above the component */\n errorText?: string;\n /** Error text id */\n errorTextId?: string;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** select id of the select element */\n selectId?: string;\n /** Width of select in characters (approximate) */\n width?: number;\n /** Gives defaultvalue to the comp. Preferred over selected prop on option by react */\n defaultValue?: string | number;\n /** Adds custom classes to the wrapper tag */\n wrapperClassName?: string;\n}\n\nconst getSelectMaxWidth = (characters: number): string => {\n const paddingWidth = '2rem';\n\n return `calc(${characters * AVERAGE_CHARACTER_WIDTH_PX}px + ${paddingWidth})`;\n};\n\nconst getIconColor = (invalid: boolean, disabled: boolean) => {\n const iconColor = invalid ? 'cherry' : 'blueberry';\n return disabled ? getColor('neutral', 500) : getColor(iconColor, 600);\n};\n\nexport const Select = React.forwardRef(function SelectForwardedRef(props: SelectProps, ref: React.Ref<HTMLSelectElement>) {\n const {\n className,\n children,\n concept = 'normal',\n disabled,\n error,\n errorText,\n errorTextId,\n errorWrapperClassName,\n label,\n selectId,\n name = selectId,\n onColor = FormOnColor.onwhite,\n testId,\n width,\n required,\n value,\n defaultValue,\n autoComplete = 'off',\n wrapperClassName,\n ...rest\n } = props;\n\n const uuid = useUuid(selectId);\n const errorTextUuid = useUuid(errorTextId);\n const onBlueberry = onColor === 'onblueberry';\n const invalid = onColor === 'oninvalid' || !!errorText || !!error;\n const iconColor = getIconColor(invalid, !!disabled);\n const maxWidth = width ? getSelectMaxWidth(width) : undefined;\n\n const selectInnerWrapperClasses = classNames(\n selectStyles['select-inner-wrapper'],\n {\n [selectStyles['select-inner-wrapper--transparent']]: concept === 'transparent',\n [selectStyles['select-inner-wrapper--on-blueberry']]: onBlueberry,\n [selectStyles['select-inner-wrapper--invalid']]: invalid,\n [selectStyles['select-inner-wrapper--disabled']]: disabled,\n },\n className\n );\n\n const selectClasses = classNames(selectStyles.select, {\n [selectStyles['select--on-blueberry']]: onBlueberry,\n [selectStyles['select--invalid']]: invalid,\n });\n\n const selectWrapperClasses = classNames(selectStyles['select-wrapper'], wrapperClassName);\n\n return (\n <ErrorWrapper className={errorWrapperClassName} errorText={errorText} errorTextId={errorTextUuid}>\n <div data-testid={testId} data-analyticsid={AnalyticsId.Select} className={selectWrapperClasses} style={{ maxWidth }}>\n {renderLabel(label, uuid, onColor as FormOnColor)}\n <div className={selectInnerWrapperClasses}>\n <Icon
|
|
1
|
+
{"version":3,"file":"Select.js","sources":["../src/components/Select/Select.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId, AVERAGE_CHARACTER_WIDTH_PX, FormOnColor, IconSize } from '../../constants';\nimport { useUuid } from '../../hooks/useUuid';\nimport { getColor } from '../../theme/currys';\nimport { getAriaDescribedBy } from '../../utils/accessibility';\nimport ErrorWrapper, { ErrorWrapperClassNameProps } from '../ErrorWrapper';\nimport Icon from '../Icon';\nimport ChevronDown from '../Icons/ChevronDown';\nimport { renderLabel } from '../Label';\n\nimport selectStyles from './styles.module.scss';\n\ntype SelectConcept = 'normal' | 'transparent';\n\nexport interface SelectProps\n extends ErrorWrapperClassNameProps,\n Pick<\n React.SelectHTMLAttributes<HTMLSelectElement>,\n 'aria-describedby' | 'name' | 'disabled' | 'required' | 'value' | 'onChange' | 'autoComplete'\n > {\n /** Sets the content of the select element. */\n children: React.ReactNode;\n /** Adds custom classes to the element. */\n className?: string;\n /** Changes the visuals of the component */\n concept?: SelectConcept;\n /** The label text above the select */\n label?: React.ReactNode;\n /** Changes the visuals of the component */\n onColor?: keyof typeof FormOnColor;\n /** Activates Error style for the select component - This is can be true while errorText is empty, when in a FormGroup */\n error?: boolean;\n /** Error text to show above the component */\n errorText?: string;\n /** Error text id */\n errorTextId?: string;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** select id of the select element */\n selectId?: string;\n /** Width of select in characters (approximate) */\n width?: number;\n /** Gives defaultvalue to the comp. Preferred over selected prop on option by react */\n defaultValue?: string | number;\n /** Adds custom classes to the wrapper tag */\n wrapperClassName?: string;\n}\n\nconst getSelectMaxWidth = (characters: number): string => {\n const paddingWidth = '2rem';\n\n return `calc(${characters * AVERAGE_CHARACTER_WIDTH_PX}px + ${paddingWidth})`;\n};\n\nconst getIconColor = (invalid: boolean, disabled: boolean) => {\n const iconColor = invalid ? 'cherry' : 'blueberry';\n return disabled ? getColor('neutral', 500) : getColor(iconColor, 600);\n};\n\nexport const Select = React.forwardRef(function SelectForwardedRef(props: SelectProps, ref: React.Ref<HTMLSelectElement>) {\n const {\n className,\n children,\n concept = 'normal',\n disabled,\n error,\n errorText,\n errorTextId,\n errorWrapperClassName,\n label,\n selectId,\n name = selectId,\n onColor = FormOnColor.onwhite,\n testId,\n width,\n required,\n value,\n defaultValue,\n autoComplete = 'off',\n wrapperClassName,\n ...rest\n } = props;\n\n const uuid = useUuid(selectId);\n const errorTextUuid = useUuid(errorTextId);\n const onBlueberry = onColor === 'onblueberry';\n const invalid = onColor === 'oninvalid' || !!errorText || !!error;\n const iconColor = getIconColor(invalid, !!disabled);\n const maxWidth = width ? getSelectMaxWidth(width) : undefined;\n\n const selectInnerWrapperClasses = classNames(\n selectStyles['select-inner-wrapper'],\n {\n [selectStyles['select-inner-wrapper--transparent']]: concept === 'transparent',\n [selectStyles['select-inner-wrapper--on-blueberry']]: onBlueberry,\n [selectStyles['select-inner-wrapper--invalid']]: invalid,\n [selectStyles['select-inner-wrapper--disabled']]: disabled,\n },\n className\n );\n\n const selectClasses = classNames(selectStyles.select, {\n [selectStyles['select--on-blueberry']]: onBlueberry,\n [selectStyles['select--invalid']]: invalid,\n });\n\n const selectWrapperClasses = classNames(selectStyles['select-wrapper'], wrapperClassName);\n\n return (\n <ErrorWrapper className={errorWrapperClassName} errorText={errorText} errorTextId={errorTextUuid}>\n <div data-testid={testId} data-analyticsid={AnalyticsId.Select} className={selectWrapperClasses} style={{ maxWidth }}>\n {renderLabel(label, uuid, onColor as FormOnColor)}\n <div className={selectInnerWrapperClasses} data-testid={testId + '-inner-wrapper'}>\n <Icon\n className={selectStyles['select-arrow']}\n svgIcon={ChevronDown}\n color={iconColor}\n size={IconSize.XSmall}\n testId={testId + '-icon'}\n />\n <select\n aria-invalid={!!invalid}\n id={uuid}\n name={name}\n className={selectClasses}\n disabled={disabled}\n ref={ref}\n required={required}\n aria-describedby={getAriaDescribedBy(props, errorTextUuid)}\n aria-required={!!required}\n value={value}\n defaultValue={defaultValue}\n autoComplete={autoComplete ? autoComplete : undefined}\n {...rest}\n >\n {children}\n </select>\n </div>\n </div>\n </ErrorWrapper>\n );\n});\n\nexport default Select;\n"],"names":["getSelectMaxWidth","characters","AVERAGE_CHARACTER_WIDTH_PX","getIconColor","invalid","disabled","getColor","Select","React","props","ref","className","children","concept","error","errorText","errorTextId","errorWrapperClassName","label","selectId","name","onColor","FormOnColor","testId","width","required","value","defaultValue","autoComplete","wrapperClassName","rest","uuid","useUuid","errorTextUuid","onBlueberry","iconColor","maxWidth","selectInnerWrapperClasses","classNames","selectStyles","selectClasses","selectWrapperClasses","ErrorWrapper","jsxs","AnalyticsId","renderLabel","jsx","Icon","ChevronDown","IconSize","getAriaDescribedBy"],"mappings":"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"}
|
package/Slider.js
ADDED
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import { jsxs as w, jsx as s } from "react/jsx-runtime";
|
|
2
|
+
import oe, { useState as V, useRef as de, useEffect as p } from "react";
|
|
3
|
+
import U from "classnames";
|
|
4
|
+
import { AnalyticsId as ce } from "./constants.js";
|
|
5
|
+
import { usePseudoClasses as ue } from "./hooks/usePseudoClasses.js";
|
|
6
|
+
import { useSize as me } from "./hooks/useSize.js";
|
|
7
|
+
import { useUuid as C } from "./hooks/useUuid.js";
|
|
8
|
+
import { getAriaLabelAttributes as fe } from "./utils/accessibility.js";
|
|
9
|
+
import { isMutableRefObject as pe, mergeRefs as he } from "./utils/refs.js";
|
|
10
|
+
import { E as ve } from "./ErrorWrapper.js";
|
|
11
|
+
import { T as _e } from "./Title.js";
|
|
12
|
+
import r from "./components/Slider/styles.module.scss";
|
|
13
|
+
const be = (h, f, i) => {
|
|
14
|
+
const [R, v] = V(h), _ = (b) => {
|
|
15
|
+
b > i ? v(i) : b < f ? v(f) : v(b);
|
|
16
|
+
};
|
|
17
|
+
return p(() => {
|
|
18
|
+
_(h);
|
|
19
|
+
}, [f, i]), [R, _];
|
|
20
|
+
}, ge = oe.forwardRef((h, f) => {
|
|
21
|
+
const {
|
|
22
|
+
title: i,
|
|
23
|
+
ariaLabel: R,
|
|
24
|
+
error: v,
|
|
25
|
+
errorText: _,
|
|
26
|
+
errorTextId: b,
|
|
27
|
+
errorWrapperClassName: F,
|
|
28
|
+
labelLeft: j,
|
|
29
|
+
labelRight: P,
|
|
30
|
+
disabled: d = !1,
|
|
31
|
+
onChange: A,
|
|
32
|
+
steps: n,
|
|
33
|
+
step: g = 1,
|
|
34
|
+
minValue: a = 0,
|
|
35
|
+
maxValue: c = n ? n.length - 1 : 100,
|
|
36
|
+
selected: L = !0,
|
|
37
|
+
testId: H,
|
|
38
|
+
value: m,
|
|
39
|
+
...q
|
|
40
|
+
} = h, [B, X] = V(!1), [k, $] = V(typeof m > "u" ? L : !0), [l, u] = be(
|
|
41
|
+
typeof m > "u" ? (c - a) / 2 + a : m,
|
|
42
|
+
a,
|
|
43
|
+
c
|
|
44
|
+
), G = C(b), y = C(), I = C(), x = C(), M = de(null), { refObject: E, isFocused: J } = ue(pe(f) ? f : null), Q = he([f, E]), { width: O } = me(M) || { width: 0 }, W = c / 10, Y = !!_ || !!v;
|
|
45
|
+
p(() => {
|
|
46
|
+
const t = () => {
|
|
47
|
+
X(!1);
|
|
48
|
+
};
|
|
49
|
+
return document.addEventListener("pointerup", t), () => {
|
|
50
|
+
document.removeEventListener("pointerup", t);
|
|
51
|
+
};
|
|
52
|
+
}, []);
|
|
53
|
+
const z = (t) => {
|
|
54
|
+
var K;
|
|
55
|
+
const e = ((K = M.current) == null ? void 0 : K.getBoundingClientRect().x) ?? 0, o = (t - e) / O, S = c - a;
|
|
56
|
+
let N = o * S + a;
|
|
57
|
+
return N = Math.round(N / g) * g, N = Math.max(a, Math.min(c, N)), N;
|
|
58
|
+
};
|
|
59
|
+
p(() => {
|
|
60
|
+
const t = (e) => {
|
|
61
|
+
if (!d && B) {
|
|
62
|
+
const o = z(e.clientX);
|
|
63
|
+
u(o);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
return document.addEventListener("pointermove", t), () => {
|
|
67
|
+
document.removeEventListener("pointermove", t);
|
|
68
|
+
};
|
|
69
|
+
}, [B]), p(() => {
|
|
70
|
+
m !== l && typeof m < "u" && (D(), u(m));
|
|
71
|
+
}, [m]), p(() => {
|
|
72
|
+
typeof m > "u" && L !== k && $(L);
|
|
73
|
+
}, [L]);
|
|
74
|
+
const D = () => {
|
|
75
|
+
k === !1 && $(!0);
|
|
76
|
+
}, Z = (t) => {
|
|
77
|
+
if (d) return;
|
|
78
|
+
let e = !1;
|
|
79
|
+
switch (t.key) {
|
|
80
|
+
case "ArrowLeft":
|
|
81
|
+
case "ArrowDown":
|
|
82
|
+
u(l - g), e = !0;
|
|
83
|
+
break;
|
|
84
|
+
case "PageDown":
|
|
85
|
+
u(l - W), e = !0;
|
|
86
|
+
break;
|
|
87
|
+
case "ArrowRight":
|
|
88
|
+
case "ArrowUp":
|
|
89
|
+
u(l + g), e = !0;
|
|
90
|
+
break;
|
|
91
|
+
case "PageUp":
|
|
92
|
+
u(l + W), e = !0;
|
|
93
|
+
break;
|
|
94
|
+
case "Home":
|
|
95
|
+
u(a), e = !0;
|
|
96
|
+
break;
|
|
97
|
+
case "End":
|
|
98
|
+
u(c), e = !0;
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
e && (D(), t.preventDefault(), t.stopPropagation());
|
|
102
|
+
}, ee = (t) => {
|
|
103
|
+
var o;
|
|
104
|
+
if (d) return;
|
|
105
|
+
const e = z(t.clientX);
|
|
106
|
+
u(e), (o = E.current) == null || o.focus();
|
|
107
|
+
}, te = (t) => {
|
|
108
|
+
var e;
|
|
109
|
+
d || (X(!0), D(), t.preventDefault(), t.stopPropagation(), (e = E.current) == null || e.focus());
|
|
110
|
+
}, re = c !== a ? O / (c - a) * (l - a) : 0, ne = () => {
|
|
111
|
+
const t = n ? Math.round((l - a) / g) : null;
|
|
112
|
+
if (n && t !== null && t >= 0 && t < n.length) {
|
|
113
|
+
const e = n[t], o = e.emojiUniCode, S = typeof e.label < "u" ? e.label.toString() : void 0;
|
|
114
|
+
return o && S ? `${o} ${S}` : o || S;
|
|
115
|
+
}
|
|
116
|
+
}, ae = fe({
|
|
117
|
+
label: R,
|
|
118
|
+
id: (() => {
|
|
119
|
+
if (i && j && P)
|
|
120
|
+
return [y, I, x].join(" ");
|
|
121
|
+
if (i && j)
|
|
122
|
+
return [y, I].join(" ");
|
|
123
|
+
if (i && P)
|
|
124
|
+
return [y, x].join(" ");
|
|
125
|
+
if (i)
|
|
126
|
+
return y;
|
|
127
|
+
})(),
|
|
128
|
+
prefer: "label"
|
|
129
|
+
}), T = (t, e) => ({ left: `${t / (e - 1) * 100}%` });
|
|
130
|
+
p(() => {
|
|
131
|
+
k && A && A({
|
|
132
|
+
target: {
|
|
133
|
+
name: h.name,
|
|
134
|
+
value: l
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
}, [l, k]);
|
|
138
|
+
const se = () => /* @__PURE__ */ s("div", { className: r["slider__emoji-container"], children: n == null ? void 0 : n.map((t, e) => t.emojiUniCode && /* @__PURE__ */ s(
|
|
139
|
+
"div",
|
|
140
|
+
{
|
|
141
|
+
"aria-hidden": !0,
|
|
142
|
+
className: r.slider__emoji,
|
|
143
|
+
style: T(e, n.length),
|
|
144
|
+
children: t.emojiUniCode
|
|
145
|
+
},
|
|
146
|
+
"emoji" + e
|
|
147
|
+
)) }), ie = () => n == null ? void 0 : n.map((t, e) => /* @__PURE__ */ s("div", { className: r.slider__track__step, style: T(e, n.length) }, "step" + e)), le = () => /* @__PURE__ */ s("div", { className: r["slider__value-container"], children: n == null ? void 0 : n.map((t, e) => typeof t.label < "u" && /* @__PURE__ */ s(
|
|
148
|
+
"div",
|
|
149
|
+
{
|
|
150
|
+
"aria-hidden": !0,
|
|
151
|
+
className: r.slider__value,
|
|
152
|
+
style: T(e, n.length),
|
|
153
|
+
children: t.label
|
|
154
|
+
},
|
|
155
|
+
"label" + e
|
|
156
|
+
)) });
|
|
157
|
+
return /* @__PURE__ */ w(ve, { className: F, errorText: _, errorTextId: G, children: [
|
|
158
|
+
/* @__PURE__ */ s(
|
|
159
|
+
"input",
|
|
160
|
+
{
|
|
161
|
+
"aria-valuetext": ne(),
|
|
162
|
+
className: r["sr-only-slider"],
|
|
163
|
+
disabled: d,
|
|
164
|
+
min: a,
|
|
165
|
+
max: c,
|
|
166
|
+
onChange: A,
|
|
167
|
+
onKeyDown: Z,
|
|
168
|
+
value: l,
|
|
169
|
+
ref: Q,
|
|
170
|
+
type: "range",
|
|
171
|
+
...q,
|
|
172
|
+
...ae
|
|
173
|
+
}
|
|
174
|
+
),
|
|
175
|
+
/* @__PURE__ */ w("div", { className: r.slider, "data-testid": H, "data-analyticsid": ce.Slider, children: [
|
|
176
|
+
i && /* @__PURE__ */ s(_e, { className: r.slider__title, htmlMarkup: "h3", margin: 0, appearance: "title3", id: y, children: i }),
|
|
177
|
+
/* @__PURE__ */ w("div", { className: r["slider__content-container"], children: [
|
|
178
|
+
se(),
|
|
179
|
+
/* @__PURE__ */ w(
|
|
180
|
+
"div",
|
|
181
|
+
{
|
|
182
|
+
ref: M,
|
|
183
|
+
className: U(r["slider__track-wrapper"], d && r["slider__track-wrapper--disabled"]),
|
|
184
|
+
onClick: ee,
|
|
185
|
+
onPointerDown: te,
|
|
186
|
+
children: [
|
|
187
|
+
/* @__PURE__ */ s("div", { className: U(r.slider__track, d && r["slider__track--disabled"]), children: ie() }),
|
|
188
|
+
/* @__PURE__ */ s(
|
|
189
|
+
"div",
|
|
190
|
+
{
|
|
191
|
+
className: U(r.slider__marker, {
|
|
192
|
+
[r["slider__marker--disabled"]]: d,
|
|
193
|
+
[r["slider__marker--selected"]]: k,
|
|
194
|
+
[r["slider__marker--invalid"]]: Y,
|
|
195
|
+
[r["slider__marker--focused"]]: !d && J
|
|
196
|
+
}),
|
|
197
|
+
style: {
|
|
198
|
+
left: `${re}px`
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
)
|
|
202
|
+
]
|
|
203
|
+
}
|
|
204
|
+
),
|
|
205
|
+
le()
|
|
206
|
+
] }),
|
|
207
|
+
(j || P) && /* @__PURE__ */ w("span", { className: r.slider__options, children: [
|
|
208
|
+
/* @__PURE__ */ s("span", { id: I, children: j }),
|
|
209
|
+
/* @__PURE__ */ s("span", { id: x, children: P })
|
|
210
|
+
] })
|
|
211
|
+
] })
|
|
212
|
+
] });
|
|
213
|
+
});
|
|
214
|
+
ge.displayName = "Slider";
|
|
215
|
+
export {
|
|
216
|
+
ge as S
|
|
217
|
+
};
|
|
218
|
+
//# sourceMappingURL=Slider.js.map
|
package/Slider.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Slider.js","sources":["../src/components/Slider/Slider.tsx"],"sourcesContent":["import React, { useEffect, useState, useRef } from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport { usePseudoClasses } from '../../hooks/usePseudoClasses';\nimport { useSize } from '../../hooks/useSize';\nimport { useUuid } from '../../hooks/useUuid';\nimport { getAriaLabelAttributes } from '../../utils/accessibility';\nimport { isMutableRefObject, mergeRefs } from '../../utils/refs';\nimport ErrorWrapper, { ErrorWrapperClassNameProps } from '../ErrorWrapper';\nimport Title from '../Title';\n\nimport styles from './styles.module.scss';\n\nconst useSafeNumberValue = (initial: number, min: number, max: number): [number, (value: number) => void] => {\n const [value, setValue] = useState(initial);\n\n const setSafeValue = (newValue: number): void => {\n if (newValue > max) {\n setValue(max);\n } else if (newValue < min) {\n setValue(min);\n } else {\n setValue(newValue);\n }\n };\n\n useEffect(() => {\n setSafeValue(initial);\n }, [min, max]);\n\n return [value, setSafeValue];\n};\n\nexport type SliderStep = {\n label?: number | string;\n emojiUniCode?: string;\n};\n\nexport interface SliderProps\n extends ErrorWrapperClassNameProps,\n Pick<React.InputHTMLAttributes<HTMLInputElement>, 'name' | 'onChange' | 'onBlur'> {\n /** Activates Error style for the input */\n error?: boolean;\n /** Error text to show above the component */\n errorText?: string;\n /** Error text id */\n errorTextId?: string;\n /**\tSets the title of the slider. */\n title?: string;\n /** Adds the left hand label to the element. */\n labelLeft?: string;\n /** Adds the right hand label to the element. */\n labelRight?: string;\n /**\tSets aria-label of the slider. */\n ariaLabel?: string;\n /** Disables the slider element. */\n disabled?: boolean;\n /** Sets the minimum allowed value on the slider - this overrides the use of steps prop for minValue/maxValue. */\n minValue?: number;\n /** Sets the maximum allowed value on the slider - this overrides the use of steps prop for minValue/maxValue. */\n maxValue?: number;\n /** If set to false will only trigger onChange once a user interaction has been made, updates to this prop will be taken into account - true by default */\n selected?: boolean;\n /** Sets the steps data for the slider */\n steps?: SliderStep[];\n /** Sets the step to move per point in the slider */\n step?: number;\n /** Sets the data-testid attribute. */\n testId?: string;\n /** Sets the value of the slider */\n value?: number;\n}\n\nexport const Slider = React.forwardRef((props: SliderProps, ref: React.Ref<HTMLInputElement>) => {\n const {\n title,\n ariaLabel,\n error,\n errorText,\n errorTextId,\n errorWrapperClassName,\n labelLeft,\n labelRight,\n disabled = false,\n onChange,\n steps,\n step = 1,\n minValue = 0,\n maxValue = steps ? steps.length - 1 : 100,\n selected = true,\n testId,\n value,\n ...rest\n } = props;\n\n const [isMoving, setIsMoving] = useState(false);\n const [selectedState, setSelectedState] = useState(typeof value === 'undefined' ? selected : true);\n const [valueState, setValueState] = useSafeNumberValue(\n typeof value === 'undefined' ? (maxValue - minValue) / 2 + minValue : value,\n minValue,\n maxValue\n );\n\n const errorTextUuid = useUuid(errorTextId);\n const titleId = useUuid();\n const labelLeftId = useUuid();\n const labelRightId = useUuid();\n const trackRef = useRef<HTMLDivElement>(null);\n const { refObject, isFocused } = usePseudoClasses<HTMLInputElement>(isMutableRefObject(ref) ? ref : null);\n const mergedRefs = mergeRefs([ref, refObject]);\n\n const { width: trackWidth } = useSize(trackRef) || { width: 0 };\n const largeStep = maxValue / 10;\n const invalid = !!errorText || !!error;\n\n useEffect(() => {\n const handlePointerUp = (): void => {\n setIsMoving(false);\n };\n\n document.addEventListener('pointerup', handlePointerUp);\n\n return (): void => {\n document.removeEventListener('pointerup', handlePointerUp);\n };\n }, []);\n\n const getValueBasedOnMarkerPosition = (markerPosition: number): number => {\n const trackPosition = trackRef.current?.getBoundingClientRect().x ?? 0;\n\n // Calculate the normalized position (0 to 1) of the marker along the track\n const normalizedPosition = (markerPosition - trackPosition) / trackWidth;\n const valueRange = maxValue - minValue;\n // Calculate the value without considering the step\n let value = normalizedPosition * valueRange + minValue;\n // Adjust the value to account for the step increment\n const stepCount = Math.round(value / step);\n value = stepCount * step;\n value = Math.max(minValue, Math.min(maxValue, value));\n\n return value;\n };\n\n useEffect(() => {\n const handlePointerMove = (e: PointerEvent): void => {\n if (!disabled && isMoving) {\n const newValue = getValueBasedOnMarkerPosition(e.clientX);\n setValueState(newValue);\n }\n };\n\n document.addEventListener('pointermove', handlePointerMove);\n\n return (): void => {\n document.removeEventListener('pointermove', handlePointerMove);\n };\n }, [isMoving]);\n\n useEffect(() => {\n if (value !== valueState && typeof value !== 'undefined') {\n handleSelected();\n setValueState(value);\n }\n }, [value]);\n\n useEffect(() => {\n if (typeof value === 'undefined' && selected !== selectedState) {\n setSelectedState(selected);\n }\n }, [selected]);\n\n const handleSelected = (): void => {\n if (selectedState === false) {\n setSelectedState(true);\n }\n };\n\n const handleKeyDown: React.KeyboardEventHandler<HTMLDivElement> = e => {\n if (disabled) return;\n\n let flag = false;\n\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowDown':\n setValueState(valueState - step);\n flag = true;\n break;\n case 'PageDown':\n setValueState(valueState - largeStep);\n flag = true;\n break;\n case 'ArrowRight':\n case 'ArrowUp':\n setValueState(valueState + step);\n flag = true;\n break;\n case 'PageUp':\n setValueState(valueState + largeStep);\n flag = true;\n break;\n case 'Home':\n setValueState(minValue);\n flag = true;\n break;\n case 'End':\n setValueState(maxValue);\n flag = true;\n break;\n default:\n break;\n }\n\n if (flag) {\n handleSelected();\n e.preventDefault();\n e.stopPropagation();\n }\n };\n\n const handleTrackClick: React.MouseEventHandler<HTMLDivElement> = e => {\n if (disabled) return;\n\n const newValue = getValueBasedOnMarkerPosition(e.clientX);\n setValueState(newValue);\n refObject.current?.focus();\n };\n\n const handlePointerDown: React.PointerEventHandler<HTMLDivElement> = e => {\n if (disabled) return;\n\n setIsMoving(true);\n handleSelected();\n\n e.preventDefault();\n e.stopPropagation();\n\n refObject.current?.focus();\n };\n\n const markerXPos = maxValue !== minValue ? (trackWidth / (maxValue - minValue)) * (valueState - minValue) : 0;\n\n const getAriaValueText = (): string | undefined => {\n const stepIndex = steps ? Math.round((valueState - minValue) / step) : null;\n\n if (steps && stepIndex !== null && stepIndex >= 0 && stepIndex < steps.length) {\n const step = steps[stepIndex];\n const emojiCode = step.emojiUniCode;\n const label = typeof step.label !== 'undefined' ? step.label.toString() : undefined;\n\n return emojiCode && label ? `${emojiCode} ${label}` : emojiCode || label;\n }\n\n return undefined;\n };\n\n const getAriaLabeledById = (): string | undefined => {\n if (title && labelLeft && labelRight) {\n return [titleId, labelLeftId, labelRightId].join(' ');\n }\n if (title && labelLeft) {\n return [titleId, labelLeftId].join(' ');\n }\n if (title && labelRight) {\n return [titleId, labelRightId].join(' ');\n }\n if (title) {\n return titleId;\n }\n };\n\n const ariaLabelAttributes = getAriaLabelAttributes({\n label: ariaLabel,\n id: getAriaLabeledById(),\n prefer: 'label',\n });\n\n const getXPositionStyling = (index: number, stepsLength: number): { left: string } => {\n return { left: `${(index / (stepsLength - 1)) * 100}%` };\n };\n\n useEffect(() => {\n if (selectedState && onChange) {\n onChange({\n target: {\n name: props.name,\n value: valueState,\n },\n } as unknown as React.ChangeEvent<HTMLInputElement>);\n }\n }, [valueState, selectedState]);\n\n const renderEmojies = (): React.ReactNode => {\n return (\n <div className={styles['slider__emoji-container']}>\n {steps?.map((step, index) => {\n return (\n step.emojiUniCode && (\n <div\n aria-hidden={true}\n key={'emoji' + index}\n className={styles['slider__emoji']}\n style={getXPositionStyling(index, steps.length)}\n >\n {step.emojiUniCode}\n </div>\n )\n );\n })}\n </div>\n );\n };\n\n const renderSteps = (): React.ReactNode => {\n return steps?.map((_step, index) => {\n return <div key={'step' + index} className={styles['slider__track__step']} style={getXPositionStyling(index, steps.length)} />;\n });\n };\n\n const renderStepLabels = (): React.ReactNode => {\n return (\n <div className={styles['slider__value-container']}>\n {steps?.map((step, index) => {\n return (\n typeof step.label !== 'undefined' && (\n <div\n aria-hidden={true}\n key={'label' + index}\n className={styles['slider__value']}\n style={getXPositionStyling(index, steps.length)}\n >\n {step.label}\n </div>\n )\n );\n })}\n </div>\n );\n };\n\n return (\n <ErrorWrapper className={errorWrapperClassName} errorText={errorText} errorTextId={errorTextUuid}>\n <input\n aria-valuetext={getAriaValueText()}\n className={styles['sr-only-slider']}\n disabled={disabled}\n min={minValue}\n max={maxValue}\n onChange={onChange}\n onKeyDown={handleKeyDown}\n value={valueState}\n ref={mergedRefs}\n type=\"range\"\n {...rest}\n {...ariaLabelAttributes}\n />\n <div className={styles.slider} data-testid={testId} data-analyticsid={AnalyticsId.Slider}>\n {title && (\n <Title className={styles['slider__title']} htmlMarkup={'h3'} margin={0} appearance={'title3'} id={titleId}>\n {title}\n </Title>\n )}\n <div className={styles['slider__content-container']}>\n {renderEmojies()}\n {/* Slider streken er klikkbar med mus/touch */}\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */}\n <div\n ref={trackRef}\n className={classNames(styles['slider__track-wrapper'], disabled && styles['slider__track-wrapper--disabled'])}\n onClick={handleTrackClick}\n onPointerDown={handlePointerDown}\n >\n <div className={classNames(styles.slider__track, disabled && styles['slider__track--disabled'])}>{renderSteps()}</div>\n <div\n className={classNames(styles.slider__marker, {\n [styles['slider__marker--disabled']]: disabled,\n [styles['slider__marker--selected']]: selectedState,\n [styles['slider__marker--invalid']]: invalid,\n [styles['slider__marker--focused']]: !disabled && isFocused,\n })}\n style={{\n left: `${markerXPos}px`,\n }}\n />\n </div>\n {renderStepLabels()}\n </div>\n {(labelLeft || labelRight) && (\n <span className={styles.slider__options}>\n <span id={labelLeftId}>{labelLeft}</span>\n <span id={labelRightId}>{labelRight}</span>\n </span>\n )}\n </div>\n </ErrorWrapper>\n );\n});\n\nSlider.displayName = 'Slider';\n\nexport default Slider;\n"],"names":["useSafeNumberValue","initial","min","max","value","setValue","useState","setSafeValue","newValue","useEffect","Slider","React","props","ref","title","ariaLabel","error","errorText","errorTextId","errorWrapperClassName","labelLeft","labelRight","disabled","onChange","steps","step","minValue","maxValue","selected","testId","rest","isMoving","setIsMoving","selectedState","setSelectedState","valueState","setValueState","errorTextUuid","useUuid","titleId","labelLeftId","labelRightId","trackRef","useRef","refObject","isFocused","usePseudoClasses","isMutableRefObject","mergedRefs","mergeRefs","trackWidth","useSize","largeStep","invalid","handlePointerUp","getValueBasedOnMarkerPosition","markerPosition","trackPosition","_a","normalizedPosition","valueRange","handlePointerMove","handleSelected","handleKeyDown","e","flag","handleTrackClick","handlePointerDown","markerXPos","getAriaValueText","stepIndex","emojiCode","label","ariaLabelAttributes","getAriaLabelAttributes","getXPositionStyling","index","stepsLength","renderEmojies","jsx","styles","renderSteps","_step","renderStepLabels","ErrorWrapper","jsxs","AnalyticsId","Title","classNames"],"mappings":"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"}
|
package/Spacer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spacer.js","sources":["../src/components/Spacer/Spacer.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport {
|
|
1
|
+
{"version":3,"file":"Spacer.js","sources":["../src/components/Spacer/Spacer.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { AnalyticsId } from '../../constants';\nimport { SpacerSizes } from './../../theme/spacers';\n\nimport spacerStyles from './styles.module.scss';\n\nexport interface SpacerProps {\n /** Sets the size of the spacer. */\n size?: SpacerSizes;\n /** Adds custom classes to the element. */\n className?: string;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst Spacer = React.forwardRef(function SpacerForwardedRef(props: SpacerProps, ref: React.ForwardedRef<HTMLElement>) {\n const { size = 's', className, testId } = props;\n const spacerClasses = classNames(\n spacerStyles.spacer,\n {\n [spacerStyles['spacer--4xs']]: size === '4xs',\n [spacerStyles['spacer--3xs']]: size === '3xs',\n [spacerStyles['spacer--2xs']]: size === '2xs',\n [spacerStyles['spacer--xs']]: size === 'xs',\n [spacerStyles['spacer--s']]: size === 's',\n [spacerStyles['spacer--m']]: size === 'm',\n [spacerStyles['spacer--l']]: size === 'l',\n [spacerStyles['spacer--xl']]: size === 'xl',\n [spacerStyles['spacer--2xl']]: size === '2xl',\n [spacerStyles['spacer--3xl']]: size === '3xl',\n [spacerStyles['spacer--4xl']]: size === '4xl',\n [spacerStyles['spacer--5xl']]: size === '5xl',\n [spacerStyles['spacer--6xl']]: size === '6xl',\n },\n className\n );\n\n return <span className={spacerClasses} ref={ref} data-testid={testId} data-analyticsid={AnalyticsId.Spacer}></span>;\n});\n\nexport default Spacer;\n"],"names":["Spacer","React","props","ref","size","className","testId","spacerClasses","classNames","spacerStyles","jsx","AnalyticsId"],"mappings":";;;;;AAkBA,MAAMA,IAASC,EAAM,WAAW,SAA4BC,GAAoBC,GAAsC;AACpH,QAAM,EAAE,MAAAC,IAAO,KAAK,WAAAC,GAAW,QAAAC,MAAWJ,GACpCK,IAAgBC;AAAA,IACpBC,EAAa;AAAA,IACb;AAAA,MACE,CAACA,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,YAAY,CAAC,GAAGL,MAAS;AAAA,MACvC,CAACK,EAAa,WAAW,CAAC,GAAGL,MAAS;AAAA,MACtC,CAACK,EAAa,WAAW,CAAC,GAAGL,MAAS;AAAA,MACtC,CAACK,EAAa,WAAW,CAAC,GAAGL,MAAS;AAAA,MACtC,CAACK,EAAa,YAAY,CAAC,GAAGL,MAAS;AAAA,MACvC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,MACxC,CAACK,EAAa,aAAa,CAAC,GAAGL,MAAS;AAAA,IAC1C;AAAA,IACAC;AAAA,EAAA;AAGK,SAAA,gBAAAK,EAAC,UAAK,WAAWH,GAAe,KAAAJ,GAAU,eAAaG,GAAQ,oBAAkBK,EAAY,OAAQ,CAAA;AAC9G,CAAC;"}
|
package/StatusDot.js
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import { jsxs as _, jsx as
|
|
1
|
+
import { jsxs as _, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import l from "classnames";
|
|
3
3
|
import "./theme/grid.js";
|
|
4
4
|
import "./hooks/useBreakpoint.js";
|
|
5
5
|
import "react";
|
|
6
|
-
import { FormOnColor as
|
|
7
|
-
import { getColor as
|
|
6
|
+
import { FormOnColor as m, AnalyticsId as w, IconSize as v } from "./constants.js";
|
|
7
|
+
import { getColor as d } from "./theme/currys/color.js";
|
|
8
8
|
import { I as a } from "./Icon.js";
|
|
9
9
|
import N from "./components/Icons/Attachment.js";
|
|
10
10
|
import b from "./components/Icons/Change.js";
|
|
11
11
|
import x from "./components/Icons/Group.js";
|
|
12
12
|
import y from "./components/Icons/NoAccess.js";
|
|
13
13
|
import n from "./components/StatusDot/styles.module.scss";
|
|
14
|
-
var c = ((o) => (o[o.onwhite =
|
|
15
|
-
const A = ({ onColor: o, variant:
|
|
16
|
-
const
|
|
17
|
-
return
|
|
14
|
+
var c = ((o) => (o[o.onwhite = m.onwhite] = "onwhite", o[o.ondark = m.ondark] = "ondark", o))(c || {}), C = /* @__PURE__ */ ((o) => (o.info = "info", o.warning = "warning", o.alert = "alert", o.cancelled = "cancelled", o.active = "active", o.transparent = "transparent", o.recurring = "recurring", o.group = "group", o.noaccess = "noaccess", o.attachment = "attachment", o))(C || {});
|
|
15
|
+
const A = ({ onColor: o, variant: r }) => {
|
|
16
|
+
const s = { color: o === c.ondark ? d("white") : d("black"), size: v.XXSmall, onColor: o };
|
|
17
|
+
return r === "recurring" ? /* @__PURE__ */ e(a, { ...s, svgIcon: b }) : r === "group" ? /* @__PURE__ */ e(a, { ...s, svgIcon: x }) : r === "noaccess" ? /* @__PURE__ */ e(a, { ...s, svgIcon: y, color: d("cherry", 600) }) : r === "attachment" ? /* @__PURE__ */ e(a, { ...s, svgIcon: N }) : null;
|
|
18
18
|
}, L = (o) => {
|
|
19
|
-
const { id:
|
|
20
|
-
...u ? {} : { [n[`statusdot__dot--${
|
|
19
|
+
const { id: r, onColor: t = c.onwhite, variant: s = "info", text: p, className: f, testId: i } = o, u = s === "recurring" || s === "group" || s === "noaccess" || s === "attachment", g = s === "cancelled", h = l(n.statusdot, g && n["statusdot--cancelled"], f), I = l(n.statusdot__dot, {
|
|
20
|
+
...u ? {} : { [n[`statusdot__dot--${s}`]]: !0 },
|
|
21
21
|
[n["statusdot__dot--on-dark"]]: t === c.ondark
|
|
22
22
|
}), k = l(t === c.ondark && n["statusdot__label--on-dark"]);
|
|
23
|
-
return /* @__PURE__ */ _("span", { id:
|
|
24
|
-
/* @__PURE__ */
|
|
25
|
-
/* @__PURE__ */
|
|
23
|
+
return /* @__PURE__ */ _("span", { id: r, className: h, "data-testid": i, "data-analyticsid": w.StatusDot, children: [
|
|
24
|
+
/* @__PURE__ */ e("span", { className: I, "data-testid": i + "-dot", children: /* @__PURE__ */ e(A, { onColor: t, variant: s }) }),
|
|
25
|
+
/* @__PURE__ */ e("span", { className: k, children: p })
|
|
26
26
|
] });
|
|
27
27
|
};
|
|
28
28
|
export {
|
package/StatusDot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusDot.js","sources":["../src/components/StatusDot/StatusDot.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { IconSize } from '../..';\nimport { AnalyticsId, FormOnColor } from '../../constants';\nimport { getColor } from '../../theme/currys';\nimport { Icon } from '../Icon';\nimport Attachment from '../Icons/Attachment';\nimport Change from '../Icons/Change';\nimport Group from '../Icons/Group';\nimport NoAccess from '../Icons/NoAccess';\n\nimport styles from './styles.module.scss';\n\nexport enum StatusDotOnColor {\n onwhite = FormOnColor.onwhite,\n ondark = FormOnColor.ondark,\n}\n\nexport enum StatusDotVariant {\n info = 'info',\n warning = 'warning',\n alert = 'alert',\n cancelled = 'cancelled',\n active = 'active',\n transparent = 'transparent',\n recurring = 'recurring',\n group = 'group',\n noaccess = 'noaccess',\n attachment = 'attachment',\n}\n\nexport interface StatusDotIconProps {\n /** Defines the color of the icon */\n onColor?: keyof typeof StatusDotOnColor;\n /** The variant defines style formatting and what icon to use */\n variant?: keyof typeof StatusDotVariant;\n}\n\nconst StatusDotIcon: React.FC<StatusDotIconProps> = ({ onColor, variant }) => {\n const color = onColor === StatusDotOnColor.ondark ? getColor('white') : getColor('black');\n const iconProps = { color, size: IconSize.XXSmall, onColor };\n\n if (variant === StatusDotVariant.recurring) {\n return <Icon {...iconProps} svgIcon={Change} />;\n } else if (variant === StatusDotVariant.group) {\n return <Icon {...iconProps} svgIcon={Group} />;\n } else if (variant === StatusDotVariant.noaccess) {\n return <Icon {...iconProps} svgIcon={NoAccess} color={getColor('cherry', 600)} />;\n } else if (variant === StatusDotVariant.attachment) {\n return <Icon {...iconProps} svgIcon={Attachment} />;\n }\n\n return null;\n};\n\nexport interface StatusDotProps {\n /** id that is placed on the wrapper */\n id?: string;\n /** Defines the color mode, onwhite, ondark etc. */\n onColor?: keyof typeof StatusDotOnColor;\n /** Visual variants for the statusdot */\n variant?: keyof typeof StatusDotVariant;\n /** Text placed to the right of the statusdot */\n text: string;\n /** Adds custom classes to the element. */\n className?: string;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst StatusDot: React.FC<StatusDotProps> = props => {\n const { id, onColor = StatusDotOnColor.onwhite, variant = StatusDotVariant.info, text, className, testId } = props;\n\n const hasIcon =\n variant === StatusDotVariant.recurring ||\n variant === StatusDotVariant.group ||\n variant === StatusDotVariant.noaccess ||\n variant === StatusDotVariant.attachment;\n\n const isCancelled = variant === StatusDotVariant.cancelled;\n\n const statusDotClasses = classNames(styles['statusdot'], isCancelled && styles['statusdot--cancelled'], className);\n const dotClasses = classNames(styles['statusdot__dot'], {\n ...(hasIcon ? {} : { [styles[`statusdot__dot--${variant}`]]: true }),\n [styles['statusdot__dot--on-dark']]: onColor === StatusDotOnColor.ondark,\n });\n const labelClasses = classNames(onColor === StatusDotOnColor.ondark && styles['statusdot__label--on-dark']);\n\n return (\n <span id={id} className={statusDotClasses} data-testid={testId} data-analyticsid={AnalyticsId.StatusDot}>\n <span className={dotClasses}>\n <StatusDotIcon onColor={onColor} variant={variant} />\n </span>\n <span className={labelClasses}>{text}</span>\n </span>\n );\n};\n\nexport default StatusDot;\n"],"names":["StatusDotOnColor","FormOnColor","StatusDotVariant","StatusDotIcon","onColor","variant","iconProps","getColor","IconSize","jsx","Icon","Change","Group","NoAccess","Attachment","StatusDot","props","id","text","className","testId","hasIcon","isCancelled","statusDotClasses","classNames","styles","dotClasses","labelClasses","jsxs","AnalyticsId"],"mappings":";;;;;;;;;;;;;AAeY,IAAAA,KAAL,CAAKA,OACVA,EAAAA,EAAA,UAAUC,EAAY,OAAtB,IAAA,WACAD,EAAAA,EAAA,SAASC,EAAY,MAArB,IAAA,UAFUD,IAAAA,KAAA,CAAA,CAAA,GAKAE,sBAAAA,OACVA,EAAA,OAAO,QACPA,EAAA,UAAU,WACVA,EAAA,QAAQ,SACRA,EAAA,YAAY,aACZA,EAAA,SAAS,UACTA,EAAA,cAAc,eACdA,EAAA,YAAY,aACZA,EAAA,QAAQ,SACRA,EAAA,WAAW,YACXA,EAAA,aAAa,cAVHA,IAAAA,KAAA,CAAA,CAAA;AAoBZ,MAAMC,IAA8C,CAAC,EAAE,SAAAC,GAAS,SAAAC,QAAc;AAE5E,QAAMC,IAAY,EAAE,OADNF,MAAYJ,EAAiB,SAASO,EAAS,OAAO,IAAIA,EAAS,OAAO,GAC7D,MAAMC,EAAS,SAAS,SAAAJ;AAEnD,SAAIC,MAAY,cACN,gBAAAI,EAAAC,GAAA,EAAM,GAAGJ,GAAW,SAASK,EAAQ,CAAA,IACpCN,MAAY,UACb,gBAAAI,EAAAC,GAAA,EAAM,GAAGJ,GAAW,SAASM,EAAO,CAAA,IACnCP,MAAY,aACd,gBAAAI,EAACC,GAAM,EAAA,GAAGJ,GAAW,SAASO,GAAU,OAAON,EAAS,UAAU,GAAG,EAAG,CAAA,IACtEF,MAAY,eACb,gBAAAI,EAAAC,GAAA,EAAM,GAAGJ,GAAW,SAASQ,EAAY,CAAA,IAG5C;AACT,GAiBMC,IAAsC,CAASC,MAAA;AAC7C,QAAA,EAAE,IAAAC,GAAI,SAAAb,IAAUJ,EAAiB,SAAS,SAAAK,IAAU,QAAuB,MAAAa,GAAM,WAAAC,GAAW,QAAAC,EAAA,IAAWJ,GAEvGK,IACJhB,MAAY,eACZA,MAAY,WACZA,MAAY,cACZA,MAAY,cAERiB,IAAcjB,MAAY,aAE1BkB,IAAmBC,EAAWC,EAAO,WAAcH,KAAeG,EAAO,sBAAsB,GAAGN,CAAS,GAC3GO,IAAaF,EAAWC,EAAO,gBAAmB;AAAA,IACtD,GAAIJ,IAAU,KAAK,EAAE,CAACI,EAAO,mBAAmBpB,CAAO,EAAE,CAAC,GAAG,GAAK;AAAA,IAClE,CAACoB,EAAO,yBAAyB,CAAC,GAAGrB,MAAYJ,EAAiB;AAAA,EAAA,CACnE,GACK2B,IAAeH,EAAWpB,MAAYJ,EAAiB,UAAUyB,EAAO,2BAA2B,CAAC;AAGxG,SAAA,gBAAAG,EAAC,UAAK,IAAAX,GAAQ,WAAWM,GAAkB,eAAaH,GAAQ,oBAAkBS,EAAY,WAC5F,UAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"StatusDot.js","sources":["../src/components/StatusDot/StatusDot.tsx"],"sourcesContent":["import React from 'react';\n\nimport classNames from 'classnames';\n\nimport { IconSize } from '../..';\nimport { AnalyticsId, FormOnColor } from '../../constants';\nimport { getColor } from '../../theme/currys';\nimport { Icon } from '../Icon';\nimport Attachment from '../Icons/Attachment';\nimport Change from '../Icons/Change';\nimport Group from '../Icons/Group';\nimport NoAccess from '../Icons/NoAccess';\n\nimport styles from './styles.module.scss';\n\nexport enum StatusDotOnColor {\n onwhite = FormOnColor.onwhite,\n ondark = FormOnColor.ondark,\n}\n\nexport enum StatusDotVariant {\n info = 'info',\n warning = 'warning',\n alert = 'alert',\n cancelled = 'cancelled',\n active = 'active',\n transparent = 'transparent',\n recurring = 'recurring',\n group = 'group',\n noaccess = 'noaccess',\n attachment = 'attachment',\n}\n\nexport interface StatusDotIconProps {\n /** Defines the color of the icon */\n onColor?: keyof typeof StatusDotOnColor;\n /** The variant defines style formatting and what icon to use */\n variant?: keyof typeof StatusDotVariant;\n}\n\nconst StatusDotIcon: React.FC<StatusDotIconProps> = ({ onColor, variant }) => {\n const color = onColor === StatusDotOnColor.ondark ? getColor('white') : getColor('black');\n const iconProps = { color, size: IconSize.XXSmall, onColor };\n\n if (variant === StatusDotVariant.recurring) {\n return <Icon {...iconProps} svgIcon={Change} />;\n } else if (variant === StatusDotVariant.group) {\n return <Icon {...iconProps} svgIcon={Group} />;\n } else if (variant === StatusDotVariant.noaccess) {\n return <Icon {...iconProps} svgIcon={NoAccess} color={getColor('cherry', 600)} />;\n } else if (variant === StatusDotVariant.attachment) {\n return <Icon {...iconProps} svgIcon={Attachment} />;\n }\n\n return null;\n};\n\nexport interface StatusDotProps {\n /** id that is placed on the wrapper */\n id?: string;\n /** Defines the color mode, onwhite, ondark etc. */\n onColor?: keyof typeof StatusDotOnColor;\n /** Visual variants for the statusdot */\n variant?: keyof typeof StatusDotVariant;\n /** Text placed to the right of the statusdot */\n text: string;\n /** Adds custom classes to the element. */\n className?: string;\n /** Sets the data-testid attribute. */\n testId?: string;\n}\n\nconst StatusDot: React.FC<StatusDotProps> = props => {\n const { id, onColor = StatusDotOnColor.onwhite, variant = StatusDotVariant.info, text, className, testId } = props;\n\n const hasIcon =\n variant === StatusDotVariant.recurring ||\n variant === StatusDotVariant.group ||\n variant === StatusDotVariant.noaccess ||\n variant === StatusDotVariant.attachment;\n\n const isCancelled = variant === StatusDotVariant.cancelled;\n\n const statusDotClasses = classNames(styles['statusdot'], isCancelled && styles['statusdot--cancelled'], className);\n const dotClasses = classNames(styles['statusdot__dot'], {\n ...(hasIcon ? {} : { [styles[`statusdot__dot--${variant}`]]: true }),\n [styles['statusdot__dot--on-dark']]: onColor === StatusDotOnColor.ondark,\n });\n const labelClasses = classNames(onColor === StatusDotOnColor.ondark && styles['statusdot__label--on-dark']);\n\n return (\n <span id={id} className={statusDotClasses} data-testid={testId} data-analyticsid={AnalyticsId.StatusDot}>\n <span className={dotClasses} data-testid={testId + '-dot'}>\n <StatusDotIcon onColor={onColor} variant={variant} />\n </span>\n <span className={labelClasses}>{text}</span>\n </span>\n );\n};\n\nexport default StatusDot;\n"],"names":["StatusDotOnColor","FormOnColor","StatusDotVariant","StatusDotIcon","onColor","variant","iconProps","getColor","IconSize","jsx","Icon","Change","Group","NoAccess","Attachment","StatusDot","props","id","text","className","testId","hasIcon","isCancelled","statusDotClasses","classNames","styles","dotClasses","labelClasses","jsxs","AnalyticsId"],"mappings":";;;;;;;;;;;;;AAeY,IAAAA,KAAL,CAAKA,OACVA,EAAAA,EAAA,UAAUC,EAAY,OAAtB,IAAA,WACAD,EAAAA,EAAA,SAASC,EAAY,MAArB,IAAA,UAFUD,IAAAA,KAAA,CAAA,CAAA,GAKAE,sBAAAA,OACVA,EAAA,OAAO,QACPA,EAAA,UAAU,WACVA,EAAA,QAAQ,SACRA,EAAA,YAAY,aACZA,EAAA,SAAS,UACTA,EAAA,cAAc,eACdA,EAAA,YAAY,aACZA,EAAA,QAAQ,SACRA,EAAA,WAAW,YACXA,EAAA,aAAa,cAVHA,IAAAA,KAAA,CAAA,CAAA;AAoBZ,MAAMC,IAA8C,CAAC,EAAE,SAAAC,GAAS,SAAAC,QAAc;AAE5E,QAAMC,IAAY,EAAE,OADNF,MAAYJ,EAAiB,SAASO,EAAS,OAAO,IAAIA,EAAS,OAAO,GAC7D,MAAMC,EAAS,SAAS,SAAAJ;AAEnD,SAAIC,MAAY,cACN,gBAAAI,EAAAC,GAAA,EAAM,GAAGJ,GAAW,SAASK,EAAQ,CAAA,IACpCN,MAAY,UACb,gBAAAI,EAAAC,GAAA,EAAM,GAAGJ,GAAW,SAASM,EAAO,CAAA,IACnCP,MAAY,aACd,gBAAAI,EAACC,GAAM,EAAA,GAAGJ,GAAW,SAASO,GAAU,OAAON,EAAS,UAAU,GAAG,EAAG,CAAA,IACtEF,MAAY,eACb,gBAAAI,EAAAC,GAAA,EAAM,GAAGJ,GAAW,SAASQ,EAAY,CAAA,IAG5C;AACT,GAiBMC,IAAsC,CAASC,MAAA;AAC7C,QAAA,EAAE,IAAAC,GAAI,SAAAb,IAAUJ,EAAiB,SAAS,SAAAK,IAAU,QAAuB,MAAAa,GAAM,WAAAC,GAAW,QAAAC,EAAA,IAAWJ,GAEvGK,IACJhB,MAAY,eACZA,MAAY,WACZA,MAAY,cACZA,MAAY,cAERiB,IAAcjB,MAAY,aAE1BkB,IAAmBC,EAAWC,EAAO,WAAcH,KAAeG,EAAO,sBAAsB,GAAGN,CAAS,GAC3GO,IAAaF,EAAWC,EAAO,gBAAmB;AAAA,IACtD,GAAIJ,IAAU,KAAK,EAAE,CAACI,EAAO,mBAAmBpB,CAAO,EAAE,CAAC,GAAG,GAAK;AAAA,IAClE,CAACoB,EAAO,yBAAyB,CAAC,GAAGrB,MAAYJ,EAAiB;AAAA,EAAA,CACnE,GACK2B,IAAeH,EAAWpB,MAAYJ,EAAiB,UAAUyB,EAAO,2BAA2B,CAAC;AAGxG,SAAA,gBAAAG,EAAC,UAAK,IAAAX,GAAQ,WAAWM,GAAkB,eAAaH,GAAQ,oBAAkBS,EAAY,WAC5F,UAAA;AAAA,IAAC,gBAAApB,EAAA,QAAA,EAAK,WAAWiB,GAAY,eAAaN,IAAS,QACjD,UAAC,gBAAAX,EAAAN,GAAA,EAAc,SAAAC,GAAkB,SAAAC,EAAA,CAAkB,EACrD,CAAA;AAAA,IACC,gBAAAI,EAAA,QAAA,EAAK,WAAWkB,GAAe,UAAKT,GAAA;AAAA,EACvC,EAAA,CAAA;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matchMedia.js","sources":["../../src/__mocks__/matchMedia.ts"],"sourcesContent":["import { vi
|
|
1
|
+
{"version":3,"file":"matchMedia.js","sources":["../../src/__mocks__/matchMedia.ts"],"sourcesContent":["import { vi } from 'vitest';\n\nexport const mockWindowMatchMedia = vi.fn().mockImplementation(() => ({\n matches: true,\n addListener: vi.fn(),\n addEventListener: vi.fn(),\n removeEventListener: vi.fn(),\n}));\n\nObject.defineProperty(window, 'matchMedia', {\n writable: true,\n value: mockWindowMatchMedia,\n});\n"],"names":["mockWindowMatchMedia","vi"],"mappings":";AAEO,MAAMA,IAAuBC,EAAG,GAAG,EAAE,mBAAmB,OAAO;AAAA,EACpE,SAAS;AAAA,EACT,aAAaA,EAAG,GAAG;AAAA,EACnB,kBAAkBA,EAAG,GAAG;AAAA,EACxB,qBAAqBA,EAAG,GAAG;AAC7B,EAAE;AAEF,OAAO,eAAe,QAAQ,cAAc;AAAA,EAC1C,UAAU;AAAA,EACV,OAAOD;AACT,CAAC;"}
|
package/__mocks__/useHover.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
useHover: e.fn().mockImplementation((o) => ({ hoverRef: o || { current: void 0 }, isHovered: !1 }))
|
|
1
|
+
vi.mock("../hooks/useHover", () => ({
|
|
2
|
+
useHover: vi.fn().mockImplementation((e) => ({ hoverRef: e || { current: void 0 }, isHovered: !1 }))
|
|
4
3
|
}));
|
|
5
4
|
//# sourceMappingURL=useHover.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHover.js","sources":["../../src/__mocks__/useHover.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"useHover.js","sources":["../../src/__mocks__/useHover.ts"],"sourcesContent":["vi.mock('../hooks/useHover', () => ({\n useHover: vi.fn().mockImplementation(ref => {\n return { hoverRef: ref || { current: undefined }, isHovered: false };\n }),\n}));\n\nexport {};\n"],"names":["ref"],"mappings":"AAAA,GAAG,KAAK,qBAAqB,OAAO;AAAA,EAClC,UAAU,GAAG,GAAG,EAAE,mBAAmB,CAAOA,OACnC,EAAE,UAAUA,KAAO,EAAE,SAAS,OAAU,GAAG,WAAW,KAC9D;AACH,EAAE;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLayoutEvent.js","sources":["../../src/__mocks__/useLayoutEvent.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"useLayoutEvent.js","sources":["../../src/__mocks__/useLayoutEvent.ts"],"sourcesContent":["vi.mock('../hooks/useLayoutEvent', () => ({\n useLayoutEvent: vi.fn(),\n}));\n\nexport {};\n"],"names":[],"mappings":"AAAA,GAAG,KAAK,2BAA2B,OAAO;AAAA,EACxC,gBAAgB,GAAG,GAAG;AACxB,EAAE;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOutsideEvent.js","sources":["../../src/__mocks__/useOutsideEvent.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"useOutsideEvent.js","sources":["../../src/__mocks__/useOutsideEvent.ts"],"sourcesContent":["vi.mock('../hooks/useOutsideEvent', () => ({\n useOutsideEvent: vi.fn(),\n}));\n\nexport {};\n"],"names":[],"mappings":"AAAA,GAAG,KAAK,4BAA4B,OAAO;AAAA,EACzC,iBAAiB,GAAG,GAAG;AACzB,EAAE;"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
usePseudoClasses: e.fn().mockImplementation((s) => ({ refObject: s, isHovered: !1, isFocused: !1 }))
|
|
1
|
+
vi.mock("../hooks/usePseudoClasses", () => ({
|
|
2
|
+
usePseudoClasses: vi.fn().mockImplementation((e) => ({ refObject: e, isHovered: !1, isFocused: !1 }))
|
|
4
3
|
}));
|
|
5
4
|
//# sourceMappingURL=usePseudoClasses.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePseudoClasses.js","sources":["../../src/__mocks__/usePseudoClasses.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"usePseudoClasses.js","sources":["../../src/__mocks__/usePseudoClasses.ts"],"sourcesContent":["vi.mock('../hooks/usePseudoClasses', () => ({\n usePseudoClasses: vi.fn().mockImplementation(ref => {\n return { refObject: ref, isHovered: false, isFocused: false };\n }),\n}));\n\nexport {};\n"],"names":["ref"],"mappings":"AAAA,GAAG,KAAK,6BAA6B,OAAO;AAAA,EAC1C,kBAAkB,GAAG,GAAG,EAAE,mBAAmB,CAAOA,OAC3C,EAAE,WAAWA,GAAK,WAAW,IAAO,WAAW,KACvD;AACH,EAAE;"}
|
package/__mocks__/useSize.js
CHANGED
package/__mocks__/useSize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSize.js","sources":["../../src/__mocks__/useSize.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"useSize.js","sources":["../../src/__mocks__/useSize.ts"],"sourcesContent":["vi.mock('../hooks/useSize', () => ({\n useSize: vi.fn().mockReturnValue({\n height: 100,\n width: 100,\n top: 0,\n left: 0,\n right: 100,\n bottom: 100,\n }),\n}));\n\nexport {};\n"],"names":[],"mappings":"AAAA,GAAG,KAAK,oBAAoB,OAAO;AAAA,EACjC,SAAS,GAAG,GAAG,EAAE,gBAAgB;AAAA,IAC/B,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,KAAK;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,EAAA,CACT;AACH,EAAE;"}
|
package/__mocks__/uuid.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as d } from "../uuid.js";
|
|
1
|
+
import { a as t } from "../uuid.js";
|
|
3
2
|
const i = {
|
|
4
3
|
id: 0
|
|
5
4
|
};
|
|
6
|
-
|
|
5
|
+
vi.spyOn(t, "uuid").mockImplementation(() => (i.id++, `testid-${i.id}`));
|
|
7
6
|
//# sourceMappingURL=uuid.js.map
|