welcome-ui 10.0.0-alpha.14 → 10.0.0-alpha.15

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/Window.js ADDED
@@ -0,0 +1,106 @@
1
+ "use client";
2
+ import './Window.css';
3
+ import { jsx as s, jsxs as _ } from "react/jsx-runtime";
4
+ import { c as i } from "./index-PAaZGbyz.js";
5
+ import { f } from "./forwardRefWithAs-8eP3ZN15.js";
6
+ import { forwardRef as r, useState as y } from "react";
7
+ import { b as z, T, a as W } from "./tab-panel-B8NigruF.js";
8
+ import { Icon as l } from "./Icon.js";
9
+ import { Text as b } from "./Text.js";
10
+ const v = "_root_j3c87_2", $ = "_header_j3c87_10", B = "_media_j3c87_126", c = {
11
+ root: v,
12
+ header: $,
13
+ "header-title": "_header-title_j3c87_21",
14
+ "header-tabs": "_header-tabs_j3c87_26",
15
+ "header-tab-item": "_header-tab-item_j3c87_30",
16
+ "header-action-button": "_header-action-button_j3c87_62",
17
+ "header-close-button": "_header-close-button_j3c87_101",
18
+ "header-actions": "_header-actions_j3c87_119",
19
+ "tab-panel": "_tab-panel_j3c87_123",
20
+ media: B,
21
+ "box-text": "_box-text_j3c87_127",
22
+ "size-xl": "_size-xl_j3c87_142",
23
+ "size-lg": "_size-lg_j3c87_146",
24
+ "size-md": "_size-md_j3c87_150",
25
+ "size-sm": "_size-sm_j3c87_154",
26
+ "size-xs": "_size-xs_j3c87_158"
27
+ }, g = i(c), h = r(
28
+ ({ children: t, size: a = "md", ...e }, o) => /* @__PURE__ */ s("div", { className: g("body", `size-${a}`), ref: o, ...e, children: t })
29
+ );
30
+ h.displayName = "Window.Body";
31
+ const A = i(c), u = r(({ children: t, ...a }, e) => /* @__PURE__ */ s("div", { className: A("box-text"), ref: e, ...a, children: t }));
32
+ u.displayName = "Window.BoxText";
33
+ const n = i(c), p = ({ "aria-label": t, className: a, icon: e, onClick: o }) => /* @__PURE__ */ s(
34
+ "button",
35
+ {
36
+ "aria-label": t,
37
+ className: n("header-action-button", a),
38
+ onClick: o,
39
+ type: "button",
40
+ children: /* @__PURE__ */ s(l, { name: e })
41
+ }
42
+ ), H = ({ onClick: t }) => /* @__PURE__ */ s(
43
+ p,
44
+ {
45
+ "aria-label": "Close window",
46
+ className: n("header-close-button"),
47
+ icon: "times",
48
+ onClick: t
49
+ }
50
+ ), P = ({ items: t, store: a }) => /* @__PURE__ */ s(z, { className: n("header-tabs"), store: a, children: t.map((e) => /* @__PURE__ */ _(T, { className: n("header-tab-item"), id: e.id, store: a, children: [
51
+ /* @__PURE__ */ s(l, { name: e.icon }),
52
+ /* @__PURE__ */ s(b, { variant: "label-sm", children: e.title })
53
+ ] }, e.id)) }), R = ({ children: t, isClosable: a = !1, onClose: e }) => {
54
+ const o = () => {
55
+ e == null || e();
56
+ };
57
+ return /* @__PURE__ */ _("div", { className: n("header-actions"), children: [
58
+ t,
59
+ a ? /* @__PURE__ */ s(H, { onClick: o }) : null
60
+ ] });
61
+ }, k = ({ isExpandable: t = !1, onExpandChange: a }) => {
62
+ const [e, o] = y(!1), d = () => {
63
+ const m = !e;
64
+ o(m), a == null || a(m);
65
+ };
66
+ return /* @__PURE__ */ s("div", { className: n("header-actions"), children: t ? /* @__PURE__ */ s(
67
+ "button",
68
+ {
69
+ "aria-expanded": e,
70
+ "aria-label": e ? "Collapse window" : "Expand window",
71
+ className: n("header-action-button"),
72
+ onClick: d,
73
+ type: "button",
74
+ children: /* @__PURE__ */ s(l, { name: e ? "compress-alt" : "arrow-resize-diagonal" })
75
+ }
76
+ ) : null });
77
+ }, I = ({ as: t, className: a, title: e }) => /* @__PURE__ */ s(b, { as: t, className: n("header-title", a), variant: "body-md-strong", children: e }), x = r(
78
+ ({ children: t, ...a }, e) => /* @__PURE__ */ s("header", { className: n("header"), ref: e, ...a, children: t })
79
+ );
80
+ x.displayName = "Window.Header";
81
+ const L = Object.assign(x, {
82
+ Button: p,
83
+ LeftActions: k,
84
+ RightActions: R,
85
+ Tabs: P,
86
+ Title: I
87
+ }), M = i(c), w = r(({ children: t, ...a }, e) => /* @__PURE__ */ s("div", { className: M("media"), ref: e, ...a, children: t }));
88
+ w.displayName = "Window.Media";
89
+ const O = i(c), N = r(
90
+ ({ children: t, store: a, tabId: e, ...o }, d) => /* @__PURE__ */ s(W, { className: O("tab-panel"), ref: d, store: a, tabId: e, ...o, children: t })
91
+ );
92
+ N.displayName = "Window.TabPanel";
93
+ const S = i(c), j = f(
94
+ ({ children: t, className: a, role: e = "region", ...o }) => /* @__PURE__ */ s("div", { className: S("root", a), role: e, ...o, children: t })
95
+ );
96
+ j.displayName = "Window";
97
+ const K = Object.assign(j, {
98
+ Body: h,
99
+ BoxText: u,
100
+ Header: L,
101
+ Media: w,
102
+ TabPanel: N
103
+ });
104
+ export {
105
+ K as Window
106
+ };
@@ -0,0 +1,216 @@
1
+ "use client";
2
+ import { C as G, a as J, h as M, b as Q, j as U } from "./SBSPVDDI-CmtnvvUX.js";
3
+ import { b as R } from "./RTNCFSKZ-BywELldk.js";
4
+ import { e as X, y as Y, f as N, c as F, b as V, _ as A, i as H, l as $, F as ee, d, a, u as k, k as Z, af as te, v as oe, Z as re } from "./OE2EFRVA-Dg1R6gaC.js";
5
+ import { useCallback as q, useRef as j, useEffect as K, useState as se } from "react";
6
+ import { jsx as y } from "react/jsx-runtime";
7
+ import { u as ne } from "./NSTBQJLB-C_1-awKs.js";
8
+ import { u as ae, d as ie } from "./T22PY7TE-gLuJpoOm.js";
9
+ var O = X(
10
+ [J],
11
+ [G]
12
+ ), ce = O.useScopedContext, z = O.useProviderContext, B = O.ScopedContextProvider, le = "button", ue = F(function(c) {
13
+ var i = c, {
14
+ store: e,
15
+ getItem: n
16
+ } = i, r = A(i, [
17
+ "store",
18
+ "getItem"
19
+ ]), b;
20
+ const l = ce();
21
+ e = e || l, H(
22
+ e,
23
+ process.env.NODE_ENV !== "production" && "Tab must be wrapped in a TabList component."
24
+ );
25
+ const m = $(), o = r.id || m, _ = ee(r), C = q(
26
+ (s) => {
27
+ const I = d(a({}, s), { dimmed: _ });
28
+ return n ? n(I) : I;
29
+ },
30
+ [_, n]
31
+ ), f = r.onClick, p = k((s) => {
32
+ f == null || f(s), !s.defaultPrevented && (e == null || e.setSelectedId(o));
33
+ }), D = e.panels.useState(
34
+ (s) => {
35
+ var I;
36
+ return (I = s.items.find((t) => t.tabId === o)) == null ? void 0 : I.id;
37
+ }
38
+ ), g = m ? r.shouldRegisterItem : !1, h = e.useState((s) => !!o && s.activeId === o), T = e.useState((s) => !!o && s.selectedId === o), E = e.useState((s) => !!e.item(s.activeId)), L = h || T && !E, w = T || ((b = r.accessibleWhenDisabled) != null ? b : !0);
39
+ if (R(
40
+ e.combobox || e.composite,
41
+ "virtualFocus"
42
+ ) && (r = d(a({}, r), {
43
+ tabIndex: -1
44
+ })), r = d(a({
45
+ id: o,
46
+ role: "tab",
47
+ "aria-selected": T,
48
+ "aria-controls": D || void 0
49
+ }, r), {
50
+ onClick: p
51
+ }), e.composite) {
52
+ const s = {
53
+ id: o,
54
+ accessibleWhenDisabled: w,
55
+ store: e.composite,
56
+ shouldRegisterItem: L && g,
57
+ rowId: r.rowId,
58
+ render: r.render
59
+ };
60
+ r = d(a({}, r), {
61
+ render: /* @__PURE__ */ y(
62
+ M,
63
+ d(a({}, s), {
64
+ render: e.combobox && e.composite !== e.combobox ? /* @__PURE__ */ y(M, d(a({}, s), { store: e.combobox })) : s.render
65
+ })
66
+ )
67
+ });
68
+ }
69
+ return r = Q(d(a({
70
+ store: e
71
+ }, r), {
72
+ accessibleWhenDisabled: w,
73
+ getItem: C,
74
+ shouldRegisterItem: g
75
+ })), r;
76
+ }), ge = Y(
77
+ N(function(c) {
78
+ const i = ue(c);
79
+ return V(le, i);
80
+ })
81
+ ), de = "div", me = F(
82
+ function(c) {
83
+ var i = c, { store: e } = i, n = A(i, ["store"]);
84
+ const r = z();
85
+ e = e || r, H(
86
+ e,
87
+ process.env.NODE_ENV !== "production" && "TabList must receive a `store` prop or be wrapped in a TabProvider component."
88
+ );
89
+ const b = e.useState(
90
+ (l) => l.orientation === "both" ? void 0 : l.orientation
91
+ );
92
+ return n = Z(
93
+ n,
94
+ (l) => /* @__PURE__ */ y(B, { value: e, children: l }),
95
+ [e]
96
+ ), e.composite && (n = a({
97
+ focusable: !1
98
+ }, n)), n = a({
99
+ role: "tablist",
100
+ "aria-orientation": b
101
+ }, n), n = ne(a({ store: e }, n)), n;
102
+ }
103
+ ), he = N(function(c) {
104
+ const i = me(c);
105
+ return V(de, i);
106
+ }), pe = "div", be = F(
107
+ function(c) {
108
+ var i = c, {
109
+ store: e,
110
+ unmountOnHide: n,
111
+ tabId: r,
112
+ getItem: b,
113
+ scrollRestoration: l,
114
+ scrollElement: m
115
+ } = i, o = A(i, [
116
+ "store",
117
+ "unmountOnHide",
118
+ "tabId",
119
+ "getItem",
120
+ "scrollRestoration",
121
+ "scrollElement"
122
+ ]);
123
+ const _ = z();
124
+ e = e || _, H(
125
+ e,
126
+ process.env.NODE_ENV !== "production" && "TabPanel must receive a `store` prop or be wrapped in a TabProvider component."
127
+ );
128
+ const C = j(null), f = $(o.id), p = R(
129
+ e.panels,
130
+ () => {
131
+ var t;
132
+ return r || ((t = e == null ? void 0 : e.panels.item(f)) == null ? void 0 : t.tabId);
133
+ }
134
+ ), D = R(
135
+ e,
136
+ (t) => !!p && t.selectedId === p
137
+ ), g = ae({ open: D }), h = R(g, "mounted"), T = j(
138
+ /* @__PURE__ */ new Map()
139
+ ), E = k(() => {
140
+ const t = C.current;
141
+ return t ? m ? typeof m == "function" ? m(t) : "current" in m ? m.current : m : t : null;
142
+ });
143
+ K(() => {
144
+ var t, v;
145
+ if (!l || !h) return;
146
+ const u = E();
147
+ if (!u) return;
148
+ if (l === "reset") {
149
+ u.scroll(0, 0);
150
+ return;
151
+ }
152
+ if (!p) return;
153
+ const P = T.current.get(p);
154
+ u.scroll((t = P == null ? void 0 : P.x) != null ? t : 0, (v = P == null ? void 0 : P.y) != null ? v : 0);
155
+ const S = () => {
156
+ T.current.set(p, {
157
+ x: u.scrollLeft,
158
+ y: u.scrollTop
159
+ });
160
+ };
161
+ return u.addEventListener("scroll", S), () => {
162
+ u.removeEventListener("scroll", S);
163
+ };
164
+ }, [l, h, p, E, e]);
165
+ const [L, w] = se(!1);
166
+ K(() => {
167
+ const t = C.current;
168
+ if (!t) return;
169
+ const v = te(t);
170
+ w(!!v.length);
171
+ }, []);
172
+ const W = q(
173
+ (t) => {
174
+ const v = d(a({}, t), { id: f || t.id, tabId: r });
175
+ return b ? b(v) : v;
176
+ },
177
+ [f, r, b]
178
+ ), s = o.onKeyDown, I = k((t) => {
179
+ if (s == null || s(t), t.defaultPrevented || !(e != null && e.composite)) return;
180
+ const u = {
181
+ ArrowLeft: e.previous,
182
+ ArrowRight: e.next,
183
+ Home: e.first,
184
+ End: e.last
185
+ }[t.key];
186
+ if (!u) return;
187
+ const { selectedId: P } = e.getState(), S = u({ activeId: P });
188
+ S && (t.preventDefault(), e.move(S));
189
+ });
190
+ return o = Z(
191
+ o,
192
+ (t) => /* @__PURE__ */ y(B, { value: e, children: t }),
193
+ [e]
194
+ ), o = d(a({
195
+ id: f,
196
+ role: "tabpanel",
197
+ "aria-labelledby": p || void 0
198
+ }, o), {
199
+ children: n && !h ? null : o.children,
200
+ ref: oe(C, o.ref),
201
+ onKeyDown: I
202
+ }), o = re(a({
203
+ // If the tab panel is rendered as part of another composite widget such
204
+ // as combobox, it should not be focusable.
205
+ focusable: !e.composite && !L
206
+ }, o)), o = ie(a({ store: g }, o)), o = U(d(a({ store: e.panels }, o), { getItem: W })), o;
207
+ }
208
+ ), Se = N(function(c) {
209
+ const i = be(c);
210
+ return V(pe, i);
211
+ });
212
+ export {
213
+ ge as T,
214
+ Se as a,
215
+ he as b
216
+ };
@@ -1,5 +1,5 @@
1
1
  export declare const arrows: readonly ["angle-left-b", "angle-right-b", "angle-up", "angle-down", "arrow-left", "arrow-right", "arrow-up", "arrow-down", "left-arrow-to-left", "arrow-to-right", "top-arrow-to-top", "arrow-to-bottom", "angle-double-left", "angle-double-right", "angle-left", "angle-right"];
