@entur/tooltip 2.6.1 → 2.6.3
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/LICENSE.md +0 -71
- package/dist/Popover.d.ts +4 -4
- package/dist/Tooltip.d.ts +2 -2
- package/dist/styles.css +19 -19
- package/dist/tooltip.cjs.development.js +57 -93
- package/dist/tooltip.cjs.development.js.map +1 -1
- package/dist/tooltip.cjs.production.min.js +1 -1
- package/dist/tooltip.cjs.production.min.js.map +1 -1
- package/dist/tooltip.esm.js +57 -93
- package/dist/tooltip.esm.js.map +1 -1
- package/package.json +8 -8
- package/CHANGELOG.md +0 -454
package/LICENSE.md
CHANGED
|
@@ -208,74 +208,3 @@ The European Commission may update this Appendix to later versions of the above
|
|
|
208
208
|
a new version of the EUPL, as long as they provide the rights granted in Article 2 of this Licence and protect the
|
|
209
209
|
covered Source Code from exclusive appropriation.
|
|
210
210
|
All other changes or additions to this Appendix require the production of a new EUPL version.
|
|
211
|
-
|
|
212
|
-
# Standard Nucleo License
|
|
213
|
-
|
|
214
|
-
- Last updated: July 2, 2018
|
|
215
|
-
- [Github repo](https://github.com/NucleoApp/license-standard)
|
|
216
|
-
|
|
217
|
-
By purchasing the Nucleo icons, you have the right to:
|
|
218
|
-
|
|
219
|
-
- Use the Nucleo icons in unlimited personal and commercial projects, for yourself or a client, with no limitation to the number of impressions for your end product.
|
|
220
|
-
- Use the Nucleo icons in applications, software, UI/UX design, print, and logo design.
|
|
221
|
-
- Modify the Nucleo icons to create your icon variations.
|
|
222
|
-
|
|
223
|
-
You don't have the right to:
|
|
224
|
-
|
|
225
|
-
- Sublicense, resell, share, transfer, or otherwise redistribute the Nucleo icons (even for free or within a more complex downloadable file).
|
|
226
|
-
- Use the Nucleo icons in a product that is directly competitive with Nucleo.
|
|
227
|
-
|
|
228
|
-
## Limitations & Extended license
|
|
229
|
-
|
|
230
|
-
- **For each project, you can use a maximum of 250 Nucleo icons** (intended per unique style: for example, if you're using the same icon in both the outline and glyph styles, or in 2 different sizes, you're using 2 icons). You can lift this limit by purchasing an Extended License.
|
|
231
|
-
- If you're using Nucleo icons in templates, themes or plugins offered for sale, you can use a maximum of 100 Nucleo icons. You can lift this limit by purchasing an Extended License.
|
|
232
|
-
- If you're using the Nucleo icons in open source projects, you can use a maximum of 100 Nucleo icons.
|
|
233
|
-
- If you're interested in using the Nucleo icons in items offered for sale (or for free) where the Nucleo icons contribute to the core value of the product being sold/shared, you will need an Extended License (e.g., a CMS where users can browse the Nucleo icons and pick the ones to include in their design).
|
|
234
|
-
|
|
235
|
-
[Learn more about the Extended License](https://nucleoapp.com/extended-license)
|
|
236
|
-
|
|
237
|
-
## Freelance Projects & Contracted work
|
|
238
|
-
|
|
239
|
-
If you're working on a project for a client, you can share with your client a maximum of 250 Nucleo icons per project. You can't share the Nucleo source files unless the client purchases a license.
|
|
240
|
-
|
|
241
|
-
If the Nucleo icons contribute to the core value of the product being sold/shared, or if you (or your client) wish to include more than 250 icons in the project, the [Extended License](https://nucleoapp.com/extended-license) is required.
|
|
242
|
-
|
|
243
|
-
## Templates, Themes, UI Kits & Plugins
|
|
244
|
-
|
|
245
|
-
If you're using Nucleo icons in templates, themes or plugins offered for sale (e.g., UI kits, Wordpress Themes, HTML/CSS Templates), **you can include up to 100 icons in the downloadable source files**. This limitation applies to the icon fonts as well.
|
|
246
|
-
|
|
247
|
-
The downloadable source file has to include the [Nucleo Copyright Notice](https://nucleoapp.com/copyright-notice).
|
|
248
|
-
|
|
249
|
-
If the Nucleo icons contribute to the core value of the template, theme or plugin sold (e.g., a theme builder where users can browse Nucleo icons and pick the ones to include in their design), or if you wish to use more than 100 Nucleo icons, you will need an [Extended License](https://nucleoapp.com/extended-license).
|
|
250
|
-
|
|
251
|
-
It's not possible to purchase an Extended License if the template, theme or plugin is distributed for free.
|
|
252
|
-
|
|
253
|
-
If you're offering a free and pro version of your product, the free version cannot include more than 100 icons even if you purchased an Extended License to lift the limit. The Extended License applies only to the pro version of your product.
|
|
254
|
-
|
|
255
|
-
## Open source projects
|
|
256
|
-
|
|
257
|
-
If you're using the Nucleo icons in open source projects, **you can include up to 100 icons in the downloadable source files**. This limitation applies to the icon fonts as well.
|
|
258
|
-
|
|
259
|
-
The downloadable source file has to include the [Nucleo Copyright Notice](https://nucleoapp.com/copyright-notice).
|
|
260
|
-
|
|
261
|
-
It's not possible to purchase an Extended License for open source projects.
|
|
262
|
-
|
|
263
|
-
## Sharing Nucleo icons with team members
|
|
264
|
-
|
|
265
|
-
If you're the sole owner of a Nucleo license, you can share with your team members only the icons used in your work, with a maximum of 250 icons (e.g., if you're a designer, you can share with the developers of your team only the Nucleo icons used in your design files).
|
|
266
|
-
|
|
267
|
-
Your team members cannot reuse the Nucleo icons in other projects unless they purchase a license.
|
|
268
|
-
|
|
269
|
-
If more than one team member needs access to the Nucleo icons, you can consider purchasing a [team license](https://nucleoapp.com/pricing).
|
|
270
|
-
|
|
271
|
-
## Design systems
|
|
272
|
-
|
|
273
|
-
If you wish to include the Nucleo icons in a design system available on a public server, you can use a maximum of 250 Nucleo icons, even if your team purchased a Nucleo team license.
|
|
274
|
-
|
|
275
|
-
If the design system is accessible only by the members of your organization (e.g., is hosted on a password protected server), but you're the sole owner of a Nucleo license, you can share with your colleagues a maximum of 250 Nucleo icons.
|
|
276
|
-
|
|
277
|
-
If the design system is on a public server, you can lift the 250 icons limit by buying an [Extended License](https://nucleoapp.com/extended-license). However, please keep in mind you can't provide a link/button to download all the icons.
|
|
278
|
-
|
|
279
|
-
If your team purchased a Nucleo team license that covers all the users with access to the design system, and the design system is not public (e.g., is hosted on a password protected server), then there's no limitation to the number of icons that can be included.
|
|
280
|
-
|
|
281
|
-
If you're still unclear about what is or isn't allowed under this license, please contact us at info@nucleoapp.com.
|
package/dist/Popover.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Placement } from '@popperjs/core';
|
|
3
3
|
import './Popover.scss';
|
|
4
|
-
export
|
|
4
|
+
export type PopoverProps = {
|
|
5
5
|
/** Innholdet i Popover */
|
|
6
6
|
children: React.ReactNode;
|
|
7
7
|
/** Plasseringen av Popover
|
|
@@ -14,17 +14,17 @@ export declare type PopoverProps = {
|
|
|
14
14
|
setShowPopover?: React.Dispatch<React.SetStateAction<boolean>>;
|
|
15
15
|
};
|
|
16
16
|
export declare const Popover: React.FC<PopoverProps>;
|
|
17
|
-
export
|
|
17
|
+
export type PopoverTriggerProps = {
|
|
18
18
|
/** Knapp som skal brukes for å åpne Popover */
|
|
19
19
|
children: React.ReactElement;
|
|
20
20
|
};
|
|
21
21
|
export declare const PopoverTrigger: React.FC<PopoverTriggerProps>;
|
|
22
|
-
export
|
|
22
|
+
export type PopoverCloseButtonProps = {
|
|
23
23
|
/** En valgfri knapp som kan legges inn for å lukke Popover */
|
|
24
24
|
children: React.ReactElement;
|
|
25
25
|
};
|
|
26
26
|
export declare const PopoverCloseButton: React.FC<PopoverCloseButtonProps>;
|
|
27
|
-
export
|
|
27
|
+
export type PopoverContentProps = {
|
|
28
28
|
/**Innholdet til Popover */
|
|
29
29
|
children: React.ReactNode;
|
|
30
30
|
};
|
package/dist/Tooltip.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import './Tooltip.scss';
|
|
3
|
-
|
|
3
|
+
type Modifier = {
|
|
4
4
|
name: string;
|
|
5
5
|
enabled?: boolean;
|
|
6
6
|
requires?: Array<string>;
|
|
@@ -9,7 +9,7 @@ declare type Modifier = {
|
|
|
9
9
|
data?: Record<string, unknown>;
|
|
10
10
|
[key: string]: any;
|
|
11
11
|
};
|
|
12
|
-
export
|
|
12
|
+
export type TooltipProps = {
|
|
13
13
|
/** Plassering av tooltip-en */
|
|
14
14
|
placement: 'top' | 'top-left' | 'top-right' | 'left' | 'right' | 'bottom-left' | 'bottom' | 'bottom-right';
|
|
15
15
|
/** Innholdet i tooltip-boksen */
|
package/dist/styles.css
CHANGED
|
@@ -2,6 +2,25 @@
|
|
|
2
2
|
--eds-tooltip: 1;
|
|
3
3
|
}/* DO NOT CHANGE!*/
|
|
4
4
|
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
5
|
+
.eds-popover {
|
|
6
|
+
background: #181c56;
|
|
7
|
+
box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.25);
|
|
8
|
+
border-radius: 0.0625rem;
|
|
9
|
+
border: 0.0625rem solid #d1d3d3;
|
|
10
|
+
font-family: inherit;
|
|
11
|
+
z-index: 20;
|
|
12
|
+
}
|
|
13
|
+
.eds-contrast .eds-popover {
|
|
14
|
+
background: #292b6a;
|
|
15
|
+
box-shadow: 0 0.0625rem 0.1875rem #393d79;
|
|
16
|
+
}
|
|
17
|
+
.eds-popover--hidden {
|
|
18
|
+
display: none;
|
|
19
|
+
}
|
|
20
|
+
.eds-popover:focus {
|
|
21
|
+
outline: 5px solid red;
|
|
22
|
+
}/* DO NOT CHANGE!*/
|
|
23
|
+
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
5
24
|
.eds-tooltip-wrapper {
|
|
6
25
|
display: inline-block;
|
|
7
26
|
position: relative;
|
|
@@ -117,23 +136,4 @@
|
|
|
117
136
|
.eds-tooltip--bottom-end::after {
|
|
118
137
|
bottom: calc(100% - 0.25rem);
|
|
119
138
|
left: calc(100% - 1rem);
|
|
120
|
-
}/* DO NOT CHANGE!*/
|
|
121
|
-
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
122
|
-
.eds-popover {
|
|
123
|
-
background: #181c56;
|
|
124
|
-
box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.25);
|
|
125
|
-
border-radius: 0.0625rem;
|
|
126
|
-
border: 0.0625rem solid #d1d3d3;
|
|
127
|
-
font-family: inherit;
|
|
128
|
-
z-index: 20;
|
|
129
|
-
}
|
|
130
|
-
.eds-contrast .eds-popover {
|
|
131
|
-
background: #292b6a;
|
|
132
|
-
box-shadow: 0 0.0625rem 0.1875rem #393d79;
|
|
133
|
-
}
|
|
134
|
-
.eds-popover--hidden {
|
|
135
|
-
display: none;
|
|
136
|
-
}
|
|
137
|
-
.eds-popover:focus {
|
|
138
|
-
outline: 5px solid red;
|
|
139
139
|
}
|
|
@@ -16,80 +16,69 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
16
16
|
var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
|
|
17
17
|
|
|
18
18
|
function _extends() {
|
|
19
|
-
_extends = Object.assign
|
|
19
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
20
20
|
for (var i = 1; i < arguments.length; i++) {
|
|
21
21
|
var source = arguments[i];
|
|
22
|
-
|
|
23
22
|
for (var key in source) {
|
|
24
23
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
25
24
|
target[key] = source[key];
|
|
26
25
|
}
|
|
27
26
|
}
|
|
28
27
|
}
|
|
29
|
-
|
|
30
28
|
return target;
|
|
31
29
|
};
|
|
32
|
-
|
|
33
30
|
return _extends.apply(this, arguments);
|
|
34
31
|
}
|
|
35
|
-
|
|
36
32
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
37
33
|
if (source == null) return {};
|
|
38
34
|
var target = {};
|
|
39
35
|
var sourceKeys = Object.keys(source);
|
|
40
36
|
var key, i;
|
|
41
|
-
|
|
42
37
|
for (i = 0; i < sourceKeys.length; i++) {
|
|
43
38
|
key = sourceKeys[i];
|
|
44
39
|
if (excluded.indexOf(key) >= 0) continue;
|
|
45
40
|
target[key] = source[key];
|
|
46
41
|
}
|
|
47
|
-
|
|
48
42
|
return target;
|
|
49
43
|
}
|
|
50
44
|
|
|
51
45
|
var _excluded$1 = ["placement", "content", "children", "className", "isOpen", "disableHoverListener", "disableFocusListener", "showCloseButton", "variant", "popperModifiers"];
|
|
52
46
|
var Tooltip = function Tooltip(_ref) {
|
|
53
47
|
var placement = _ref.placement,
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
48
|
+
content = _ref.content,
|
|
49
|
+
children = _ref.children,
|
|
50
|
+
className = _ref.className,
|
|
51
|
+
_ref$isOpen = _ref.isOpen,
|
|
52
|
+
isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
|
|
53
|
+
_ref$disableHoverList = _ref.disableHoverListener,
|
|
54
|
+
disableHoverListener = _ref$disableHoverList === void 0 ? false : _ref$disableHoverList,
|
|
55
|
+
_ref$disableFocusList = _ref.disableFocusListener,
|
|
56
|
+
disableFocusListener = _ref$disableFocusList === void 0 ? false : _ref$disableFocusList,
|
|
57
|
+
_ref$showCloseButton = _ref.showCloseButton,
|
|
58
|
+
showCloseButton = _ref$showCloseButton === void 0 ? true : _ref$showCloseButton,
|
|
59
|
+
variant = _ref.variant,
|
|
60
|
+
_ref$popperModifiers = _ref.popperModifiers,
|
|
61
|
+
popperModifiers = _ref$popperModifiers === void 0 ? [{
|
|
62
|
+
name: 'offset',
|
|
63
|
+
options: {
|
|
64
|
+
offset: [0, 10]
|
|
65
|
+
}
|
|
66
|
+
}] : _ref$popperModifiers,
|
|
67
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
|
|
75
68
|
var _useState = React.useState(isOpen || false),
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
69
|
+
showTooltip = _useState[0],
|
|
70
|
+
setShowTooltip = _useState[1];
|
|
79
71
|
var hoverTimer;
|
|
80
|
-
|
|
81
72
|
var handleOpen = function handleOpen(event) {
|
|
82
73
|
event.persist();
|
|
83
74
|
hoverTimer = setTimeout(function () {
|
|
84
75
|
setShowTooltip(true);
|
|
85
76
|
}, 150);
|
|
86
77
|
};
|
|
87
|
-
|
|
88
78
|
var onMouseExit = function onMouseExit() {
|
|
89
79
|
setShowTooltip(false);
|
|
90
80
|
clearTimeout(hoverTimer);
|
|
91
81
|
};
|
|
92
|
-
|
|
93
82
|
React__default["default"].useEffect(function () {
|
|
94
83
|
return function () {
|
|
95
84
|
clearTimeout(hoverTimer);
|
|
@@ -105,40 +94,32 @@ var Tooltip = function Tooltip(_ref) {
|
|
|
105
94
|
}
|
|
106
95
|
}, [content]);
|
|
107
96
|
var popperPlacement = placement;
|
|
108
|
-
|
|
109
97
|
if (placement.includes('-')) {
|
|
110
98
|
if (placement.includes('right')) {
|
|
111
99
|
popperPlacement = placement.replace('right', 'end');
|
|
112
100
|
}
|
|
113
|
-
|
|
114
101
|
if (placement.includes('left')) {
|
|
115
102
|
popperPlacement = placement.replace('left', 'start');
|
|
116
103
|
}
|
|
117
104
|
}
|
|
118
|
-
|
|
119
105
|
var childProps = {};
|
|
120
106
|
childProps['aria-describedby'] = tooltipId;
|
|
121
|
-
|
|
122
107
|
if (!disableFocusListener) {
|
|
123
108
|
childProps.onFocus = function () {
|
|
124
109
|
return setShowTooltip(true);
|
|
125
110
|
};
|
|
126
|
-
|
|
127
111
|
childProps.onBlur = function () {
|
|
128
112
|
return setShowTooltip(false);
|
|
129
113
|
};
|
|
130
114
|
}
|
|
131
|
-
|
|
132
115
|
if (!disableHoverListener) {
|
|
133
116
|
childProps.onMouseEnter = function (e) {
|
|
134
117
|
return handleOpen(e);
|
|
135
118
|
};
|
|
136
|
-
|
|
137
119
|
childProps.onMouseLeave = function () {
|
|
138
120
|
return onMouseExit();
|
|
139
121
|
};
|
|
140
122
|
}
|
|
141
|
-
|
|
142
123
|
return React__default["default"].createElement(reactPopper.Manager, null, React__default["default"].createElement(reactPopper.Reference, null, function (_ref2) {
|
|
143
124
|
var ref = _ref2.ref;
|
|
144
125
|
return React.cloneElement(children, _extends({
|
|
@@ -152,8 +133,8 @@ var Tooltip = function Tooltip(_ref) {
|
|
|
152
133
|
placement: popperPlacement
|
|
153
134
|
}, function (_ref3) {
|
|
154
135
|
var ref = _ref3.ref,
|
|
155
|
-
|
|
156
|
-
|
|
136
|
+
style = _ref3.style,
|
|
137
|
+
popperPlacement = _ref3.placement;
|
|
157
138
|
return React__default["default"].createElement("div", _extends({
|
|
158
139
|
className: classNames__default["default"]('eds-tooltip', className, "eds-tooltip--" + popperPlacement, {
|
|
159
140
|
'eds-tooltip--error': variant === 'error'
|
|
@@ -174,58 +155,48 @@ var Tooltip = function Tooltip(_ref) {
|
|
|
174
155
|
|
|
175
156
|
var _excluded = ["children"];
|
|
176
157
|
var PopoverContext = /*#__PURE__*/React.createContext(undefined);
|
|
177
|
-
|
|
178
158
|
var usePopoverContext = function usePopoverContext() {
|
|
179
159
|
var context = React.useContext(PopoverContext);
|
|
180
|
-
|
|
181
160
|
if (context == null) {
|
|
182
161
|
throw Error('usePopoverContext must be used within <Popover/>');
|
|
183
162
|
}
|
|
184
|
-
|
|
185
163
|
return context;
|
|
186
164
|
};
|
|
187
|
-
|
|
188
165
|
var useCustomState = function useCustomState(state, setState) {
|
|
189
166
|
var _React$useState = React__default["default"].useState(false),
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
167
|
+
internalState = _React$useState[0],
|
|
168
|
+
setInternalState = _React$useState[1];
|
|
193
169
|
var controlled = state !== undefined && setState !== undefined;
|
|
194
170
|
if (controlled) return [state, setState, controlled];
|
|
195
171
|
return [internalState, setInternalState, controlled];
|
|
196
172
|
};
|
|
197
|
-
|
|
198
173
|
var Popover = function Popover(_ref) {
|
|
199
174
|
var children = _ref.children,
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
175
|
+
_ref$placement = _ref.placement,
|
|
176
|
+
placement = _ref$placement === void 0 ? 'bottom-start' : _ref$placement,
|
|
177
|
+
controlledState = _ref.showPopover,
|
|
178
|
+
setControlledState = _ref.setShowPopover;
|
|
205
179
|
var _useCustomState = useCustomState(controlledState, setControlledState),
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
180
|
+
showPopover = _useCustomState[0],
|
|
181
|
+
setShowPopover = _useCustomState[1],
|
|
182
|
+
controlled = _useCustomState[2];
|
|
210
183
|
var triggerElement = React__default["default"].useRef(null);
|
|
211
184
|
var contentElement = React__default["default"].useRef(null);
|
|
212
|
-
|
|
213
185
|
var _usePopper = reactPopper.usePopper(triggerElement.current, contentElement.current, {
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
186
|
+
modifiers: [{
|
|
187
|
+
name: 'arrow',
|
|
188
|
+
enabled: false
|
|
189
|
+
}, {
|
|
190
|
+
name: 'offset',
|
|
191
|
+
options: {
|
|
192
|
+
offset: [0, 8]
|
|
193
|
+
}
|
|
194
|
+
}],
|
|
195
|
+
placement: placement
|
|
196
|
+
}),
|
|
197
|
+
styles = _usePopper.styles,
|
|
198
|
+
attributes = _usePopper.attributes,
|
|
199
|
+
forceUpdate = _usePopper.forceUpdate;
|
|
229
200
|
React__default["default"].useEffect(function () {
|
|
230
201
|
if (forceUpdate) {
|
|
231
202
|
forceUpdate();
|
|
@@ -267,8 +238,8 @@ var Popover = function Popover(_ref) {
|
|
|
267
238
|
}
|
|
268
239
|
},
|
|
269
240
|
onBlur: function onBlur(event) {
|
|
270
|
-
var elementReceivingFocus = event.relatedTarget;
|
|
271
|
-
|
|
241
|
+
var elementReceivingFocus = event.relatedTarget;
|
|
242
|
+
// The check for 'tabindex=-1' is a special case for focus handling in Docz
|
|
272
243
|
if (!elementReceivingFocus || elementReceivingFocus.getAttribute('tabindex') === '-1') return;
|
|
273
244
|
var focusElementIsPopover = elementContainsElement(contentElement.current, elementReceivingFocus);
|
|
274
245
|
var focusElementIsTrigger = elementContainsElement(triggerElement.current, elementReceivingFocus);
|
|
@@ -294,31 +265,25 @@ var Popover = function Popover(_ref) {
|
|
|
294
265
|
};
|
|
295
266
|
var PopoverTrigger = function PopoverTrigger(_ref2) {
|
|
296
267
|
var children = _ref2.children;
|
|
297
|
-
|
|
298
268
|
var _usePopoverContext = usePopoverContext(),
|
|
299
|
-
|
|
300
|
-
|
|
269
|
+
triggerProps = _usePopoverContext.triggerProps;
|
|
301
270
|
var child = React__default["default"].Children.only(children);
|
|
302
271
|
return React.cloneElement(child, triggerProps());
|
|
303
272
|
};
|
|
304
273
|
var PopoverCloseButton = function PopoverCloseButton(_ref3) {
|
|
305
274
|
var children = _ref3.children,
|
|
306
|
-
|
|
307
|
-
|
|
275
|
+
rest = _objectWithoutPropertiesLoose(_ref3, _excluded);
|
|
308
276
|
var _usePopoverContext2 = usePopoverContext(),
|
|
309
|
-
|
|
310
|
-
|
|
277
|
+
closeButtonProps = _usePopoverContext2.closeButtonProps;
|
|
311
278
|
return React.cloneElement(children, _extends({}, closeButtonProps, rest));
|
|
312
279
|
};
|
|
313
280
|
var PopoverContent = /*#__PURE__*/React__default["default"].forwardRef(function (_ref4, ref) {
|
|
314
281
|
var children = _ref4.children;
|
|
315
|
-
|
|
316
282
|
var _usePopoverContext3 = usePopoverContext(),
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
283
|
+
showPopover = _usePopoverContext3.showPopover,
|
|
284
|
+
attributes = _usePopoverContext3.attributes,
|
|
285
|
+
styles = _usePopoverContext3.styles,
|
|
286
|
+
popoverContentProps = _usePopoverContext3.popoverContentProps;
|
|
322
287
|
var props = popoverContentProps({
|
|
323
288
|
ref: ref
|
|
324
289
|
});
|
|
@@ -330,7 +295,6 @@ var PopoverContent = /*#__PURE__*/React__default["default"].forwardRef(function
|
|
|
330
295
|
"aria-hidden": !showPopover
|
|
331
296
|
}, attributes.styles, props), children);
|
|
332
297
|
});
|
|
333
|
-
|
|
334
298
|
function elementContainsElement(parent, child) {
|
|
335
299
|
if (!parent) return false;
|
|
336
300
|
return parent === child || parent.contains(child);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.cjs.development.js","sources":["../src/Tooltip.tsx","../src/Popover.tsx","../src/index.tsx"],"sourcesContent":["import React, { cloneElement, useState } from 'react';\nimport { Manager, Reference, Popper } from 'react-popper';\nimport classNames from 'classnames';\nimport { useRandomId } from '@entur/utils';\nimport { Placement as PopperPlacementProps } from '@popperjs/core';\nimport { CloseIcon } from '@entur/icons';\nimport { IconButton } from '@entur/button';\nimport './Tooltip.scss';\n\ntype Modifier = {\n name: string;\n enabled?: boolean;\n requires?: Array<string>;\n requiresIfExists?: Array<string>;\n options?: Record<string, unknown>;\n data?: Record<string, unknown>;\n [key: string]: any;\n};\n\nexport type TooltipProps = {\n /** Plassering av tooltip-en */\n placement:\n | 'top'\n | 'top-left'\n | 'top-right'\n | 'left'\n | 'right'\n | 'bottom-left' // bottom-start\n | 'bottom'\n | 'bottom-right'; // bottom-end\n /** Innholdet i tooltip-boksen */\n content: React.ReactNode;\n /** Elementet som skal ha tooltip-funksjonalitet */\n children: React.ReactElement;\n /** Om tooltipen skal vises */\n isOpen?: boolean;\n /** Ekstra klassenavn for tooltip */\n className?: string;\n /** Åpner ikke tooltip ved hover-events\n * @default false\n */\n disableHoverListener?: boolean;\n /** Åpner ikke tooltip ved focus-events\n * @default false\n */\n disableFocusListener?: boolean;\n /** Viser en lukkeknapp om man kontrollerer åpningen av Tooltip vha `isOpen`\n * @default true\n */\n showCloseButton?: boolean;\n /** Valideringsvariant for Tooltip */\n variant?: 'error';\n /** En array av modifiers som sendes til Popper, rammeverket som brukes til plassering av Tooltip\n * @default [{ name: 'offset', options: { offset: [0, 10]} }]\n */\n popperModifiers?: Modifier[];\n [key: string]: any;\n};\n\nexport const Tooltip: React.FC<TooltipProps> = ({\n placement,\n content,\n children,\n className,\n isOpen = false,\n disableHoverListener = false,\n disableFocusListener = false,\n showCloseButton = true,\n variant,\n popperModifiers = [\n {\n name: 'offset',\n options: { offset: [0, 10] },\n },\n ],\n ...rest\n}) => {\n const [showTooltip, setShowTooltip] = useState(isOpen || false);\n let hoverTimer: ReturnType<typeof setTimeout>;\n\n const handleOpen: (event: React.MouseEvent) => void = event => {\n event.persist();\n hoverTimer = setTimeout(() => {\n setShowTooltip(true);\n }, 150);\n };\n const onMouseExit: () => void = () => {\n setShowTooltip(false);\n clearTimeout(hoverTimer);\n };\n React.useEffect(() => {\n return () => {\n clearTimeout(hoverTimer);\n };\n });\n\n const tooltipId = useRandomId('eds-tooltip');\n React.useEffect(() => {\n setShowTooltip(isOpen);\n }, [isOpen]);\n\n React.useEffect(() => {\n if (!content) {\n setShowTooltip(false);\n }\n }, [content]);\n\n let popperPlacement = placement as PopperPlacementProps;\n if (placement.includes('-')) {\n if (placement.includes('right')) {\n popperPlacement = placement.replace(\n 'right',\n 'end',\n ) as PopperPlacementProps;\n }\n if (placement.includes('left')) {\n popperPlacement = placement.replace(\n 'left',\n 'start',\n ) as PopperPlacementProps;\n }\n }\n\n const childProps: {\n 'aria-describedby'?: string;\n onFocus?: () => void;\n onBlur?: () => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseLeave?: () => void;\n } = {};\n childProps['aria-describedby'] = tooltipId;\n if (!disableFocusListener) {\n childProps.onFocus = () => setShowTooltip(true);\n childProps.onBlur = () => setShowTooltip(false);\n }\n if (!disableHoverListener) {\n childProps.onMouseEnter = e => handleOpen(e);\n childProps.onMouseLeave = () => onMouseExit();\n }\n\n return (\n <Manager>\n <Reference>\n {({ ref }) =>\n cloneElement(children, {\n ref: ref,\n ...childProps,\n })\n }\n </Reference>\n {showTooltip && (\n <Popper\n modifiers={[{ name: 'arrow', enabled: false }, ...popperModifiers]}\n placement={popperPlacement}\n >\n {({ ref, style, placement: popperPlacement }) => (\n <div\n className={classNames(\n 'eds-tooltip',\n className,\n `eds-tooltip--${popperPlacement}`,\n { 'eds-tooltip--error': variant === 'error' },\n )}\n ref={ref}\n style={style}\n role=\"tooltip\"\n id={tooltipId}\n data-placement={popperPlacement}\n {...rest}\n >\n {content}\n {isOpen && showCloseButton && (\n <IconButton\n className=\"eds-tooltip__close-button\"\n onClick={() => setShowTooltip(false)}\n >\n <CloseIcon />\n </IconButton>\n )}\n </div>\n )}\n </Popper>\n )}\n </Manager>\n );\n};\n","import React, { cloneElement, createContext, useContext } from 'react';\n\nimport { usePopper } from 'react-popper';\nimport { Placement } from '@popperjs/core';\nimport classNames from 'classnames';\n\nimport { Contrast } from '@entur/layout';\nimport { useOnClickOutside } from '@entur/utils';\n\nimport './Popover.scss';\n\ntype PopoverContentCallbackProps = {\n ref: React.Ref<HTMLDivElement>;\n};\n\ntype PopoverContextProps = {\n showPopover: boolean;\n triggerElement?: React.RefObject<HTMLButtonElement>;\n contentElement: React.RefObject<HTMLDivElement>;\n styles: { [key: string]: React.CSSProperties };\n attributes: { [key: string]: { [key: string]: string } | undefined };\n closeButtonProps: Record<string, unknown>;\n popoverContentProps: (\n e: PopoverContentCallbackProps,\n ) => Record<string, unknown>;\n triggerProps: () => Record<string, unknown>;\n [key: string]: any;\n};\n\nconst PopoverContext = createContext<PopoverContextProps | undefined>(\n undefined,\n);\nconst usePopoverContext = () => {\n const context = useContext(PopoverContext);\n if (context == null) {\n throw Error('usePopoverContext must be used within <Popover/>');\n }\n return context;\n};\n\nconst useCustomState = (\n state?: boolean,\n setState?: React.Dispatch<React.SetStateAction<boolean>>,\n): [boolean, React.Dispatch<React.SetStateAction<boolean>>, boolean] => {\n const [internalState, setInternalState] = React.useState<boolean>(false);\n const controlled = state !== undefined && setState !== undefined;\n if (controlled) return [state, setState, controlled];\n return [internalState, setInternalState, controlled];\n};\n\nexport type PopoverProps = {\n /** Innholdet i Popover */\n children: React.ReactNode;\n /** Plasseringen av Popover\n * @default \"bottom-start\"\n */\n placement?: Placement;\n /** Hvis du ønsker å styre state selv kan du sende inn state her */\n showPopover?: boolean;\n /** Hvis du ønsker å styre state selv kan du sende inn setState her */\n setShowPopover?: React.Dispatch<React.SetStateAction<boolean>>;\n};\n\nexport const Popover: React.FC<PopoverProps> = ({\n children,\n placement = 'bottom-start',\n showPopover: controlledState,\n setShowPopover: setControlledState,\n}) => {\n const [showPopover, setShowPopover, controlled] = useCustomState(\n controlledState,\n setControlledState,\n );\n const triggerElement = React.useRef(null);\n const contentElement = React.useRef(null);\n\n const { styles, attributes, forceUpdate } = usePopper(\n triggerElement.current,\n contentElement.current,\n {\n modifiers: [\n { name: 'arrow', enabled: false },\n {\n name: 'offset',\n options: {\n offset: [0, 8],\n },\n },\n ],\n placement: placement,\n },\n );\n\n React.useEffect(() => {\n if (forceUpdate) {\n forceUpdate();\n }\n }, [showPopover, forceUpdate]);\n\n const triggerProps = React.useCallback(() => {\n const buttonProps = {\n 'aria-haspopup': 'dialog',\n 'aria-expanded': showPopover,\n ref: triggerElement,\n };\n const buttonOnClick = {\n onClick: (e: React.MouseEvent) => {\n e.preventDefault();\n setShowPopover(prev => !prev);\n },\n };\n return controlled ? buttonProps : { ...buttonProps, ...buttonOnClick };\n }, [triggerElement, showPopover, setShowPopover, controlled]);\n\n useOnClickOutside([contentElement, triggerElement], () =>\n setShowPopover(false),\n );\n const closeButtonProps = {\n onClick: (e: React.MouseEvent) => {\n e.preventDefault();\n setShowPopover(false);\n },\n };\n const popoverContentProps = React.useCallback(() => {\n const contentProps = {\n role: 'dialog',\n 'aria-modal': 'false',\n ref: contentElement,\n onKeyDown: (event: React.KeyboardEvent) => {\n if (event.key === 'Escape') {\n showPopover && setShowPopover(false);\n }\n },\n onBlur: (event: React.FocusEvent) => {\n const elementReceivingFocus = event.relatedTarget as HTMLElement;\n // The check for 'tabindex=-1' is a special case for focus handling in Docz\n if (\n !elementReceivingFocus ||\n elementReceivingFocus.getAttribute('tabindex') === '-1'\n )\n return;\n const focusElementIsPopover = elementContainsElement(\n contentElement.current,\n elementReceivingFocus,\n );\n const focusElementIsTrigger = elementContainsElement(\n triggerElement.current,\n elementReceivingFocus,\n );\n const isValidBlur = !focusElementIsPopover && !focusElementIsTrigger;\n if (showPopover && isValidBlur) setShowPopover(false);\n },\n };\n return contentProps;\n }, [contentElement, showPopover, setShowPopover]);\n const contextValue: PopoverContextProps = {\n showPopover,\n triggerElement,\n contentElement,\n styles,\n attributes,\n popoverContentProps,\n closeButtonProps,\n triggerProps,\n };\n return (\n <PopoverContext.Provider value={contextValue}>\n {children}\n </PopoverContext.Provider>\n );\n};\n\nexport type PopoverTriggerProps = {\n /** Knapp som skal brukes for å åpne Popover */\n children: React.ReactElement;\n};\n\nexport const PopoverTrigger: React.FC<PopoverTriggerProps> = ({ children }) => {\n const { triggerProps } = usePopoverContext();\n const child = React.Children.only(children) as React.ReactElement<any>;\n return cloneElement(child, triggerProps());\n};\n\nexport type PopoverCloseButtonProps = {\n /** En valgfri knapp som kan legges inn for å lukke Popover */\n children: React.ReactElement;\n};\n\nexport const PopoverCloseButton: React.FC<PopoverCloseButtonProps> = ({\n children,\n ...rest\n}) => {\n const { closeButtonProps } = usePopoverContext();\n return cloneElement(children, { ...closeButtonProps, ...rest });\n};\n\nexport type PopoverContentProps = {\n /**Innholdet til Popover */\n children: React.ReactNode;\n};\n\nexport const PopoverContent = React.forwardRef<\n HTMLDivElement,\n PopoverContentProps\n>(({ children }, ref: React.Ref<HTMLDivElement>) => {\n const { showPopover, attributes, styles, popoverContentProps } =\n usePopoverContext();\n const props = popoverContentProps({ ref });\n return (\n <Contrast\n className={classNames(\n 'eds-popover',\n {\n 'eds-popover--hidden': !showPopover,\n },\n 'eds-contrast',\n )}\n style={styles.popper}\n aria-hidden={!showPopover}\n {...attributes.styles}\n {...props}\n >\n {children}\n </Contrast>\n );\n});\n\nfunction elementContainsElement(\n parent: HTMLElement | null,\n child: HTMLElement,\n) {\n if (!parent) return false;\n return parent === child || parent.contains(child);\n}\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('tooltip');\n\nexport * from './Tooltip';\nexport * from './Popover';\n"],"names":["Tooltip","placement","content","children","className","isOpen","disableHoverListener","disableFocusListener","showCloseButton","variant","popperModifiers","name","options","offset","rest","useState","showTooltip","setShowTooltip","hoverTimer","handleOpen","event","persist","setTimeout","onMouseExit","clearTimeout","React","useEffect","tooltipId","useRandomId","popperPlacement","includes","replace","childProps","onFocus","onBlur","onMouseEnter","e","onMouseLeave","Manager","Reference","ref","cloneElement","Popper","modifiers","enabled","style","classNames","role","id","IconButton","onClick","CloseIcon","PopoverContext","createContext","undefined","usePopoverContext","context","useContext","Error","useCustomState","state","setState","internalState","setInternalState","controlled","Popover","controlledState","showPopover","setControlledState","setShowPopover","triggerElement","useRef","contentElement","usePopper","current","styles","attributes","forceUpdate","triggerProps","useCallback","buttonProps","buttonOnClick","preventDefault","prev","useOnClickOutside","closeButtonProps","popoverContentProps","contentProps","onKeyDown","key","elementReceivingFocus","relatedTarget","getAttribute","focusElementIsPopover","elementContainsElement","focusElementIsTrigger","isValidBlur","contextValue","Provider","value","PopoverTrigger","child","Children","only","PopoverCloseButton","PopoverContent","forwardRef","props","Contrast","popper","parent","contains","warnAboutMissingStyles"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tooltip.cjs.development.js","sources":["../src/Tooltip.tsx","../src/Popover.tsx","../src/index.tsx"],"sourcesContent":["import React, { cloneElement, useState } from 'react';\nimport { Manager, Reference, Popper } from 'react-popper';\nimport classNames from 'classnames';\nimport { useRandomId } from '@entur/utils';\nimport { Placement as PopperPlacementProps } from '@popperjs/core';\nimport { CloseIcon } from '@entur/icons';\nimport { IconButton } from '@entur/button';\nimport './Tooltip.scss';\n\ntype Modifier = {\n name: string;\n enabled?: boolean;\n requires?: Array<string>;\n requiresIfExists?: Array<string>;\n options?: Record<string, unknown>;\n data?: Record<string, unknown>;\n [key: string]: any;\n};\n\nexport type TooltipProps = {\n /** Plassering av tooltip-en */\n placement:\n | 'top'\n | 'top-left'\n | 'top-right'\n | 'left'\n | 'right'\n | 'bottom-left' // bottom-start\n | 'bottom'\n | 'bottom-right'; // bottom-end\n /** Innholdet i tooltip-boksen */\n content: React.ReactNode;\n /** Elementet som skal ha tooltip-funksjonalitet */\n children: React.ReactElement;\n /** Om tooltipen skal vises */\n isOpen?: boolean;\n /** Ekstra klassenavn for tooltip */\n className?: string;\n /** Åpner ikke tooltip ved hover-events\n * @default false\n */\n disableHoverListener?: boolean;\n /** Åpner ikke tooltip ved focus-events\n * @default false\n */\n disableFocusListener?: boolean;\n /** Viser en lukkeknapp om man kontrollerer åpningen av Tooltip vha `isOpen`\n * @default true\n */\n showCloseButton?: boolean;\n /** Valideringsvariant for Tooltip */\n variant?: 'error';\n /** En array av modifiers som sendes til Popper, rammeverket som brukes til plassering av Tooltip\n * @default [{ name: 'offset', options: { offset: [0, 10]} }]\n */\n popperModifiers?: Modifier[];\n [key: string]: any;\n};\n\nexport const Tooltip: React.FC<TooltipProps> = ({\n placement,\n content,\n children,\n className,\n isOpen = false,\n disableHoverListener = false,\n disableFocusListener = false,\n showCloseButton = true,\n variant,\n popperModifiers = [\n {\n name: 'offset',\n options: { offset: [0, 10] },\n },\n ],\n ...rest\n}) => {\n const [showTooltip, setShowTooltip] = useState(isOpen || false);\n let hoverTimer: ReturnType<typeof setTimeout>;\n\n const handleOpen: (event: React.MouseEvent) => void = event => {\n event.persist();\n hoverTimer = setTimeout(() => {\n setShowTooltip(true);\n }, 150);\n };\n const onMouseExit: () => void = () => {\n setShowTooltip(false);\n clearTimeout(hoverTimer);\n };\n React.useEffect(() => {\n return () => {\n clearTimeout(hoverTimer);\n };\n });\n\n const tooltipId = useRandomId('eds-tooltip');\n React.useEffect(() => {\n setShowTooltip(isOpen);\n }, [isOpen]);\n\n React.useEffect(() => {\n if (!content) {\n setShowTooltip(false);\n }\n }, [content]);\n\n let popperPlacement = placement as PopperPlacementProps;\n if (placement.includes('-')) {\n if (placement.includes('right')) {\n popperPlacement = placement.replace(\n 'right',\n 'end',\n ) as PopperPlacementProps;\n }\n if (placement.includes('left')) {\n popperPlacement = placement.replace(\n 'left',\n 'start',\n ) as PopperPlacementProps;\n }\n }\n\n const childProps: {\n 'aria-describedby'?: string;\n onFocus?: () => void;\n onBlur?: () => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseLeave?: () => void;\n } = {};\n childProps['aria-describedby'] = tooltipId;\n if (!disableFocusListener) {\n childProps.onFocus = () => setShowTooltip(true);\n childProps.onBlur = () => setShowTooltip(false);\n }\n if (!disableHoverListener) {\n childProps.onMouseEnter = e => handleOpen(e);\n childProps.onMouseLeave = () => onMouseExit();\n }\n\n return (\n <Manager>\n <Reference>\n {({ ref }) =>\n cloneElement(children, {\n ref: ref,\n ...childProps,\n })\n }\n </Reference>\n {showTooltip && (\n <Popper\n modifiers={[{ name: 'arrow', enabled: false }, ...popperModifiers]}\n placement={popperPlacement}\n >\n {({ ref, style, placement: popperPlacement }) => (\n <div\n className={classNames(\n 'eds-tooltip',\n className,\n `eds-tooltip--${popperPlacement}`,\n { 'eds-tooltip--error': variant === 'error' },\n )}\n ref={ref}\n style={style}\n role=\"tooltip\"\n id={tooltipId}\n data-placement={popperPlacement}\n {...rest}\n >\n {content}\n {isOpen && showCloseButton && (\n <IconButton\n className=\"eds-tooltip__close-button\"\n onClick={() => setShowTooltip(false)}\n >\n <CloseIcon />\n </IconButton>\n )}\n </div>\n )}\n </Popper>\n )}\n </Manager>\n );\n};\n","import React, { cloneElement, createContext, useContext } from 'react';\n\nimport { usePopper } from 'react-popper';\nimport { Placement } from '@popperjs/core';\nimport classNames from 'classnames';\n\nimport { Contrast } from '@entur/layout';\nimport { useOnClickOutside } from '@entur/utils';\n\nimport './Popover.scss';\n\ntype PopoverContentCallbackProps = {\n ref: React.Ref<HTMLDivElement>;\n};\n\ntype PopoverContextProps = {\n showPopover: boolean;\n triggerElement?: React.RefObject<HTMLButtonElement>;\n contentElement: React.RefObject<HTMLDivElement>;\n styles: { [key: string]: React.CSSProperties };\n attributes: { [key: string]: { [key: string]: string } | undefined };\n closeButtonProps: Record<string, unknown>;\n popoverContentProps: (\n e: PopoverContentCallbackProps,\n ) => Record<string, unknown>;\n triggerProps: () => Record<string, unknown>;\n [key: string]: any;\n};\n\nconst PopoverContext = createContext<PopoverContextProps | undefined>(\n undefined,\n);\nconst usePopoverContext = () => {\n const context = useContext(PopoverContext);\n if (context == null) {\n throw Error('usePopoverContext must be used within <Popover/>');\n }\n return context;\n};\n\nconst useCustomState = (\n state?: boolean,\n setState?: React.Dispatch<React.SetStateAction<boolean>>,\n): [boolean, React.Dispatch<React.SetStateAction<boolean>>, boolean] => {\n const [internalState, setInternalState] = React.useState<boolean>(false);\n const controlled = state !== undefined && setState !== undefined;\n if (controlled) return [state, setState, controlled];\n return [internalState, setInternalState, controlled];\n};\n\nexport type PopoverProps = {\n /** Innholdet i Popover */\n children: React.ReactNode;\n /** Plasseringen av Popover\n * @default \"bottom-start\"\n */\n placement?: Placement;\n /** Hvis du ønsker å styre state selv kan du sende inn state her */\n showPopover?: boolean;\n /** Hvis du ønsker å styre state selv kan du sende inn setState her */\n setShowPopover?: React.Dispatch<React.SetStateAction<boolean>>;\n};\n\nexport const Popover: React.FC<PopoverProps> = ({\n children,\n placement = 'bottom-start',\n showPopover: controlledState,\n setShowPopover: setControlledState,\n}) => {\n const [showPopover, setShowPopover, controlled] = useCustomState(\n controlledState,\n setControlledState,\n );\n const triggerElement = React.useRef(null);\n const contentElement = React.useRef(null);\n\n const { styles, attributes, forceUpdate } = usePopper(\n triggerElement.current,\n contentElement.current,\n {\n modifiers: [\n { name: 'arrow', enabled: false },\n {\n name: 'offset',\n options: {\n offset: [0, 8],\n },\n },\n ],\n placement: placement,\n },\n );\n\n React.useEffect(() => {\n if (forceUpdate) {\n forceUpdate();\n }\n }, [showPopover, forceUpdate]);\n\n const triggerProps = React.useCallback(() => {\n const buttonProps = {\n 'aria-haspopup': 'dialog',\n 'aria-expanded': showPopover,\n ref: triggerElement,\n };\n const buttonOnClick = {\n onClick: (e: React.MouseEvent) => {\n e.preventDefault();\n setShowPopover(prev => !prev);\n },\n };\n return controlled ? buttonProps : { ...buttonProps, ...buttonOnClick };\n }, [triggerElement, showPopover, setShowPopover, controlled]);\n\n useOnClickOutside([contentElement, triggerElement], () =>\n setShowPopover(false),\n );\n const closeButtonProps = {\n onClick: (e: React.MouseEvent) => {\n e.preventDefault();\n setShowPopover(false);\n },\n };\n const popoverContentProps = React.useCallback(() => {\n const contentProps = {\n role: 'dialog',\n 'aria-modal': 'false',\n ref: contentElement,\n onKeyDown: (event: React.KeyboardEvent) => {\n if (event.key === 'Escape') {\n showPopover && setShowPopover(false);\n }\n },\n onBlur: (event: React.FocusEvent) => {\n const elementReceivingFocus = event.relatedTarget as HTMLElement;\n // The check for 'tabindex=-1' is a special case for focus handling in Docz\n if (\n !elementReceivingFocus ||\n elementReceivingFocus.getAttribute('tabindex') === '-1'\n )\n return;\n const focusElementIsPopover = elementContainsElement(\n contentElement.current,\n elementReceivingFocus,\n );\n const focusElementIsTrigger = elementContainsElement(\n triggerElement.current,\n elementReceivingFocus,\n );\n const isValidBlur = !focusElementIsPopover && !focusElementIsTrigger;\n if (showPopover && isValidBlur) setShowPopover(false);\n },\n };\n return contentProps;\n }, [contentElement, showPopover, setShowPopover]);\n const contextValue: PopoverContextProps = {\n showPopover,\n triggerElement,\n contentElement,\n styles,\n attributes,\n popoverContentProps,\n closeButtonProps,\n triggerProps,\n };\n return (\n <PopoverContext.Provider value={contextValue}>\n {children}\n </PopoverContext.Provider>\n );\n};\n\nexport type PopoverTriggerProps = {\n /** Knapp som skal brukes for å åpne Popover */\n children: React.ReactElement;\n};\n\nexport const PopoverTrigger: React.FC<PopoverTriggerProps> = ({ children }) => {\n const { triggerProps } = usePopoverContext();\n const child = React.Children.only(children) as React.ReactElement<any>;\n return cloneElement(child, triggerProps());\n};\n\nexport type PopoverCloseButtonProps = {\n /** En valgfri knapp som kan legges inn for å lukke Popover */\n children: React.ReactElement;\n};\n\nexport const PopoverCloseButton: React.FC<PopoverCloseButtonProps> = ({\n children,\n ...rest\n}) => {\n const { closeButtonProps } = usePopoverContext();\n return cloneElement(children, { ...closeButtonProps, ...rest });\n};\n\nexport type PopoverContentProps = {\n /**Innholdet til Popover */\n children: React.ReactNode;\n};\n\nexport const PopoverContent = React.forwardRef<\n HTMLDivElement,\n PopoverContentProps\n>(({ children }, ref: React.Ref<HTMLDivElement>) => {\n const { showPopover, attributes, styles, popoverContentProps } =\n usePopoverContext();\n const props = popoverContentProps({ ref });\n return (\n <Contrast\n className={classNames(\n 'eds-popover',\n {\n 'eds-popover--hidden': !showPopover,\n },\n 'eds-contrast',\n )}\n style={styles.popper}\n aria-hidden={!showPopover}\n {...attributes.styles}\n {...props}\n >\n {children}\n </Contrast>\n );\n});\n\nfunction elementContainsElement(\n parent: HTMLElement | null,\n child: HTMLElement,\n) {\n if (!parent) return false;\n return parent === child || parent.contains(child);\n}\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('tooltip');\n\nexport * from './Tooltip';\nexport * from './Popover';\n"],"names":["Tooltip","placement","content","children","className","isOpen","disableHoverListener","disableFocusListener","showCloseButton","variant","popperModifiers","name","options","offset","rest","_excluded","useState","showTooltip","setShowTooltip","hoverTimer","handleOpen","event","persist","setTimeout","onMouseExit","clearTimeout","React","useEffect","tooltipId","useRandomId","popperPlacement","includes","replace","childProps","onFocus","onBlur","onMouseEnter","e","onMouseLeave","Manager","createElement","Reference","ref","cloneElement","Popper","modifiers","enabled","style","classNames","role","id","IconButton","onClick","CloseIcon","PopoverContext","createContext","undefined","usePopoverContext","context","useContext","Error","useCustomState","state","setState","internalState","setInternalState","controlled","Popover","controlledState","showPopover","setControlledState","setShowPopover","triggerElement","useRef","contentElement","usePopper","current","styles","attributes","forceUpdate","triggerProps","useCallback","buttonProps","buttonOnClick","preventDefault","prev","useOnClickOutside","closeButtonProps","popoverContentProps","contentProps","onKeyDown","key","elementReceivingFocus","relatedTarget","getAttribute","focusElementIsPopover","elementContainsElement","focusElementIsTrigger","isValidBlur","contextValue","Provider","value","PopoverTrigger","child","Children","only","PopoverCloseButton","PopoverContent","forwardRef","props","Contrast","popper","parent","contains","warnAboutMissingStyles"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),t=require("react"),r=require("react-popper"),n=require("classnames"),o=require("@entur/icons"),u=require("@entur/button"),a=require("@entur/layout");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=i(t),s=i(n);function c(){return c=Object.assign
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),t=require("react"),r=require("react-popper"),n=require("classnames"),o=require("@entur/icons"),u=require("@entur/button"),a=require("@entur/layout");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=i(t),s=i(n);function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},c.apply(this,arguments)}function f(e,t){if(null==e)return{};var r,n,o={},u=Object.keys(e);for(n=0;n<u.length;n++)t.indexOf(r=u[n])>=0||(o[r]=e[r]);return o}var d=["placement","content","children","className","isOpen","disableHoverListener","disableFocusListener","showCloseButton","variant","popperModifiers"],p=["children"],v=t.createContext(void 0),m=function(){var e=t.useContext(v);if(null==e)throw Error("usePopoverContext must be used within <Popover/>");return e},b=l.default.forwardRef((function(e,t){var r=e.children,n=m(),o=n.showPopover,u=n.attributes,i=n.styles,f=(0,n.popoverContentProps)({ref:t});return l.default.createElement(a.Contrast,c({className:s.default("eds-popover",{"eds-popover--hidden":!o},"eds-contrast"),style:i.popper,"aria-hidden":!o},u.styles,f),r)}));function h(e,t){return!!e&&(e===t||e.contains(t))}e.warnAboutMissingStyles("tooltip"),exports.Popover=function(t){var n=t.children,o=t.placement,u=void 0===o?"bottom-start":o,a=function(e,t){var r=l.default.useState(!1),n=void 0!==e&&void 0!==t;return n?[e,t,n]:[r[0],r[1],n]}(t.showPopover,t.setShowPopover),i=a[0],s=a[1],f=a[2],d=l.default.useRef(null),p=l.default.useRef(null),m=r.usePopper(d.current,p.current,{modifiers:[{name:"arrow",enabled:!1},{name:"offset",options:{offset:[0,8]}}],placement:u}),b=m.styles,P=m.attributes,g=m.forceUpdate;l.default.useEffect((function(){g&&g()}),[i,g]);var E=l.default.useCallback((function(){var e={"aria-haspopup":"dialog","aria-expanded":i,ref:d};return f?e:c({},e,{onClick:function(e){e.preventDefault(),s((function(e){return!e}))}})}),[d,i,s,f]);e.useOnClickOutside([p,d],(function(){return s(!1)}));var y={onClick:function(e){e.preventDefault(),s(!1)}},C=l.default.useCallback((function(){return{role:"dialog","aria-modal":"false",ref:p,onKeyDown:function(e){"Escape"===e.key&&i&&s(!1)},onBlur:function(e){var t=e.relatedTarget;if(t&&"-1"!==t.getAttribute("tabindex")){var r=h(p.current,t),n=h(d.current,t);i&&!r&&!n&&s(!1)}}}}),[p,i,s]);return l.default.createElement(v.Provider,{value:{showPopover:i,triggerElement:d,contentElement:p,styles:b,attributes:P,popoverContentProps:C,closeButtonProps:y,triggerProps:E}},n)},exports.PopoverCloseButton=function(e){var r=e.children,n=f(e,p),o=m();return t.cloneElement(r,c({},o.closeButtonProps,n))},exports.PopoverContent=b,exports.PopoverTrigger=function(e){var r=e.children,n=m().triggerProps,o=l.default.Children.only(r);return t.cloneElement(o,n())},exports.Tooltip=function(n){var a,i=n.placement,p=n.content,v=n.children,m=n.className,b=n.isOpen,h=void 0!==b&&b,P=n.disableHoverListener,g=void 0!==P&&P,E=n.disableFocusListener,y=void 0!==E&&E,C=n.showCloseButton,w=void 0===C||C,x=n.variant,O=n.popperModifiers,k=void 0===O?[{name:"offset",options:{offset:[0,10]}}]:O,B=f(n,d),q=t.useState(h||!1),M=q[0],j=q[1];l.default.useEffect((function(){return function(){clearTimeout(a)}}));var T=e.useRandomId("eds-tooltip");l.default.useEffect((function(){j(h)}),[h]),l.default.useEffect((function(){p||j(!1)}),[p]);var L=i;i.includes("-")&&(i.includes("right")&&(L=i.replace("right","end")),i.includes("left")&&(L=i.replace("left","start")));var N={};return N["aria-describedby"]=T,y||(N.onFocus=function(){return j(!0)},N.onBlur=function(){return j(!1)}),g||(N.onMouseEnter=function(e){return e.persist(),void(a=setTimeout((function(){j(!0)}),150))},N.onMouseLeave=function(){return j(!1),void clearTimeout(a)}),l.default.createElement(r.Manager,null,l.default.createElement(r.Reference,null,(function(e){return t.cloneElement(v,c({ref:e.ref},N))})),M&&l.default.createElement(r.Popper,{modifiers:[{name:"arrow",enabled:!1}].concat(k),placement:L},(function(e){var t=e.ref,r=e.style,n=e.placement;return l.default.createElement("div",c({className:s.default("eds-tooltip",m,"eds-tooltip--"+n,{"eds-tooltip--error":"error"===x}),ref:t,style:r,role:"tooltip",id:T,"data-placement":n},B),p,h&&w&&l.default.createElement(u.IconButton,{className:"eds-tooltip__close-button",onClick:function(){return j(!1)}},l.default.createElement(o.CloseIcon,null)))})))};
|
|
2
2
|
//# sourceMappingURL=tooltip.cjs.production.min.js.map
|