@stenajs-webui/tooltip 22.6.2 → 22.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -1,25 +1,25 @@
1
1
  (function(){"use strict";try{if(typeof document<"u"){var r=document.createElement("style");r.appendChild(document.createTextNode("._floating_1glwr_1{display:flex;flex-direction:row;align-items:center;background:#fff;color:#fff;border-radius:var(--swui-border-radius);padding:var(--swui-metrics-spacing) calc(var(--swui-metrics-indent) * 2);box-shadow:var(--swui-shadow-popover)}._floating_1glwr_1._disablePadding_1glwr_11{padding:0}._iconWrapper_1glwr_16{--current-bg-color: transparent;--current-border-color: var(--lhds-color-ui-50);--current-icon-color: var(--lhds-color-ui-50);display:inline-flex;flex-direction:row;white-space:nowrap;background-color:var(--current-bg-color);border:1px solid var(--current-border-color);border-radius:var(--swui-border-radius);padding:calc(var(--swui-metrics-spacing) * .5);align-items:flex-start}._iconWrapper_1glwr_16 svg{color:var(--current-icon-color)}._iconWrapper_1glwr_16._info_1glwr_36{--current-border-color: var(--lhds-color-blue-300);--current-bg-color: var(--lhds-color-blue-100);--current-icon-color: var(--lhds-color-blue-700)}._iconWrapper_1glwr_16._warning_1glwr_42{--current-border-color: var(--lhds-color-orange-300);--current-bg-color: var(--lhds-color-orange-100);--current-icon-color: var(--lhds-color-orange-700)}._iconWrapper_1glwr_16._error_1glwr_48{--current-border-color: var(--lhds-color-red-300);--current-bg-color: var(--lhds-color-red-100);--current-icon-color: var(--lhds-color-red-700)}._floating_15fk9_1{display:flex;align-items:center;background:#333;color:#fff;border-radius:var(--swui-border-radius);padding:var(--swui-metrics-spacing) calc(var(--swui-metrics-indent) * 2);width:-webkit-fit-content;width:fit-content}._floating_15fk9_1._withIcon_15fk9_10{padding:calc(var(--swui-metrics-spacing) * .5);padding-right:calc(var(--swui-metrics-indent) * 2)}._iconWrapper_15fk9_16{--current-bg-color: transparent;--current-border-color: var(--lhds-color-ui-50);--current-icon-color: var(--lhds-color-ui-50);display:inline-flex;flex-direction:row;white-space:nowrap;background-color:var(--current-bg-color);border:1px solid var(--current-border-color);border-radius:var(--swui-border-radius);padding:calc(var(--swui-metrics-spacing) * .5);align-items:flex-start}._iconWrapper_15fk9_16 svg{color:var(--current-icon-color)}._iconWrapper_15fk9_16._info_15fk9_36{--current-border-color: var(--lhds-color-blue-300);--current-bg-color: var(--lhds-color-blue-100);--current-icon-color: var(--lhds-color-blue-700)}._iconWrapper_15fk9_16._warning_15fk9_42{--current-border-color: var(--lhds-color-orange-300);--current-bg-color: var(--lhds-color-orange-100);--current-icon-color: var(--lhds-color-orange-700)}._iconWrapper_15fk9_16._error_15fk9_48{--current-border-color: var(--lhds-color-red-300);--current-bg-color: var(--lhds-color-red-100);--current-icon-color: var(--lhds-color-red-700)}")),document.head.appendChild(r)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
2
- import { jsxs as c, jsx as e, Fragment as W } from "react/jsx-runtime";
3
- import { Column as _e, Text as Z, Space as $, Row as q } from "@stenajs-webui/core";
4
- import { FlatButton as we, PrimaryButton as ye, Spinner as Ie, Icon as Re, stenaInfoCircle as Pe, stenaExclamationCircle as ve, stenaExclamationTriangle as Fe } from "@stenajs-webui/elements";
2
+ import { jsxs as r, jsx as e, Fragment as C } from "react/jsx-runtime";
3
+ import { Column as _e, Text as Z, Space as O, Row as q } from "@stenajs-webui/core";
4
+ import { FlatButton as we, PrimaryButton as ye, Spinner as Ie, Icon as Re, stenaExclamationTriangle as Pe, stenaExclamationCircle as ve, stenaInfoCircle as Fe } from "@stenajs-webui/elements";
5
5
  import { useRef as H, useCallback as k, useState as ee } from "react";
6
- import { useFloatingParentNodeId as ne, FloatingTree as te, useFloatingNodeId as oe, useFloating as S, offset as E, flip as M, shift as O, arrow as G, autoUpdate as j, useTransitionStyles as D, useDismiss as ie, useRole as se, useInteractions as z, FloatingNode as re, FloatingPortal as B, FloatingFocusManager as le, FloatingArrow as U, useFocus as We, useClick as be, useHover as ce, safePolygon as xe } from "@floating-ui/react";
6
+ import { useFloatingParentNodeId as ne, FloatingTree as te, useFloatingNodeId as oe, useFloating as S, autoUpdate as E, offset as M, flip as $, shift as G, arrow as j, useTransitionStyles as D, useDismiss as se, useRole as ie, useInteractions as z, FloatingNode as le, FloatingPortal as B, FloatingFocusManager as re, FloatingArrow as U, useFocus as Ce, useClick as be, useHover as ce, safePolygon as xe } from "@floating-ui/react";
7
7
  import b from "classnames";
8
- import { cssColor as Ce } from "@stenajs-webui/theme";
9
- const nn = ({
8
+ import { cssColor as Te } from "@stenajs-webui/theme";
9
+ const Ve = ({
10
10
  text: n = "Are you sure?",
11
11
  yesLabel: t = "Yes",
12
12
  noLabel: o = "No",
13
13
  onNo: a,
14
14
  onYes: s,
15
15
  loading: d
16
- }) => /* @__PURE__ */ c(_e, { position: "relative", children: [
17
- /* @__PURE__ */ c("div", { style: { opacity: d ? 0 : 1 }, children: [
16
+ }) => /* @__PURE__ */ r(_e, { position: "relative", children: [
17
+ /* @__PURE__ */ r("div", { style: { opacity: d ? 0 : 1 }, children: [
18
18
  /* @__PURE__ */ e(Z, { children: n }),
19
- /* @__PURE__ */ e($, {}),
20
- /* @__PURE__ */ c(q, { justifyContent: "flex-end", alignItems: "center", children: [
19
+ /* @__PURE__ */ e(O, {}),
20
+ /* @__PURE__ */ r(q, { justifyContent: "flex-end", alignItems: "center", children: [
21
21
  /* @__PURE__ */ e(we, { label: o, onClick: a }),
22
- /* @__PURE__ */ e($, {}),
22
+ /* @__PURE__ */ e(O, {}),
23
23
  /* @__PURE__ */ e(ye, { label: t, onClick: s })
24
24
  ] })
25
25
  ] }),
@@ -36,14 +36,10 @@ const nn = ({
36
36
  children: /* @__PURE__ */ e(Ie, { size: "small" })
37
37
  }
38
38
  )
39
- ] }), Te = "_floating_1glwr_1", Ae = "_disablePadding_1glwr_11", Ne = "_iconWrapper_1glwr_16", $e = "_info_1glwr_36", ke = "_warning_1glwr_42", He = "_error_1glwr_48", R = {
40
- floating: Te,
41
- disablePadding: Ae,
42
- iconWrapper: Ne,
43
- info: $e,
44
- warning: ke,
45
- error: He
46
- }, Se = 12, J = 8, Ee = 2, tn = ({
39
+ ] }), We = "_floating_1glwr_1", Ae = "_disablePadding_1glwr_11", R = {
40
+ floating: We,
41
+ disablePadding: Ae
42
+ }, Ne = 12, J = 8, Oe = 2, Xe = ({
47
43
  children: n,
48
44
  ...t
49
45
  }) => ne() == null ? /* @__PURE__ */ e(te, { children: /* @__PURE__ */ e(K, { ...t, children: n }) }) : /* @__PURE__ */ e(K, { ...t, children: n }), K = ({
@@ -53,44 +49,44 @@ const nn = ({
53
49
  renderTrigger: a,
54
50
  disablePadding: s,
55
51
  open: d,
56
- onRequestClose: g,
52
+ onRequestClose: f,
57
53
  restoreFocus: w,
58
54
  returnFocus: y,
59
55
  initialFocus: I,
60
56
  appendTo: p,
61
57
  zIndex: h
62
58
  }) => {
63
- const u = oe(), i = H(null), f = k(
59
+ const g = oe(), c = H(null), u = k(
64
60
  (A) => {
65
- A || g();
61
+ A || f();
66
62
  },
67
- [g]
68
- ), { refs: m, floatingStyles: _, context: r } = S({
69
- nodeId: u,
63
+ [f]
64
+ ), { refs: m, floatingStyles: _, context: i } = S({
65
+ nodeId: g,
70
66
  open: d,
71
- onOpenChange: f,
67
+ onOpenChange: u,
72
68
  placement: t,
73
69
  middleware: [
74
- E(J + Ee),
75
- M({ padding: 5 }),
76
- O({ padding: 5 }),
77
- G({ element: i })
70
+ M(J + Oe),
71
+ $({ padding: 5 }),
72
+ G({ padding: 5 }),
73
+ j({ element: c })
78
74
  ],
79
- whileElementsMounted: j
80
- }), { isMounted: P, styles: x } = D(r, {
75
+ whileElementsMounted: E
76
+ }), { isMounted: P, styles: x } = D(i, {
81
77
  initial: {
82
78
  opacity: 0
83
79
  }
84
- }), v = ie(r), C = se(r), { getReferenceProps: l, getFloatingProps: T } = z([
80
+ }), v = se(i), T = ie(i), { getReferenceProps: l, getFloatingProps: W } = z([
85
81
  v,
86
- C
82
+ T
87
83
  ]);
88
- return /* @__PURE__ */ c(W, { children: [
84
+ return /* @__PURE__ */ r(C, { children: [
89
85
  a({ ref: m.setReference, ...l() }),
90
- /* @__PURE__ */ e(re, { id: u, children: P && /* @__PURE__ */ e(B, { root: p, children: /* @__PURE__ */ e(
91
- le,
86
+ /* @__PURE__ */ e(le, { id: g, children: P && /* @__PURE__ */ e(B, { root: p, children: /* @__PURE__ */ e(
87
+ re,
92
88
  {
93
- context: r,
89
+ context: i,
94
90
  modal: !1,
95
91
  restoreFocus: w,
96
92
  returnFocus: y,
@@ -100,8 +96,8 @@ const nn = ({
100
96
  {
101
97
  ref: m.setFloating,
102
98
  style: { zIndex: h, ..._ },
103
- ...T(),
104
- children: /* @__PURE__ */ c(
99
+ ...W(),
100
+ children: /* @__PURE__ */ r(
105
101
  "div",
106
102
  {
107
103
  style: x,
@@ -114,9 +110,9 @@ const nn = ({
114
110
  !o && /* @__PURE__ */ e(
115
111
  U,
116
112
  {
117
- ref: i,
118
- context: r,
119
- width: Se,
113
+ ref: c,
114
+ context: i,
115
+ width: Ne,
120
116
  height: J,
121
117
  fill: "white"
122
118
  }
@@ -129,30 +125,30 @@ const nn = ({
129
125
  }
130
126
  ) }) })
131
127
  ] });
132
- }, Me = 12, L = 8, Oe = 2, on = ({ children: n, ...t }) => ne() == null ? /* @__PURE__ */ e(te, { children: /* @__PURE__ */ e(Q, { ...t, children: n }) }) : /* @__PURE__ */ e(Q, { ...t, children: n }), Q = ({
128
+ }, ke = 12, L = 8, He = 2, Ze = ({ children: n, ...t }) => ne() == null ? /* @__PURE__ */ e(te, { children: /* @__PURE__ */ e(Q, { ...t, children: n }) }) : /* @__PURE__ */ e(Q, { ...t, children: n }), Q = ({
133
129
  children: n,
134
130
  variant: t,
135
131
  trigger: o = "hover",
136
132
  placement: a = "bottom",
137
133
  hideArrow: s,
138
134
  renderTrigger: d,
139
- disablePadding: g,
135
+ disablePadding: f,
140
136
  restoreFocus: w,
141
137
  returnFocus: y,
142
138
  initialFocus: I,
143
139
  appendTo: p,
144
140
  anchor: h,
145
- zIndex: u,
146
- onOpened: i,
147
- onClosed: f
141
+ zIndex: g,
142
+ onOpened: c,
143
+ onClosed: u
148
144
  }) => {
149
- const [m, _] = ee(!1), r = oe(), P = H(null), x = k(
145
+ const [m, _] = ee(!1), i = oe(), P = H(null), x = k(
150
146
  (Y) => {
151
- _(Y), Y ? i == null || i() : f == null || f();
147
+ _(Y), Y ? c?.() : u?.();
152
148
  },
153
- [f, i]
154
- ), { refs: v, floatingStyles: C, context: l } = S({
155
- nodeId: r,
149
+ [u, c]
150
+ ), { refs: v, floatingStyles: T, context: l } = S({
151
+ nodeId: i,
156
152
  open: m,
157
153
  onOpenChange: x,
158
154
  placement: a,
@@ -160,33 +156,33 @@ const nn = ({
160
156
  reference: h
161
157
  },
162
158
  middleware: [
163
- E(L + Oe),
164
- M({ padding: 5 }),
165
- O({ padding: 5 }),
166
- G({ element: P })
159
+ M(L + He),
160
+ $({ padding: 5 }),
161
+ G({ padding: 5 }),
162
+ j({ element: P })
167
163
  ],
168
- whileElementsMounted: j
169
- }), { isMounted: T, styles: A } = D(l, {
164
+ whileElementsMounted: E
165
+ }), { isMounted: W, styles: A } = D(l, {
170
166
  initial: {
171
167
  opacity: 0
172
168
  }
173
169
  }), ae = k(() => {
174
170
  _(!1);
175
- }, []), de = ie(l), fe = se(l), ge = We(l, { enabled: N(o, "focus") }), pe = be(l, { enabled: N(o, "click") }), he = ce(l, {
171
+ }, []), de = se(l), fe = ie(l), pe = Ce(l, { enabled: N(o, "focus") }), he = be(l, { enabled: N(o, "click") }), ge = ce(l, {
176
172
  enabled: N(o, "hover"),
177
173
  handleClose: xe(),
178
174
  restMs: 100
179
175
  }), { getReferenceProps: ue, getFloatingProps: me } = z([
180
- ge,
181
176
  pe,
182
177
  he,
178
+ ge,
183
179
  de,
184
180
  fe
185
181
  ]);
186
- return /* @__PURE__ */ c(W, { children: [
182
+ return /* @__PURE__ */ r(C, { children: [
187
183
  d({ ref: v.setReference, ...ue() }),
188
- /* @__PURE__ */ e(re, { id: r, children: T && /* @__PURE__ */ e(B, { root: p, children: /* @__PURE__ */ e(
189
- le,
184
+ /* @__PURE__ */ e(le, { id: i, children: W && /* @__PURE__ */ e(B, { root: p, children: /* @__PURE__ */ e(
185
+ re,
190
186
  {
191
187
  context: l,
192
188
  modal: !1,
@@ -197,15 +193,15 @@ const nn = ({
197
193
  "div",
198
194
  {
199
195
  ref: v.setFloating,
200
- style: { zIndex: u, ...C },
196
+ style: { zIndex: g, ...T },
201
197
  ...me(),
202
- children: /* @__PURE__ */ c(
198
+ children: /* @__PURE__ */ r(
203
199
  "div",
204
200
  {
205
201
  style: A,
206
202
  className: b(
207
203
  R.floating,
208
- g && R.disablePadding,
204
+ f && R.disablePadding,
209
205
  t && R.withIcon
210
206
  ),
211
207
  children: [
@@ -215,7 +211,7 @@ const nn = ({
215
211
  {
216
212
  ref: P,
217
213
  context: l,
218
- width: Me,
214
+ width: ke,
219
215
  height: L,
220
216
  fill: "white"
221
217
  }
@@ -228,46 +224,46 @@ const nn = ({
228
224
  }
229
225
  ) }) })
230
226
  ] });
231
- }, N = (n, t) => typeof n == "string" ? n === t : n.includes(t), Ge = "_floating_15fk9_1", je = "_withIcon_15fk9_10", De = "_iconWrapper_15fk9_16", ze = "_info_15fk9_36", Be = "_warning_15fk9_42", Ue = "_error_15fk9_48", F = {
232
- floating: Ge,
233
- withIcon: je,
234
- iconWrapper: De,
235
- info: ze,
236
- warning: Be,
237
- error: Ue
238
- }, Ye = {
239
- info: Pe,
227
+ }, N = (n, t) => typeof n == "string" ? n === t : n.includes(t), Se = "_floating_15fk9_1", Ee = "_withIcon_15fk9_10", Me = "_iconWrapper_15fk9_16", $e = "_info_15fk9_36", Ge = "_warning_15fk9_42", je = "_error_15fk9_48", F = {
228
+ floating: Se,
229
+ withIcon: Ee,
230
+ iconWrapper: Me,
231
+ info: $e,
232
+ warning: Ge,
233
+ error: je
234
+ }, De = {
235
+ info: Fe,
240
236
  warning: ve,
241
- error: Fe
242
- }, qe = 12, V = 8, Je = 2, sn = ({
237
+ error: Pe
238
+ }, ze = 12, V = 8, Be = 2, en = ({
243
239
  children: n,
244
240
  visible: t,
245
241
  placement: o,
246
242
  label: a,
247
243
  variant: s,
248
244
  maxWidth: d = "500px",
249
- appendTo: g,
245
+ appendTo: f,
250
246
  zIndex: w
251
247
  }) => {
252
- const [y, I] = ee(!1), p = H(null), { refs: h, floatingStyles: u, context: i } = S({
248
+ const [y, I] = ee(!1), p = H(null), { refs: h, floatingStyles: g, context: c } = S({
253
249
  placement: o,
254
250
  open: t ?? y,
255
251
  onOpenChange: I,
256
252
  middleware: [
257
- E(V + Je),
258
- M({ padding: 5 }),
259
- O({ padding: 5 }),
260
- G({ element: p })
253
+ M(V + Be),
254
+ $({ padding: 5 }),
255
+ G({ padding: 5 }),
256
+ j({ element: p })
261
257
  ],
262
- whileElementsMounted: j
263
- }), { isMounted: f, styles: m } = D(i, {
258
+ whileElementsMounted: E
259
+ }), { isMounted: u, styles: m } = D(c, {
264
260
  initial: {
265
261
  opacity: 0
266
262
  }
267
- }), _ = ce(i), { getReferenceProps: r } = z([_]);
268
- return /* @__PURE__ */ c(W, { children: [
269
- /* @__PURE__ */ e("div", { ref: h.setReference, ...r(), children: n }),
270
- f && /* @__PURE__ */ e(B, { root: g, children: /* @__PURE__ */ e("div", { ref: h.setFloating, style: { zIndex: w, ...u }, children: /* @__PURE__ */ c(
263
+ }), _ = ce(c), { getReferenceProps: i } = z([_]);
264
+ return /* @__PURE__ */ r(C, { children: [
265
+ /* @__PURE__ */ e("div", { ref: h.setReference, ...i(), children: n }),
266
+ u && /* @__PURE__ */ e(B, { root: f, children: /* @__PURE__ */ e("div", { ref: h.setFloating, style: { zIndex: w, ...g }, children: /* @__PURE__ */ r(
271
267
  "div",
272
268
  {
273
269
  style: { maxWidth: d, ...m },
@@ -276,7 +272,7 @@ const nn = ({
276
272
  s && F.withIcon
277
273
  ),
278
274
  children: [
279
- s ? /* @__PURE__ */ c(W, { children: [
275
+ s ? /* @__PURE__ */ r(C, { children: [
280
276
  /* @__PURE__ */ e(
281
277
  "div",
282
278
  {
@@ -284,18 +280,18 @@ const nn = ({
284
280
  F.iconWrapper,
285
281
  F[s]
286
282
  ),
287
- children: /* @__PURE__ */ e(Re, { icon: Ye[s], size: 16 })
283
+ children: /* @__PURE__ */ e(Re, { icon: De[s], size: 16 })
288
284
  }
289
285
  ),
290
- /* @__PURE__ */ e($, {}),
286
+ /* @__PURE__ */ e(O, {}),
291
287
  /* @__PURE__ */ e(X, { label: a })
292
288
  ] }) : /* @__PURE__ */ e(X, { label: a }),
293
289
  /* @__PURE__ */ e(
294
290
  U,
295
291
  {
296
292
  ref: p,
297
- context: i,
298
- width: qe,
293
+ context: c,
294
+ width: ze,
299
295
  height: V,
300
296
  fill: "#333"
301
297
  }
@@ -304,11 +300,11 @@ const nn = ({
304
300
  }
305
301
  ) }) })
306
302
  ] });
307
- }, X = ({ label: n }) => /* @__PURE__ */ e(Z, { color: Ce("--lhds-color-ui-50"), size: "small", variant: "bold", children: n });
303
+ }, X = ({ label: n }) => /* @__PURE__ */ e(Z, { color: Te("--lhds-color-ui-50"), size: "small", variant: "bold", children: n });
308
304
  export {
309
- nn as ActionPrompt,
310
- tn as ControlledPopover,
311
- on as Popover,
312
- sn as Tooltip
305
+ Ve as ActionPrompt,
306
+ Xe as ControlledPopover,
307
+ Ze as Popover,
308
+ en as Tooltip
313
309
  };
314
310
  //# sourceMappingURL=index.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/components/popover/ActionPrompt.tsx","../src/components/popover/ControlledPopover.tsx","../src/components/popover/Popover.tsx","../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["import { Column, Row, Space, Text } from \"@stenajs-webui/core\";\nimport { FlatButton, Spinner, PrimaryButton } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\n\nexport interface ActionPromptProps {\n text?: string;\n yesLabel?: string;\n noLabel?: string;\n onYes?: () => void;\n onNo?: () => void;\n loading?: boolean;\n}\n\nexport const ActionPrompt: React.FC<ActionPromptProps> = ({\n text = \"Are you sure?\",\n yesLabel = \"Yes\",\n noLabel = \"No\",\n onNo,\n onYes,\n loading,\n}) => {\n return (\n <Column position={\"relative\"}>\n <div style={{ opacity: loading ? 0 : 1 }}>\n <Text>{text}</Text>\n <Space />\n <Row justifyContent={\"flex-end\"} alignItems={\"center\"}>\n <FlatButton label={noLabel} onClick={onNo} />\n <Space />\n <PrimaryButton label={yesLabel} onClick={onYes} />\n </Row>\n </div>\n {loading && (\n <Row\n justifyContent={\"center\"}\n alignItems={\"center\"}\n left={0}\n top={0}\n width={\"100%\"}\n height={\"100%\"}\n position={\"absolute\"}\n >\n <Spinner size={\"small\"} />\n </Row>\n )}\n </Column>\n );\n};\n","import * as React from \"react\";\nimport { PropsWithChildren, ReactNode, useCallback, useRef } from \"react\";\nimport {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n FloatingNode,\n FloatingPortal,\n FloatingTree,\n offset,\n shift,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useInteractions,\n useRole,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport cx from \"classnames\";\nimport moduleStyles from \"./Popover.module.css\";\nimport { Placement } from \"../../types/Placement\";\n\nexport interface ControlledPopoverProps extends PropsWithChildren {\n open: boolean;\n renderTrigger: (props: Record<string, unknown>) => ReactNode;\n onRequestClose: () => void;\n placement?: Placement;\n hideArrow?: boolean;\n disablePadding?: boolean;\n restoreFocus?: boolean;\n returnFocus?: boolean;\n initialFocus?: number | React.MutableRefObject<HTMLElement | null>;\n appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;\n zIndex?: number;\n}\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const ControlledPopover: React.FC<ControlledPopoverProps> = ({\n children,\n ...props\n}) => {\n const parentNodeId = useFloatingParentNodeId();\n\n if (parentNodeId == null) {\n return (\n <FloatingTree>\n <ControlledPopoverComponent {...props}>\n {children}\n </ControlledPopoverComponent>\n </FloatingTree>\n );\n }\n\n return (\n <ControlledPopoverComponent {...props}>\n {children}\n </ControlledPopoverComponent>\n );\n};\n\nconst ControlledPopoverComponent: React.FC<ControlledPopoverProps> = ({\n children,\n placement = \"bottom\",\n hideArrow,\n renderTrigger,\n disablePadding,\n open,\n onRequestClose,\n restoreFocus,\n returnFocus,\n initialFocus,\n appendTo,\n zIndex,\n}) => {\n const nodeId = useFloatingNodeId();\n\n const arrowRef = useRef(null);\n\n const onOpenChange = useCallback(\n (open: boolean) => {\n if (!open) {\n onRequestClose();\n }\n },\n [onRequestClose],\n );\n\n const { refs, floatingStyles, context } = useFloating({\n nodeId,\n open,\n onOpenChange,\n placement,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles: transitionStyles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n dismiss,\n role,\n ]);\n\n return (\n <>\n {renderTrigger({ ref: refs.setReference, ...getReferenceProps() })}\n\n <FloatingNode id={nodeId}>\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <FloatingFocusManager\n context={context}\n modal={false}\n restoreFocus={restoreFocus}\n returnFocus={returnFocus}\n initialFocus={initialFocus}\n >\n <div\n ref={refs.setFloating}\n style={{ zIndex, ...floatingStyles }}\n {...getFloatingProps()}\n >\n <div\n style={transitionStyles}\n className={cx(\n moduleStyles.floating,\n disablePadding && moduleStyles.disablePadding,\n )}\n >\n {children}\n {!hideArrow && (\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"white\"}\n />\n )}\n </div>\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </FloatingNode>\n </>\n );\n};\n","import {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n FloatingNode,\n FloatingPortal,\n FloatingTree,\n offset,\n safePolygon,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport * as React from \"react\";\nimport { ReactNode, useCallback, useRef, useState } from \"react\";\nimport cx from \"classnames\";\nimport moduleStyles from \"../popover/Popover.module.css\";\nimport { Placement } from \"../../types/Placement\";\n\nexport type PopoverVariant =\n | \"standard\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"outlined\";\n\nexport type PopoverTheme = \"light\" | \"dark\";\nexport type PopoverTrigger = \"click\" | \"hover\" | \"focus\";\n\nexport type PopoverChildren =\n | ReactNode\n | ((args: PopoverChildrenArgs) => ReactNode);\n\nexport interface PopoverChildrenArgs {\n onRequestClose: () => void;\n}\n\ntype TriggerProp = PopoverTrigger | Array<PopoverTrigger>;\n\nexport interface PopoverProps {\n children?: PopoverChildren;\n placement?: Placement;\n trigger?: TriggerProp;\n hideArrow?: boolean;\n disablePadding?: boolean;\n variant?: PopoverVariant;\n theme?: PopoverTheme;\n renderTrigger: (props: Record<string, unknown>) => ReactNode;\n restoreFocus?: boolean;\n returnFocus?: boolean;\n initialFocus?: number | React.RefObject<HTMLElement | null>;\n /**\n * Portal target. Do not use ref to hold this, use useState instead with default null.\n * Floating UI will then wait for it to be set.\n * https://floating-ui.com/docs/FloatingPortal\n */\n appendTo?: HTMLElement | null | undefined;\n /**\n * Anchor target.\n * This allows you to control the position of the popover manually, and is normally not needed.\n * Do not use ref to hold this, use useState instead with default null.\n * From the docs:\n * \"The elements must be held in state (not plain refs) to ensure that they are reactive.\"\n * https://floating-ui.com/docs/useFloating#elements\n *\n * When using this, you must manually set props on anchor elements that are provided by Floating UI.\n * Please see these docs for more information:\n * https://floating-ui.com/docs/useInteractions#external-reference\n */\n anchor?: HTMLElement | null | undefined;\n zIndex?: number;\n onOpened?: () => void;\n onClosed?: () => void;\n}\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const Popover: React.FC<PopoverProps> = ({ children, ...props }) => {\n const parentNodeId = useFloatingParentNodeId();\n\n if (parentNodeId == null) {\n return (\n <FloatingTree>\n <PopoverComponent {...props}>{children}</PopoverComponent>\n </FloatingTree>\n );\n }\n\n return <PopoverComponent {...props}>{children}</PopoverComponent>;\n};\n\nconst PopoverComponent: React.FC<PopoverProps> = ({\n children,\n variant,\n trigger = \"hover\",\n placement = \"bottom\",\n hideArrow,\n renderTrigger,\n disablePadding,\n restoreFocus,\n returnFocus,\n initialFocus,\n appendTo,\n anchor,\n zIndex,\n onOpened,\n onClosed,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const nodeId = useFloatingNodeId();\n\n const arrowRef = useRef(null);\n\n const onOpenChange = useCallback(\n (open: boolean) => {\n setIsOpen(open);\n\n if (open) {\n onOpened?.();\n } else {\n onClosed?.();\n }\n },\n [onClosed, onOpened],\n );\n\n const { refs, floatingStyles, context } = useFloating({\n nodeId,\n open: isOpen,\n onOpenChange,\n placement,\n elements: {\n reference: anchor,\n },\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles: transitionStyles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const onRequestClose = useCallback(() => {\n setIsOpen(false);\n }, []);\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n const onFocus = useFocus(context, { enabled: hasTrigger(trigger, \"focus\") });\n const onClick = useClick(context, { enabled: hasTrigger(trigger, \"click\") });\n const onHover = useHover(context, {\n enabled: hasTrigger(trigger, \"hover\"),\n handleClose: safePolygon(),\n restMs: 100,\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n onFocus,\n onClick,\n onHover,\n dismiss,\n role,\n ]);\n\n return (\n <>\n {renderTrigger({ ref: refs.setReference, ...getReferenceProps() })}\n\n <FloatingNode id={nodeId}>\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <FloatingFocusManager\n context={context}\n modal={false}\n restoreFocus={restoreFocus}\n returnFocus={returnFocus}\n initialFocus={initialFocus}\n >\n <div\n ref={refs.setFloating}\n style={{ zIndex, ...floatingStyles }}\n {...getFloatingProps()}\n >\n <div\n style={transitionStyles}\n className={cx(\n moduleStyles.floating,\n disablePadding && moduleStyles.disablePadding,\n variant && moduleStyles.withIcon,\n )}\n >\n {typeof children === \"function\"\n ? children({ onRequestClose })\n : children}\n {!hideArrow && (\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"white\"}\n />\n )}\n </div>\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </FloatingNode>\n </>\n );\n};\n\nconst hasTrigger = (\n triggerProp: TriggerProp,\n triggerToCheck: PopoverTrigger,\n): boolean => {\n if (typeof triggerProp === \"string\") {\n return triggerProp === triggerToCheck;\n }\n return triggerProp.includes(triggerToCheck);\n};\n","import { Space, Text } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { CSSProperties, PropsWithChildren, useRef, useState } from \"react\";\nimport {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingPortal,\n offset,\n shift,\n useFloating,\n useHover,\n useInteractions,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport moduleStyles from \"./Tooltip.module.css\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport cx from \"classnames\";\nimport {\n Icon,\n stenaExclamationCircle,\n stenaExclamationTriangle,\n stenaInfoCircle,\n} from \"@stenajs-webui/elements\";\nimport { Placement } from \"../../types/Placement\";\n\nexport interface TooltipProps extends PropsWithChildren {\n placement?: Placement;\n visible?: boolean;\n label: string;\n variant?: TooltipVariant;\n maxWidth?: CSSProperties[\"maxWidth\"];\n appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;\n zIndex?: number;\n}\n\ntype TooltipVariant = \"info\" | \"warning\" | \"error\";\n\nconst variantIcons = {\n info: stenaInfoCircle,\n warning: stenaExclamationCircle,\n error: stenaExclamationTriangle,\n};\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const Tooltip: React.FC<TooltipProps> = ({\n children,\n visible,\n placement,\n label,\n variant,\n maxWidth = \"500px\",\n appendTo,\n zIndex,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const arrowRef = useRef(null);\n\n const { refs, floatingStyles, context } = useFloating({\n placement: placement,\n open: visible ?? isOpen,\n onOpenChange: setIsOpen,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const hover = useHover(context);\n\n const { getReferenceProps } = useInteractions([hover]);\n\n return (\n <>\n <div ref={refs.setReference} {...getReferenceProps()}>\n {children}\n </div>\n\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <div ref={refs.setFloating} style={{ zIndex, ...floatingStyles }}>\n <div\n style={{ maxWidth, ...styles }}\n className={cx(\n moduleStyles.floating,\n variant && moduleStyles.withIcon,\n )}\n >\n {variant ? (\n <>\n <div\n className={cx(\n moduleStyles.iconWrapper,\n moduleStyles[variant],\n )}\n >\n <Icon icon={variantIcons[variant]} size={16} />\n </div>\n <Space />\n <TooltipText label={label} />\n </>\n ) : (\n <TooltipText label={label} />\n )}\n\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"#333\"}\n />\n </div>\n </div>\n </FloatingPortal>\n )}\n </>\n );\n};\n\nconst TooltipText: React.FC<{ label: string }> = ({ label }) => (\n <Text color={cssColor(\"--lhds-color-ui-50\")} size={\"small\"} variant={\"bold\"}>\n {label}\n </Text>\n);\n"],"names":["ActionPrompt","text","yesLabel","noLabel","onNo","onYes","loading","jsxs","Column","jsx","Text","Space","Row","FlatButton","PrimaryButton","Spinner","ARROW_WIDTH","ARROW_HEIGHT","GAP","ControlledPopover","children","props","useFloatingParentNodeId","FloatingTree","ControlledPopoverComponent","placement","hideArrow","renderTrigger","disablePadding","open","onRequestClose","restoreFocus","returnFocus","initialFocus","appendTo","zIndex","nodeId","useFloatingNodeId","arrowRef","useRef","onOpenChange","useCallback","refs","floatingStyles","context","useFloating","offset","flip","shift","arrow","autoUpdate","isMounted","transitionStyles","useTransitionStyles","dismiss","useDismiss","role","useRole","getReferenceProps","getFloatingProps","useInteractions","Fragment","FloatingNode","FloatingPortal","FloatingFocusManager","cx","moduleStyles","FloatingArrow","Popover","PopoverComponent","variant","trigger","anchor","onOpened","onClosed","isOpen","setIsOpen","useState","onFocus","useFocus","hasTrigger","onClick","useClick","onHover","useHover","safePolygon","triggerProp","triggerToCheck","variantIcons","stenaInfoCircle","stenaExclamationCircle","stenaExclamationTriangle","Tooltip","visible","label","maxWidth","styles","hover","Icon","TooltipText","cssColor"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/components/popover/ActionPrompt.tsx","../src/components/popover/ControlledPopover.tsx","../src/components/popover/Popover.tsx","../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["import { Column, Row, Space, Text } from \"@stenajs-webui/core\";\nimport { FlatButton, Spinner, PrimaryButton } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\n\nexport interface ActionPromptProps {\n text?: string;\n yesLabel?: string;\n noLabel?: string;\n onYes?: () => void;\n onNo?: () => void;\n loading?: boolean;\n}\n\nexport const ActionPrompt: React.FC<ActionPromptProps> = ({\n text = \"Are you sure?\",\n yesLabel = \"Yes\",\n noLabel = \"No\",\n onNo,\n onYes,\n loading,\n}) => {\n return (\n <Column position={\"relative\"}>\n <div style={{ opacity: loading ? 0 : 1 }}>\n <Text>{text}</Text>\n <Space />\n <Row justifyContent={\"flex-end\"} alignItems={\"center\"}>\n <FlatButton label={noLabel} onClick={onNo} />\n <Space />\n <PrimaryButton label={yesLabel} onClick={onYes} />\n </Row>\n </div>\n {loading && (\n <Row\n justifyContent={\"center\"}\n alignItems={\"center\"}\n left={0}\n top={0}\n width={\"100%\"}\n height={\"100%\"}\n position={\"absolute\"}\n >\n <Spinner size={\"small\"} />\n </Row>\n )}\n </Column>\n );\n};\n","import * as React from \"react\";\nimport { PropsWithChildren, ReactNode, useCallback, useRef } from \"react\";\nimport {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n FloatingNode,\n FloatingPortal,\n FloatingTree,\n offset,\n shift,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useInteractions,\n useRole,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport cx from \"classnames\";\nimport moduleStyles from \"./Popover.module.css\";\nimport { Placement } from \"../../types/Placement\";\n\nexport interface ControlledPopoverProps extends PropsWithChildren {\n open: boolean;\n renderTrigger: (props: Record<string, unknown>) => ReactNode;\n onRequestClose: () => void;\n placement?: Placement;\n hideArrow?: boolean;\n disablePadding?: boolean;\n restoreFocus?: boolean;\n returnFocus?: boolean;\n initialFocus?: number | React.MutableRefObject<HTMLElement | null>;\n appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;\n zIndex?: number;\n}\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const ControlledPopover: React.FC<ControlledPopoverProps> = ({\n children,\n ...props\n}) => {\n const parentNodeId = useFloatingParentNodeId();\n\n if (parentNodeId == null) {\n return (\n <FloatingTree>\n <ControlledPopoverComponent {...props}>\n {children}\n </ControlledPopoverComponent>\n </FloatingTree>\n );\n }\n\n return (\n <ControlledPopoverComponent {...props}>\n {children}\n </ControlledPopoverComponent>\n );\n};\n\nconst ControlledPopoverComponent: React.FC<ControlledPopoverProps> = ({\n children,\n placement = \"bottom\",\n hideArrow,\n renderTrigger,\n disablePadding,\n open,\n onRequestClose,\n restoreFocus,\n returnFocus,\n initialFocus,\n appendTo,\n zIndex,\n}) => {\n const nodeId = useFloatingNodeId();\n\n const arrowRef = useRef(null);\n\n const onOpenChange = useCallback(\n (open: boolean) => {\n if (!open) {\n onRequestClose();\n }\n },\n [onRequestClose],\n );\n\n const { refs, floatingStyles, context } = useFloating({\n nodeId,\n open,\n onOpenChange,\n placement,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles: transitionStyles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n dismiss,\n role,\n ]);\n\n return (\n <>\n {renderTrigger({ ref: refs.setReference, ...getReferenceProps() })}\n\n <FloatingNode id={nodeId}>\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <FloatingFocusManager\n context={context}\n modal={false}\n restoreFocus={restoreFocus}\n returnFocus={returnFocus}\n initialFocus={initialFocus}\n >\n <div\n ref={refs.setFloating}\n style={{ zIndex, ...floatingStyles }}\n {...getFloatingProps()}\n >\n <div\n style={transitionStyles}\n className={cx(\n moduleStyles.floating,\n disablePadding && moduleStyles.disablePadding,\n )}\n >\n {children}\n {!hideArrow && (\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"white\"}\n />\n )}\n </div>\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </FloatingNode>\n </>\n );\n};\n","import {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n FloatingNode,\n FloatingPortal,\n FloatingTree,\n offset,\n safePolygon,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport * as React from \"react\";\nimport { ReactNode, useCallback, useRef, useState } from \"react\";\nimport cx from \"classnames\";\nimport moduleStyles from \"../popover/Popover.module.css\";\nimport { Placement } from \"../../types/Placement\";\n\nexport type PopoverVariant =\n | \"standard\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"outlined\";\n\nexport type PopoverTheme = \"light\" | \"dark\";\nexport type PopoverTrigger = \"click\" | \"hover\" | \"focus\";\n\nexport type PopoverChildren =\n | ReactNode\n | ((args: PopoverChildrenArgs) => ReactNode);\n\nexport interface PopoverChildrenArgs {\n onRequestClose: () => void;\n}\n\ntype TriggerProp = PopoverTrigger | Array<PopoverTrigger>;\n\nexport interface PopoverProps {\n children?: PopoverChildren;\n placement?: Placement;\n trigger?: TriggerProp;\n hideArrow?: boolean;\n disablePadding?: boolean;\n variant?: PopoverVariant;\n theme?: PopoverTheme;\n renderTrigger: (props: Record<string, unknown>) => ReactNode;\n restoreFocus?: boolean;\n returnFocus?: boolean;\n initialFocus?: number | React.RefObject<HTMLElement | null>;\n /**\n * Portal target. Do not use ref to hold this, use useState instead with default null.\n * Floating UI will then wait for it to be set.\n * https://floating-ui.com/docs/FloatingPortal\n */\n appendTo?: HTMLElement | null | undefined;\n /**\n * Anchor target.\n * This allows you to control the position of the popover manually, and is normally not needed.\n * Do not use ref to hold this, use useState instead with default null.\n * From the docs:\n * \"The elements must be held in state (not plain refs) to ensure that they are reactive.\"\n * https://floating-ui.com/docs/useFloating#elements\n *\n * When using this, you must manually set props on anchor elements that are provided by Floating UI.\n * Please see these docs for more information:\n * https://floating-ui.com/docs/useInteractions#external-reference\n */\n anchor?: HTMLElement | null | undefined;\n zIndex?: number;\n onOpened?: () => void;\n onClosed?: () => void;\n}\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const Popover: React.FC<PopoverProps> = ({ children, ...props }) => {\n const parentNodeId = useFloatingParentNodeId();\n\n if (parentNodeId == null) {\n return (\n <FloatingTree>\n <PopoverComponent {...props}>{children}</PopoverComponent>\n </FloatingTree>\n );\n }\n\n return <PopoverComponent {...props}>{children}</PopoverComponent>;\n};\n\nconst PopoverComponent: React.FC<PopoverProps> = ({\n children,\n variant,\n trigger = \"hover\",\n placement = \"bottom\",\n hideArrow,\n renderTrigger,\n disablePadding,\n restoreFocus,\n returnFocus,\n initialFocus,\n appendTo,\n anchor,\n zIndex,\n onOpened,\n onClosed,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const nodeId = useFloatingNodeId();\n\n const arrowRef = useRef(null);\n\n const onOpenChange = useCallback(\n (open: boolean) => {\n setIsOpen(open);\n\n if (open) {\n onOpened?.();\n } else {\n onClosed?.();\n }\n },\n [onClosed, onOpened],\n );\n\n const { refs, floatingStyles, context } = useFloating({\n nodeId,\n open: isOpen,\n onOpenChange,\n placement,\n elements: {\n reference: anchor,\n },\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles: transitionStyles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const onRequestClose = useCallback(() => {\n setIsOpen(false);\n }, []);\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n const onFocus = useFocus(context, { enabled: hasTrigger(trigger, \"focus\") });\n const onClick = useClick(context, { enabled: hasTrigger(trigger, \"click\") });\n const onHover = useHover(context, {\n enabled: hasTrigger(trigger, \"hover\"),\n handleClose: safePolygon(),\n restMs: 100,\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n onFocus,\n onClick,\n onHover,\n dismiss,\n role,\n ]);\n\n return (\n <>\n {renderTrigger({ ref: refs.setReference, ...getReferenceProps() })}\n\n <FloatingNode id={nodeId}>\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <FloatingFocusManager\n context={context}\n modal={false}\n restoreFocus={restoreFocus}\n returnFocus={returnFocus}\n initialFocus={initialFocus}\n >\n <div\n ref={refs.setFloating}\n style={{ zIndex, ...floatingStyles }}\n {...getFloatingProps()}\n >\n <div\n style={transitionStyles}\n className={cx(\n moduleStyles.floating,\n disablePadding && moduleStyles.disablePadding,\n variant && moduleStyles.withIcon,\n )}\n >\n {typeof children === \"function\"\n ? children({ onRequestClose })\n : children}\n {!hideArrow && (\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"white\"}\n />\n )}\n </div>\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </FloatingNode>\n </>\n );\n};\n\nconst hasTrigger = (\n triggerProp: TriggerProp,\n triggerToCheck: PopoverTrigger,\n): boolean => {\n if (typeof triggerProp === \"string\") {\n return triggerProp === triggerToCheck;\n }\n return triggerProp.includes(triggerToCheck);\n};\n","import { Space, Text } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { CSSProperties, PropsWithChildren, useRef, useState } from \"react\";\nimport {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingPortal,\n offset,\n shift,\n useFloating,\n useHover,\n useInteractions,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport moduleStyles from \"./Tooltip.module.css\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport cx from \"classnames\";\nimport {\n Icon,\n stenaExclamationCircle,\n stenaExclamationTriangle,\n stenaInfoCircle,\n} from \"@stenajs-webui/elements\";\nimport { Placement } from \"../../types/Placement\";\n\nexport interface TooltipProps extends PropsWithChildren {\n placement?: Placement;\n visible?: boolean;\n label: string;\n variant?: TooltipVariant;\n maxWidth?: CSSProperties[\"maxWidth\"];\n appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;\n zIndex?: number;\n}\n\ntype TooltipVariant = \"info\" | \"warning\" | \"error\";\n\nconst variantIcons = {\n info: stenaInfoCircle,\n warning: stenaExclamationCircle,\n error: stenaExclamationTriangle,\n};\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const Tooltip: React.FC<TooltipProps> = ({\n children,\n visible,\n placement,\n label,\n variant,\n maxWidth = \"500px\",\n appendTo,\n zIndex,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const arrowRef = useRef(null);\n\n const { refs, floatingStyles, context } = useFloating({\n placement: placement,\n open: visible ?? isOpen,\n onOpenChange: setIsOpen,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const hover = useHover(context);\n\n const { getReferenceProps } = useInteractions([hover]);\n\n return (\n <>\n <div ref={refs.setReference} {...getReferenceProps()}>\n {children}\n </div>\n\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <div ref={refs.setFloating} style={{ zIndex, ...floatingStyles }}>\n <div\n style={{ maxWidth, ...styles }}\n className={cx(\n moduleStyles.floating,\n variant && moduleStyles.withIcon,\n )}\n >\n {variant ? (\n <>\n <div\n className={cx(\n moduleStyles.iconWrapper,\n moduleStyles[variant],\n )}\n >\n <Icon icon={variantIcons[variant]} size={16} />\n </div>\n <Space />\n <TooltipText label={label} />\n </>\n ) : (\n <TooltipText label={label} />\n )}\n\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"#333\"}\n />\n </div>\n </div>\n </FloatingPortal>\n )}\n </>\n );\n};\n\nconst TooltipText: React.FC<{ label: string }> = ({ label }) => (\n <Text color={cssColor(\"--lhds-color-ui-50\")} size={\"small\"} variant={\"bold\"}>\n {label}\n </Text>\n);\n"],"names":["ActionPrompt","text","yesLabel","noLabel","onNo","onYes","loading","jsxs","Column","jsx","Text","Space","Row","FlatButton","PrimaryButton","Spinner","ARROW_WIDTH","ARROW_HEIGHT","GAP","ControlledPopover","children","props","useFloatingParentNodeId","FloatingTree","ControlledPopoverComponent","placement","hideArrow","renderTrigger","disablePadding","open","onRequestClose","restoreFocus","returnFocus","initialFocus","appendTo","zIndex","nodeId","useFloatingNodeId","arrowRef","useRef","onOpenChange","useCallback","refs","floatingStyles","context","useFloating","offset","flip","shift","arrow","autoUpdate","isMounted","transitionStyles","useTransitionStyles","dismiss","useDismiss","role","useRole","getReferenceProps","getFloatingProps","useInteractions","Fragment","FloatingNode","FloatingPortal","FloatingFocusManager","cx","moduleStyles","FloatingArrow","Popover","PopoverComponent","variant","trigger","anchor","onOpened","onClosed","isOpen","setIsOpen","useState","onFocus","useFocus","hasTrigger","onClick","useClick","onHover","useHover","safePolygon","triggerProp","triggerToCheck","variantIcons","stenaInfoCircle","stenaExclamationCircle","stenaExclamationTriangle","Tooltip","visible","label","maxWidth","styles","hover","Icon","TooltipText","cssColor"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  (function(){"use strict";try{if(typeof document<"u"){var r=document.createElement("style");r.appendChild(document.createTextNode("._floating_1glwr_1{display:flex;flex-direction:row;align-items:center;background:#fff;color:#fff;border-radius:var(--swui-border-radius);padding:var(--swui-metrics-spacing) calc(var(--swui-metrics-indent) * 2);box-shadow:var(--swui-shadow-popover)}._floating_1glwr_1._disablePadding_1glwr_11{padding:0}._iconWrapper_1glwr_16{--current-bg-color: transparent;--current-border-color: var(--lhds-color-ui-50);--current-icon-color: var(--lhds-color-ui-50);display:inline-flex;flex-direction:row;white-space:nowrap;background-color:var(--current-bg-color);border:1px solid var(--current-border-color);border-radius:var(--swui-border-radius);padding:calc(var(--swui-metrics-spacing) * .5);align-items:flex-start}._iconWrapper_1glwr_16 svg{color:var(--current-icon-color)}._iconWrapper_1glwr_16._info_1glwr_36{--current-border-color: var(--lhds-color-blue-300);--current-bg-color: var(--lhds-color-blue-100);--current-icon-color: var(--lhds-color-blue-700)}._iconWrapper_1glwr_16._warning_1glwr_42{--current-border-color: var(--lhds-color-orange-300);--current-bg-color: var(--lhds-color-orange-100);--current-icon-color: var(--lhds-color-orange-700)}._iconWrapper_1glwr_16._error_1glwr_48{--current-border-color: var(--lhds-color-red-300);--current-bg-color: var(--lhds-color-red-100);--current-icon-color: var(--lhds-color-red-700)}._floating_15fk9_1{display:flex;align-items:center;background:#333;color:#fff;border-radius:var(--swui-border-radius);padding:var(--swui-metrics-spacing) calc(var(--swui-metrics-indent) * 2);width:-webkit-fit-content;width:fit-content}._floating_15fk9_1._withIcon_15fk9_10{padding:calc(var(--swui-metrics-spacing) * .5);padding-right:calc(var(--swui-metrics-indent) * 2)}._iconWrapper_15fk9_16{--current-bg-color: transparent;--current-border-color: var(--lhds-color-ui-50);--current-icon-color: var(--lhds-color-ui-50);display:inline-flex;flex-direction:row;white-space:nowrap;background-color:var(--current-bg-color);border:1px solid var(--current-border-color);border-radius:var(--swui-border-radius);padding:calc(var(--swui-metrics-spacing) * .5);align-items:flex-start}._iconWrapper_15fk9_16 svg{color:var(--current-icon-color)}._iconWrapper_15fk9_16._info_15fk9_36{--current-border-color: var(--lhds-color-blue-300);--current-bg-color: var(--lhds-color-blue-100);--current-icon-color: var(--lhds-color-blue-700)}._iconWrapper_15fk9_16._warning_15fk9_42{--current-border-color: var(--lhds-color-orange-300);--current-bg-color: var(--lhds-color-orange-100);--current-icon-color: var(--lhds-color-orange-700)}._iconWrapper_15fk9_16._error_15fk9_48{--current-border-color: var(--lhds-color-red-300);--current-bg-color: var(--lhds-color-red-100);--current-icon-color: var(--lhds-color-red-700)}")),document.head.appendChild(r)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),u=require("@stenajs-webui/core"),p=require("@stenajs-webui/elements"),g=require("react"),e=require("@floating-ui/react"),b=require("classnames"),L=require("@stenajs-webui/theme"),Q=({text:t="Are you sure?",yesLabel:s="Yes",noLabel:o="No",onNo:c,onYes:r,loading:d})=>n.jsxs(u.Column,{position:"relative",children:[n.jsxs("div",{style:{opacity:d?0:1},children:[n.jsx(u.Text,{children:t}),n.jsx(u.Space,{}),n.jsxs(u.Row,{justifyContent:"flex-end",alignItems:"center",children:[n.jsx(p.FlatButton,{label:o,onClick:c}),n.jsx(u.Space,{}),n.jsx(p.PrimaryButton,{label:s,onClick:r})]})]}),d&&n.jsx(u.Row,{justifyContent:"center",alignItems:"center",left:0,top:0,width:"100%",height:"100%",position:"absolute",children:n.jsx(p.Spinner,{size:"small"})})]}),V="_floating_1glwr_1",X="_disablePadding_1glwr_11",Z="_iconWrapper_1glwr_16",ee="_info_1glwr_36",ne="_warning_1glwr_42",te="_error_1glwr_48",R={floating:V,disablePadding:X,iconWrapper:Z,info:ee,warning:ne,error:te},se=12,$=8,oe=2,ie=({children:t,...s})=>e.useFloatingParentNodeId()==null?n.jsx(e.FloatingTree,{children:n.jsx(H,{...s,children:t})}):n.jsx(H,{...s,children:t}),H=({children:t,placement:s="bottom",hideArrow:o,renderTrigger:c,disablePadding:r,open:d,onRequestClose:h,restoreFocus:y,returnFocus:F,initialFocus:I,appendTo:x,zIndex:j})=>{const m=e.useFloatingNodeId(),i=g.useRef(null),f=g.useCallback(A=>{A||h()},[h]),{refs:_,floatingStyles:w,context:l}=e.useFloating({nodeId:m,open:d,onOpenChange:f,placement:s,middleware:[e.offset($+oe),e.flip({padding:5}),e.shift({padding:5}),e.arrow({element:i})],whileElementsMounted:e.autoUpdate}),{isMounted:P,styles:S}=e.useTransitionStyles(l,{initial:{opacity:0}}),v=e.useDismiss(l),C=e.useRole(l),{getReferenceProps:a,getFloatingProps:W}=e.useInteractions([v,C]);return n.jsxs(n.Fragment,{children:[c({ref:_.setReference,...a()}),n.jsx(e.FloatingNode,{id:m,children:P&&n.jsx(e.FloatingPortal,{root:x,children:n.jsx(e.FloatingFocusManager,{context:l,modal:!1,restoreFocus:y,returnFocus:F,initialFocus:I,children:n.jsx("div",{ref:_.setFloating,style:{zIndex:j,...w},...W(),children:n.jsxs("div",{style:S,className:b(R.floating,r&&R.disablePadding),children:[t,!o&&n.jsx(e.FloatingArrow,{ref:i,context:l,width:se,height:$,fill:"white"})]})})})})})]})},re=12,M=8,le=2,ae=({children:t,...s})=>e.useFloatingParentNodeId()==null?n.jsx(e.FloatingTree,{children:n.jsx(O,{...s,children:t})}):n.jsx(O,{...s,children:t}),O=({children:t,variant:s,trigger:o="hover",placement:c="bottom",hideArrow:r,renderTrigger:d,disablePadding:h,restoreFocus:y,returnFocus:F,initialFocus:I,appendTo:x,anchor:j,zIndex:m,onOpened:i,onClosed:f})=>{const[_,w]=g.useState(!1),l=e.useFloatingNodeId(),P=g.useRef(null),S=g.useCallback(k=>{w(k),k?i==null||i():f==null||f()},[f,i]),{refs:v,floatingStyles:C,context:a}=e.useFloating({nodeId:l,open:_,onOpenChange:S,placement:c,elements:{reference:j},middleware:[e.offset(M+le),e.flip({padding:5}),e.shift({padding:5}),e.arrow({element:P})],whileElementsMounted:e.autoUpdate}),{isMounted:W,styles:A}=e.useTransitionStyles(a,{initial:{opacity:0}}),G=g.useCallback(()=>{w(!1)},[]),D=e.useDismiss(a),z=e.useRole(a),U=e.useFocus(a,{enabled:N(o,"focus")}),B=e.useClick(a,{enabled:N(o,"click")}),Y=e.useHover(a,{enabled:N(o,"hover"),handleClose:e.safePolygon(),restMs:100}),{getReferenceProps:J,getFloatingProps:K}=e.useInteractions([U,B,Y,D,z]);return n.jsxs(n.Fragment,{children:[d({ref:v.setReference,...J()}),n.jsx(e.FloatingNode,{id:l,children:W&&n.jsx(e.FloatingPortal,{root:x,children:n.jsx(e.FloatingFocusManager,{context:a,modal:!1,restoreFocus:y,returnFocus:F,initialFocus:I,children:n.jsx("div",{ref:v.setFloating,style:{zIndex:m,...C},...K(),children:n.jsxs("div",{style:A,className:b(R.floating,h&&R.disablePadding,s&&R.withIcon),children:[typeof t=="function"?t({onRequestClose:G}):t,!r&&n.jsx(e.FloatingArrow,{ref:P,context:a,width:re,height:M,fill:"white"})]})})})})})]})},N=(t,s)=>typeof t=="string"?t===s:t.includes(s),ce="_floating_15fk9_1",de="_withIcon_15fk9_10",fe="_iconWrapper_15fk9_16",ue="_info_15fk9_36",ge="_warning_15fk9_42",pe="_error_15fk9_48",T={floating:ce,withIcon:de,iconWrapper:fe,info:ue,warning:ge,error:pe},he={info:p.stenaInfoCircle,warning:p.stenaExclamationCircle,error:p.stenaExclamationTriangle},xe=12,E=8,je=2,me=({children:t,visible:s,placement:o,label:c,variant:r,maxWidth:d="500px",appendTo:h,zIndex:y})=>{const[F,I]=g.useState(!1),x=g.useRef(null),{refs:j,floatingStyles:m,context:i}=e.useFloating({placement:o,open:s??F,onOpenChange:I,middleware:[e.offset(E+je),e.flip({padding:5}),e.shift({padding:5}),e.arrow({element:x})],whileElementsMounted:e.autoUpdate}),{isMounted:f,styles:_}=e.useTransitionStyles(i,{initial:{opacity:0}}),w=e.useHover(i),{getReferenceProps:l}=e.useInteractions([w]);return n.jsxs(n.Fragment,{children:[n.jsx("div",{ref:j.setReference,...l(),children:t}),f&&n.jsx(e.FloatingPortal,{root:h,children:n.jsx("div",{ref:j.setFloating,style:{zIndex:y,...m},children:n.jsxs("div",{style:{maxWidth:d,..._},className:b(T.floating,r&&T.withIcon),children:[r?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:b(T.iconWrapper,T[r]),children:n.jsx(p.Icon,{icon:he[r],size:16})}),n.jsx(u.Space,{}),n.jsx(q,{label:c})]}):n.jsx(q,{label:c}),n.jsx(e.FloatingArrow,{ref:x,context:i,width:xe,height:E,fill:"#333"})]})})})]})},q=({label:t})=>n.jsx(u.Text,{color:L.cssColor("--lhds-color-ui-50"),size:"small",variant:"bold",children:t});exports.ActionPrompt=Q;exports.ControlledPopover=ie;exports.Popover=ae;exports.Tooltip=me;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),f=require("@stenajs-webui/core"),g=require("@stenajs-webui/elements"),u=require("react"),e=require("@floating-ui/react"),T=require("classnames"),L=require("@stenajs-webui/theme"),Q=({text:t="Are you sure?",yesLabel:s="Yes",noLabel:o="No",onNo:c,onYes:i,loading:d})=>n.jsxs(f.Column,{position:"relative",children:[n.jsxs("div",{style:{opacity:d?0:1},children:[n.jsx(f.Text,{children:t}),n.jsx(f.Space,{}),n.jsxs(f.Row,{justifyContent:"flex-end",alignItems:"center",children:[n.jsx(g.FlatButton,{label:o,onClick:c}),n.jsx(f.Space,{}),n.jsx(g.PrimaryButton,{label:s,onClick:i})]})]}),d&&n.jsx(f.Row,{justifyContent:"center",alignItems:"center",left:0,top:0,width:"100%",height:"100%",position:"absolute",children:n.jsx(g.Spinner,{size:"small"})})]}),V="_floating_1glwr_1",X="_disablePadding_1glwr_11",R={floating:V,disablePadding:X},Z=12,W=8,ee=2,ne=({children:t,...s})=>e.useFloatingParentNodeId()==null?n.jsx(e.FloatingTree,{children:n.jsx(H,{...s,children:t})}):n.jsx(H,{...s,children:t}),H=({children:t,placement:s="bottom",hideArrow:o,renderTrigger:c,disablePadding:i,open:d,onRequestClose:p,restoreFocus:F,returnFocus:I,initialFocus:_,appendTo:h,zIndex:x})=>{const j=e.useFloatingNodeId(),a=u.useRef(null),m=u.useCallback(N=>{N||p()},[p]),{refs:w,floatingStyles:y,context:l}=e.useFloating({nodeId:j,open:d,onOpenChange:m,placement:s,middleware:[e.offset(W+ee),e.flip({padding:5}),e.shift({padding:5}),e.arrow({element:a})],whileElementsMounted:e.autoUpdate}),{isMounted:P,styles:b}=e.useTransitionStyles(l,{initial:{opacity:0}}),v=e.useDismiss(l),S=e.useRole(l),{getReferenceProps:r,getFloatingProps:A}=e.useInteractions([v,S]);return n.jsxs(n.Fragment,{children:[c({ref:w.setReference,...r()}),n.jsx(e.FloatingNode,{id:j,children:P&&n.jsx(e.FloatingPortal,{root:h,children:n.jsx(e.FloatingFocusManager,{context:l,modal:!1,restoreFocus:F,returnFocus:I,initialFocus:_,children:n.jsx("div",{ref:w.setFloating,style:{zIndex:x,...y},...A(),children:n.jsxs("div",{style:b,className:T(R.floating,i&&R.disablePadding),children:[t,!o&&n.jsx(e.FloatingArrow,{ref:a,context:l,width:Z,height:W,fill:"white"})]})})})})})]})},te=12,M=8,se=2,oe=({children:t,...s})=>e.useFloatingParentNodeId()==null?n.jsx(e.FloatingTree,{children:n.jsx($,{...s,children:t})}):n.jsx($,{...s,children:t}),$=({children:t,variant:s,trigger:o="hover",placement:c="bottom",hideArrow:i,renderTrigger:d,disablePadding:p,restoreFocus:F,returnFocus:I,initialFocus:_,appendTo:h,anchor:x,zIndex:j,onOpened:a,onClosed:m})=>{const[w,y]=u.useState(!1),l=e.useFloatingNodeId(),P=u.useRef(null),b=u.useCallback(O=>{y(O),O?a?.():m?.()},[m,a]),{refs:v,floatingStyles:S,context:r}=e.useFloating({nodeId:l,open:w,onOpenChange:b,placement:c,elements:{reference:x},middleware:[e.offset(M+se),e.flip({padding:5}),e.shift({padding:5}),e.arrow({element:P})],whileElementsMounted:e.autoUpdate}),{isMounted:A,styles:N}=e.useTransitionStyles(r,{initial:{opacity:0}}),G=u.useCallback(()=>{y(!1)},[]),D=e.useDismiss(r),z=e.useRole(r),U=e.useFocus(r,{enabled:k(o,"focus")}),B=e.useClick(r,{enabled:k(o,"click")}),Y=e.useHover(r,{enabled:k(o,"hover"),handleClose:e.safePolygon(),restMs:100}),{getReferenceProps:J,getFloatingProps:K}=e.useInteractions([U,B,Y,D,z]);return n.jsxs(n.Fragment,{children:[d({ref:v.setReference,...J()}),n.jsx(e.FloatingNode,{id:l,children:A&&n.jsx(e.FloatingPortal,{root:h,children:n.jsx(e.FloatingFocusManager,{context:r,modal:!1,restoreFocus:F,returnFocus:I,initialFocus:_,children:n.jsx("div",{ref:v.setFloating,style:{zIndex:j,...S},...K(),children:n.jsxs("div",{style:N,className:T(R.floating,p&&R.disablePadding,s&&R.withIcon),children:[typeof t=="function"?t({onRequestClose:G}):t,!i&&n.jsx(e.FloatingArrow,{ref:P,context:r,width:te,height:M,fill:"white"})]})})})})})]})},k=(t,s)=>typeof t=="string"?t===s:t.includes(s),ie="_floating_15fk9_1",le="_withIcon_15fk9_10",re="_iconWrapper_15fk9_16",ae="_info_15fk9_36",ce="_warning_15fk9_42",de="_error_15fk9_48",C={floating:ie,withIcon:le,iconWrapper:re,info:ae,warning:ce,error:de},fe={info:g.stenaInfoCircle,warning:g.stenaExclamationCircle,error:g.stenaExclamationTriangle},ue=12,E=8,ge=2,pe=({children:t,visible:s,placement:o,label:c,variant:i,maxWidth:d="500px",appendTo:p,zIndex:F})=>{const[I,_]=u.useState(!1),h=u.useRef(null),{refs:x,floatingStyles:j,context:a}=e.useFloating({placement:o,open:s??I,onOpenChange:_,middleware:[e.offset(E+ge),e.flip({padding:5}),e.shift({padding:5}),e.arrow({element:h})],whileElementsMounted:e.autoUpdate}),{isMounted:m,styles:w}=e.useTransitionStyles(a,{initial:{opacity:0}}),y=e.useHover(a),{getReferenceProps:l}=e.useInteractions([y]);return n.jsxs(n.Fragment,{children:[n.jsx("div",{ref:x.setReference,...l(),children:t}),m&&n.jsx(e.FloatingPortal,{root:p,children:n.jsx("div",{ref:x.setFloating,style:{zIndex:F,...j},children:n.jsxs("div",{style:{maxWidth:d,...w},className:T(C.floating,i&&C.withIcon),children:[i?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:T(C.iconWrapper,C[i]),children:n.jsx(g.Icon,{icon:fe[i],size:16})}),n.jsx(f.Space,{}),n.jsx(q,{label:c})]}):n.jsx(q,{label:c}),n.jsx(e.FloatingArrow,{ref:h,context:a,width:ue,height:E,fill:"#333"})]})})})]})},q=({label:t})=>n.jsx(f.Text,{color:L.cssColor("--lhds-color-ui-50"),size:"small",variant:"bold",children:t});exports.ActionPrompt=Q;exports.ControlledPopover=ne;exports.Popover=oe;exports.Tooltip=pe;
3
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/popover/ActionPrompt.tsx","../src/components/popover/ControlledPopover.tsx","../src/components/popover/Popover.tsx","../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["import { Column, Row, Space, Text } from \"@stenajs-webui/core\";\nimport { FlatButton, Spinner, PrimaryButton } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\n\nexport interface ActionPromptProps {\n text?: string;\n yesLabel?: string;\n noLabel?: string;\n onYes?: () => void;\n onNo?: () => void;\n loading?: boolean;\n}\n\nexport const ActionPrompt: React.FC<ActionPromptProps> = ({\n text = \"Are you sure?\",\n yesLabel = \"Yes\",\n noLabel = \"No\",\n onNo,\n onYes,\n loading,\n}) => {\n return (\n <Column position={\"relative\"}>\n <div style={{ opacity: loading ? 0 : 1 }}>\n <Text>{text}</Text>\n <Space />\n <Row justifyContent={\"flex-end\"} alignItems={\"center\"}>\n <FlatButton label={noLabel} onClick={onNo} />\n <Space />\n <PrimaryButton label={yesLabel} onClick={onYes} />\n </Row>\n </div>\n {loading && (\n <Row\n justifyContent={\"center\"}\n alignItems={\"center\"}\n left={0}\n top={0}\n width={\"100%\"}\n height={\"100%\"}\n position={\"absolute\"}\n >\n <Spinner size={\"small\"} />\n </Row>\n )}\n </Column>\n );\n};\n","import * as React from \"react\";\nimport { PropsWithChildren, ReactNode, useCallback, useRef } from \"react\";\nimport {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n FloatingNode,\n FloatingPortal,\n FloatingTree,\n offset,\n shift,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useInteractions,\n useRole,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport cx from \"classnames\";\nimport moduleStyles from \"./Popover.module.css\";\nimport { Placement } from \"../../types/Placement\";\n\nexport interface ControlledPopoverProps extends PropsWithChildren {\n open: boolean;\n renderTrigger: (props: Record<string, unknown>) => ReactNode;\n onRequestClose: () => void;\n placement?: Placement;\n hideArrow?: boolean;\n disablePadding?: boolean;\n restoreFocus?: boolean;\n returnFocus?: boolean;\n initialFocus?: number | React.MutableRefObject<HTMLElement | null>;\n appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;\n zIndex?: number;\n}\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const ControlledPopover: React.FC<ControlledPopoverProps> = ({\n children,\n ...props\n}) => {\n const parentNodeId = useFloatingParentNodeId();\n\n if (parentNodeId == null) {\n return (\n <FloatingTree>\n <ControlledPopoverComponent {...props}>\n {children}\n </ControlledPopoverComponent>\n </FloatingTree>\n );\n }\n\n return (\n <ControlledPopoverComponent {...props}>\n {children}\n </ControlledPopoverComponent>\n );\n};\n\nconst ControlledPopoverComponent: React.FC<ControlledPopoverProps> = ({\n children,\n placement = \"bottom\",\n hideArrow,\n renderTrigger,\n disablePadding,\n open,\n onRequestClose,\n restoreFocus,\n returnFocus,\n initialFocus,\n appendTo,\n zIndex,\n}) => {\n const nodeId = useFloatingNodeId();\n\n const arrowRef = useRef(null);\n\n const onOpenChange = useCallback(\n (open: boolean) => {\n if (!open) {\n onRequestClose();\n }\n },\n [onRequestClose],\n );\n\n const { refs, floatingStyles, context } = useFloating({\n nodeId,\n open,\n onOpenChange,\n placement,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles: transitionStyles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n dismiss,\n role,\n ]);\n\n return (\n <>\n {renderTrigger({ ref: refs.setReference, ...getReferenceProps() })}\n\n <FloatingNode id={nodeId}>\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <FloatingFocusManager\n context={context}\n modal={false}\n restoreFocus={restoreFocus}\n returnFocus={returnFocus}\n initialFocus={initialFocus}\n >\n <div\n ref={refs.setFloating}\n style={{ zIndex, ...floatingStyles }}\n {...getFloatingProps()}\n >\n <div\n style={transitionStyles}\n className={cx(\n moduleStyles.floating,\n disablePadding && moduleStyles.disablePadding,\n )}\n >\n {children}\n {!hideArrow && (\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"white\"}\n />\n )}\n </div>\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </FloatingNode>\n </>\n );\n};\n","import {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n FloatingNode,\n FloatingPortal,\n FloatingTree,\n offset,\n safePolygon,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport * as React from \"react\";\nimport { ReactNode, useCallback, useRef, useState } from \"react\";\nimport cx from \"classnames\";\nimport moduleStyles from \"../popover/Popover.module.css\";\nimport { Placement } from \"../../types/Placement\";\n\nexport type PopoverVariant =\n | \"standard\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"outlined\";\n\nexport type PopoverTheme = \"light\" | \"dark\";\nexport type PopoverTrigger = \"click\" | \"hover\" | \"focus\";\n\nexport type PopoverChildren =\n | ReactNode\n | ((args: PopoverChildrenArgs) => ReactNode);\n\nexport interface PopoverChildrenArgs {\n onRequestClose: () => void;\n}\n\ntype TriggerProp = PopoverTrigger | Array<PopoverTrigger>;\n\nexport interface PopoverProps {\n children?: PopoverChildren;\n placement?: Placement;\n trigger?: TriggerProp;\n hideArrow?: boolean;\n disablePadding?: boolean;\n variant?: PopoverVariant;\n theme?: PopoverTheme;\n renderTrigger: (props: Record<string, unknown>) => ReactNode;\n restoreFocus?: boolean;\n returnFocus?: boolean;\n initialFocus?: number | React.RefObject<HTMLElement | null>;\n /**\n * Portal target. Do not use ref to hold this, use useState instead with default null.\n * Floating UI will then wait for it to be set.\n * https://floating-ui.com/docs/FloatingPortal\n */\n appendTo?: HTMLElement | null | undefined;\n /**\n * Anchor target.\n * This allows you to control the position of the popover manually, and is normally not needed.\n * Do not use ref to hold this, use useState instead with default null.\n * From the docs:\n * \"The elements must be held in state (not plain refs) to ensure that they are reactive.\"\n * https://floating-ui.com/docs/useFloating#elements\n *\n * When using this, you must manually set props on anchor elements that are provided by Floating UI.\n * Please see these docs for more information:\n * https://floating-ui.com/docs/useInteractions#external-reference\n */\n anchor?: HTMLElement | null | undefined;\n zIndex?: number;\n onOpened?: () => void;\n onClosed?: () => void;\n}\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const Popover: React.FC<PopoverProps> = ({ children, ...props }) => {\n const parentNodeId = useFloatingParentNodeId();\n\n if (parentNodeId == null) {\n return (\n <FloatingTree>\n <PopoverComponent {...props}>{children}</PopoverComponent>\n </FloatingTree>\n );\n }\n\n return <PopoverComponent {...props}>{children}</PopoverComponent>;\n};\n\nconst PopoverComponent: React.FC<PopoverProps> = ({\n children,\n variant,\n trigger = \"hover\",\n placement = \"bottom\",\n hideArrow,\n renderTrigger,\n disablePadding,\n restoreFocus,\n returnFocus,\n initialFocus,\n appendTo,\n anchor,\n zIndex,\n onOpened,\n onClosed,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const nodeId = useFloatingNodeId();\n\n const arrowRef = useRef(null);\n\n const onOpenChange = useCallback(\n (open: boolean) => {\n setIsOpen(open);\n\n if (open) {\n onOpened?.();\n } else {\n onClosed?.();\n }\n },\n [onClosed, onOpened],\n );\n\n const { refs, floatingStyles, context } = useFloating({\n nodeId,\n open: isOpen,\n onOpenChange,\n placement,\n elements: {\n reference: anchor,\n },\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles: transitionStyles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const onRequestClose = useCallback(() => {\n setIsOpen(false);\n }, []);\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n const onFocus = useFocus(context, { enabled: hasTrigger(trigger, \"focus\") });\n const onClick = useClick(context, { enabled: hasTrigger(trigger, \"click\") });\n const onHover = useHover(context, {\n enabled: hasTrigger(trigger, \"hover\"),\n handleClose: safePolygon(),\n restMs: 100,\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n onFocus,\n onClick,\n onHover,\n dismiss,\n role,\n ]);\n\n return (\n <>\n {renderTrigger({ ref: refs.setReference, ...getReferenceProps() })}\n\n <FloatingNode id={nodeId}>\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <FloatingFocusManager\n context={context}\n modal={false}\n restoreFocus={restoreFocus}\n returnFocus={returnFocus}\n initialFocus={initialFocus}\n >\n <div\n ref={refs.setFloating}\n style={{ zIndex, ...floatingStyles }}\n {...getFloatingProps()}\n >\n <div\n style={transitionStyles}\n className={cx(\n moduleStyles.floating,\n disablePadding && moduleStyles.disablePadding,\n variant && moduleStyles.withIcon,\n )}\n >\n {typeof children === \"function\"\n ? children({ onRequestClose })\n : children}\n {!hideArrow && (\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"white\"}\n />\n )}\n </div>\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </FloatingNode>\n </>\n );\n};\n\nconst hasTrigger = (\n triggerProp: TriggerProp,\n triggerToCheck: PopoverTrigger,\n): boolean => {\n if (typeof triggerProp === \"string\") {\n return triggerProp === triggerToCheck;\n }\n return triggerProp.includes(triggerToCheck);\n};\n","import { Space, Text } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { CSSProperties, PropsWithChildren, useRef, useState } from \"react\";\nimport {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingPortal,\n offset,\n shift,\n useFloating,\n useHover,\n useInteractions,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport moduleStyles from \"./Tooltip.module.css\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport cx from \"classnames\";\nimport {\n Icon,\n stenaExclamationCircle,\n stenaExclamationTriangle,\n stenaInfoCircle,\n} from \"@stenajs-webui/elements\";\nimport { Placement } from \"../../types/Placement\";\n\nexport interface TooltipProps extends PropsWithChildren {\n placement?: Placement;\n visible?: boolean;\n label: string;\n variant?: TooltipVariant;\n maxWidth?: CSSProperties[\"maxWidth\"];\n appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;\n zIndex?: number;\n}\n\ntype TooltipVariant = \"info\" | \"warning\" | \"error\";\n\nconst variantIcons = {\n info: stenaInfoCircle,\n warning: stenaExclamationCircle,\n error: stenaExclamationTriangle,\n};\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const Tooltip: React.FC<TooltipProps> = ({\n children,\n visible,\n placement,\n label,\n variant,\n maxWidth = \"500px\",\n appendTo,\n zIndex,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const arrowRef = useRef(null);\n\n const { refs, floatingStyles, context } = useFloating({\n placement: placement,\n open: visible ?? isOpen,\n onOpenChange: setIsOpen,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const hover = useHover(context);\n\n const { getReferenceProps } = useInteractions([hover]);\n\n return (\n <>\n <div ref={refs.setReference} {...getReferenceProps()}>\n {children}\n </div>\n\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <div ref={refs.setFloating} style={{ zIndex, ...floatingStyles }}>\n <div\n style={{ maxWidth, ...styles }}\n className={cx(\n moduleStyles.floating,\n variant && moduleStyles.withIcon,\n )}\n >\n {variant ? (\n <>\n <div\n className={cx(\n moduleStyles.iconWrapper,\n moduleStyles[variant],\n )}\n >\n <Icon icon={variantIcons[variant]} size={16} />\n </div>\n <Space />\n <TooltipText label={label} />\n </>\n ) : (\n <TooltipText label={label} />\n )}\n\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"#333\"}\n />\n </div>\n </div>\n </FloatingPortal>\n )}\n </>\n );\n};\n\nconst TooltipText: React.FC<{ label: string }> = ({ label }) => (\n <Text color={cssColor(\"--lhds-color-ui-50\")} size={\"small\"} variant={\"bold\"}>\n {label}\n </Text>\n);\n"],"names":["ActionPrompt","text","yesLabel","noLabel","onNo","onYes","loading","jsxs","Column","jsx","Text","Space","Row","FlatButton","PrimaryButton","Spinner","ARROW_WIDTH","ARROW_HEIGHT","GAP","ControlledPopover","children","props","useFloatingParentNodeId","FloatingTree","ControlledPopoverComponent","placement","hideArrow","renderTrigger","disablePadding","open","onRequestClose","restoreFocus","returnFocus","initialFocus","appendTo","zIndex","nodeId","useFloatingNodeId","arrowRef","useRef","onOpenChange","useCallback","refs","floatingStyles","context","useFloating","offset","flip","shift","arrow","autoUpdate","isMounted","transitionStyles","useTransitionStyles","dismiss","useDismiss","role","useRole","getReferenceProps","getFloatingProps","useInteractions","Fragment","FloatingNode","FloatingPortal","FloatingFocusManager","cx","moduleStyles","FloatingArrow","Popover","PopoverComponent","variant","trigger","anchor","onOpened","onClosed","isOpen","setIsOpen","useState","onFocus","useFocus","hasTrigger","onClick","useClick","onHover","useHover","safePolygon","triggerProp","triggerToCheck","variantIcons","stenaInfoCircle","stenaExclamationCircle","stenaExclamationTriangle","Tooltip","visible","label","maxWidth","styles","hover","Icon","TooltipText","cssColor"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/popover/ActionPrompt.tsx","../src/components/popover/ControlledPopover.tsx","../src/components/popover/Popover.tsx","../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["import { Column, Row, Space, Text } from \"@stenajs-webui/core\";\nimport { FlatButton, Spinner, PrimaryButton } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\n\nexport interface ActionPromptProps {\n text?: string;\n yesLabel?: string;\n noLabel?: string;\n onYes?: () => void;\n onNo?: () => void;\n loading?: boolean;\n}\n\nexport const ActionPrompt: React.FC<ActionPromptProps> = ({\n text = \"Are you sure?\",\n yesLabel = \"Yes\",\n noLabel = \"No\",\n onNo,\n onYes,\n loading,\n}) => {\n return (\n <Column position={\"relative\"}>\n <div style={{ opacity: loading ? 0 : 1 }}>\n <Text>{text}</Text>\n <Space />\n <Row justifyContent={\"flex-end\"} alignItems={\"center\"}>\n <FlatButton label={noLabel} onClick={onNo} />\n <Space />\n <PrimaryButton label={yesLabel} onClick={onYes} />\n </Row>\n </div>\n {loading && (\n <Row\n justifyContent={\"center\"}\n alignItems={\"center\"}\n left={0}\n top={0}\n width={\"100%\"}\n height={\"100%\"}\n position={\"absolute\"}\n >\n <Spinner size={\"small\"} />\n </Row>\n )}\n </Column>\n );\n};\n","import * as React from \"react\";\nimport { PropsWithChildren, ReactNode, useCallback, useRef } from \"react\";\nimport {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n FloatingNode,\n FloatingPortal,\n FloatingTree,\n offset,\n shift,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useInteractions,\n useRole,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport cx from \"classnames\";\nimport moduleStyles from \"./Popover.module.css\";\nimport { Placement } from \"../../types/Placement\";\n\nexport interface ControlledPopoverProps extends PropsWithChildren {\n open: boolean;\n renderTrigger: (props: Record<string, unknown>) => ReactNode;\n onRequestClose: () => void;\n placement?: Placement;\n hideArrow?: boolean;\n disablePadding?: boolean;\n restoreFocus?: boolean;\n returnFocus?: boolean;\n initialFocus?: number | React.MutableRefObject<HTMLElement | null>;\n appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;\n zIndex?: number;\n}\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const ControlledPopover: React.FC<ControlledPopoverProps> = ({\n children,\n ...props\n}) => {\n const parentNodeId = useFloatingParentNodeId();\n\n if (parentNodeId == null) {\n return (\n <FloatingTree>\n <ControlledPopoverComponent {...props}>\n {children}\n </ControlledPopoverComponent>\n </FloatingTree>\n );\n }\n\n return (\n <ControlledPopoverComponent {...props}>\n {children}\n </ControlledPopoverComponent>\n );\n};\n\nconst ControlledPopoverComponent: React.FC<ControlledPopoverProps> = ({\n children,\n placement = \"bottom\",\n hideArrow,\n renderTrigger,\n disablePadding,\n open,\n onRequestClose,\n restoreFocus,\n returnFocus,\n initialFocus,\n appendTo,\n zIndex,\n}) => {\n const nodeId = useFloatingNodeId();\n\n const arrowRef = useRef(null);\n\n const onOpenChange = useCallback(\n (open: boolean) => {\n if (!open) {\n onRequestClose();\n }\n },\n [onRequestClose],\n );\n\n const { refs, floatingStyles, context } = useFloating({\n nodeId,\n open,\n onOpenChange,\n placement,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles: transitionStyles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n dismiss,\n role,\n ]);\n\n return (\n <>\n {renderTrigger({ ref: refs.setReference, ...getReferenceProps() })}\n\n <FloatingNode id={nodeId}>\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <FloatingFocusManager\n context={context}\n modal={false}\n restoreFocus={restoreFocus}\n returnFocus={returnFocus}\n initialFocus={initialFocus}\n >\n <div\n ref={refs.setFloating}\n style={{ zIndex, ...floatingStyles }}\n {...getFloatingProps()}\n >\n <div\n style={transitionStyles}\n className={cx(\n moduleStyles.floating,\n disablePadding && moduleStyles.disablePadding,\n )}\n >\n {children}\n {!hideArrow && (\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"white\"}\n />\n )}\n </div>\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </FloatingNode>\n </>\n );\n};\n","import {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n FloatingNode,\n FloatingPortal,\n FloatingTree,\n offset,\n safePolygon,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport * as React from \"react\";\nimport { ReactNode, useCallback, useRef, useState } from \"react\";\nimport cx from \"classnames\";\nimport moduleStyles from \"../popover/Popover.module.css\";\nimport { Placement } from \"../../types/Placement\";\n\nexport type PopoverVariant =\n | \"standard\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"outlined\";\n\nexport type PopoverTheme = \"light\" | \"dark\";\nexport type PopoverTrigger = \"click\" | \"hover\" | \"focus\";\n\nexport type PopoverChildren =\n | ReactNode\n | ((args: PopoverChildrenArgs) => ReactNode);\n\nexport interface PopoverChildrenArgs {\n onRequestClose: () => void;\n}\n\ntype TriggerProp = PopoverTrigger | Array<PopoverTrigger>;\n\nexport interface PopoverProps {\n children?: PopoverChildren;\n placement?: Placement;\n trigger?: TriggerProp;\n hideArrow?: boolean;\n disablePadding?: boolean;\n variant?: PopoverVariant;\n theme?: PopoverTheme;\n renderTrigger: (props: Record<string, unknown>) => ReactNode;\n restoreFocus?: boolean;\n returnFocus?: boolean;\n initialFocus?: number | React.RefObject<HTMLElement | null>;\n /**\n * Portal target. Do not use ref to hold this, use useState instead with default null.\n * Floating UI will then wait for it to be set.\n * https://floating-ui.com/docs/FloatingPortal\n */\n appendTo?: HTMLElement | null | undefined;\n /**\n * Anchor target.\n * This allows you to control the position of the popover manually, and is normally not needed.\n * Do not use ref to hold this, use useState instead with default null.\n * From the docs:\n * \"The elements must be held in state (not plain refs) to ensure that they are reactive.\"\n * https://floating-ui.com/docs/useFloating#elements\n *\n * When using this, you must manually set props on anchor elements that are provided by Floating UI.\n * Please see these docs for more information:\n * https://floating-ui.com/docs/useInteractions#external-reference\n */\n anchor?: HTMLElement | null | undefined;\n zIndex?: number;\n onOpened?: () => void;\n onClosed?: () => void;\n}\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const Popover: React.FC<PopoverProps> = ({ children, ...props }) => {\n const parentNodeId = useFloatingParentNodeId();\n\n if (parentNodeId == null) {\n return (\n <FloatingTree>\n <PopoverComponent {...props}>{children}</PopoverComponent>\n </FloatingTree>\n );\n }\n\n return <PopoverComponent {...props}>{children}</PopoverComponent>;\n};\n\nconst PopoverComponent: React.FC<PopoverProps> = ({\n children,\n variant,\n trigger = \"hover\",\n placement = \"bottom\",\n hideArrow,\n renderTrigger,\n disablePadding,\n restoreFocus,\n returnFocus,\n initialFocus,\n appendTo,\n anchor,\n zIndex,\n onOpened,\n onClosed,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const nodeId = useFloatingNodeId();\n\n const arrowRef = useRef(null);\n\n const onOpenChange = useCallback(\n (open: boolean) => {\n setIsOpen(open);\n\n if (open) {\n onOpened?.();\n } else {\n onClosed?.();\n }\n },\n [onClosed, onOpened],\n );\n\n const { refs, floatingStyles, context } = useFloating({\n nodeId,\n open: isOpen,\n onOpenChange,\n placement,\n elements: {\n reference: anchor,\n },\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles: transitionStyles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const onRequestClose = useCallback(() => {\n setIsOpen(false);\n }, []);\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n const onFocus = useFocus(context, { enabled: hasTrigger(trigger, \"focus\") });\n const onClick = useClick(context, { enabled: hasTrigger(trigger, \"click\") });\n const onHover = useHover(context, {\n enabled: hasTrigger(trigger, \"hover\"),\n handleClose: safePolygon(),\n restMs: 100,\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n onFocus,\n onClick,\n onHover,\n dismiss,\n role,\n ]);\n\n return (\n <>\n {renderTrigger({ ref: refs.setReference, ...getReferenceProps() })}\n\n <FloatingNode id={nodeId}>\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <FloatingFocusManager\n context={context}\n modal={false}\n restoreFocus={restoreFocus}\n returnFocus={returnFocus}\n initialFocus={initialFocus}\n >\n <div\n ref={refs.setFloating}\n style={{ zIndex, ...floatingStyles }}\n {...getFloatingProps()}\n >\n <div\n style={transitionStyles}\n className={cx(\n moduleStyles.floating,\n disablePadding && moduleStyles.disablePadding,\n variant && moduleStyles.withIcon,\n )}\n >\n {typeof children === \"function\"\n ? children({ onRequestClose })\n : children}\n {!hideArrow && (\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"white\"}\n />\n )}\n </div>\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </FloatingNode>\n </>\n );\n};\n\nconst hasTrigger = (\n triggerProp: TriggerProp,\n triggerToCheck: PopoverTrigger,\n): boolean => {\n if (typeof triggerProp === \"string\") {\n return triggerProp === triggerToCheck;\n }\n return triggerProp.includes(triggerToCheck);\n};\n","import { Space, Text } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { CSSProperties, PropsWithChildren, useRef, useState } from \"react\";\nimport {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingPortal,\n offset,\n shift,\n useFloating,\n useHover,\n useInteractions,\n useTransitionStyles,\n} from \"@floating-ui/react\";\nimport moduleStyles from \"./Tooltip.module.css\";\nimport { cssColor } from \"@stenajs-webui/theme\";\nimport cx from \"classnames\";\nimport {\n Icon,\n stenaExclamationCircle,\n stenaExclamationTriangle,\n stenaInfoCircle,\n} from \"@stenajs-webui/elements\";\nimport { Placement } from \"../../types/Placement\";\n\nexport interface TooltipProps extends PropsWithChildren {\n placement?: Placement;\n visible?: boolean;\n label: string;\n variant?: TooltipVariant;\n maxWidth?: CSSProperties[\"maxWidth\"];\n appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;\n zIndex?: number;\n}\n\ntype TooltipVariant = \"info\" | \"warning\" | \"error\";\n\nconst variantIcons = {\n info: stenaInfoCircle,\n warning: stenaExclamationCircle,\n error: stenaExclamationTriangle,\n};\n\nconst ARROW_WIDTH = 12;\nconst ARROW_HEIGHT = 8;\nconst GAP = 2;\n\nexport const Tooltip: React.FC<TooltipProps> = ({\n children,\n visible,\n placement,\n label,\n variant,\n maxWidth = \"500px\",\n appendTo,\n zIndex,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const arrowRef = useRef(null);\n\n const { refs, floatingStyles, context } = useFloating({\n placement: placement,\n open: visible ?? isOpen,\n onOpenChange: setIsOpen,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({ element: arrowRef }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const { isMounted, styles } = useTransitionStyles(context, {\n initial: {\n opacity: 0,\n },\n });\n\n const hover = useHover(context);\n\n const { getReferenceProps } = useInteractions([hover]);\n\n return (\n <>\n <div ref={refs.setReference} {...getReferenceProps()}>\n {children}\n </div>\n\n {isMounted && (\n <FloatingPortal root={appendTo}>\n <div ref={refs.setFloating} style={{ zIndex, ...floatingStyles }}>\n <div\n style={{ maxWidth, ...styles }}\n className={cx(\n moduleStyles.floating,\n variant && moduleStyles.withIcon,\n )}\n >\n {variant ? (\n <>\n <div\n className={cx(\n moduleStyles.iconWrapper,\n moduleStyles[variant],\n )}\n >\n <Icon icon={variantIcons[variant]} size={16} />\n </div>\n <Space />\n <TooltipText label={label} />\n </>\n ) : (\n <TooltipText label={label} />\n )}\n\n <FloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n fill={\"#333\"}\n />\n </div>\n </div>\n </FloatingPortal>\n )}\n </>\n );\n};\n\nconst TooltipText: React.FC<{ label: string }> = ({ label }) => (\n <Text color={cssColor(\"--lhds-color-ui-50\")} size={\"small\"} variant={\"bold\"}>\n {label}\n </Text>\n);\n"],"names":["ActionPrompt","text","yesLabel","noLabel","onNo","onYes","loading","jsxs","Column","jsx","Text","Space","Row","FlatButton","PrimaryButton","Spinner","ARROW_WIDTH","ARROW_HEIGHT","GAP","ControlledPopover","children","props","useFloatingParentNodeId","FloatingTree","ControlledPopoverComponent","placement","hideArrow","renderTrigger","disablePadding","open","onRequestClose","restoreFocus","returnFocus","initialFocus","appendTo","zIndex","nodeId","useFloatingNodeId","arrowRef","useRef","onOpenChange","useCallback","refs","floatingStyles","context","useFloating","offset","flip","shift","arrow","autoUpdate","isMounted","transitionStyles","useTransitionStyles","dismiss","useDismiss","role","useRole","getReferenceProps","getFloatingProps","useInteractions","Fragment","FloatingNode","FloatingPortal","FloatingFocusManager","cx","moduleStyles","FloatingArrow","Popover","PopoverComponent","variant","trigger","anchor","onOpened","onClosed","isOpen","setIsOpen","useState","onFocus","useFocus","hasTrigger","onClick","useClick","onHover","useHover","safePolygon","triggerProp","triggerToCheck","variantIcons","stenaInfoCircle","stenaExclamationCircle","stenaExclamationTriangle","Tooltip","visible","label","maxWidth","styles","hover","Icon","TooltipText","cssColor"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stenajs-webui/tooltip",
3
- "version": "22.6.2",
3
+ "version": "22.7.1",
4
4
  "type": "module",
5
5
  "description": "",
6
6
  "author": "mattias800",
@@ -36,9 +36,9 @@
36
36
  },
37
37
  "dependencies": {
38
38
  "@floating-ui/react": "^0.27.3",
39
- "@stenajs-webui/core": "22.6.2",
40
- "@stenajs-webui/elements": "22.6.2",
41
- "@stenajs-webui/theme": "22.6.2",
39
+ "@stenajs-webui/core": "22.7.1",
40
+ "@stenajs-webui/elements": "22.7.1",
41
+ "@stenajs-webui/theme": "22.7.1",
42
42
  "classnames": "^2.5.1"
43
43
  },
44
44
  "peerDependencies": {
@@ -60,5 +60,5 @@
60
60
  "files": [
61
61
  "dist"
62
62
  ],
63
- "gitHead": "247ff0febbfd649d38b1a669a0db71f3b787edce"
63
+ "gitHead": "5b1d9a504d0e6c97dc6415bba20da1c14304b87f"
64
64
  }