@estiva-app/ui 0.37.2 → 0.38.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/dist/AttachmentCard.d.ts.map +1 -1
- package/dist/Kbd.d.ts +7 -1
- package/dist/Kbd.d.ts.map +1 -1
- package/dist/Lightbox.d.ts.map +1 -1
- package/dist/SectionLabel.d.ts.map +1 -1
- package/dist/Toast.d.ts.map +1 -1
- package/dist/cn.d.ts.map +1 -1
- package/dist/eslint/index.js +1 -0
- package/dist/eslint/index.js.map +2 -2
- package/dist/eslint/no-restyled-part.d.ts.map +1 -1
- package/dist/index.js +23 -19
- package/dist/index.js.map +2 -2
- package/dist/looks.d.ts +2 -2
- package/dist/looks.d.ts.map +1 -1
- package/package.json +2 -1
- package/registry.json +55 -38
- package/src/AppShell.stories.tsx +4 -12
- package/src/AttachmentCard.tsx +0 -1
- package/src/CommandPalette.tsx +1 -1
- package/src/ErrorBoundary.mdx +2 -2
- package/src/Kbd.tsx +10 -1
- package/src/Lightbox.tsx +4 -2
- package/src/Menu.tsx +1 -1
- package/src/MenuItem.stories.tsx +4 -9
- package/src/Popover.stories.tsx +3 -0
- package/src/SectionLabel.tsx +2 -0
- package/src/Select.tsx +2 -2
- package/src/TextInput.test.tsx +1 -1
- package/src/Toast.tsx +7 -6
- package/src/Tooltip.stories.tsx +9 -9
- package/src/Tooltip.test.tsx +1 -1
- package/src/Tooltip.tsx +3 -3
- package/src/cn.ts +1 -1
- package/src/eslint/no-restyled-part.ts +1 -0
- package/src/looks.ts +2 -2
- package/stories/TokensPage.tsx +17 -3
- package/tailwind-preset.js +10 -0
- package/tokens.css +144 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-restyled-part.d.ts","sourceRoot":"","sources":["../../src/eslint/no-restyled-part.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAGzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAIH,6FAA6F;AAC7F,eAAO,MAAM,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAUxD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,QACke,CAAA;AAS9f,oGAAoG;AACpG,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAajF;AAED,4CAA4C;AAC5C,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAIlD;AAOD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"no-restyled-part.d.ts","sourceRoot":"","sources":["../../src/eslint/no-restyled-part.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -20,7 +20,7 @@ var FONT_SIZE_TOKENS = [
|
|
|
20
20
|
"chip",
|
|
21
21
|
"small"
|
|
22
22
|
];
|
|
23
|
-
var BOX_SHADOW_TOKENS = ["sm", "md", "lg", "focus-ring", "glow-warning", "glow-success", "glow-accent", "highlight-inset"];
|
|
23
|
+
var BOX_SHADOW_TOKENS = ["sm", "md", "lg", "focus-ring", "field", "glow-warning", "glow-success", "glow-accent", "highlight-inset"];
|
|
24
24
|
var DROP_SHADOW_TOKENS = ["glow-success", "glow-accent", "glow-warning"];
|
|
25
25
|
var twMerge = extendTailwindMerge({
|
|
26
26
|
extend: {
|
|
@@ -269,7 +269,7 @@ import { Tooltip as BaseTooltip } from "@base-ui/react/tooltip";
|
|
|
269
269
|
|
|
270
270
|
// src/Kbd.tsx
|
|
271
271
|
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
272
|
-
function Kbd({ children, className }) {
|
|
272
|
+
function Kbd({ children, className, tone = "default" }) {
|
|
273
273
|
return /* @__PURE__ */ jsx6(
|
|
274
274
|
"kbd",
|
|
275
275
|
{
|
|
@@ -277,6 +277,9 @@ function Kbd({ children, className }) {
|
|
|
277
277
|
"inline-flex shrink-0 items-center justify-center whitespace-nowrap rounded-sm border border-border-strong bg-bg-inset px-1 py-px font-sans text-caption text-text-secondary",
|
|
278
278
|
"signal:border-b-2 signal:pt-[2px] signal:pb-px signal:bg-bg-wash signal:font-mono signal:text-small",
|
|
279
279
|
"ship:border-b-2 ship:pt-[2px] ship:pb-px ship:bg-bg-wash ship:font-mono ship:text-small",
|
|
280
|
+
// Leaf sets its keys in mono, as Signal does (Katerina, 28 September): the type, not the key's shape.
|
|
281
|
+
"leaf:font-mono leaf:text-small",
|
|
282
|
+
tone === "tooltip" && "border-border-tooltip-key bg-bg-tooltip-key text-text-tooltip-key signal:bg-bg-tooltip-key ship:bg-bg-tooltip-key",
|
|
280
283
|
className
|
|
281
284
|
),
|
|
282
285
|
children
|
|
@@ -285,7 +288,7 @@ function Kbd({ children, className }) {
|
|
|
285
288
|
}
|
|
286
289
|
|
|
287
290
|
// src/looks.ts
|
|
288
|
-
var FIELD_BOX_CLASSES = "bg-bg-
|
|
291
|
+
var FIELD_BOX_CLASSES = "bg-bg-field border border-border-field shadow-field hover:border-border-strong focus:border-border-focus rounded-lg";
|
|
289
292
|
var FIELD_TEXT_CLASSES = "text-text-primary placeholder:text-text-muted";
|
|
290
293
|
var FIELD_DISABLED_CLASSES = "disabled:pointer-events-none disabled:bg-bg-disabled disabled:text-text-disabled";
|
|
291
294
|
var FIELD_FOCUS_RING_CLASSES = "signal:transition-shadow signal:focus:shadow-focus-ring";
|
|
@@ -293,7 +296,7 @@ var FIELD_SIZE_CLASSES = {
|
|
|
293
296
|
default: "px-3 py-2 text-input-value",
|
|
294
297
|
small: "h-6 min-h-6 px-2 text-caption"
|
|
295
298
|
};
|
|
296
|
-
var FIELD_SHELL_CLASSES = "bg-bg-
|
|
299
|
+
var FIELD_SHELL_CLASSES = "bg-bg-field border border-border-field shadow-field hover:border-border-strong rounded-lg transition-colors";
|
|
297
300
|
var FLOATING_SURFACE_CLASSES = "rounded-lg border border-border-default bg-bg-elevated shadow-lg";
|
|
298
301
|
var CHIP_TEXT_CLASSES = "text-chip signal:font-mono signal:text-small signal:font-semibold signal:tabular-nums";
|
|
299
302
|
var BARE_INPUT_CLASSES = "bg-transparent text-text-primary placeholder:text-text-muted outline-none";
|
|
@@ -305,9 +308,9 @@ function TooltipProvider({ delay = OPEN_DELAY, closeDelay, timeout, children })
|
|
|
305
308
|
return /* @__PURE__ */ jsx7(BaseTooltip.Provider, { delay, closeDelay, timeout, children });
|
|
306
309
|
}
|
|
307
310
|
function Tooltip({ label, shortcut, className, ...props }) {
|
|
308
|
-
return /* @__PURE__ */ jsxs4("div", { role: "tooltip", className: cn(FLOATING_SURFACE_CLASSES, "min-h-[30px] max-w-80 flex items-center justify-center gap-1.5 px-2 py-1", className), ...props, children: [
|
|
309
|
-
/* @__PURE__ */ jsx7("span", { className: "min-w-0 text-caption text-text-
|
|
310
|
-
shortcut && /* @__PURE__ */ jsx7(Kbd, { children: shortcut })
|
|
311
|
+
return /* @__PURE__ */ jsxs4("div", { role: "tooltip", className: cn(FLOATING_SURFACE_CLASSES, "border-border-tooltip bg-bg-tooltip", "min-h-[30px] max-w-80 flex items-center justify-center gap-1.5 px-2 py-1", className), ...props, children: [
|
|
312
|
+
/* @__PURE__ */ jsx7("span", { className: "min-w-0 text-caption text-text-tooltip break-words", children: label }),
|
|
313
|
+
shortcut && /* @__PURE__ */ jsx7(Kbd, { tone: "tooltip", children: shortcut })
|
|
311
314
|
] });
|
|
312
315
|
}
|
|
313
316
|
var GAP = 6;
|
|
@@ -461,7 +464,7 @@ function Lightbox({ src, alt, onClose, className }) {
|
|
|
461
464
|
Dialog.Close,
|
|
462
465
|
{
|
|
463
466
|
"aria-label": "Close",
|
|
464
|
-
className: "absolute top-4 right-4 size-8 rounded-full bg-bg-
|
|
467
|
+
className: "absolute top-4 right-4 size-8 rounded-full bg-bg-tooltip border border-border-tooltip-key flex items-center justify-center text-text-tooltip-key hover:text-text-tooltip",
|
|
465
468
|
children: /* @__PURE__ */ jsx9(IconX, { size: 16, stroke: 1.5 })
|
|
466
469
|
}
|
|
467
470
|
)
|
|
@@ -652,8 +655,7 @@ function AttachmentCard({
|
|
|
652
655
|
}
|
|
653
656
|
)
|
|
654
657
|
] }),
|
|
655
|
-
onRemove &&
|
|
656
|
-
/* @__PURE__ */ jsx10(
|
|
658
|
+
onRemove && /* @__PURE__ */ jsx10(
|
|
657
659
|
BaseButton2,
|
|
658
660
|
{
|
|
659
661
|
type: "button",
|
|
@@ -1081,6 +1083,8 @@ function SectionLabel({
|
|
|
1081
1083
|
{
|
|
1082
1084
|
className: cn(
|
|
1083
1085
|
"text-h5 leading-3 signal:font-mono signal:text-small signal:uppercase signal:tracking-widest",
|
|
1086
|
+
// Leaf's section labels are Signal's type (Katerina, 28 September).
|
|
1087
|
+
"leaf:font-mono leaf:text-small leaf:uppercase leaf:tracking-widest",
|
|
1084
1088
|
tone === "secondary" ? "text-text-secondary" : tone === "muted" ? "text-text-muted" : "text-text-primary",
|
|
1085
1089
|
truncate && "min-w-0 truncate",
|
|
1086
1090
|
className
|
|
@@ -1281,7 +1285,7 @@ function MenuItem({ label, children, size = "default", description, leading, tra
|
|
|
1281
1285
|
function EnterHint({ target }) {
|
|
1282
1286
|
return /* @__PURE__ */ jsxs13("span", { className: "flex shrink-0 items-center gap-1.5 text-text-muted", children: [
|
|
1283
1287
|
/* @__PURE__ */ jsx19(Kbd, { children: "\u21A9 Enter" }),
|
|
1284
|
-
target && /* @__PURE__ */ jsx19("span", { className: "text-menu signal:font-mono signal:text-small signal:tracking-wider", children: target })
|
|
1288
|
+
target && /* @__PURE__ */ jsx19("span", { className: "text-menu signal:font-mono signal:text-small signal:tracking-wider leaf:font-mono leaf:text-small leaf:tracking-wider", children: target })
|
|
1285
1289
|
] });
|
|
1286
1290
|
}
|
|
1287
1291
|
function MenuSection({ label, children, className }) {
|
|
@@ -1655,7 +1659,7 @@ function useBack(chip, popupRef) {
|
|
|
1655
1659
|
}
|
|
1656
1660
|
function Footer({ keys }) {
|
|
1657
1661
|
const { where } = usePalette("The footer");
|
|
1658
|
-
return /* @__PURE__ */ jsxs18("div", { className: "flex h-9 shrink-0 items-center gap-4 border-t border-border-subtle px-5 text-caption text-text-secondary signal:font-mono signal:text-small signal:text-text-muted", children: [
|
|
1662
|
+
return /* @__PURE__ */ jsxs18("div", { className: "flex h-9 shrink-0 items-center gap-4 border-t border-border-subtle px-5 text-caption text-text-secondary signal:font-mono signal:text-small signal:text-text-muted leaf:font-mono leaf:text-small", children: [
|
|
1659
1663
|
/* @__PURE__ */ jsx25("span", { className: "min-w-0 flex-1 truncate", children: where }),
|
|
1660
1664
|
keys.map(([key, word]) => /* @__PURE__ */ jsxs18("span", { className: "flex shrink-0 items-center gap-1.5", children: [
|
|
1661
1665
|
/* @__PURE__ */ jsx25(Kbd, { children: key }),
|
|
@@ -2135,8 +2139,8 @@ function Select({ value, onChange, options, size = "default", ariaLabel, placeho
|
|
|
2135
2139
|
* `truncate` from ever engaging; in a block container max-w-full is
|
|
2136
2140
|
* the cap. Full-width callers are unaffected.
|
|
2137
2141
|
*/
|
|
2138
|
-
"flex w-full min-w-0 max-w-full items-center justify-between gap-2 rounded-lg border bg-bg-
|
|
2139
|
-
"border-border-
|
|
2142
|
+
"flex w-full min-w-0 max-w-full items-center justify-between gap-2 rounded-lg border bg-bg-field shadow-field text-left",
|
|
2143
|
+
"border-border-field outline-none transition-colors",
|
|
2140
2144
|
FIELD_TEXT_CLASSES,
|
|
2141
2145
|
// The focused border survives a hover: hover alone strengthens the
|
|
2142
2146
|
// hairline, but hover while focused must not grey the focus colour —
|
|
@@ -3158,11 +3162,11 @@ import { Toast as BaseToast } from "@base-ui/react/toast";
|
|
|
3158
3162
|
import { IconAlertCircle as IconAlertCircle2, IconCircleCheck, IconCircleX } from "@tabler/icons-react";
|
|
3159
3163
|
import { jsx as jsx57, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
3160
3164
|
var SURFACE_STYLES = {
|
|
3161
|
-
success: "bg-success-muted signal:bg-bg-inset signal:border signal:border-border-default signal:shadow-md",
|
|
3162
|
-
brand: "bg-accent-muted signal:bg-bg-inset signal:border signal:border-border-default signal:shadow-md",
|
|
3163
|
-
neutral: "bg-bg-inset border border-border-subtle signal:border-border-default signal:shadow-md",
|
|
3164
|
-
warning: "bg-warning-muted signal:bg-bg-inset signal:border signal:border-border-default signal:shadow-md",
|
|
3165
|
-
error: "bg-error-muted signal:bg-bg-inset signal:border signal:border-border-default signal:shadow-md"
|
|
3165
|
+
success: "bg-success-muted signal:bg-bg-inset signal:border signal:border-border-default signal:shadow-md leaf:bg-bg-inset leaf:border leaf:border-border-default leaf:shadow-md",
|
|
3166
|
+
brand: "bg-accent-muted signal:bg-bg-inset signal:border signal:border-border-default signal:shadow-md leaf:bg-bg-inset leaf:border leaf:border-border-default leaf:shadow-md",
|
|
3167
|
+
neutral: "bg-bg-inset border border-border-subtle signal:border-border-default signal:shadow-md leaf:bg-bg-inset leaf:border leaf:border-border-default leaf:shadow-md",
|
|
3168
|
+
warning: "bg-warning-muted signal:bg-bg-inset signal:border signal:border-border-default signal:shadow-md leaf:bg-bg-inset leaf:border leaf:border-border-default leaf:shadow-md",
|
|
3169
|
+
error: "bg-error-muted signal:bg-bg-inset signal:border signal:border-border-default signal:shadow-md leaf:bg-bg-inset leaf:border leaf:border-border-default leaf:shadow-md"
|
|
3166
3170
|
};
|
|
3167
3171
|
var ICONS = {
|
|
3168
3172
|
success: IconCircleCheck,
|