2
- export declare const actions: readonly ["asterisk", "info-circle", "chart-line", "plus", "chart-line", "archive-alt", "arrows-merge-v", "arrows-shrink-v", "apps", "edit", "user-check", "user-plus", "user-times", "check", "times", "trash", "import", "upload", "draggable-dots", "copy", "pen", "left-arrow-from-left", "arrow-from-right", "resize-handle", "arrow-resize-diagonal", "external-link-alt", "heart-solid", "heart", "filter", "eye", "eye-slash", "link", "sign-out-alt", "bars", "ellipsis-v", "ellipsis-h", "move-arrow", "bell", "print", "bolt-alt", "redo", "save", "search", "setting", "share-alt", "share"];
2
+ export declare const actions: readonly ["asterisk", "info-circle", "chart-line", "plus", "chart-line", "archive-alt", "arrows-merge-v", "arrows-shrink-v", "apps", "edit", "user-check", "user-plus", "user-times", "check", "times", "trash", "import", "upload", "draggable-dots", "copy", "pen", "left-arrow-from-left", "arrow-from-right", "resize-handle", "arrow-resize-diagonal", "draggabledots", "compress-alt", "external-link-alt", "heart-solid", "heart", "filter", "eye", "eye-slash", "link", "sign-out-alt", "bars", "ellipsis-v", "ellipsis-h", "move-arrow", "bell", "print", "bolt-alt", "redo", "save", "search", "setting", "share-alt", "share"];
3
3
  export declare const chat: string[];
