@stenajs-webui/tooltip 21.8.5 → 21.9.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.
@@ -10,6 +10,7 @@ export interface ControlledPopoverProps extends PropsWithChildren {
10
10
  disablePadding?: boolean;
11
11
  restoreFocus?: boolean;
12
12
  returnFocus?: boolean;
13
+ initialFocus?: number | React.MutableRefObject<HTMLElement | null>;
13
14
  appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;
14
15
  zIndex?: number;
15
16
  }
@@ -19,6 +19,9 @@ export interface PopoverProps {
19
19
  variant?: PopoverVariant;
20
20
  theme?: PopoverTheme;
21
21
  renderTrigger: (props: Record<string, unknown>) => ReactNode;
22
+ restoreFocus?: boolean;
23
+ returnFocus?: boolean;
24
+ initialFocus?: number | React.MutableRefObject<HTMLElement | null>;
22
25
  appendTo?: HTMLElement | null | React.MutableRefObject<HTMLElement | null>;
23
26
  zIndex?: number;
24
27
  }
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:-webkit-fit-content;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
2
  import { jsxs as i, jsx as e, Fragment as P } from "react/jsx-runtime";
3
- import { Column as oe, Text as J, Space as A, Row as z } from "@stenajs-webui/core";
4
- import { FlatButton as te, PrimaryButton as se, Spinner as ie, Icon as re, stenaInfoCircle as le, stenaExclamationCircle as ce, stenaExclamationTriangle as ae } from "@stenajs-webui/elements";
5
- import { useRef as T, useCallback as K, useState as L } from "react";
6
- import { useFloating as $, offset as k, flip as H, shift as S, arrow as E, autoUpdate as M, useTransitionStyles as G, useDismiss as Q, useRole as V, useInteractions as N, FloatingPortal as j, FloatingFocusManager as X, FloatingArrow as D, useFocus as de, useClick as fe, useHover as Z, safePolygon as pe } from "@floating-ui/react";
3
+ import { Column as ie, Text as K, Space as T, Row as B } from "@stenajs-webui/core";
4
+ import { FlatButton as re, PrimaryButton as le, Spinner as ce, Icon as ae, stenaInfoCircle as de, stenaExclamationCircle as fe, stenaExclamationTriangle as pe } from "@stenajs-webui/elements";
5
+ import { useRef as $, useCallback as L, useState as Q } from "react";
6
+ import { useFloating as k, offset as H, flip as S, shift as E, arrow as M, autoUpdate as G, useTransitionStyles as N, useDismiss as V, useRole as X, useInteractions as j, FloatingPortal as D, FloatingFocusManager as Z, FloatingArrow as z, useFocus as ge, useClick as he, useHover as ee, safePolygon as me } from "@floating-ui/react";
7
7
  import v from "classnames";
