@stenajs-webui/tooltip 19.0.0-next.4 → 19.0.0-next.41

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,7 +1,7 @@
1
- (function(){"use strict";try{var r=document.createElement("style");r.appendChild(document.createTextNode('._noPadding_183x1_1 .tippy-content{padding:0}.tippy-box[data-theme~=light]{box-shadow:var(--swui-shadow-popover)}.tippy-box[data-theme~=outlined]{border:1px solid var(--lhds-color-blue-500)}.tippy-box[data-theme~=info]{background-color:var(--lhds-color-blue-50);color:var(--swui-text-primary-color)}.tippy-box[data-theme~=info] .tippy-arrow{color:var(--lhds-color-blue-50)}.tippy-box[data-theme~=warning]{background-color:var(--lhds-color-orange-50);color:var(--swui-text-primary-color)}.tippy-box[data-theme~=warning] .tippy-arrow{color:var(--lhds-color-orange-50)}.tippy-box[data-theme~=error]{background-color:var(--lhds-color-red-50);color:var(--swui-text-primary-color)}.tippy-box[data-theme~=error] .tippy-arrow{color:var(--lhds-color-red-50)}.tippy-box[data-theme~=info][data-placement^=top]>.tippy-arrow:before{border-top-color:var(--lhds-color-blue-50)}.tippy-box[data-theme~=info][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:var(--lhds-color-blue-50)}.tippy-box[data-theme~=info][data-placement^=left]>.tippy-arrow:before{border-left-color:var(--lhds-color-blue-50)}.tippy-box[data-theme~=info][data-placement^=right]>.tippy-arrow:before{border-right-color:var(--lhds-color-blue-50)}.tippy-box[data-theme~=warning][data-placement^=top]>.tippy-arrow:before{border-top-color:var(--lhds-color-orange-50)}.tippy-box[data-theme~=warning][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:var(--lhds-color-orange-50)}.tippy-box[data-theme~=warning][data-placement^=left]>.tippy-arrow:before{border-left-color:var(--lhds-color-orange-50)}.tippy-box[data-theme~=warning][data-placement^=right]>.tippy-arrow:before{border-right-color:var(--lhds-color-orange-50)}.tippy-box[data-theme~=error][data-placement^=top]>.tippy-arrow:before{border-top-color:var(--lhds-color-red-50)}.tippy-box[data-theme~=error][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:var(--lhds-color-red-50)}.tippy-box[data-theme~=error][data-placement^=left]>.tippy-arrow:before{border-left-color:var(--lhds-color-red-50)}.tippy-box[data-theme~=error][data-placement^=right]>.tippy-arrow:before{border-right-color:var(--lhds-color-red-50)}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:8px;font-size:14px;line-height:1.4;outline:0;transition-property:visibility,opacity,-webkit-transform;transition-property:transform,visibility,opacity;transition-property:transform,visibility,opacity,-webkit-transform}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;-webkit-transform-origin:center top;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;-webkit-transform-origin:center bottom;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;-webkit-transform-origin:center left;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;-webkit-transform-origin:center right;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}.tippy-box[data-theme~=light]{color:#26323d;box-shadow:0 0 20px 4px #9aa1b126,0 4px 80px -8px #24282f40,0 4px 4px -2px #5b5e6926;background-color:#fff}.tippy-box[data-theme~=light][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff}.tippy-box[data-theme~=light][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff}.tippy-box[data-theme~=light]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light]>.tippy-svg-arrow{fill:#fff}.tippy-box[data-theme~=dark]{color:var(--lhds-color-ui-50);box-shadow:0 0 20px 4px #9aa1b126,0 4px 80px -8px #24282f40,0 4px 4px -2px #5b5e6926;background-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark][data-placement^=top]>.tippy-arrow:before{border-top-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark][data-placement^=left]>.tippy-arrow:before{border-left-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark][data-placement^=right]>.tippy-arrow:before{border-right-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark]>.tippy-backdrop{background-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark]>.tippy-svg-arrow{fill:var(--lhds-color-ui-800)}._tooltip_1i1mn_1{display:flex;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;align-items:center;border-radius:var(--swui-border-radius);padding:var(--swui-metrics-spacing) calc(var(--swui-metrics-indent) * 2)}._tooltip_1i1mn_1._withIcon_1i1mn_8{padding:calc(var(--swui-metrics-spacing) * .5);padding-right:calc(var(--swui-metrics-indent) * 2)}._iconWrapper_1i1mn_14{--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_1i1mn_14 svg{color:var(--current-icon-color)}._iconWrapper_1i1mn_14._info_1i1mn_34{--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_1i1mn_14._warning_1i1mn_40{--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_1i1mn_14._error_1i1mn_46{--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 { Column as W, Text as f, Space as a, Row as m, Box as j } from "@stenajs-webui/core";
3
- import { FlatButton as _, PrimaryButton as k, Spinner as B, Icon as N, stenaInfoCircle as R, stenaExclamationCircle as $, stenaExclamationTriangle as b } from "@stenajs-webui/elements";
4
- import { jsxs as c, jsx as n, Fragment as A } from "react/jsx-runtime";
1
+ (function(){"use strict";try{var r=document.createElement("style");r.appendChild(document.createTextNode('._noPadding_183x1_1 .tippy-content{padding:0}.tippy-box[data-theme~=light]{box-shadow:var(--swui-shadow-popover)}.tippy-box[data-theme~=outlined]{border:1px solid var(--lhds-color-blue-500)}.tippy-box[data-theme~=info]{background-color:var(--lhds-color-blue-50);color:var(--swui-text-primary-color)}.tippy-box[data-theme~=info] .tippy-arrow{color:var(--lhds-color-blue-50)}.tippy-box[data-theme~=warning]{background-color:var(--lhds-color-orange-50);color:var(--swui-text-primary-color)}.tippy-box[data-theme~=warning] .tippy-arrow{color:var(--lhds-color-orange-50)}.tippy-box[data-theme~=error]{background-color:var(--lhds-color-red-50);color:var(--swui-text-primary-color)}.tippy-box[data-theme~=error] .tippy-arrow{color:var(--lhds-color-red-50)}.tippy-box[data-theme~=info][data-placement^=top]>.tippy-arrow:before{border-top-color:var(--lhds-color-blue-50)}.tippy-box[data-theme~=info][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:var(--lhds-color-blue-50)}.tippy-box[data-theme~=info][data-placement^=left]>.tippy-arrow:before{border-left-color:var(--lhds-color-blue-50)}.tippy-box[data-theme~=info][data-placement^=right]>.tippy-arrow:before{border-right-color:var(--lhds-color-blue-50)}.tippy-box[data-theme~=warning][data-placement^=top]>.tippy-arrow:before{border-top-color:var(--lhds-color-orange-50)}.tippy-box[data-theme~=warning][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:var(--lhds-color-orange-50)}.tippy-box[data-theme~=warning][data-placement^=left]>.tippy-arrow:before{border-left-color:var(--lhds-color-orange-50)}.tippy-box[data-theme~=warning][data-placement^=right]>.tippy-arrow:before{border-right-color:var(--lhds-color-orange-50)}.tippy-box[data-theme~=error][data-placement^=top]>.tippy-arrow:before{border-top-color:var(--lhds-color-red-50)}.tippy-box[data-theme~=error][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:var(--lhds-color-red-50)}.tippy-box[data-theme~=error][data-placement^=left]>.tippy-arrow:before{border-left-color:var(--lhds-color-red-50)}.tippy-box[data-theme~=error][data-placement^=right]>.tippy-arrow:before{border-right-color:var(--lhds-color-red-50)}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:8px;font-size:14px;line-height:1.5;outline:0;transition-property:visibility,opacity,-webkit-transform;transition-property:transform,visibility,opacity;transition-property:transform,visibility,opacity,-webkit-transform}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;-webkit-transform-origin:center top;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;-webkit-transform-origin:center bottom;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;-webkit-transform-origin:center left;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;-webkit-transform-origin:center right;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}.tippy-box[data-theme~=light]{color:#26323d;box-shadow:0 0 20px 4px #9aa1b126,0 4px 80px -8px #24282f40,0 4px 4px -2px #5b5e6926;background-color:#fff}.tippy-box[data-theme~=light][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff}.tippy-box[data-theme~=light][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff}.tippy-box[data-theme~=light]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light]>.tippy-svg-arrow{fill:#fff}.tippy-box[data-theme~=dark]{color:var(--lhds-color-ui-50);box-shadow:0 0 20px 4px #9aa1b126,0 4px 80px -8px #24282f40,0 4px 4px -2px #5b5e6926;background-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark][data-placement^=top]>.tippy-arrow:before{border-top-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark][data-placement^=left]>.tippy-arrow:before{border-left-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark][data-placement^=right]>.tippy-arrow:before{border-right-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark]>.tippy-backdrop{background-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark]>.tippy-svg-arrow{fill:var(--lhds-color-ui-800)}._tooltip_1i1mn_1{display:flex;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;align-items:center;border-radius:var(--swui-border-radius);padding:var(--swui-metrics-spacing) calc(var(--swui-metrics-indent) * 2)}._tooltip_1i1mn_1._withIcon_1i1mn_8{padding:calc(var(--swui-metrics-spacing) * .5);padding-right:calc(var(--swui-metrics-indent) * 2)}._iconWrapper_1i1mn_14{--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_1i1mn_14 svg{color:var(--current-icon-color)}._iconWrapper_1i1mn_14._info_1i1mn_34{--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_1i1mn_14._warning_1i1mn_40{--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_1i1mn_14._error_1i1mn_46{--current-border-color: var(--lhds-color-red-300);--current-bg-color: var(--lhds-color-red-100);--current-icon-color: var(--lhds-color-red-700)}')),document.head.appendChild(r)}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
2
+ import { jsxs as c, jsx as n, Fragment as W } from "react/jsx-runtime";
3
+ import { Column as j, Text as f, Space as a, Row as m, Box as k } from "@stenajs-webui/core";
4
+ import { FlatButton as _, PrimaryButton as B, Spinner as N, Icon as R, stenaInfoCircle as $, stenaExclamationCircle as b, stenaExclamationTriangle as A } from "@stenajs-webui/elements";
5
5
  import E from "@tippyjs/react";
6
6
  import { useState as F, useMemo as M, useRef as H } from "react";
7
7
  import u from "classnames";
@@ -13,38 +13,30 @@ const cn = ({
13
13
  onNo: e,
14
14
  onYes: l,
15
15
  loading: r
16
- }) => /* @__PURE__ */ c(W, {
17
- position: "relative",
18
- children: [/* @__PURE__ */ c("div", {
19
- style: {
20
- opacity: r ? 0 : 1
21
- },
22
- children: [/* @__PURE__ */ n(f, {
23
- children: o
24
- }), /* @__PURE__ */ n(a, {}), /* @__PURE__ */ c(m, {
25
- justifyContent: "flex-end",
16
+ }) => /* @__PURE__ */ c(j, { position: "relative", children: [
17
+ /* @__PURE__ */ c("div", { style: { opacity: r ? 0 : 1 }, children: [
18
+ /* @__PURE__ */ n(f, { children: o }),
19
+ /* @__PURE__ */ n(a, {}),
20
+ /* @__PURE__ */ c(m, { justifyContent: "flex-end", alignItems: "center", children: [
21
+ /* @__PURE__ */ n(_, { label: i, onClick: e }),
22
+ /* @__PURE__ */ n(a, {}),
23
+ /* @__PURE__ */ n(B, { label: t, onClick: l })
24
+ ] })
25
+ ] }),
26
+ r && /* @__PURE__ */ n(
27
+ m,
28
+ {
29
+ justifyContent: "center",
26
30
  alignItems: "center",
27
- children: [/* @__PURE__ */ n(_, {
28
- label: i,
29
- onClick: e
30
- }), /* @__PURE__ */ n(a, {}), /* @__PURE__ */ n(k, {
31
- label: t,
32
- onClick: l
33
- })]
34
- })]
35
- }), r && /* @__PURE__ */ n(m, {
36
- justifyContent: "center",
37
- alignItems: "center",
38
- left: 0,
39
- top: 0,
40
- width: "100%",
41
- height: "100%",
42
- position: "absolute",
43
- children: /* @__PURE__ */ n(B, {
44
- size: "small"
45
- })
46
- })]
47
- }), Y = "_noPadding_183x1_1", q = {
31
+ left: 0,
32
+ top: 0,
33
+ width: "100%",
34
+ height: "100%",
35
+ position: "absolute",
36
+ children: /* @__PURE__ */ n(N, { size: "small" })
37
+ }
38
+ )
39
+ ] }), Y = "_noPadding_183x1_1", q = {
48
40
  noPadding: Y
49
41
  };
50
42
  const D = (o = []) => {
@@ -86,46 +78,40 @@ const D = (o = []) => {
86
78
  ...C
87
79
  }) => {
88
80
  var p;
89
- const {
90
- plugins: z,
91
- mounted: S
92
- } = D(P);
93
- return /* @__PURE__ */ n(E, {
94
- interactive: !0,
95
- className: G.noPadding,
96
- trigger: o !== void 0 ? void 0 : t,
97
- visible: o,
98
- theme: `${T} ${(p = g[r]) != null ? p : g.standard}`,
99
- delay: l,
100
- maxWidth: x,
101
- arrow: I,
102
- content: (!v || S) && /* @__PURE__ */ n(j, {
103
- spacing: !d && 1,
104
- indent: !d && 1,
105
- children: w
106
- }),
107
- plugins: z,
108
- ...C,
109
- children: /* @__PURE__ */ n("div", {
110
- ref: e,
111
- children: i
112
- })
113
- });
81
+ const { plugins: z, mounted: S } = D(P);
82
+ return /* @__PURE__ */ n(
83
+ E,
84
+ {
85
+ interactive: !0,
86
+ className: G.noPadding,
87
+ trigger: o !== void 0 ? void 0 : t,
88
+ visible: o,
89
+ theme: `${T} ${(p = g[r]) != null ? p : g.standard}`,
90
+ delay: l,
91
+ maxWidth: x,
92
+ arrow: I,
93
+ content: (!v || S) && /* @__PURE__ */ n(k, { spacing: !d && 1, indent: !d && 1, children: w }),
94
+ plugins: z,
95
+ ...C,
96
+ children: /* @__PURE__ */ n("div", { ref: e, children: i })
97
+ }
98
+ );
114
99
  }, ln = ({
115
100
  children: o,
116
101
  onShow: t,
117
102
  onHide: i,
118
103
  ...e
119
- }) => /* @__PURE__ */ n(y, {
120
- content: o,
121
- trigger: "click",
122
- zIndex: 1e3,
123
- onShow: t,
124
- onHide: i,
125
- children: /* @__PURE__ */ n(_, {
126
- ...e
127
- })
128
- }), J = "_tooltip_1i1mn_1", K = "_withIcon_1i1mn_8", O = "_iconWrapper_1i1mn_14", Q = "_info_1i1mn_34", U = "_warning_1i1mn_40", V = "_error_1i1mn_46", s = {
104
+ }) => /* @__PURE__ */ n(
105
+ y,
106
+ {
107
+ content: o,
108
+ trigger: "click",
109
+ zIndex: 1e3,
110
+ onShow: t,
111
+ onHide: i,
112
+ children: /* @__PURE__ */ n(_, { ...e })
113
+ }
114
+ ), J = "_tooltip_1i1mn_1", K = "_withIcon_1i1mn_8", O = "_iconWrapper_1i1mn_14", Q = "_info_1i1mn_34", U = "_warning_1i1mn_40", V = "_error_1i1mn_46", s = {
129
115
  tooltip: J,
130
116
  withIcon: K,
131
117
  iconWrapper: O,
@@ -133,43 +119,28 @@ const D = (o = []) => {
133
119
  warning: U,
134
120
  error: V
135
121
  }, X = {
136
- info: R,
137
- warning: $,
138
- error: b
139
- }, h = ({
140
- label: o
141
- }) => /* @__PURE__ */ n(f, {
142
- color: L("--lhds-color-ui-50"),
143
- size: "small",
144
- variant: "bold",
145
- children: o
146
- }), an = ({
122
+ info: $,
123
+ warning: b,
124
+ error: A
125
+ }, h = ({ label: o }) => /* @__PURE__ */ n(f, { color: L("--lhds-color-ui-50"), size: "small", variant: "bold", children: o }), an = ({
147
126
  label: o,
148
127
  variant: t,
149
128
  children: i,
150
129
  ...e
151
- }) => /* @__PURE__ */ n(y, {
152
- theme: "dark",
153
- ...e,
154
- disablePadding: !0,
155
- content: /* @__PURE__ */ n("div", {
156
- className: u(s.tooltip, t ? s.withIcon : null),
157
- children: t ? /* @__PURE__ */ c(A, {
158
- children: [/* @__PURE__ */ n("div", {
159
- className: u(s.iconWrapper, s[t]),
160
- children: /* @__PURE__ */ n(N, {
161
- icon: X[t],
162
- size: 16
163
- })
164
- }), /* @__PURE__ */ n(a, {}), /* @__PURE__ */ n(h, {
165
- label: o
166
- })]
167
- }) : /* @__PURE__ */ n(h, {
168
- label: o
169
- })
170
- }),
171
- children: i
172
- }), dn = () => {
130
+ }) => /* @__PURE__ */ n(
131
+ y,
132
+ {
133
+ theme: "dark",
134
+ ...e,
135
+ disablePadding: !0,
136
+ content: /* @__PURE__ */ n("div", { className: u(s.tooltip, t ? s.withIcon : null), children: t ? /* @__PURE__ */ c(W, { children: [
137
+ /* @__PURE__ */ n("div", { className: u(s.iconWrapper, s[t]), children: /* @__PURE__ */ n(R, { icon: X[t], size: 16 }) }),
138
+ /* @__PURE__ */ n(a, {}),
139
+ /* @__PURE__ */ n(h, { label: o })
140
+ ] }) : /* @__PURE__ */ n(h, { label: o }) }),
141
+ children: i
142
+ }
143
+ ), dn = () => {
173
144
  const o = H();
174
145
  return [
175
146
  (t) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/components/popover/ActionPrompt.tsx","../src/hooks/UseLazyPopover.ts","../src/components/popover/Popover.tsx","../src/components/button-with-popover/ButtonWithPopover.tsx","../src/components/tooltip/Tooltip.tsx","../src/hooks/UseTippyInstance.ts"],"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 { useMemo, useState } from \"react\";\nimport { Plugin } from \"tippy.js\";\n\nexport const useLazyPopover = (plugins: Plugin<unknown>[] = []) => {\n const [mounted, setMounted] = useState(false);\n\n const lazyPlugin = useMemo(\n () => ({\n fn: () => ({\n onShow: () => setMounted(true),\n onHidden: () => setMounted(false),\n }),\n }),\n [setMounted]\n );\n\n return {\n plugins: [lazyPlugin, ...plugins],\n mounted,\n };\n};\n","import TippyComponent, {\n TippyProps as TippyComponentProps,\n} from \"@tippyjs/react\";\nimport * as React from \"react\";\nimport styles from \"./Popover.module.css\";\nimport \"./Tippy.module.css\";\nimport { TippyCallbackRef } from \"../../hooks/UseTippyInstance\";\nimport { Box } from \"@stenajs-webui/core\";\nimport { useLazyPopover } from \"../../hooks/UseLazyPopover\";\n\nexport type PopoverVariant =\n | \"standard\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"outlined\";\n\nexport type PopoverTheme = \"light\" | \"dark\";\n\nexport interface PopoverProps\n extends Partial<Omit<TippyComponentProps, \"theme\" | \"render\">> {\n tippyRef?: TippyCallbackRef<HTMLDivElement>;\n disablePadding?: boolean;\n lazy?: boolean;\n variant?: PopoverVariant;\n theme?: PopoverTheme;\n}\n\nexport const tippyStyles = {\n noPadding: styles.noPadding,\n};\n\nconst variantToTheme: Record<PopoverVariant, string> = {\n standard: \"light\",\n info: \"info\",\n warning: \"warning\",\n error: \"error\",\n outlined: \"outlined\",\n};\n\nexport const Popover: React.FC<PopoverProps> = ({\n visible,\n trigger = \"mouseenter\",\n children,\n tippyRef,\n delay = 0,\n variant = \"standard\",\n disablePadding,\n content,\n maxWidth = \"500px\",\n plugins: propsPlugins,\n lazy,\n arrow = true,\n theme = \"light\",\n ...tippyProps\n}) => {\n const { plugins, mounted } = useLazyPopover(propsPlugins);\n\n return (\n <TippyComponent\n interactive\n className={tippyStyles.noPadding}\n trigger={visible !== undefined ? undefined : trigger}\n visible={visible}\n theme={`${theme} ${variantToTheme[variant] ?? variantToTheme.standard}`}\n delay={delay}\n maxWidth={maxWidth}\n arrow={arrow}\n content={\n (!lazy || mounted) && (\n <Box spacing={!disablePadding && 1} indent={!disablePadding && 1}>\n {content}\n </Box>\n )\n }\n plugins={plugins}\n {...tippyProps}\n >\n <div ref={tippyRef}>{children}</div>\n </TippyComponent>\n );\n};\n","import { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { Popover, PopoverProps } from \"../popover/Popover\";\n\nexport interface ButtonWithPopoverProps extends FlatButtonProps {\n children?: PopoverProps[\"children\"];\n visible?: boolean;\n onShow?: () => void;\n onHide?: () => void;\n}\n\nexport const ButtonWithPopover: React.FC<ButtonWithPopoverProps> = ({\n children,\n onShow,\n onHide,\n ...buttonProps\n}) => {\n return (\n <Popover\n content={children}\n trigger={\"click\"}\n zIndex={1000}\n onShow={onShow}\n onHide={onHide}\n >\n <FlatButton {...buttonProps} />\n </Popover>\n );\n};\n","import { Text, Space } from \"@stenajs-webui/core\";\nimport {\n Icon,\n stenaExclamationCircle,\n stenaExclamationTriangle,\n stenaInfoCircle,\n} from \"@stenajs-webui/elements\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./Tooltip.module.css\";\nimport { Popover, PopoverProps } from \"../popover/Popover\";\nimport { cssColor } from \"@stenajs-webui/theme\";\n\ntype TooltipVariant = \"info\" | \"warning\" | \"error\";\n\nconst variantIcons = {\n info: stenaInfoCircle,\n warning: stenaExclamationCircle,\n error: stenaExclamationTriangle,\n};\n\nexport interface TooltipProps extends Omit<PopoverProps, \"theme\" | \"render\"> {\n label: string;\n variant?: TooltipVariant;\n children: JSX.Element;\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\nexport const Tooltip: React.FC<TooltipProps> = ({\n label,\n variant,\n children,\n ...popoverProps\n}) => (\n <Popover\n theme=\"dark\"\n {...popoverProps}\n disablePadding\n content={\n <div className={cx(styles.tooltip, variant ? styles.withIcon : null)}>\n {variant ? (\n <>\n <div className={cx(styles.iconWrapper, styles[variant])}>\n <Icon icon={variantIcons[variant]} size={16} />\n </div>\n <Space />\n <TooltipText label={label} />\n </>\n ) : (\n <TooltipText label={label} />\n )}\n </div>\n }\n >\n {children}\n </Popover>\n);\n","import { Instance } from \"tippy.js\";\nimport { MutableRefObject, useRef } from \"react\";\n\nexport type TippyInstance = Instance;\n\nexport type TippyElement<TElement extends HTMLElement> = TElement & {\n _tippy: TippyInstance;\n};\n\nexport type TippyCallbackRef<TElement extends HTMLElement> = (\n element: TippyElement<TElement> | null\n) => void;\n\nexport const useTippyInstance = <TElement extends HTMLElement>(): [\n TippyCallbackRef<TElement>,\n MutableRefObject<TippyInstance | undefined>\n] => {\n const tippyRef = useRef<TippyInstance>();\n\n return [\n (element: TippyElement<TElement> | null) => {\n tippyRef.current = element?._tippy ?? undefined;\n },\n tippyRef,\n ];\n};\n"],"names":["ActionPrompt","text","yesLabel","noLabel","onNo","onYes","loading","Column","_jsxs","opacity","_jsx","Text","Space","Row","FlatButton","PrimaryButton","Spinner","useLazyPopover","plugins","mounted","setMounted","useState","useMemo","tippyStyles","noPadding","styles","variantToTheme","standard","info","warning","error","outlined","Popover","visible","trigger","children","tippyRef","delay","variant","disablePadding","content","maxWidth","propsPlugins","lazy","arrow","theme","tippyProps","TippyComponent","undefined","Box","ButtonWithPopover","onShow","onHide","buttonProps","variantIcons","stenaInfoCircle","stenaExclamationCircle","stenaExclamationTriangle","TooltipText","label","cssColor","Tooltip","popoverProps","cx","tooltip","withIcon","_Fragment","iconWrapper","Icon","useTippyInstance","useRef","element","_a"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/components/popover/ActionPrompt.tsx","../src/hooks/UseLazyPopover.ts","../src/components/popover/Popover.tsx","../src/components/button-with-popover/ButtonWithPopover.tsx","../src/components/tooltip/Tooltip.tsx","../src/hooks/UseTippyInstance.ts"],"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 { useMemo, useState } from \"react\";\nimport { Plugin } from \"tippy.js\";\n\nexport const useLazyPopover = (plugins: Plugin<unknown>[] = []) => {\n const [mounted, setMounted] = useState(false);\n\n const lazyPlugin = useMemo(\n () => ({\n fn: () => ({\n onShow: () => setMounted(true),\n onHidden: () => setMounted(false),\n }),\n }),\n [setMounted]\n );\n\n return {\n plugins: [lazyPlugin, ...plugins],\n mounted,\n };\n};\n","import TippyComponent, {\n TippyProps as TippyComponentProps,\n} from \"@tippyjs/react\";\nimport * as React from \"react\";\nimport styles from \"./Popover.module.css\";\nimport \"./Tippy.module.css\";\nimport { TippyCallbackRef } from \"../../hooks/UseTippyInstance\";\nimport { Box } from \"@stenajs-webui/core\";\nimport { useLazyPopover } from \"../../hooks/UseLazyPopover\";\n\nexport type PopoverVariant =\n | \"standard\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"outlined\";\n\nexport type PopoverTheme = \"light\" | \"dark\";\n\nexport interface PopoverProps\n extends Partial<Omit<TippyComponentProps, \"theme\" | \"render\">> {\n tippyRef?: TippyCallbackRef<HTMLDivElement>;\n disablePadding?: boolean;\n lazy?: boolean;\n variant?: PopoverVariant;\n theme?: PopoverTheme;\n}\n\nexport const tippyStyles = {\n noPadding: styles.noPadding,\n};\n\nconst variantToTheme: Record<PopoverVariant, string> = {\n standard: \"light\",\n info: \"info\",\n warning: \"warning\",\n error: \"error\",\n outlined: \"outlined\",\n};\n\nexport const Popover: React.FC<PopoverProps> = ({\n visible,\n trigger = \"mouseenter\",\n children,\n tippyRef,\n delay = 0,\n variant = \"standard\",\n disablePadding,\n content,\n maxWidth = \"500px\",\n plugins: propsPlugins,\n lazy,\n arrow = true,\n theme = \"light\",\n ...tippyProps\n}) => {\n const { plugins, mounted } = useLazyPopover(propsPlugins);\n\n return (\n <TippyComponent\n interactive\n className={tippyStyles.noPadding}\n trigger={visible !== undefined ? undefined : trigger}\n visible={visible}\n theme={`${theme} ${variantToTheme[variant] ?? variantToTheme.standard}`}\n delay={delay}\n maxWidth={maxWidth}\n arrow={arrow}\n content={\n (!lazy || mounted) && (\n <Box spacing={!disablePadding && 1} indent={!disablePadding && 1}>\n {content}\n </Box>\n )\n }\n plugins={plugins}\n {...tippyProps}\n >\n <div ref={tippyRef}>{children}</div>\n </TippyComponent>\n );\n};\n","import { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { Popover, PopoverProps } from \"../popover/Popover\";\n\nexport interface ButtonWithPopoverProps extends FlatButtonProps {\n children?: PopoverProps[\"children\"];\n visible?: boolean;\n onShow?: () => void;\n onHide?: () => void;\n}\n\nexport const ButtonWithPopover: React.FC<ButtonWithPopoverProps> = ({\n children,\n onShow,\n onHide,\n ...buttonProps\n}) => {\n return (\n <Popover\n content={children}\n trigger={\"click\"}\n zIndex={1000}\n onShow={onShow}\n onHide={onHide}\n >\n <FlatButton {...buttonProps} />\n </Popover>\n );\n};\n","import { Text, Space } from \"@stenajs-webui/core\";\nimport {\n Icon,\n stenaExclamationCircle,\n stenaExclamationTriangle,\n stenaInfoCircle,\n} from \"@stenajs-webui/elements\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./Tooltip.module.css\";\nimport { Popover, PopoverProps } from \"../popover/Popover\";\nimport { cssColor } from \"@stenajs-webui/theme\";\n\ntype TooltipVariant = \"info\" | \"warning\" | \"error\";\n\nconst variantIcons = {\n info: stenaInfoCircle,\n warning: stenaExclamationCircle,\n error: stenaExclamationTriangle,\n};\n\nexport interface TooltipProps extends Omit<PopoverProps, \"theme\" | \"render\"> {\n label: string;\n variant?: TooltipVariant;\n children: JSX.Element;\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\nexport const Tooltip: React.FC<TooltipProps> = ({\n label,\n variant,\n children,\n ...popoverProps\n}) => (\n <Popover\n theme=\"dark\"\n {...popoverProps}\n disablePadding\n content={\n <div className={cx(styles.tooltip, variant ? styles.withIcon : null)}>\n {variant ? (\n <>\n <div className={cx(styles.iconWrapper, styles[variant])}>\n <Icon icon={variantIcons[variant]} size={16} />\n </div>\n <Space />\n <TooltipText label={label} />\n </>\n ) : (\n <TooltipText label={label} />\n )}\n </div>\n }\n >\n {children}\n </Popover>\n);\n","import { Instance } from \"tippy.js\";\nimport { MutableRefObject, useRef } from \"react\";\n\nexport type TippyInstance = Instance;\n\nexport type TippyElement<TElement extends HTMLElement> = TElement & {\n _tippy: TippyInstance;\n};\n\nexport type TippyCallbackRef<TElement extends HTMLElement> = (\n element: TippyElement<TElement> | null\n) => void;\n\nexport const useTippyInstance = <TElement extends HTMLElement>(): [\n TippyCallbackRef<TElement>,\n MutableRefObject<TippyInstance | undefined>\n] => {\n const tippyRef = useRef<TippyInstance>();\n\n return [\n (element: TippyElement<TElement> | null) => {\n tippyRef.current = element?._tippy ?? undefined;\n },\n tippyRef,\n ];\n};\n"],"names":["ActionPrompt","text","yesLabel","noLabel","onNo","onYes","loading","jsxs","Column","jsx","Text","Space","Row","FlatButton","PrimaryButton","Spinner","useLazyPopover","plugins","mounted","setMounted","useState","useMemo","tippyStyles","styles","variantToTheme","Popover","visible","trigger","children","tippyRef","delay","variant","disablePadding","content","maxWidth","propsPlugins","lazy","arrow","theme","tippyProps","TippyComponent","_a","Box","ButtonWithPopover","onShow","onHide","buttonProps","variantIcons","stenaInfoCircle","stenaExclamationCircle","stenaExclamationTriangle","TooltipText","label","cssColor","Tooltip","popoverProps","cx","Fragment","Icon","useTippyInstance","useRef","element"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- (function(){"use strict";try{var r=document.createElement("style");r.appendChild(document.createTextNode('._noPadding_183x1_1 .tippy-content{padding:0}.tippy-box[data-theme~=light]{box-shadow:var(--swui-shadow-popover)}.tippy-box[data-theme~=outlined]{border:1px solid var(--lhds-color-blue-500)}.tippy-box[data-theme~=info]{background-color:var(--lhds-color-blue-50);color:var(--swui-text-primary-color)}.tippy-box[data-theme~=info] .tippy-arrow{color:var(--lhds-color-blue-50)}.tippy-box[data-theme~=warning]{background-color:var(--lhds-color-orange-50);color:var(--swui-text-primary-color)}.tippy-box[data-theme~=warning] .tippy-arrow{color:var(--lhds-color-orange-50)}.tippy-box[data-theme~=error]{background-color:var(--lhds-color-red-50);color:var(--swui-text-primary-color)}.tippy-box[data-theme~=error] .tippy-arrow{color:var(--lhds-color-red-50)}.tippy-box[data-theme~=info][data-placement^=top]>.tippy-arrow:before{border-top-color:var(--lhds-color-blue-50)}.tippy-box[data-theme~=info][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:var(--lhds-color-blue-50)}.tippy-box[data-theme~=info][data-placement^=left]>.tippy-arrow:before{border-left-color:var(--lhds-color-blue-50)}.tippy-box[data-theme~=info][data-placement^=right]>.tippy-arrow:before{border-right-color:var(--lhds-color-blue-50)}.tippy-box[data-theme~=warning][data-placement^=top]>.tippy-arrow:before{border-top-color:var(--lhds-color-orange-50)}.tippy-box[data-theme~=warning][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:var(--lhds-color-orange-50)}.tippy-box[data-theme~=warning][data-placement^=left]>.tippy-arrow:before{border-left-color:var(--lhds-color-orange-50)}.tippy-box[data-theme~=warning][data-placement^=right]>.tippy-arrow:before{border-right-color:var(--lhds-color-orange-50)}.tippy-box[data-theme~=error][data-placement^=top]>.tippy-arrow:before{border-top-color:var(--lhds-color-red-50)}.tippy-box[data-theme~=error][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:var(--lhds-color-red-50)}.tippy-box[data-theme~=error][data-placement^=left]>.tippy-arrow:before{border-left-color:var(--lhds-color-red-50)}.tippy-box[data-theme~=error][data-placement^=right]>.tippy-arrow:before{border-right-color:var(--lhds-color-red-50)}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:8px;font-size:14px;line-height:1.4;outline:0;transition-property:visibility,opacity,-webkit-transform;transition-property:transform,visibility,opacity;transition-property:transform,visibility,opacity,-webkit-transform}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;-webkit-transform-origin:center top;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;-webkit-transform-origin:center bottom;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;-webkit-transform-origin:center left;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;-webkit-transform-origin:center right;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}.tippy-box[data-theme~=light]{color:#26323d;box-shadow:0 0 20px 4px #9aa1b126,0 4px 80px -8px #24282f40,0 4px 4px -2px #5b5e6926;background-color:#fff}.tippy-box[data-theme~=light][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff}.tippy-box[data-theme~=light][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff}.tippy-box[data-theme~=light]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light]>.tippy-svg-arrow{fill:#fff}.tippy-box[data-theme~=dark]{color:var(--lhds-color-ui-50);box-shadow:0 0 20px 4px #9aa1b126,0 4px 80px -8px #24282f40,0 4px 4px -2px #5b5e6926;background-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark][data-placement^=top]>.tippy-arrow:before{border-top-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark][data-placement^=left]>.tippy-arrow:before{border-left-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark][data-placement^=right]>.tippy-arrow:before{border-right-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark]>.tippy-backdrop{background-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark]>.tippy-svg-arrow{fill:var(--lhds-color-ui-800)}._tooltip_1i1mn_1{display:flex;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;align-items:center;border-radius:var(--swui-border-radius);padding:var(--swui-metrics-spacing) calc(var(--swui-metrics-indent) * 2)}._tooltip_1i1mn_1._withIcon_1i1mn_8{padding:calc(var(--swui-metrics-spacing) * .5);padding-right:calc(var(--swui-metrics-indent) * 2)}._iconWrapper_1i1mn_14{--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_1i1mn_14 svg{color:var(--current-icon-color)}._iconWrapper_1i1mn_14._info_1i1mn_34{--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_1i1mn_14._warning_1i1mn_40{--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_1i1mn_14._error_1i1mn_46{--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.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("@stenajs-webui/core"),r=require("@stenajs-webui/elements"),n=require("react/jsx-runtime"),b=require("@tippyjs/react"),u=require("react"),q=require("classnames"),z=require("@stenajs-webui/theme"),h=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},B=h(b),j=h(q),W=({text:t="Are you sure?",yesLabel:e="Yes",noLabel:o="No",onNo:i,onYes:l,loading:c})=>n.jsxs(s.Column,{position:"relative",children:[n.jsxs("div",{style:{opacity:c?0:1},children:[n.jsx(s.Text,{children:t}),n.jsx(s.Space,{}),n.jsxs(s.Row,{justifyContent:"flex-end",alignItems:"center",children:[n.jsx(r.FlatButton,{label:o,onClick:i}),n.jsx(s.Space,{}),n.jsx(r.PrimaryButton,{label:e,onClick:l})]})]}),c&&n.jsx(s.Row,{justifyContent:"center",alignItems:"center",left:0,top:0,width:"100%",height:"100%",position:"absolute",children:n.jsx(r.Spinner,{size:"small"})})]}),R="_noPadding_183x1_1",k={noPadding:R};const M=(t=[])=>{const[e,o]=u.useState(!1);return{plugins:[u.useMemo(()=>({fn:()=>({onShow:()=>o(!0),onHidden:()=>o(!1)})}),[o]),...t],mounted:e}},_={noPadding:k.noPadding},m={standard:"light",info:"info",warning:"warning",error:"error",outlined:"outlined"},d=({visible:t,trigger:e="mouseenter",children:o,tippyRef:i,delay:l=0,variant:c="standard",disablePadding:p,content:f,maxWidth:y="500px",plugins:w,lazy:P,arrow:v=!0,theme:T="light",...I})=>{var x;const{plugins:C,mounted:S}=M(w);return n.jsx(B.default,{interactive:!0,className:_.noPadding,trigger:t!==void 0?void 0:e,visible:t,theme:`${T} ${(x=m[c])!=null?x:m.standard}`,delay:l,maxWidth:y,arrow:v,content:(!P||S)&&n.jsx(s.Box,{spacing:!p&&1,indent:!p&&1,children:f}),plugins:C,...I,children:n.jsx("div",{ref:i,children:o})})},N=({children:t,onShow:e,onHide:o,...i})=>n.jsx(d,{content:t,trigger:"click",zIndex:1e3,onShow:e,onHide:o,children:n.jsx(r.FlatButton,{...i})}),A="_tooltip_1i1mn_1",F="_withIcon_1i1mn_8",$="_iconWrapper_1i1mn_14",E="_info_1i1mn_34",L="_warning_1i1mn_40",D="_error_1i1mn_46",a={tooltip:A,withIcon:F,iconWrapper:$,info:E,warning:L,error:D},H={info:r.stenaInfoCircle,warning:r.stenaExclamationCircle,error:r.stenaExclamationTriangle},g=({label:t})=>n.jsx(s.Text,{color:z.cssColor("--lhds-color-ui-50"),size:"small",variant:"bold",children:t}),O=({label:t,variant:e,children:o,...i})=>n.jsx(d,{theme:"dark",...i,disablePadding:!0,content:n.jsx("div",{className:j.default(a.tooltip,e?a.withIcon:null),children:e?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:j.default(a.iconWrapper,a[e]),children:n.jsx(r.Icon,{icon:H[e],size:16})}),n.jsx(s.Space,{}),n.jsx(g,{label:t})]}):n.jsx(g,{label:t})}),children:o}),Y=()=>{const t=u.useRef();return[e=>{var o;t.current=(o=e==null?void 0:e._tippy)!=null?o:void 0},t]};exports.ActionPrompt=W;exports.ButtonWithPopover=N;exports.Popover=d;exports.Tooltip=O;exports.tippyStyles=_;exports.useTippyInstance=Y;
1
+ (function(){"use strict";try{var r=document.createElement("style");r.appendChild(document.createTextNode('._noPadding_183x1_1 .tippy-content{padding:0}.tippy-box[data-theme~=light]{box-shadow:var(--swui-shadow-popover)}.tippy-box[data-theme~=outlined]{border:1px solid var(--lhds-color-blue-500)}.tippy-box[data-theme~=info]{background-color:var(--lhds-color-blue-50);color:var(--swui-text-primary-color)}.tippy-box[data-theme~=info] .tippy-arrow{color:var(--lhds-color-blue-50)}.tippy-box[data-theme~=warning]{background-color:var(--lhds-color-orange-50);color:var(--swui-text-primary-color)}.tippy-box[data-theme~=warning] .tippy-arrow{color:var(--lhds-color-orange-50)}.tippy-box[data-theme~=error]{background-color:var(--lhds-color-red-50);color:var(--swui-text-primary-color)}.tippy-box[data-theme~=error] .tippy-arrow{color:var(--lhds-color-red-50)}.tippy-box[data-theme~=info][data-placement^=top]>.tippy-arrow:before{border-top-color:var(--lhds-color-blue-50)}.tippy-box[data-theme~=info][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:var(--lhds-color-blue-50)}.tippy-box[data-theme~=info][data-placement^=left]>.tippy-arrow:before{border-left-color:var(--lhds-color-blue-50)}.tippy-box[data-theme~=info][data-placement^=right]>.tippy-arrow:before{border-right-color:var(--lhds-color-blue-50)}.tippy-box[data-theme~=warning][data-placement^=top]>.tippy-arrow:before{border-top-color:var(--lhds-color-orange-50)}.tippy-box[data-theme~=warning][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:var(--lhds-color-orange-50)}.tippy-box[data-theme~=warning][data-placement^=left]>.tippy-arrow:before{border-left-color:var(--lhds-color-orange-50)}.tippy-box[data-theme~=warning][data-placement^=right]>.tippy-arrow:before{border-right-color:var(--lhds-color-orange-50)}.tippy-box[data-theme~=error][data-placement^=top]>.tippy-arrow:before{border-top-color:var(--lhds-color-red-50)}.tippy-box[data-theme~=error][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:var(--lhds-color-red-50)}.tippy-box[data-theme~=error][data-placement^=left]>.tippy-arrow:before{border-left-color:var(--lhds-color-red-50)}.tippy-box[data-theme~=error][data-placement^=right]>.tippy-arrow:before{border-right-color:var(--lhds-color-red-50)}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:8px;font-size:14px;line-height:1.5;outline:0;transition-property:visibility,opacity,-webkit-transform;transition-property:transform,visibility,opacity;transition-property:transform,visibility,opacity,-webkit-transform}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;-webkit-transform-origin:center top;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;-webkit-transform-origin:center bottom;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;-webkit-transform-origin:center left;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;-webkit-transform-origin:center right;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}.tippy-box[data-theme~=light]{color:#26323d;box-shadow:0 0 20px 4px #9aa1b126,0 4px 80px -8px #24282f40,0 4px 4px -2px #5b5e6926;background-color:#fff}.tippy-box[data-theme~=light][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff}.tippy-box[data-theme~=light][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff}.tippy-box[data-theme~=light]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light]>.tippy-svg-arrow{fill:#fff}.tippy-box[data-theme~=dark]{color:var(--lhds-color-ui-50);box-shadow:0 0 20px 4px #9aa1b126,0 4px 80px -8px #24282f40,0 4px 4px -2px #5b5e6926;background-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark][data-placement^=top]>.tippy-arrow:before{border-top-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark][data-placement^=left]>.tippy-arrow:before{border-left-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark][data-placement^=right]>.tippy-arrow:before{border-right-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark]>.tippy-backdrop{background-color:var(--lhds-color-ui-800)}.tippy-box[data-theme~=dark]>.tippy-svg-arrow{fill:var(--lhds-color-ui-800)}._tooltip_1i1mn_1{display:flex;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;align-items:center;border-radius:var(--swui-border-radius);padding:var(--swui-metrics-spacing) calc(var(--swui-metrics-indent) * 2)}._tooltip_1i1mn_1._withIcon_1i1mn_8{padding:calc(var(--swui-metrics-spacing) * .5);padding-right:calc(var(--swui-metrics-indent) * 2)}._iconWrapper_1i1mn_14{--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_1i1mn_14 svg{color:var(--current-icon-color)}._iconWrapper_1i1mn_14._info_1i1mn_34{--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_1i1mn_14._warning_1i1mn_40{--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_1i1mn_14._error_1i1mn_46{--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.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react/jsx-runtime"),s=require("@stenajs-webui/core"),r=require("@stenajs-webui/elements"),b=require("@tippyjs/react"),u=require("react"),q=require("classnames"),z=require("@stenajs-webui/theme"),h=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},B=h(b),j=h(q),W=({text:t="Are you sure?",yesLabel:e="Yes",noLabel:o="No",onNo:i,onYes:l,loading:c})=>n.jsxs(s.Column,{position:"relative",children:[n.jsxs("div",{style:{opacity:c?0:1},children:[n.jsx(s.Text,{children:t}),n.jsx(s.Space,{}),n.jsxs(s.Row,{justifyContent:"flex-end",alignItems:"center",children:[n.jsx(r.FlatButton,{label:o,onClick:i}),n.jsx(s.Space,{}),n.jsx(r.PrimaryButton,{label:e,onClick:l})]})]}),c&&n.jsx(s.Row,{justifyContent:"center",alignItems:"center",left:0,top:0,width:"100%",height:"100%",position:"absolute",children:n.jsx(r.Spinner,{size:"small"})})]}),R="_noPadding_183x1_1",k={noPadding:R};const M=(t=[])=>{const[e,o]=u.useState(!1);return{plugins:[u.useMemo(()=>({fn:()=>({onShow:()=>o(!0),onHidden:()=>o(!1)})}),[o]),...t],mounted:e}},_={noPadding:k.noPadding},m={standard:"light",info:"info",warning:"warning",error:"error",outlined:"outlined"},d=({visible:t,trigger:e="mouseenter",children:o,tippyRef:i,delay:l=0,variant:c="standard",disablePadding:p,content:f,maxWidth:y="500px",plugins:w,lazy:P,arrow:v=!0,theme:T="light",...I})=>{var x;const{plugins:C,mounted:S}=M(w);return n.jsx(B.default,{interactive:!0,className:_.noPadding,trigger:t!==void 0?void 0:e,visible:t,theme:`${T} ${(x=m[c])!=null?x:m.standard}`,delay:l,maxWidth:y,arrow:v,content:(!P||S)&&n.jsx(s.Box,{spacing:!p&&1,indent:!p&&1,children:f}),plugins:C,...I,children:n.jsx("div",{ref:i,children:o})})},N=({children:t,onShow:e,onHide:o,...i})=>n.jsx(d,{content:t,trigger:"click",zIndex:1e3,onShow:e,onHide:o,children:n.jsx(r.FlatButton,{...i})}),A="_tooltip_1i1mn_1",F="_withIcon_1i1mn_8",$="_iconWrapper_1i1mn_14",E="_info_1i1mn_34",L="_warning_1i1mn_40",D="_error_1i1mn_46",a={tooltip:A,withIcon:F,iconWrapper:$,info:E,warning:L,error:D},H={info:r.stenaInfoCircle,warning:r.stenaExclamationCircle,error:r.stenaExclamationTriangle},g=({label:t})=>n.jsx(s.Text,{color:z.cssColor("--lhds-color-ui-50"),size:"small",variant:"bold",children:t}),O=({label:t,variant:e,children:o,...i})=>n.jsx(d,{theme:"dark",...i,disablePadding:!0,content:n.jsx("div",{className:j.default(a.tooltip,e?a.withIcon:null),children:e?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:j.default(a.iconWrapper,a[e]),children:n.jsx(r.Icon,{icon:H[e],size:16})}),n.jsx(s.Space,{}),n.jsx(g,{label:t})]}):n.jsx(g,{label:t})}),children:o}),Y=()=>{const t=u.useRef();return[e=>{var o;t.current=(o=e==null?void 0:e._tippy)!=null?o:void 0},t]};exports.ActionPrompt=W;exports.ButtonWithPopover=N;exports.Popover=d;exports.Tooltip=O;exports.tippyStyles=_;exports.useTippyInstance=Y;
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/hooks/UseLazyPopover.ts","../src/components/popover/Popover.tsx","../src/components/button-with-popover/ButtonWithPopover.tsx","../src/components/tooltip/Tooltip.tsx","../src/hooks/UseTippyInstance.ts"],"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 { useMemo, useState } from \"react\";\nimport { Plugin } from \"tippy.js\";\n\nexport const useLazyPopover = (plugins: Plugin<unknown>[] = []) => {\n const [mounted, setMounted] = useState(false);\n\n const lazyPlugin = useMemo(\n () => ({\n fn: () => ({\n onShow: () => setMounted(true),\n onHidden: () => setMounted(false),\n }),\n }),\n [setMounted]\n );\n\n return {\n plugins: [lazyPlugin, ...plugins],\n mounted,\n };\n};\n","import TippyComponent, {\n TippyProps as TippyComponentProps,\n} from \"@tippyjs/react\";\nimport * as React from \"react\";\nimport styles from \"./Popover.module.css\";\nimport \"./Tippy.module.css\";\nimport { TippyCallbackRef } from \"../../hooks/UseTippyInstance\";\nimport { Box } from \"@stenajs-webui/core\";\nimport { useLazyPopover } from \"../../hooks/UseLazyPopover\";\n\nexport type PopoverVariant =\n | \"standard\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"outlined\";\n\nexport type PopoverTheme = \"light\" | \"dark\";\n\nexport interface PopoverProps\n extends Partial<Omit<TippyComponentProps, \"theme\" | \"render\">> {\n tippyRef?: TippyCallbackRef<HTMLDivElement>;\n disablePadding?: boolean;\n lazy?: boolean;\n variant?: PopoverVariant;\n theme?: PopoverTheme;\n}\n\nexport const tippyStyles = {\n noPadding: styles.noPadding,\n};\n\nconst variantToTheme: Record<PopoverVariant, string> = {\n standard: \"light\",\n info: \"info\",\n warning: \"warning\",\n error: \"error\",\n outlined: \"outlined\",\n};\n\nexport const Popover: React.FC<PopoverProps> = ({\n visible,\n trigger = \"mouseenter\",\n children,\n tippyRef,\n delay = 0,\n variant = \"standard\",\n disablePadding,\n content,\n maxWidth = \"500px\",\n plugins: propsPlugins,\n lazy,\n arrow = true,\n theme = \"light\",\n ...tippyProps\n}) => {\n const { plugins, mounted } = useLazyPopover(propsPlugins);\n\n return (\n <TippyComponent\n interactive\n className={tippyStyles.noPadding}\n trigger={visible !== undefined ? undefined : trigger}\n visible={visible}\n theme={`${theme} ${variantToTheme[variant] ?? variantToTheme.standard}`}\n delay={delay}\n maxWidth={maxWidth}\n arrow={arrow}\n content={\n (!lazy || mounted) && (\n <Box spacing={!disablePadding && 1} indent={!disablePadding && 1}>\n {content}\n </Box>\n )\n }\n plugins={plugins}\n {...tippyProps}\n >\n <div ref={tippyRef}>{children}</div>\n </TippyComponent>\n );\n};\n","import { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { Popover, PopoverProps } from \"../popover/Popover\";\n\nexport interface ButtonWithPopoverProps extends FlatButtonProps {\n children?: PopoverProps[\"children\"];\n visible?: boolean;\n onShow?: () => void;\n onHide?: () => void;\n}\n\nexport const ButtonWithPopover: React.FC<ButtonWithPopoverProps> = ({\n children,\n onShow,\n onHide,\n ...buttonProps\n}) => {\n return (\n <Popover\n content={children}\n trigger={\"click\"}\n zIndex={1000}\n onShow={onShow}\n onHide={onHide}\n >\n <FlatButton {...buttonProps} />\n </Popover>\n );\n};\n","import { Text, Space } from \"@stenajs-webui/core\";\nimport {\n Icon,\n stenaExclamationCircle,\n stenaExclamationTriangle,\n stenaInfoCircle,\n} from \"@stenajs-webui/elements\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./Tooltip.module.css\";\nimport { Popover, PopoverProps } from \"../popover/Popover\";\nimport { cssColor } from \"@stenajs-webui/theme\";\n\ntype TooltipVariant = \"info\" | \"warning\" | \"error\";\n\nconst variantIcons = {\n info: stenaInfoCircle,\n warning: stenaExclamationCircle,\n error: stenaExclamationTriangle,\n};\n\nexport interface TooltipProps extends Omit<PopoverProps, \"theme\" | \"render\"> {\n label: string;\n variant?: TooltipVariant;\n children: JSX.Element;\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\nexport const Tooltip: React.FC<TooltipProps> = ({\n label,\n variant,\n children,\n ...popoverProps\n}) => (\n <Popover\n theme=\"dark\"\n {...popoverProps}\n disablePadding\n content={\n <div className={cx(styles.tooltip, variant ? styles.withIcon : null)}>\n {variant ? (\n <>\n <div className={cx(styles.iconWrapper, styles[variant])}>\n <Icon icon={variantIcons[variant]} size={16} />\n </div>\n <Space />\n <TooltipText label={label} />\n </>\n ) : (\n <TooltipText label={label} />\n )}\n </div>\n }\n >\n {children}\n </Popover>\n);\n","import { Instance } from \"tippy.js\";\nimport { MutableRefObject, useRef } from \"react\";\n\nexport type TippyInstance = Instance;\n\nexport type TippyElement<TElement extends HTMLElement> = TElement & {\n _tippy: TippyInstance;\n};\n\nexport type TippyCallbackRef<TElement extends HTMLElement> = (\n element: TippyElement<TElement> | null\n) => void;\n\nexport const useTippyInstance = <TElement extends HTMLElement>(): [\n TippyCallbackRef<TElement>,\n MutableRefObject<TippyInstance | undefined>\n] => {\n const tippyRef = useRef<TippyInstance>();\n\n return [\n (element: TippyElement<TElement> | null) => {\n tippyRef.current = element?._tippy ?? undefined;\n },\n tippyRef,\n ];\n};\n"],"names":["ActionPrompt","text","yesLabel","noLabel","onNo","onYes","loading","Column","_jsxs","opacity","_jsx","Text","Space","Row","FlatButton","PrimaryButton","Spinner","useLazyPopover","plugins","mounted","setMounted","useState","useMemo","tippyStyles","noPadding","styles","variantToTheme","standard","info","warning","error","outlined","Popover","visible","trigger","children","tippyRef","delay","variant","disablePadding","content","maxWidth","propsPlugins","lazy","arrow","theme","tippyProps","TippyComponent","undefined","Box","ButtonWithPopover","onShow","onHide","buttonProps","variantIcons","stenaInfoCircle","stenaExclamationCircle","stenaExclamationTriangle","TooltipText","label","cssColor","Tooltip","popoverProps","cx","tooltip","withIcon","_Fragment","iconWrapper","Icon","useTippyInstance","useRef","element","_a"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/popover/ActionPrompt.tsx","../src/hooks/UseLazyPopover.ts","../src/components/popover/Popover.tsx","../src/components/button-with-popover/ButtonWithPopover.tsx","../src/components/tooltip/Tooltip.tsx","../src/hooks/UseTippyInstance.ts"],"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 { useMemo, useState } from \"react\";\nimport { Plugin } from \"tippy.js\";\n\nexport const useLazyPopover = (plugins: Plugin<unknown>[] = []) => {\n const [mounted, setMounted] = useState(false);\n\n const lazyPlugin = useMemo(\n () => ({\n fn: () => ({\n onShow: () => setMounted(true),\n onHidden: () => setMounted(false),\n }),\n }),\n [setMounted]\n );\n\n return {\n plugins: [lazyPlugin, ...plugins],\n mounted,\n };\n};\n","import TippyComponent, {\n TippyProps as TippyComponentProps,\n} from \"@tippyjs/react\";\nimport * as React from \"react\";\nimport styles from \"./Popover.module.css\";\nimport \"./Tippy.module.css\";\nimport { TippyCallbackRef } from \"../../hooks/UseTippyInstance\";\nimport { Box } from \"@stenajs-webui/core\";\nimport { useLazyPopover } from \"../../hooks/UseLazyPopover\";\n\nexport type PopoverVariant =\n | \"standard\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"outlined\";\n\nexport type PopoverTheme = \"light\" | \"dark\";\n\nexport interface PopoverProps\n extends Partial<Omit<TippyComponentProps, \"theme\" | \"render\">> {\n tippyRef?: TippyCallbackRef<HTMLDivElement>;\n disablePadding?: boolean;\n lazy?: boolean;\n variant?: PopoverVariant;\n theme?: PopoverTheme;\n}\n\nexport const tippyStyles = {\n noPadding: styles.noPadding,\n};\n\nconst variantToTheme: Record<PopoverVariant, string> = {\n standard: \"light\",\n info: \"info\",\n warning: \"warning\",\n error: \"error\",\n outlined: \"outlined\",\n};\n\nexport const Popover: React.FC<PopoverProps> = ({\n visible,\n trigger = \"mouseenter\",\n children,\n tippyRef,\n delay = 0,\n variant = \"standard\",\n disablePadding,\n content,\n maxWidth = \"500px\",\n plugins: propsPlugins,\n lazy,\n arrow = true,\n theme = \"light\",\n ...tippyProps\n}) => {\n const { plugins, mounted } = useLazyPopover(propsPlugins);\n\n return (\n <TippyComponent\n interactive\n className={tippyStyles.noPadding}\n trigger={visible !== undefined ? undefined : trigger}\n visible={visible}\n theme={`${theme} ${variantToTheme[variant] ?? variantToTheme.standard}`}\n delay={delay}\n maxWidth={maxWidth}\n arrow={arrow}\n content={\n (!lazy || mounted) && (\n <Box spacing={!disablePadding && 1} indent={!disablePadding && 1}>\n {content}\n </Box>\n )\n }\n plugins={plugins}\n {...tippyProps}\n >\n <div ref={tippyRef}>{children}</div>\n </TippyComponent>\n );\n};\n","import { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { Popover, PopoverProps } from \"../popover/Popover\";\n\nexport interface ButtonWithPopoverProps extends FlatButtonProps {\n children?: PopoverProps[\"children\"];\n visible?: boolean;\n onShow?: () => void;\n onHide?: () => void;\n}\n\nexport const ButtonWithPopover: React.FC<ButtonWithPopoverProps> = ({\n children,\n onShow,\n onHide,\n ...buttonProps\n}) => {\n return (\n <Popover\n content={children}\n trigger={\"click\"}\n zIndex={1000}\n onShow={onShow}\n onHide={onHide}\n >\n <FlatButton {...buttonProps} />\n </Popover>\n );\n};\n","import { Text, Space } from \"@stenajs-webui/core\";\nimport {\n Icon,\n stenaExclamationCircle,\n stenaExclamationTriangle,\n stenaInfoCircle,\n} from \"@stenajs-webui/elements\";\nimport cx from \"classnames\";\nimport * as React from \"react\";\nimport styles from \"./Tooltip.module.css\";\nimport { Popover, PopoverProps } from \"../popover/Popover\";\nimport { cssColor } from \"@stenajs-webui/theme\";\n\ntype TooltipVariant = \"info\" | \"warning\" | \"error\";\n\nconst variantIcons = {\n info: stenaInfoCircle,\n warning: stenaExclamationCircle,\n error: stenaExclamationTriangle,\n};\n\nexport interface TooltipProps extends Omit<PopoverProps, \"theme\" | \"render\"> {\n label: string;\n variant?: TooltipVariant;\n children: JSX.Element;\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\nexport const Tooltip: React.FC<TooltipProps> = ({\n label,\n variant,\n children,\n ...popoverProps\n}) => (\n <Popover\n theme=\"dark\"\n {...popoverProps}\n disablePadding\n content={\n <div className={cx(styles.tooltip, variant ? styles.withIcon : null)}>\n {variant ? (\n <>\n <div className={cx(styles.iconWrapper, styles[variant])}>\n <Icon icon={variantIcons[variant]} size={16} />\n </div>\n <Space />\n <TooltipText label={label} />\n </>\n ) : (\n <TooltipText label={label} />\n )}\n </div>\n }\n >\n {children}\n </Popover>\n);\n","import { Instance } from \"tippy.js\";\nimport { MutableRefObject, useRef } from \"react\";\n\nexport type TippyInstance = Instance;\n\nexport type TippyElement<TElement extends HTMLElement> = TElement & {\n _tippy: TippyInstance;\n};\n\nexport type TippyCallbackRef<TElement extends HTMLElement> = (\n element: TippyElement<TElement> | null\n) => void;\n\nexport const useTippyInstance = <TElement extends HTMLElement>(): [\n TippyCallbackRef<TElement>,\n MutableRefObject<TippyInstance | undefined>\n] => {\n const tippyRef = useRef<TippyInstance>();\n\n return [\n (element: TippyElement<TElement> | null) => {\n tippyRef.current = element?._tippy ?? undefined;\n },\n tippyRef,\n ];\n};\n"],"names":["ActionPrompt","text","yesLabel","noLabel","onNo","onYes","loading","jsxs","Column","jsx","Text","Space","Row","FlatButton","PrimaryButton","Spinner","useLazyPopover","plugins","mounted","setMounted","useState","useMemo","tippyStyles","styles","variantToTheme","Popover","visible","trigger","children","tippyRef","delay","variant","disablePadding","content","maxWidth","propsPlugins","lazy","arrow","theme","tippyProps","TippyComponent","_a","Box","ButtonWithPopover","onShow","onHide","buttonProps","variantIcons","stenaInfoCircle","stenaExclamationCircle","stenaExclamationTriangle","TooltipText","label","cssColor","Tooltip","popoverProps","cx","Fragment","Icon","useTippyInstance","useRef","element"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stenajs-webui/tooltip",
3
- "version": "19.0.0-next.4",
3
+ "version": "19.0.0-next.41",
4
4
  "description": "",
5
5
  "author": "mattias800",
6
6
  "license": "MIT",
@@ -26,9 +26,9 @@
26
26
  "deploy": "gh-pages -d example/build"
27
27
  },
28
28
  "dependencies": {
29
- "@stenajs-webui/core": "19.0.0-next.4",
30
- "@stenajs-webui/elements": "19.0.0-next.4",
31
- "@stenajs-webui/theme": "19.0.0-next.4",
29
+ "@stenajs-webui/core": "19.0.0-next.41",
30
+ "@stenajs-webui/elements": "19.0.0-next.41",
31
+ "@stenajs-webui/theme": "19.0.0-next.41",
32
32
  "@tippyjs/react": "^4.1.0",
33
33
  "classnames": "^2.3.1",
34
34
  "tippy.js": "^6.2.6"
@@ -55,5 +55,5 @@
55
55
  "files": [
56
56
  "dist"
57
57
  ],
58
- "gitHead": "190ff1f04e93a4163dc613baba2899694f110e03"
58
+ "gitHead": "9e64ee76c9e9804fec1a325d3e0afc04f7254452"
59
59
  }