4
4
  export declare const miscellaneous: readonly ["music", "rocket", "file-alt", "user-square", "book-reader", "file-question-alt", "sad-solid", "smile-beam-solid", "sad", "smile-beam", "sign-right", "exclamation-triangle", "exclamation-circle", "exclamation-octagon", "chart-pie", "paperclip", "chart-bar", "fire", "user-check", "apps", "trophy", "bookmark-solid", "bookmark", "clock", "comment-alt-lines", "file-edit-alt", "illustration", "calendar", "users-alt", "globe", "graduation-cap", "envelope", "equal-circle", "minus", "venus", "mars", "estate", "info-circle", "columns", "english-to-chinese", "bag-alt", "chart-line", "map-marker-alt", "lock-alt", "flag", "at", "user", "user-circle", "clipboard-check", "building", "compass", "phone", "pin", "microphone", "user-search", "house-user", "star-solid", "star", "coins", "euro-circle", "file-search-alt", "question-circle", "gift", "birthday-cake", "bunting-flags", "tag-alt", "tablet", "mobile", "video", "plus-circle", "pen", "check-circle", "certified", "plug"];
5
5
  export declare const player: readonly ["play", "stop-circle-solid", "pause-circle-solid", "previous", "step-forward", "expand-arrows-alt", "compress-arrows", "screen-share", "stop-screen-share", "microphone", "microphone-slash", "cast", "cast-connected", "cast-unavailable", "video", "video-slash", "airplay", "history", "playlist", "volume-up", "volume-mute", "closed-captioning"];