8
- import { cssColor as ge } from "@stenajs-webui/theme";
9
- const je = ({
8
+ import { cssColor as ue } from "@stenajs-webui/theme";
9
+ const Be = ({
10
10
  text: n = "Are you sure?",
11
11
  yesLabel: t = "Yes",
12
12
  noLabel: r = "No",
13
13
  onNo: c,
14
14
  onYes: s,
15
15
  loading: a
16
- }) => /* @__PURE__ */ i(oe, { position: "relative", children: [
16
+ }) => /* @__PURE__ */ i(ie, { position: "relative", children: [
17
17
  /* @__PURE__ */ i("div", { style: { opacity: a ? 0 : 1 }, children: [
18
- /* @__PURE__ */ e(J, { children: n }),
19
- /* @__PURE__ */ e(A, {}),
20
- /* @__PURE__ */ i(z, { justifyContent: "flex-end", alignItems: "center", children: [
21
- /* @__PURE__ */ e(te, { label: r, onClick: c }),
22
- /* @__PURE__ */ e(A, {}),
23
- /* @__PURE__ */ e(se, { label: t, onClick: s })
18
+ /* @__PURE__ */ e(K, { children: n }),
19
+ /* @__PURE__ */ e(T, {}),
20
+ /* @__PURE__ */ i(B, { justifyContent: "flex-end", alignItems: "center", children: [
21
+ /* @__PURE__ */ e(re, { label: r, onClick: c }),
22
+ /* @__PURE__ */ e(T, {}),
23
+ /* @__PURE__ */ e(le, { label: t, onClick: s })
24
24
  ] })
25
25
  ] }),
26
26
  a && /* @__PURE__ */ e(
27
- z,
27
+ B,
28
28
  {
29
29
  justifyContent: "center",
30
30
  alignItems: "center",
@@ -33,72 +33,74 @@ const je = ({
33
33
  width: "100%",
34
34
  height: "100%",
35
35
  position: "absolute",
36
- children: /* @__PURE__ */ e(ie, { size: "small" })
36
+ children: /* @__PURE__ */ e(ce, { size: "small" })
37
37
  }
38
38
  )
39
- ] }), he = "_floating_1glwr_1", me = "_disablePadding_1glwr_11", ue = "_iconWrapper_1glwr_16", _e = "_info_1glwr_36", we = "_warning_1glwr_42", ye = "_error_1glwr_48", R = {
40
- floating: he,
41
- disablePadding: me,
42
- iconWrapper: ue,
43
- info: _e,
44
- warning: we,
45
- error: ye
46
- }, Re = 12, B = 8, Ie = 2, De = ({
39
+ ] }), _e = "_floating_1glwr_1", we = "_disablePadding_1glwr_11", ye = "_iconWrapper_1glwr_16", Re = "_info_1glwr_36", Ie = "_warning_1glwr_42", Pe = "_error_1glwr_48", R = {
40
+ floating: _e,
41
+ disablePadding: we,
42
+ iconWrapper: ye,
43
+ info: Re,
44
+ warning: Ie,
45
+ error: Pe
46
+ }, ve = 12, U = 8, We = 2, Ue = ({
47
47
  children: n,
48
48
  placement: t = "bottom",
49
49
  hideArrow: r,
50
50
  renderTrigger: c,
51
51
  disablePadding: s,
52
52
  open: a,
53
- onRequestClose: g,
54
- restoreFocus: m,
55
- returnFocus: u,
56
- appendTo: _,
57
- zIndex: p
53
+ onRequestClose: p,
54
+ restoreFocus: _,
55
+ returnFocus: w,
56
+ initialFocus: y,
57
+ appendTo: g,
58
+ zIndex: h
58
59
  }) => {
59
- const d = T(null), h = K(
60
- (x) => {
61
- x || g();
60
+ const m = $(null), d = L(
61
+ (O) => {
62
+ O || p();
62
63
  },
63
- [g]
64
- ), { refs: f, floatingStyles: o, context: l } = $({
64
+ [p]
65
+ ), { refs: f, floatingStyles: u, context: l } = k({
65
66
  open: a,
66
- onOpenChange: h,
67
+ onOpenChange: d,
67
68
  placement: t,
68
69
  middleware: [
69
- k(B + Ie),
70
- H({ padding: 5 }),
70
+ H(U + We),
71
71
  S({ padding: 5 }),
72
- E({ element: d })
72
+ E({ padding: 5 }),
73
+ M({ element: m })
73
74
  ],
74
- whileElementsMounted: M
75
- }), { isMounted: w, styles: y } = G(l, {
75
+ whileElementsMounted: G
76
+ }), { isMounted: o, styles: W } = N(l, {
76
77
  initial: {
77
78
  opacity: 0
78
79
  }
79
- }), W = Q(l), C = V(l), { getReferenceProps: b, getFloatingProps: F } = N([
80
- W,
81
- C
80
+ }), C = V(l), b = X(l), { getReferenceProps: F, getFloatingProps: x } = j([
81
+ C,
82
+ b
82
83
  ]);
83
84
  return /* @__PURE__ */ i(P, { children: [
84
- c({ ref: f.setReference, ...b() }),
85
- w && /* @__PURE__ */ e(j, { root: _, children: /* @__PURE__ */ e(
86
- X,
85
+ c({ ref: f.setReference, ...F() }),
86
+ o && /* @__PURE__ */ e(D, { root: g, children: /* @__PURE__ */ e(
87
+ Z,
87
88
  {
88
89
  context: l,
89
90
  modal: !1,
90
- restoreFocus: m,
91
- returnFocus: u,
91
+ restoreFocus: _,
92
+ returnFocus: w,
93
+ initialFocus: y,
92
94
  children: /* @__PURE__ */ e(
93
95
  "div",
94
96
  {
95
97
  ref: f.setFloating,
96
- style: { zIndex: p, ...o },
97
- ...F,
98
+ style: { zIndex: h, ...u },
99
+ ...x,
98
100
  children: /* @__PURE__ */ i(
99
101
  "div",
100
102
  {
101
- style: y,
103
+ style: W,
102
104
  className: v(
103
105
  R.floating,
104
106
  s && R.disablePadding
@@ -106,12 +108,12 @@ const je = ({
106
108
  children: [
107
109
  n,
108
110
  !r && /* @__PURE__ */ e(
109
- D,
111
+ z,
110
112
  {
111
- ref: d,
113
+ ref: m,
112
114
  context: l,
113
- width: Re,
114
- height: B,
115
+ width: ve,
116
+ height: U,
115
117
  fill: "white"
116
118
  }
117
119
  )
@@ -123,123 +125,136 @@ const je = ({
123
125
  }
124
126
  ) })
125
127
  ] });
126
- }, Pe = 12, U = 8, ve = 2, ze = ({
128
+ }, Ce = 12, Y = 8, be = 2, Ye = ({
127
129
  children: n,
128
130
  variant: t,
129
131
  trigger: r = "hover",
130
132
  placement: c = "bottom",
131
133
  hideArrow: s,
132
134
  renderTrigger: a,
133
- disablePadding: g,
134
- appendTo: m,
135
- zIndex: u
135
+ disablePadding: p,
136
+ restoreFocus: _,
137
+ returnFocus: w,
138
+ initialFocus: y,
139
+ appendTo: g,
140
+ zIndex: h
136
141
  }) => {
137
- const [_, p] = L(!1), d = T(null), { refs: h, floatingStyles: f, context: o } = $({
138
- open: _,
139
- onOpenChange: p,
142
+ const [m, d] = Q(!1), f = $(null), { refs: u, floatingStyles: l, context: o } = k({
143
+ open: m,
144
+ onOpenChange: d,
140
145
  placement: c,
141
146
  middleware: [
142
- k(U + ve),
143
- H({ padding: 5 }),
147
+ H(Y + be),
144
148
  S({ padding: 5 }),
145
- E({ element: d })
149
+ E({ padding: 5 }),
150
+ M({ element: f })
146
151
  ],
147
- whileElementsMounted: M
148
- }), { isMounted: l, styles: w } = G(o, {
152
+ whileElementsMounted: G
153
+ }), { isMounted: W, styles: C } = N(o, {
149
154
  initial: {
150
155
  opacity: 0
151
156
  }
152
- }), y = K(() => {
153
- p(!1);
154
- }, []), W = Q(o), C = V(o), b = de(o, { enabled: O(r, "focus") }), F = fe(o, { enabled: O(r, "click") }), x = Z(o, {
155
- enabled: O(r, "hover"),
156
- handleClose: pe(),
157
+ }), b = L(() => {
158
+ d(!1);
159
+ }, []), F = V(o), x = X(o), O = ge(o, { enabled: A(r, "focus") }), ne = he(o, { enabled: A(r, "click") }), oe = ee(o, {
160
+ enabled: A(r, "hover"),
161
+ handleClose: me(),
157
162
  restMs: 100
158
- }), { getReferenceProps: ee, getFloatingProps: ne } = N([
159
- b,
163
+ }), { getReferenceProps: te, getFloatingProps: se } = j([
164
+ O,
165
+ ne,
166
+ oe,
160
167
  F,
161
- x,
162
- W,
163
- C
168
+ x
164
169
  ]);
165
170
  return /* @__PURE__ */ i(P, { children: [
166
- a({ ref: h.setReference, ...ee() }),
167
- l && /* @__PURE__ */ e(j, { root: m, children: /* @__PURE__ */ e(X, { context: o, modal: !1, children: /* @__PURE__ */ e(
168
- "div",
171
+ a({ ref: u.setReference, ...te() }),
172
+ W && /* @__PURE__ */ e(D, { root: g, children: /* @__PURE__ */ e(
173
+ Z,
169
174
  {
170
- ref: h.setFloating,
171
- style: { zIndex: u, ...f },
172
- ...ne,
173
- children: /* @__PURE__ */ i(
175
+ context: o,
176
+ modal: !1,
177
+ restoreFocus: _,
178
+ returnFocus: w,
179
+ initialFocus: y,
180
+ children: /* @__PURE__ */ e(
174
181
  "div",
175
182
  {
176
- style: w,
177
- className: v(
178
- R.floating,
179
- g && R.disablePadding,
180
- t && R.withIcon
181
- ),
182
- children: [
183
- typeof n == "function" ? n({ onRequestClose: y }) : n,
184
- !s && /* @__PURE__ */ e(
185
- D,
186
- {
187
- ref: d,
188
- context: o,
189
- width: Pe,
190
- height: U,
191
- fill: "white"
192
- }
193
- )
194
- ]
183
+ ref: u.setFloating,
184
+ style: { zIndex: h, ...l },
185
+ ...se,
186
+ children: /* @__PURE__ */ i(
187
+ "div",
188
+ {
189
+ style: C,
190
+ className: v(
191
+ R.floating,
192
+ p && R.disablePadding,
193
+ t && R.withIcon
194
+ ),
195
+ children: [
196
+ typeof n == "function" ? n({ onRequestClose: b }) : n,
197
+ !s && /* @__PURE__ */ e(
198
+ z,
199
+ {
200
+ ref: f,
201
+ context: o,
202
+ width: Ce,
203
+ height: Y,
204
+ fill: "white"
205
+ }
206
+ )
207
+ ]
208
+ }
209
+ )
195
210
  }
196
211
  )
197
212
  }
198
- ) }) })
213
+ ) })
199
214
  ] });
200
- }, O = (n, t) => typeof n == "string" ? n === t : n.includes(t), We = "_floating_15fk9_1", Ce = "_withIcon_15fk9_10", be = "_iconWrapper_15fk9_16", Fe = "_info_15fk9_36", xe = "_warning_15fk9_42", Oe = "_error_15fk9_48", I = {
201
- floating: We,
202
- withIcon: Ce,
203
- iconWrapper: be,
204
- info: Fe,
205
- warning: xe,
206
- error: Oe
207
- }, Ae = {
208
- info: le,
209
- warning: ce,
210
- error: ae
211
- }, Te = 12, Y = 8, $e = 2, Be = ({
215
+ }, A = (n, t) => typeof n == "string" ? n === t : n.includes(t), Fe = "_floating_15fk9_1", xe = "_withIcon_15fk9_10", Oe = "_iconWrapper_15fk9_16", Ae = "_info_15fk9_36", Te = "_warning_15fk9_42", $e = "_error_15fk9_48", I = {
216
+ floating: Fe,
217
+ withIcon: xe,
218
+ iconWrapper: Oe,
219
+ info: Ae,
220
+ warning: Te,
221
+ error: $e
222
+ }, ke = {
223
+ info: de,
224
+ warning: fe,
225
+ error: pe
226
+ }, He = 12, q = 8, Se = 2, qe = ({
212
227
  children: n,
213
228
  visible: t,
214
229
  placement: r,
215
230
  label: c,
216
231
  variant: s,
217
232
  maxWidth: a = "500px",
218
- appendTo: g,
219
- zIndex: m
233
+ appendTo: p,
234
+ zIndex: _
220
235
  }) => {
221
- const [u, _] = L(!1), p = T(null), { refs: d, floatingStyles: h, context: f } = $({
236
+ const [w, y] = Q(!1), g = $(null), { refs: h, floatingStyles: m, context: d } = k({
222
237
  placement: r,
223
- open: t ?? u,
224
- onOpenChange: _,
238
+ open: t ?? w,
239
+ onOpenChange: y,
225
240
  middleware: [
226
- k(Y + $e),
227
- H({ padding: 5 }),
241
+ H(q + Se),
228
242
  S({ padding: 5 }),
229
- E({ element: p })
243
+ E({ padding: 5 }),
244
+ M({ element: g })
230
245
  ],
231
- whileElementsMounted: M
232
- }), { isMounted: o, styles: l } = G(f, {
246
+ whileElementsMounted: G
247
+ }), { isMounted: f, styles: u } = N(d, {
233
248
  initial: {
234
249
  opacity: 0
235
250
  }
236
- }), w = Z(f), { getReferenceProps: y } = N([w]);
251
+ }), l = ee(d), { getReferenceProps: o } = j([l]);
237
252
  return /* @__PURE__ */ i(P, { children: [
238
- /* @__PURE__ */ e("div", { ref: d.setReference, ...y(), children: n }),
239
- o && /* @__PURE__ */ e(j, { root: g, children: /* @__PURE__ */ e("div", { ref: d.setFloating, style: { zIndex: m, ...h }, children: /* @__PURE__ */ i(
253
+ /* @__PURE__ */ e("div", { ref: h.setReference, ...o(), children: n }),
254
+ f && /* @__PURE__ */ e(D, { root: p, children: /* @__PURE__ */ e("div", { ref: h.setFloating, style: { zIndex: _, ...m }, children: /* @__PURE__ */ i(
240
255
  "div",
241
256
  {
242
- style: { maxWidth: a, ...l },
257
+ style: { maxWidth: a, ...u },
243
258
  className: v(
244
259
  I.floating,
245
260
  s && I.withIcon
@@ -253,19 +268,19 @@ const je = ({
253
268
  I.iconWrapper,
254
269
  I[s]
255
270
  ),
256
- children: /* @__PURE__ */ e(re, { icon: Ae[s], size: 16 })
271
+ children: /* @__PURE__ */ e(ae, { icon: ke[s], size: 16 })
257
272
  }
258
273
  ),
259
- /* @__PURE__ */ e(A, {}),
260
- /* @__PURE__ */ e(q, { label: c })
261
- ] }) : /* @__PURE__ */ e(q, { label: c }),
274
+ /* @__PURE__ */ e(T, {}),
275
+ /* @__PURE__ */ e(J, { label: c })
276
+ ] }) : /* @__PURE__ */ e(J, { label: c }),
262
277
  /* @__PURE__ */ e(
263
- D,
278
+ z,
264
279
  {
265
- ref: p,
266
- context: f,
267
- width: Te,
268
- height: Y,
280
+ ref: g,
281
+ context: d,
282
+ width: He,
283
+ height: q,
269
284
  fill: "#333"
270
285
  }
271
286
  )
@@ -273,11 +288,11 @@ const je = ({
273
288
  }
274
289
  ) }) })
275
290
  ] });
276
- }, q = ({ label: n }) => /* @__PURE__ */ e(J, { color: ge("--lhds-color-ui-50"), size: "small", variant: "bold", children: n });
291
+ }, J = ({ label: n }) => /* @__PURE__ */ e(K, { color: ue("--lhds-color-ui-50"), size: "small", variant: "bold", children: n });
277
292
  export {
278
- je as ActionPrompt,
279
- De as ControlledPopover,
280
- ze as Popover,
281
- Be as Tooltip
293
+ Be as ActionPrompt,
294
+ Ue as ControlledPopover,
295
+ Ye as Popover,
296
+ qe as Tooltip
282
297
  };
283
298
  //# 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 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 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 >\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 onRequestClose?: () => void;\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 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 Popover: React.FC<PopoverProps> = ({\n children,\n variant,\n trigger = \"hover\",\n placement = \"bottom\",\n hideArrow,\n renderTrigger,\n disablePadding,\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 open: isOpen,\n onOpenChange: setIsOpen,\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 context={context} modal={false}>\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","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","isOpen","setIsOpen","useState","onFocus","useFocus","hasTrigger","onClick","useClick","onHover","useHover","safePolygon","triggerProp","triggerToCheck","variantIcons","stenaInfoCircle","stenaExclamationCircle","stenaExclamationTriangle","Tooltip","visible","label","maxWidth","styles","hover","Icon","TooltipText","cssColor"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/components/popover/ActionPrompt.tsx","../src/components/popover/ControlledPopover.tsx","../src/components/popover/Popover.tsx","../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["import { Column, Row, Space, Text } from \"@stenajs-webui/core\";\nimport { FlatButton, Spinner, PrimaryButton } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\n\nexport interface ActionPromptProps {\n text?: string;\n yesLabel?: string;\n noLabel?: string;\n onYes?: () => void;\n onNo?: () => void;\n loading?: boolean;\n}\n\nexport const ActionPrompt: React.FC<ActionPromptProps> = ({\n text = \"Are you sure?\",\n yesLabel = \"Yes\",\n noLabel = \"No\",\n onNo,\n onYes,\n loading,\n}) => {\n return (\n <Column position={\"relative\"}>\n <div style={{ opacity: loading ? 0 : 1 }}>\n <Text>{text}</Text>\n <Space />\n <Row justifyContent={\"flex-end\"} alignItems={\"center\"}>\n <FlatButton label={noLabel} onClick={onNo} />\n <Space />\n <PrimaryButton label={yesLabel} onClick={onYes} />\n </Row>\n </div>\n {loading && (\n <Row\n justifyContent={\"center\"}\n alignItems={\"center\"}\n left={0}\n top={0}\n width={\"100%\"}\n height={\"100%\"}\n position={\"absolute\"}\n >\n <Spinner size={\"small\"} />\n </Row>\n )}\n </Column>\n );\n};\n","import * as React from \"react\";\nimport { PropsWithChildren, ReactNode, useCallback, useRef } from \"react\";\nimport {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n 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 onRequestClose?: () => void;\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}\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}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const arrowRef = useRef(null);\n\n const { refs, floatingStyles, context } = useFloating({\n open: isOpen,\n onOpenChange: setIsOpen,\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","isOpen","setIsOpen","useState","onFocus","useFocus","hasTrigger","onClick","useClick","onHover","useHover","safePolygon","triggerProp","triggerToCheck","variantIcons","stenaInfoCircle","stenaExclamationCircle","stenaExclamationTriangle","Tooltip","visible","label","maxWidth","styles","hover","Icon","TooltipText","cssColor"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  (function(){"use strict";try{if(typeof document<"u"){var r=document.createElement("style");r.appendChild(document.createTextNode("._floating_1glwr_1{display:flex;flex-direction:row;align-items:center;background:#fff;color:#fff;border-radius:var(--swui-border-radius);padding:var(--swui-metrics-spacing) calc(var(--swui-metrics-indent) * 2);box-shadow:var(--swui-shadow-popover)}._floating_1glwr_1._disablePadding_1glwr_11{padding:0}._iconWrapper_1glwr_16{--current-bg-color: transparent;--current-border-color: var(--lhds-color-ui-50);--current-icon-color: var(--lhds-color-ui-50);display:inline-flex;flex-direction:row;white-space:nowrap;background-color:var(--current-bg-color);border:1px solid var(--current-border-color);border-radius:var(--swui-border-radius);padding:calc(var(--swui-metrics-spacing) * .5);align-items:flex-start}._iconWrapper_1glwr_16 svg{color:var(--current-icon-color)}._iconWrapper_1glwr_16._info_1glwr_36{--current-border-color: var(--lhds-color-blue-300);--current-bg-color: var(--lhds-color-blue-100);--current-icon-color: var(--lhds-color-blue-700)}._iconWrapper_1glwr_16._warning_1glwr_42{--current-border-color: var(--lhds-color-orange-300);--current-bg-color: var(--lhds-color-orange-100);--current-icon-color: var(--lhds-color-orange-700)}._iconWrapper_1glwr_16._error_1glwr_48{--current-border-color: var(--lhds-color-red-300);--current-bg-color: var(--lhds-color-red-100);--current-icon-color: var(--lhds-color-red-700)}._floating_15fk9_1{display:flex;align-items:center;background:#333;color:#fff;border-radius:var(--swui-border-radius);padding:var(--swui-metrics-spacing) calc(var(--swui-metrics-indent) * 2);width:-webkit-fit-content;width:-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 n=require("react/jsx-runtime"),u=require("@stenajs-webui/core"),p=require("@stenajs-webui/elements"),h=require("react"),e=require("@floating-ui/react"),I=require("classnames"),E=require("@stenajs-webui/theme"),q=({text:s="Are you sure?",yesLabel:o="Yes",noLabel:r="No",onNo:c,onYes:i,loading:a})=>n.jsxs(u.Column,{position:"relative",children:[n.jsxs("div",{style:{opacity:a?0:1},children:[n.jsx(u.Text,{children:s}),n.jsx(u.Space,{}),n.jsxs(u.Row,{justifyContent:"flex-end",alignItems:"center",children:[n.jsx(p.FlatButton,{label:r,onClick:c}),n.jsx(u.Space,{}),n.jsx(p.PrimaryButton,{label:o,onClick:i})]})]}),a&&n.jsx(u.Row,{justifyContent:"center",alignItems:"center",left:0,top:0,width:"100%",height:"100%",position:"absolute",children:n.jsx(p.Spinner,{size:"small"})})]}),G="_floating_1glwr_1",D="_disablePadding_1glwr_11",N="_iconWrapper_1glwr_16",z="_info_1glwr_36",U="_warning_1glwr_42",B="_error_1glwr_48",F={floating:G,disablePadding:D,iconWrapper:N,info:z,warning:U,error:B},Y=12,A=8,J=2,K=({children:s,placement:o="bottom",hideArrow:r,renderTrigger:c,disablePadding:i,open:a,onRequestClose:x,restoreFocus:m,returnFocus:w,appendTo:j,zIndex:g})=>{const d=h.useRef(null),_=h.useCallback(T=>{T||x()},[x]),{refs:f,floatingStyles:t,context:l}=e.useFloating({open:a,onOpenChange:_,placement:o,middleware:[e.offset(A+J),e.flip({padding:5}),e.shift({padding:5}),e.arrow({element:d})],whileElementsMounted:e.autoUpdate}),{isMounted:y,styles:R}=e.useTransitionStyles(l,{initial:{opacity:0}}),v=e.useDismiss(l),S=e.useRole(l),{getReferenceProps:b,getFloatingProps:C}=e.useInteractions([v,S]);return n.jsxs(n.Fragment,{children:[c({ref:f.setReference,...b()}),y&&n.jsx(e.FloatingPortal,{root:j,children:n.jsx(e.FloatingFocusManager,{context:l,modal:!1,restoreFocus:m,returnFocus:w,children:n.jsx("div",{ref:f.setFloating,style:{zIndex:g,...t},...C,children:n.jsxs("div",{style:R,className:I(F.floating,i&&F.disablePadding),children:[s,!r&&n.jsx(e.FloatingArrow,{ref:d,context:l,width:Y,height:A,fill:"white"})]})})})})]})},L=12,O=8,Q=2,V=({children:s,variant:o,trigger:r="hover",placement:c="bottom",hideArrow:i,renderTrigger:a,disablePadding:x,appendTo:m,zIndex:w})=>{const[j,g]=h.useState(!1),d=h.useRef(null),{refs:_,floatingStyles:f,context:t}=e.useFloating({open:j,onOpenChange:g,placement:c,middleware:[e.offset(O+Q),e.flip({padding:5}),e.shift({padding:5}),e.arrow({element:d})],whileElementsMounted:e.autoUpdate}),{isMounted:l,styles:y}=e.useTransitionStyles(t,{initial:{opacity:0}}),R=h.useCallback(()=>{g(!1)},[]),v=e.useDismiss(t),S=e.useRole(t),b=e.useFocus(t,{enabled:W(r,"focus")}),C=e.useClick(t,{enabled:W(r,"click")}),T=e.useHover(t,{enabled:W(r,"hover"),handleClose:e.safePolygon(),restMs:100}),{getReferenceProps:H,getFloatingProps:M}=e.useInteractions([b,C,T,v,S]);return n.jsxs(n.Fragment,{children:[a({ref:_.setReference,...H()}),l&&n.jsx(e.FloatingPortal,{root:m,children:n.jsx(e.FloatingFocusManager,{context:t,modal:!1,children:n.jsx("div",{ref:_.setFloating,style:{zIndex:w,...f},...M,children:n.jsxs("div",{style:y,className:I(F.floating,x&&F.disablePadding,o&&F.withIcon),children:[typeof s=="function"?s({onRequestClose:R}):s,!i&&n.jsx(e.FloatingArrow,{ref:d,context:t,width:L,height:O,fill:"white"})]})})})})]})},W=(s,o)=>typeof s=="string"?s===o:s.includes(o),X="_floating_15fk9_1",Z="_withIcon_15fk9_10",ee="_iconWrapper_15fk9_16",ne="_info_15fk9_36",se="_warning_15fk9_42",te="_error_15fk9_48",P={floating:X,withIcon:Z,iconWrapper:ee,info:ne,warning:se,error:te},oe={info:p.stenaInfoCircle,warning:p.stenaExclamationCircle,error:p.stenaExclamationTriangle},ie=12,$=8,re=2,le=({children:s,visible:o,placement:r,label:c,variant:i,maxWidth:a="500px",appendTo:x,zIndex:m})=>{const[w,j]=h.useState(!1),g=h.useRef(null),{refs:d,floatingStyles:_,context:f}=e.useFloating({placement:r,open:o??w,onOpenChange:j,middleware:[e.offset($+re),e.flip({padding:5}),e.shift({padding:5}),e.arrow({element:g})],whileElementsMounted:e.autoUpdate}),{isMounted:t,styles:l}=e.useTransitionStyles(f,{initial:{opacity:0}}),y=e.useHover(f),{getReferenceProps:R}=e.useInteractions([y]);return n.jsxs(n.Fragment,{children:[n.jsx("div",{ref:d.setReference,...R(),children:s}),t&&n.jsx(e.FloatingPortal,{root:x,children:n.jsx("div",{ref:d.setFloating,style:{zIndex:m,..._},children:n.jsxs("div",{style:{maxWidth:a,...l},className:I(P.floating,i&&P.withIcon),children:[i?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:I(P.iconWrapper,P[i]),children:n.jsx(p.Icon,{icon:oe[i],size:16})}),n.jsx(u.Space,{}),n.jsx(k,{label:c})]}):n.jsx(k,{label:c}),n.jsx(e.FloatingArrow,{ref:g,context:f,width:ie,height:$,fill:"#333"})]})})})]})},k=({label:s})=>n.jsx(u.Text,{color:E.cssColor("--lhds-color-ui-50"),size:"small",variant:"bold",children:s});exports.ActionPrompt=q;exports.ControlledPopover=K;exports.Popover=V;exports.Tooltip=le;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),f=require("@stenajs-webui/core"),g=require("@stenajs-webui/elements"),p=require("react"),e=require("@floating-ui/react"),I=require("classnames"),D=require("@stenajs-webui/theme"),N=({text:s="Are you sure?",yesLabel:o="Yes",noLabel:r="No",onNo:c,onYes:i,loading:a})=>n.jsxs(f.Column,{position:"relative",children:[n.jsxs("div",{style:{opacity:a?0:1},children:[n.jsx(f.Text,{children:s}),n.jsx(f.Space,{}),n.jsxs(f.Row,{justifyContent:"flex-end",alignItems:"center",children:[n.jsx(g.FlatButton,{label:r,onClick:c}),n.jsx(f.Space,{}),n.jsx(g.PrimaryButton,{label:o,onClick:i})]})]}),a&&n.jsx(f.Row,{justifyContent:"center",alignItems:"center",left:0,top:0,width:"100%",height:"100%",position:"absolute",children:n.jsx(g.Spinner,{size:"small"})})]}),z="_floating_1glwr_1",U="_disablePadding_1glwr_11",B="_iconWrapper_1glwr_16",Y="_info_1glwr_36",J="_warning_1glwr_42",K="_error_1glwr_48",F={floating:z,disablePadding:U,iconWrapper:B,info:Y,warning:J,error:K},L=12,O=8,Q=2,V=({children:s,placement:o="bottom",hideArrow:r,renderTrigger:c,disablePadding:i,open:a,onRequestClose:h,restoreFocus:j,returnFocus:y,initialFocus:R,appendTo:x,zIndex:_})=>{const m=p.useRef(null),d=p.useCallback(W=>{W||h()},[h]),{refs:u,floatingStyles:w,context:l}=e.useFloating({open:a,onOpenChange:d,placement:o,middleware:[e.offset(O+Q),e.flip({padding:5}),e.shift({padding:5}),e.arrow({element:m})],whileElementsMounted:e.autoUpdate}),{isMounted:t,styles:v}=e.useTransitionStyles(l,{initial:{opacity:0}}),S=e.useDismiss(l),b=e.useRole(l),{getReferenceProps:C,getFloatingProps:T}=e.useInteractions([S,b]);return n.jsxs(n.Fragment,{children:[c({ref:u.setReference,...C()}),t&&n.jsx(e.FloatingPortal,{root:x,children:n.jsx(e.FloatingFocusManager,{context:l,modal:!1,restoreFocus:j,returnFocus:y,initialFocus:R,children:n.jsx("div",{ref:u.setFloating,style:{zIndex:_,...w},...T,children:n.jsxs("div",{style:v,className:I(F.floating,i&&F.disablePadding),children:[s,!r&&n.jsx(e.FloatingArrow,{ref:m,context:l,width:L,height:O,fill:"white"})]})})})})]})},X=12,$=8,Z=2,ee=({children:s,variant:o,trigger:r="hover",placement:c="bottom",hideArrow:i,renderTrigger:a,disablePadding:h,restoreFocus:j,returnFocus:y,initialFocus:R,appendTo:x,zIndex:_})=>{const[m,d]=p.useState(!1),u=p.useRef(null),{refs:w,floatingStyles:l,context:t}=e.useFloating({open:m,onOpenChange:d,placement:c,middleware:[e.offset($+Z),e.flip({padding:5}),e.shift({padding:5}),e.arrow({element:u})],whileElementsMounted:e.autoUpdate}),{isMounted:v,styles:S}=e.useTransitionStyles(t,{initial:{opacity:0}}),b=p.useCallback(()=>{d(!1)},[]),C=e.useDismiss(t),T=e.useRole(t),W=e.useFocus(t,{enabled:A(r,"focus")}),M=e.useClick(t,{enabled:A(r,"click")}),E=e.useHover(t,{enabled:A(r,"hover"),handleClose:e.safePolygon(),restMs:100}),{getReferenceProps:q,getFloatingProps:G}=e.useInteractions([W,M,E,C,T]);return n.jsxs(n.Fragment,{children:[a({ref:w.setReference,...q()}),v&&n.jsx(e.FloatingPortal,{root:x,children:n.jsx(e.FloatingFocusManager,{context:t,modal:!1,restoreFocus:j,returnFocus:y,initialFocus:R,children:n.jsx("div",{ref:w.setFloating,style:{zIndex:_,...l},...G,children:n.jsxs("div",{style:S,className:I(F.floating,h&&F.disablePadding,o&&F.withIcon),children:[typeof s=="function"?s({onRequestClose:b}):s,!i&&n.jsx(e.FloatingArrow,{ref:u,context:t,width:X,height:$,fill:"white"})]})})})})]})},A=(s,o)=>typeof s=="string"?s===o:s.includes(o),ne="_floating_15fk9_1",se="_withIcon_15fk9_10",te="_iconWrapper_15fk9_16",oe="_info_15fk9_36",ie="_warning_15fk9_42",re="_error_15fk9_48",P={floating:ne,withIcon:se,iconWrapper:te,info:oe,warning:ie,error:re},le={info:g.stenaInfoCircle,warning:g.stenaExclamationCircle,error:g.stenaExclamationTriangle},ce=12,k=8,ae=2,de=({children:s,visible:o,placement:r,label:c,variant:i,maxWidth:a="500px",appendTo:h,zIndex:j})=>{const[y,R]=p.useState(!1),x=p.useRef(null),{refs:_,floatingStyles:m,context:d}=e.useFloating({placement:r,open:o??y,onOpenChange:R,middleware:[e.offset(k+ae),e.flip({padding:5}),e.shift({padding:5}),e.arrow({element:x})],whileElementsMounted:e.autoUpdate}),{isMounted:u,styles:w}=e.useTransitionStyles(d,{initial:{opacity:0}}),l=e.useHover(d),{getReferenceProps:t}=e.useInteractions([l]);return n.jsxs(n.Fragment,{children:[n.jsx("div",{ref:_.setReference,...t(),children:s}),u&&n.jsx(e.FloatingPortal,{root:h,children:n.jsx("div",{ref:_.setFloating,style:{zIndex:j,...m},children:n.jsxs("div",{style:{maxWidth:a,...w},className:I(P.floating,i&&P.withIcon),children:[i?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:I(P.iconWrapper,P[i]),children:n.jsx(g.Icon,{icon:le[i],size:16})}),n.jsx(f.Space,{}),n.jsx(H,{label:c})]}):n.jsx(H,{label:c}),n.jsx(e.FloatingArrow,{ref:x,context:d,width:ce,height:k,fill:"#333"})]})})})]})},H=({label:s})=>n.jsx(f.Text,{color:D.cssColor("--lhds-color-ui-50"),size:"small",variant:"bold",children:s});exports.ActionPrompt=N;exports.ControlledPopover=V;exports.Popover=ee;exports.Tooltip=de;
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 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 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 >\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 onRequestClose?: () => void;\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 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 Popover: React.FC<PopoverProps> = ({\n children,\n variant,\n trigger = \"hover\",\n placement = \"bottom\",\n hideArrow,\n renderTrigger,\n disablePadding,\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 open: isOpen,\n onOpenChange: setIsOpen,\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 context={context} modal={false}>\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","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","isOpen","setIsOpen","useState","onFocus","useFocus","hasTrigger","onClick","useClick","onHover","useHover","safePolygon","triggerProp","triggerToCheck","variantIcons","stenaInfoCircle","stenaExclamationCircle","stenaExclamationTriangle","Tooltip","visible","label","maxWidth","styles","hover","Icon","TooltipText","cssColor"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/popover/ActionPrompt.tsx","../src/components/popover/ControlledPopover.tsx","../src/components/popover/Popover.tsx","../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["import { Column, Row, Space, Text } from \"@stenajs-webui/core\";\nimport { FlatButton, Spinner, PrimaryButton } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\n\nexport interface ActionPromptProps {\n text?: string;\n yesLabel?: string;\n noLabel?: string;\n onYes?: () => void;\n onNo?: () => void;\n loading?: boolean;\n}\n\nexport const ActionPrompt: React.FC<ActionPromptProps> = ({\n text = \"Are you sure?\",\n yesLabel = \"Yes\",\n noLabel = \"No\",\n onNo,\n onYes,\n loading,\n}) => {\n return (\n <Column position={\"relative\"}>\n <div style={{ opacity: loading ? 0 : 1 }}>\n <Text>{text}</Text>\n <Space />\n <Row justifyContent={\"flex-end\"} alignItems={\"center\"}>\n <FlatButton label={noLabel} onClick={onNo} />\n <Space />\n <PrimaryButton label={yesLabel} onClick={onYes} />\n </Row>\n </div>\n {loading && (\n <Row\n justifyContent={\"center\"}\n alignItems={\"center\"}\n left={0}\n top={0}\n width={\"100%\"}\n height={\"100%\"}\n position={\"absolute\"}\n >\n <Spinner size={\"small\"} />\n </Row>\n )}\n </Column>\n );\n};\n","import * as React from \"react\";\nimport { PropsWithChildren, ReactNode, useCallback, useRef } from \"react\";\nimport {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n 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 onRequestClose?: () => void;\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}\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}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const arrowRef = useRef(null);\n\n const { refs, floatingStyles, context } = useFloating({\n open: isOpen,\n onOpenChange: setIsOpen,\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","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.8.5",
3
+ "version": "21.9.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.8.5",
38
- "@stenajs-webui/elements": "21.8.5",
39
- "@stenajs-webui/theme": "21.8.5",
37
+ "@stenajs-webui/core": "21.9.1",
38
+ "@stenajs-webui/elements": "21.9.1",
39
+ "@stenajs-webui/theme": "21.9.1",
40
40
  "classnames": "^2.3.1"
41
41
  },
42
42
  "peerDependencies": {
@@ -61,5 +61,5 @@
61
61
  "files": [
62
62
  "dist"
63
63
  ],
64
- "gitHead": "ee7287dd27dbd4425a5780fe88db778c50d22cb8"
64
+ "gitHead": "ec426180b80c80a698c805d54b530d10f54bb485"
65
65
  }