@entur/form 8.4.2 → 9.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/InputGroupLabel.d.ts +1 -0
- package/dist/form.cjs.js +189 -111
- package/dist/form.cjs.js.map +1 -1
- package/dist/form.esm.js +189 -111
- package/dist/form.esm.js.map +1 -1
- package/dist/index.d.ts +1 -3
- package/dist/segmentedControl/SegmentedChoice.d.ts +17 -0
- package/dist/segmentedControl/SegmentedControl.d.ts +75 -0
- package/dist/segmentedControl/index.d.ts +27 -0
- package/dist/styles.css +42 -57
- package/package.json +2 -2
- package/dist/segmented-control/MultipleSegmentedControl.d.ts +0 -19
- package/dist/segmented-control/SegmentedChoice.d.ts +0 -12
- package/dist/segmented-control/SegmentedContext.d.ts +0 -33
- package/dist/segmented-control/SegmentedControl.d.ts +0 -20
package/dist/styles.css
CHANGED
|
@@ -742,19 +742,19 @@
|
|
|
742
742
|
padding: 0;
|
|
743
743
|
}
|
|
744
744
|
|
|
745
|
-
.eds-form-control-wrapper:focus-within .eds-input-group__label {
|
|
745
|
+
.eds-form-control-wrapper:focus-within :not(.eds-input-group-label-wrapper--controlled-label-position) .eds-input-group__label {
|
|
746
746
|
top: 0.375rem;
|
|
747
747
|
font-size: 0.75rem;
|
|
748
748
|
line-height: 0.75rem;
|
|
749
749
|
height: 10px;
|
|
750
750
|
padding: 0;
|
|
751
751
|
}
|
|
752
|
-
.eds-textarea__label .eds-form-control-wrapper:focus-within .eds-input-group__label {
|
|
752
|
+
.eds-textarea__label .eds-form-control-wrapper:focus-within :not(.eds-input-group-label-wrapper--controlled-label-position) .eds-input-group__label {
|
|
753
753
|
box-shadow: 0px -2px 0px 4px var(--textarea-label-background);
|
|
754
754
|
background: var(--textarea-label-background);
|
|
755
755
|
width: calc(100% - 1rem - 1rem - 4px);
|
|
756
756
|
}
|
|
757
|
-
.eds-form-control-wrapper--size-large:focus-within .eds-input-group__label {
|
|
757
|
+
.eds-form-control-wrapper--size-large:focus-within :not(.eds-input-group-label-wrapper--controlled-label-position) .eds-input-group__label {
|
|
758
758
|
top: 0.5rem;
|
|
759
759
|
font-size: 0.875rem;
|
|
760
760
|
line-height: 1rem;
|
|
@@ -1023,29 +1023,29 @@
|
|
|
1023
1023
|
.eds-contrast .eds-checkbox__container input:checked + .eds-checkbox__icon--readonly .eds-checkbox-icon rect, .eds-contrast .eds-checkbox__container input:indeterminate + .eds-checkbox__icon--readonly .eds-checkbox-icon rect {
|
|
1024
1024
|
fill: var(--components-form-checkbox-contrast-icon-readonly);
|
|
1025
1025
|
}
|
|
1026
|
-
.eds-checkbox__container:hover
|
|
1026
|
+
.eds-checkbox__container:hover:not(:has(input:disabled)) input + .eds-checkbox__icon {
|
|
1027
1027
|
border-color: var(--components-form-checkbox-standard-border);
|
|
1028
1028
|
background-color: var(--components-form-checkbox-standard-fill-hover);
|
|
1029
1029
|
}
|
|
1030
|
-
.eds-contrast .eds-checkbox__container:hover
|
|
1030
|
+
.eds-contrast .eds-checkbox__container:hover:not(:has(input:disabled)) input + .eds-checkbox__icon {
|
|
1031
1031
|
border-color: var(--components-form-checkbox-contrast-border);
|
|
1032
1032
|
background-color: var(--components-form-checkbox-contrast-fill-hover);
|
|
1033
1033
|
}
|
|
1034
|
-
.eds-checkbox__container:hover
|
|
1035
|
-
.eds-checkbox__container:hover
|
|
1034
|
+
.eds-checkbox__container:hover:not(:has(input:disabled)) input:checked + .eds-checkbox__icon,
|
|
1035
|
+
.eds-checkbox__container:hover:not(:has(input:disabled)) input:indeterminate + .eds-checkbox__icon:not(.eds-checkbox--disabled) {
|
|
1036
1036
|
border-color: transparent;
|
|
1037
1037
|
background-color: var(--components-form-checkbox-standard-fill-selectedhover);
|
|
1038
1038
|
}
|
|
1039
|
-
.eds-contrast .eds-checkbox__container:hover
|
|
1040
|
-
.eds-contrast .eds-checkbox__container:hover
|
|
1039
|
+
.eds-contrast .eds-checkbox__container:hover:not(:has(input:disabled)) input:checked + .eds-checkbox__icon,
|
|
1040
|
+
.eds-contrast .eds-checkbox__container:hover:not(:has(input:disabled)) input:indeterminate + .eds-checkbox__icon:not(.eds-checkbox--disabled) {
|
|
1041
1041
|
background-color: var(--components-form-checkbox-contrast-fill-selectedhover);
|
|
1042
1042
|
}
|
|
1043
|
-
.eds-checkbox__container:active
|
|
1044
|
-
.eds-checkbox__container:active
|
|
1043
|
+
.eds-checkbox__container:active:not(:has(input:disabled)) input:checked + .eds-checkbox__icon,
|
|
1044
|
+
.eds-checkbox__container:active:not(:has(input:disabled)) input:indeterminate + .eds-checkbox__icon {
|
|
1045
1045
|
background-color: var(--components-form-checkbox-standard-fill-selected);
|
|
1046
1046
|
}
|
|
1047
|
-
.eds-contrast .eds-checkbox__container:active
|
|
1048
|
-
.eds-contrast .eds-checkbox__container:active
|
|
1047
|
+
.eds-contrast .eds-checkbox__container:active:not(:has(input:disabled)) input:checked + .eds-checkbox__icon,
|
|
1048
|
+
.eds-contrast .eds-checkbox__container:active:not(:has(input:disabled)) input:indeterminate + .eds-checkbox__icon {
|
|
1049
1049
|
background-color: var(--components-form-checkbox-contrast-fill-selected);
|
|
1050
1050
|
}
|
|
1051
1051
|
.eds-checkbox__container:has(:focus-visible) .eds-checkbox__icon {
|
|
@@ -1704,11 +1704,26 @@ input:disabled + .eds-input-panel__container {
|
|
|
1704
1704
|
cursor: text;
|
|
1705
1705
|
}/* DO NOT CHANGE!*/
|
|
1706
1706
|
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
1707
|
+
.eds-segmented-control .eds-label {
|
|
1708
|
+
font-weight: 600;
|
|
1709
|
+
}
|
|
1710
|
+
.eds-segmented-control .eds-segmented-control__choices {
|
|
1711
|
+
position: relative;
|
|
1712
|
+
display: flex;
|
|
1713
|
+
margin-top: 0.25rem;
|
|
1714
|
+
background: var(--components-form-segmentedcontrol-standard-background);
|
|
1715
|
+
border-radius: 0.5rem;
|
|
1716
|
+
}
|
|
1717
|
+
.eds-contrast .eds-segmented-control .eds-segmented-control__choices {
|
|
1718
|
+
background: var(--components-form-segmentedcontrol-contrast-background);
|
|
1719
|
+
}/* DO NOT CHANGE!*/
|
|
1720
|
+
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
1707
1721
|
.eds-segmented-choice {
|
|
1708
|
-
|
|
1722
|
+
all: unset;
|
|
1723
|
+
display: flex;
|
|
1724
|
+
align-items: center;
|
|
1725
|
+
justify-content: center;
|
|
1709
1726
|
flex: 1 1 0px;
|
|
1710
|
-
}
|
|
1711
|
-
.eds-segmented-choice .eds-base-segmented {
|
|
1712
1727
|
--background-color: var(--components-form-segmentedcontrol-standard-fill-unselected);
|
|
1713
1728
|
background-color: var(--background-color);
|
|
1714
1729
|
border-radius: 0.25rem;
|
|
@@ -1722,71 +1737,41 @@ input:disabled + .eds-input-panel__container {
|
|
|
1722
1737
|
padding: calc(0.25rem / 2) 0.75rem;
|
|
1723
1738
|
text-align: center;
|
|
1724
1739
|
user-select: none;
|
|
1740
|
+
transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
|
|
1741
|
+
vertical-align: middle;
|
|
1742
|
+
text-decoration: none;
|
|
1725
1743
|
}
|
|
1726
|
-
.eds-segmented-choice
|
|
1744
|
+
.eds-segmented-choice--large {
|
|
1727
1745
|
font-size: 1rem;
|
|
1728
1746
|
height: 2.5rem;
|
|
1729
1747
|
line-height: 1.5rem;
|
|
1730
1748
|
padding: 0.5rem 0.75rem;
|
|
1731
1749
|
}
|
|
1732
|
-
.eds-contrast .eds-segmented-choice
|
|
1750
|
+
.eds-contrast .eds-segmented-choice {
|
|
1733
1751
|
--background-color: var(--components-form-segmentedcontrol-contrast-background);
|
|
1734
1752
|
color: var(--components-form-segmentedcontrol-contrast-text-unselected);
|
|
1735
1753
|
}
|
|
1736
|
-
.eds-segmented-choice:hover
|
|
1754
|
+
.eds-segmented-choice:hover {
|
|
1737
1755
|
--background-color: var(--components-form-segmentedcontrol-standard-fill-hover);
|
|
1738
1756
|
}
|
|
1739
|
-
.eds-contrast .eds-segmented-choice:hover
|
|
1740
|
-
--background-color: var(--components-form-segmentedcontrol-contrast-fill-hover);
|
|
1741
|
-
}
|
|
1742
|
-
.eds-segmented-choice:hover input:checked + .eds-base-segmented {
|
|
1743
|
-
--background-color: var(--components-form-segmentedcontrol-standard-fill-hover);
|
|
1744
|
-
color: var(--components-form-segmentedcontrol-standard-text-unselected);
|
|
1745
|
-
}
|
|
1746
|
-
.eds-contrast .eds-segmented-choice:hover input:checked + .eds-base-segmented {
|
|
1757
|
+
.eds-contrast .eds-segmented-choice:hover {
|
|
1747
1758
|
--background-color: var(--components-form-segmentedcontrol-contrast-fill-hover);
|
|
1748
|
-
color: var(--components-form-segmentedcontrol-contrast-text-unselected);
|
|
1749
1759
|
}
|
|
1750
|
-
.eds-segmented-choice
|
|
1751
|
-
appearance: none;
|
|
1752
|
-
position: absolute;
|
|
1753
|
-
opacity: 0;
|
|
1754
|
-
height: 0;
|
|
1755
|
-
width: 0;
|
|
1756
|
-
}
|
|
1757
|
-
.eds-segmented-choice input:checked + .eds-base-segmented {
|
|
1760
|
+
.eds-segmented-choice[aria-checked=true] {
|
|
1758
1761
|
--background-color: var(--components-form-segmentedcontrol-standard-fill-selected);
|
|
1759
1762
|
color: var(--components-form-segmentedcontrol-standard-text-selected);
|
|
1760
1763
|
box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.25);
|
|
1761
1764
|
}
|
|
1762
|
-
.eds-contrast .eds-segmented-choice
|
|
1765
|
+
.eds-contrast .eds-segmented-choice[aria-checked=true] {
|
|
1763
1766
|
--background-color: var(--components-form-segmentedcontrol-contrast-fill-selected);
|
|
1764
1767
|
box-shadow: 0 0.0625rem 0.1875rem rgb(57, 61, 121);
|
|
1765
1768
|
color: var(--components-form-segmentedcontrol-contrast-text-selected);
|
|
1766
1769
|
}
|
|
1767
|
-
.eds-segmented-choice
|
|
1770
|
+
.eds-segmented-choice:focus-visible {
|
|
1768
1771
|
outline: 2px solid #181c56;
|
|
1769
1772
|
outline-color: var(--basecolors-stroke-focus-standard);
|
|
1770
1773
|
outline-offset: 0.125rem;
|
|
1771
1774
|
}
|
|
1772
|
-
.eds-contrast .eds-segmented-choice
|
|
1775
|
+
.eds-contrast .eds-segmented-choice:focus-visible {
|
|
1773
1776
|
outline-color: var(--basecolors-stroke-focus-contrast);
|
|
1774
|
-
}
|
|
1775
|
-
.eds-segmented-choice input:focus-visible:checked + .eds-base-segmented {
|
|
1776
|
-
outline: 2px solid #181c56;
|
|
1777
|
-
outline-color: var(--basecolors-stroke-focus-standard);
|
|
1778
|
-
outline-offset: 0.125rem;
|
|
1779
|
-
}
|
|
1780
|
-
.eds-contrast .eds-segmented-choice input:focus-visible:checked + .eds-base-segmented {
|
|
1781
|
-
outline-color: var(--basecolors-stroke-focus-contrast);
|
|
1782
|
-
}/* DO NOT CHANGE!*/
|
|
1783
|
-
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
1784
|
-
.eds-segmented-control {
|
|
1785
|
-
margin-top: 0.25rem;
|
|
1786
|
-
display: flex;
|
|
1787
|
-
background: var(--components-form-segmentedcontrol-standard-background);
|
|
1788
|
-
border-radius: 0.5rem;
|
|
1789
|
-
}
|
|
1790
|
-
.eds-contrast .eds-segmented-control {
|
|
1791
|
-
background: var(--components-form-segmentedcontrol-contrast-background);
|
|
1792
1777
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@entur/form",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.0.1",
|
|
4
4
|
"license": "EUPL-1.2",
|
|
5
5
|
"main": "dist/form.cjs.js",
|
|
6
6
|
"module": "dist/form.esm.js",
|
|
@@ -48,5 +48,5 @@
|
|
|
48
48
|
"vite": "^7.1.3",
|
|
49
49
|
"vite-plugin-dts": "^4.5.4"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "51a246c05d8abbc22f93b38be56a5242fcee00c6"
|
|
52
52
|
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
import { SelectedValues } from './SegmentedContext';
|
|
3
|
-
export type MultipleSegmentedControlProps = {
|
|
4
|
-
/** Navn på input-elementene */
|
|
5
|
-
name?: string;
|
|
6
|
-
/** Beskrivende tekst */
|
|
7
|
-
label?: string;
|
|
8
|
-
/** En eller flere SegmentedChoice-komponenter */
|
|
9
|
-
children: React.ReactNode;
|
|
10
|
-
/** Den eller de valgte verdiene */
|
|
11
|
-
selectedValue: SelectedValues;
|
|
12
|
-
/** Callback for når det gjøres et valg */
|
|
13
|
-
onChange: (value: SelectedValues) => void;
|
|
14
|
-
[key: string]: any;
|
|
15
|
-
};
|
|
16
|
-
/**This component is not used by anyone, and is therefore deprecated
|
|
17
|
-
* @deprecated
|
|
18
|
-
*/
|
|
19
|
-
export declare const MultipleSegmentedControl: React.FC<MultipleSegmentedControlProps>;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
export type SegmentedChoiceProps = {
|
|
3
|
-
/** Verdien til valget */
|
|
4
|
-
value: string;
|
|
5
|
-
/** Innhold som beskriver valget */
|
|
6
|
-
children: React.ReactNode;
|
|
7
|
-
/** Ekstra klassenavn */
|
|
8
|
-
className?: string;
|
|
9
|
-
/** Callback som kalles når komponenten endres */
|
|
10
|
-
onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
11
|
-
} & React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>;
|
|
12
|
-
export declare const SegmentedChoice: React.ForwardRefExoticComponent<Omit<SegmentedChoiceProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
export type SelectedValues = {
|
|
3
|
-
[key: string]: boolean;
|
|
4
|
-
};
|
|
5
|
-
export type SelectedValue = string | null;
|
|
6
|
-
export type SegmentedContextProps = {
|
|
7
|
-
name: string;
|
|
8
|
-
onChange: (value: SelectedValues) => void;
|
|
9
|
-
selectedValue: SelectedValues;
|
|
10
|
-
multiple: true;
|
|
11
|
-
size: 'medium' | 'large';
|
|
12
|
-
} | {
|
|
13
|
-
name: string;
|
|
14
|
-
onChange: (value: SelectedValue) => void;
|
|
15
|
-
selectedValue: SelectedValue;
|
|
16
|
-
multiple: false;
|
|
17
|
-
size: 'medium' | 'large';
|
|
18
|
-
};
|
|
19
|
-
export type SegmentedProviderProps = {
|
|
20
|
-
name?: string;
|
|
21
|
-
onChange?: (value: SelectedValues) => void;
|
|
22
|
-
selectedValue: SelectedValues;
|
|
23
|
-
multiple: true;
|
|
24
|
-
size: 'medium' | 'large';
|
|
25
|
-
} | {
|
|
26
|
-
name?: string;
|
|
27
|
-
onChange?: (value: SelectedValue) => void;
|
|
28
|
-
selectedValue: SelectedValue;
|
|
29
|
-
multiple: false;
|
|
30
|
-
size: 'medium' | 'large';
|
|
31
|
-
};
|
|
32
|
-
export declare const SegmentedProvider: React.FC<SegmentedProviderProps>;
|
|
33
|
-
export declare const useSegmentedContext: () => SegmentedContextProps;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
import { SelectedValue } from './SegmentedContext';
|
|
3
|
-
export type SegmentedControlProps = {
|
|
4
|
-
/** Navn på input-elementene */
|
|
5
|
-
name?: string;
|
|
6
|
-
/** Beskrivende tekst */
|
|
7
|
-
label?: string;
|
|
8
|
-
/** En eller flere SegmentedChoice-komponenter */
|
|
9
|
-
children: React.ReactNode;
|
|
10
|
-
/** Den valgte verdien */
|
|
11
|
-
selectedValue: SelectedValue;
|
|
12
|
-
/** Callback for når det gjøres et valg */
|
|
13
|
-
onChange: (value: SelectedValue) => void;
|
|
14
|
-
/** Størrelsen på SegmentedChoice-komponentene */
|
|
15
|
-
size?: 'medium' | 'large';
|
|
16
|
-
/** Ekstra klassenavn */
|
|
17
|
-
className?: string;
|
|
18
|
-
[key: string]: any;
|
|
19
|
-
};
|
|
20
|
-
export declare const SegmentedControl: React.FC<SegmentedControlProps>;
|