@@ -9,4 +9,4 @@ export declare const markdown: readonly ["bold", "arrow", "brackets-curly", "ita
9
9
  export declare const brands: readonly ["behance", "dribbble", "facebook", "github", "google", "instagram", "linkedin", "npm", "pinterest", "slack", "stackoverflow", "tiktok", "twitch", "x", "xing", "youtube", "zapier"];
10
10
  export declare const welcome: readonly ["symbol", "wttj"];
11
11
  export declare const flags: readonly ["flag-fr", "flag-en", "flag-us"];
12
- export declare const icons: readonly ["asterisk", "info-circle", "chart-line", "plus", "chart-line", "archive-alt", "arrows-merge-v", "arrows-shrink-v", "apps", "edit", "user-check", "user-plus", "user-times", "check", "times", "trash", "import", "upload", "draggable-dots", "copy", "pen", "left-arrow-from-left", "arrow-from-right", "resize-handle", "arrow-resize-diagonal", "external-link-alt", "heart-solid", "heart", "filter", "eye", "eye-slash", "link", "sign-out-alt", "bars", "ellipsis-v", "ellipsis-h", "move-arrow", "bell", "print", "bolt-alt", "redo", "save", "search", "setting", "share-alt", "share", "angle-left-b", "angle-right-b", "angle-up", "angle-down", "arrow-left", "arrow-right", "arrow-up", "arrow-down", "left-arrow-to-left", "arrow-to-right", "top-arrow-to-top", "arrow-to-bottom", "angle-double-left", "angle-double-right", "angle-left", "angle-right", "behance", "dribbble", "facebook", "github", "google", "instagram", "linkedin", "npm", "pinterest", "slack", "stackoverflow", "tiktok", "twitch", "x", "xing", "youtube", "zapier", ...string[], "folder", "folder-open", "folder-full", "file", "image", "flag-fr", "flag-en", "flag-us", "bold", "arrow", "brackets-curly", "italic", "list-ol-alt", "list-ul", "quote", "text-strike-through", "heading", "heading-1", "heading-2", "heading-3", "heading-4", "heading-5", "heading-6", "font", "underline", "music", "rocket", "file-alt", "user-square", "book-reader", "file-question-alt", "sad-solid", "smile-beam-solid", "sad", "smile-beam", "sign-right", "exclamation-triangle", "exclamation-circle", "exclamation-octagon", "chart-pie", "paperclip", "chart-bar", "fire", "user-check", "apps", "trophy", "bookmark-solid", "bookmark", "clock", "comment-alt-lines", "file-edit-alt", "illustration", "calendar", "users-alt", "globe", "graduation-cap", "envelope", "equal-circle", "minus", "venus", "mars", "estate", "info-circle", "columns", "english-to-chinese", "bag-alt", "chart-line", "map-marker-alt", "lock-alt", "flag", "at", "user", "user-circle", "clipboard-check", "building", "compass", "phone", "pin", "microphone", "user-search", "house-user", "star-solid", "star", "coins", "euro-circle", "file-search-alt", "question-circle", "gift", "birthday-cake", "bunting-flags", "tag-alt", "tablet", "mobile", "video", "plus-circle", "pen", "check-circle", "certified", "plug", "play", "stop-circle-solid", "pause-circle-solid", "previous", "step-forward", "expand-arrows-alt", "compress-arrows", "screen-share", "stop-screen-share", "microphone", "microphone-slash", "cast", "cast-connected", "cast-unavailable", "video", "video-slash", "airplay", "history", "playlist", "volume-up", "volume-mute", "closed-captioning", "symbol", "wttj", "icons", "package", "basketball", "book-alt", "lightbulb-alt", "life-ring", "calculator-alt", "camera", "shopping-cart", "clipboard-notes", "coffee", "ruler", "desktop", "hard-hat", "credit-card", "moon-solid", "moon", "crosshair", "crown", "restaurant", "diamond", "industry", "fingerprint", "flag", "flag-solid", "setting", "handshake", "hashtag", "headphones", "heart", "estate", "balance-scale", "key-skeleton", "leaf", "map", "masonry", "masonry-plus", "megaphone", "microphone", "processor", "euro-circle", "mountains", "pen", "images", "chart-pie-alt", "pizza-slice", "puzzle-piece-solid", "puzzle-piece", "shield", "wrench", "sparkles", "server", "sun", "hunting", "thumbs-up", "thumbs-down", "trees", "sofa", "exit", "redo", "play", "ban"];
12
+ export declare const icons: readonly ["asterisk", "info-circle", "chart-line", "plus", "chart-line", "archive-alt", "arrows-merge-v", "arrows-shrink-v", "apps", "edit", "user-check", "user-plus", "user-times", "check", "times", "trash", "import", "upload", "draggable-dots", "copy", "pen", "left-arrow-from-left", "arrow-from-right", "resize-handle", "arrow-resize-diagonal", "draggabledots", "compress-alt", "external-link-alt", "heart-solid", "heart", "filter", "eye", "eye-slash", "link", "sign-out-alt", "bars", "ellipsis-v", "ellipsis-h", "move-arrow", "bell", "print", "bolt-alt", "redo", "save", "search", "setting", "share-alt", "share", "angle-left-b", "angle-right-b", "angle-up", "angle-down", "arrow-left", "arrow-right", "arrow-up", "arrow-down", "left-arrow-to-left", "arrow-to-right", "top-arrow-to-top", "arrow-to-bottom", "angle-double-left", "angle-double-right", "angle-left", "angle-right", "behance", "dribbble", "facebook", "github", "google", "instagram", "linkedin", "npm", "pinterest", "slack", "stackoverflow", "tiktok", "twitch", "x", "xing", "youtube", "zapier", ...string[], "folder", "folder-open", "folder-full", "file", "image", "flag-fr", "flag-en", "flag-us", "bold", "arrow", "brackets-curly", "italic", "list-ol-alt", "list-ul", "quote", "text-strike-through", "heading", "heading-1", "heading-2", "heading-3", "heading-4", "heading-5", "heading-6", "font", "underline", "music", "rocket", "file-alt", "user-square", "book-reader", "file-question-alt", "sad-solid", "smile-beam-solid", "sad", "smile-beam", "sign-right", "exclamation-triangle", "exclamation-circle", "exclamation-octagon", "chart-pie", "paperclip", "chart-bar", "fire", "user-check", "apps", "trophy", "bookmark-solid", "bookmark", "clock", "comment-alt-lines", "file-edit-alt", "illustration", "calendar", "users-alt", "globe", "graduation-cap", "envelope", "equal-circle", "minus", "venus", "mars", "estate", "info-circle", "columns", "english-to-chinese", "bag-alt", "chart-line", "map-marker-alt", "lock-alt", "flag", "at", "user", "user-circle", "clipboard-check", "building", "compass", "phone", "pin", "microphone", "user-search", "house-user", "star-solid", "star", "coins", "euro-circle", "file-search-alt", "question-circle", "gift", "birthday-cake", "bunting-flags", "tag-alt", "tablet", "mobile", "video", "plus-circle", "pen", "check-circle", "certified", "plug", "play", "stop-circle-solid", "pause-circle-solid", "previous", "step-forward", "expand-arrows-alt", "compress-arrows", "screen-share", "stop-screen-share", "microphone", "microphone-slash", "cast", "cast-connected", "cast-unavailable", "video", "video-slash", "airplay", "history", "playlist", "volume-up", "volume-mute", "closed-captioning", "symbol", "wttj", "icons", "package", "basketball", "book-alt", "lightbulb-alt", "life-ring", "calculator-alt", "camera", "shopping-cart", "clipboard-notes", "coffee", "ruler", "desktop", "hard-hat", "credit-card", "moon-solid", "moon", "crosshair", "crown", "restaurant", "diamond", "industry", "fingerprint", "flag", "flag-solid", "setting", "handshake", "hashtag", "headphones", "heart", "estate", "balance-scale", "key-skeleton", "leaf", "map", "masonry", "masonry-plus", "megaphone", "microphone", "processor", "euro-circle", "mountains", "pen", "images", "chart-pie-alt", "pizza-slice", "puzzle-piece-solid", "puzzle-piece", "shield", "wrench", "sparkles", "server", "sun", "hunting", "thumbs-up", "thumbs-down", "trees", "sofa", "exit", "redo", "play", "ban"];
@@ -1,4 +1,4 @@
1
1
  import { TabProps } from './types';
2
- export declare function getIcon({ icon, iconColor, isActive, }: Pick<TabProps, 'icon' | 'iconColor'> & {
2
+ export declare function getIcon({ icon, iconColor, isActive, size, }: Pick<TabProps, 'icon' | 'iconColor' | 'size'> & {
3
3
  isActive: boolean;
4
4
  }): number | true | Iterable<import('react').ReactNode> | import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ export declare const Body: import('react').ForwardRefExoticComponent<Omit<import('../types').BodyOptions, keyof import('react').HTMLAttributes<HTMLDivElement>> & import('react').HTMLAttributes<HTMLDivElement> & {
2
+ children?: import('react').ReactNode | undefined;
3
+ } & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,3 @@
1
+ export declare const BoxText: import('react').ForwardRefExoticComponent<import('react').HTMLAttributes<HTMLDivElement> & {
2
+ children?: import('react').ReactNode | undefined;
3
+ } & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,13 @@
1
+ import { ActionButtonProps, HeaderLeftActionsProps, HeaderRightActionsProps, HeaderTabsProps, HeaderTitleProps } from '../types';
2
+ export declare const HeaderComponent: import('react').ForwardRefExoticComponent<import('react').HTMLAttributes<HTMLDivElement> & {
3
+ children?: import('react').ReactNode | undefined;
4
+ } & import('react').RefAttributes<HTMLDivElement>>;
5
+ export declare const Header: import('react').ForwardRefExoticComponent<import('react').HTMLAttributes<HTMLDivElement> & {
6
+ children?: import('react').ReactNode | undefined;
7
+ } & import('react').RefAttributes<HTMLDivElement>> & {
8
+ Button: ({ "aria-label": ariaLabel, className, icon, onClick }: ActionButtonProps) => import("react/jsx-runtime").JSX.Element;
9
+ LeftActions: ({ isExpandable, onExpandChange }: HeaderLeftActionsProps) => import("react/jsx-runtime").JSX.Element;
10
+ RightActions: ({ children, isClosable, onClose }: HeaderRightActionsProps) => import("react/jsx-runtime").JSX.Element;
11
+ Tabs: ({ items, store }: HeaderTabsProps) => import("react/jsx-runtime").JSX.Element;
12
+ Title: ({ as, className, title }: HeaderTitleProps) => import("react/jsx-runtime").JSX.Element;
13
+ };
@@ -0,0 +1,3 @@
1
+ export declare const Media: import('react').ForwardRefExoticComponent<import('react').HTMLAttributes<HTMLDivElement> & {
2
+ children?: import('react').ReactNode | undefined;
3
+ } & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1 @@
1
+ export declare const TabPanel: import('react').ForwardRefExoticComponent<Omit<import('react').PropsWithChildren<import('react').HTMLAttributes<HTMLDivElement>>, keyof import('../types').TabPanelOptions> & import('../types').TabPanelOptions & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,22 @@
1
+ import { WindowProps } from './types';
2
+ export declare const Window: import('../../utils').FunctionComponentWithAs<"div", WindowProps> & {
3
+ Body: import('react').ForwardRefExoticComponent<Omit<import('./types').BodyOptions, keyof import('react').HTMLAttributes<HTMLDivElement>> & import('react').HTMLAttributes<HTMLDivElement> & {
4
+ children?: import('react').ReactNode | undefined;
5
+ } & import('react').RefAttributes<HTMLDivElement>>;
6
+ BoxText: import('react').ForwardRefExoticComponent<import('react').HTMLAttributes<HTMLDivElement> & {
7
+ children?: import('react').ReactNode | undefined;
8
+ } & import('react').RefAttributes<HTMLDivElement>>;
9
+ Header: import('react').ForwardRefExoticComponent<import('react').HTMLAttributes<HTMLDivElement> & {
10
+ children?: import('react').ReactNode | undefined;
11
+ } & import('react').RefAttributes<HTMLDivElement>> & {
12
+ Button: ({ "aria-label": ariaLabel, className, icon, onClick }: import('./types').ActionButtonProps) => import("react/jsx-runtime").JSX.Element;
13
+ LeftActions: ({ isExpandable, onExpandChange }: import('./types').HeaderLeftActionsProps) => import("react/jsx-runtime").JSX.Element;
14
+ RightActions: ({ children, isClosable, onClose }: import('./types').HeaderRightActionsProps) => import("react/jsx-runtime").JSX.Element;
15
+ Tabs: ({ items, store }: import('./types').HeaderTabsProps) => import("react/jsx-runtime").JSX.Element;
16
+ Title: ({ as, className, title }: import('./types').HeaderTitleProps) => import("react/jsx-runtime").JSX.Element;
17
+ };
18
+ Media: import('react').ForwardRefExoticComponent<import('react').HTMLAttributes<HTMLDivElement> & {
19
+ children?: import('react').ReactNode | undefined;
20
+ } & import('react').RefAttributes<HTMLDivElement>>;
21
+ TabPanel: import('react').ForwardRefExoticComponent<Omit<import('react').PropsWithChildren<import('react').HTMLAttributes<HTMLDivElement>>, keyof import('./types').TabPanelOptions> & import('./types').TabPanelOptions & import('react').RefAttributes<HTMLDivElement>>;
22
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,48 @@
1
+ import { TabListProps } from '@ariakit/react';
2
+ import { HTMLAttributes, PropsWithChildren } from 'react';
3
+ import { UseTab } from '../Tabs';
4
+ import { MergeProps, PropsWithAs } from '../../utils';
5
+ import { IconName } from '../Icon/types';
6
+ export interface ActionButtonOptions {
7
+ icon: IconName;
8
+ }
9
+ export type ActionButtonProps = MergeProps<HTMLAttributes<HTMLButtonElement>, ActionButtonOptions>;
10
+ export interface BodyOptions {
11
+ size?: 'lg' | 'md' | 'sm' | 'xl' | 'xs';
12
+ }
13
+ export type BodyProps = MergeProps<PropsWithChildren<HTMLAttributes<HTMLDivElement>>, BodyOptions>;
14
+ export type BoxTextProps = PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
15
+ export interface HeaderLeftActionsOptions {
16
+ isExpandable?: boolean;
17
+ onExpandChange?: (expanded: boolean) => void;
18
+ }
19
+ export type HeaderLeftActionsProps = MergeProps<PropsWithChildren<HTMLAttributes<HTMLDivElement>>, HeaderLeftActionsOptions>;
20
+ export type HeaderProps = PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
21
+ export interface HeaderRightActionsOptions {
22
+ isClosable?: boolean;
23
+ onClose?: VoidFunction;
24
+ }
25
+ export type HeaderRightActionsProps = MergeProps<PropsWithChildren<HTMLAttributes<HTMLDivElement>>, HeaderRightActionsOptions>;
26
+ export type HeaderTabItem = {
27
+ icon: IconName;
28
+ id: string;
29
+ title: string;
30
+ };
31
+ export interface HeaderTabsOptions {
32
+ items: HeaderTabItem[];
33
+ }
34
+ export type HeaderTabsProps = MergeProps<TabListProps<'div'>, HeaderTabsOptions>;
35
+ export interface HeaderTitleOptions {
36
+ title: JSX.Element | string;
37
+ }
38
+ export type HeaderTitleProps = PropsWithAs<'p', HeaderTitleOptions>;
39
+ export type MediaProps = PropsWithChildren<HTMLAttributes<HTMLDivElement>>;
40
+ export interface TabPanelOptions {
41
+ store: UseTab;
42
+ tabId?: string;
43
+ }
44
+ export type TabPanelProps = MergeProps<TabPanelOptions, PropsWithChildren<HTMLAttributes<HTMLDivElement>>>;
45
+ export interface WindowOptions {
46
+ role?: 'alertdialog' | 'dialog' | 'region';
47
+ }
48
+ export type WindowProps = MergeProps<WindowOptions, PropsWithChildren<HTMLAttributes<HTMLDivElement>>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "welcome-ui",
3
- "version": "10.0.0-alpha.14",
3
+ "version": "10.0.0-alpha.15",
4
4
  "description": "Customizable design system with react, typescript, tailwindcss and ariakit.",
5
5
  "files": [
6
6
  "dist"