@equinor/fusion-react-context-selector 0.3.1 → 0.4.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.
@@ -1 +1 @@
1
- {"version":3,"file":"ContextSearch.d.ts","sourceRoot":"","sources":["../src/ContextSearch.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAsB,MAAM,SAAS,CAAC;AAKtF,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,GAAG;IACtD,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;CACrC,CAAC;AAUF,eAAO,MAAM,aAAa,kEAMvB,MAAM,iBAAiB,CAAC,kBAAkB,CAAC,KAAG,WAmGhD,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ContextSearch.d.ts","sourceRoot":"","sources":["../src/ContextSearch.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAsB,MAAM,SAAS,CAAC;AAItF,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,GAAG;IACtD,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;CACrC,CAAC;AAUF,eAAO,MAAM,aAAa,kEAMvB,MAAM,iBAAiB,CAAC,kBAAkB,CAAC,KAAG,WAiIhD,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useCallback, useEffect, useRef, useState } from 'react';
3
- import { ContextSelector } from './ContextSelector';
2
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
3
  import { Icon } from '@equinor/fusion-react-icon';
5
- import { useStyles } from './ContextSearch.styles';
6
4
  import { clsx } from '@equinor/fusion-react-styles';
5
+ import { ContextSelector } from './ContextSelector';
6
+ import { useStyles } from './ContextSearch.styles';
7
7
  const defaultInitialItem = {
8
8
  id: 'temp-dev-id',
9
9
  title: 'Select Context',
@@ -12,11 +12,17 @@ const defaultInitialItem = {
12
12
  isDisabled: true,
13
13
  };
14
14
  export const ContextSearch = ({ children, onSelect, previewItem, onClearContext, ...props }) => {
15
- const initialItem = previewItem ? Object.assign(defaultInitialItem, previewItem) : defaultInitialItem;
15
+ const initialItem = previewItem ?? defaultInitialItem;
16
16
  const elementRef = useRef(null);
17
17
  const [ctx, setCtx] = useState(initialItem);
18
18
  const [gettingCtx, setGettingCtx] = useState(false);
19
19
  const styles = useStyles();
20
+ const [sdd, setSdd] = useState(null);
21
+ useMemo(() => {
22
+ if (previewItem) {
23
+ setCtx(previewItem);
24
+ }
25
+ }, [previewItem]);
20
26
  /* Extend onSelect and calls props.onSelect */
21
27
  const handleSelect = useCallback((selected) => {
22
28
  const item = selected.nativeEvent.detail.selected[0];
@@ -29,12 +35,16 @@ export const ContextSearch = ({ children, onSelect, previewItem, onClearContext,
29
35
  }, [setCtx, onSelect]);
30
36
  /* Clear context button handler */
31
37
  const handleClearContext = useCallback((event) => {
32
- setCtx(initialItem);
38
+ setCtx(defaultInitialItem);
39
+ /* Clean SearchableDropdown */
40
+ if (sdd) {
41
+ sdd.controller.closeClick(new Event('click'));
42
+ }
33
43
  /* Trigger props.onClearContext */
34
44
  if (onClearContext) {
35
45
  onClearContext(event);
36
46
  }
37
- }, [initialItem, onClearContext]);
47
+ }, [onClearContext, sdd]);
38
48
  /* extending the fwc-searchable-dropdown escape handler */
39
49
  const handleKeyup = useCallback((e) => {
40
50
  if (e.key === 'Escape') {
@@ -60,17 +70,30 @@ export const ContextSearch = ({ children, onSelect, previewItem, onClearContext,
60
70
  useEffect(() => {
61
71
  const ref = elementRef.current;
62
72
  if (ref) {
73
+ // reference to web element
74
+ setSdd(ref.querySelector('fwc-searchable-dropdown'));
63
75
  ref.addEventListener('dropdownClosed', () => {
64
76
  setGettingCtx(false);
65
77
  });
78
+ /* close selector on click outside */
79
+ document.documentElement.addEventListener('click', (e) => {
80
+ if (e.target.contains(elementRef.current)) {
81
+ setGettingCtx(false);
82
+ }
83
+ });
66
84
  }
67
85
  return () => {
68
86
  if (ref) {
69
87
  ref.removeEventListener('dropdownClosed', () => null);
70
88
  }
71
89
  };
72
- }, [elementRef]);
73
- return (_jsx("div", { ref: elementRef, className: styles.root, children: ctx && !gettingCtx ? (_jsxs("div", { className: styles.context, onKeyUp: () => handleKeyup, children: [_jsx("div", { className: styles.icon, children: ctx.graphic && _jsx(Icon, { icon: ctx.graphic }) }), _jsxs("div", { tabIndex: 0, className: styles.titleBlock, onClick: () => setGettingCtx(true), children: [_jsx("span", { className: styles.title, children: ctx.title }), _jsx("span", { className: styles.subTitle, children: ctx.subTitle })] }), _jsx("div", { className: styles.icon, children: ctx && !ctx.isDisabled && (_jsx("button", { className: clsx(styles.closeBtn), onClick: handleClearContext, children: _jsx(Icon, { icon: "close" }) })) })] })) : (_jsx(ContextSelector, { ...props, onSelect: handleSelect, children: children })) }));
90
+ }, [elementRef, sdd]);
91
+ useEffect(() => {
92
+ if (sdd && gettingCtx) {
93
+ sdd.focus();
94
+ }
95
+ }, [gettingCtx, sdd]);
96
+ return (_jsxs("div", { ref: elementRef, className: styles.root, children: [_jsx("div", { className: clsx(gettingCtx && styles.hidden), children: _jsxs("div", { className: styles.context, onKeyUp: () => handleKeyup, children: [_jsx("div", { className: styles.icon, children: ctx?.graphic && _jsx(Icon, { icon: ctx.graphic }) }), _jsxs("div", { tabIndex: 0, className: styles.titleBlock, onClick: () => setGettingCtx(true), children: [_jsx("span", { className: styles.title, children: ctx?.title }), _jsx("span", { className: styles.subTitle, children: ctx?.subTitle })] }), _jsx("div", { className: styles.icon, children: ctx && !ctx.isDisabled && (_jsx("button", { className: clsx(styles.closeBtn), onClick: handleClearContext, children: _jsx(Icon, { icon: "close" }) })) })] }) }), _jsx("div", { className: clsx(styles.ctxSelector, !gettingCtx ? styles.hidden : 'active'), children: _jsx(ContextSelector, { ...props, onSelect: handleSelect, children: children }) })] }));
74
97
  };
75
98
  export default ContextSearch;
76
99
  //# sourceMappingURL=ContextSearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextSearch.js","sourceRoot":"","sources":["../src/ContextSearch.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAOpD,MAAM,kBAAkB,GAAsB;IAC5C,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,gBAAgB;IACvB,QAAQ,EAAE,SAAS;IACnB,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,cAAc,EACd,GAAG,KAAK,EACoC,EAAe,EAAE;IAC7D,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;IACtG,MAAM,UAAU,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAA2B,WAAW,CAAC,CAAC;IACtE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAE7D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,8CAA8C;IAC9C,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,QAA4B,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAkC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,CAAC,IAAI,CAAC,CAAC;QACb,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,4BAA4B;QAC5B,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACpB;IACH,CAAC,EACD,CAAC,MAAM,EAAE,QAAQ,CAAC,CACnB,CAAC;IAEF,kCAAkC;IAClC,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,KAAK,EAAE,EAAE;QACR,MAAM,CAAC,WAAW,CAAC,CAAC;QACpB,kCAAkC;QAClC,IAAI,cAAc,EAAE;YAClB,cAAc,CAAC,KAAK,CAAC,CAAC;SACvB;IACH,CAAC,EACD,CAAC,WAAW,EAAE,cAAc,CAAC,CAC9B,CAAC;IAEF,0DAA0D;IAC1D,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,CAAgB,EAAE,EAAE;QACnB,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE;YACtB,aAAa,CAAC,KAAK,CAAC,CAAC;SACtB;QAED,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;YACtC,IAAK,CAAC,CAAC,MAAyB,EAAE,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;gBACrE,aAAa,CAAC,IAAI,CAAC,CAAC;aACrB;iBAAM,IAAK,CAAC,CAAC,MAA4B,EAAE,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBAC7E,kBAAkB,CAAC,CAAC,CAAC,CAAC;aACvB;YACD,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,CAAC,CAAC,cAAc,EAAE,CAAC;SACpB;IACH,CAAC,EACD,CAAC,kBAAkB,CAAC,CACrB,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC9C,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACnD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC;QAC/B,IAAI,GAAG,EAAE;YACP,GAAG,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,GAAG,EAAE;gBAC1C,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,EAAE;gBACP,GAAG,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;aACvD;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,OAAO,CACL,cAAK,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,YACzC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CACpB,eAAK,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,aACxD,cAAK,SAAS,EAAE,MAAM,CAAC,IAAI,YAAG,GAAG,CAAC,OAAO,IAAI,KAAC,IAAI,IAAC,IAAI,EAAE,GAAG,CAAC,OAAO,GAAI,GAAO,EAC/E,eAAK,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,aAChF,eAAM,SAAS,EAAE,MAAM,CAAC,KAAK,YAAG,GAAG,CAAC,KAAK,GAAQ,EACjD,eAAM,SAAS,EAAE,MAAM,CAAC,QAAQ,YAAG,GAAG,CAAC,QAAQ,GAAQ,IACnD,EACN,cAAK,SAAS,EAAE,MAAM,CAAC,IAAI,YACxB,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,CACzB,iBAAQ,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,kBAAkB,YACnE,KAAC,IAAI,IAAC,IAAI,EAAC,OAAO,GAAG,GACd,CACV,GACG,IACF,CACP,CAAC,CAAC,CAAC,CACF,KAAC,eAAe,OAAK,KAAK,EAAE,QAAQ,EAAE,YAAY,YAC/C,QAAQ,GACO,CACnB,GACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ContextSearch.js","sourceRoot":"","sources":["../src/ContextSearch.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export declare const useStyles: (props?: {} | undefined) => import("@material-ui/styles").ClassNameMap<"icon" | "root" | "closeBtn" | "context" | "titleBlock" | "title" | "subTitle">;
1
+ export declare const useStyles: (props?: {} | undefined) => import("@material-ui/styles").ClassNameMap<"hidden" | "icon" | "root" | "closeBtn" | "context" | "titleBlock" | "title" | "subTitle" | "ctxSelector">;
2
2
  export default useStyles;
3
3
  //# sourceMappingURL=ContextSearch.styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextSearch.styles.d.ts","sourceRoot":"","sources":["../src/ContextSearch.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,wJAuDrB,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"ContextSearch.styles.d.ts","sourceRoot":"","sources":["../src/ContextSearch.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,mLAsErB,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { createStyles, makeStyles } from '@equinor/fusion-react-styles';
2
2
  export const useStyles = makeStyles((theme) => createStyles({
3
3
  root: {
4
+ position: 'relative',
4
5
  width: '100%',
5
6
  margin: '0',
6
7
  color: theme.colors.text.static_icons__default.getVariable('color'),
@@ -50,6 +51,20 @@ export const useStyles = makeStyles((theme) => createStyles({
50
51
  fontSize: '0.8em',
51
52
  fontStyle: 'italic',
52
53
  },
54
+ ctxSelector: {
55
+ position: 'absolute',
56
+ top: 0,
57
+ left: 0,
58
+ width: '100%',
59
+ opacity: 1,
60
+ zIndex: -1,
61
+ '&.active': {
62
+ zIndex: 1,
63
+ },
64
+ },
65
+ hidden: {
66
+ opacity: 0,
67
+ },
53
68
  }), { name: 'fusion-header-context-selector' });
54
69
  export default useStyles;
55
70
  //# sourceMappingURL=ContextSearch.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextSearch.styles.js","sourceRoot":"","sources":["../src/ContextSearch.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAExE,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CACjC,CAAC,KAAK,EAAE,EAAE,CACR,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC;KACpE;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;QACpB,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,GAAG;KAChB;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,uBAAuB;QAC/B,YAAY,EAAE,6BAA6B;QAC3C,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC;QACrE,OAAO,EAAE,CAAC;QACV,SAAS,EAAE;YACT,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC;SAC5E;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,eAAe;QAC/B,UAAU,EAAE,SAAS;KACtB;IACD,UAAU,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,QAAQ;QACvB,UAAU,EAAE,YAAY;QACxB,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,uBAAuB;QAC/B,YAAY,EAAE,6BAA6B;QAC3C,OAAO,EAAE,QAAQ;QACjB,SAAS,EAAE;YACT,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC;SAC5E;KACF;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,MAAM;KACnB;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,QAAQ;KACpB;CACF,CAAC,EACJ,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAC3C,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"ContextSearch.styles.js","sourceRoot":"","sources":["../src/ContextSearch.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAExE,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CACjC,CAAC,KAAK,EAAE,EAAE,CACR,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC;KACpE;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;QACpB,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,GAAG;KAChB;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,uBAAuB;QAC/B,YAAY,EAAE,6BAA6B;QAC3C,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC;QACrE,OAAO,EAAE,CAAC;QACV,SAAS,EAAE;YACT,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC;SAC5E;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,MAAM;QACf,cAAc,EAAE,eAAe;QAC/B,UAAU,EAAE,SAAS;KACtB;IACD,UAAU,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,QAAQ;QACvB,UAAU,EAAE,YAAY;QACxB,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,uBAAuB;QAC/B,YAAY,EAAE,6BAA6B;QAC3C,OAAO,EAAE,QAAQ;QACjB,SAAS,EAAE;YACT,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC;SAC5E;KACF;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,MAAM;KACnB;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,QAAQ;KACpB;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,CAAC,CAAC;QACV,UAAU,EAAE;YACV,MAAM,EAAE,CAAC;SACV;KACF;IACD,MAAM,EAAE;QACN,OAAO,EAAE,CAAC;KACX;CACF,CAAC,EACJ,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAC3C,CAAC;AAEF,eAAe,SAAS,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { DropdownProps, SearchableDropdownResultItem, SearchableDropdownSelectEvent } from '@equinor/fusion-react-searchable-dropdown';
2
- export type ContextResultItem = Pick<SearchableDropdownResultItem, 'children' | 'graphic' | 'id' | 'isDisabled' | 'isError' | 'isSelected' | 'meta' | 'subTitle' | 'title' | 'type'>;
2
+ export type ContextResultItem = Pick<SearchableDropdownResultItem, keyof SearchableDropdownResultItem>;
3
3
  export type ContextResult = Array<ContextResultItem>;
4
4
  export type ContextSelectEvent = SearchableDropdownSelectEvent;
5
5
  export type ContextSelectorProps = DropdownProps;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,2CAA2C,CAAC;AAEnD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,4BAA4B,EAC5B,UAAU,GAAG,SAAS,GAAG,IAAI,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CACjH,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACrD,MAAM,MAAM,kBAAkB,GAAG,6BAA6B,CAAC;AAC/D,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAEjD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;IAC7E,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,2CAA2C,CAAC;AAEnD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,4BAA4B,EAAE,MAAM,4BAA4B,CAAC,CAAC;AACvG,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACrD,MAAM,MAAM,kBAAkB,GAAG,6BAA6B,CAAC;AAC/D,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAEjD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;IAC7E,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@equinor/fusion-react-context-selector",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "React component for context selector",
5
5
  "keywords": [
6
6
  "contextselector",
@@ -38,9 +38,9 @@
38
38
  },
39
39
  "dependencies": {
40
40
  "@equinor/fusion-react-icon": "^0.2.15",
41
- "@equinor/fusion-react-searchable-dropdown": "^0.3.1",
41
+ "@equinor/fusion-react-searchable-dropdown": "^0.3.3",
42
42
  "@equinor/fusion-react-styles": "^0.5.5",
43
43
  "@equinor/fusion-react-utils": "^2.0.4"
44
44
  },
45
- "gitHead": "4fcec893bf0d3bf2bd76551264a44d74ed4d18cf"
45
+ "gitHead": "dd8084fb48589f255e1c5ea9808ffb4d1fd0f7ab"
46
46
  }