@exponential_app/eui 0.2.1 → 0.3.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/catalog/a11y.json +15 -1
- package/catalog/core.catalog.json +142 -0
- package/catalog/core.schema.json +198 -1
- package/catalog/host.json +10 -0
- package/catalog/macros.json +541 -1
- package/catalog/recipes.json +2 -2
- package/catalog/strings.json +5 -0
- package/catalog/theme.schema.json +2066 -212
- package/conformance/manifest.json +5 -5
- package/dist/chunks/{index-gtk2gwsb.js → index-4z7f2bp1.js} +160 -33
- package/dist/chunks/{index-gtk2gwsb.js.map → index-4z7f2bp1.js.map} +6 -5
- package/dist/chunks/{index-5fmaa0xq.js → index-abcjanhc.js} +629 -3
- package/dist/chunks/{index-5fmaa0xq.js.map → index-abcjanhc.js.map} +2 -2
- package/dist/chunks/{index-62yzr94z.js → index-dx45asrf.js} +99 -3
- package/dist/chunks/{index-62yzr94z.js.map → index-dx45asrf.js.map} +2 -2
- package/dist/chunks/{index-bg2jsgjq.js → index-h3zgfghf.js} +304 -6
- package/dist/chunks/{index-bg2jsgjq.js.map → index-h3zgfghf.js.map} +2 -2
- package/dist/conformance.js +7901 -614
- package/dist/conformance.js.map +2 -2
- package/dist/entries/prompt.js +2 -2
- package/dist/entries/schema.js +2 -2
- package/dist/host/index.js +20 -4
- package/dist/host/index.js.map +1 -1
- package/dist/index.js +35 -5
- package/dist/index.js.map +2 -2
- package/dist/types/src/catalog.generated.d.ts +23 -3
- package/dist/types/src/host/contract.d.ts +17 -0
- package/dist/types/src/host/exposes.d.ts +68 -0
- package/dist/types/src/host/index.d.ts +1 -0
- package/dist/types/src/host/package.d.ts +8 -0
- package/dist/types/src/web/primitives/carousel.d.ts +17 -0
- package/dist/types/src/web/primitives/index.d.ts +3 -0
- package/dist/types/src/web/primitives/mosaic.d.ts +30 -0
- package/dist/types/src/web/primitives/outline.d.ts +22 -0
- package/dist/web/index.js +8 -2
- package/dist/web/index.js.map +4 -4
- package/dist/web/primitives/index.js +59 -1
- package/dist/web/primitives/index.js.map +6 -3
- package/docs/components.generated.json +150 -1
- package/docs/package-format.md +56 -1
- package/docs/round-6-contract.md +108 -0
- package/docs/themes.generated.json +39 -2
- package/fixtures/bind-time.json +1464 -0
- package/fixtures/catalog-components.json +96 -0
- package/fixtures/catalog-macros.json +1159 -48
- package/fixtures/conformance-baseline.json +46073 -44448
- package/fixtures/conformance-known.json +76 -64
- package/fixtures/host-router.json +539 -1
- package/fixtures/kitchen-sink.expanded.json +614 -1
- package/fixtures/kitchen-sink.json +69 -1
- package/fixtures/primitive-specimens.json +3 -0
- package/fixtures/prompt-budget.json +14 -14
- package/fixtures/specimens.json +122 -0
- package/fixtures/theme-recipes.json +4617 -1691
- package/fixtures/theme-resolved.json +1154 -2
- package/generated/ExponentialUICatalog.generated.kt +13 -13
- package/generated/ExponentialUICatalog.generated.swift +13 -13
- package/generated/ExponentialUIThemes.generated.kt +7 -7
- package/generated/ExponentialUIThemes.generated.swift +7 -7
- package/generated/catalog.descriptions.generated.rs +1 -1
- package/generated/catalog.generated.rs +18 -18
- package/generated/catalog.themes.generated.rs +8 -8
- package/generated/core.descriptions.json +96 -0
- package/generated/core.runtime.json +86 -0
- package/package.json +1 -1
- package/themes/neutral.theme.json +288 -0
|
@@ -201,6 +201,17 @@ var CARD_CLASSES = {
|
|
|
201
201
|
content: `px-6`,
|
|
202
202
|
footer: `flex items-center px-6 [.border-t]:pt-6`
|
|
203
203
|
};
|
|
204
|
+
// packages/exponential-ui/src/web/primitives/carousel.ts
|
|
205
|
+
var CAROUSEL_GEOMETRY = { thumbnail: 52, ring: 2, thumbnailGap: 8, counterInset: 8 };
|
|
206
|
+
function carouselCounterText(page, total) {
|
|
207
|
+
return `${page + 1} / ${total}`;
|
|
208
|
+
}
|
|
209
|
+
var CAROUSEL_CLASSES = {
|
|
210
|
+
counter: `pointer-events-none absolute start-2 top-2 z-10 rounded-full bg-black/55 px-2 text-xs leading-5 font-medium text-white tabular-nums`,
|
|
211
|
+
thumbnails: `flex flex-row gap-[8px] overflow-x-auto pt-2 [scrollbar-width:none]`,
|
|
212
|
+
thumbnail: `relative size-[52px] shrink-0 cursor-pointer overflow-hidden rounded-md border-2 border-transparent bg-muted p-0 opacity-70 outline-none transition-opacity duration-fast hover:opacity-100 focus-visible:ring-[3px] focus-visible:ring-ring/50 data-[current=true]:border-foreground data-[current=true]:opacity-100`,
|
|
213
|
+
thumbnailImage: `size-full object-cover`
|
|
214
|
+
};
|
|
204
215
|
// packages/exponential-ui/src/web/primitives/checkbox.ts
|
|
205
216
|
var CHECKBOX_CLASSES = {
|
|
206
217
|
root: `peer size-4 shrink-0 rounded-[4px] border border-glass-stroke-strong bg-glass-row shadow-none transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:aria-invalid:ring-destructive/40 dark:data-[state=checked]:bg-primary`,
|
|
@@ -1086,6 +1097,44 @@ var METER_CLASSES = {
|
|
|
1086
1097
|
danger: `[&_[data-slot=progress-indicator]]:bg-destructive`
|
|
1087
1098
|
}
|
|
1088
1099
|
};
|
|
1100
|
+
// packages/exponential-ui/src/web/primitives/mosaic.ts
|
|
1101
|
+
var MOSAIC_GEOMETRY = { gap: 10, largeFraction: 0.6, aspect: 1.6, radius: 10 };
|
|
1102
|
+
function mosaicTiles(count) {
|
|
1103
|
+
const n = Math.max(0, Math.floor(count));
|
|
1104
|
+
if (n === 0)
|
|
1105
|
+
return [];
|
|
1106
|
+
if (n === 1)
|
|
1107
|
+
return [{ index: 0, size: `large`, more: 0 }];
|
|
1108
|
+
if (n === 2)
|
|
1109
|
+
return [0, 1].map((index) => ({ index, size: `half`, more: 0 }));
|
|
1110
|
+
return [
|
|
1111
|
+
{ index: 0, size: `large`, more: 0 },
|
|
1112
|
+
{ index: 1, size: `small`, more: 0 },
|
|
1113
|
+
{ index: 2, size: `small`, more: n - 3 }
|
|
1114
|
+
];
|
|
1115
|
+
}
|
|
1116
|
+
var MOSAIC_CLASSES = {
|
|
1117
|
+
root: `flex aspect-[1.6] w-full min-w-0 flex-row gap-[10px]`,
|
|
1118
|
+
side: `flex min-w-0 flex-1 flex-col gap-[10px]`,
|
|
1119
|
+
tile: `relative min-h-0 min-w-0 cursor-pointer overflow-hidden rounded-[10px] border border-glass-stroke-card bg-muted p-0 outline-none transition-opacity duration-fast hover:opacity-90 focus-visible:ring-[3px] focus-visible:ring-ring/50`,
|
|
1120
|
+
fill: `flex-1`,
|
|
1121
|
+
lead: `shrink-0 grow-0 basis-[60%]`,
|
|
1122
|
+
image: `absolute inset-0 size-full object-cover`,
|
|
1123
|
+
more: `pointer-events-none absolute inset-0 flex items-center justify-center bg-black/55 text-xl font-semibold text-white`
|
|
1124
|
+
};
|
|
1125
|
+
// packages/exponential-ui/src/web/primitives/outline.ts
|
|
1126
|
+
var OUTLINE_GEOMETRY = { rowHeight: 32, activeBar: 2 };
|
|
1127
|
+
var OUTLINE_CLASSES = {
|
|
1128
|
+
root: `flex min-w-0 flex-col gap-[2px]`,
|
|
1129
|
+
caption: `px-2 py-1 text-[11px] leading-4 font-medium tracking-[0.5px] text-muted-foreground uppercase`,
|
|
1130
|
+
row: `relative flex h-[32px] w-full min-w-0 cursor-pointer items-center gap-1 overflow-hidden rounded-md px-2 text-start text-sm text-muted-foreground outline-none transition-colors duration-fast hover:bg-accent focus-visible:ring-[3px] focus-visible:ring-ring/50 data-[active=true]:bg-accent data-[active=true]:font-medium data-[active=true]:text-foreground`,
|
|
1131
|
+
bar: `pointer-events-none absolute inset-y-0 start-0 w-[2px] bg-foreground`,
|
|
1132
|
+
title: `min-w-0 flex-1 truncate`,
|
|
1133
|
+
count: `shrink-0 text-xs text-muted-foreground tabular-nums`
|
|
1134
|
+
};
|
|
1135
|
+
function outlineCountText(count) {
|
|
1136
|
+
return typeof count === `number` && Number.isFinite(count) && count > 0 ? `· ${count}` : null;
|
|
1137
|
+
}
|
|
1089
1138
|
// packages/exponential-ui/src/web/primitives/popover.ts
|
|
1090
1139
|
var POPOVER_CLASSES = {
|
|
1091
1140
|
content: `${MENU_SURFACE_CLASS} w-72 origin-(--radix-popover-content-transform-origin) p-4 outline-hidden`
|
|
@@ -1338,6 +1387,8 @@ export {
|
|
|
1338
1387
|
BREADCRUMB_CLASSES,
|
|
1339
1388
|
CALENDAR_CLASSES,
|
|
1340
1389
|
CARD_CLASSES,
|
|
1390
|
+
CAROUSEL_CLASSES,
|
|
1391
|
+
CAROUSEL_GEOMETRY,
|
|
1341
1392
|
CHECKBOX_CLASSES,
|
|
1342
1393
|
CHOICE_TILES_CLASSES,
|
|
1343
1394
|
CODE_BLOCK_CLASSES,
|
|
@@ -1381,6 +1432,10 @@ export {
|
|
|
1381
1432
|
MOBILE_PAGE,
|
|
1382
1433
|
MOBILE_SHEET,
|
|
1383
1434
|
MOBILE_SHEET_FULL,
|
|
1435
|
+
MOSAIC_CLASSES,
|
|
1436
|
+
MOSAIC_GEOMETRY,
|
|
1437
|
+
OUTLINE_CLASSES,
|
|
1438
|
+
OUTLINE_GEOMETRY,
|
|
1384
1439
|
POPOVER_CLASSES,
|
|
1385
1440
|
PROGRESS_CLASSES,
|
|
1386
1441
|
PROGRESS_RING_CLASSES,
|
|
@@ -1429,6 +1484,7 @@ export {
|
|
|
1429
1484
|
avatarHueIndex,
|
|
1430
1485
|
badgeLabel,
|
|
1431
1486
|
buttonVariants,
|
|
1487
|
+
carouselCounterText,
|
|
1432
1488
|
choiceColumns,
|
|
1433
1489
|
choiceToggle,
|
|
1434
1490
|
choiceValues,
|
|
@@ -1446,7 +1502,9 @@ export {
|
|
|
1446
1502
|
isTypeaheadPortalInteraction,
|
|
1447
1503
|
layoutSize2 as layoutSize,
|
|
1448
1504
|
middleTruncate,
|
|
1505
|
+
mosaicTiles,
|
|
1449
1506
|
observeCommandListHeight,
|
|
1507
|
+
outlineCountText,
|
|
1450
1508
|
progressIndicatorTransform,
|
|
1451
1509
|
progressRingPercent,
|
|
1452
1510
|
ringGeometry,
|
|
@@ -1472,5 +1530,5 @@ export {
|
|
|
1472
1530
|
voiceWaveQuiet2 as voiceWaveQuiet
|
|
1473
1531
|
};
|
|
1474
1532
|
|
|
1475
|
-
//# debugId=
|
|
1533
|
+
//# debugId=56E8ABB35112F07464756E2164756E21
|
|
1476
1534
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/web/primitives/button.ts", "../src/web/primitives/alert-dialog.ts", "../src/web/primitives/alert.ts", "../src/web/primitives/avatar-color.ts", "../src/web/primitives/avatar.ts", "../src/web/primitives/badge.ts", "../src/web/primitives/breadcrumb.ts", "../src/web/primitives/calendar.ts", "../src/web/primitives/glass-card.ts", "../src/web/primitives/card.ts", "../src/web/primitives/checkbox.ts", "../src/web/primitives/choice-tiles.ts", "../src/web/primitives/cn.ts", "../src/web/primitives/code-block.ts", "../src/web/primitives/command.ts", "../src/web/primitives/context-ring.ts", "../src/web/primitives/dialog-arms.ts", "../src/web/primitives/dialog.ts", "../src/web/primitives/disclosure-header.ts", "../src/web/primitives/toast.ts", "../src/web/primitives/dock.ts", "../src/web/primitives/menu-surface.ts", "../src/web/primitives/dropdown-menu.ts", "../src/web/primitives/empty-state.ts", "../src/web/primitives/hover-card.ts", "../src/web/primitives/icon-disc.ts", "../src/web/primitives/input.ts", "../src/web/primitives/kbd.ts", "../src/web/primitives/label.ts", "../src/web/primitives/meter.ts", "../src/web/primitives/popover.ts", "../src/web/primitives/progress-ring.ts", "../src/web/primitives/progress.ts", "../src/web/primitives/scroll-area.ts", "../src/web/primitives/tabs.ts", "../src/web/primitives/segmented-control.ts", "../src/web/primitives/select.ts", "../src/web/primitives/separator.ts", "../src/web/primitives/sheet-chrome.ts", "../src/web/primitives/sheet.ts", "../src/web/primitives/skeleton.ts", "../src/web/primitives/spinner.ts", "../src/web/primitives/switch.ts", "../src/web/primitives/table.ts", "../src/web/primitives/textarea.ts", "../src/web/primitives/tooltip.ts", "../src/web/primitives/truncate.ts", "../src/web/primitives/typeahead-portal.ts"],
|
|
3
|
+
"sources": ["../src/web/primitives/button.ts", "../src/web/primitives/alert-dialog.ts", "../src/web/primitives/alert.ts", "../src/web/primitives/avatar-color.ts", "../src/web/primitives/avatar.ts", "../src/web/primitives/badge.ts", "../src/web/primitives/breadcrumb.ts", "../src/web/primitives/calendar.ts", "../src/web/primitives/glass-card.ts", "../src/web/primitives/card.ts", "../src/web/primitives/carousel.ts", "../src/web/primitives/checkbox.ts", "../src/web/primitives/choice-tiles.ts", "../src/web/primitives/cn.ts", "../src/web/primitives/code-block.ts", "../src/web/primitives/command.ts", "../src/web/primitives/context-ring.ts", "../src/web/primitives/dialog-arms.ts", "../src/web/primitives/dialog.ts", "../src/web/primitives/disclosure-header.ts", "../src/web/primitives/toast.ts", "../src/web/primitives/dock.ts", "../src/web/primitives/menu-surface.ts", "../src/web/primitives/dropdown-menu.ts", "../src/web/primitives/empty-state.ts", "../src/web/primitives/hover-card.ts", "../src/web/primitives/icon-disc.ts", "../src/web/primitives/input.ts", "../src/web/primitives/kbd.ts", "../src/web/primitives/label.ts", "../src/web/primitives/meter.ts", "../src/web/primitives/mosaic.ts", "../src/web/primitives/outline.ts", "../src/web/primitives/popover.ts", "../src/web/primitives/progress-ring.ts", "../src/web/primitives/progress.ts", "../src/web/primitives/scroll-area.ts", "../src/web/primitives/tabs.ts", "../src/web/primitives/segmented-control.ts", "../src/web/primitives/select.ts", "../src/web/primitives/separator.ts", "../src/web/primitives/sheet-chrome.ts", "../src/web/primitives/sheet.ts", "../src/web/primitives/skeleton.ts", "../src/web/primitives/spinner.ts", "../src/web/primitives/switch.ts", "../src/web/primitives/table.ts", "../src/web/primitives/textarea.ts", "../src/web/primitives/tooltip.ts", "../src/web/primitives/truncate.ts", "../src/web/primitives/typeahead-portal.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import { cva, type VariantProps } from \"class-variance-authority\"\n\nexport const buttonVariants = cva(\n `inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all duration-fast ease-standard outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,\n {\n variants: {\n variant: {\n default: `bg-primary text-primary-foreground hover:bg-primary/90`,\n destructive: `bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40`,\n outline: `border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50`,\n glass: `border border-glass-stroke-card bg-glass-card text-foreground/70 hover:bg-glass-active hover:text-foreground`,\n secondary: `bg-secondary text-secondary-foreground hover:bg-secondary/80`,\n // EXP-960: a ghost TOGGLE says so with `aria-pressed`, and the pressed\n // state is the hover wash held down (the editor's formatting rail).\n // The `hover` arm names dark's half wash too: a pressed button under\n // the pointer must not fade to it.\n ghost: `hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 aria-pressed:bg-accent aria-pressed:text-accent-foreground dark:aria-pressed:hover:bg-accent`,\n link: `text-primary underline-offset-4 hover:underline`,\n // EXP-962: the TEXT button — muted words that brighten under the\n // pointer and never underline: a fold's \"Show more\"/\"Show less\", a\n // step's \"Back to the current step\". `link` goes SOMEWHERE (it\n // underlines like a link); `text` toggles something in place.\n text: `text-muted-foreground hover:text-foreground`,\n },\n // EXP-1176: a TEXT button is a rounded rectangle at the ladder's MD\n // step (10px, the row corner), the shape desktop `web_md`, iOS\n // `GlassSubmitButton` and Android `GlassSubmitButton` already wear. The\n // base `rounded-md` covers every boxed size; EXP-616's capsule is gone\n // from buttons. The capsule is the `Pill` (chips, header actions, the\n // picker trigger), the tabs, the badge and the phone bars, never a\n // Button with words in it. Icon sizes stay circles (the primary-action\n // rule, EXP-771); the ghost icon button alone sits on the MD corner.\n size: {\n default: `h-9 px-4 py-2 has-[>svg]:px-3`,\n xs: `h-6 gap-1 px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3`,\n sm: `h-8 gap-1.5 px-3 has-[>svg]:px-2.5`,\n lg: `h-10 px-6 has-[>svg]:px-4`,\n icon: `size-9 rounded-full`,\n // EXP-698 — the ONE trailing-action size: every row/header action\n // (play, merge, resume, copy link, the \"…\" menus) is a 32px chromed\n // glass circle.\n \"icon-sm\": `size-8 rounded-full [&_svg:not([class*='size-'])]:size-4`,\n \"icon-xs\": `size-6 rounded-full [&_svg:not([class*='size-'])]:size-3`,\n // S-3 (voice-call.json): the phone call's round buttons (styleguide\n // `call-controls`): a 56px circle with a 24px glyph.\n \"icon-lg\": `size-14 rounded-full [&_svg:not([class*='size-'])]:size-6`,\n // EXP-962: INLINE — no box at all: the words sit in the run of text\n // around them at 12px, only the colour (and, for `link`, the\n // underline) says they are a button. For `link` and `text`; the\n // steer feed's \"Show more\", the session bands' \"Continues in a\n // newer run\", the edited-files card's footer.\n inline: `h-auto gap-1 rounded-sm p-0 text-xs has-[>svg]:px-0 [&_svg:not([class*='size-'])]:size-3`,\n },\n },\n // EXP-862: a GHOST icon button is the secondary control (no circle, no\n // border, the row wash on hover), so its hover paints under the MD corner\n // like desktop `controls::ghost_icon_button` and the styleguide's ghost\n // entry, not as a disc.\n compoundVariants: [\n {\n variant: `ghost`,\n size: [`icon`, `icon-sm`, `icon-xs`, `icon-lg`],\n className: `rounded-md`,\n },\n // EXP-1243: a boxed button presses to `scale.press` (motion-press);\n // the ghost icon button (a row's or toolbar's quiet control) and the\n // words-only link/text buttons do not.\n {\n variant: [`default`, `destructive`, `outline`, `glass`, `secondary`, `ghost`],\n size: [`default`, `xs`, `sm`, `lg`],\n className: `motion-press`,\n },\n {\n variant: [`default`, `destructive`, `outline`, `glass`, `secondary`],\n size: [`icon`, `icon-sm`, `icon-xs`, `icon-lg`],\n className: `motion-press`,\n },\n ],\n defaultVariants: {\n variant: `default`,\n size: `default`,\n },\n }\n)\n\nexport type ButtonVariantProps = VariantProps<typeof buttonVariants>\n",
|
|
6
6
|
"import { buttonVariants } from \"./button\"\n\n// Round 1: shadcn's AlertDialog on Radix — the confirm-or-cancel modal the\n// catalog's AlertDialog macro also paints (no backdrop dismissal, Escape\n// cancels, focus starts on Cancel).\nexport const ALERT_DIALOG_CLASSES = {\n overlay: `fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:duration-fast data-[state=closed]:ease-accelerate data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:duration-standard data-[state=open]:ease-decelerate`,\n content: `fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg motion-dialog sm:max-w-lg`,\n header: `flex flex-col gap-2 text-center sm:text-left`,\n footer: `flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,\n title: `text-lg font-semibold`,\n description: `text-sm text-muted-foreground`,\n action: buttonVariants(),\n cancel: buttonVariants({ variant: `outline` }),\n} as const\n",
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"// shadcn's Calendar on react-day-picker: `classNames` is DayPicker's part map\n// (its keys are DayPicker's), the rest are the root, the chevrons, the week\n// number cell and the day button.\nexport const CALENDAR_CLASSES = {\n root: [\n `group/calendar bg-background p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent`,\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n ].join(` `),\n classNames: {\n root: `w-fit`,\n months: `relative flex flex-col gap-4 md:flex-row`,\n month: `flex w-full flex-col gap-4`,\n nav: `absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1`,\n button_previous: `size-(--cell-size) p-0 select-none aria-disabled:opacity-50`,\n button_next: `size-(--cell-size) p-0 select-none aria-disabled:opacity-50`,\n month_caption: `flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)`,\n dropdowns: `flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium`,\n dropdown_root: `relative rounded-md border border-input shadow-xs has-focus:border-ring has-focus:ring-[3px] has-focus:ring-ring/50`,\n dropdown: `absolute inset-0 bg-popover opacity-0`,\n caption_label: `font-medium select-none`,\n table: `w-full border-collapse`,\n weekdays: `flex`,\n weekday: `flex-1 rounded-md text-[0.8rem] font-normal text-muted-foreground select-none`,\n week: `mt-2 flex w-full`,\n week_number_header: `w-(--cell-size) select-none`,\n week_number: `text-[0.8rem] text-muted-foreground select-none`,\n day: `group/day relative aspect-square h-full w-full p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-r-md`,\n range_start: `rounded-l-md bg-accent`,\n range_middle: `rounded-none`,\n range_end: `rounded-r-md bg-accent`,\n today: `rounded-md bg-accent text-accent-foreground data-[selected=true]:rounded-none`,\n outside: `text-muted-foreground aria-selected:text-muted-foreground`,\n disabled: `text-muted-foreground opacity-50`,\n hidden: `invisible`,\n },\n /** `caption_label` per `captionLayout`: `label`, else a dropdown. */\n captionLabel: {\n label: `text-sm`,\n dropdown: `flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground`,\n },\n /** The `day` cell's first-selected corner, with or without week numbers. */\n dayFirst: {\n weekNumbers: `[&:nth-child(2)[data-selected=true]_button]:rounded-l-md`,\n plain: `[&:first-child[data-selected=true]_button]:rounded-l-md`,\n },\n chevron: `size-4`,\n weekNumber: `flex size-(--cell-size) items-center justify-center text-center`,\n dayButton: `flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:text-accent-foreground [&>span]:text-xs [&>span]:opacity-70`,\n} as const\n",
|
|
13
13
|
"// EXP-903 — the ONE glass-card surface recipe.\n//\n// Five web surfaces painted the same translucent card by copy-paste: the\n// comment row, the agent AskCard, the agent usage bar, the mobile issue\n// properties sheet and the repo picker (which had drifted to `rounded-md` and\n// the bare `border` hairline). This is their common core — the XL radius, the\n// card hairline and the glass fill. Everything a card owns on its own (its\n// padding, its dividers, its overflow rule, a blur or a shadow) stays at the\n// call site, because those genuinely differ per surface. `Card` in card.tsx\n// derives its recipe from this constant; the natives already own the\n// primitive (desktop `surface::glass_card`, iOS `GlassCard`, Android\n// `Modifier.glassCard()`). N-12 (owner 2026-10-22): ONE gray ×4: the fill\n// is the opaque card composite (`bg-glass-card-opaque`), never the\n// translucent wash, so every card reads the same tone wherever it sits.\nexport const GLASS_CARD_CLASS = `rounded-xl border border-glass-stroke-card bg-glass-card-opaque`\n\nexport const GLASS_CARD_CLASSES = { root: GLASS_CARD_CLASS } as const\n",
|
|
14
14
|
"import { GLASS_CARD_CLASS } from \"./glass-card\"\n\nexport const CARD_CLASSES = {\n root: `${GLASS_CARD_CLASS} flex flex-col gap-6 backdrop-blur-md py-6 text-card-foreground shadow-sm`,\n header: `@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6`,\n title: `leading-none font-semibold`,\n description: `text-sm text-muted-foreground`,\n action: `col-start-2 row-span-2 row-start-1 self-start justify-self-end`,\n content: `px-6`,\n footer: `flex items-center px-6 [.border-t]:pt-6`,\n} as const\n",
|
|
15
|
+
"// EXP-1495: the Carousel's `counter` and `thumbnails` on the app's tokens\n// (the catalog's Carousel parts `counter`, `thumbnails`, `thumbnail`): the\n// \"i / n\" pill over the slide's top-start corner and the filmstrip of\n// `CAROUSEL_GEOMETRY.thumbnail` px squares under it, the current one ringed\n// `ring` px in the foreground. The plan page's phone picture group (plan-page\n// .json: THE eUI Carousel) paints through these.\n\nexport const CAROUSEL_GEOMETRY = { thumbnail: 52, ring: 2, thumbnailGap: 8, counterInset: 8 } as const\n\n/** The counter's text: `i / n` (1-based). */\nexport function carouselCounterText(page: number, total: number): string {\n return `${page + 1} / ${total}`\n}\n\nexport const CAROUSEL_CLASSES = {\n /** The pill over the slide; its parent is `relative`. */\n counter: `pointer-events-none absolute start-2 top-2 z-10 rounded-full bg-black/55 px-2 text-xs leading-5 font-medium text-white tabular-nums`,\n /** The filmstrip: one row, scrolling sideways when it overflows. */\n thumbnails: `flex flex-row gap-[8px] overflow-x-auto pt-2 [scrollbar-width:none]`,\n /** One thumbnail: a button; the current one `data-current=true`. */\n thumbnail: `relative size-[52px] shrink-0 cursor-pointer overflow-hidden rounded-md border-2 border-transparent bg-muted p-0 opacity-70 outline-none transition-opacity duration-fast hover:opacity-100 focus-visible:ring-[3px] focus-visible:ring-ring/50 data-[current=true]:border-foreground data-[current=true]:opacity-100`,\n thumbnailImage: `size-full object-cover`,\n} as const\n",
|
|
15
16
|
"export const CHECKBOX_CLASSES = {\n // EXP-616: glass box — the strong stroke keeps a 16px unchecked square\n // legible against the row fill it sits on. 4px corner = the Exponential UI\n // Checkbox box (control-geometry.json); rounded-sm (8px) made it a circle.\n root: `peer size-4 shrink-0 rounded-[4px] border border-glass-stroke-strong bg-glass-row shadow-none transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:aria-invalid:ring-destructive/40 dark:data-[state=checked]:bg-primary`,\n indicator: `grid place-content-center text-current transition-none`,\n icon: `size-3.5`,\n} as const\n",
|
|
16
17
|
"// EXP-1280: picture choice tiles. The pure half (the option shape, the\n// pick arithmetic) and the app-token skin of `ChoiceTiles`; the headless\n// frame lives with each renderer.\n\nexport interface ChoiceTileOption {\n value: string\n label: string\n description?: string | null\n /** The picture's url (a relative `/api/attachments/{id}` resolves in the\n * app through `renderImage`). */\n image?: string | null\n disabled?: boolean\n}\n\n/** `columns` clamped to 1–4 (default 2). */\nexport function choiceColumns(columns: unknown): number {\n const n = typeof columns === `number` && Number.isFinite(columns) ? Math.round(columns) : 2\n return Math.min(4, Math.max(1, n))\n}\n\n/** The values a comma-joined eUI `value` picks (single: the whole string). */\nexport function choiceValues(value: unknown, multiple: boolean): string[] {\n if (Array.isArray(value)) return value.map(String).filter(Boolean)\n const raw = value === undefined || value === null ? `` : String(value)\n if (!multiple) return raw ? [raw] : []\n return raw\n .split(`,`)\n .map((s) => s.trim())\n .filter(Boolean)\n}\n\n/** A press on `value`: single picks it; multiple toggles it, the list kept in\n * OPTION order (fixtures/interactions-round1.json `choiceTiles`). */\nexport function choiceToggle(picked: readonly string[], value: string, multiple: boolean, order: readonly string[]): string[] {\n if (!multiple) return [value]\n const next = picked.includes(value) ? picked.filter((v) => v !== value) : [...picked, value]\n const rank = (v: string) => {\n const i = order.indexOf(v)\n return i < 0 ? Number.MAX_SAFE_INTEGER : i\n }\n return next.slice().sort((a, b) => rank(a) - rank(b))\n}\n\nexport interface TileState {\n index: number\n selected: boolean\n disabled: boolean\n}\n\nexport const CHOICE_TILES_CLASSES = {\n root: `gap-[8px]`,\n // The tile in PX, never rem steps (the app's desktop rem is 18.5px, which\n // would inflate them): THE ChoiceTiles recipe = the exponential theme's\n // recipes.ChoiceTiles = packages/domain-contract/fixtures/plan-card.json\n // `tiles` (the SDK imports nothing from the app, so the numbers are copied\n // here): padding 8 (7 when selected, under the 2px `selectedRing`), `gap` 8\n // between tiles, `radius` 10, `pictureRadius` 6 at `pictureAspect` 1.6,\n // `stroke` 1, `placeholderGlyph` 20 at 0.6, `labelGap` 4 picture→label and\n // label→description, `inertOpacity` 0.5. Text stays the sm/xs steps.\n tile: `flex min-w-0 cursor-pointer flex-col gap-[4px] rounded-[10px] border-[1px] border-border bg-card p-[8px] text-start outline-none transition-colors hover:bg-secondary focus-visible:border-ring disabled:cursor-not-allowed disabled:opacity-50`,\n tileSelected: `border-[2px] border-primary bg-accent p-[7px] hover:bg-accent`,\n tileInvalid: `border-destructive`,\n picture: `relative flex aspect-[1.6] w-full shrink-0 items-center justify-center overflow-hidden rounded-[6px] bg-muted text-muted-foreground`,\n image: `absolute inset-0 size-full object-cover`,\n placeholder: `size-[20px] opacity-60`,\n label: `min-w-0 text-sm leading-5 font-medium text-foreground`,\n description: `min-w-0 text-xs leading-4 text-muted-foreground`,\n} as const\n",
|
|
17
18
|
"import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\n// The class-name merger every component in this package (and every app that\n// consumes it) styles through: clsx for conditionals, tailwind-merge so a\n// caller's `className` beats the component's own utilities instead of racing\n// it in the cascade.\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n\nexport function getInitials(value: string) {\n return value\n .split(` `)\n .map((part) => part[0] ?? ``)\n .join(``)\n .toUpperCase()\n .slice(0, 2)\n}\n",
|
|
@@ -32,6 +33,8 @@
|
|
|
32
33
|
"// Round 1: shadcn's Kbd (the key-cap hint the catalog's Kbd macro paints the\n// same way) — a single key, or `KbdGroup` for a chord.\nexport const KBD_CLASSES = {\n root: `pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none [&_svg:not([class*='size-'])]:size-3`,\n group: `inline-flex items-center gap-1`,\n} as const\n",
|
|
33
34
|
"export const LABEL_CLASSES = {\n root: `flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,\n} as const\n",
|
|
34
35
|
"/** EXP-909: the ONE bar every usage surface draws — the rate-limit windows,\n * the run's context, and the tiny three-bar mini line. Before this there were\n * two: a bare `Progress` (primary fill, no tone) under the Context block and a\n * hand-rolled `<span>` track with its own tone map inside the usage cards, so\n * the same 67% was two different colours two rows apart.\n *\n * It IS `Progress` — the Radix root, its track and its indicator — with the\n * severity tone painted on the indicator (`lib/agent-usage.ts` `severity`,\n * hand-mirrored ×4 with the desktop's `usage_bar::meter`, iOS `AgentUsageTrack`\n * and Android `UsageTrack`). Height comes from `className` (`h-1` for the mini\n * line, `h-1.5` for a full window), never from a prop: the tone is the only\n * thing a caller has to think about. */\nexport type MeterTone = `normal` | `warning` | `danger`\n\nexport const METER_CLASSES = {\n root: `h-1.5 bg-glass-stroke-strong`,\n tones: {\n normal: `[&_[data-slot=progress-indicator]]:bg-foreground/30`,\n warning: `[&_[data-slot=progress-indicator]]:bg-amber-500`,\n danger: `[&_[data-slot=progress-indicator]]:bg-destructive`,\n } satisfies Record<MeterTone, string>,\n} as const\n",
|
|
36
|
+
"// EXP-1495: THE Mosaic of the primitive sets (React\n// @exponential_app/eui-react/primitives `Mosaic`, Solid\n// @exponential_app/eui-solid/primitives, the same markup) = the catalog's\n// `Mosaic` macro on the app's tokens: the WIDE picture group. `mosaicTiles`\n// = packages/domain-contract plan-page.ts `mosaicTiles` (the SDK imports\n// nothing from the app, so the rule is copied; packages/ui holds the two\n// equal over plan-page.json `mosaicCases`): 1 = one large tile, 2 = two\n// halves side by side, 3+ = the first large on the left (both rows) and the\n// next two small stacked on the right, the last carrying `more` = count − 3\n// (\"+N\" over a black 0.55 scrim). Geometry = plan-page.json `mosaic`: `gap`\n// between tiles, the large tile `largeFraction` of the width, the group\n// `aspect` w/h, `radius` + the glass-stroke hairline, pictures cover. A press\n// on a tile selects its index.\n\nexport const MOSAIC_GEOMETRY = { gap: 10, largeFraction: 0.6, aspect: 1.6, radius: 10 } as const\n\nexport type MosaicTileSize = `large` | `half` | `small`\n\nexport interface MosaicTile {\n index: number\n size: MosaicTileSize\n /** The pictures past the third: \"+N\" over this tile (0 = none). */\n more: number\n}\n\n/** The tiles a group of `count` pictures draws. */\nexport function mosaicTiles(count: number): MosaicTile[] {\n const n = Math.max(0, Math.floor(count))\n if (n === 0) return []\n if (n === 1) return [{ index: 0, size: `large`, more: 0 }]\n if (n === 2) return [0, 1].map((index) => ({ index, size: `half` as const, more: 0 }))\n return [\n { index: 0, size: `large`, more: 0 },\n { index: 1, size: `small`, more: 0 },\n { index: 2, size: `small`, more: n - 3 },\n ]\n}\n\nexport const MOSAIC_CLASSES = {\n /** The group: `aspect` w/h, a row of the lead tile(s) and the side column. */\n root: `flex aspect-[1.6] w-full min-w-0 flex-row gap-[10px]`,\n /** The right column of the 3+ layout: the two small tiles stacked. */\n side: `flex min-w-0 flex-1 flex-col gap-[10px]`,\n /** One tile: a button holding its picture; `data-size` = the tile size. */\n tile: `relative min-h-0 min-w-0 cursor-pointer overflow-hidden rounded-[10px] border border-glass-stroke-card bg-muted p-0 outline-none transition-opacity duration-fast hover:opacity-90 focus-visible:ring-[3px] focus-visible:ring-ring/50`,\n /** A tile that shares its row or column equally (1, 2, the small two). */\n fill: `flex-1`,\n /** The large tile beside the side column: `largeFraction` of the width. */\n lead: `shrink-0 grow-0 basis-[60%]`,\n image: `absolute inset-0 size-full object-cover`,\n /** The \"+N\" scrim over the last tile. */\n more: `pointer-events-none absolute inset-0 flex items-center justify-center bg-black/55 text-xl font-semibold text-white`,\n} as const\n",
|
|
37
|
+
"// EXP-1495: THE Outline of the primitive sets (React\n// @exponential_app/eui-react/primitives `Outline`, Solid\n// @exponential_app/eui-solid/primitives, the same markup) = the catalog's\n// `Outline` macro on the app's tokens: an anchor list under a 2xs uppercase\n// caption, one-line rows `OUTLINE_GEOMETRY.rowHeight` tall, ONE active row =\n// the accent background + an `activeBar` px foreground bar on its LEADING\n// edge, a muted `· n` trailing count; a press selects the row (scroll-spy\n// stays in the host). The plan page's outline column (packages/domain-contract\n// fixtures/plan-page.json `layout.outlineRowHeight`/`outlineActiveBar`)\n// paints through these; packages/ui holds the numbers equal to the fixture.\n\nexport const OUTLINE_GEOMETRY = { rowHeight: 32, activeBar: 2 } as const\n\nexport interface OutlineItem {\n id: string\n title: string\n /** A muted `· n` after the title; 0 or unset = none. */\n count?: number | null\n}\n\nexport const OUTLINE_CLASSES = {\n root: `flex min-w-0 flex-col gap-[2px]`,\n caption: `px-2 py-1 text-[11px] leading-4 font-medium tracking-[0.5px] text-muted-foreground uppercase`,\n /** One row: a button, the active one `data-active=true`. */\n row: `relative flex h-[32px] w-full min-w-0 cursor-pointer items-center gap-1 overflow-hidden rounded-md px-2 text-start text-sm text-muted-foreground outline-none transition-colors duration-fast hover:bg-accent focus-visible:ring-[3px] focus-visible:ring-ring/50 data-[active=true]:bg-accent data-[active=true]:font-medium data-[active=true]:text-foreground`,\n /** The leading-edge bar of the active row. */\n bar: `pointer-events-none absolute inset-y-0 start-0 w-[2px] bg-foreground`,\n title: `min-w-0 flex-1 truncate`,\n count: `shrink-0 text-xs text-muted-foreground tabular-nums`,\n} as const\n\n/** The trailing count text (`· n`), or null when there is none. */\nexport function outlineCountText(count: number | null | undefined): string | null {\n return typeof count === `number` && Number.isFinite(count) && count > 0 ? `· ${count}` : null\n}\n",
|
|
35
38
|
"import { MENU_SURFACE_CLASS } from \"./menu-surface\"\n\nexport const POPOVER_CLASSES = {\n // EXP-698 menu recipe: opaque card composite, 12 radius, NO blur and\n // NO shadow. A popover keeps its `p-4` form padding; menu-shaped\n // hosts (Command lists) pass `p-0` as they always have.\n content: `${MENU_SURFACE_CLASS} w-72 origin-(--radix-popover-content-transform-origin) p-4 outline-hidden`,\n} as const\n",
|
|
36
39
|
"// EXP-1097 — the sub-issue COMPLETION ring that leads the issue detail's\n// \"Sub-issues\" band: `done` of `total` as an arc over a 20% track. The same\n// 16-unit box, 2-unit stroke and track as `ContextRing` (`ringGeometry`), so\n// the two rings read as one family; drawn at icon size (14px by default) and\n// painted in the team's COMPLETED status colour, handed in exactly like a\n// `StatusGlyph`'s (a token class for builtins, a hex for custom rows).\n\n/** The filled share of the ring, 0..100 (an empty or nonsensical total = 0). */\nexport function progressRingPercent(done: number, total: number): number {\n if (!Number.isFinite(done) || !Number.isFinite(total) || total <= 0) return 0\n return (Math.min(Math.max(done, 0), total) / total) * 100\n}\n\nexport const PROGRESS_RING_CLASSES = {\n root: `shrink-0 -rotate-90`,\n} as const\n",
|
|
37
40
|
"export const PROGRESS_CLASSES = {\n root: `bg-primary/20 relative h-2 w-full overflow-hidden rounded-full`,\n indicator: `bg-primary h-full flex-1 transition-all`,\n // EXP-724: no value = INDETERMINATE (Radix's own `null` state) — a short bar\n // sweeping the track, for work with a real duration but no measurable\n // progress (the steering compaction strip). Under reduced motion it parks\n // at the left as a static, dimmed segment rather than animating.\n indicatorIndeterminate: `w-1/3 motion-safe:animate-progress-indeterminate motion-reduce:opacity-60`,\n indicatorDeterminate: `w-full`,\n} as const\n\n/** The determinate indicator's offset for `value` (0-100). */\nexport function progressIndicatorTransform(value: number | null | undefined): string {\n return `translateX(-${100 - (value || 0)}%)`\n}\n",
|
|
@@ -51,7 +54,7 @@
|
|
|
51
54
|
"// EXP-698 — string shaping shared by the surfaces that print paths. Moved into\n// the package with the diff view (EXP-895), its only caller.\n//\n// A diff's file paths are the one place where `truncate` (a trailing ellipsis)\n// destroys the only part a reader needs: the FILENAME. Middle-truncation drops\n// the middle of the path instead, so `apps/web/src/…/file-diff-card.tsx` still\n// names the file. CSS can't do this, so it is a string transform.\n/**\n * Shorten `value` to at most `max` characters by replacing its middle with an\n * ellipsis, keeping both ends visible (the tail slightly longer, since that is\n * where the filename lives). Shorter values, and any `max` too small to hold a\n * character on each side of the ellipsis, are returned unchanged.\n */\nexport function middleTruncate(value: string, max: number): string {\n if (max <= 0) return value\n // `[...value]` so astral characters (emoji in a path) are never cut in half.\n const chars = [...value]\n if (chars.length <= max) return value\n // 1 for the ellipsis itself, and a character on each side of it.\n if (max < 3) return value\n const keep = max - 1\n const head = Math.floor(keep / 2)\n const tail = keep - head\n return `${chars.slice(0, head).join(``)}…${chars.slice(chars.length - tail).join(``)}`\n}\n",
|
|
52
55
|
"/** The attribute the anchored arm stamps on its portal. It lives outside the\n * host's subtree, so a Radix modal would take a click on it as an OUTSIDE\n * interaction and close: dialog hosts whitelist this selector in their\n * `onInteractOutside`, and treat a mounted one as \"a menu is open\" when\n * routing Escape. */\nexport const TYPEAHEAD_PORTAL_SELECTOR = `[data-editor-autocomplete]`\n\n/** Whether a Radix outside-interaction (its `target` is the pointed-at\n * node) landed inside the anchored arm's portal. `DialogContent` and\n * `SheetContent` ignore that one by default. */\nexport function isTypeaheadPortalInteraction(event: {\n target: EventTarget | null\n}): boolean {\n return (\n event.target instanceof Element &&\n event.target.closest(TYPEAHEAD_PORTAL_SELECTOR) !== null\n )\n}\n"
|
|
53
56
|
],
|
|
54
|
-
"mappings": "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",
|
|
55
|
-
"debugId": "
|
|
57
|
+
"mappings": "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",
|
|
58
|
+
"debugId": "56E8ABB35112F07464756E2164756E21",
|
|
56
59
|
"names": []
|
|
57
60
|
}
|
|
@@ -1813,11 +1813,28 @@
|
|
|
1813
1813
|
"responsive": false,
|
|
1814
1814
|
"default": true,
|
|
1815
1815
|
"description": "Shows the page dots."
|
|
1816
|
+
},
|
|
1817
|
+
{
|
|
1818
|
+
"name": "counter",
|
|
1819
|
+
"type": "boolean",
|
|
1820
|
+
"required": false,
|
|
1821
|
+
"bindable": false,
|
|
1822
|
+
"responsive": false,
|
|
1823
|
+
"default": false,
|
|
1824
|
+
"description": "Shows `i / n`."
|
|
1825
|
+
},
|
|
1826
|
+
{
|
|
1827
|
+
"name": "thumbnails",
|
|
1828
|
+
"type": "[url]",
|
|
1829
|
+
"required": false,
|
|
1830
|
+
"bindable": false,
|
|
1831
|
+
"responsive": false,
|
|
1832
|
+
"description": "A thumbnail URL per page."
|
|
1816
1833
|
}
|
|
1817
1834
|
],
|
|
1818
1835
|
"accessibility": {
|
|
1819
1836
|
"role": "region",
|
|
1820
|
-
"notes": "region, roledescription carousel; each page a group `page i of n`",
|
|
1837
|
+
"notes": "region, roledescription carousel; each page a group `page i of n`; the counter `$string.pageCounter` is hidden (each page already says page i of n); each thumbnail a button `page i of n`, aria-current on the current one",
|
|
1821
1838
|
"keys": [
|
|
1822
1839
|
"ArrowLeft/ArrowRight: previous/next page while focus is inside",
|
|
1823
1840
|
"Home/End: first/last page"
|
|
@@ -1831,6 +1848,68 @@
|
|
|
1831
1848
|
},
|
|
1832
1849
|
"macro": null
|
|
1833
1850
|
},
|
|
1851
|
+
{
|
|
1852
|
+
"name": "Mosaic",
|
|
1853
|
+
"kind": "macro",
|
|
1854
|
+
"group": "media",
|
|
1855
|
+
"lite": false,
|
|
1856
|
+
"specimenId": "exponential-ui-mosaic",
|
|
1857
|
+
"description": "Pictures: halves, or one large + two small with `+N`; press fires `select {index}`.",
|
|
1858
|
+
"children": "none",
|
|
1859
|
+
"slots": [],
|
|
1860
|
+
"events": [
|
|
1861
|
+
"select"
|
|
1862
|
+
],
|
|
1863
|
+
"basic": [],
|
|
1864
|
+
"props": [
|
|
1865
|
+
{
|
|
1866
|
+
"name": "pictures",
|
|
1867
|
+
"type": "[picture]",
|
|
1868
|
+
"required": true,
|
|
1869
|
+
"bindable": false,
|
|
1870
|
+
"responsive": false,
|
|
1871
|
+
"description": "The pictures in order."
|
|
1872
|
+
},
|
|
1873
|
+
{
|
|
1874
|
+
"name": "label",
|
|
1875
|
+
"type": "string",
|
|
1876
|
+
"required": false,
|
|
1877
|
+
"bindable": false,
|
|
1878
|
+
"responsive": false,
|
|
1879
|
+
"description": "The a11y label."
|
|
1880
|
+
}
|
|
1881
|
+
],
|
|
1882
|
+
"accessibility": {
|
|
1883
|
+
"role": "group",
|
|
1884
|
+
"notes": "group labelled `label`; each tile a button named its picture's `alt`; the `+N` tile reads `alt` then `+N` ($string.morePictures).",
|
|
1885
|
+
"keys": [
|
|
1886
|
+
"Tab through the tiles; Enter, Space: select"
|
|
1887
|
+
]
|
|
1888
|
+
},
|
|
1889
|
+
"example": {
|
|
1890
|
+
"id": "example",
|
|
1891
|
+
"component": "Mosaic",
|
|
1892
|
+
"pictures": [
|
|
1893
|
+
{
|
|
1894
|
+
"src": "https://example.com/editor.png",
|
|
1895
|
+
"alt": "Editor"
|
|
1896
|
+
},
|
|
1897
|
+
{
|
|
1898
|
+
"src": "https://example.com/preview.png",
|
|
1899
|
+
"alt": "Preview"
|
|
1900
|
+
},
|
|
1901
|
+
{
|
|
1902
|
+
"src": "https://example.com/data.png",
|
|
1903
|
+
"alt": "Data"
|
|
1904
|
+
},
|
|
1905
|
+
{
|
|
1906
|
+
"src": "https://example.com/versions.png",
|
|
1907
|
+
"alt": "Versions"
|
|
1908
|
+
}
|
|
1909
|
+
]
|
|
1910
|
+
},
|
|
1911
|
+
"macro": "Expands to natives (see catalog/macros.json); the theme styles its parts by recipe Mosaic/<part>."
|
|
1912
|
+
},
|
|
1834
1913
|
{
|
|
1835
1914
|
"name": "Tabs",
|
|
1836
1915
|
"kind": "native",
|
|
@@ -2481,6 +2560,76 @@
|
|
|
2481
2560
|
},
|
|
2482
2561
|
"macro": "Expands to natives (see catalog/macros.json); the theme styles its parts by recipe Breadcrumb/<part>."
|
|
2483
2562
|
},
|
|
2563
|
+
{
|
|
2564
|
+
"name": "Outline",
|
|
2565
|
+
"kind": "macro",
|
|
2566
|
+
"group": "navigation",
|
|
2567
|
+
"lite": true,
|
|
2568
|
+
"specimenId": "exponential-ui-outline",
|
|
2569
|
+
"description": "Anchor rows under a caption, one active; press fires `select {id}`.",
|
|
2570
|
+
"children": "none",
|
|
2571
|
+
"slots": [],
|
|
2572
|
+
"events": [
|
|
2573
|
+
"select"
|
|
2574
|
+
],
|
|
2575
|
+
"basic": [],
|
|
2576
|
+
"props": [
|
|
2577
|
+
{
|
|
2578
|
+
"name": "items",
|
|
2579
|
+
"type": "[outlineItem]",
|
|
2580
|
+
"required": true,
|
|
2581
|
+
"bindable": false,
|
|
2582
|
+
"responsive": false,
|
|
2583
|
+
"description": "The rows in order."
|
|
2584
|
+
},
|
|
2585
|
+
{
|
|
2586
|
+
"name": "value",
|
|
2587
|
+
"type": "string",
|
|
2588
|
+
"required": false,
|
|
2589
|
+
"bindable": true,
|
|
2590
|
+
"responsive": false,
|
|
2591
|
+
"description": "The active row id."
|
|
2592
|
+
},
|
|
2593
|
+
{
|
|
2594
|
+
"name": "caption",
|
|
2595
|
+
"type": "string",
|
|
2596
|
+
"required": false,
|
|
2597
|
+
"bindable": false,
|
|
2598
|
+
"responsive": false,
|
|
2599
|
+
"description": "The heading."
|
|
2600
|
+
}
|
|
2601
|
+
],
|
|
2602
|
+
"accessibility": {
|
|
2603
|
+
"role": "navigation",
|
|
2604
|
+
"notes": "navigation labelled by `caption`; each row a link (aria-current=location on the active row) named `title` then the count; press fires `select {id}`.",
|
|
2605
|
+
"keys": [
|
|
2606
|
+
"Tab through the rows; Enter, Space: select"
|
|
2607
|
+
]
|
|
2608
|
+
},
|
|
2609
|
+
"example": {
|
|
2610
|
+
"id": "example",
|
|
2611
|
+
"component": "Outline",
|
|
2612
|
+
"caption": "Outline",
|
|
2613
|
+
"value": "part-a",
|
|
2614
|
+
"items": [
|
|
2615
|
+
{
|
|
2616
|
+
"id": "current",
|
|
2617
|
+
"title": "Current state"
|
|
2618
|
+
},
|
|
2619
|
+
{
|
|
2620
|
+
"id": "part-a",
|
|
2621
|
+
"title": "Part A: editor-first creation",
|
|
2622
|
+
"count": 5
|
|
2623
|
+
},
|
|
2624
|
+
{
|
|
2625
|
+
"id": "part-b",
|
|
2626
|
+
"title": "Part B: MCP for eApps",
|
|
2627
|
+
"count": 2
|
|
2628
|
+
}
|
|
2629
|
+
]
|
|
2630
|
+
},
|
|
2631
|
+
"macro": "Expands to natives (see catalog/macros.json); the theme styles its parts by recipe Outline/<part>."
|
|
2632
|
+
},
|
|
2484
2633
|
{
|
|
2485
2634
|
"name": "Stepper",
|
|
2486
2635
|
"kind": "macro",
|
package/docs/package-format.md
CHANGED
|
@@ -7,7 +7,7 @@ store, tool runners, extensions), never how (Exponential serves records from
|
|
|
7
7
|
its synced store, spezl from a p2p store over eNet). `catalog/host.json`
|
|
8
8
|
`package` is the machine-readable contract; this page is the prose spec other
|
|
9
9
|
docs link to (spezl `docs/spec/blocks.md`). The TS reference is `src/host/`
|
|
10
|
-
(`package.ts`, `records.ts`, `record-store.ts`, `tools.ts`, `signature.ts`);
|
|
10
|
+
(`package.ts`, `records.ts`, `record-store.ts`, `tools.ts`, `exposes.ts`, `signature.ts`);
|
|
11
11
|
the Rust core (`apps/desktop/crates/eui-core/src/host/`) mirrors every
|
|
12
12
|
pure rule. Fixtures: `fixtures/host-router.json` (package validation, replayed
|
|
13
13
|
by every renderer through the core) and `fixtures/host-package.json` (records
|
|
@@ -37,6 +37,7 @@ renders against keeps its own version in its id (`catalogId`,
|
|
|
37
37
|
"sources": ["records:*"], // allowlist for bindings, unset = any
|
|
38
38
|
"records": { "entry": { "title": "Entry", "schema": { "type": "object", "properties": { "date": { "type": "string", "format": "date" } } } } },
|
|
39
39
|
"tools": { "weather": { "kind": "mcp", "title": "Weather", "url": "https://mcp.example.com/weather" } },
|
|
40
|
+
"upstreams": ["m5"], "exposes": [/* MCP tools a host's broker runs: "Exposes" below */],
|
|
40
41
|
"extensions": [{ "id": "https://acme.example/catalogs/charts/v1", "version": "1.4.0", "components": ["Gantt"] }],
|
|
41
42
|
"theme": "exponential", "icon": { "glyph": "clock" }, "description": "…"
|
|
42
43
|
}
|
|
@@ -126,6 +127,60 @@ Exponential's app hosts run no package tools: its server refuses a package
|
|
|
126
127
|
with `tools` (an app reaches tools through `exponential.<noun>.<op>` and
|
|
127
128
|
`harness.mcp`).
|
|
128
129
|
|
|
130
|
+
## Exposes
|
|
131
|
+
|
|
132
|
+
`exposes: [Expose]` lists MCP TOOLS the package offers to a host's MCP broker
|
|
133
|
+
(Exponential: `/api/mcp/apps`). They are declarative bindings, never code:
|
|
134
|
+
the broker lists them as `<app>__<name>` and runs them as the CALLING person,
|
|
135
|
+
so no device has to be online and nothing is hosted. `upstreams: [name]`
|
|
136
|
+
names the MCP servers the package's upstream bindings call; the host provides
|
|
137
|
+
them (Exponential: the team's MCP servers, Settings › MCP).
|
|
138
|
+
|
|
139
|
+
```jsonc
|
|
140
|
+
"upstreams": ["m5"],
|
|
141
|
+
"exposes": [
|
|
142
|
+
{ "name": "list_entries", "title": "List entries", "description": "The time entries of a day.",
|
|
143
|
+
"input": { "type": "object", "properties": { "day": { "type": "string" } } },
|
|
144
|
+
"access": "read",
|
|
145
|
+
"run": { "records": { "op": "list", "kind": "entry", "where": { "date": "${input.day}" } } } },
|
|
146
|
+
{ "name": "log_comment", "title": "Log a comment", "description": "Comment the logged hours on an issue.",
|
|
147
|
+
"input": { "type": "object", "properties": { "issue": { "type": "string" }, "hours": { "type": "number" } }, "required": ["issue", "hours"] },
|
|
148
|
+
"access": "write",
|
|
149
|
+
"run": { "action": "exponential.comments.create", "args": { "issueId": "${input.issue}", "body": "Logged ${input.hours} h" } } },
|
|
150
|
+
{ "name": "find_customer", "title": "Find a customer", "description": "Search m5 customers.",
|
|
151
|
+
"input": { "type": "object", "properties": { "q": { "type": "string" } } },
|
|
152
|
+
"access": "read",
|
|
153
|
+
"run": { "upstream": "m5", "tool": "search_customers", "args": { "query": "${input.q}" } } }
|
|
154
|
+
]
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
| key | rule |
|
|
158
|
+
| --- | --- |
|
|
159
|
+
| `name` | `^[a-z][a-z0-9_]*$`, at most 40, never `__`, unique |
|
|
160
|
+
| `title` / `description` | non-blank, at most 80 / 1024 characters |
|
|
161
|
+
| `input` | a JSON Schema `{type: "object", properties?}`: the tool's `inputSchema` |
|
|
162
|
+
| `access` | `read` or `write`: who may see it (a read-only connection never lists a write tool) |
|
|
163
|
+
| `run` | EXACTLY ONE of `records` / `action` / `upstream` |
|
|
164
|
+
|
|
165
|
+
- `records: {op: list | get | upsert, kind, id?, where?, data?, limit?}` reads
|
|
166
|
+
or writes the package's OWN records of a declared kind. A delete is
|
|
167
|
+
destructive and never exposed.
|
|
168
|
+
- `action` (+ `args`) calls a host function (`exponential.<noun>.<op>`). It
|
|
169
|
+
reads when the last word of its name is list, get, show, catalog,
|
|
170
|
+
activity or files; anything else writes.
|
|
171
|
+
- `upstream` (+ `tool`, `args`) calls a tool of one of the package's
|
|
172
|
+
`upstreams` with the person's own credential. Its level is the tool's live
|
|
173
|
+
annotations: it reads only with `readOnlyHint: true`.
|
|
174
|
+
|
|
175
|
+
Every string in `run` may hold `${input.<path>}` (dotted keys into the
|
|
176
|
+
call's input; the first key must be a declared input property). A string
|
|
177
|
+
that is exactly one template keeps the value's type; inside text the value
|
|
178
|
+
is printed. Destructive is never exposed: a name holding delete, merge, close,
|
|
179
|
+
end, remove or trash is refused, and a `read` binding whose run writes is
|
|
180
|
+
refused. At most 32 tools. `exposeIssues` returns every issue with its eMCP
|
|
181
|
+
error code; the host adds its own rules on top (Exponential: only grantable,
|
|
182
|
+
non-destructive actions; upstreams the team has).
|
|
183
|
+
|
|
129
184
|
## Extensions
|
|
130
185
|
|
|
131
186
|
`extensions: [{id, version, components?}]` declares the custom component
|