@warmio/ui 1.5.2 → 2.0.0
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/README.md +18 -13
- package/dist/badge.js +2 -2
- package/dist/button.js +4 -1
- package/dist/chunks/chunk-A2PN77YE.js +42 -0
- package/dist/chunks/{chunk-F74Y4WRX.js → chunk-DHV2A22F.js} +14 -13
- package/dist/chunks/chunk-DOOSH3V6.js +72 -0
- package/dist/chunks/chunk-EIEA5RJJ.js +97 -0
- package/dist/chunks/{chunk-HQTC542T.js → chunk-FKGHMPVW.js} +141 -345
- package/dist/chunks/{chunk-JXSJTIX7.js → chunk-K36HD5J5.js} +4 -4
- package/dist/chunks/{chunk-GY4XJ6EX.js → chunk-L6L3GVGM.js} +2 -1
- package/dist/chunks/{chunk-2CO2BZLI.js → chunk-MGX6ZL6Q.js} +9 -53
- package/dist/chunks/{chunk-B47G2BJV.js → chunk-MVUHHKBL.js} +37 -79
- package/dist/chunks/chunk-PJUNSOJK.js +116 -0
- package/dist/chunks/chunk-RVVHR7RY.js +0 -0
- package/dist/chunks/chunk-U7D32UN3.js +0 -0
- package/dist/chunks/chunk-W24JGQWM.js +65 -0
- package/dist/dropdown-menu.js +4 -5
- package/dist/entries/badge.css +178 -0
- package/dist/entries/button.css +422 -0
- package/dist/entries/dropdown-menu.css +167 -0
- package/dist/entries/index.css +2789 -0
- package/dist/entries/logo.css +147 -0
- package/dist/entries/product-header.css +88 -0
- package/dist/entries/sheet.css +666 -0
- package/dist/entries/sidebar.css +2108 -0
- package/dist/entries/text.css +97 -0
- package/dist/index.js +17 -15
- package/dist/logo.js +2 -2
- package/dist/product-header.js +2 -2
- package/dist/sheet.js +5 -4
- package/dist/sidebar.css +129 -0
- package/dist/sidebar.js +7 -5
- package/dist/text.css +121 -0
- package/dist/text.js +2 -2
- package/package.json +12 -4
- package/types/button.d.ts +65 -9
- package/types/sidebar.d.ts +9 -2
- package/types/text.d.ts +8 -2
- package/dist/chunks/chunk-3AVFUXCV.js +0 -76
- package/dist/chunks/chunk-6V6K5G72.js +0 -80
- package/dist/chunks/chunk-A2NLFM6R.js +0 -227
- package/dist/chunks/chunk-IK5RHPN3.js +0 -93
- package/dist/chunks/chunk-OU7YQUU2.js +0 -84
- package/dist/chunks/chunk-VIB7OX7D.js +0 -10
|
@@ -31,11 +31,11 @@ function useReducedMotion() {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
// ../ui/src/lib/motion.ts
|
|
34
|
-
var MOTION_DURATION_MS =
|
|
34
|
+
var MOTION_DURATION_MS = 240;
|
|
35
35
|
var MOTION_DURATION_S = MOTION_DURATION_MS / 1e3;
|
|
36
|
-
var MOTION_ENTRANCE_DURATION_MS =
|
|
36
|
+
var MOTION_ENTRANCE_DURATION_MS = 240;
|
|
37
37
|
var MOTION_ENTRANCE_DURATION_S = MOTION_ENTRANCE_DURATION_MS / 1e3;
|
|
38
|
-
var MOTION_HOVER_DURATION_MS =
|
|
38
|
+
var MOTION_HOVER_DURATION_MS = 80;
|
|
39
39
|
var MOTION_HOVER_DURATION_S = MOTION_HOVER_DURATION_MS / 1e3;
|
|
40
40
|
var FLUID_SPRING = {
|
|
41
41
|
fast: { type: "spring", duration: 0.08, bounce: 0 },
|
|
@@ -85,7 +85,7 @@ function FluidOverlay({
|
|
|
85
85
|
const elementRef = React.useRef(null);
|
|
86
86
|
const reducedMotion = useReducedMotion();
|
|
87
87
|
const open = state.open && state.transitionStatus !== "ending";
|
|
88
|
-
const instant = Boolean(state.instant);
|
|
88
|
+
const instant = Boolean(state.instant) || motion === "tooltip" && !open;
|
|
89
89
|
React.useLayoutEffect(() => {
|
|
90
90
|
const element = elementRef.current;
|
|
91
91
|
if (!element) return;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
// ../
|
|
1
|
+
// ../ui/src/warmio/button/button.tsx
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
var presentationToPrivateSize = {
|
|
5
5
|
assistantIcon: "icon-xs",
|
|
6
6
|
assistantRoundIcon: "icon-round",
|
|
7
|
+
cardTitle: "default",
|
|
7
8
|
composerIcon: "icon-sm",
|
|
8
9
|
default: "default",
|
|
9
10
|
headerAction: "icon-xs",
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
FluidMenuHighlights
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-DHV2A22F.js";
|
|
4
4
|
import {
|
|
5
5
|
FluidOverlay
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import {
|
|
8
|
-
cn
|
|
9
|
-
} from "./chunk-VIB7OX7D.js";
|
|
6
|
+
} from "./chunk-K36HD5J5.js";
|
|
10
7
|
|
|
11
|
-
// ../ui/src/warmio/dropdown-menu.tsx
|
|
8
|
+
// ../ui/src/warmio/dropdown-menu/dropdown-menu.tsx
|
|
12
9
|
import * as React from "react";
|
|
13
10
|
import { Menu as MenuPrimitive } from "@base-ui/react/menu";
|
|
14
11
|
import { CheckIcon } from "lucide-react";
|
|
@@ -27,15 +24,6 @@ function DropdownMenuTrigger({
|
|
|
27
24
|
const resolvedRender = render ?? (asChild && React.isValidElement(children) ? children : void 0);
|
|
28
25
|
return /* @__PURE__ */ jsx(MenuPrimitive.Trigger, { "data-slot": "dropdown-menu-trigger", render: resolvedRender, ...props, children: resolvedRender ? void 0 : children });
|
|
29
26
|
}
|
|
30
|
-
var dropdownMenuContentSizeClasses = {
|
|
31
|
-
default: "w-(--anchor-width) min-w-32",
|
|
32
|
-
auto: "w-auto min-w-[14rem]",
|
|
33
|
-
sidebar: "w-(--sidebar-width)"
|
|
34
|
-
};
|
|
35
|
-
var dropdownMenuContentSpacingClasses = {
|
|
36
|
-
default: "",
|
|
37
|
-
roomy: "flex flex-col gap-2"
|
|
38
|
-
};
|
|
39
27
|
function DropdownMenuContent({
|
|
40
28
|
align = "start",
|
|
41
29
|
alignOffset = 0,
|
|
@@ -57,19 +45,16 @@ function DropdownMenuContent({
|
|
|
57
45
|
alignOffset,
|
|
58
46
|
side,
|
|
59
47
|
sideOffset,
|
|
60
|
-
|
|
48
|
+
"data-slot": "dropdown-menu-positioner",
|
|
61
49
|
children: /* @__PURE__ */ jsxs(
|
|
62
50
|
MenuPrimitive.Popup,
|
|
63
51
|
{
|
|
64
52
|
ref,
|
|
65
53
|
"data-slot": "dropdown-menu-content",
|
|
66
54
|
"data-fluid-menu": "menu",
|
|
55
|
+
"data-size": size,
|
|
56
|
+
"data-spacing": spacing,
|
|
67
57
|
render: (popupProps, state) => /* @__PURE__ */ jsx(FluidOverlay, { props: popupProps, state, motion: "menu", tier: "fast" }),
|
|
68
|
-
className: cn(
|
|
69
|
-
"relative isolate z-[var(--z-popover)] max-h-(--available-height) origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-2 text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-none data-closed:overflow-hidden [&_[data-fluid-menu-item]:is(:focus,[data-highlighted],[data-popup-open],[data-open],[aria-checked=true])]:bg-transparent!",
|
|
70
|
-
dropdownMenuContentSizeClasses[size],
|
|
71
|
-
dropdownMenuContentSpacingClasses[spacing]
|
|
72
|
-
),
|
|
73
58
|
...props,
|
|
74
59
|
children: [
|
|
75
60
|
children,
|
|
@@ -103,7 +88,6 @@ function DropdownMenuItem({
|
|
|
103
88
|
"data-slot": "dropdown-menu-item",
|
|
104
89
|
"data-inset": inset,
|
|
105
90
|
"data-variant": variant,
|
|
106
|
-
className: "group/dropdown-menu-item relative flex w-full cursor-default items-center gap-2 rounded-lg px-2 py-2 outline-hidden select-none not-data-[variant=destructive]:focus:bg-sidebar-accent not-data-[variant=destructive]:focus:text-sidebar-accent-foreground not-data-[variant=destructive]:focus:**:text-sidebar-accent-foreground data-inset:pl-4 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive",
|
|
107
91
|
...props
|
|
108
92
|
}
|
|
109
93
|
);
|
|
@@ -125,7 +109,6 @@ function DropdownMenuLinkItem({
|
|
|
125
109
|
"data-slot": "dropdown-menu-item",
|
|
126
110
|
"data-inset": inset,
|
|
127
111
|
"data-variant": variant,
|
|
128
|
-
className: "group/dropdown-menu-item relative flex w-full cursor-default items-center gap-2 rounded-lg px-2 py-2 outline-hidden select-none not-data-[variant=destructive]:focus:bg-sidebar-accent not-data-[variant=destructive]:focus:text-sidebar-accent-foreground not-data-[variant=destructive]:focus:**:text-sidebar-accent-foreground data-inset:pl-4 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive",
|
|
129
112
|
render: /* @__PURE__ */ jsx("a", { href, children }),
|
|
130
113
|
...props
|
|
131
114
|
}
|
|
@@ -150,19 +133,11 @@ function DropdownMenuCheckboxItem({
|
|
|
150
133
|
ref,
|
|
151
134
|
"data-slot": "dropdown-menu-checkbox-item",
|
|
152
135
|
"data-inset": inset,
|
|
153
|
-
className: "relative flex cursor-default items-center gap-2 rounded-lg py-2 pr-4 pl-2 outline-hidden select-none focus:bg-sidebar-accent focus:text-sidebar-accent-foreground focus:**:text-sidebar-accent-foreground data-inset:pl-4 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
154
136
|
checked,
|
|
155
137
|
onCheckedChange: handleCheckedChange,
|
|
156
138
|
...props,
|
|
157
139
|
children: [
|
|
158
|
-
/* @__PURE__ */ jsx(
|
|
159
|
-
"span",
|
|
160
|
-
{
|
|
161
|
-
className: "pointer-events-none absolute right-2 flex items-center justify-center",
|
|
162
|
-
"data-slot": "dropdown-menu-checkbox-item-indicator",
|
|
163
|
-
children: /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) })
|
|
164
|
-
}
|
|
165
|
-
),
|
|
140
|
+
/* @__PURE__ */ jsx("span", { "data-slot": "dropdown-menu-checkbox-item-indicator", children: /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) }) }),
|
|
166
141
|
children
|
|
167
142
|
]
|
|
168
143
|
}
|
|
@@ -200,19 +175,9 @@ function DropdownMenuRadioItem({
|
|
|
200
175
|
ref,
|
|
201
176
|
"data-slot": "dropdown-menu-radio-item",
|
|
202
177
|
"data-inset": inset,
|
|
203
|
-
className: cn(
|
|
204
|
-
"relative flex cursor-default items-center gap-2 rounded-lg py-2 pr-4 pl-2 outline-hidden select-none focus:bg-sidebar-accent focus:text-sidebar-accent-foreground focus:**:text-sidebar-accent-foreground data-inset:pl-4 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"
|
|
205
|
-
),
|
|
206
178
|
...props,
|
|
207
179
|
children: [
|
|
208
|
-
/* @__PURE__ */ jsx(
|
|
209
|
-
"span",
|
|
210
|
-
{
|
|
211
|
-
className: "pointer-events-none absolute right-2 flex items-center justify-center",
|
|
212
|
-
"data-slot": "dropdown-menu-radio-item-indicator",
|
|
213
|
-
children: /* @__PURE__ */ jsx(MenuPrimitive.RadioItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) })
|
|
214
|
-
}
|
|
215
|
-
),
|
|
180
|
+
/* @__PURE__ */ jsx("span", { "data-slot": "dropdown-menu-radio-item-indicator", children: /* @__PURE__ */ jsx(MenuPrimitive.RadioItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) }) }),
|
|
216
181
|
children
|
|
217
182
|
]
|
|
218
183
|
}
|
|
@@ -231,7 +196,6 @@ function DropdownMenuLabel({
|
|
|
231
196
|
ref,
|
|
232
197
|
"data-slot": "dropdown-menu-label",
|
|
233
198
|
"data-inset": inset,
|
|
234
|
-
className: "px-2 py-2 data-inset:pl-4",
|
|
235
199
|
...props
|
|
236
200
|
}
|
|
237
201
|
);
|
|
@@ -242,15 +206,7 @@ function DropdownMenuSeparator({
|
|
|
242
206
|
style: _style,
|
|
243
207
|
...props
|
|
244
208
|
}) {
|
|
245
|
-
return /* @__PURE__ */ jsx(
|
|
246
|
-
MenuPrimitive.Separator,
|
|
247
|
-
{
|
|
248
|
-
ref,
|
|
249
|
-
"data-slot": "dropdown-menu-separator",
|
|
250
|
-
className: "mx-0 my-0 h-px bg-border",
|
|
251
|
-
...props
|
|
252
|
-
}
|
|
253
|
-
);
|
|
209
|
+
return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ref, "data-slot": "dropdown-menu-separator", ...props });
|
|
254
210
|
}
|
|
255
211
|
|
|
256
212
|
export {
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
cn
|
|
3
|
-
} from "./chunk-VIB7OX7D.js";
|
|
4
|
-
|
|
5
|
-
// ../ui/src/warmio/mascot.tsx
|
|
1
|
+
// ../ui/src/warmio/mascot/mascot.tsx
|
|
6
2
|
import { useEffect, useEffectEvent, useRef, useState } from "react";
|
|
7
3
|
|
|
8
4
|
// ../ui/src/warmio/mascot-pupils.ts
|
|
@@ -106,7 +102,7 @@ function startWarmMascotPupilDrift(host) {
|
|
|
106
102
|
};
|
|
107
103
|
}
|
|
108
104
|
|
|
109
|
-
// ../ui/src/warmio/mascot-assets.ts
|
|
105
|
+
// ../ui/src/warmio/mascot/mascot-assets.ts
|
|
110
106
|
var WARM_MASCOT_IDS = ["NORMAL", "CLOSED", "SAD", "HYPE", "CONFUSED"];
|
|
111
107
|
var WARM_MASCOT_MOOD_TO_EXPRESSION = {
|
|
112
108
|
calm: "NORMAL",
|
|
@@ -163,7 +159,7 @@ function resolveWarmMascotId(expression) {
|
|
|
163
159
|
return "NORMAL";
|
|
164
160
|
}
|
|
165
161
|
|
|
166
|
-
// ../ui/src/warmio/mascot.tsx
|
|
162
|
+
// ../ui/src/warmio/mascot/mascot.tsx
|
|
167
163
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
168
164
|
var HYPE_CTA_SELECTOR = "[data-auth-cta], [data-auth-guest], [data-waitlist-cta], [data-home-marketing-nav-login], [data-home-marketing-nav-signup]";
|
|
169
165
|
function isWarmMascotHypeCta(node) {
|
|
@@ -243,7 +239,7 @@ function WarmMascotMedia({
|
|
|
243
239
|
"div",
|
|
244
240
|
{
|
|
245
241
|
ref: liveHostRef,
|
|
246
|
-
|
|
242
|
+
"data-slot": "warm-mascot-frame",
|
|
247
243
|
dangerouslySetInnerHTML: { __html: liveMarkup }
|
|
248
244
|
}
|
|
249
245
|
);
|
|
@@ -253,7 +249,7 @@ function WarmMascotMedia({
|
|
|
253
249
|
/* @__PURE__ */ jsx(
|
|
254
250
|
"img",
|
|
255
251
|
{
|
|
256
|
-
|
|
252
|
+
"data-slot": "warm-mascot-frame",
|
|
257
253
|
src: source,
|
|
258
254
|
alt: "",
|
|
259
255
|
draggable: false,
|
|
@@ -287,19 +283,14 @@ function WarmMascotFrame({
|
|
|
287
283
|
clickedHype,
|
|
288
284
|
onToggleHype
|
|
289
285
|
}) {
|
|
290
|
-
const className = cn(
|
|
291
|
-
"warm-mascot",
|
|
292
|
-
clickHype ? "pointer-events-auto cursor-pointer" : "pointer-events-none",
|
|
293
|
-
"inline-flex shrink-0 select-none"
|
|
294
|
-
);
|
|
295
286
|
const commonProps = {
|
|
296
|
-
className,
|
|
297
287
|
"data-slot": "warm-mascot",
|
|
298
288
|
"data-size": size,
|
|
299
289
|
"data-expression": expression,
|
|
300
290
|
"data-flame-peek-eyes": peekEyes,
|
|
301
291
|
"data-flame-theme": theme,
|
|
302
|
-
"data-flame-vector": source.endsWith(".svg") ? "" : void 0
|
|
292
|
+
"data-flame-vector": source.endsWith(".svg") ? "" : void 0,
|
|
293
|
+
"data-click-hype": clickHype ? "" : void 0
|
|
303
294
|
};
|
|
304
295
|
const media = /* @__PURE__ */ jsx(WarmMascotMedia, { source, stillSrc, fallbackSrc });
|
|
305
296
|
if (clickHype) {
|
|
@@ -335,7 +326,9 @@ function WarmMascot({
|
|
|
335
326
|
theme: themeProp,
|
|
336
327
|
peekEyes,
|
|
337
328
|
ctaHype = true,
|
|
338
|
-
clickHype = false
|
|
329
|
+
clickHype = false,
|
|
330
|
+
className: _className,
|
|
331
|
+
style: _style
|
|
339
332
|
}) {
|
|
340
333
|
const [clickedHype, setClickedHype] = useState(false);
|
|
341
334
|
const activePeekEyes = clickHype && clickedHype ? void 0 : peekEyes;
|
|
@@ -415,18 +408,8 @@ var Logo = React.forwardRef(function Logo2({
|
|
|
415
408
|
] });
|
|
416
409
|
});
|
|
417
410
|
|
|
418
|
-
// ../ui/src/warmio/logo.tsx
|
|
411
|
+
// ../ui/src/warmio/logo/logo.tsx
|
|
419
412
|
import { Fragment, jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
420
|
-
var brandedLogoShellClassNameBySize = {
|
|
421
|
-
sm: "size-8",
|
|
422
|
-
md: "size-10",
|
|
423
|
-
lg: "size-14"
|
|
424
|
-
};
|
|
425
|
-
var brandedLogoIconClassNameBySize = {
|
|
426
|
-
sm: "size-5",
|
|
427
|
-
md: "size-6",
|
|
428
|
-
lg: "size-8"
|
|
429
|
-
};
|
|
430
413
|
var _WarmLogoGlyph = /* @__PURE__ */ jsxs3(Fragment, { children: [
|
|
431
414
|
/* @__PURE__ */ jsx3(
|
|
432
415
|
"path",
|
|
@@ -452,72 +435,47 @@ var _WarmLogoGlyph = /* @__PURE__ */ jsxs3(Fragment, { children: [
|
|
|
452
435
|
] });
|
|
453
436
|
function WarmBrandedLogoMark({
|
|
454
437
|
size = "md",
|
|
455
|
-
className,
|
|
456
|
-
logoClassName
|
|
438
|
+
className: _className,
|
|
439
|
+
logoClassName: _logoClassName
|
|
457
440
|
}) {
|
|
458
|
-
return /* @__PURE__ */ jsxs3(
|
|
459
|
-
"span",
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
/* @__PURE__ */ jsx3("
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
473
|
-
viewBox: "0 0 600 600",
|
|
474
|
-
className: cn(
|
|
475
|
-
"relative z-10 drop-shadow-sm",
|
|
476
|
-
brandedLogoIconClassNameBySize[size],
|
|
477
|
-
logoClassName
|
|
478
|
-
),
|
|
479
|
-
"aria-hidden": "true",
|
|
480
|
-
children: /* @__PURE__ */ jsx3("g", { transform: "translate(0 108)", children: _WarmLogoGlyph })
|
|
481
|
-
}
|
|
482
|
-
)
|
|
483
|
-
]
|
|
484
|
-
}
|
|
485
|
-
);
|
|
441
|
+
return /* @__PURE__ */ jsxs3("span", { "data-slot": "warm-branded-logo", "data-size": size, "aria-hidden": "true", children: [
|
|
442
|
+
/* @__PURE__ */ jsx3("span", { "data-slot": "warm-branded-logo-mascot", children: /* @__PURE__ */ jsx3(WarmMascot, { expression: "calm", label: null }) }),
|
|
443
|
+
/* @__PURE__ */ jsx3(
|
|
444
|
+
"svg",
|
|
445
|
+
{
|
|
446
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
447
|
+
viewBox: "0 0 600 600",
|
|
448
|
+
"data-slot": "warm-branded-logo-icon",
|
|
449
|
+
"data-size": size,
|
|
450
|
+
"aria-hidden": "true",
|
|
451
|
+
children: /* @__PURE__ */ jsx3("g", { transform: "translate(0 108)", children: _WarmLogoGlyph })
|
|
452
|
+
}
|
|
453
|
+
)
|
|
454
|
+
] });
|
|
486
455
|
}
|
|
487
456
|
function WarmBrandedLogoLink({
|
|
488
457
|
href,
|
|
489
458
|
ariaLabel = "Warm home",
|
|
490
459
|
size = "md",
|
|
491
|
-
className,
|
|
492
|
-
logoClassName
|
|
460
|
+
className: _className,
|
|
461
|
+
logoClassName: _logoClassName
|
|
493
462
|
}) {
|
|
494
|
-
return /* @__PURE__ */ jsx3("a", { href, "aria-label": ariaLabel,
|
|
495
|
-
WarmBrandedLogoMark,
|
|
496
|
-
{
|
|
497
|
-
size,
|
|
498
|
-
...className !== void 0 ? { className } : {},
|
|
499
|
-
...logoClassName !== void 0 ? { logoClassName } : {}
|
|
500
|
-
}
|
|
501
|
-
) });
|
|
463
|
+
return /* @__PURE__ */ jsx3("a", { href, "aria-label": ariaLabel, "data-slot": "warm-branded-logo-link", children: /* @__PURE__ */ jsx3(WarmBrandedLogoMark, { size }) });
|
|
502
464
|
}
|
|
503
465
|
function WarmBrandedLogoMarkStatic({
|
|
504
|
-
className,
|
|
505
|
-
|
|
466
|
+
className: _className,
|
|
467
|
+
style: _style,
|
|
468
|
+
logoClassName: _logoClassName
|
|
506
469
|
}) {
|
|
507
|
-
return /* @__PURE__ */ jsxs3("span", {
|
|
508
|
-
/* @__PURE__ */ jsx3(
|
|
509
|
-
"span",
|
|
510
|
-
{
|
|
511
|
-
"aria-hidden": "true",
|
|
512
|
-
className: "absolute inset-0 rounded-full bg-gradient-to-br from-primary/90 via-warning/80 to-primary/70"
|
|
513
|
-
}
|
|
514
|
-
),
|
|
470
|
+
return /* @__PURE__ */ jsxs3("span", { "data-slot": "warm-branded-logo-static", children: [
|
|
471
|
+
/* @__PURE__ */ jsx3("span", { "aria-hidden": "true", "data-slot": "warm-branded-logo-static-fill" }),
|
|
515
472
|
/* @__PURE__ */ jsx3(
|
|
516
473
|
"svg",
|
|
517
474
|
{
|
|
518
475
|
xmlns: "http://www.w3.org/2000/svg",
|
|
519
476
|
viewBox: "0 0 600 600",
|
|
520
|
-
|
|
477
|
+
"data-slot": "warm-branded-logo-icon",
|
|
478
|
+
"data-size": "sm",
|
|
521
479
|
"aria-hidden": "true",
|
|
522
480
|
children: /* @__PURE__ */ jsx3("g", { transform: "translate(0 108)", children: _WarmLogoGlyph })
|
|
523
481
|
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SheetClose,
|
|
3
|
+
SheetContent,
|
|
4
|
+
SheetDescription,
|
|
5
|
+
SheetFooter,
|
|
6
|
+
SheetHeader,
|
|
7
|
+
SheetTitle,
|
|
8
|
+
SheetTrigger
|
|
9
|
+
} from "./chunk-EIEA5RJJ.js";
|
|
10
|
+
|
|
11
|
+
// ../ui/src/warmio/close-button/close-button.tsx
|
|
12
|
+
import * as React from "react";
|
|
13
|
+
import { XIcon } from "lucide-react";
|
|
14
|
+
import { jsx } from "react/jsx-runtime";
|
|
15
|
+
var WarmCloseButton = React.forwardRef(
|
|
16
|
+
function WarmCloseButton2({
|
|
17
|
+
size = "default",
|
|
18
|
+
type,
|
|
19
|
+
"aria-label": ariaLabel = "Close",
|
|
20
|
+
children: _children,
|
|
21
|
+
className: _className,
|
|
22
|
+
style: _style,
|
|
23
|
+
...props
|
|
24
|
+
}, ref) {
|
|
25
|
+
return /* @__PURE__ */ jsx(
|
|
26
|
+
"button",
|
|
27
|
+
{
|
|
28
|
+
"data-slot": "close-button",
|
|
29
|
+
"data-warm-close-button": "",
|
|
30
|
+
"data-size": size,
|
|
31
|
+
...props,
|
|
32
|
+
"data-warm-button": "",
|
|
33
|
+
"data-variant": "ghost",
|
|
34
|
+
ref,
|
|
35
|
+
type: type ?? "button",
|
|
36
|
+
"aria-label": ariaLabel,
|
|
37
|
+
children: /* @__PURE__ */ jsx(XIcon, { "data-slot": "close-button-icon", "aria-hidden": "true" })
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
// ../ui/src/warmio/sheet/sheet.tsx
|
|
44
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
45
|
+
function SheetTrigger2({
|
|
46
|
+
className: _className,
|
|
47
|
+
style: _style,
|
|
48
|
+
...props
|
|
49
|
+
}) {
|
|
50
|
+
return /* @__PURE__ */ jsx2(SheetTrigger, { ...props });
|
|
51
|
+
}
|
|
52
|
+
function SheetClose2({ className: _className, style: _style, ...props }) {
|
|
53
|
+
return /* @__PURE__ */ jsx2(SheetClose, { ...props });
|
|
54
|
+
}
|
|
55
|
+
function SheetContent2({
|
|
56
|
+
className: _className,
|
|
57
|
+
overlayClassName: _overlayClassName,
|
|
58
|
+
presentation,
|
|
59
|
+
responsive = "always",
|
|
60
|
+
style: _style,
|
|
61
|
+
width = "default",
|
|
62
|
+
...props
|
|
63
|
+
}) {
|
|
64
|
+
return /* @__PURE__ */ jsx2(
|
|
65
|
+
SheetContent,
|
|
66
|
+
{
|
|
67
|
+
...props,
|
|
68
|
+
closeButton: /* @__PURE__ */ jsx2(WarmCloseButton, { size: "default" }),
|
|
69
|
+
"data-presentation": presentation,
|
|
70
|
+
"data-responsive": responsive === "mobileOnly" ? "mobileOnly" : void 0,
|
|
71
|
+
"data-width": presentation === "navigation" || width === "default" ? void 0 : width
|
|
72
|
+
}
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
function SheetFooter2({ className: _className, style: _style, ...props }) {
|
|
76
|
+
return /* @__PURE__ */ jsx2(SheetFooter, { ...props });
|
|
77
|
+
}
|
|
78
|
+
function SheetHeader2({
|
|
79
|
+
className: _className,
|
|
80
|
+
presentation,
|
|
81
|
+
style: _style,
|
|
82
|
+
...props
|
|
83
|
+
}) {
|
|
84
|
+
return /* @__PURE__ */ jsx2(
|
|
85
|
+
SheetHeader,
|
|
86
|
+
{
|
|
87
|
+
...props,
|
|
88
|
+
"data-presentation": presentation === "navigation" ? "navigation" : void 0
|
|
89
|
+
}
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
function SheetTitle2({
|
|
93
|
+
className: _className,
|
|
94
|
+
presentation,
|
|
95
|
+
style: _style,
|
|
96
|
+
...props
|
|
97
|
+
}) {
|
|
98
|
+
return /* @__PURE__ */ jsx2(SheetTitle, { ...props, "data-presentation": presentation });
|
|
99
|
+
}
|
|
100
|
+
function SheetDescription2({
|
|
101
|
+
className: _className,
|
|
102
|
+
style: _style,
|
|
103
|
+
...props
|
|
104
|
+
}) {
|
|
105
|
+
return /* @__PURE__ */ jsx2(SheetDescription, { ...props });
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export {
|
|
109
|
+
SheetTrigger2 as SheetTrigger,
|
|
110
|
+
SheetClose2 as SheetClose,
|
|
111
|
+
SheetContent2 as SheetContent,
|
|
112
|
+
SheetFooter2 as SheetFooter,
|
|
113
|
+
SheetHeader2 as SheetHeader,
|
|
114
|
+
SheetTitle2 as SheetTitle,
|
|
115
|
+
SheetDescription2 as SheetDescription
|
|
116
|
+
};
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// ../ui/src/warmio/text/text.tsx
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
var defaultTextElementByVariant = {
|
|
5
|
+
heading: "h3",
|
|
6
|
+
metric: "span",
|
|
7
|
+
body: "p",
|
|
8
|
+
caption: "span"
|
|
9
|
+
};
|
|
10
|
+
function Text({
|
|
11
|
+
as,
|
|
12
|
+
variant = "caption",
|
|
13
|
+
tone = "default",
|
|
14
|
+
align,
|
|
15
|
+
numeric = false,
|
|
16
|
+
mono = false,
|
|
17
|
+
size = "default",
|
|
18
|
+
truncate = false,
|
|
19
|
+
animateNumber = false,
|
|
20
|
+
className: _className,
|
|
21
|
+
style: _style,
|
|
22
|
+
...props
|
|
23
|
+
}) {
|
|
24
|
+
const Component = as ?? defaultTextElementByVariant[variant];
|
|
25
|
+
return React.createElement(Component, {
|
|
26
|
+
...props,
|
|
27
|
+
"data-animate-number": animateNumber || void 0,
|
|
28
|
+
"data-text-variant": variant,
|
|
29
|
+
"data-text-element": Component,
|
|
30
|
+
"data-text-size": size === "default" ? void 0 : size,
|
|
31
|
+
"data-text-tone": tone,
|
|
32
|
+
"data-text-align": align,
|
|
33
|
+
"data-mono": mono || void 0,
|
|
34
|
+
"data-text-numeric": numeric || void 0,
|
|
35
|
+
"data-text-truncate": truncate || void 0
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
Text.displayName = "WarmText";
|
|
39
|
+
function StackedDisplay({
|
|
40
|
+
align = "start",
|
|
41
|
+
firstLine,
|
|
42
|
+
presentation = "dashboard",
|
|
43
|
+
secondLine
|
|
44
|
+
}) {
|
|
45
|
+
return /* @__PURE__ */ jsxs(
|
|
46
|
+
Text,
|
|
47
|
+
{
|
|
48
|
+
as: "h2",
|
|
49
|
+
variant: "heading",
|
|
50
|
+
align,
|
|
51
|
+
"data-slot": "stacked-display",
|
|
52
|
+
"data-presentation": presentation,
|
|
53
|
+
children: [
|
|
54
|
+
/* @__PURE__ */ jsx("span", { "data-presentation": presentation, "data-text-line": "first", children: firstLine }),
|
|
55
|
+
/* @__PURE__ */ jsx("span", { "data-presentation": presentation, "data-text-line": "second", children: secondLine })
|
|
56
|
+
]
|
|
57
|
+
}
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
StackedDisplay.displayName = "WarmStackedDisplay";
|
|
61
|
+
|
|
62
|
+
export {
|
|
63
|
+
Text,
|
|
64
|
+
StackedDisplay
|
|
65
|
+
};
|
package/dist/dropdown-menu.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import "./entries/dropdown-menu.css";
|
|
2
2
|
import {
|
|
3
3
|
DropdownMenu,
|
|
4
4
|
DropdownMenuCheckboxItem,
|
|
@@ -11,10 +11,9 @@ import {
|
|
|
11
11
|
DropdownMenuRadioItem,
|
|
12
12
|
DropdownMenuSeparator,
|
|
13
13
|
DropdownMenuTrigger
|
|
14
|
-
} from "./chunks/chunk-
|
|
15
|
-
import "./chunks/chunk-
|
|
16
|
-
import "./chunks/chunk-
|
|
17
|
-
import "./chunks/chunk-VIB7OX7D.js";
|
|
14
|
+
} from "./chunks/chunk-MGX6ZL6Q.js";
|
|
15
|
+
import "./chunks/chunk-DHV2A22F.js";
|
|
16
|
+
import "./chunks/chunk-K36HD5J5.js";
|
|
18
17
|
export {
|
|
19
18
|
DropdownMenu,
|
|
20
19
|
DropdownMenuCheckboxItem,
|