@stenajs-webui/tooltip 21.22.0 → 21.23.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,30 +1,30 @@
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:-moz-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 l, jsx as e, Fragment as W } from "react/jsx-runtime";
3
- import { Column as ae, Text as Q, Space as k, Row as Y } from "@stenajs-webui/core";
4
- import { FlatButton as fe, PrimaryButton as de, Spinner as ge, Icon as pe, stenaInfoCircle as he, stenaExclamationCircle as me, stenaExclamationTriangle as ue } from "@stenajs-webui/elements";
5
- import { useRef as S, useCallback as H, useState as V } from "react";
6
- import { useFloating as C, offset as E, flip as M, shift as O, arrow as G, autoUpdate as N, useTransitionStyles as j, useDismiss as X, useRole as Z, useInteractions as D, FloatingPortal as z, FloatingFocusManager as ee, FloatingArrow as B, useFocus as _e, useClick as we, useHover as ne, safePolygon as ye } from "@floating-ui/react";
7
- import b from "classnames";
8
- import { cssColor as Re } from "@stenajs-webui/theme";
9
- const Je = ({
2
+ import { jsxs as c, jsx as e, Fragment as F } from "react/jsx-runtime";
3
+ import { Column as me, Text as Z, Space as $, Row as q } from "@stenajs-webui/core";
4
+ import { FlatButton as _e, PrimaryButton as we, Spinner as ye, Icon as Ie, stenaInfoCircle as Re, stenaExclamationCircle as Pe, stenaExclamationTriangle as ve } from "@stenajs-webui/elements";
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 Fe, useClick as We, useHover as ce, safePolygon as be } from "@floating-ui/react";
7
+ import W from "classnames";
8
+ import { cssColor as xe } from "@stenajs-webui/theme";
9
+ const en = ({
10
10
  text: n = "Are you sure?",
11
11
  yesLabel: t = "Yes",
12
- noLabel: c = "No",
13
- onNo: f,
14
- onYes: o,
15
- loading: d
16
- }) => /* @__PURE__ */ l(ae, { position: "relative", children: [
17
- /* @__PURE__ */ l("div", { style: { opacity: d ? 0 : 1 }, children: [
18
- /* @__PURE__ */ e(Q, { children: n }),
19
- /* @__PURE__ */ e(k, {}),
20
- /* @__PURE__ */ l(Y, { justifyContent: "flex-end", alignItems: "center", children: [
21
- /* @__PURE__ */ e(fe, { label: c, onClick: f }),
22
- /* @__PURE__ */ e(k, {}),
23
- /* @__PURE__ */ e(de, { label: t, onClick: o })
12
+ noLabel: o = "No",
13
+ onNo: d,
14
+ onYes: s,
15
+ loading: f
16
+ }) => /* @__PURE__ */ c(me, { position: "relative", children: [
17
+ /* @__PURE__ */ c("div", { style: { opacity: f ? 0 : 1 }, children: [
18
+ /* @__PURE__ */ e(Z, { children: n }),
19
+ /* @__PURE__ */ e($, {}),
20
+ /* @__PURE__ */ c(q, { justifyContent: "flex-end", alignItems: "center", children: [
21
+ /* @__PURE__ */ e(_e, { label: o, onClick: d }),
22
+ /* @__PURE__ */ e($, {}),
23
+ /* @__PURE__ */ e(we, { label: t, onClick: s })
24
24
  ] })
25
25
  ] }),
26
- d && /* @__PURE__ */ e(
27
- Y,
26
+ f && /* @__PURE__ */ e(
27
+ q,
28
28
  {
29
29
  justifyContent: "center",
30
30
  alignItems: "center",
@@ -33,60 +33,64 @@ const Je = ({
33
33
  width: "100%",
34
34
  height: "100%",
35
35
  position: "absolute",
36
- children: /* @__PURE__ */ e(ge, { size: "small" })
36
+ children: /* @__PURE__ */ e(ye, { size: "small" })
37
37
  }
38
38
  )
39
- ] }), Ie = "_floating_1glwr_1", Pe = "_disablePadding_1glwr_11", ve = "_iconWrapper_1glwr_16", We = "_info_1glwr_36", be = "_warning_1glwr_42", Fe = "_error_1glwr_48", I = {
40
- floating: Ie,
41
- disablePadding: Pe,
42
- iconWrapper: ve,
43
- info: We,
44
- warning: be,
45
- error: Fe
46
- }, xe = 12, q = 8, Ae = 2, Ke = ({
39
+ ] }), Ce = "_floating_1glwr_1", Te = "_disablePadding_1glwr_11", Ae = "_iconWrapper_1glwr_16", Ne = "_info_1glwr_36", $e = "_warning_1glwr_42", ke = "_error_1glwr_48", R = {
40
+ floating: Ce,
41
+ disablePadding: Te,
42
+ iconWrapper: Ae,
43
+ info: Ne,
44
+ warning: $e,
45
+ error: ke
46
+ }, He = 12, J = 8, Se = 2, nn = ({
47
+ children: n,
48
+ ...t
49
+ }) => ne() == null ? /* @__PURE__ */ e(te, { children: /* @__PURE__ */ e(K, { ...t, children: n }) }) : /* @__PURE__ */ e(K, { ...t, children: n }), K = ({
47
50
  children: n,
48
51
  placement: t = "bottom",
49
- hideArrow: c,
50
- renderTrigger: f,
51
- disablePadding: o,
52
- open: d,
53
- onRequestClose: g,
52
+ hideArrow: o,
53
+ renderTrigger: d,
54
+ disablePadding: s,
55
+ open: f,
56
+ onRequestClose: p,
54
57
  restoreFocus: _,
55
58
  returnFocus: w,
56
59
  initialFocus: y,
57
- appendTo: p,
58
- zIndex: h
60
+ appendTo: h,
61
+ zIndex: u
59
62
  }) => {
60
- const a = S(null), i = H(
61
- (T) => {
62
- T || g();
63
+ const a = oe(), i = H(null), I = k(
64
+ (A) => {
65
+ A || p();
63
66
  },
64
- [g]
65
- ), { refs: m, floatingStyles: u, context: s } = C({
66
- open: d,
67
- onOpenChange: i,
67
+ [p]
68
+ ), { refs: g, floatingStyles: m, context: r } = S({
69
+ nodeId: a,
70
+ open: f,
71
+ onOpenChange: I,
68
72
  placement: t,
69
73
  middleware: [
70
- E(q + Ae),
74
+ E(J + Se),
71
75
  M({ padding: 5 }),
72
76
  O({ padding: 5 }),
73
- G({ element: a })
77
+ G({ element: i })
74
78
  ],
75
- whileElementsMounted: N
76
- }), { isMounted: R, styles: P } = j(s, {
79
+ whileElementsMounted: j
80
+ }), { isMounted: b, styles: P } = D(r, {
77
81
  initial: {
78
82
  opacity: 0
79
83
  }
80
- }), F = X(s), r = Z(s), { getReferenceProps: x, getFloatingProps: A } = D([
81
- F,
82
- r
84
+ }), x = ie(r), l = se(r), { getReferenceProps: C, getFloatingProps: T } = z([
85
+ x,
86
+ l
83
87
  ]);
84
- return /* @__PURE__ */ l(W, { children: [
85
- f({ ref: m.setReference, ...x() }),
86
- R && /* @__PURE__ */ e(z, { root: p, children: /* @__PURE__ */ e(
87
- ee,
88
+ return /* @__PURE__ */ c(F, { children: [
89
+ d({ ref: g.setReference, ...C() }),
90
+ /* @__PURE__ */ e(re, { id: a, children: b && /* @__PURE__ */ e(B, { root: h, children: /* @__PURE__ */ e(
91
+ le,
88
92
  {
89
- context: s,
93
+ context: r,
90
94
  modal: !1,
91
95
  restoreFocus: _,
92
96
  returnFocus: w,
@@ -94,26 +98,26 @@ const Je = ({
94
98
  children: /* @__PURE__ */ e(
95
99
  "div",
96
100
  {
97
- ref: m.setFloating,
98
- style: { zIndex: h, ...u },
99
- ...A,
100
- children: /* @__PURE__ */ l(
101
+ ref: g.setFloating,
102
+ style: { zIndex: u, ...m },
103
+ ...T(),
104
+ children: /* @__PURE__ */ c(
101
105
  "div",
102
106
  {
103
107
  style: P,
104
- className: b(
105
- I.floating,
106
- o && I.disablePadding
108
+ className: W(
109
+ R.floating,
110
+ s && R.disablePadding
107
111
  ),
108
112
  children: [
109
113
  n,
110
- !c && /* @__PURE__ */ e(
111
- B,
114
+ !o && /* @__PURE__ */ e(
115
+ U,
112
116
  {
113
- ref: a,
114
- context: s,
115
- width: xe,
116
- height: q,
117
+ ref: i,
118
+ context: r,
119
+ width: He,
120
+ height: J,
117
121
  fill: "white"
118
122
  }
119
123
  )
@@ -123,63 +127,64 @@ const Je = ({
123
127
  }
124
128
  )
125
129
  }
126
- ) })
130
+ ) }) })
127
131
  ] });
128
- }, Te = 12, J = 8, $e = 2, Le = ({
132
+ }, Ee = 12, L = 8, Me = 2, tn = ({ children: n, ...t }) => ne() == null ? /* @__PURE__ */ e(te, { children: /* @__PURE__ */ e(Q, { ...t, children: n }) }) : /* @__PURE__ */ e(Q, { ...t, children: n }), Q = ({
129
133
  children: n,
130
134
  variant: t,
131
- trigger: c = "hover",
132
- placement: f = "bottom",
133
- hideArrow: o,
134
- renderTrigger: d,
135
- disablePadding: g,
135
+ trigger: o = "hover",
136
+ placement: d = "bottom",
137
+ hideArrow: s,
138
+ renderTrigger: f,
139
+ disablePadding: p,
136
140
  restoreFocus: _,
137
141
  returnFocus: w,
138
142
  initialFocus: y,
139
- appendTo: p,
140
- zIndex: h,
143
+ appendTo: h,
144
+ zIndex: u,
141
145
  onOpened: a,
142
146
  onClosed: i
143
147
  }) => {
144
- const [m, u] = V(!1), s = S(null), R = H(
145
- (U) => {
146
- u(U), U ? a == null || a() : i == null || i();
148
+ const [I, g] = ee(!1), m = oe(), r = H(null), b = k(
149
+ (Y) => {
150
+ g(Y), Y ? a == null || a() : i == null || i();
147
151
  },
148
152
  [i, a]
149
- ), { refs: P, floatingStyles: F, context: r } = C({
150
- open: m,
151
- onOpenChange: R,
152
- placement: f,
153
+ ), { refs: P, floatingStyles: x, context: l } = S({
154
+ nodeId: m,
155
+ open: I,
156
+ onOpenChange: b,
157
+ placement: d,
153
158
  middleware: [
154
- E(J + $e),
159
+ E(L + Me),
155
160
  M({ padding: 5 }),
156
161
  O({ padding: 5 }),
157
- G({ element: s })
162
+ G({ element: r })
158
163
  ],
159
- whileElementsMounted: N
160
- }), { isMounted: x, styles: A } = j(r, {
164
+ whileElementsMounted: j
165
+ }), { isMounted: C, styles: T } = D(l, {
161
166
  initial: {
162
167
  opacity: 0
163
168
  }
164
- }), T = H(() => {
165
- u(!1);
166
- }, []), te = X(r), oe = Z(r), ie = _e(r, { enabled: $(c, "focus") }), se = we(r, { enabled: $(c, "click") }), re = ne(r, {
167
- enabled: $(c, "hover"),
168
- handleClose: ye(),
169
+ }), A = k(() => {
170
+ g(!1);
171
+ }, []), ae = ie(l), de = se(l), fe = Fe(l, { enabled: N(o, "focus") }), ge = We(l, { enabled: N(o, "click") }), pe = ce(l, {
172
+ enabled: N(o, "hover"),
173
+ handleClose: be(),
169
174
  restMs: 100
170
- }), { getReferenceProps: le, getFloatingProps: ce } = D([
171
- ie,
172
- se,
173
- re,
174
- te,
175
- oe
175
+ }), { getReferenceProps: he, getFloatingProps: ue } = z([
176
+ fe,
177
+ ge,
178
+ pe,
179
+ ae,
180
+ de
176
181
  ]);
177
- return /* @__PURE__ */ l(W, { children: [
178
- d({ ref: P.setReference, ...le() }),
179
- x && /* @__PURE__ */ e(z, { root: p, children: /* @__PURE__ */ e(
180
- ee,
182
+ return /* @__PURE__ */ c(F, { children: [
183
+ f({ ref: P.setReference, ...he() }),
184
+ /* @__PURE__ */ e(re, { id: m, children: C && /* @__PURE__ */ e(B, { root: h, children: /* @__PURE__ */ e(
185
+ le,
181
186
  {
182
- context: r,
187
+ context: l,
183
188
  modal: !1,
184
189
  restoreFocus: _,
185
190
  returnFocus: w,
@@ -188,26 +193,26 @@ const Je = ({
188
193
  "div",
189
194
  {
190
195
  ref: P.setFloating,
191
- style: { zIndex: h, ...F },
192
- ...ce,
193
- children: /* @__PURE__ */ l(
196
+ style: { zIndex: u, ...x },
197
+ ...ue(),
198
+ children: /* @__PURE__ */ c(
194
199
  "div",
195
200
  {
196
- style: A,
197
- className: b(
198
- I.floating,
199
- g && I.disablePadding,
200
- t && I.withIcon
201
+ style: T,
202
+ className: W(
203
+ R.floating,
204
+ p && R.disablePadding,
205
+ t && R.withIcon
201
206
  ),
202
207
  children: [
203
- typeof n == "function" ? n({ onRequestClose: T }) : n,
204
- !o && /* @__PURE__ */ e(
205
- B,
208
+ typeof n == "function" ? n({ onRequestClose: A }) : n,
209
+ !s && /* @__PURE__ */ e(
210
+ U,
206
211
  {
207
- ref: s,
208
- context: r,
209
- width: Te,
210
- height: J,
212
+ ref: r,
213
+ context: l,
214
+ width: Ee,
215
+ height: L,
211
216
  fill: "white"
212
217
  }
213
218
  )
@@ -217,77 +222,77 @@ const Je = ({
217
222
  }
218
223
  )
219
224
  }
220
- ) })
225
+ ) }) })
221
226
  ] });
222
- }, $ = (n, t) => typeof n == "string" ? n === t : n.includes(t), ke = "_floating_15fk9_1", He = "_withIcon_15fk9_10", Se = "_iconWrapper_15fk9_16", Ce = "_info_15fk9_36", Ee = "_warning_15fk9_42", Me = "_error_15fk9_48", v = {
223
- floating: ke,
224
- withIcon: He,
225
- iconWrapper: Se,
226
- info: Ce,
227
- warning: Ee,
228
- error: Me
229
- }, Oe = {
230
- info: he,
231
- warning: me,
232
- error: ue
233
- }, Ge = 12, K = 8, Ne = 2, Qe = ({
227
+ }, N = (n, t) => typeof n == "string" ? n === t : n.includes(t), Oe = "_floating_15fk9_1", Ge = "_withIcon_15fk9_10", je = "_iconWrapper_15fk9_16", De = "_info_15fk9_36", ze = "_warning_15fk9_42", Be = "_error_15fk9_48", v = {
228
+ floating: Oe,
229
+ withIcon: Ge,
230
+ iconWrapper: je,
231
+ info: De,
232
+ warning: ze,
233
+ error: Be
234
+ }, Ue = {
235
+ info: Re,
236
+ warning: Pe,
237
+ error: ve
238
+ }, Ye = 12, V = 8, qe = 2, on = ({
234
239
  children: n,
235
240
  visible: t,
236
- placement: c,
237
- label: f,
238
- variant: o,
239
- maxWidth: d = "500px",
240
- appendTo: g,
241
+ placement: o,
242
+ label: d,
243
+ variant: s,
244
+ maxWidth: f = "500px",
245
+ appendTo: p,
241
246
  zIndex: _
242
247
  }) => {
243
- const [w, y] = V(!1), p = S(null), { refs: h, floatingStyles: a, context: i } = C({
244
- placement: c,
248
+ const [w, y] = ee(!1), h = H(null), { refs: u, floatingStyles: a, context: i } = S({
249
+ placement: o,
245
250
  open: t ?? w,
246
251
  onOpenChange: y,
247
252
  middleware: [
248
- E(K + Ne),
253
+ E(V + qe),
249
254
  M({ padding: 5 }),
250
255
  O({ padding: 5 }),
251
- G({ element: p })
256
+ G({ element: h })
252
257
  ],
253
- whileElementsMounted: N
254
- }), { isMounted: m, styles: u } = j(i, {
258
+ whileElementsMounted: j
259
+ }), { isMounted: I, styles: g } = D(i, {
255
260
  initial: {
256
261
  opacity: 0
257
262
  }
258
- }), s = ne(i), { getReferenceProps: R } = D([s]);
259
- return /* @__PURE__ */ l(W, { children: [
260
- /* @__PURE__ */ e("div", { ref: h.setReference, ...R(), children: n }),
261
- m && /* @__PURE__ */ e(z, { root: g, children: /* @__PURE__ */ e("div", { ref: h.setFloating, style: { zIndex: _, ...a }, children: /* @__PURE__ */ l(
263
+ }), m = ce(i), { getReferenceProps: r } = z([m]);
264
+ return /* @__PURE__ */ c(F, { children: [
265
+ /* @__PURE__ */ e("div", { ref: u.setReference, ...r(), children: n }),
266
+ I && /* @__PURE__ */ e(B, { root: p, children: /* @__PURE__ */ e("div", { ref: u.setFloating, style: { zIndex: _, ...a }, children: /* @__PURE__ */ c(
262
267
  "div",
263
268
  {
264
- style: { maxWidth: d, ...u },
265
- className: b(
269
+ style: { maxWidth: f, ...g },
270
+ className: W(
266
271
  v.floating,
267
- o && v.withIcon
272
+ s && v.withIcon
268
273
  ),
269
274
  children: [
270
- o ? /* @__PURE__ */ l(W, { children: [
275
+ s ? /* @__PURE__ */ c(F, { children: [
271
276
  /* @__PURE__ */ e(
272
277
  "div",
273
278
  {
274
- className: b(
279
+ className: W(
275
280
  v.iconWrapper,
276
- v[o]
281
+ v[s]
277
282
  ),
278
- children: /* @__PURE__ */ e(pe, { icon: Oe[o], size: 16 })
283
+ children: /* @__PURE__ */ e(Ie, { icon: Ue[s], size: 16 })
279
284
  }
280
285
  ),
281
- /* @__PURE__ */ e(k, {}),
282
- /* @__PURE__ */ e(L, { label: f })
283
- ] }) : /* @__PURE__ */ e(L, { label: f }),
286
+ /* @__PURE__ */ e($, {}),
287
+ /* @__PURE__ */ e(X, { label: d })
288
+ ] }) : /* @__PURE__ */ e(X, { label: d }),
284
289
  /* @__PURE__ */ e(
285
- B,
290
+ U,
286
291
  {
287
- ref: p,
292
+ ref: h,
288
293
  context: i,
289
- width: Ge,
290
- height: K,
294
+ width: Ye,
295
+ height: V,
291
296
  fill: "#333"
292
297
  }
293
298
  )
@@ -295,11 +300,11 @@ const Je = ({
295
300
  }
296
301
  ) }) })
297
302
  ] });
298
- }, L = ({ label: n }) => /* @__PURE__ */ e(Q, { color: Re("--lhds-color-ui-50"), size: "small", variant: "bold", children: n });
303
+ }, X = ({ label: n }) => /* @__PURE__ */ e(Z, { color: xe("--lhds-color-ui-50"), size: "small", variant: "bold", children: n });
299
304
  export {
300
- Je as ActionPrompt,
301
- Ke as ControlledPopover,
302
- Le as Popover,
303
- Qe as Tooltip
305
+ en as ActionPrompt,
306
+ nn as ControlledPopover,
307
+ tn as Popover,
308
+ on as Tooltip
304
309
  };
305
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 FloatingPortal,\n offset,\n shift,\n useDismiss,\n useFloating,\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 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 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 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 {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 </>\n );\n};\n","import * as React from \"react\";\nimport { ReactNode, useCallback, useRef, useState } from \"react\";\nimport {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n FloatingPortal,\n offset,\n safePolygon,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useFocus,\n useHover,\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 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.MutableRefObject<HTMLElement | null>;\n appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;\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> = ({\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 zIndex,\n onOpened,\n onClosed,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\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 open: isOpen,\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 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 {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 </>\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","placement","hideArrow","renderTrigger","disablePadding","open","onRequestClose","restoreFocus","returnFocus","initialFocus","appendTo","zIndex","arrowRef","useRef","onOpenChange","useCallback","refs","floatingStyles","context","useFloating","offset","flip","shift","arrow","autoUpdate","isMounted","transitionStyles","useTransitionStyles","dismiss","useDismiss","role","useRole","getReferenceProps","getFloatingProps","useInteractions","Fragment","FloatingPortal","FloatingFocusManager","cx","moduleStyles","FloatingArrow","Popover","variant","trigger","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":";;;;;;;AAaO,MAAMA,KAA4C,CAAC;AAAA,EACxD,MAAAC,IAAO;AAAA,EACP,UAAAC,IAAW;AAAA,EACX,SAAAC,IAAU;AAAA,EACV,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,SAAAC;AACF,MAEI,gBAAAC,EAACC,IAAO,EAAA,UAAU,YAChB,UAAA;AAAA,EAAA,gBAAAD,EAAC,SAAI,OAAO,EAAE,SAASD,IAAU,IAAI,EACnC,GAAA,UAAA;AAAA,IAAA,gBAAAG,EAACC,KAAM,UAAKT,EAAA,CAAA;AAAA,sBACXU,GAAM,EAAA;AAAA,IACN,gBAAAJ,EAAAK,GAAA,EAAI,gBAAgB,YAAY,YAAY,UAC3C,UAAA;AAAA,MAAA,gBAAAH,EAACI,IAAW,EAAA,OAAOV,GAAS,SAASC,GAAM;AAAA,wBAC1CO,GAAM,EAAA;AAAA,MACN,gBAAAF,EAAAK,IAAA,EAAc,OAAOZ,GAAU,SAASG,GAAO;AAAA,IAAA,GAClD;AAAA,EAAA,GACF;AAAA,EACCC,KACC,gBAAAG;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,MAAM;AAAA,MACN,KAAK;AAAA,MACL,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,UAAU;AAAA,MAEV,UAAA,gBAAAH,EAACM,IAAQ,EAAA,MAAM,QAAS,CAAA;AAAA,IAAA;AAAA,EAC1B;AAEJ,EAAA,CAAA;;;;;;;GCVEC,KAAc,IACdC,IAAe,GACfC,KAAM,GAECC,KAAsD,CAAC;AAAA,EAClE,UAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,MAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AACF,MAAM;AACE,QAAAC,IAAWC,EAAO,IAAI,GAEtBC,IAAeC;AAAA,IACnB,CAACV,MAAkB;AACjB,MAAKA,KACYC;IAEnB;AAAA,IACA,CAACA,CAAc;AAAA,EAAA,GAGX,EAAE,MAAAU,GAAM,gBAAAC,GAAgB,SAAAC,EAAA,IAAYC,EAAY;AAAA,IACpD,MAAAd;AAAA,IACA,cAAAS;AAAA,IACA,WAAAb;AAAA,IACA,YAAY;AAAA,MACVmB,EAAOvB,IAAeC,EAAG;AAAA,MACzBuB,EAAK,EAAE,SAAS,GAAG;AAAA,MACnBC,EAAM,EAAE,SAAS,GAAG;AAAA,MACpBC,EAAM,EAAE,SAASX,GAAU;AAAA,IAC7B;AAAA,IACA,sBAAsBY;AAAA,EAAA,CACvB,GAEK,EAAE,WAAAC,GAAW,QAAQC,EAAiB,IAAIC,EAAoBT,GAAS;AAAA,IAC3E,SAAS;AAAA,MACP,SAAS;AAAA,IACX;AAAA,EAAA,CACD,GAEKU,IAAUC,EAAWX,CAAO,GAC5BY,IAAOC,EAAQb,CAAO,GAEtB,EAAE,mBAAAc,GAAmB,kBAAAC,EAAiB,IAAIC,EAAgB;AAAA,IAC9DN;AAAA,IACAE;AAAA,EAAA,CACD;AAED,SAEK,gBAAA3C,EAAAgD,GAAA,EAAA,UAAA;AAAA,IAAAhC,EAAc,EAAE,KAAKa,EAAK,cAAc,GAAGgB,EAAA,GAAqB;AAAA,IAEhEP,KACC,gBAAApC,EAAC+C,GAAe,EAAA,MAAM1B,GACpB,UAAA,gBAAArB;AAAA,MAACgD;AAAA,MAAA;AAAA,QACC,SAAAnB;AAAA,QACA,OAAO;AAAA,QACP,cAAAX;AAAA,QACA,aAAAC;AAAA,QACA,cAAAC;AAAA,QAEA,UAAA,gBAAApB;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,KAAK2B,EAAK;AAAA,YACV,OAAO,EAAE,QAAAL,GAAQ,GAAGM,EAAe;AAAA,YAClC,GAAGgB;AAAA,YAEJ,UAAA,gBAAA9C;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,OAAOuC;AAAA,gBACP,WAAWY;AAAA,kBACTC,EAAa;AAAA,kBACbnC,KAAkBmC,EAAa;AAAA,gBACjC;AAAA,gBAEC,UAAA;AAAA,kBAAAvC;AAAA,kBACA,CAACE,KACA,gBAAAb;AAAA,oBAACmD;AAAA,oBAAA;AAAA,sBACC,KAAK5B;AAAA,sBACL,SAAAM;AAAA,sBACA,OAAOtB;AAAAA,sBACP,QAAQC;AAAAA,sBACR,MAAM;AAAA,oBAAA;AAAA,kBACR;AAAA,gBAAA;AAAA,cAAA;AAAA,YAEJ;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA,GAEJ;AAAA,EAEJ,EAAA,CAAA;AAEJ,GCtEMD,KAAc,IACdC,IAAe,GACfC,KAAM,GAEC2C,KAAkC,CAAC;AAAA,EAC9C,UAAAzC;AAAA,EACA,SAAA0C;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,WAAA1C,IAAY;AAAA,EACZ,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,cAAAG;AAAA,EACA,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAiC;AAAA,EACA,UAAAC;AACF,MAAM;AACJ,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GAEpCpC,IAAWC,EAAO,IAAI,GAEtBC,IAAeC;AAAA,IACnB,CAACV,MAAkB;AACjB,MAAA0C,EAAU1C,CAAI,GAEVA,IACSuC,KAAA,QAAAA,MAEAC,KAAA,QAAAA;AAAA,IAEf;AAAA,IACA,CAACA,GAAUD,CAAQ;AAAA,EAAA,GAGf,EAAE,MAAA5B,GAAM,gBAAAC,GAAgB,SAAAC,EAAA,IAAYC,EAAY;AAAA,IACpD,MAAM2B;AAAA,IACN,cAAAhC;AAAA,IACA,WAAAb;AAAA,IACA,YAAY;AAAA,MACVmB,EAAOvB,IAAeC,EAAG;AAAA,MACzBuB,EAAK,EAAE,SAAS,GAAG;AAAA,MACnBC,EAAM,EAAE,SAAS,GAAG;AAAA,MACpBC,EAAM,EAAE,SAASX,GAAU;AAAA,IAC7B;AAAA,IACA,sBAAsBY;AAAA,EAAA,CACvB,GAEK,EAAE,WAAAC,GAAW,QAAQC,EAAiB,IAAIC,EAAoBT,GAAS;AAAA,IAC3E,SAAS;AAAA,MACP,SAAS;AAAA,IACX;AAAA,EAAA,CACD,GAEKZ,IAAiBS,EAAY,MAAM;AACvC,IAAAgC,EAAU,EAAK;AAAA,EACjB,GAAG,CAAE,CAAA,GAECnB,KAAUC,EAAWX,CAAO,GAC5BY,KAAOC,EAAQb,CAAO,GACtB+B,KAAUC,GAAShC,GAAS,EAAE,SAASiC,EAAWR,GAAS,OAAO,EAAA,CAAG,GACrES,KAAUC,GAASnC,GAAS,EAAE,SAASiC,EAAWR,GAAS,OAAO,EAAA,CAAG,GACrEW,KAAUC,GAASrC,GAAS;AAAA,IAChC,SAASiC,EAAWR,GAAS,OAAO;AAAA,IACpC,aAAaa,GAAY;AAAA,IACzB,QAAQ;AAAA,EAAA,CACT,GAEK,EAAE,mBAAAxB,IAAmB,kBAAAC,GAAiB,IAAIC,EAAgB;AAAA,IAC9De;AAAA,IACAG;AAAA,IACAE;AAAA,IACA1B;AAAA,IACAE;AAAA,EAAA,CACD;AAED,SAEK,gBAAA3C,EAAAgD,GAAA,EAAA,UAAA;AAAA,IAAAhC,EAAc,EAAE,KAAKa,EAAK,cAAc,GAAGgB,GAAA,GAAqB;AAAA,IAEhEP,KACC,gBAAApC,EAAC+C,GAAe,EAAA,MAAM1B,GACpB,UAAA,gBAAArB;AAAA,MAACgD;AAAA,MAAA;AAAA,QACC,SAAAnB;AAAA,QACA,OAAO;AAAA,QACP,cAAAX;AAAA,QACA,aAAAC;AAAA,QACA,cAAAC;AAAA,QAEA,UAAA,gBAAApB;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,KAAK2B,EAAK;AAAA,YACV,OAAO,EAAE,QAAAL,GAAQ,GAAGM,EAAe;AAAA,YAClC,GAAGgB;AAAA,YAEJ,UAAA,gBAAA9C;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,OAAOuC;AAAA,gBACP,WAAWY;AAAA,kBACTC,EAAa;AAAA,kBACbnC,KAAkBmC,EAAa;AAAA,kBAC/BG,KAAWH,EAAa;AAAA,gBAC1B;AAAA,gBAEC,UAAA;AAAA,kBAAA,OAAOvC,KAAa,aACjBA,EAAS,EAAE,gBAAAM,EAAA,CAAgB,IAC3BN;AAAA,kBACH,CAACE,KACA,gBAAAb;AAAA,oBAACmD;AAAA,oBAAA;AAAA,sBACC,KAAK5B;AAAA,sBACL,SAAAM;AAAA,sBACA,OAAOtB;AAAAA,sBACP,QAAQC;AAAAA,sBACR,MAAM;AAAA,oBAAA;AAAA,kBACR;AAAA,gBAAA;AAAA,cAAA;AAAA,YAEJ;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA,GAEJ;AAAA,EAEJ,EAAA,CAAA;AAEJ,GAEMsD,IAAa,CACjBM,GACAC,MAEI,OAAOD,KAAgB,WAClBA,MAAgBC,IAElBD,EAAY,SAASC,CAAc;;;;;;;GC5JtCC,KAAe;AAAA,EACnB,MAAMC;AAAA,EACN,SAASC;AAAA,EACT,OAAOC;AACT,GAEMlE,KAAc,IACdC,IAAe,GACfC,KAAM,GAECiE,KAAkC,CAAC;AAAA,EAC9C,UAAA/D;AAAA,EACA,SAAAgE;AAAA,EACA,WAAA/D;AAAA,EACA,OAAAgE;AAAA,EACA,SAAAvB;AAAA,EACA,UAAAwB,IAAW;AAAA,EACX,UAAAxD;AAAA,EACA,QAAAC;AACF,MAAM;AACJ,QAAM,CAACmC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GAEpCpC,IAAWC,EAAO,IAAI,GAEtB,EAAE,MAAAG,GAAM,gBAAAC,GAAgB,SAAAC,EAAA,IAAYC,EAAY;AAAA,IACpD,WAAAlB;AAAA,IACA,MAAM+D,KAAWlB;AAAA,IACjB,cAAcC;AAAA,IACd,YAAY;AAAA,MACV3B,EAAOvB,IAAeC,EAAG;AAAA,MACzBuB,EAAK,EAAE,SAAS,GAAG;AAAA,MACnBC,EAAM,EAAE,SAAS,GAAG;AAAA,MACpBC,EAAM,EAAE,SAASX,GAAU;AAAA,IAC7B;AAAA,IACA,sBAAsBY;AAAA,EAAA,CACvB,GAEK,EAAE,WAAAC,GAAW,QAAA0C,MAAWxC,EAAoBT,GAAS;AAAA,IACzD,SAAS;AAAA,MACP,SAAS;AAAA,IACX;AAAA,EAAA,CACD,GAEKkD,IAAQb,GAASrC,CAAO,GAExB,EAAE,mBAAAc,EAAkB,IAAIE,EAAgB,CAACkC,CAAK,CAAC;AAErD,SAEI,gBAAAjF,EAAAgD,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAA9C,EAAC,SAAI,KAAK2B,EAAK,cAAe,GAAGgB,KAC9B,UAAAhC,GACH;AAAA,IAECyB,KACC,gBAAApC,EAAC+C,GAAe,EAAA,MAAM1B,GACpB,UAAC,gBAAArB,EAAA,OAAA,EAAI,KAAK2B,EAAK,aAAa,OAAO,EAAE,QAAAL,GAAQ,GAAGM,KAC9C,UAAA,gBAAA9B;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAO,EAAE,UAAA+E,GAAU,GAAGC,EAAO;AAAA,QAC7B,WAAW7B;AAAA,UACTC,EAAa;AAAA,UACbG,KAAWH,EAAa;AAAA,QAC1B;AAAA,QAEC,UAAA;AAAA,UAAAG,IAEG,gBAAAvD,EAAAgD,GAAA,EAAA,UAAA;AAAA,YAAA,gBAAA9C;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAWiD;AAAA,kBACTC,EAAa;AAAA,kBACbA,EAAaG,CAAO;AAAA,gBACtB;AAAA,gBAEA,4BAAC2B,IAAK,EAAA,MAAMV,GAAajB,CAAO,GAAG,MAAM,IAAI;AAAA,cAAA;AAAA,YAC/C;AAAA,8BACCnD,GAAM,EAAA;AAAA,YACP,gBAAAF,EAACiF,KAAY,OAAAL,GAAc;AAAA,UAC7B,EAAA,CAAA,IAEC,gBAAA5E,EAAAiF,GAAA,EAAY,OAAAL,EAAc,CAAA;AAAA,UAG7B,gBAAA5E;AAAA,YAACmD;AAAA,YAAA;AAAA,cACC,KAAK5B;AAAA,cACL,SAAAM;AAAA,cACA,OAAOtB;AAAA,cACP,QAAQC;AAAA,cACR,MAAM;AAAA,YAAA;AAAA,UACR;AAAA,QAAA;AAAA,MAAA;AAAA,OAEJ,EACF,CAAA;AAAA,EAEJ,EAAA,CAAA;AAEJ,GAEMyE,IAA2C,CAAC,EAAE,OAAAL,EAAA,MACjD,gBAAA5E,EAAAC,GAAA,EAAK,OAAOiF,GAAS,oBAAoB,GAAG,MAAM,SAAS,SAAS,QAClE,UACHN,GAAA;"}
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.MutableRefObject<HTMLElement | null>;\n appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;\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 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 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","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:-moz-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 t=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"),B=require("@stenajs-webui/theme"),Y=({text:s="Are you sure?",yesLabel:n="Yes",noLabel:c="No",onNo:f,onYes:o,loading:d})=>t.jsxs(u.Column,{position:"relative",children:[t.jsxs("div",{style:{opacity:d?0:1},children:[t.jsx(u.Text,{children:s}),t.jsx(u.Space,{}),t.jsxs(u.Row,{justifyContent:"flex-end",alignItems:"center",children:[t.jsx(p.FlatButton,{label:c,onClick:f}),t.jsx(u.Space,{}),t.jsx(p.PrimaryButton,{label:n,onClick:o})]})]}),d&&t.jsx(u.Row,{justifyContent:"center",alignItems:"center",left:0,top:0,width:"100%",height:"100%",position:"absolute",children:t.jsx(p.Spinner,{size:"small"})})]}),J="_floating_1glwr_1",K="_disablePadding_1glwr_11",L="_iconWrapper_1glwr_16",Q="_info_1glwr_36",V="_warning_1glwr_42",X="_error_1glwr_48",P={floating:J,disablePadding:K,iconWrapper:L,info:Q,warning:V,error:X},Z=12,$=8,ee=2,te=({children:s,placement:n="bottom",hideArrow:c,renderTrigger:f,disablePadding:o,open:d,onRequestClose:h,restoreFocus:j,returnFocus:y,initialFocus:R,appendTo:x,zIndex:_})=>{const a=g.useRef(null),i=g.useCallback(A=>{A||h()},[h]),{refs:m,floatingStyles:w,context:r}=e.useFloating({open:d,onOpenChange:i,placement:n,middleware:[e.offset($+ee),e.flip({padding:5}),e.shift({padding:5}),e.arrow({element:a})],whileElementsMounted:e.autoUpdate}),{isMounted:F,styles:I}=e.useTransitionStyles(r,{initial:{opacity:0}}),S=e.useDismiss(r),l=e.useRole(r),{getReferenceProps:T,getFloatingProps:W}=e.useInteractions([S,l]);return t.jsxs(t.Fragment,{children:[f({ref:m.setReference,...T()}),F&&t.jsx(e.FloatingPortal,{root:x,children:t.jsx(e.FloatingFocusManager,{context:r,modal:!1,restoreFocus:j,returnFocus:y,initialFocus:R,children:t.jsx("div",{ref:m.setFloating,style:{zIndex:_,...w},...W,children:t.jsxs("div",{style:I,className:b(P.floating,o&&P.disablePadding),children:[s,!c&&t.jsx(e.FloatingArrow,{ref:a,context:r,width:Z,height:$,fill:"white"})]})})})})]})},se=12,H=8,ne=2,oe=({children:s,variant:n,trigger:c="hover",placement:f="bottom",hideArrow:o,renderTrigger:d,disablePadding:h,restoreFocus:j,returnFocus:y,initialFocus:R,appendTo:x,zIndex:_,onOpened:a,onClosed:i})=>{const[m,w]=g.useState(!1),r=g.useRef(null),F=g.useCallback(C=>{w(C),C?a==null||a():i==null||i()},[i,a]),{refs:I,floatingStyles:S,context:l}=e.useFloating({open:m,onOpenChange:F,placement:f,middleware:[e.offset(H+ne),e.flip({padding:5}),e.shift({padding:5}),e.arrow({element:r})],whileElementsMounted:e.autoUpdate}),{isMounted:T,styles:W}=e.useTransitionStyles(l,{initial:{opacity:0}}),A=g.useCallback(()=>{w(!1)},[]),E=e.useDismiss(l),q=e.useRole(l),G=e.useFocus(l,{enabled:k(c,"focus")}),D=e.useClick(l,{enabled:k(c,"click")}),N=e.useHover(l,{enabled:k(c,"hover"),handleClose:e.safePolygon(),restMs:100}),{getReferenceProps:z,getFloatingProps:U}=e.useInteractions([G,D,N,E,q]);return t.jsxs(t.Fragment,{children:[d({ref:I.setReference,...z()}),T&&t.jsx(e.FloatingPortal,{root:x,children:t.jsx(e.FloatingFocusManager,{context:l,modal:!1,restoreFocus:j,returnFocus:y,initialFocus:R,children:t.jsx("div",{ref:I.setFloating,style:{zIndex:_,...S},...U,children:t.jsxs("div",{style:W,className:b(P.floating,h&&P.disablePadding,n&&P.withIcon),children:[typeof s=="function"?s({onRequestClose:A}):s,!o&&t.jsx(e.FloatingArrow,{ref:r,context:l,width:se,height:H,fill:"white"})]})})})})]})},k=(s,n)=>typeof s=="string"?s===n:s.includes(n),ie="_floating_15fk9_1",re="_withIcon_15fk9_10",le="_iconWrapper_15fk9_16",ce="_info_15fk9_36",ae="_warning_15fk9_42",fe="_error_15fk9_48",v={floating:ie,withIcon:re,iconWrapper:le,info:ce,warning:ae,error:fe},de={info:p.stenaInfoCircle,warning:p.stenaExclamationCircle,error:p.stenaExclamationTriangle},ue=12,M=8,ge=2,pe=({children:s,visible:n,placement:c,label:f,variant:o,maxWidth:d="500px",appendTo:h,zIndex:j})=>{const[y,R]=g.useState(!1),x=g.useRef(null),{refs:_,floatingStyles:a,context:i}=e.useFloating({placement:c,open:n??y,onOpenChange:R,middleware:[e.offset(M+ge),e.flip({padding:5}),e.shift({padding:5}),e.arrow({element:x})],whileElementsMounted:e.autoUpdate}),{isMounted:m,styles:w}=e.useTransitionStyles(i,{initial:{opacity:0}}),r=e.useHover(i),{getReferenceProps:F}=e.useInteractions([r]);return t.jsxs(t.Fragment,{children:[t.jsx("div",{ref:_.setReference,...F(),children:s}),m&&t.jsx(e.FloatingPortal,{root:h,children:t.jsx("div",{ref:_.setFloating,style:{zIndex:j,...a},children:t.jsxs("div",{style:{maxWidth:d,...w},className:b(v.floating,o&&v.withIcon),children:[o?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:b(v.iconWrapper,v[o]),children:t.jsx(p.Icon,{icon:de[o],size:16})}),t.jsx(u.Space,{}),t.jsx(O,{label:f})]}):t.jsx(O,{label:f}),t.jsx(e.FloatingArrow,{ref:x,context:i,width:ue,height:M,fill:"#333"})]})})})]})},O=({label:s})=>t.jsx(u.Text,{color:B.cssColor("--lhds-color-ui-50"),size:"small",variant:"bold",children:s});exports.ActionPrompt=Y;exports.ControlledPopover=te;exports.Popover=oe;exports.Tooltip=pe;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),u=require("@stenajs-webui/core"),h=require("@stenajs-webui/elements"),g=require("react"),e=require("@floating-ui/react"),T=require("classnames"),K=require("@stenajs-webui/theme"),L=({text:t="Are you sure?",yesLabel:o="Yes",noLabel:s="No",onNo:d,onYes:r,loading:f})=>n.jsxs(u.Column,{position:"relative",children:[n.jsxs("div",{style:{opacity:f?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(h.FlatButton,{label:s,onClick:d}),n.jsx(u.Space,{}),n.jsx(h.PrimaryButton,{label:o,onClick:r})]})]}),f&&n.jsx(u.Row,{justifyContent:"center",alignItems:"center",left:0,top:0,width:"100%",height:"100%",position:"absolute",children:n.jsx(h.Spinner,{size:"small"})})]}),Q="_floating_1glwr_1",V="_disablePadding_1glwr_11",X="_iconWrapper_1glwr_16",Z="_info_1glwr_36",ee="_warning_1glwr_42",ne="_error_1glwr_48",R={floating:Q,disablePadding:V,iconWrapper:X,info:Z,warning:ee,error:ne},te=12,$=8,oe=2,se=({children:t,...o})=>e.useFloatingParentNodeId()==null?n.jsx(e.FloatingTree,{children:n.jsx(H,{...o,children:t})}):n.jsx(H,{...o,children:t}),H=({children:t,placement:o="bottom",hideArrow:s,renderTrigger:d,disablePadding:r,open:f,onRequestClose:x,restoreFocus:w,returnFocus:y,initialFocus:F,appendTo:j,zIndex:m})=>{const c=e.useFloatingNodeId(),i=g.useRef(null),I=g.useCallback(A=>{A||x()},[x]),{refs:p,floatingStyles:_,context:l}=e.useFloating({nodeId:c,open:f,onOpenChange:I,placement:o,middleware:[e.offset($+oe),e.flip({padding:5}),e.shift({padding:5}),e.arrow({element:i})],whileElementsMounted:e.autoUpdate}),{isMounted:b,styles:P}=e.useTransitionStyles(l,{initial:{opacity:0}}),S=e.useDismiss(l),a=e.useRole(l),{getReferenceProps:C,getFloatingProps:W}=e.useInteractions([S,a]);return n.jsxs(n.Fragment,{children:[d({ref:p.setReference,...C()}),n.jsx(e.FloatingNode,{id:c,children:b&&n.jsx(e.FloatingPortal,{root:j,children:n.jsx(e.FloatingFocusManager,{context:l,modal:!1,restoreFocus:w,returnFocus:y,initialFocus:F,children:n.jsx("div",{ref:p.setFloating,style:{zIndex:m,..._},...W(),children:n.jsxs("div",{style:P,className:T(R.floating,r&&R.disablePadding),children:[t,!s&&n.jsx(e.FloatingArrow,{ref:i,context:l,width:te,height:$,fill:"white"})]})})})})})]})},ie=12,M=8,re=2,le=({children:t,...o})=>e.useFloatingParentNodeId()==null?n.jsx(e.FloatingTree,{children:n.jsx(O,{...o,children:t})}):n.jsx(O,{...o,children:t}),O=({children:t,variant:o,trigger:s="hover",placement:d="bottom",hideArrow:r,renderTrigger:f,disablePadding:x,restoreFocus:w,returnFocus:y,initialFocus:F,appendTo:j,zIndex:m,onOpened:c,onClosed:i})=>{const[I,p]=g.useState(!1),_=e.useFloatingNodeId(),l=g.useRef(null),b=g.useCallback(k=>{p(k),k?c==null||c():i==null||i()},[i,c]),{refs:P,floatingStyles:S,context:a}=e.useFloating({nodeId:_,open:I,onOpenChange:b,placement:d,middleware:[e.offset(M+re),e.flip({padding:5}),e.shift({padding:5}),e.arrow({element:l})],whileElementsMounted:e.autoUpdate}),{isMounted:C,styles:W}=e.useTransitionStyles(a,{initial:{opacity:0}}),A=g.useCallback(()=>{p(!1)},[]),G=e.useDismiss(a),D=e.useRole(a),z=e.useFocus(a,{enabled:N(s,"focus")}),U=e.useClick(a,{enabled:N(s,"click")}),B=e.useHover(a,{enabled:N(s,"hover"),handleClose:e.safePolygon(),restMs:100}),{getReferenceProps:Y,getFloatingProps:J}=e.useInteractions([z,U,B,G,D]);return n.jsxs(n.Fragment,{children:[f({ref:P.setReference,...Y()}),n.jsx(e.FloatingNode,{id:_,children:C&&n.jsx(e.FloatingPortal,{root:j,children:n.jsx(e.FloatingFocusManager,{context:a,modal:!1,restoreFocus:w,returnFocus:y,initialFocus:F,children:n.jsx("div",{ref:P.setFloating,style:{zIndex:m,...S},...J(),children:n.jsxs("div",{style:W,className:T(R.floating,x&&R.disablePadding,o&&R.withIcon),children:[typeof t=="function"?t({onRequestClose:A}):t,!r&&n.jsx(e.FloatingArrow,{ref:l,context:a,width:ie,height:M,fill:"white"})]})})})})})]})},N=(t,o)=>typeof t=="string"?t===o:t.includes(o),ae="_floating_15fk9_1",ce="_withIcon_15fk9_10",de="_iconWrapper_15fk9_16",fe="_info_15fk9_36",ue="_warning_15fk9_42",ge="_error_15fk9_48",v={floating:ae,withIcon:ce,iconWrapper:de,info:fe,warning:ue,error:ge},pe={info:h.stenaInfoCircle,warning:h.stenaExclamationCircle,error:h.stenaExclamationTriangle},he=12,E=8,xe=2,je=({children:t,visible:o,placement:s,label:d,variant:r,maxWidth:f="500px",appendTo:x,zIndex:w})=>{const[y,F]=g.useState(!1),j=g.useRef(null),{refs:m,floatingStyles:c,context:i}=e.useFloating({placement:s,open:o??y,onOpenChange:F,middleware:[e.offset(E+xe),e.flip({padding:5}),e.shift({padding:5}),e.arrow({element:j})],whileElementsMounted:e.autoUpdate}),{isMounted:I,styles:p}=e.useTransitionStyles(i,{initial:{opacity:0}}),_=e.useHover(i),{getReferenceProps:l}=e.useInteractions([_]);return n.jsxs(n.Fragment,{children:[n.jsx("div",{ref:m.setReference,...l(),children:t}),I&&n.jsx(e.FloatingPortal,{root:x,children:n.jsx("div",{ref:m.setFloating,style:{zIndex:w,...c},children:n.jsxs("div",{style:{maxWidth:f,...p},className:T(v.floating,r&&v.withIcon),children:[r?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:T(v.iconWrapper,v[r]),children:n.jsx(h.Icon,{icon:pe[r],size:16})}),n.jsx(u.Space,{}),n.jsx(q,{label:d})]}):n.jsx(q,{label:d}),n.jsx(e.FloatingArrow,{ref:j,context:i,width:he,height:E,fill:"#333"})]})})})]})},q=({label:t})=>n.jsx(u.Text,{color:K.cssColor("--lhds-color-ui-50"),size:"small",variant:"bold",children:t});exports.ActionPrompt=L;exports.ControlledPopover=se;exports.Popover=le;exports.Tooltip=je;
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 FloatingPortal,\n offset,\n shift,\n useDismiss,\n useFloating,\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 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 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 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 {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 </>\n );\n};\n","import * as React from \"react\";\nimport { ReactNode, useCallback, useRef, useState } from \"react\";\nimport {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n FloatingPortal,\n offset,\n safePolygon,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useFocus,\n useHover,\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 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.MutableRefObject<HTMLElement | null>;\n appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;\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> = ({\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 zIndex,\n onOpened,\n onClosed,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\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 open: isOpen,\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 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 {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 </>\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","placement","hideArrow","renderTrigger","disablePadding","open","onRequestClose","restoreFocus","returnFocus","initialFocus","appendTo","zIndex","arrowRef","useRef","onOpenChange","useCallback","refs","floatingStyles","context","useFloating","offset","flip","shift","arrow","autoUpdate","isMounted","transitionStyles","useTransitionStyles","dismiss","useDismiss","role","useRole","getReferenceProps","getFloatingProps","useInteractions","Fragment","FloatingPortal","FloatingFocusManager","cx","moduleStyles","FloatingArrow","Popover","variant","trigger","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":"wSAaaA,EAA4C,CAAC,CACxD,KAAAC,EAAO,gBACP,SAAAC,EAAW,MACX,QAAAC,EAAU,KACV,KAAAC,EACA,MAAAC,EACA,QAAAC,CACF,IAEIC,EAAA,KAACC,EAAO,OAAA,CAAA,SAAU,WAChB,SAAA,CAAAD,OAAC,OAAI,MAAO,CAAE,QAASD,EAAU,EAAI,CACnC,EAAA,SAAA,CAAAG,EAAAA,IAACC,QAAM,SAAKT,CAAA,CAAA,QACXU,EAAM,MAAA,EAAA,EACNJ,EAAA,KAAAK,EAAA,IAAA,CAAI,eAAgB,WAAY,WAAY,SAC3C,SAAA,CAAAH,EAAA,IAACI,EAAW,WAAA,CAAA,MAAOV,EAAS,QAASC,EAAM,QAC1CO,EAAM,MAAA,EAAA,EACNF,EAAA,IAAAK,EAAA,cAAA,CAAc,MAAOZ,EAAU,QAASG,EAAO,CAAA,EAClD,CAAA,EACF,EACCC,GACCG,EAAA,IAACG,EAAA,IAAA,CACC,eAAgB,SAChB,WAAY,SACZ,KAAM,EACN,IAAK,EACL,MAAO,OACP,OAAQ,OACR,SAAU,WAEV,SAAAH,EAAAA,IAACM,EAAAA,QAAQ,CAAA,KAAM,OAAS,CAAA,CAAA,CAC1B,CAEJ,CAAA,CAAA,mNCVEC,EAAc,GACdC,EAAe,EACfC,GAAM,EAECC,GAAsD,CAAC,CAClE,SAAAC,EACA,UAAAC,EAAY,SACZ,UAAAC,EACA,cAAAC,EACA,eAAAC,EACA,KAAAC,EACA,eAAAC,EACA,aAAAC,EACA,YAAAC,EACA,aAAAC,EACA,SAAAC,EACA,OAAAC,CACF,IAAM,CACE,MAAAC,EAAWC,SAAO,IAAI,EAEtBC,EAAeC,EAAA,YAClBV,GAAkB,CACZA,GACYC,GAEnB,EACA,CAACA,CAAc,CAAA,EAGX,CAAE,KAAAU,EAAM,eAAAC,EAAgB,QAAAC,CAAA,EAAYC,EAAAA,YAAY,CACpD,KAAAd,EACA,aAAAS,EACA,UAAAb,EACA,WAAY,CACVmB,EAAA,OAAOvB,EAAeC,EAAG,EACzBuB,OAAK,CAAE,QAAS,EAAG,EACnBC,QAAM,CAAE,QAAS,EAAG,EACpBC,QAAM,CAAE,QAASX,EAAU,CAC7B,EACA,qBAAsBY,EAAA,UAAA,CACvB,EAEK,CAAE,UAAAC,EAAW,OAAQC,CAAiB,EAAIC,EAAAA,oBAAoBT,EAAS,CAC3E,QAAS,CACP,QAAS,CACX,CAAA,CACD,EAEKU,EAAUC,aAAWX,CAAO,EAC5BY,EAAOC,UAAQb,CAAO,EAEtB,CAAE,kBAAAc,EAAmB,iBAAAC,CAAiB,EAAIC,kBAAgB,CAC9DN,EACAE,CAAA,CACD,EAED,OAEK3C,EAAA,KAAAgD,WAAA,CAAA,SAAA,CAAAhC,EAAc,CAAE,IAAKa,EAAK,aAAc,GAAGgB,EAAA,EAAqB,EAEhEP,GACCpC,EAAA,IAAC+C,EAAe,eAAA,CAAA,KAAM1B,EACpB,SAAArB,EAAA,IAACgD,EAAA,qBAAA,CACC,QAAAnB,EACA,MAAO,GACP,aAAAX,EACA,YAAAC,EACA,aAAAC,EAEA,SAAApB,EAAA,IAAC,MAAA,CACC,IAAK2B,EAAK,YACV,MAAO,CAAE,OAAAL,EAAQ,GAAGM,CAAe,EAClC,GAAGgB,EAEJ,SAAA9C,EAAA,KAAC,MAAA,CACC,MAAOuC,EACP,UAAWY,EACTC,EAAa,SACbnC,GAAkBmC,EAAa,cACjC,EAEC,SAAA,CAAAvC,EACA,CAACE,GACAb,EAAA,IAACmD,EAAA,cAAA,CACC,IAAK5B,EACL,QAAAM,EACA,MAAOtB,EACP,OAAQC,EACR,KAAM,OAAA,CACR,CAAA,CAAA,CAEJ,CAAA,CACF,CAAA,CAAA,EAEJ,CAEJ,CAAA,CAAA,CAEJ,ECtEMD,GAAc,GACdC,EAAe,EACfC,GAAM,EAEC2C,GAAkC,CAAC,CAC9C,SAAAzC,EACA,QAAA0C,EACA,QAAAC,EAAU,QACV,UAAA1C,EAAY,SACZ,UAAAC,EACA,cAAAC,EACA,eAAAC,EACA,aAAAG,EACA,YAAAC,EACA,aAAAC,EACA,SAAAC,EACA,OAAAC,EACA,SAAAiC,EACA,SAAAC,CACF,IAAM,CACJ,KAAM,CAACC,EAAQC,CAAS,EAAIC,WAAS,EAAK,EAEpCpC,EAAWC,SAAO,IAAI,EAEtBC,EAAeC,EAAA,YAClBV,GAAkB,CACjB0C,EAAU1C,CAAI,EAEVA,EACSuC,GAAA,MAAAA,IAEAC,GAAA,MAAAA,GAEf,EACA,CAACA,EAAUD,CAAQ,CAAA,EAGf,CAAE,KAAA5B,EAAM,eAAAC,EAAgB,QAAAC,CAAA,EAAYC,EAAAA,YAAY,CACpD,KAAM2B,EACN,aAAAhC,EACA,UAAAb,EACA,WAAY,CACVmB,EAAA,OAAOvB,EAAeC,EAAG,EACzBuB,OAAK,CAAE,QAAS,EAAG,EACnBC,QAAM,CAAE,QAAS,EAAG,EACpBC,QAAM,CAAE,QAASX,EAAU,CAC7B,EACA,qBAAsBY,EAAA,UAAA,CACvB,EAEK,CAAE,UAAAC,EAAW,OAAQC,CAAiB,EAAIC,EAAAA,oBAAoBT,EAAS,CAC3E,QAAS,CACP,QAAS,CACX,CAAA,CACD,EAEKZ,EAAiBS,EAAAA,YAAY,IAAM,CACvCgC,EAAU,EAAK,CACjB,EAAG,CAAE,CAAA,EAECnB,EAAUC,aAAWX,CAAO,EAC5BY,EAAOC,UAAQb,CAAO,EACtB+B,EAAUC,WAAShC,EAAS,CAAE,QAASiC,EAAWR,EAAS,OAAO,CAAA,CAAG,EACrES,EAAUC,WAASnC,EAAS,CAAE,QAASiC,EAAWR,EAAS,OAAO,CAAA,CAAG,EACrEW,EAAUC,WAASrC,EAAS,CAChC,QAASiC,EAAWR,EAAS,OAAO,EACpC,YAAaa,EAAAA,YAAY,EACzB,OAAQ,GAAA,CACT,EAEK,CAAE,kBAAAxB,EAAmB,iBAAAC,CAAiB,EAAIC,kBAAgB,CAC9De,EACAG,EACAE,EACA1B,EACAE,CAAA,CACD,EAED,OAEK3C,EAAA,KAAAgD,WAAA,CAAA,SAAA,CAAAhC,EAAc,CAAE,IAAKa,EAAK,aAAc,GAAGgB,EAAA,EAAqB,EAEhEP,GACCpC,EAAA,IAAC+C,EAAe,eAAA,CAAA,KAAM1B,EACpB,SAAArB,EAAA,IAACgD,EAAA,qBAAA,CACC,QAAAnB,EACA,MAAO,GACP,aAAAX,EACA,YAAAC,EACA,aAAAC,EAEA,SAAApB,EAAA,IAAC,MAAA,CACC,IAAK2B,EAAK,YACV,MAAO,CAAE,OAAAL,EAAQ,GAAGM,CAAe,EAClC,GAAGgB,EAEJ,SAAA9C,EAAA,KAAC,MAAA,CACC,MAAOuC,EACP,UAAWY,EACTC,EAAa,SACbnC,GAAkBmC,EAAa,eAC/BG,GAAWH,EAAa,QAC1B,EAEC,SAAA,CAAA,OAAOvC,GAAa,WACjBA,EAAS,CAAE,eAAAM,CAAA,CAAgB,EAC3BN,EACH,CAACE,GACAb,EAAA,IAACmD,EAAA,cAAA,CACC,IAAK5B,EACL,QAAAM,EACA,MAAOtB,GACP,OAAQC,EACR,KAAM,OAAA,CACR,CAAA,CAAA,CAEJ,CAAA,CACF,CAAA,CAAA,EAEJ,CAEJ,CAAA,CAAA,CAEJ,EAEMsD,EAAa,CACjBM,EACAC,IAEI,OAAOD,GAAgB,SAClBA,IAAgBC,EAElBD,EAAY,SAASC,CAAc,mNC5JtCC,GAAe,CACnB,KAAMC,EAAA,gBACN,QAASC,EAAA,uBACT,MAAOC,EAAA,wBACT,EAEMlE,GAAc,GACdC,EAAe,EACfC,GAAM,EAECiE,GAAkC,CAAC,CAC9C,SAAA/D,EACA,QAAAgE,EACA,UAAA/D,EACA,MAAAgE,EACA,QAAAvB,EACA,SAAAwB,EAAW,QACX,SAAAxD,EACA,OAAAC,CACF,IAAM,CACJ,KAAM,CAACmC,EAAQC,CAAS,EAAIC,WAAS,EAAK,EAEpCpC,EAAWC,SAAO,IAAI,EAEtB,CAAE,KAAAG,EAAM,eAAAC,EAAgB,QAAAC,CAAA,EAAYC,EAAAA,YAAY,CACpD,UAAAlB,EACA,KAAM+D,GAAWlB,EACjB,aAAcC,EACd,WAAY,CACV3B,EAAA,OAAOvB,EAAeC,EAAG,EACzBuB,OAAK,CAAE,QAAS,EAAG,EACnBC,QAAM,CAAE,QAAS,EAAG,EACpBC,QAAM,CAAE,QAASX,EAAU,CAC7B,EACA,qBAAsBY,EAAA,UAAA,CACvB,EAEK,CAAE,UAAAC,EAAW,OAAA0C,GAAWxC,EAAAA,oBAAoBT,EAAS,CACzD,QAAS,CACP,QAAS,CACX,CAAA,CACD,EAEKkD,EAAQb,WAASrC,CAAO,EAExB,CAAE,kBAAAc,CAAkB,EAAIE,EAAgB,gBAAA,CAACkC,CAAK,CAAC,EAErD,OAEIjF,EAAA,KAAAgD,WAAA,CAAA,SAAA,CAAA9C,MAAC,OAAI,IAAK2B,EAAK,aAAe,GAAGgB,IAC9B,SAAAhC,EACH,EAECyB,GACCpC,EAAA,IAAC+C,iBAAe,CAAA,KAAM1B,EACpB,SAACrB,EAAAA,IAAA,MAAA,CAAI,IAAK2B,EAAK,YAAa,MAAO,CAAE,OAAAL,EAAQ,GAAGM,GAC9C,SAAA9B,EAAA,KAAC,MAAA,CACC,MAAO,CAAE,SAAA+E,EAAU,GAAGC,CAAO,EAC7B,UAAW7B,EACTC,EAAa,SACbG,GAAWH,EAAa,QAC1B,EAEC,SAAA,CAAAG,EAEGvD,EAAA,KAAAgD,WAAA,CAAA,SAAA,CAAA9C,EAAA,IAAC,MAAA,CACC,UAAWiD,EACTC,EAAa,YACbA,EAAaG,CAAO,CACtB,EAEA,eAAC2B,EAAK,KAAA,CAAA,KAAMV,GAAajB,CAAO,EAAG,KAAM,GAAI,CAAA,CAC/C,QACCnD,EAAM,MAAA,EAAA,EACPF,MAACiF,GAAY,MAAAL,EAAc,CAC7B,CAAA,CAAA,EAEC5E,EAAA,IAAAiF,EAAA,CAAY,MAAAL,CAAc,CAAA,EAG7B5E,EAAA,IAACmD,EAAA,cAAA,CACC,IAAK5B,EACL,QAAAM,EACA,MAAOtB,GACP,OAAQC,EACR,KAAM,MAAA,CACR,CAAA,CAAA,GAEJ,CACF,CAAA,CAEJ,CAAA,CAAA,CAEJ,EAEMyE,EAA2C,CAAC,CAAE,MAAAL,CAAA,IACjD5E,EAAAA,IAAAC,EAAAA,KAAA,CAAK,MAAOiF,EAAAA,SAAS,oBAAoB,EAAG,KAAM,QAAS,QAAS,OAClE,SACHN,EAAA"}
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.MutableRefObject<HTMLElement | null>;\n appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;\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 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 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","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": "21.22.0",
3
+ "version": "21.23.1",
4
4
  "type": "module",
5
5
  "description": "",
6
6
  "author": "mattias800",
@@ -34,9 +34,9 @@
34
34
  },
35
35
  "dependencies": {
36
36
  "@floating-ui/react": "^0.26.22",
37
- "@stenajs-webui/core": "21.22.0",
38
- "@stenajs-webui/elements": "21.22.0",
39
- "@stenajs-webui/theme": "21.22.0",
37
+ "@stenajs-webui/core": "21.23.1",
38
+ "@stenajs-webui/elements": "21.23.1",
39
+ "@stenajs-webui/theme": "21.23.1",
40
40
  "classnames": "^2.5.1"
41
41
  },
42
42
  "peerDependencies": {
@@ -58,5 +58,5 @@
58
58
  "files": [
59
59
  "dist"
60
60
  ],
61
- "gitHead": "82f2aae5b4ef2dd9cfae3381102cf924868677e6"
61
+ "gitHead": "ee479b46688d3654333cf9d9b06b9b1ed57b986d"
62
62
  }