tembro 2.1.11 → 2.1.12
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/showcase/package-meta.cjs +1 -1
- package/dist/showcase/package-meta.d.ts +3 -3
- package/dist/showcase/package-meta.js +1 -1
- package/dist/showcase/premium/accordion/mock.cjs +1 -1
- package/dist/showcase/premium/accordion/mock.js +1 -1
- package/dist/showcase/premium/avatar/mock.cjs +1 -1
- package/dist/showcase/premium/avatar/mock.js +1 -1
- package/dist/showcase/premium/button/mock.cjs +1 -1
- package/dist/showcase/premium/button/mock.js +1 -1
- package/dist/showcase/premium/calendar-scheduler/mock.cjs +1 -1
- package/dist/showcase/premium/calendar-scheduler/mock.js +1 -1
- package/dist/showcase/premium/carousel/mock.cjs +1 -1
- package/dist/showcase/premium/carousel/mock.js +1 -1
- package/dist/showcase/premium/code-block/mock.cjs +1 -1
- package/dist/showcase/premium/code-block/mock.js +1 -1
- package/dist/showcase/premium/command-bar/mock.cjs +1 -1
- package/dist/showcase/premium/command-bar/mock.js +1 -1
- package/dist/showcase/premium/confirm-dialog/mock.cjs +1 -1
- package/dist/showcase/premium/confirm-dialog/mock.js +1 -1
- package/dist/showcase/premium/copy-button/mock.cjs +1 -1
- package/dist/showcase/premium/copy-button/mock.js +1 -1
- package/dist/showcase/premium/copy-field/mock.cjs +1 -1
- package/dist/showcase/premium/copy-field/mock.js +1 -1
- package/dist/showcase/premium/data-state/mock.cjs +1 -1
- package/dist/showcase/premium/data-state/mock.js +1 -1
- package/dist/showcase/premium/date-picker/mock.cjs +1 -1
- package/dist/showcase/premium/date-picker/mock.js +1 -1
- package/dist/showcase/premium/date-range-picker/mock.cjs +1 -1
- package/dist/showcase/premium/date-range-picker/mock.js +1 -1
- package/dist/showcase/premium/descriptions/mock.cjs +1 -1
- package/dist/showcase/premium/descriptions/mock.js +1 -1
- package/dist/showcase/premium/dialog/mock.cjs +1 -1
- package/dist/showcase/premium/dialog/mock.js +1 -1
- package/dist/showcase/premium/divider/mock.cjs +1 -1
- package/dist/showcase/premium/divider/mock.js +1 -1
- package/dist/showcase/premium/dual-list-picker/mock.cjs +1 -1
- package/dist/showcase/premium/dual-list-picker/mock.js +1 -1
- package/dist/showcase/premium/file-upload/mock.cjs +1 -1
- package/dist/showcase/premium/file-upload/mock.js +1 -1
- package/dist/showcase/premium/image-upload/mock.cjs +1 -1
- package/dist/showcase/premium/image-upload/mock.js +1 -1
- package/dist/showcase/premium/json-input/mock.cjs +1 -1
- package/dist/showcase/premium/json-input/mock.js +1 -1
- package/dist/showcase/premium/kanban-board/mock.cjs +1 -1
- package/dist/showcase/premium/kanban-board/mock.js +1 -1
- package/dist/showcase/premium/list/mock.cjs +1 -1
- package/dist/showcase/premium/list/mock.js +1 -1
- package/dist/showcase/premium/menubar/mock.cjs +1 -1
- package/dist/showcase/premium/menubar/mock.js +1 -1
- package/dist/showcase/premium/modal-shell/mock.cjs +1 -1
- package/dist/showcase/premium/modal-shell/mock.js +1 -1
- package/dist/showcase/premium/navigation-menu/mock.cjs +1 -1
- package/dist/showcase/premium/navigation-menu/mock.js +1 -1
- package/dist/showcase/premium/property-grid/mock.cjs +1 -1
- package/dist/showcase/premium/property-grid/mock.js +1 -1
- package/dist/showcase/premium/qr-code/mock.cjs +1 -1
- package/dist/showcase/premium/qr-code/mock.js +1 -1
- package/dist/showcase/premium/radio-group/mock.cjs +1 -1
- package/dist/showcase/premium/radio-group/mock.js +1 -1
- package/dist/showcase/premium/resizable-panel/mock.cjs +1 -1
- package/dist/showcase/premium/resizable-panel/mock.js +1 -1
- package/dist/showcase/premium/rich-text-editor/mock.cjs +1 -1
- package/dist/showcase/premium/rich-text-editor/mock.js +1 -1
- package/dist/showcase/premium/saved-filter-select/mock.cjs +1 -1
- package/dist/showcase/premium/saved-filter-select/mock.js +1 -1
- package/dist/showcase/premium/section/mock.cjs +1 -1
- package/dist/showcase/premium/section/mock.js +1 -1
- package/dist/showcase/premium/segmented-control/mock.cjs +1 -1
- package/dist/showcase/premium/segmented-control/mock.js +1 -1
- package/dist/showcase/premium/sheet-shell/mock.cjs +1 -1
- package/dist/showcase/premium/sheet-shell/mock.js +1 -1
- package/dist/showcase/premium/skeleton/mock.cjs +1 -1
- package/dist/showcase/premium/skeleton/mock.js +1 -1
- package/dist/showcase/premium/spinner/mock.cjs +1 -1
- package/dist/showcase/premium/spinner/mock.js +1 -1
- package/dist/showcase/premium/statistic/mock.cjs +1 -1
- package/dist/showcase/premium/statistic/mock.js +1 -1
- package/dist/showcase/premium/sticky-footer-bar/mock.cjs +1 -1
- package/dist/showcase/premium/sticky-footer-bar/mock.js +1 -1
- package/dist/showcase/premium/tag/mock.cjs +1 -1
- package/dist/showcase/premium/tag/mock.js +1 -1
- package/dist/showcase/premium/time-picker/mock.cjs +1 -1
- package/dist/showcase/premium/time-picker/mock.js +1 -1
- package/dist/showcase/premium/tour/mock.cjs +1 -1
- package/dist/showcase/premium/tour/mock.js +1 -1
- package/dist/showcase/premium/tree-view/mock.cjs +1 -1
- package/dist/showcase/premium/tree-view/mock.js +1 -1
- package/dist/showcase/premium/typography/mock.cjs +1 -1
- package/dist/showcase/premium/typography/mock.js +1 -1
- package/dist/showcase/site-data.cjs +1 -1
- package/dist/showcase/site-data.js +1 -1
- package/dist/showcase/tembro-registry.json.cjs +1 -1
- package/dist/showcase/tembro-registry.json.js +1 -1
- package/package.json +6 -1
- package/packages/cli/dist/index.cjs +1 -1
- package/packages/cli/vendor/src/showcase/package-meta.ts +2 -2
- package/packages/cli/vendor/src/showcase/premium/accordion/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/avatar/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/button/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/calendar-scheduler/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/carousel/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/code-block/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/command-bar/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/confirm-dialog/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/copy-button/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/copy-field/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/data-state/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/date-picker/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/date-range-picker/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/descriptions/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/dialog/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/divider/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/dual-list-picker/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/file-upload/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/image-upload/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/json-input/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/kanban-board/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/list/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/menubar/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/modal-shell/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/navigation-menu/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/property-grid/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/qr-code/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/radio-group/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/resizable-panel/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/rich-text-editor/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/saved-filter-select/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/section/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/segmented-control/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/sheet-shell/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/skeleton/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/spinner/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/statistic/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/sticky-footer-bar/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/tag/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/time-picker/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/tour/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/tree-view/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/typography/mock.ts +1 -1
- package/packages/cli/vendor/src/showcase/tembro-registry.json +1 -1
- package/registry.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=`2.
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=`2.1.12`,t=`July 9, 2026`,n=`^${e}`;exports.PACKAGE_DEPENDENCY_RANGE=n,exports.PACKAGE_LATEST_RELEASE_DATE=t,exports.PACKAGE_LATEST_VERSION=e;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const PACKAGE_LATEST_VERSION = "2.
|
|
2
|
-
export declare const PACKAGE_LATEST_RELEASE_DATE = "July
|
|
3
|
-
export declare const PACKAGE_DEPENDENCY_RANGE = "^2.
|
|
1
|
+
export declare const PACKAGE_LATEST_VERSION = "2.1.12";
|
|
2
|
+
export declare const PACKAGE_LATEST_RELEASE_DATE = "July 9, 2026";
|
|
3
|
+
export declare const PACKAGE_DEPENDENCY_RANGE = "^2.1.12";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/accordion/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { Accordion } from \"
|
|
3
|
+
code: "import { Accordion } from \"tembro\"\n\nconst items = [\n {\n key: \"tokens\",\n title: \"Theme tokens\",\n description: \"Control border, background, radius, and spacing from one place.\",\n content: \"Keep product decisions inside tokens instead of hardcoded one-off wrappers.\",\n },\n {\n key: \"composition\",\n title: \"Component composition\",\n description: \"Teach one component first.\",\n content: \"Advanced behavior should be exposed through props, hooks, and helpers instead of separate public groups.\",\n },\n]\n\nexport function Example() {\n return <Accordion type=\"single\" defaultValue=\"tokens\" items={items} />\n}",
|
|
4
4
|
htmlCode: "<details data-slot=\"accordion\">\n <summary data-slot=\"accordion-trigger\">Theme tokens</summary>\n <div data-slot=\"accordion-content\">Keep product decisions inside tokens.</div>\n</details>",
|
|
5
5
|
cliCommand: "npx tembro add accordion",
|
|
6
6
|
highlights: [
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { Avatar, AvatarGroup } from "
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { Avatar, AvatarGroup } from "tembro"
|
|
2
2
|
|
|
3
3
|
export function Example() {
|
|
4
4
|
return (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/avatar/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { Avatar, AvatarGroup } from \"
|
|
3
|
+
code: "import { Avatar, AvatarGroup } from \"tembro\"\n\nexport function Example() {\n return (\n <div className=\"space-y-4\">\n <Avatar name=\"Azamat Jurayev\" status=\"online\" />\n <AvatarGroup\n items={[\n { key: \"az\", name: \"Azamat Jurayev\", status: \"online\" },\n { key: \"su\", name: \"Suhrob Karimov\", status: \"busy\" },\n { key: \"na\", name: \"Nargiza Saidova\", status: \"away\" },\n ]}\n />\n </div>\n )\n}",
|
|
4
4
|
cliCommand: "npx tembro add avatar",
|
|
5
5
|
highlights: [
|
|
6
6
|
"Single avatar plus stacked group export",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import * as React from "react"
|
|
2
2
|
import { ArrowRightIcon, DownloadIcon } from "lucide-react"
|
|
3
|
-
import { Button, buttonVariants } from "
|
|
3
|
+
import { Button, buttonVariants } from "tembro"
|
|
4
4
|
|
|
5
5
|
export function BasicExamples() {
|
|
6
6
|
return (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/button/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import * as React from \"react\"\nimport { ArrowRightIcon, DownloadIcon } from \"lucide-react\"\nimport { Button, buttonVariants } from \"
|
|
3
|
+
code: "import * as React from \"react\"\nimport { ArrowRightIcon, DownloadIcon } from \"lucide-react\"\nimport { Button, buttonVariants } from \"tembro\"\n\nexport function BasicExamples() {\n return (\n <div className=\"space-y-4\">\n <div className=\"flex flex-wrap gap-3\">\n <Button variant=\"default\">Primary</Button>\n <Button variant=\"secondary\">Secondary</Button>\n <Button variant=\"outline\">Outline</Button>\n <Button variant=\"destructive\">Destructive</Button>\n </div>\n\n <div className=\"flex flex-wrap gap-3\">\n <Button size=\"sm\">Small</Button>\n <Button iconOnly aria-label=\"Download\">\n <DownloadIcon className=\"size-4\" />\n </Button>\n <Button>\n Continue\n <ArrowRightIcon className=\"ml-2 size-4\" />\n </Button>\n </div>\n\n <div className=\"flex flex-wrap gap-3\">\n <Button variant=\"outline\" size=\"sm\" disabled>\n Disabled\n </Button>\n <Button variant=\"default\" loading>\n Loading\n </Button>\n </div>\n\n <div className=\"flex flex-wrap gap-3\">\n <a className={buttonVariants({ variant: \"outline\", size: \"sm\" })} href=\"/components\">\n Link styled as button\n </a>\n </div>\n </div>\n )\n}\n\nexport function ControlledButton() {\n const [loading, setLoading] = React.useState(false)\n\n return (\n <Button\n variant=\"default\"\n onClick={() => {\n setLoading(true)\n window.setTimeout(() => setLoading(false), 1800)\n }}\n loading={loading}\n >\n Submit\n </Button>\n )\n}\n\n// Don't overuse buttonVariants for every button instance.\n// Use Button's own variant/size props by default, and keep buttonVariants\n// only for styling non-button elements (a, Link) with shared look.",
|
|
4
4
|
htmlCode: "<button data-slot=\"button\" data-variant=\"primary\">\n Continue\n</button>",
|
|
5
5
|
cliCommand: "npx tembro add button",
|
|
6
6
|
highlights: [
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { CalendarScheduler } from "
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { CalendarScheduler } from "tembro"
|
|
2
2
|
|
|
3
3
|
export function Example() {
|
|
4
4
|
return (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/calendar-scheduler/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { CalendarScheduler } from \"
|
|
3
|
+
code: "import { CalendarScheduler } from \"tembro\"\n\nexport function Example() {\n return (\n <CalendarScheduler\n days={[\"Mon, Jul 6\", \"Tue, Jul 7\"]}\n events={[\n { id: \"1\", title: \"Design review\", date: \"Mon, Jul 6\", time: \"10:00\", tone: \"warning\" },\n { id: \"2\", title: \"Release freeze\", date: \"Tue, Jul 7\", time: \"14:00\", tone: \"danger\" },\n ]}\n />\n )\n}",
|
|
4
4
|
cliCommand: "npx tembro add calendar-scheduler",
|
|
5
5
|
highlights: [
|
|
6
6
|
"Compact scheduler timeline by day",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { Carousel, CarouselItem } from "
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { Carousel, CarouselItem } from "tembro"
|
|
2
2
|
|
|
3
3
|
export function Example() {
|
|
4
4
|
return (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/carousel/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { Carousel, CarouselItem } from \"
|
|
3
|
+
code: "import { Carousel, CarouselItem } from \"tembro\"\n\nexport function Example() {\n return (\n <Carousel defaultIndex={0} showDots showArrows>\n <CarouselItem><div className=\"rounded-xl bg-card p-4\">Card 1</div></CarouselItem>\n <CarouselItem><div className=\"rounded-xl bg-card p-4\">Card 2</div></CarouselItem>\n <CarouselItem><div className=\"rounded-xl bg-card p-4\">Card 3</div></CarouselItem>\n </Carousel>\n )\n}",
|
|
4
4
|
cliCommand: "npx tembro add carousel",
|
|
5
5
|
highlights: [
|
|
6
6
|
"Keyboard and control-aware slider",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { CodeBlock } from "
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { CodeBlock } from "tembro"
|
|
2
2
|
|
|
3
3
|
const snippet = \`npx tembro add button select\`
|
|
4
4
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/code-block/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { CodeBlock } from \"
|
|
3
|
+
code: "import { CodeBlock } from \"tembro\"\n\nconst snippet = `npx tembro add button select`\n\nexport function Example() {\n return <CodeBlock title=\"CLI\" language=\"bash\" code={snippet} />\n}",
|
|
4
4
|
cliCommand: "npx tembro add code-block",
|
|
5
5
|
highlights: [
|
|
6
6
|
"Header with title, language and built-in copy action",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { CommandBar, Kbd, Button } from "
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { CommandBar, Kbd, Button } from "tembro"
|
|
2
2
|
|
|
3
3
|
export function Example() {
|
|
4
4
|
return (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/command-bar/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { CommandBar, Kbd, Button } from \"
|
|
3
|
+
code: "import { CommandBar, Kbd, Button } from \"tembro\"\n\nexport function Example() {\n return (\n <CommandBar>\n <Kbd>G</Kbd>\n <Button size=\"sm\" variant=\"ghost\">Go to dashboard</Button>\n <Button size=\"sm\">Publish</Button>\n </CommandBar>\n )\n}",
|
|
4
4
|
cliCommand: "npx tembro add command-bar",
|
|
5
5
|
highlights: [
|
|
6
6
|
"Floating action rail for global shortcuts or workflow actions",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { useState } from "react"
|
|
2
|
-
import { Button, ConfirmDialog } from "
|
|
2
|
+
import { Button, ConfirmDialog } from "tembro"
|
|
3
3
|
|
|
4
4
|
export function Example() {
|
|
5
5
|
const [open, setOpen] = useState(false)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/confirm-dialog/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { useState } from \"react\"\nimport { Button, ConfirmDialog } from \"
|
|
3
|
+
code: "import { useState } from \"react\"\nimport { Button, ConfirmDialog } from \"tembro\"\n\nexport function Example() {\n const [open, setOpen] = useState(false)\n const [busy, setBusy] = useState(false)\n\n async function handleConfirm() {\n setBusy(true)\n await new Promise((resolve) => setTimeout(resolve, 900))\n setBusy(false)\n setOpen(false)\n }\n\n return (\n <div className=\"space-y-3\">\n <Button onClick={() => setOpen(true)} variant=\"destructive\">\n Delete project\n </Button>\n <ConfirmDialog\n open={open}\n onOpenChange={setOpen}\n title=\"Delete project?\"\n description=\"This action cannot be undone. Team members will lose access immediately.\"\n confirmText=\"Delete forever\"\n confirmVariant=\"destructive\"\n isLoading={busy}\n onCancel={() => setOpen(false)}\n onConfirm={handleConfirm}\n />\n </div>\n )\n}",
|
|
4
4
|
htmlCode: "<button data-slot=\"confirm-trigger\">Delete project</button>",
|
|
5
5
|
cliCommand: "npx tembro add confirm-dialog",
|
|
6
6
|
highlights: [
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { CopyButton } from "
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { CopyButton } from "tembro"
|
|
2
2
|
|
|
3
3
|
export function Example() {
|
|
4
4
|
return (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/copy-button/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { CopyButton } from \"
|
|
3
|
+
code: "import { CopyButton } from \"tembro\"\n\nexport function Example() {\n return (\n <CopyButton\n value=\"sk_live_demo_123\"\n copyLabel=\"Copy token\"\n copiedLabel=\"Copied\"\n variant=\"outline\"\n size=\"sm\"\n />\n )\n}",
|
|
4
4
|
cliCommand: "npx tembro add copy-button",
|
|
5
5
|
highlights: [
|
|
6
6
|
"Built-in copied feedback state",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { CopyField } from "
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { CopyField } from "tembro"
|
|
2
2
|
|
|
3
3
|
export function Example() {
|
|
4
4
|
return (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/copy-field/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { CopyField } from \"
|
|
3
|
+
code: "import { CopyField } from \"tembro\"\n\nexport function Example() {\n return (\n <CopyField\n label=\"Webhook signing secret\"\n description=\"Use on the server only.\"\n value=\"whsec_demo_value_123\"\n />\n )\n}",
|
|
4
4
|
cliCommand: "npx tembro add copy-field",
|
|
5
5
|
highlights: [
|
|
6
6
|
"Label, helper text, value surface, and copy action in one unit",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { DataState } from "
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { DataState } from "tembro"
|
|
2
2
|
|
|
3
3
|
export function Example() {
|
|
4
4
|
return (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/data-state/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { DataState } from \"
|
|
3
|
+
code: "import { DataState } from \"tembro\"\n\nexport function Example() {\n return (\n <DataState\n status=\"error\"\n title=\"Unable to load rows\"\n description=\"Try again after refreshing the request.\"\n onRetry={() => {}}\n />\n )\n}",
|
|
4
4
|
cliCommand: "npx tembro add data-state",
|
|
5
5
|
highlights: [
|
|
6
6
|
"Idle, loading, empty, error and success state surface",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { useState } from "react"
|
|
2
|
-
import { DatePicker } from "
|
|
2
|
+
import { DatePicker } from "tembro"
|
|
3
3
|
|
|
4
4
|
export function Example() {
|
|
5
5
|
const [value, setValue] = useState("2026-06-19")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/date-picker/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { useState } from \"react\"\nimport { DatePicker } from \"
|
|
3
|
+
code: "import { useState } from \"react\"\nimport { DatePicker } from \"tembro\"\n\nexport function Example() {\n const [value, setValue] = useState(\"2026-06-19\")\n\n return (\n <DatePicker\n value={value}\n onValueChange={setValue}\n min=\"2026-06-01\"\n max=\"2026-12-31\"\n disabledDates={[\"2026-06-21\"]}\n />\n )\n}",
|
|
4
4
|
htmlCode: "<label for=\"date-picker\">Date</label><input id=\"date-picker\" type=\"text\" value=\"2026-06-19\" />",
|
|
5
5
|
cliCommand: "npx tembro add date-picker",
|
|
6
6
|
highlights: [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { useState } from "react"
|
|
2
|
-
import { DateRangePicker } from "
|
|
2
|
+
import { DateRangePicker } from "tembro"
|
|
3
3
|
|
|
4
4
|
export function Example() {
|
|
5
5
|
const [value, setValue] = useState({ from: "2026-06-01", to: "2026-06-07" })
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/date-range-picker/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { useState } from \"react\"\nimport { DateRangePicker } from \"
|
|
3
|
+
code: "import { useState } from \"react\"\nimport { DateRangePicker } from \"tembro\"\n\nexport function Example() {\n const [value, setValue] = useState({ from: \"2026-06-01\", to: \"2026-06-07\" })\n\n return (\n <DateRangePicker\n value={value}\n onValueChange={(nextValue) => setValue({ from: nextValue.from ?? \"\", to: nextValue.to ?? \"\" })}\n min=\"2026-06-01\"\n max=\"2026-12-31\"\n disabledDates={[\"2026-06-21\", \"2026-06-22\"]}\n />\n )\n}",
|
|
4
4
|
htmlCode: "<label for=\"date-range-picker\">Date range</label><input id=\"date-range-picker\" type=\"text\" value=\"2026-06-01 to 2026-06-07\" />",
|
|
5
5
|
cliCommand: "npx tembro add date-range-picker",
|
|
6
6
|
highlights: [
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { Descriptions } from "
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { Descriptions } from "tembro"
|
|
2
2
|
|
|
3
3
|
export function Example() {
|
|
4
4
|
return (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/descriptions/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { Descriptions } from \"
|
|
3
|
+
code: "import { Descriptions } from \"tembro\"\n\nexport function Example() {\n return (\n <Descriptions\n title=\"Project profile\"\n extra={<span className=\"text-sm text-muted-foreground\">Draft</span>}\n items={[\n { key: \"owner\", label: \"Owner\", value: \"Azamat UI Team\" },\n { key: \"status\", label: \"Status\", value: \"In review\" },\n { key: \"release\", label: \"Release\", value: \"v0.3.27\", span: 2 },\n { key: \"stack\", label: \"Tech\", value: \"React + Tailwind\" },\n ]}\n />\n )\n}",
|
|
4
4
|
cliCommand: "npx tembro add descriptions",
|
|
5
5
|
highlights: [
|
|
6
6
|
"Title and metadata layout in a compact two-axis grid",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import * as React from "react"
|
|
2
|
-
import { Button, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from "
|
|
2
|
+
import { Button, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from "tembro"
|
|
3
3
|
|
|
4
4
|
export function Example() {
|
|
5
5
|
const [open, setOpen] = React.useState(false)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/dialog/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import * as React from \"react\"\nimport { Button, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from \"
|
|
3
|
+
code: "import * as React from \"react\"\nimport { Button, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from \"tembro\"\n\nexport function Example() {\n const [open, setOpen] = React.useState(false)\n\n return (\n <Dialog open={open} onOpenChange={setOpen}>\n <DialogTrigger render={<Button>Publish</Button>} />\n <DialogContent>\n <DialogHeader>\n <DialogTitle>Publish update</DialogTitle>\n <DialogDescription>\n Confirm that these notes are final before moving to production.\n </DialogDescription>\n </DialogHeader>\n <DialogFooter>\n <Button variant=\"outline\" onClick={() => setOpen(false)}>Cancel</Button>\n <Button>Publish</Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n )\n}",
|
|
4
4
|
htmlCode: "<button data-slot=\"dialog-trigger\">Open dialog</button>",
|
|
5
5
|
cliCommand: "npx tembro add dialog",
|
|
6
6
|
highlights: [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/divider/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { Divider } from \"
|
|
3
|
+
code: "import { Divider } from \"tembro\"\n\nexport function Example() {\n return (\n <div className=\"space-y-6\">\n <Divider label=\"Sections\" />\n <Divider orientation=\"horizontal\" dashed label=\"Dashed\" />\n <Divider dashed orientation=\"vertical\" />\n </div>\n )\n}",
|
|
4
4
|
cliCommand: "npx tembro add divider",
|
|
5
5
|
highlights: [
|
|
6
6
|
"Horizontal divider as labeled group boundary",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { DualListPicker } from "
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { DualListPicker } from "tembro"
|
|
2
2
|
|
|
3
3
|
const items = [
|
|
4
4
|
{ label: "Analytics", value: "analytics" },
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/dual-list-picker/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { DualListPicker } from \"
|
|
3
|
+
code: "import { DualListPicker } from \"tembro\"\n\nconst items = [\n { label: \"Analytics\", value: \"analytics\" },\n { label: \"Reports\", value: \"reports\" },\n]\n\nexport function Example() {\n const [picked, setPicked] = useState([\"analytics\"])\n\n return (\n <DualListPicker\n items={items}\n picked={picked}\n onPickedChange={setPicked}\n availableTitle=\"Available\"\n pickedTitle=\"Selected\"\n />\n )\n}",
|
|
4
4
|
cliCommand: "npx tembro add dual-list-picker",
|
|
5
5
|
highlights: [
|
|
6
6
|
"Move items between available/selected lists",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { useState } from "react"
|
|
2
|
-
import { FileUpload } from "
|
|
2
|
+
import { FileUpload } from "tembro"
|
|
3
3
|
|
|
4
4
|
export function Example() {
|
|
5
5
|
const [files, setFiles] = useState<File[]>([])
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/file-upload/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { useState } from \"react\"\nimport { FileUpload } from \"
|
|
3
|
+
code: "import { useState } from \"react\"\nimport { FileUpload } from \"tembro\"\n\nexport function Example() {\n const [files, setFiles] = useState<File[]>([])\n\n return (\n <FileUpload\n files={files}\n onFilesChange={setFiles}\n accept=\".pdf,.docx,.png\"\n maxFiles={4}\n maxSize={4 * 1024 * 1024}\n helperText=\"Supports PDF, DOCX and PNG up to 4 MB.\"\n />\n )\n}",
|
|
4
4
|
cliCommand: "npx tembro add file-upload",
|
|
5
5
|
highlights: [
|
|
6
6
|
"Reusable dropzone and file list",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { useState } from "react"
|
|
2
|
-
import { ImageUpload } from "
|
|
2
|
+
import { ImageUpload } from "tembro"
|
|
3
3
|
|
|
4
4
|
export function Example() {
|
|
5
5
|
const [files, setFiles] = useState<File[]>([])
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/image-upload/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { useState } from \"react\"\nimport { ImageUpload } from \"
|
|
3
|
+
code: "import { useState } from \"react\"\nimport { ImageUpload } from \"tembro\"\n\nexport function Example() {\n const [files, setFiles] = useState<File[]>([])\n\n return (\n <ImageUpload\n files={files}\n onFilesChange={setFiles}\n maxFiles={3}\n helperText=\"Upload hero illustrations or block thumbnails.\"\n />\n )\n}",
|
|
4
4
|
cliCommand: "npx tembro add image-upload",
|
|
5
5
|
highlights: [
|
|
6
6
|
"Image preview support",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { JsonInput } from "
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { JsonInput } from "tembro"
|
|
2
2
|
|
|
3
3
|
export function Example() {
|
|
4
4
|
return <JsonInput value='{"name":"tembro"}' />
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/json-input/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { JsonInput } from \"
|
|
3
|
+
code: "import { JsonInput } from \"tembro\"\n\nexport function Example() {\n return <JsonInput value='{\"name\":\"tembro\"}' />\n}",
|
|
4
4
|
cliCommand: "npx tembro add json-input",
|
|
5
5
|
highlights: [
|
|
6
6
|
"Validates JSON on edit",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { KanbanBoard } from "
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { KanbanBoard } from "tembro"
|
|
2
2
|
|
|
3
3
|
export function Example() {
|
|
4
4
|
return (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/kanban-board/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { KanbanBoard } from \"
|
|
3
|
+
code: "import { KanbanBoard } from \"tembro\"\n\nexport function Example() {\n return (\n <KanbanBoard\n columns={[\n {\n key: \"todo\",\n title: \"To Do\",\n cards: [\n { key: \"a\", title: \"Prototype\", description: \"Build initial modal flow.\" },\n { key: \"b\", title: \"Audit\", description: \"Review token contrast.\" },\n ],\n },\n {\n key: \"progress\",\n title: \"In progress\",\n cards: [{ key: \"c\", title: \"Implement\", description: \"Add demo variants.\" }],\n },\n ]}\n />\n )\n}",
|
|
4
4
|
cliCommand: "npx tembro add kanban",
|
|
5
5
|
highlights: [
|
|
6
6
|
"Horizontal scrollable board layout",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { Avatar, Badge, List } from "
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { Avatar, Badge, List } from "tembro"
|
|
2
2
|
|
|
3
3
|
export function Example() {
|
|
4
4
|
return (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/list/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { Avatar, Badge, List } from \"
|
|
3
|
+
code: "import { Avatar, Badge, List } from \"tembro\"\n\nexport function Example() {\n return (\n <List\n items={[\n {\n key: \"invoice\",\n title: \"Invoice review\",\n description: \"Pending finance approval\",\n avatar: <Avatar name=\"Finance\" size=\"sm\" />,\n extra: <Badge variant=\"outline\">Pending</Badge>,\n },\n ]}\n />\n )\n}",
|
|
4
4
|
cliCommand: "npx tembro add list",
|
|
5
5
|
highlights: [
|
|
6
6
|
"Compact title/description rows with optional avatar and extra slot",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { Menubar, MenubarContent, MenubarItem, MenubarMenu, MenubarTrigger } from "
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { Menubar, MenubarContent, MenubarItem, MenubarMenu, MenubarTrigger } from "tembro"
|
|
2
2
|
|
|
3
3
|
export function Example() {
|
|
4
4
|
return (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/menubar/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { Menubar, MenubarContent, MenubarItem, MenubarMenu, MenubarTrigger } from \"
|
|
3
|
+
code: "import { Menubar, MenubarContent, MenubarItem, MenubarMenu, MenubarTrigger } from \"tembro\"\n\nexport function Example() {\n return (\n <Menubar>\n <MenubarMenu>\n <MenubarTrigger>File</MenubarTrigger>\n <MenubarContent>\n <MenubarItem>New project</MenubarItem>\n <MenubarItem>Open</MenubarItem>\n </MenubarContent>\n </MenubarMenu>\n </Menubar>\n )\n}",
|
|
4
4
|
cliCommand: "npx tembro add menubar",
|
|
5
5
|
highlights: ["Composable menubar surfaces with grouped actions", "Trigger + content + item primitives"],
|
|
6
6
|
scenarios: [{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { useState } from "react"
|
|
2
|
-
import { Badge, Button, Input, ModalShell } from "
|
|
2
|
+
import { Badge, Button, Input, ModalShell } from "tembro"
|
|
3
3
|
|
|
4
4
|
export function Example() {
|
|
5
5
|
const [open, setOpen] = useState(false)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/modal-shell/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { useState } from \"react\"\nimport { Badge, Button, Input, ModalShell } from \"
|
|
3
|
+
code: "import { useState } from \"react\"\nimport { Badge, Button, Input, ModalShell } from \"tembro\"\n\nexport function Example() {\n const [open, setOpen] = useState(false)\n\n return (\n <div>\n <Button onClick={() => setOpen(true)}>Create workspace</Button>\n <ModalShell\n open={open}\n onOpenChange={setOpen}\n title=\"Create workspace\"\n description=\"Collect a name and visibility before generating a share token.\"\n size=\"md\"\n footer={\n <div className=\"flex justify-end gap-2\">\n <Button variant=\"outline\" onClick={() => setOpen(false)}>Cancel</Button>\n <Button onClick={() => setOpen(false)}>Create</Button>\n </div>\n }\n >\n <label className=\"space-y-2 text-sm aui-text-subtle\">\n <span>Workspace name</span>\n <Input defaultValue=\"Marketing portal\" />\n </label>\n </ModalShell>\n </div>\n )\n}",
|
|
4
4
|
htmlCode: "<button data-slot=\"modal-shell-trigger\">Open modal</button>",
|
|
5
5
|
cliCommand: "npx tembro add modal-shell",
|
|
6
6
|
highlights: [
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { NavigationMenu, NavigationMenuItem, NavigationMenuLink, NavigationMenuList } from "
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { NavigationMenu, NavigationMenuItem, NavigationMenuLink, NavigationMenuList } from "tembro"
|
|
2
2
|
|
|
3
3
|
export function Example() {
|
|
4
4
|
return (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/navigation-menu/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { NavigationMenu, NavigationMenuItem, NavigationMenuLink, NavigationMenuList } from \"
|
|
3
|
+
code: "import { NavigationMenu, NavigationMenuItem, NavigationMenuLink, NavigationMenuList } from \"tembro\"\n\nexport function Example() {\n return (\n <NavigationMenu>\n <NavigationMenuList>\n <NavigationMenuItem>\n <NavigationMenuLink href=\"#\" active>Home</NavigationMenuLink>\n </NavigationMenuItem>\n </NavigationMenuList>\n </NavigationMenu>\n )\n}",
|
|
4
4
|
cliCommand: "npx tembro add navigation-menu",
|
|
5
5
|
highlights: [
|
|
6
6
|
"Accessible anchor-style navigation links",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { PropertyGrid } from "
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { PropertyGrid } from "tembro"
|
|
2
2
|
|
|
3
3
|
export function Example() {
|
|
4
4
|
return (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/property-grid/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { PropertyGrid } from \"
|
|
3
|
+
code: "import { PropertyGrid } from \"tembro\"\n\nexport function Example() {\n return (\n <PropertyGrid\n columns={3}\n items={[\n { key: \"owner\", label: \"Owner\", value: \"Azamat Jurayev\" },\n { key: \"status\", label: \"Status\", value: \"Ready for review\" },\n { key: \"version\", label: \"Version\", value: \"0.3.27\" },\n ]}\n />\n )\n}",
|
|
4
4
|
cliCommand: "npx tembro add property-grid",
|
|
5
5
|
highlights: [
|
|
6
6
|
"Dense key/value metadata layout",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { QRCode } from "
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { QRCode } from "tembro"
|
|
2
2
|
|
|
3
3
|
export function Example() {
|
|
4
4
|
return <QRCode value="https://azamat-ui.vercel.app" alt="Azamat UI" />
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/qr-code/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { QRCode } from \"
|
|
3
|
+
code: "import { QRCode } from \"tembro\"\n\nexport function Example() {\n return <QRCode value=\"https://azamat-ui.vercel.app\" alt=\"Azamat UI\" />\n}",
|
|
4
4
|
cliCommand: "npx tembro add qr-code",
|
|
5
5
|
highlights: [
|
|
6
6
|
"Fallback SVG renderer if no image is provided",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { useState } from "react"
|
|
2
|
-
import { RadioGroup } from "
|
|
2
|
+
import { RadioGroup } from "tembro"
|
|
3
3
|
|
|
4
4
|
const planOptions = [
|
|
5
5
|
{ value: "starter", label: "Starter", description: "Good for single workspace setup." },
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/radio-group/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { useState } from \"react\"\nimport { RadioGroup } from \"
|
|
3
|
+
code: "import { useState } from \"react\"\nimport { RadioGroup } from \"tembro\"\n\nconst planOptions = [\n { value: \"starter\", label: \"Starter\", description: \"Good for single workspace setup.\" },\n { value: \"growth\", label: \"Growth\", description: \"Adds more seats and team workflows.\" },\n { value: \"enterprise\", label: \"Enterprise\", description: \"Advanced controls and support.\" },\n]\n\nexport function Example() {\n const [value, setValue] = useState(\"growth\")\n\n return <RadioGroup value={value} onValueChange={setValue} options={planOptions} />\n}",
|
|
4
4
|
htmlCode: "<div data-slot=\"radio-group\" role=\"radiogroup\"></div>",
|
|
5
5
|
cliCommand: "npx tembro add radio-group",
|
|
6
6
|
highlights: [
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from "
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from "tembro"
|
|
2
2
|
|
|
3
3
|
export function Example() {
|
|
4
4
|
return (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/resizable-panel/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from \"
|
|
3
|
+
code: "import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from \"tembro\"\n\nexport function Example() {\n return (\n <ResizablePanelGroup direction=\"horizontal\">\n <ResizablePanel defaultSize={30}>Catalog</ResizablePanel>\n <ResizableHandle />\n <ResizablePanel defaultSize={70}>Details</ResizablePanel>\n </ResizablePanelGroup>\n )\n}",
|
|
4
4
|
cliCommand: "npx tembro add resizable-panel",
|
|
5
5
|
highlights: [
|
|
6
6
|
"Declarative split layout with customizable handles",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { RichTextEditor } from "
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={code:`import { RichTextEditor } from "tembro"
|
|
2
2
|
|
|
3
3
|
export function Example() {
|
|
4
4
|
const [value, setValue] = useState("<p>Start writing...</p>")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/showcase/premium/rich-text-editor/mock.ts
|
|
2
2
|
var e = {
|
|
3
|
-
code: "import { RichTextEditor } from \"
|
|
3
|
+
code: "import { RichTextEditor } from \"tembro\"\n\nexport function Example() {\n const [value, setValue] = useState(\"<p>Start writing...</p>\")\n\n return <RichTextEditor value={value} onValueChange={setValue} />\n}",
|
|
4
4
|
cliCommand: "npx tembro add rich-text-editor",
|
|
5
5
|
highlights: [
|
|
6
6
|
"Inline editable content block",
|