@skatteetaten/ds-overlays 2.0.0 → 2.1.0
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/Modal/Modal.module.scss.esm.js +17 -0
- package/Modal/Modal.types.esm.js +13 -0
- package/Modal/defaults.esm.js +6 -0
- package/Modal/index.esm.js +2 -21
- package/Popover/Popover.types.esm.js +9 -0
- package/Popover/defaults.esm.js +5 -0
- package/Popover/index.esm.js +3 -5
- package/PopoverContent/PopoverContent.module.scss.esm.js +16 -0
- package/PopoverContent/index.esm.js +83 -9
- package/RolePicker/RolePicker.module.scss.esm.js +6 -0
- package/RolePicker/defaults.esm.js +7 -0
- package/RolePicker/index.esm.js +6 -15
- package/RolePickerBusinessList/RolePickerBusinessList.module.scss.esm.js +9 -0
- package/RolePickerBusinessList/index.esm.js +2 -38
- package/RolePickerBusinessList/utils.esm.js +31 -0
- package/RolePickerFilterInput/RolePickerFilterInput.module.scss.esm.js +12 -0
- package/RolePickerFilterInput/index.esm.js +1 -11
- package/RolePickerPeopleList/RolePickerPeopleList.module.scss.esm.js +7 -0
- package/RolePickerPeopleList/index.esm.js +1 -8
- package/RolePickerRow/RolePickerRow.module.scss.esm.js +5 -0
- package/RolePickerRow/index.esm.js +9 -6
- package/index.esm.js +7 -41
- package/package.json +11 -11
- package/PopoverContent.esm.js +0 -100
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var styles = {
|
|
2
|
+
"modal": "Modal-module_modal__Kyr-Y",
|
|
3
|
+
"modalContainer": "Modal-module_modalContainer__muf75",
|
|
4
|
+
"modalHeading": "Modal-module_modalHeading__uwT1R",
|
|
5
|
+
"modalHeadingNoPadding": "Modal-module_modalHeadingNoPadding__t2hkH",
|
|
6
|
+
"modalIllustration": "Modal-module_modalIllustration__jbA32",
|
|
7
|
+
"modalPaddingNONE": "Modal-module_modalPaddingNONE__02HaX",
|
|
8
|
+
"modalPaddingS": "Modal-module_modalPaddingS__O93ax",
|
|
9
|
+
"modalPaddingM": "Modal-module_modalPaddingM__c5Wi2",
|
|
10
|
+
"modalPaddingL": "Modal-module_modalPaddingL__IbVyg",
|
|
11
|
+
"modalPaddingMEGA": "Modal-module_modalPaddingMEGA__wWHwS",
|
|
12
|
+
"modalNoPaddingTop": "Modal-module_modalNoPaddingTop__REBWr",
|
|
13
|
+
"closeButton": "Modal-module_closeButton__jgbDq",
|
|
14
|
+
"srOnly": "Modal-module_srOnly__W8dQv"
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export { styles as default };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
const getModalPaddingDefault = ()=>'l';
|
|
2
|
+
const getModalVariantDefault = ()=>'outline';
|
|
3
|
+
const getModalDismissOnOutsideClickDefault = ()=>true;
|
|
4
|
+
const getModalDismissOnEscDefault = ()=>true;
|
|
5
|
+
|
|
6
|
+
export { getModalDismissOnEscDefault, getModalDismissOnOutsideClickDefault, getModalPaddingDefault, getModalVariantDefault };
|
package/Modal/index.esm.js
CHANGED
|
@@ -5,30 +5,11 @@ import { IconButton } from '@skatteetaten/ds-buttons';
|
|
|
5
5
|
import { dsI18n, getCommonClassNameDefault } from '@skatteetaten/ds-core-utils';
|
|
6
6
|
import { CancelSVGpath } from '@skatteetaten/ds-icons';
|
|
7
7
|
import { Heading } from '@skatteetaten/ds-typography';
|
|
8
|
+
import { getModalDismissOnEscDefault, getModalPaddingDefault, getModalVariantDefault, getModalDismissOnOutsideClickDefault } from './defaults.esm.js';
|
|
9
|
+
import styles from './Modal.module.scss.esm.js';
|
|
8
10
|
import './styles.css';
|
|
9
11
|
|
|
10
12
|
|
|
11
|
-
const getModalPaddingDefault = ()=>'l';
|
|
12
|
-
const getModalVariantDefault = ()=>'outline';
|
|
13
|
-
const getModalDismissOnOutsideClickDefault = ()=>true;
|
|
14
|
-
const getModalDismissOnEscDefault = ()=>true;
|
|
15
|
-
|
|
16
|
-
var styles = {
|
|
17
|
-
"modal": "Modal-module_modal__Kyr-Y",
|
|
18
|
-
"modalContainer": "Modal-module_modalContainer__muf75",
|
|
19
|
-
"modalHeading": "Modal-module_modalHeading__uwT1R",
|
|
20
|
-
"modalHeadingNoPadding": "Modal-module_modalHeadingNoPadding__t2hkH",
|
|
21
|
-
"modalIllustration": "Modal-module_modalIllustration__jbA32",
|
|
22
|
-
"modalPaddingNONE": "Modal-module_modalPaddingNONE__02HaX",
|
|
23
|
-
"modalPaddingS": "Modal-module_modalPaddingS__O93ax",
|
|
24
|
-
"modalPaddingM": "Modal-module_modalPaddingM__c5Wi2",
|
|
25
|
-
"modalPaddingL": "Modal-module_modalPaddingL__IbVyg",
|
|
26
|
-
"modalPaddingMEGA": "Modal-module_modalPaddingMEGA__wWHwS",
|
|
27
|
-
"modalNoPaddingTop": "Modal-module_modalNoPaddingTop__REBWr",
|
|
28
|
-
"closeButton": "Modal-module_closeButton__jgbDq",
|
|
29
|
-
"srOnly": "Modal-module_srOnly__W8dQv"
|
|
30
|
-
};
|
|
31
|
-
|
|
32
13
|
const Modal = ({ ref, id, className = getCommonClassNameDefault(), classNames, lang, 'data-testid': dataTestId, dismissOnEsc = getModalDismissOnEscDefault(), dismissOnOutsideClick = getModalDismissOnOutsideClickDefault(), hideCloseButton, hideTitle, imageSource, imageSourceAltText, padding = getModalPaddingDefault(), title, variant = getModalVariantDefault(), shadowRootNode, onClose, renderIcon, children })=>{
|
|
33
14
|
const headingId = `modalHeadingId-${useId()}`;
|
|
34
15
|
const { t } = useTranslation('ds_overlays', {
|
package/Popover/index.esm.js
CHANGED
|
@@ -2,13 +2,11 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { useRef, useState, useEffect, useMemo } from 'react';
|
|
3
3
|
import { useFloating, offset, flip, shift, arrow, autoUpdate, useDismiss, useInteractions } from '@floating-ui/react';
|
|
4
4
|
import { useMediaQuery } from '@skatteetaten/ds-core-utils';
|
|
5
|
-
import {
|
|
6
|
-
export {
|
|
5
|
+
import { getPopoverPositionDefault } from './defaults.esm.js';
|
|
6
|
+
export { getPopoverColorDefault, getPopoverRestoreFocusDefault } from './defaults.esm.js';
|
|
7
|
+
import { PopoverContent } from '../PopoverContent/index.esm.js';
|
|
7
8
|
import { PopoverContext } from '../PopoverContext/index.esm.js';
|
|
8
9
|
import { PopoverTrigger } from '../PopoverTrigger/index.esm.js';
|
|
9
|
-
import 'react-i18next';
|
|
10
|
-
import '@skatteetaten/ds-buttons';
|
|
11
|
-
import '@skatteetaten/ds-icons';
|
|
12
10
|
|
|
13
11
|
const Popover = (props)=>{
|
|
14
12
|
const { isOpen: controlledOpen, position = getPopoverPositionDefault(), disableAutoDismiss, disableAutoDismissOnMobile, children, onClose } = props;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var styles = {
|
|
2
|
+
"popover": "PopoverContent-module_popover__1i7nF",
|
|
3
|
+
"popover_forest": "PopoverContent-module_popover_forest__-WlLT",
|
|
4
|
+
"popover_ochre": "PopoverContent-module_popover_ochre__C9YUJ",
|
|
5
|
+
"popover_white": "PopoverContent-module_popover_white__gwTu5",
|
|
6
|
+
"popoverContent": "PopoverContent-module_popoverContent__iaSZD",
|
|
7
|
+
"popoverContentWrapper": "PopoverContent-module_popoverContentWrapper__bhEag",
|
|
8
|
+
"popoverContentCloseButton": "PopoverContent-module_popoverContentCloseButton__IZs-q",
|
|
9
|
+
"popoverArrow": "PopoverContent-module_popoverArrow__wCAG8",
|
|
10
|
+
"popoverArrow_top": "PopoverContent-module_popoverArrow_top__TYOrF",
|
|
11
|
+
"popoverArrow_bottom": "PopoverContent-module_popoverArrow_bottom__h891-",
|
|
12
|
+
"popoverArrow_left": "PopoverContent-module_popoverArrow_left__GmPTL",
|
|
13
|
+
"popoverArrow_right": "PopoverContent-module_popoverArrow_right__MPxU2"
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export { styles as default };
|
|
@@ -1,9 +1,83 @@
|
|
|
1
|
-
import 'react/jsx-runtime';
|
|
2
|
-
import 'react';
|
|
3
|
-
import 'react-i18next';
|
|
4
|
-
import '@floating-ui/react';
|
|
5
|
-
import '@skatteetaten/ds-buttons';
|
|
6
|
-
import '@skatteetaten/ds-core-utils';
|
|
7
|
-
import '@skatteetaten/ds-icons';
|
|
8
|
-
|
|
9
|
-
import '../PopoverContext/index.esm.js';
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useContext } from 'react';
|
|
3
|
+
import { useTranslation } from 'react-i18next';
|
|
4
|
+
import { useMergeRefs } from '@floating-ui/react';
|
|
5
|
+
import { IconButton } from '@skatteetaten/ds-buttons';
|
|
6
|
+
import { dsI18n, getCommonClassNameDefault } from '@skatteetaten/ds-core-utils';
|
|
7
|
+
import { CancelSVGpath } from '@skatteetaten/ds-icons';
|
|
8
|
+
import { getPopoverColorDefault, getPopoverRestoreFocusDefault } from '../Popover/defaults.esm.js';
|
|
9
|
+
import { PopoverContext } from '../PopoverContext/index.esm.js';
|
|
10
|
+
import styles from './PopoverContent.module.scss.esm.js';
|
|
11
|
+
import './styles.css';
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
/* eslint-disable react/forbid-dom-props */ const PopoverContent = ({ ref, id, className = getCommonClassNameDefault(), lang, 'data-testid': dataTestId, children })=>{
|
|
15
|
+
const { floatingData, interactions, arrowRef, isOpen, setIsOpen, color = getPopoverColorDefault(), shouldRestoreFocus = getPopoverRestoreFocusDefault(), onClose } = useContext(PopoverContext);
|
|
16
|
+
const { refs, floatingStyles, placement, middlewareData } = floatingData;
|
|
17
|
+
const { getFloatingProps } = interactions;
|
|
18
|
+
const { t } = useTranslation('Shared', {
|
|
19
|
+
i18n: dsI18n
|
|
20
|
+
});
|
|
21
|
+
const side = placement.split('-')[0];
|
|
22
|
+
const colorClassName = styles[`popover_${color}`];
|
|
23
|
+
const arrowPositionClassName = styles[`popoverArrow_${side}`];
|
|
24
|
+
const mergedRef = useMergeRefs([
|
|
25
|
+
refs.setFloating,
|
|
26
|
+
ref
|
|
27
|
+
]);
|
|
28
|
+
const staticSide = {
|
|
29
|
+
top: 'bottom',
|
|
30
|
+
right: 'left',
|
|
31
|
+
bottom: 'top',
|
|
32
|
+
left: 'right'
|
|
33
|
+
}[side];
|
|
34
|
+
if (!isOpen) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
return /*#__PURE__*/ jsxs("div", {
|
|
38
|
+
...getFloatingProps(),
|
|
39
|
+
ref: mergedRef,
|
|
40
|
+
style: floatingStyles,
|
|
41
|
+
id: id,
|
|
42
|
+
lang: lang,
|
|
43
|
+
"data-testid": dataTestId,
|
|
44
|
+
className: `${styles.popover} ${colorClassName} ${className}`.trim(),
|
|
45
|
+
children: [
|
|
46
|
+
/*#__PURE__*/ jsxs("div", {
|
|
47
|
+
className: styles.popoverContent,
|
|
48
|
+
children: [
|
|
49
|
+
/*#__PURE__*/ jsx("div", {
|
|
50
|
+
className: styles.popoverContentWrapper,
|
|
51
|
+
children: children
|
|
52
|
+
}),
|
|
53
|
+
/*#__PURE__*/ jsx(IconButton, {
|
|
54
|
+
className: styles.popoverContentCloseButton,
|
|
55
|
+
svgPath: CancelSVGpath,
|
|
56
|
+
title: t('shared.Close'),
|
|
57
|
+
onClick: ()=>{
|
|
58
|
+
onClose?.();
|
|
59
|
+
setIsOpen(false);
|
|
60
|
+
if (shouldRestoreFocus) {
|
|
61
|
+
refs.domReference.current?.focus();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
})
|
|
65
|
+
]
|
|
66
|
+
}),
|
|
67
|
+
/*#__PURE__*/ jsx("div", {
|
|
68
|
+
ref: arrowRef,
|
|
69
|
+
style: {
|
|
70
|
+
left: middlewareData.arrow?.x,
|
|
71
|
+
top: middlewareData.arrow?.y,
|
|
72
|
+
...staticSide ? {
|
|
73
|
+
[staticSide]: `-${(arrowRef.current?.offsetWidth ?? 0) / 2}px`
|
|
74
|
+
} : {}
|
|
75
|
+
},
|
|
76
|
+
className: `${styles.popoverArrow} ${arrowPositionClassName}`.trim()
|
|
77
|
+
})
|
|
78
|
+
]
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
PopoverContent.displayName = 'PopoverContent';
|
|
82
|
+
|
|
83
|
+
export { PopoverContent };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const getRolePickerHideCloseButtonDefault = ()=>false;
|
|
2
|
+
const getRolePickerShowSubunitsDefault = ()=>true;
|
|
3
|
+
const getRolePickerShowInactiveBusinessesDefault = ()=>false;
|
|
4
|
+
const getRolePickerShowDeceasedPeopleDefault = ()=>false;
|
|
5
|
+
const getRolePickerMinimumEntitiesForSearchDefault = ()=>11;
|
|
6
|
+
|
|
7
|
+
export { getRolePickerHideCloseButtonDefault, getRolePickerMinimumEntitiesForSearchDefault, getRolePickerShowDeceasedPeopleDefault, getRolePickerShowInactiveBusinessesDefault, getRolePickerShowSubunitsDefault };
|
package/RolePicker/index.esm.js
CHANGED
|
@@ -5,29 +5,20 @@ import { Button } from '@skatteetaten/ds-buttons';
|
|
|
5
5
|
import { dsI18n, getCommonClassNameDefault, formatNationalIdentityNumber } from '@skatteetaten/ds-core-utils';
|
|
6
6
|
import { FavoriteSVGpath, LogOutSVGpath } from '@skatteetaten/ds-icons';
|
|
7
7
|
import { Paragraph } from '@skatteetaten/ds-typography';
|
|
8
|
-
import {
|
|
8
|
+
import { getRolePickerHideCloseButtonDefault, getRolePickerShowDeceasedPeopleDefault, getRolePickerShowInactiveBusinessesDefault, getRolePickerShowSubunitsDefault, getRolePickerMinimumEntitiesForSearchDefault } from './defaults.esm.js';
|
|
9
|
+
import './styles.css';
|
|
10
|
+
|
|
11
|
+
import { Modal } from '../Modal/index.esm.js';
|
|
9
12
|
import { RolePickerBusinessList } from '../RolePickerBusinessList/index.esm.js';
|
|
10
13
|
import { RolePickerContext } from '../RolePickerContext/index.esm.js';
|
|
11
14
|
import { RolePickerFilterInput } from '../RolePickerFilterInput/index.esm.js';
|
|
12
15
|
import { RolePickerPeopleList } from '../RolePickerPeopleList/index.esm.js';
|
|
13
16
|
import { RolePickerRow } from '../RolePickerRow/index.esm.js';
|
|
14
|
-
import '
|
|
15
|
-
import '
|
|
16
|
-
import '@skatteetaten/ds-status';
|
|
17
|
+
import styles from './RolePicker.module.scss.esm.js';
|
|
18
|
+
import { getModalDismissOnOutsideClickDefault, getModalDismissOnEscDefault } from '../Modal/defaults.esm.js';
|
|
17
19
|
import './styles.css';
|
|
18
20
|
|
|
19
21
|
|
|
20
|
-
const getRolePickerHideCloseButtonDefault = ()=>false;
|
|
21
|
-
const getRolePickerShowSubunitsDefault = ()=>true;
|
|
22
|
-
const getRolePickerShowInactiveBusinessesDefault = ()=>false;
|
|
23
|
-
const getRolePickerShowDeceasedPeopleDefault = ()=>false;
|
|
24
|
-
const getRolePickerMinimumEntitiesForSearchDefault = ()=>11;
|
|
25
|
-
|
|
26
|
-
var styles = {
|
|
27
|
-
"rolePicker": "RolePicker-module_rolePicker__pTz4X",
|
|
28
|
-
"rolePickerFooter": "RolePicker-module_rolePickerFooter__64Pj-",
|
|
29
|
-
"container": "RolePicker-module_container__VtHRL"};
|
|
30
|
-
|
|
31
22
|
const RolePicker = ({ ref, id, className = getCommonClassNameDefault(), lang, 'data-testid': dataTestId, me, businesses, people, title, dismissOnEsc = getModalDismissOnEscDefault(), dismissOnOutsideClick = getModalDismissOnOutsideClickDefault(), hideCloseButton = getRolePickerHideCloseButtonDefault(), minimumEntitiesForSearch = getRolePickerMinimumEntitiesForSearchDefault(), showInactiveBusinesses = getRolePickerShowInactiveBusinessesDefault(), showSubunits = getRolePickerShowSubunitsDefault(), showDeceasedPeople = getRolePickerShowDeceasedPeopleDefault(), onClose, onEntitySelect, onLogout, children })=>{
|
|
32
23
|
const [filter, setFilter] = useState('');
|
|
33
24
|
const [loadingEntityId, setLoadingEntityId] = useState(undefined);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
var styles = {
|
|
2
|
+
"businessList": "RolePickerBusinessList-module_businessList__15fne",
|
|
3
|
+
"checkboxGroup": "RolePickerBusinessList-module_checkboxGroup__cdE2w",
|
|
4
|
+
"showAllButtonWrapper": "RolePickerBusinessList-module_showAllButtonWrapper__ZffHt",
|
|
5
|
+
"subUnitsList": "RolePickerBusinessList-module_subUnitsList__bDv87",
|
|
6
|
+
"subUnit": "RolePickerBusinessList-module_subUnit__DIX6O"
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export { styles as default };
|
|
@@ -6,49 +6,13 @@ import { dsI18n, formatOrganisationNumber } from '@skatteetaten/ds-core-utils';
|
|
|
6
6
|
import { Checkbox } from '@skatteetaten/ds-forms';
|
|
7
7
|
import { BriefcaseOffSVGpath, BriefcaseMultipleSVGpath, BriefcaseSVGpath } from '@skatteetaten/ds-icons';
|
|
8
8
|
import { Heading } from '@skatteetaten/ds-typography';
|
|
9
|
+
import { getBusinessTitle } from './utils.esm.js';
|
|
9
10
|
import { RolePickerContext } from '../RolePickerContext/index.esm.js';
|
|
10
11
|
import { RolePickerRow } from '../RolePickerRow/index.esm.js';
|
|
11
|
-
import '
|
|
12
|
-
import '@skatteetaten/ds-status';
|
|
12
|
+
import styles from './RolePickerBusinessList.module.scss.esm.js';
|
|
13
13
|
import './styles.css';
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
const unitTypesToHide = [
|
|
17
|
-
'AS',
|
|
18
|
-
'DA',
|
|
19
|
-
'ANS',
|
|
20
|
-
'ASA',
|
|
21
|
-
'SE',
|
|
22
|
-
'BA',
|
|
23
|
-
'SA',
|
|
24
|
-
'SCE',
|
|
25
|
-
'STI',
|
|
26
|
-
'IKS',
|
|
27
|
-
'KF',
|
|
28
|
-
'FKF',
|
|
29
|
-
'RHF',
|
|
30
|
-
'HF',
|
|
31
|
-
'NUF'
|
|
32
|
-
];
|
|
33
|
-
const getBusinessTitle = (business)=>{
|
|
34
|
-
let title = business.name;
|
|
35
|
-
if (!unitTypesToHide.includes(business.unitType)) {
|
|
36
|
-
title += ` ${business.unitType}`;
|
|
37
|
-
}
|
|
38
|
-
if (business.isDeleted) {
|
|
39
|
-
title += ` (${dsI18n.t('ds_overlays:rolepicker.Deleted')})`;
|
|
40
|
-
}
|
|
41
|
-
return title;
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
var styles = {
|
|
45
|
-
"businessList": "RolePickerBusinessList-module_businessList__15fne",
|
|
46
|
-
"checkboxGroup": "RolePickerBusinessList-module_checkboxGroup__cdE2w",
|
|
47
|
-
"showAllButtonWrapper": "RolePickerBusinessList-module_showAllButtonWrapper__ZffHt",
|
|
48
|
-
"subUnitsList": "RolePickerBusinessList-module_subUnitsList__bDv87",
|
|
49
|
-
"subUnit": "RolePickerBusinessList-module_subUnit__DIX6O"
|
|
50
|
-
};
|
|
51
|
-
|
|
52
16
|
const MAX_INITIAL_ITEMS = 5;
|
|
53
17
|
const RolePickerBusinessList = ({ businesses, filterQuery, showInactiveBusinesses: externalShowInactiveBusinesses, showSubunits: externalShowSubUnits })=>{
|
|
54
18
|
const { t } = useTranslation('ds_overlays', {
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { dsI18n } from '@skatteetaten/ds-core-utils';
|
|
2
|
+
|
|
3
|
+
const unitTypesToHide = [
|
|
4
|
+
'AS',
|
|
5
|
+
'DA',
|
|
6
|
+
'ANS',
|
|
7
|
+
'ASA',
|
|
8
|
+
'SE',
|
|
9
|
+
'BA',
|
|
10
|
+
'SA',
|
|
11
|
+
'SCE',
|
|
12
|
+
'STI',
|
|
13
|
+
'IKS',
|
|
14
|
+
'KF',
|
|
15
|
+
'FKF',
|
|
16
|
+
'RHF',
|
|
17
|
+
'HF',
|
|
18
|
+
'NUF'
|
|
19
|
+
];
|
|
20
|
+
const getBusinessTitle = (business)=>{
|
|
21
|
+
let title = business.name;
|
|
22
|
+
if (!unitTypesToHide.includes(business.unitType)) {
|
|
23
|
+
title += ` ${business.unitType}`;
|
|
24
|
+
}
|
|
25
|
+
if (business.isDeleted) {
|
|
26
|
+
title += ` (${dsI18n.t('ds_overlays:rolepicker.Deleted')})`;
|
|
27
|
+
}
|
|
28
|
+
return title;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export { getBusinessTitle };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
var styles = {
|
|
2
|
+
"searchContainer": "RolePickerFilterInput-module_searchContainer__o-Vzy",
|
|
3
|
+
"topContainer": "RolePickerFilterInput-module_topContainer__yFxDA",
|
|
4
|
+
"label": "RolePickerFilterInput-module_label__lgvnq",
|
|
5
|
+
"clearButton": "RolePickerFilterInput-module_clearButton__etHYm",
|
|
6
|
+
"filterIcon": "RolePickerFilterInput-module_filterIcon__v--p8",
|
|
7
|
+
"inputWrapper": "RolePickerFilterInput-module_inputWrapper__wGC-J",
|
|
8
|
+
"input": "RolePickerFilterInput-module_input__eShOX",
|
|
9
|
+
"srOnly": "RolePickerFilterInput-module_srOnly__CFhaY"
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export { styles as default };
|
|
@@ -4,20 +4,10 @@ import { useTranslation } from 'react-i18next';
|
|
|
4
4
|
import { IconButton } from '@skatteetaten/ds-buttons';
|
|
5
5
|
import { dsI18n } from '@skatteetaten/ds-core-utils';
|
|
6
6
|
import { CancelSVGpath, Icon, FilterSVGpath } from '@skatteetaten/ds-icons';
|
|
7
|
+
import styles from './RolePickerFilterInput.module.scss.esm.js';
|
|
7
8
|
import './styles.css';
|
|
8
9
|
|
|
9
10
|
|
|
10
|
-
var styles = {
|
|
11
|
-
"searchContainer": "RolePickerFilterInput-module_searchContainer__o-Vzy",
|
|
12
|
-
"topContainer": "RolePickerFilterInput-module_topContainer__yFxDA",
|
|
13
|
-
"label": "RolePickerFilterInput-module_label__lgvnq",
|
|
14
|
-
"clearButton": "RolePickerFilterInput-module_clearButton__etHYm",
|
|
15
|
-
"filterIcon": "RolePickerFilterInput-module_filterIcon__v--p8",
|
|
16
|
-
"inputWrapper": "RolePickerFilterInput-module_inputWrapper__wGC-J",
|
|
17
|
-
"input": "RolePickerFilterInput-module_input__eShOX",
|
|
18
|
-
"srOnly": "RolePickerFilterInput-module_srOnly__CFhaY"
|
|
19
|
-
};
|
|
20
|
-
|
|
21
11
|
const RolePickerFilterInput = ({ label, value, onChange, onClear })=>{
|
|
22
12
|
const { t: formsT } = useTranslation('ds_forms', {
|
|
23
13
|
i18n: dsI18n
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
var styles = {
|
|
2
|
+
"peopleList": "RolePickerPeopleList-module_peopleList__dEumR",
|
|
3
|
+
"showDeceasedChecbox": "RolePickerPeopleList-module_showDeceasedChecbox__4SCg3",
|
|
4
|
+
"showAllButtonWrapper": "RolePickerPeopleList-module_showAllButtonWrapper__-ErxO"
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
export { styles as default };
|
|
@@ -8,17 +8,10 @@ import { PersonSVGpath } from '@skatteetaten/ds-icons';
|
|
|
8
8
|
import { Heading } from '@skatteetaten/ds-typography';
|
|
9
9
|
import { RolePickerContext } from '../RolePickerContext/index.esm.js';
|
|
10
10
|
import { RolePickerRow } from '../RolePickerRow/index.esm.js';
|
|
11
|
-
import '
|
|
12
|
-
import '@skatteetaten/ds-status';
|
|
11
|
+
import styles from './RolePickerPeopleList.module.scss.esm.js';
|
|
13
12
|
import './styles.css';
|
|
14
13
|
|
|
15
14
|
|
|
16
|
-
var styles = {
|
|
17
|
-
"peopleList": "RolePickerPeopleList-module_peopleList__dEumR",
|
|
18
|
-
"showDeceasedChecbox": "RolePickerPeopleList-module_showDeceasedChecbox__4SCg3",
|
|
19
|
-
"showAllButtonWrapper": "RolePickerPeopleList-module_showAllButtonWrapper__-ErxO"
|
|
20
|
-
};
|
|
21
|
-
|
|
22
15
|
const MAX_INITIAL_ITEMS = 5;
|
|
23
16
|
const RolePickerPeopleList = ({ people, filterQuery, showDeceasedPeople: showDeceasedPeopleExternal })=>{
|
|
24
17
|
const { t } = useTranslation('ds_overlays', {
|
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { useContext } from 'react';
|
|
2
|
+
import { useContext, useRef } from 'react';
|
|
3
3
|
import { NavigationTile } from '@skatteetaten/ds-navigation';
|
|
4
4
|
import { Alert } from '@skatteetaten/ds-status';
|
|
5
5
|
import { RolePickerContext } from '../RolePickerContext/index.esm.js';
|
|
6
|
+
import styles from './RolePickerRow.module.scss.esm.js';
|
|
6
7
|
import './styles.css';
|
|
7
8
|
|
|
8
9
|
|
|
9
|
-
var styles = {
|
|
10
|
-
"withAlert": "RolePickerRow-module_withAlert__DxPmf"
|
|
11
|
-
};
|
|
12
|
-
|
|
13
10
|
function RolePickerRow({ id, title, description, svgPath, titleAs, onClick }) {
|
|
14
11
|
const ctx = useContext(RolePickerContext);
|
|
12
|
+
const ref = useRef(null);
|
|
15
13
|
const hasError = ctx?.error?.entityId === id;
|
|
14
|
+
const handleCloseError = ()=>{
|
|
15
|
+
ctx?.setError(undefined);
|
|
16
|
+
ref.current?.focus();
|
|
17
|
+
};
|
|
16
18
|
return /*#__PURE__*/ jsxs("div", {
|
|
17
19
|
children: [
|
|
18
20
|
/*#__PURE__*/ jsx(NavigationTile, {
|
|
21
|
+
ref: ref,
|
|
19
22
|
href: '#',
|
|
20
23
|
className: `${hasError ? styles.withAlert : ''}`,
|
|
21
24
|
titleAs: titleAs ?? 'h3',
|
|
@@ -32,7 +35,7 @@ function RolePickerRow({ id, title, description, svgPath, titleAs, onClick }) {
|
|
|
32
35
|
/*#__PURE__*/ jsx(Alert, {
|
|
33
36
|
variant: 'warning',
|
|
34
37
|
showAlert: hasError,
|
|
35
|
-
onClose:
|
|
38
|
+
onClose: handleCloseError,
|
|
36
39
|
children: ctx?.error?.message
|
|
37
40
|
})
|
|
38
41
|
]
|
package/index.esm.js
CHANGED
|
@@ -1,42 +1,8 @@
|
|
|
1
|
-
export { Modal
|
|
1
|
+
export { Modal } from './Modal/index.esm.js';
|
|
2
|
+
export { modalPaddingArr, modalVariantArr } from './Modal/Modal.types.esm.js';
|
|
2
3
|
export { Popover } from './Popover/index.esm.js';
|
|
3
|
-
|
|
4
|
-
export { RolePicker
|
|
5
|
-
export {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
import 'react-i18next';
|
|
9
|
-
import '@skatteetaten/ds-buttons';
|
|
10
|
-
import '@skatteetaten/ds-icons';
|
|
11
|
-
import '@skatteetaten/ds-typography';
|
|
12
|
-
import '@floating-ui/react';
|
|
13
|
-
import './PopoverContext/index.esm.js';
|
|
14
|
-
import './PopoverTrigger/index.esm.js';
|
|
15
|
-
import './RolePickerBusinessList/index.esm.js';
|
|
16
|
-
import '@skatteetaten/ds-forms';
|
|
17
|
-
import './RolePickerContext/index.esm.js';
|
|
18
|
-
import './RolePickerRow/index.esm.js';
|
|
19
|
-
import '@skatteetaten/ds-navigation';
|
|
20
|
-
import '@skatteetaten/ds-status';
|
|
21
|
-
import './RolePickerFilterInput/index.esm.js';
|
|
22
|
-
import './RolePickerPeopleList/index.esm.js';
|
|
23
|
-
|
|
24
|
-
const modalPaddingArr = [
|
|
25
|
-
'none',
|
|
26
|
-
's',
|
|
27
|
-
'm',
|
|
28
|
-
'l',
|
|
29
|
-
'mega'
|
|
30
|
-
];
|
|
31
|
-
const modalVariantArr = [
|
|
32
|
-
'outline',
|
|
33
|
-
'plain'
|
|
34
|
-
];
|
|
35
|
-
|
|
36
|
-
const popoverColorArr = [
|
|
37
|
-
colorNamesArr[0],
|
|
38
|
-
colorNamesArr[1],
|
|
39
|
-
colorNamesArr[6]
|
|
40
|
-
];
|
|
41
|
-
|
|
42
|
-
export { modalPaddingArr, modalVariantArr, popoverColorArr };
|
|
4
|
+
export { popoverColorArr } from './Popover/Popover.types.esm.js';
|
|
5
|
+
export { RolePicker } from './RolePicker/index.esm.js';
|
|
6
|
+
export { getModalDismissOnEscDefault, getModalDismissOnOutsideClickDefault, getModalPaddingDefault, getModalVariantDefault } from './Modal/defaults.esm.js';
|
|
7
|
+
export { getPopoverColorDefault, getPopoverPositionDefault, getPopoverRestoreFocusDefault } from './Popover/defaults.esm.js';
|
|
8
|
+
export { getRolePickerHideCloseButtonDefault, getRolePickerMinimumEntitiesForSearchDefault, getRolePickerShowDeceasedPeopleDefault, getRolePickerShowInactiveBusinessesDefault, getRolePickerShowSubunitsDefault } from './RolePicker/defaults.esm.js';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skatteetaten/ds-overlays",
|
|
3
3
|
"groupId": "no.skatteetaten.aurora",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.1.0",
|
|
5
5
|
"main": "./index.esm.js",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"module": "./index.esm.js",
|
|
@@ -16,17 +16,17 @@
|
|
|
16
16
|
"i18next": "^24",
|
|
17
17
|
"react": "^19 ",
|
|
18
18
|
"react-i18next": "^15",
|
|
19
|
-
"@skatteetaten/ds-core-utils": "2.
|
|
20
|
-
"@skatteetaten/ds-buttons": "2.
|
|
21
|
-
"@skatteetaten/ds-forms": "2.
|
|
22
|
-
"@skatteetaten/ds-icons": "2.
|
|
23
|
-
"@skatteetaten/ds-navigation": "2.
|
|
24
|
-
"@skatteetaten/ds-typography": "2.
|
|
25
|
-
"@skatteetaten/ds-progress": "2.
|
|
26
|
-
"@skatteetaten/ds-status": "2.
|
|
19
|
+
"@skatteetaten/ds-core-utils": "2.1.0",
|
|
20
|
+
"@skatteetaten/ds-buttons": "2.1.0",
|
|
21
|
+
"@skatteetaten/ds-forms": "2.1.0",
|
|
22
|
+
"@skatteetaten/ds-icons": "2.1.0",
|
|
23
|
+
"@skatteetaten/ds-navigation": "2.1.0",
|
|
24
|
+
"@skatteetaten/ds-typography": "2.1.0",
|
|
25
|
+
"@skatteetaten/ds-progress": "2.1.0",
|
|
26
|
+
"@skatteetaten/ds-status": "2.1.0",
|
|
27
27
|
"date-fns": "^4",
|
|
28
|
-
"@
|
|
29
|
-
"@
|
|
28
|
+
"@skatteetaten/ds-content": "2.1.0",
|
|
29
|
+
"@floating-ui/react": "0.26.28"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {},
|
|
32
32
|
"scripts": {}
|
package/PopoverContent.esm.js
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { useContext } from 'react';
|
|
3
|
-
import { useTranslation } from 'react-i18next';
|
|
4
|
-
import { useMergeRefs } from '@floating-ui/react';
|
|
5
|
-
import { IconButton } from '@skatteetaten/ds-buttons';
|
|
6
|
-
import { dsI18n, getCommonClassNameDefault } from '@skatteetaten/ds-core-utils';
|
|
7
|
-
import { CancelSVGpath } from '@skatteetaten/ds-icons';
|
|
8
|
-
import { PopoverContext } from './PopoverContext/index.esm.js';
|
|
9
|
-
import './PopoverContent/styles.css';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const getPopoverColorDefault = ()=>'forest';
|
|
13
|
-
const getPopoverPositionDefault = ()=>'bottomStart';
|
|
14
|
-
const getPopoverRestoreFocusDefault = ()=>true;
|
|
15
|
-
|
|
16
|
-
var styles = {
|
|
17
|
-
"popover": "PopoverContent-module_popover__1i7nF",
|
|
18
|
-
"popover_forest": "PopoverContent-module_popover_forest__-WlLT",
|
|
19
|
-
"popover_ochre": "PopoverContent-module_popover_ochre__C9YUJ",
|
|
20
|
-
"popover_white": "PopoverContent-module_popover_white__gwTu5",
|
|
21
|
-
"popoverContent": "PopoverContent-module_popoverContent__iaSZD",
|
|
22
|
-
"popoverContentWrapper": "PopoverContent-module_popoverContentWrapper__bhEag",
|
|
23
|
-
"popoverContentCloseButton": "PopoverContent-module_popoverContentCloseButton__IZs-q",
|
|
24
|
-
"popoverArrow": "PopoverContent-module_popoverArrow__wCAG8",
|
|
25
|
-
"popoverArrow_top": "PopoverContent-module_popoverArrow_top__TYOrF",
|
|
26
|
-
"popoverArrow_bottom": "PopoverContent-module_popoverArrow_bottom__h891-",
|
|
27
|
-
"popoverArrow_left": "PopoverContent-module_popoverArrow_left__GmPTL",
|
|
28
|
-
"popoverArrow_right": "PopoverContent-module_popoverArrow_right__MPxU2"
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
/* eslint-disable react/forbid-dom-props */ const PopoverContent = ({ ref, id, className = getCommonClassNameDefault(), lang, 'data-testid': dataTestId, children })=>{
|
|
32
|
-
const { floatingData, interactions, arrowRef, isOpen, setIsOpen, color = getPopoverColorDefault(), shouldRestoreFocus = getPopoverRestoreFocusDefault(), onClose } = useContext(PopoverContext);
|
|
33
|
-
const { refs, floatingStyles, placement, middlewareData } = floatingData;
|
|
34
|
-
const { getFloatingProps } = interactions;
|
|
35
|
-
const { t } = useTranslation('Shared', {
|
|
36
|
-
i18n: dsI18n
|
|
37
|
-
});
|
|
38
|
-
const side = placement.split('-')[0];
|
|
39
|
-
const colorClassName = styles[`popover_${color}`];
|
|
40
|
-
const arrowPositionClassName = styles[`popoverArrow_${side}`];
|
|
41
|
-
const mergedRef = useMergeRefs([
|
|
42
|
-
refs.setFloating,
|
|
43
|
-
ref
|
|
44
|
-
]);
|
|
45
|
-
const staticSide = {
|
|
46
|
-
top: 'bottom',
|
|
47
|
-
right: 'left',
|
|
48
|
-
bottom: 'top',
|
|
49
|
-
left: 'right'
|
|
50
|
-
}[side];
|
|
51
|
-
if (!isOpen) {
|
|
52
|
-
return null;
|
|
53
|
-
}
|
|
54
|
-
return /*#__PURE__*/ jsxs("div", {
|
|
55
|
-
...getFloatingProps(),
|
|
56
|
-
ref: mergedRef,
|
|
57
|
-
style: floatingStyles,
|
|
58
|
-
id: id,
|
|
59
|
-
lang: lang,
|
|
60
|
-
"data-testid": dataTestId,
|
|
61
|
-
className: `${styles.popover} ${colorClassName} ${className}`.trim(),
|
|
62
|
-
children: [
|
|
63
|
-
/*#__PURE__*/ jsxs("div", {
|
|
64
|
-
className: styles.popoverContent,
|
|
65
|
-
children: [
|
|
66
|
-
/*#__PURE__*/ jsx("div", {
|
|
67
|
-
className: styles.popoverContentWrapper,
|
|
68
|
-
children: children
|
|
69
|
-
}),
|
|
70
|
-
/*#__PURE__*/ jsx(IconButton, {
|
|
71
|
-
className: styles.popoverContentCloseButton,
|
|
72
|
-
svgPath: CancelSVGpath,
|
|
73
|
-
title: t('shared.Close'),
|
|
74
|
-
onClick: ()=>{
|
|
75
|
-
onClose?.();
|
|
76
|
-
setIsOpen(false);
|
|
77
|
-
if (shouldRestoreFocus) {
|
|
78
|
-
refs.domReference.current?.focus();
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
})
|
|
82
|
-
]
|
|
83
|
-
}),
|
|
84
|
-
/*#__PURE__*/ jsx("div", {
|
|
85
|
-
ref: arrowRef,
|
|
86
|
-
style: {
|
|
87
|
-
left: middlewareData.arrow?.x,
|
|
88
|
-
top: middlewareData.arrow?.y,
|
|
89
|
-
...staticSide ? {
|
|
90
|
-
[staticSide]: `-${(arrowRef.current?.offsetWidth ?? 0) / 2}px`
|
|
91
|
-
} : {}
|
|
92
|
-
},
|
|
93
|
-
className: `${styles.popoverArrow} ${arrowPositionClassName}`.trim()
|
|
94
|
-
})
|
|
95
|
-
]
|
|
96
|
-
});
|
|
97
|
-
};
|
|
98
|
-
PopoverContent.displayName = 'PopoverContent';
|
|
99
|
-
|
|
100
|
-
export { PopoverContent as P, getPopoverPositionDefault as a, getPopoverRestoreFocusDefault as b, getPopoverColorDefault as g };
|