tembro 2.0.3 → 2.0.4
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/components/display/index.cjs +1 -1
- package/dist/components/display/index.d.ts +0 -5
- package/dist/components/display/index.js +22 -27
- package/dist/components/form/demo.cjs +1 -1
- package/dist/components/form/demo.js +1 -2
- package/dist/components/form/index.cjs +1 -1
- package/dist/components/form/index.d.ts +0 -1
- package/dist/components/form/index.js +8 -9
- package/dist/components/form/public.cjs +1 -1
- package/dist/components/form/public.d.ts +0 -1
- package/dist/components/form/public.js +8 -9
- package/dist/components/inputs/index.cjs +1 -1
- package/dist/components/inputs/index.d.ts +0 -2
- package/dist/components/inputs/index.js +3 -5
- package/dist/components/inputs/public.cjs +1 -1
- package/dist/components/inputs/public.d.ts +0 -2
- package/dist/components/inputs/public.js +3 -5
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.d.ts +0 -1
- package/dist/components/layout/index.js +4 -5
- package/dist/components/layout/public.cjs +1 -1
- package/dist/components/layout/public.d.ts +0 -1
- package/dist/components/layout/public.js +2 -3
- package/dist/components/modern/index.cjs +1 -1
- package/dist/components/modern/index.d.ts +0 -4
- package/dist/components/modern/index.js +12 -16
- package/dist/index.cjs +1 -1
- package/dist/index.js +117 -130
- package/dist/public-component-surface.cjs +1 -1
- package/dist/public-component-surface.js +0 -65
- package/dist/showcase/fallback.cjs +3 -3
- package/dist/showcase/fallback.js +140 -314
- package/dist/showcase/premium/index.cjs +1 -1
- package/dist/showcase/premium/index.js +431 -497
- package/dist/showcase/registry-quality.cjs +1 -1
- package/dist/showcase/registry-quality.js +0 -1
- package/dist/showcase/tembro-registry.json.cjs +1 -1
- package/dist/showcase/tembro-registry.json.js +3 -11
- package/package.json +1 -1
- package/packages/cli/dist/index.cjs +2 -2
- package/packages/cli/vendor/src/components/display/index.ts +0 -5
- package/packages/cli/vendor/src/components/form/demo.tsx +0 -1
- package/packages/cli/vendor/src/components/form/index.ts +0 -1
- package/packages/cli/vendor/src/components/form/public.ts +0 -2
- package/packages/cli/vendor/src/components/inputs/index.ts +0 -2
- package/packages/cli/vendor/src/components/inputs/public.ts +0 -2
- package/packages/cli/vendor/src/components/layout/index.ts +0 -1
- package/packages/cli/vendor/src/components/layout/public.ts +0 -1
- package/packages/cli/vendor/src/components/modern/index.ts +1 -5
- package/packages/cli/vendor/src/public-component-surface.ts +0 -13
- package/packages/cli/vendor/src/showcase/fallback.tsx +3 -164
- package/packages/cli/vendor/src/showcase/premium/index.ts +0 -22
- package/packages/cli/vendor/src/showcase/registry-quality.ts +0 -2
- package/packages/cli/vendor/src/showcase/tembro-registry.json +224 -251
- package/registry.json +296 -324
- package/dist/components/display/aspect-ratio.cjs +0 -1
- package/dist/components/display/aspect-ratio.d.ts +0 -6
- package/dist/components/display/aspect-ratio.js +0 -21
- package/dist/components/display/float-button.cjs +0 -1
- package/dist/components/display/float-button.d.ts +0 -6
- package/dist/components/display/float-button.js +0 -20
- package/dist/components/display/key-value-card.cjs +0 -1
- package/dist/components/display/key-value-card.d.ts +0 -16
- package/dist/components/display/key-value-card.js +0 -35
- package/dist/components/display/keyboard-shortcut.cjs +0 -1
- package/dist/components/display/keyboard-shortcut.d.ts +0 -7
- package/dist/components/display/keyboard-shortcut.js +0 -18
- package/dist/components/display/skeleton-form.cjs +0 -1
- package/dist/components/display/skeleton-form.d.ts +0 -9
- package/dist/components/display/skeleton-form.js +0 -31
- package/dist/components/display/skeleton-table.cjs +0 -1
- package/dist/components/display/skeleton-table.d.ts +0 -9
- package/dist/components/display/skeleton-table.js +0 -42
- package/dist/components/display/tag-list.cjs +0 -1
- package/dist/components/display/tag-list.d.ts +0 -17
- package/dist/components/display/tag-list.js +0 -30
- package/dist/components/display/watermark.cjs +0 -1
- package/dist/components/display/watermark.d.ts +0 -6
- package/dist/components/display/watermark.js +0 -23
- package/dist/components/form/repeater-field.cjs +0 -1
- package/dist/components/form/repeater-field.d.ts +0 -16
- package/dist/components/form/repeater-field.js +0 -48
- package/dist/components/inputs/cascader.cjs +0 -1
- package/dist/components/inputs/cascader.d.ts +0 -13
- package/dist/components/inputs/cascader.js +0 -58
- package/dist/components/inputs/mention-input.cjs +0 -1
- package/dist/components/inputs/mention-input.d.ts +0 -18
- package/dist/components/inputs/mention-input.js +0 -96
- package/dist/components/layout/stack.cjs +0 -1
- package/dist/components/layout/stack.d.ts +0 -23
- package/dist/components/layout/stack.js +0 -57
- package/dist/components/modern/affix.cjs +0 -1
- package/dist/components/modern/affix.d.ts +0 -7
- package/dist/components/modern/affix.js +0 -18
- package/dist/showcase/premium/affix/index.cjs +0 -1
- package/dist/showcase/premium/affix/index.d.ts +0 -2
- package/dist/showcase/premium/affix/index.js +0 -3
- package/dist/showcase/premium/affix/mock.cjs +0 -12
- package/dist/showcase/premium/affix/mock.d.ts +0 -2
- package/dist/showcase/premium/affix/mock.js +0 -15
- package/dist/showcase/premium/affix/showcase.cjs +0 -1
- package/dist/showcase/premium/affix/showcase.d.ts +0 -2
- package/dist/showcase/premium/affix/showcase.js +0 -64
- package/dist/showcase/premium/aspect-ratio/index.cjs +0 -1
- package/dist/showcase/premium/aspect-ratio/index.d.ts +0 -2
- package/dist/showcase/premium/aspect-ratio/index.js +0 -3
- package/dist/showcase/premium/aspect-ratio/mock.cjs +0 -11
- package/dist/showcase/premium/aspect-ratio/mock.d.ts +0 -2
- package/dist/showcase/premium/aspect-ratio/mock.js +0 -26
- package/dist/showcase/premium/aspect-ratio/showcase.cjs +0 -1
- package/dist/showcase/premium/aspect-ratio/showcase.d.ts +0 -2
- package/dist/showcase/premium/aspect-ratio/showcase.js +0 -53
- package/dist/showcase/premium/cascader/index.cjs +0 -1
- package/dist/showcase/premium/cascader/index.d.ts +0 -2
- package/dist/showcase/premium/cascader/index.js +0 -3
- package/dist/showcase/premium/cascader/mock.cjs +0 -9
- package/dist/showcase/premium/cascader/mock.d.ts +0 -2
- package/dist/showcase/premium/cascader/mock.js +0 -19
- package/dist/showcase/premium/cascader/showcase.cjs +0 -1
- package/dist/showcase/premium/cascader/showcase.d.ts +0 -2
- package/dist/showcase/premium/cascader/showcase.js +0 -43
- package/dist/showcase/premium/float-button/index.cjs +0 -1
- package/dist/showcase/premium/float-button/index.d.ts +0 -2
- package/dist/showcase/premium/float-button/index.js +0 -3
- package/dist/showcase/premium/float-button/mock.cjs +0 -10
- package/dist/showcase/premium/float-button/mock.d.ts +0 -2
- package/dist/showcase/premium/float-button/mock.js +0 -15
- package/dist/showcase/premium/float-button/showcase.cjs +0 -1
- package/dist/showcase/premium/float-button/showcase.d.ts +0 -2
- package/dist/showcase/premium/float-button/showcase.js +0 -28
- package/dist/showcase/premium/keyboard-shortcut/index.cjs +0 -1
- package/dist/showcase/premium/keyboard-shortcut/index.d.ts +0 -2
- package/dist/showcase/premium/keyboard-shortcut/index.js +0 -3
- package/dist/showcase/premium/keyboard-shortcut/mock.cjs +0 -5
- package/dist/showcase/premium/keyboard-shortcut/mock.d.ts +0 -2
- package/dist/showcase/premium/keyboard-shortcut/mock.js +0 -26
- package/dist/showcase/premium/keyboard-shortcut/showcase.cjs +0 -1
- package/dist/showcase/premium/keyboard-shortcut/showcase.d.ts +0 -1
- package/dist/showcase/premium/keyboard-shortcut/showcase.js +0 -64
- package/dist/showcase/premium/mention-input/index.cjs +0 -1
- package/dist/showcase/premium/mention-input/index.d.ts +0 -2
- package/dist/showcase/premium/mention-input/index.js +0 -3
- package/dist/showcase/premium/mention-input/mock.cjs +0 -11
- package/dist/showcase/premium/mention-input/mock.d.ts +0 -2
- package/dist/showcase/premium/mention-input/mock.js +0 -19
- package/dist/showcase/premium/mention-input/showcase.cjs +0 -1
- package/dist/showcase/premium/mention-input/showcase.d.ts +0 -2
- package/dist/showcase/premium/mention-input/showcase.js +0 -35
- package/dist/showcase/premium/skeleton-form/index.cjs +0 -1
- package/dist/showcase/premium/skeleton-form/index.d.ts +0 -2
- package/dist/showcase/premium/skeleton-form/index.js +0 -3
- package/dist/showcase/premium/skeleton-form/mock.cjs +0 -5
- package/dist/showcase/premium/skeleton-form/mock.d.ts +0 -2
- package/dist/showcase/premium/skeleton-form/mock.js +0 -19
- package/dist/showcase/premium/skeleton-form/showcase.cjs +0 -1
- package/dist/showcase/premium/skeleton-form/showcase.d.ts +0 -2
- package/dist/showcase/premium/skeleton-form/showcase.js +0 -52
- package/dist/showcase/premium/skeleton-table/index.cjs +0 -1
- package/dist/showcase/premium/skeleton-table/index.d.ts +0 -2
- package/dist/showcase/premium/skeleton-table/index.js +0 -3
- package/dist/showcase/premium/skeleton-table/mock.cjs +0 -5
- package/dist/showcase/premium/skeleton-table/mock.d.ts +0 -2
- package/dist/showcase/premium/skeleton-table/mock.js +0 -19
- package/dist/showcase/premium/skeleton-table/showcase.cjs +0 -1
- package/dist/showcase/premium/skeleton-table/showcase.d.ts +0 -2
- package/dist/showcase/premium/skeleton-table/showcase.js +0 -59
- package/dist/showcase/premium/stack/index.cjs +0 -1
- package/dist/showcase/premium/stack/index.d.ts +0 -2
- package/dist/showcase/premium/stack/index.js +0 -3
- package/dist/showcase/premium/stack/mock.cjs +0 -10
- package/dist/showcase/premium/stack/mock.d.ts +0 -2
- package/dist/showcase/premium/stack/mock.js +0 -26
- package/dist/showcase/premium/stack/showcase.cjs +0 -1
- package/dist/showcase/premium/stack/showcase.d.ts +0 -1
- package/dist/showcase/premium/stack/showcase.js +0 -47
- package/dist/showcase/premium/tag-list/index.cjs +0 -1
- package/dist/showcase/premium/tag-list/index.d.ts +0 -2
- package/dist/showcase/premium/tag-list/index.js +0 -3
- package/dist/showcase/premium/tag-list/mock.cjs +0 -12
- package/dist/showcase/premium/tag-list/mock.d.ts +0 -2
- package/dist/showcase/premium/tag-list/mock.js +0 -26
- package/dist/showcase/premium/tag-list/showcase.cjs +0 -1
- package/dist/showcase/premium/tag-list/showcase.d.ts +0 -2
- package/dist/showcase/premium/tag-list/showcase.js +0 -83
- package/dist/showcase/premium/watermark/index.cjs +0 -1
- package/dist/showcase/premium/watermark/index.d.ts +0 -2
- package/dist/showcase/premium/watermark/index.js +0 -3
- package/dist/showcase/premium/watermark/mock.cjs +0 -11
- package/dist/showcase/premium/watermark/mock.d.ts +0 -2
- package/dist/showcase/premium/watermark/mock.js +0 -26
- package/dist/showcase/premium/watermark/showcase.cjs +0 -1
- package/dist/showcase/premium/watermark/showcase.d.ts +0 -2
- package/dist/showcase/premium/watermark/showcase.js +0 -34
- package/packages/cli/vendor/src/components/display/aspect-ratio.tsx +0 -22
- package/packages/cli/vendor/src/components/display/float-button.tsx +0 -27
- package/packages/cli/vendor/src/components/display/key-value-card.tsx +0 -50
- package/packages/cli/vendor/src/components/display/keyboard-shortcut.tsx +0 -31
- package/packages/cli/vendor/src/components/display/skeleton-form.tsx +0 -51
- package/packages/cli/vendor/src/components/display/skeleton-table.tsx +0 -59
- package/packages/cli/vendor/src/components/display/tag-list.tsx +0 -52
- package/packages/cli/vendor/src/components/display/watermark.tsx +0 -20
- package/packages/cli/vendor/src/components/form/repeater-field.tsx +0 -93
- package/packages/cli/vendor/src/components/inputs/cascader.tsx +0 -41
- package/packages/cli/vendor/src/components/inputs/mention-input.tsx +0 -162
- package/packages/cli/vendor/src/components/layout/stack.tsx +0 -106
- package/packages/cli/vendor/src/components/modern/affix.tsx +0 -21
- package/packages/cli/vendor/src/showcase/premium/affix/index.ts +0 -3
- package/packages/cli/vendor/src/showcase/premium/affix/mock.ts +0 -26
- package/packages/cli/vendor/src/showcase/premium/affix/showcase.tsx +0 -37
- package/packages/cli/vendor/src/showcase/premium/aspect-ratio/index.ts +0 -2
- package/packages/cli/vendor/src/showcase/premium/aspect-ratio/mock.ts +0 -26
- package/packages/cli/vendor/src/showcase/premium/aspect-ratio/showcase.tsx +0 -37
- package/packages/cli/vendor/src/showcase/premium/cascader/index.ts +0 -3
- package/packages/cli/vendor/src/showcase/premium/cascader/mock.ts +0 -24
- package/packages/cli/vendor/src/showcase/premium/cascader/showcase.tsx +0 -20
- package/packages/cli/vendor/src/showcase/premium/float-button/index.ts +0 -3
- package/packages/cli/vendor/src/showcase/premium/float-button/mock.ts +0 -24
- package/packages/cli/vendor/src/showcase/premium/float-button/showcase.tsx +0 -21
- package/packages/cli/vendor/src/showcase/premium/keyboard-shortcut/index.ts +0 -2
- package/packages/cli/vendor/src/showcase/premium/keyboard-shortcut/mock.ts +0 -20
- package/packages/cli/vendor/src/showcase/premium/keyboard-shortcut/showcase.tsx +0 -42
- package/packages/cli/vendor/src/showcase/premium/mention-input/index.ts +0 -3
- package/packages/cli/vendor/src/showcase/premium/mention-input/mock.ts +0 -26
- package/packages/cli/vendor/src/showcase/premium/mention-input/showcase.tsx +0 -27
- package/packages/cli/vendor/src/showcase/premium/skeleton-form/index.ts +0 -3
- package/packages/cli/vendor/src/showcase/premium/skeleton-form/mock.ts +0 -20
- package/packages/cli/vendor/src/showcase/premium/skeleton-form/showcase.tsx +0 -34
- package/packages/cli/vendor/src/showcase/premium/skeleton-table/index.ts +0 -3
- package/packages/cli/vendor/src/showcase/premium/skeleton-table/mock.ts +0 -20
- package/packages/cli/vendor/src/showcase/premium/skeleton-table/showcase.tsx +0 -37
- package/packages/cli/vendor/src/showcase/premium/stack/index.ts +0 -2
- package/packages/cli/vendor/src/showcase/premium/stack/mock.ts +0 -25
- package/packages/cli/vendor/src/showcase/premium/stack/showcase.tsx +0 -22
- package/packages/cli/vendor/src/showcase/premium/tag-list/index.ts +0 -2
- package/packages/cli/vendor/src/showcase/premium/tag-list/mock.ts +0 -27
- package/packages/cli/vendor/src/showcase/premium/tag-list/showcase.tsx +0 -55
- package/packages/cli/vendor/src/showcase/premium/watermark/index.ts +0 -2
- package/packages/cli/vendor/src/showcase/premium/watermark/mock.ts +0 -26
- package/packages/cli/vendor/src/showcase/premium/watermark/showcase.tsx +0 -26
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { Button as e } from "../../../components/ui/button/index.js";
|
|
2
|
-
import { KeyboardShortcut as t } from "../../../components/display/keyboard-shortcut.js";
|
|
3
|
-
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
|
-
//#region src/showcase/premium/keyboard-shortcut/showcase.tsx
|
|
5
|
-
var i = "border-t border-[color:var(--aui-divider)] py-6";
|
|
6
|
-
function a() {
|
|
7
|
-
return /* @__PURE__ */ r("div", {
|
|
8
|
-
className: "space-y-0",
|
|
9
|
-
children: [/* @__PURE__ */ r("section", {
|
|
10
|
-
className: "pb-6",
|
|
11
|
-
children: [
|
|
12
|
-
/* @__PURE__ */ n("p", {
|
|
13
|
-
className: "text-xs font-semibold uppercase tracking-[0.24em] aui-text-muted",
|
|
14
|
-
children: "Installed display primitive"
|
|
15
|
-
}),
|
|
16
|
-
/* @__PURE__ */ n("h3", {
|
|
17
|
-
className: "mt-3 text-2xl font-semibold tracking-tight aui-text-strong",
|
|
18
|
-
children: "KeyboardShortcut shows power-user hints without noise"
|
|
19
|
-
}),
|
|
20
|
-
/* @__PURE__ */ n("p", {
|
|
21
|
-
className: "mt-3 max-w-2xl text-sm leading-6 aui-text-muted",
|
|
22
|
-
children: "Keep shortcut chips short and nearby to the action they describe. They should reinforce real behavior, not decorative text."
|
|
23
|
-
})
|
|
24
|
-
]
|
|
25
|
-
}), /* @__PURE__ */ n("section", {
|
|
26
|
-
className: i,
|
|
27
|
-
children: /* @__PURE__ */ r("div", {
|
|
28
|
-
className: "grid gap-6 xl:grid-cols-[1fr_360px]",
|
|
29
|
-
children: [/* @__PURE__ */ r("div", {
|
|
30
|
-
className: "rounded-xl border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg-alt)] p-4",
|
|
31
|
-
children: [/* @__PURE__ */ r("div", {
|
|
32
|
-
className: "flex flex-wrap items-center gap-3",
|
|
33
|
-
children: [/* @__PURE__ */ n(e, {
|
|
34
|
-
variant: "outline",
|
|
35
|
-
children: "Search routes"
|
|
36
|
-
}), /* @__PURE__ */ n(t, { keys: ["Ctrl", "K"] })]
|
|
37
|
-
}), /* @__PURE__ */ r("div", {
|
|
38
|
-
className: "mt-4 flex flex-wrap items-center gap-3",
|
|
39
|
-
children: [
|
|
40
|
-
/* @__PURE__ */ n(e, {
|
|
41
|
-
variant: "secondary",
|
|
42
|
-
children: "Save draft"
|
|
43
|
-
}),
|
|
44
|
-
/* @__PURE__ */ n(t, { keys: ["Ctrl", "S"] }),
|
|
45
|
-
/* @__PURE__ */ n(e, { children: "Publish" }),
|
|
46
|
-
/* @__PURE__ */ n(t, { keys: ["Shift", "Enter"] })
|
|
47
|
-
]
|
|
48
|
-
})]
|
|
49
|
-
}), /* @__PURE__ */ r("div", {
|
|
50
|
-
className: "rounded-xl border border-[color:var(--aui-divider)] p-4",
|
|
51
|
-
children: [/* @__PURE__ */ n("p", {
|
|
52
|
-
className: "text-sm font-semibold aui-text-strong",
|
|
53
|
-
children: "Guidance"
|
|
54
|
-
}), /* @__PURE__ */ r("div", {
|
|
55
|
-
className: "mt-3 space-y-3 text-sm leading-6 aui-text-muted",
|
|
56
|
-
children: [/* @__PURE__ */ n("p", { children: "Show shortcuts only where the action is relevant. Repeating the same hint everywhere weakens it." }), /* @__PURE__ */ n("p", { children: "Use concise labels like `Ctrl`, `Cmd`, `Shift`, `Enter`, not long prose inside the chip." })]
|
|
57
|
-
})]
|
|
58
|
-
})]
|
|
59
|
-
})
|
|
60
|
-
})]
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
//#endregion
|
|
64
|
-
export { a as KeyboardShortcutShowcase };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./mock.cjs"),t=require("./showcase.cjs");exports.MentionInputShowcase=t.MentionInputShowcase,exports.mentionInputMock=e.mentionInputMock;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { MentionInput } from "@/index"
|
|
2
|
-
|
|
3
|
-
export function Example() {
|
|
4
|
-
return (
|
|
5
|
-
<MentionInput
|
|
6
|
-
value="Assign @alice and @bob."
|
|
7
|
-
options={[{ label: "Alice", value: "alice" }, { label: "Bob", value: "bob" }]}
|
|
8
|
-
onValueChange={(value) => console.log(value)}
|
|
9
|
-
/>
|
|
10
|
-
)
|
|
11
|
-
}`,cliCommand:`npx tembro add mention-input`,highlights:[`Trigger-based suggestion filtering`,`Keyboard navigation for suggestions`,`Auto insert with controlled value`],scenarios:[{title:`Comments`,description:`Mention teammates in internal notes.`},{title:`Chat input`,description:`Add quick user references while composing.`}]};exports.mentionInputMock=e;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
//#region src/showcase/premium/mention-input/mock.ts
|
|
2
|
-
var e = {
|
|
3
|
-
code: "import { MentionInput } from \"@/index\"\n\nexport function Example() {\n return (\n <MentionInput\n value=\"Assign @alice and @bob.\"\n options={[{ label: \"Alice\", value: \"alice\" }, { label: \"Bob\", value: \"bob\" }]}\n onValueChange={(value) => console.log(value)}\n />\n )\n}",
|
|
4
|
-
cliCommand: "npx tembro add mention-input",
|
|
5
|
-
highlights: [
|
|
6
|
-
"Trigger-based suggestion filtering",
|
|
7
|
-
"Keyboard navigation for suggestions",
|
|
8
|
-
"Auto insert with controlled value"
|
|
9
|
-
],
|
|
10
|
-
scenarios: [{
|
|
11
|
-
title: "Comments",
|
|
12
|
-
description: "Mention teammates in internal notes."
|
|
13
|
-
}, {
|
|
14
|
-
title: "Chat input",
|
|
15
|
-
description: "Add quick user references while composing."
|
|
16
|
-
}]
|
|
17
|
-
};
|
|
18
|
-
//#endregion
|
|
19
|
-
export { e as mentionInputMock };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../components/inputs/mention-input.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");var i=[{label:`Alice`,value:`alice`},{label:`Bob`,value:`bob`},{label:`Charlie`,value:`charlie`}];function a(){let[e,a]=n.useState(`Hi @alice, please review this task.`),[o,s]=n.useState([]);return(0,r.jsxs)(`div`,{className:`space-y-3`,children:[(0,r.jsx)(t.MentionInput,{value:e,options:i,onValueChange:a,onMentionSelect:e=>s(t=>[...new Set([...t,e])])}),(0,r.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Inserted mentions: `,o.join(`, `)||`None`]})]})}exports.MentionInputShowcase=a;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { MentionInput as e } from "../../../components/inputs/mention-input.js";
|
|
2
|
-
import * as t from "react";
|
|
3
|
-
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
|
-
//#region src/showcase/premium/mention-input/showcase.tsx
|
|
5
|
-
var i = [
|
|
6
|
-
{
|
|
7
|
-
label: "Alice",
|
|
8
|
-
value: "alice"
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
label: "Bob",
|
|
12
|
-
value: "bob"
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
label: "Charlie",
|
|
16
|
-
value: "charlie"
|
|
17
|
-
}
|
|
18
|
-
];
|
|
19
|
-
function a() {
|
|
20
|
-
let [a, o] = t.useState("Hi @alice, please review this task."), [s, c] = t.useState([]);
|
|
21
|
-
return /* @__PURE__ */ r("div", {
|
|
22
|
-
className: "space-y-3",
|
|
23
|
-
children: [/* @__PURE__ */ n(e, {
|
|
24
|
-
value: a,
|
|
25
|
-
options: i,
|
|
26
|
-
onValueChange: o,
|
|
27
|
-
onMentionSelect: (e) => c((t) => [...new Set([...t, e])])
|
|
28
|
-
}), /* @__PURE__ */ r("p", {
|
|
29
|
-
className: "text-sm text-muted-foreground",
|
|
30
|
-
children: ["Inserted mentions: ", s.join(", ") || "None"]
|
|
31
|
-
})]
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
//#endregion
|
|
35
|
-
export { a as MentionInputShowcase };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./mock.cjs"),t=require("./showcase.cjs");exports.SkeletonFormShowcase=t.SkeletonFormShowcase,exports.skeletonFormMock=e.skeletonFormMock;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { SkeletonForm } from "@/index"
|
|
2
|
-
|
|
3
|
-
export function Example() {
|
|
4
|
-
return <SkeletonForm fields={3} showTitle columns={2} />
|
|
5
|
-
}`,cliCommand:`npx tembro add skeleton-form`,highlights:[`Form-first loading states that preserve field rhythm`,`Supports one- or two-column layouts`,`Optional title and action skeleton areas`],scenarios:[{title:`Settings`,description:`Keep form layout stable while waiting for data.`},{title:`Create form`,description:`Match final structure without exposing layout jitter.`}]};exports.skeletonFormMock=e;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
//#region src/showcase/premium/skeleton-form/mock.ts
|
|
2
|
-
var e = {
|
|
3
|
-
code: "import { SkeletonForm } from \"@/index\"\n\nexport function Example() {\n return <SkeletonForm fields={3} showTitle columns={2} />\n}",
|
|
4
|
-
cliCommand: "npx tembro add skeleton-form",
|
|
5
|
-
highlights: [
|
|
6
|
-
"Form-first loading states that preserve field rhythm",
|
|
7
|
-
"Supports one- or two-column layouts",
|
|
8
|
-
"Optional title and action skeleton areas"
|
|
9
|
-
],
|
|
10
|
-
scenarios: [{
|
|
11
|
-
title: "Settings",
|
|
12
|
-
description: "Keep form layout stable while waiting for data."
|
|
13
|
-
}, {
|
|
14
|
-
title: "Create form",
|
|
15
|
-
description: "Match final structure without exposing layout jitter."
|
|
16
|
-
}]
|
|
17
|
-
};
|
|
18
|
-
//#endregion
|
|
19
|
-
export { e as skeletonFormMock };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../components/ui/button/index.cjs"),n=require("../../../components/display/skeleton-form.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("react/jsx-runtime");function a(){let[e,a]=r.useState(4),[o,s]=r.useState(1),[c,l]=r.useState(!0);return(0,i.jsxs)(`div`,{className:`space-y-3`,children:[(0,i.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,i.jsx)(t.Button,{size:`sm`,variant:e===3?`default`:`outline`,onClick:()=>a(3),children:`3 fields`}),(0,i.jsx)(t.Button,{size:`sm`,variant:e===4?`default`:`outline`,onClick:()=>a(4),children:`4 fields`}),(0,i.jsx)(t.Button,{size:`sm`,variant:o===1?`default`:`outline`,onClick:()=>s(1),children:`1 column`}),(0,i.jsx)(t.Button,{size:`sm`,variant:o===2?`default`:`outline`,onClick:()=>s(2),children:`2 columns`}),(0,i.jsx)(t.Button,{size:`sm`,variant:c?`default`:`outline`,onClick:()=>l(e=>!e),children:c?`Actions`:`No actions`})]}),(0,i.jsx)(n.SkeletonForm,{fields:e,columns:o,showActions:c})]})}exports.SkeletonFormShowcase=a;
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { Button as e } from "../../../components/ui/button/index.js";
|
|
2
|
-
import { SkeletonForm as t } from "../../../components/display/skeleton-form.js";
|
|
3
|
-
import * as n from "react";
|
|
4
|
-
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
5
|
-
//#region src/showcase/premium/skeleton-form/showcase.tsx
|
|
6
|
-
function a() {
|
|
7
|
-
let [a, o] = n.useState(4), [s, c] = n.useState(1), [l, u] = n.useState(!0);
|
|
8
|
-
return /* @__PURE__ */ i("div", {
|
|
9
|
-
className: "space-y-3",
|
|
10
|
-
children: [/* @__PURE__ */ i("div", {
|
|
11
|
-
className: "flex flex-wrap gap-2",
|
|
12
|
-
children: [
|
|
13
|
-
/* @__PURE__ */ r(e, {
|
|
14
|
-
size: "sm",
|
|
15
|
-
variant: a === 3 ? "default" : "outline",
|
|
16
|
-
onClick: () => o(3),
|
|
17
|
-
children: "3 fields"
|
|
18
|
-
}),
|
|
19
|
-
/* @__PURE__ */ r(e, {
|
|
20
|
-
size: "sm",
|
|
21
|
-
variant: a === 4 ? "default" : "outline",
|
|
22
|
-
onClick: () => o(4),
|
|
23
|
-
children: "4 fields"
|
|
24
|
-
}),
|
|
25
|
-
/* @__PURE__ */ r(e, {
|
|
26
|
-
size: "sm",
|
|
27
|
-
variant: s === 1 ? "default" : "outline",
|
|
28
|
-
onClick: () => c(1),
|
|
29
|
-
children: "1 column"
|
|
30
|
-
}),
|
|
31
|
-
/* @__PURE__ */ r(e, {
|
|
32
|
-
size: "sm",
|
|
33
|
-
variant: s === 2 ? "default" : "outline",
|
|
34
|
-
onClick: () => c(2),
|
|
35
|
-
children: "2 columns"
|
|
36
|
-
}),
|
|
37
|
-
/* @__PURE__ */ r(e, {
|
|
38
|
-
size: "sm",
|
|
39
|
-
variant: l ? "default" : "outline",
|
|
40
|
-
onClick: () => u((e) => !e),
|
|
41
|
-
children: l ? "Actions" : "No actions"
|
|
42
|
-
})
|
|
43
|
-
]
|
|
44
|
-
}), /* @__PURE__ */ r(t, {
|
|
45
|
-
fields: a,
|
|
46
|
-
columns: s,
|
|
47
|
-
showActions: l
|
|
48
|
-
})]
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
//#endregion
|
|
52
|
-
export { a as SkeletonFormShowcase };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./mock.cjs"),t=require("./showcase.cjs");exports.SkeletonTableShowcase=t.SkeletonTableShowcase,exports.skeletonTableMock=e.skeletonTableMock;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { SkeletonTable } from "@/index"
|
|
2
|
-
|
|
3
|
-
export function Example() {
|
|
4
|
-
return <SkeletonTable rows={4} columns={4} showHeader showToolbar />
|
|
5
|
-
}`,cliCommand:`npx tembro add skeleton-table`,highlights:[`Compact placeholder for async table loading`,`Supports header and action bar variants`,`Good fit during first-load and refetch states`],scenarios:[{title:`Data pages`,description:`Replace with table body after fetch completes.`},{title:`Search results`,description:`Keep layout stable while filters run.`}]};exports.skeletonTableMock=e;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
//#region src/showcase/premium/skeleton-table/mock.ts
|
|
2
|
-
var e = {
|
|
3
|
-
code: "import { SkeletonTable } from \"@/index\"\n\nexport function Example() {\n return <SkeletonTable rows={4} columns={4} showHeader showToolbar />\n}",
|
|
4
|
-
cliCommand: "npx tembro add skeleton-table",
|
|
5
|
-
highlights: [
|
|
6
|
-
"Compact placeholder for async table loading",
|
|
7
|
-
"Supports header and action bar variants",
|
|
8
|
-
"Good fit during first-load and refetch states"
|
|
9
|
-
],
|
|
10
|
-
scenarios: [{
|
|
11
|
-
title: "Data pages",
|
|
12
|
-
description: "Replace with table body after fetch completes."
|
|
13
|
-
}, {
|
|
14
|
-
title: "Search results",
|
|
15
|
-
description: "Keep layout stable while filters run."
|
|
16
|
-
}]
|
|
17
|
-
};
|
|
18
|
-
//#endregion
|
|
19
|
-
export { e as skeletonTableMock };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../components/ui/button/index.cjs"),n=require("../../../components/display/skeleton-table.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("react/jsx-runtime");function a(){let[e,a]=r.useState(!0),[o,s]=r.useState(4),[c,l]=r.useState(4);return(0,i.jsxs)(`div`,{className:`space-y-3`,children:[(0,i.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,i.jsx)(t.Button,{size:`sm`,variant:e?`default`:`outline`,onClick:()=>a(e=>!e),children:`Toolbar`}),(0,i.jsx)(t.Button,{size:`sm`,onClick:()=>s(3),variant:`outline`,children:`3 cols`}),(0,i.jsx)(t.Button,{size:`sm`,onClick:()=>s(4),variant:`outline`,children:`4 cols`}),(0,i.jsx)(t.Button,{size:`sm`,onClick:()=>s(5),variant:`outline`,children:`5 cols`}),(0,i.jsx)(t.Button,{size:`sm`,onClick:()=>l(3),variant:`outline`,children:`3 rows`}),(0,i.jsx)(t.Button,{size:`sm`,onClick:()=>l(6),variant:`outline`,children:`6 rows`})]}),(0,i.jsx)(n.SkeletonTable,{rows:c,columns:o,showHeader:!0,showToolbar:e})]})}exports.SkeletonTableShowcase=a;
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { Button as e } from "../../../components/ui/button/index.js";
|
|
2
|
-
import { SkeletonTable as t } from "../../../components/display/skeleton-table.js";
|
|
3
|
-
import * as n from "react";
|
|
4
|
-
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
5
|
-
//#region src/showcase/premium/skeleton-table/showcase.tsx
|
|
6
|
-
function a() {
|
|
7
|
-
let [a, o] = n.useState(!0), [s, c] = n.useState(4), [l, u] = n.useState(4);
|
|
8
|
-
return /* @__PURE__ */ i("div", {
|
|
9
|
-
className: "space-y-3",
|
|
10
|
-
children: [/* @__PURE__ */ i("div", {
|
|
11
|
-
className: "flex flex-wrap gap-2",
|
|
12
|
-
children: [
|
|
13
|
-
/* @__PURE__ */ r(e, {
|
|
14
|
-
size: "sm",
|
|
15
|
-
variant: a ? "default" : "outline",
|
|
16
|
-
onClick: () => o((e) => !e),
|
|
17
|
-
children: "Toolbar"
|
|
18
|
-
}),
|
|
19
|
-
/* @__PURE__ */ r(e, {
|
|
20
|
-
size: "sm",
|
|
21
|
-
onClick: () => c(3),
|
|
22
|
-
variant: "outline",
|
|
23
|
-
children: "3 cols"
|
|
24
|
-
}),
|
|
25
|
-
/* @__PURE__ */ r(e, {
|
|
26
|
-
size: "sm",
|
|
27
|
-
onClick: () => c(4),
|
|
28
|
-
variant: "outline",
|
|
29
|
-
children: "4 cols"
|
|
30
|
-
}),
|
|
31
|
-
/* @__PURE__ */ r(e, {
|
|
32
|
-
size: "sm",
|
|
33
|
-
onClick: () => c(5),
|
|
34
|
-
variant: "outline",
|
|
35
|
-
children: "5 cols"
|
|
36
|
-
}),
|
|
37
|
-
/* @__PURE__ */ r(e, {
|
|
38
|
-
size: "sm",
|
|
39
|
-
onClick: () => u(3),
|
|
40
|
-
variant: "outline",
|
|
41
|
-
children: "3 rows"
|
|
42
|
-
}),
|
|
43
|
-
/* @__PURE__ */ r(e, {
|
|
44
|
-
size: "sm",
|
|
45
|
-
onClick: () => u(6),
|
|
46
|
-
variant: "outline",
|
|
47
|
-
children: "6 rows"
|
|
48
|
-
})
|
|
49
|
-
]
|
|
50
|
-
}), /* @__PURE__ */ r(t, {
|
|
51
|
-
rows: l,
|
|
52
|
-
columns: s,
|
|
53
|
-
showHeader: !0,
|
|
54
|
-
showToolbar: a
|
|
55
|
-
})]
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
//#endregion
|
|
59
|
-
export { a as SkeletonTableShowcase };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./mock.cjs"),t=require("./showcase.cjs");exports.StackShowcase=t.StackShowcase,exports.stackMock=e.stackMock;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { Button, Stack } from "@/index"
|
|
2
|
-
|
|
3
|
-
export function Example() {
|
|
4
|
-
return (
|
|
5
|
-
<Stack gap="lg" splitAfter={<Button size="sm">Secondary</Button>}>
|
|
6
|
-
<div className="text-sm">Primary action</div>
|
|
7
|
-
<div className="text-sm">Status line</div>
|
|
8
|
-
</Stack>
|
|
9
|
-
)
|
|
10
|
-
}`,cliCommand:`npx tembro add stack`,highlights:[`Flexible vertical layout helper`,`Split insert points without extra wrappers`,`Consistent spacing with simple gap presets`],scenarios:[{title:`Form stack`,description:`Stable form section spacing.`},{title:`Card body`,description:`Build readable content groups quickly.`},{title:`Settings page`,description:`Keep labels and controls in order.`}]};exports.stackMock=e;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
//#region src/showcase/premium/stack/mock.ts
|
|
2
|
-
var e = {
|
|
3
|
-
code: "import { Button, Stack } from \"@/index\"\n\nexport function Example() {\n return (\n <Stack gap=\"lg\" splitAfter={<Button size=\"sm\">Secondary</Button>}>\n <div className=\"text-sm\">Primary action</div>\n <div className=\"text-sm\">Status line</div>\n </Stack>\n )\n}",
|
|
4
|
-
cliCommand: "npx tembro add stack",
|
|
5
|
-
highlights: [
|
|
6
|
-
"Flexible vertical layout helper",
|
|
7
|
-
"Split insert points without extra wrappers",
|
|
8
|
-
"Consistent spacing with simple gap presets"
|
|
9
|
-
],
|
|
10
|
-
scenarios: [
|
|
11
|
-
{
|
|
12
|
-
title: "Form stack",
|
|
13
|
-
description: "Stable form section spacing."
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
title: "Card body",
|
|
17
|
-
description: "Build readable content groups quickly."
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
title: "Settings page",
|
|
21
|
-
description: "Keep labels and controls in order."
|
|
22
|
-
}
|
|
23
|
-
]
|
|
24
|
-
};
|
|
25
|
-
//#endregion
|
|
26
|
-
export { e as stackMock };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../components/ui/button/index.cjs"),t=require("../../../components/ui/divider/index.cjs"),n=require("../../../components/layout/stack.cjs");let r=require("react/jsx-runtime");function i(){return(0,r.jsxs)(`div`,{className:`space-y-4`,children:[(0,r.jsxs)(n.Stack,{gap:`sm`,children:[(0,r.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Small gap stack keeps controls close.`}),(0,r.jsx)(e.Button,{size:`sm`,children:`Primary`}),(0,r.jsx)(e.Button,{size:`sm`,variant:`outline`,children:`Secondary`})]}),(0,r.jsx)(t.Divider,{}),(0,r.jsxs)(n.Stack,{gap:`xl`,splitAfter:(0,r.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Action barrier`}),children:[(0,r.jsx)(`p`,{className:`text-sm`,children:`Large gap for grouped blocks.`}),(0,r.jsx)(`p`,{className:`text-sm`,children:`SplitAfter inserts a stable divider point without nested wrappers.`})]})]})}exports.StackShowcase=i;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function StackShowcase(): import("react").JSX.Element;
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { Button as e } from "../../../components/ui/button/index.js";
|
|
2
|
-
import { Divider as t } from "../../../components/ui/divider/index.js";
|
|
3
|
-
import { Stack as n } from "../../../components/layout/stack.js";
|
|
4
|
-
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
5
|
-
//#region src/showcase/premium/stack/showcase.tsx
|
|
6
|
-
function a() {
|
|
7
|
-
return /* @__PURE__ */ i("div", {
|
|
8
|
-
className: "space-y-4",
|
|
9
|
-
children: [
|
|
10
|
-
/* @__PURE__ */ i(n, {
|
|
11
|
-
gap: "sm",
|
|
12
|
-
children: [
|
|
13
|
-
/* @__PURE__ */ r("p", {
|
|
14
|
-
className: "text-sm text-muted-foreground",
|
|
15
|
-
children: "Small gap stack keeps controls close."
|
|
16
|
-
}),
|
|
17
|
-
/* @__PURE__ */ r(e, {
|
|
18
|
-
size: "sm",
|
|
19
|
-
children: "Primary"
|
|
20
|
-
}),
|
|
21
|
-
/* @__PURE__ */ r(e, {
|
|
22
|
-
size: "sm",
|
|
23
|
-
variant: "outline",
|
|
24
|
-
children: "Secondary"
|
|
25
|
-
})
|
|
26
|
-
]
|
|
27
|
-
}),
|
|
28
|
-
/* @__PURE__ */ r(t, {}),
|
|
29
|
-
/* @__PURE__ */ i(n, {
|
|
30
|
-
gap: "xl",
|
|
31
|
-
splitAfter: /* @__PURE__ */ r("p", {
|
|
32
|
-
className: "text-sm text-muted-foreground",
|
|
33
|
-
children: "Action barrier"
|
|
34
|
-
}),
|
|
35
|
-
children: [/* @__PURE__ */ r("p", {
|
|
36
|
-
className: "text-sm",
|
|
37
|
-
children: "Large gap for grouped blocks."
|
|
38
|
-
}), /* @__PURE__ */ r("p", {
|
|
39
|
-
className: "text-sm",
|
|
40
|
-
children: "SplitAfter inserts a stable divider point without nested wrappers."
|
|
41
|
-
})]
|
|
42
|
-
})
|
|
43
|
-
]
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
//#endregion
|
|
47
|
-
export { a as StackShowcase };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./mock.cjs"),t=require("./showcase.cjs");exports.TagListShowcase=t.TagListShowcase,exports.tagListMock=e.tagListMock;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import * as React from "react"
|
|
2
|
-
import { TagList } from "@/index"
|
|
3
|
-
|
|
4
|
-
export function Example() {
|
|
5
|
-
const [items, setItems] = React.useState([
|
|
6
|
-
{ key: "react", label: "React" },
|
|
7
|
-
{ key: "typescript", label: "TypeScript" },
|
|
8
|
-
{ key: "design-system", label: "Design system" },
|
|
9
|
-
])
|
|
10
|
-
|
|
11
|
-
return <TagList items={items} removable onRemove={(item) => setItems((list) => list.filter((entry) => entry.key !== item.key))} />
|
|
12
|
-
}`,cliCommand:`npx tembro add tag-list`,highlights:[`Compact badge-based collection of labels`,`Optional remove actions for editable taxonomies`,`Useful for skills, filters, product areas, and metadata chips`],scenarios:[{title:`Skill chips`,description:`Show categorized labels without building a full tag input field.`},{title:`Selected filters`,description:`Summarize active states at the top of a page.`},{title:`Editable metadata`,description:`Allow small remove actions on existing labels.`}]};exports.tagListMock=e;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
//#region src/showcase/premium/tag-list/mock.ts
|
|
2
|
-
var e = {
|
|
3
|
-
code: "import * as React from \"react\"\nimport { TagList } from \"@/index\"\n\nexport function Example() {\n const [items, setItems] = React.useState([\n { key: \"react\", label: \"React\" },\n { key: \"typescript\", label: \"TypeScript\" },\n { key: \"design-system\", label: \"Design system\" },\n ])\n\n return <TagList items={items} removable onRemove={(item) => setItems((list) => list.filter((entry) => entry.key !== item.key))} />\n}",
|
|
4
|
-
cliCommand: "npx tembro add tag-list",
|
|
5
|
-
highlights: [
|
|
6
|
-
"Compact badge-based collection of labels",
|
|
7
|
-
"Optional remove actions for editable taxonomies",
|
|
8
|
-
"Useful for skills, filters, product areas, and metadata chips"
|
|
9
|
-
],
|
|
10
|
-
scenarios: [
|
|
11
|
-
{
|
|
12
|
-
title: "Skill chips",
|
|
13
|
-
description: "Show categorized labels without building a full tag input field."
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
title: "Selected filters",
|
|
17
|
-
description: "Summarize active states at the top of a page."
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
title: "Editable metadata",
|
|
21
|
-
description: "Allow small remove actions on existing labels."
|
|
22
|
-
}
|
|
23
|
-
]
|
|
24
|
-
};
|
|
25
|
-
//#endregion
|
|
26
|
-
export { e as tagListMock };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../components/display/tag-list.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");var i=`border-t border-[color:var(--aui-divider)] py-6`,a=[{key:`react`,label:`React`},{key:`typescript`,label:`TypeScript`},{key:`dashboard`,label:`Dashboard`},{key:`design-system`,label:`Design system`},{key:`release`,label:`Release`}];function o(){let[e,o]=n.useState(a);return(0,r.jsxs)(`div`,{className:`space-y-0`,children:[(0,r.jsxs)(`section`,{className:`pb-6`,children:[(0,r.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] aui-text-muted`,children:`Installed display primitive`}),(0,r.jsx)(`h3`,{className:`mt-3 text-2xl font-semibold tracking-tight aui-text-strong`,children:`TagList shows existing labels, not text entry`}),(0,r.jsx)(`p`,{className:`mt-3 max-w-2xl text-sm leading-6 aui-text-muted`,children:`Use TagList to display or lightly edit known labels. If the user must type new values, move to TagInput instead.`})]}),(0,r.jsx)(`section`,{className:i,children:(0,r.jsxs)(`div`,{className:`grid gap-6 xl:grid-cols-[1fr_360px]`,children:[(0,r.jsxs)(`div`,{children:[(0,r.jsx)(`p`,{className:`text-lg font-semibold aui-text-strong`,children:`Editable metadata chips`}),(0,r.jsx)(`p`,{className:`mt-2 max-w-xl text-sm leading-6 aui-text-muted`,children:`Remove actions should stay small and secondary so the tags remain readable as content first.`}),(0,r.jsx)(`div`,{className:`mt-5 rounded-xl border border-[color:var(--aui-divider)] bg-[color:var(--aui-page-bg-alt)] p-4`,children:(0,r.jsx)(t.TagList,{items:e,removable:!0,onRemove:e=>o(t=>t.filter(t=>t.key!==e.key))})})]}),(0,r.jsxs)(`div`,{className:`rounded-xl border border-[color:var(--aui-divider)] p-4`,children:[(0,r.jsx)(`p`,{className:`text-sm font-semibold aui-text-strong`,children:`Guidance`}),(0,r.jsxs)(`div`,{className:`mt-3 space-y-3 text-sm leading-6 aui-text-muted`,children:[(0,r.jsx)(`p`,{children:`TagList is display-first. It should not impersonate a full input when creation is not available.`}),(0,r.jsx)(`p`,{children:"Use `max` when pages need a condensed summary and overflow should collapse into a count chip."})]})]})]})})]})}exports.TagListShowcase=o;
|