@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.
@@ -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,13 @@
1
+ const modalPaddingArr = [
2
+ 'none',
3
+ 's',
4
+ 'm',
5
+ 'l',
6
+ 'mega'
7
+ ];
8
+ const modalVariantArr = [
9
+ 'outline',
10
+ 'plain'
11
+ ];
12
+
13
+ export { modalPaddingArr, modalVariantArr };
@@ -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 };
@@ -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', {
@@ -0,0 +1,9 @@
1
+ import { colorNamesArr } from '@skatteetaten/ds-core-utils';
2
+
3
+ const popoverColorArr = [
4
+ colorNamesArr[0],
5
+ colorNamesArr[1],
6
+ colorNamesArr[6]
7
+ ];
8
+
9
+ export { popoverColorArr };
@@ -0,0 +1,5 @@
1
+ const getPopoverColorDefault = ()=>'forest';
2
+ const getPopoverPositionDefault = ()=>'bottomStart';
3
+ const getPopoverRestoreFocusDefault = ()=>true;
4
+
5
+ export { getPopoverColorDefault, getPopoverPositionDefault, getPopoverRestoreFocusDefault };
@@ -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 { a as getPopoverPositionDefault, P as PopoverContent } from '../PopoverContent.esm.js';
6
- export { g as getPopoverColorDefault, b as getPopoverRestoreFocusDefault } from '../PopoverContent.esm.js';
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
- export { P as PopoverContent } from '../PopoverContent.esm.js';
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,6 @@
1
+ var styles = {
2
+ "rolePicker": "RolePicker-module_rolePicker__pTz4X",
3
+ "rolePickerFooter": "RolePicker-module_rolePickerFooter__64Pj-",
4
+ "container": "RolePicker-module_container__VtHRL"};
5
+
6
+ export { styles as default };
@@ -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 };
@@ -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 { Modal, getModalDismissOnOutsideClickDefault, getModalDismissOnEscDefault } from '../Modal/index.esm.js';
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 '@skatteetaten/ds-forms';
15
- import '@skatteetaten/ds-navigation';
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 '@skatteetaten/ds-navigation';
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 '@skatteetaten/ds-navigation';
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', {
@@ -0,0 +1,5 @@
1
+ var styles = {
2
+ "withAlert": "RolePickerRow-module_withAlert__DxPmf"
3
+ };
4
+
5
+ export { styles as default };
@@ -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: ()=>ctx?.setError(undefined),
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, getModalDismissOnEscDefault, getModalDismissOnOutsideClickDefault, getModalPaddingDefault, getModalVariantDefault } from './Modal/index.esm.js';
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
- import { colorNamesArr } from '@skatteetaten/ds-core-utils';
4
- export { RolePicker, getRolePickerHideCloseButtonDefault, getRolePickerMinimumEntitiesForSearchDefault, getRolePickerShowDeceasedPeopleDefault, getRolePickerShowInactiveBusinessesDefault, getRolePickerShowSubunitsDefault } from './RolePicker/index.esm.js';
5
- export { g as getPopoverColorDefault, a as getPopoverPositionDefault, b as getPopoverRestoreFocusDefault } from './PopoverContent.esm.js';
6
- import 'react/jsx-runtime';
7
- import 'react';
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.0.0",
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.0.0",
20
- "@skatteetaten/ds-buttons": "2.0.0",
21
- "@skatteetaten/ds-forms": "2.0.0",
22
- "@skatteetaten/ds-icons": "2.0.0",
23
- "@skatteetaten/ds-navigation": "2.0.0",
24
- "@skatteetaten/ds-typography": "2.0.0",
25
- "@skatteetaten/ds-progress": "2.0.0",
26
- "@skatteetaten/ds-status": "2.0.0",
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
- "@floating-ui/react": "0.26.28",
29
- "@skatteetaten/ds-content": "2.0.0"
28
+ "@skatteetaten/ds-content": "2.1.0",
29
+ "@floating-ui/react": "0.26.28"
30
30
  },
31
31
  "dependencies": {},
32
32
  "scripts": {}
@@ -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 };