tembro 2.1.10 → 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.
Files changed (147) hide show
  1. package/dist/components/calendar/calendar.cjs +1 -1
  2. package/dist/components/calendar/calendar.js +141 -142
  3. package/dist/components/ui/radio-group/index.cjs +1 -1
  4. package/dist/components/ui/radio-group/index.js +0 -1
  5. package/dist/showcase/package-meta.cjs +1 -1
  6. package/dist/showcase/package-meta.d.ts +3 -3
  7. package/dist/showcase/package-meta.js +1 -1
  8. package/dist/showcase/premium/accordion/mock.cjs +1 -1
  9. package/dist/showcase/premium/accordion/mock.js +1 -1
  10. package/dist/showcase/premium/avatar/mock.cjs +1 -1
  11. package/dist/showcase/premium/avatar/mock.js +1 -1
  12. package/dist/showcase/premium/button/mock.cjs +1 -1
  13. package/dist/showcase/premium/button/mock.js +1 -1
  14. package/dist/showcase/premium/calendar-scheduler/mock.cjs +1 -1
  15. package/dist/showcase/premium/calendar-scheduler/mock.js +1 -1
  16. package/dist/showcase/premium/carousel/mock.cjs +1 -1
  17. package/dist/showcase/premium/carousel/mock.js +1 -1
  18. package/dist/showcase/premium/code-block/mock.cjs +1 -1
  19. package/dist/showcase/premium/code-block/mock.js +1 -1
  20. package/dist/showcase/premium/command-bar/mock.cjs +1 -1
  21. package/dist/showcase/premium/command-bar/mock.js +1 -1
  22. package/dist/showcase/premium/confirm-dialog/mock.cjs +1 -1
  23. package/dist/showcase/premium/confirm-dialog/mock.js +1 -1
  24. package/dist/showcase/premium/copy-button/mock.cjs +1 -1
  25. package/dist/showcase/premium/copy-button/mock.js +1 -1
  26. package/dist/showcase/premium/copy-field/mock.cjs +1 -1
  27. package/dist/showcase/premium/copy-field/mock.js +1 -1
  28. package/dist/showcase/premium/data-state/mock.cjs +1 -1
  29. package/dist/showcase/premium/data-state/mock.js +1 -1
  30. package/dist/showcase/premium/date-picker/mock.cjs +1 -1
  31. package/dist/showcase/premium/date-picker/mock.js +1 -1
  32. package/dist/showcase/premium/date-range-picker/mock.cjs +1 -1
  33. package/dist/showcase/premium/date-range-picker/mock.js +1 -1
  34. package/dist/showcase/premium/descriptions/mock.cjs +1 -1
  35. package/dist/showcase/premium/descriptions/mock.js +1 -1
  36. package/dist/showcase/premium/dialog/mock.cjs +1 -1
  37. package/dist/showcase/premium/dialog/mock.js +1 -1
  38. package/dist/showcase/premium/divider/mock.cjs +1 -1
  39. package/dist/showcase/premium/divider/mock.js +1 -1
  40. package/dist/showcase/premium/dual-list-picker/mock.cjs +1 -1
  41. package/dist/showcase/premium/dual-list-picker/mock.js +1 -1
  42. package/dist/showcase/premium/file-upload/mock.cjs +1 -1
  43. package/dist/showcase/premium/file-upload/mock.js +1 -1
  44. package/dist/showcase/premium/image-upload/mock.cjs +1 -1
  45. package/dist/showcase/premium/image-upload/mock.js +1 -1
  46. package/dist/showcase/premium/json-input/mock.cjs +1 -1
  47. package/dist/showcase/premium/json-input/mock.js +1 -1
  48. package/dist/showcase/premium/kanban-board/mock.cjs +1 -1
  49. package/dist/showcase/premium/kanban-board/mock.js +1 -1
  50. package/dist/showcase/premium/list/mock.cjs +1 -1
  51. package/dist/showcase/premium/list/mock.js +1 -1
  52. package/dist/showcase/premium/menubar/mock.cjs +1 -1
  53. package/dist/showcase/premium/menubar/mock.js +1 -1
  54. package/dist/showcase/premium/modal-shell/mock.cjs +1 -1
  55. package/dist/showcase/premium/modal-shell/mock.js +1 -1
  56. package/dist/showcase/premium/navigation-menu/mock.cjs +1 -1
  57. package/dist/showcase/premium/navigation-menu/mock.js +1 -1
  58. package/dist/showcase/premium/property-grid/mock.cjs +1 -1
  59. package/dist/showcase/premium/property-grid/mock.js +1 -1
  60. package/dist/showcase/premium/qr-code/mock.cjs +1 -1
  61. package/dist/showcase/premium/qr-code/mock.js +1 -1
  62. package/dist/showcase/premium/radio-group/mock.cjs +1 -1
  63. package/dist/showcase/premium/radio-group/mock.js +1 -1
  64. package/dist/showcase/premium/resizable-panel/mock.cjs +1 -1
  65. package/dist/showcase/premium/resizable-panel/mock.js +1 -1
  66. package/dist/showcase/premium/rich-text-editor/mock.cjs +1 -1
  67. package/dist/showcase/premium/rich-text-editor/mock.js +1 -1
  68. package/dist/showcase/premium/saved-filter-select/mock.cjs +1 -1
  69. package/dist/showcase/premium/saved-filter-select/mock.js +1 -1
  70. package/dist/showcase/premium/section/mock.cjs +1 -1
  71. package/dist/showcase/premium/section/mock.js +1 -1
  72. package/dist/showcase/premium/segmented-control/mock.cjs +1 -1
  73. package/dist/showcase/premium/segmented-control/mock.js +1 -1
  74. package/dist/showcase/premium/sheet-shell/mock.cjs +1 -1
  75. package/dist/showcase/premium/sheet-shell/mock.js +1 -1
  76. package/dist/showcase/premium/skeleton/mock.cjs +1 -1
  77. package/dist/showcase/premium/skeleton/mock.js +1 -1
  78. package/dist/showcase/premium/spinner/mock.cjs +1 -1
  79. package/dist/showcase/premium/spinner/mock.js +1 -1
  80. package/dist/showcase/premium/statistic/mock.cjs +1 -1
  81. package/dist/showcase/premium/statistic/mock.js +1 -1
  82. package/dist/showcase/premium/sticky-footer-bar/mock.cjs +1 -1
  83. package/dist/showcase/premium/sticky-footer-bar/mock.js +1 -1
  84. package/dist/showcase/premium/tag/mock.cjs +1 -1
  85. package/dist/showcase/premium/tag/mock.js +1 -1
  86. package/dist/showcase/premium/time-picker/mock.cjs +1 -1
  87. package/dist/showcase/premium/time-picker/mock.js +1 -1
  88. package/dist/showcase/premium/tour/mock.cjs +1 -1
  89. package/dist/showcase/premium/tour/mock.js +1 -1
  90. package/dist/showcase/premium/tree-view/mock.cjs +1 -1
  91. package/dist/showcase/premium/tree-view/mock.js +1 -1
  92. package/dist/showcase/premium/typography/mock.cjs +1 -1
  93. package/dist/showcase/premium/typography/mock.js +1 -1
  94. package/dist/showcase/site-data.cjs +1 -1
  95. package/dist/showcase/site-data.js +1 -1
  96. package/dist/showcase/tembro-registry.json.cjs +1 -1
  97. package/dist/showcase/tembro-registry.json.js +1 -1
  98. package/package.json +6 -1
  99. package/packages/cli/dist/index.cjs +1 -1
  100. package/packages/cli/vendor/src/components/calendar/calendar.tsx +0 -1
  101. package/packages/cli/vendor/src/components/ui/radio-group/index.tsx +0 -1
  102. package/packages/cli/vendor/src/showcase/package-meta.ts +2 -2
  103. package/packages/cli/vendor/src/showcase/premium/accordion/mock.ts +1 -1
  104. package/packages/cli/vendor/src/showcase/premium/avatar/mock.ts +1 -1
  105. package/packages/cli/vendor/src/showcase/premium/button/mock.ts +1 -1
  106. package/packages/cli/vendor/src/showcase/premium/calendar-scheduler/mock.ts +1 -1
  107. package/packages/cli/vendor/src/showcase/premium/carousel/mock.ts +1 -1
  108. package/packages/cli/vendor/src/showcase/premium/code-block/mock.ts +1 -1
  109. package/packages/cli/vendor/src/showcase/premium/command-bar/mock.ts +1 -1
  110. package/packages/cli/vendor/src/showcase/premium/confirm-dialog/mock.ts +1 -1
  111. package/packages/cli/vendor/src/showcase/premium/copy-button/mock.ts +1 -1
  112. package/packages/cli/vendor/src/showcase/premium/copy-field/mock.ts +1 -1
  113. package/packages/cli/vendor/src/showcase/premium/data-state/mock.ts +1 -1
  114. package/packages/cli/vendor/src/showcase/premium/date-picker/mock.ts +1 -1
  115. package/packages/cli/vendor/src/showcase/premium/date-range-picker/mock.ts +1 -1
  116. package/packages/cli/vendor/src/showcase/premium/descriptions/mock.ts +1 -1
  117. package/packages/cli/vendor/src/showcase/premium/dialog/mock.ts +1 -1
  118. package/packages/cli/vendor/src/showcase/premium/divider/mock.ts +1 -1
  119. package/packages/cli/vendor/src/showcase/premium/dual-list-picker/mock.ts +1 -1
  120. package/packages/cli/vendor/src/showcase/premium/file-upload/mock.ts +1 -1
  121. package/packages/cli/vendor/src/showcase/premium/image-upload/mock.ts +1 -1
  122. package/packages/cli/vendor/src/showcase/premium/json-input/mock.ts +1 -1
  123. package/packages/cli/vendor/src/showcase/premium/kanban-board/mock.ts +1 -1
  124. package/packages/cli/vendor/src/showcase/premium/list/mock.ts +1 -1
  125. package/packages/cli/vendor/src/showcase/premium/menubar/mock.ts +1 -1
  126. package/packages/cli/vendor/src/showcase/premium/modal-shell/mock.ts +1 -1
  127. package/packages/cli/vendor/src/showcase/premium/navigation-menu/mock.ts +1 -1
  128. package/packages/cli/vendor/src/showcase/premium/property-grid/mock.ts +1 -1
  129. package/packages/cli/vendor/src/showcase/premium/qr-code/mock.ts +1 -1
  130. package/packages/cli/vendor/src/showcase/premium/radio-group/mock.ts +1 -1
  131. package/packages/cli/vendor/src/showcase/premium/resizable-panel/mock.ts +1 -1
  132. package/packages/cli/vendor/src/showcase/premium/rich-text-editor/mock.ts +1 -1
  133. package/packages/cli/vendor/src/showcase/premium/saved-filter-select/mock.ts +1 -1
  134. package/packages/cli/vendor/src/showcase/premium/section/mock.ts +1 -1
  135. package/packages/cli/vendor/src/showcase/premium/segmented-control/mock.ts +1 -1
  136. package/packages/cli/vendor/src/showcase/premium/sheet-shell/mock.ts +1 -1
  137. package/packages/cli/vendor/src/showcase/premium/skeleton/mock.ts +1 -1
  138. package/packages/cli/vendor/src/showcase/premium/spinner/mock.ts +1 -1
  139. package/packages/cli/vendor/src/showcase/premium/statistic/mock.ts +1 -1
  140. package/packages/cli/vendor/src/showcase/premium/sticky-footer-bar/mock.ts +1 -1
  141. package/packages/cli/vendor/src/showcase/premium/tag/mock.ts +1 -1
  142. package/packages/cli/vendor/src/showcase/premium/time-picker/mock.ts +1 -1
  143. package/packages/cli/vendor/src/showcase/premium/tour/mock.ts +1 -1
  144. package/packages/cli/vendor/src/showcase/premium/tree-view/mock.ts +1 -1
  145. package/packages/cli/vendor/src/showcase/premium/typography/mock.ts +1 -1
  146. package/packages/cli/vendor/src/showcase/tembro-registry.json +1 -1
  147. package/registry.json +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tembro",
3
- "version": "2.1.10",
3
+ "version": "2.1.12",
4
4
  "description": "Reusable React UI kit with dashboard-ready components, CLI registry helpers, and TypeScript support.",
5
5
  "keywords": [
6
6
  "react",
@@ -103,6 +103,11 @@
103
103
  "import": "./dist/showcase/*.js",
104
104
  "require": "./dist/showcase/*.cjs"
105
105
  },
106
+ "./public-component-surface": {
107
+ "types": "./dist/public-component-surface.d.ts",
108
+ "import": "./dist/public-component-surface.js",
109
+ "require": "./dist/public-component-surface.cjs"
110
+ },
106
111
  "./registry.json": "./registry.json",
107
112
  "./package.json": "./package.json"
108
113
  },
@@ -1180,4 +1180,4 @@ ${t}`),e.forEach(r=>{let i=X[r],n=La(r),o=qa(r,i.category),s=i.registryDependenc
1180
1180
  ${n}`),o.sort().forEach(s=>{let a=X[s],c=La(s),u=qa(s,a.category),l=a.registryDependencies?.length?` -> ${a.registryDependencies.join(", ")}`:"";console.log(` ${s} [${c}/${u}]${l}`);});console.log(`
1181
1181
  Status:`),console.log(" stable = safe public API"),console.log(" preview = usable but API may change"),console.log(" experimental = not ready for stable app contracts"),console.log(" internal = helper metadata"),console.log(`
1182
1182
  Distribution:`),console.log(" foundation = small runtime-safe primitives, hooks, and helpers"),console.log(" source-copy = copy into app source with init/add and edit locally"),console.log(" system = larger product surfaces, kits, and patterns; prefer source-copy only"),console.log(`
1183
- Usage:`),console.log(` ${$e("add button input data-table")}`),console.log(` ${$e("add form --overwrite")}`);}var Ua=Me(rt());async function Ly(t){let e=process.cwd(),r=R__default.default.join(e,"tembro.json"),i=Ua.default.existsSync(r)?await Ua.default.readJson(r):{},n=t??i.cssPath??i.globalCssPath??"src/index.css",o=await An({cwd:e,cssPath:n});O.success(`Tembro theme CSS yangilandi: ${o}`);}var Je=Me(rt());var qy={minimal:[{source:"src/lib/utils.ts",target:"{utils}"},{source:"src/components/ui/button",target:"{ui}/button"},{source:"src/components/ui/input",target:"{ui}/input"},{source:"src/components/ui/card",target:"{ui}/card"},{source:"src/components/ui/badge",target:"{ui}/badge"}],dashboard:[{source:"src/lib/utils.ts",target:"{utils}"},{source:"src/components/ui/button",target:"{ui}/button"},{source:"src/components/ui/input",target:"{ui}/input"},{source:"src/components/ui/card",target:"{ui}/card"},{source:"src/components/ui/badge",target:"{ui}/badge"},{source:"src/components/ui/dropdown-menu.tsx",target:"{ui}/dropdown-menu.tsx"},{source:"src/components/ui/skeleton.tsx",target:"{ui}/skeleton.tsx"},{source:"src/components/ui/tabs.tsx",target:"{ui}/tabs.tsx"},{source:"src/components/feedback/page-state.tsx",target:"{components}/feedback/page-state.tsx"},{source:"src/components/filters/filter-bar.tsx",target:"{components}/filters/filter-bar.tsx"},{source:"src/components/display/property-grid.tsx",target:"{components}/display/property-grid.tsx"},{source:"src/components/display/smart-card.tsx",target:"{components}/display/smart-card.tsx"},{source:"src/components/data-table/data-table.tsx",target:"{components}/data-table/data-table.tsx"}]};function dD(t,e="@"){return e==="@"?t:t.replaceAll("@/",`${e}/`)}function hD(t,e){let r=e.paths?.components??"src/components",i=e.paths?.ui??"src/components/ui",n=e.utilsPath??"src/lib/utils.ts";return t.replaceAll("{components}",r).replaceAll("{ui}",i).replaceAll("{utils}",n)}async function By(t,e,r,i){if((await Je.default.stat(t)).isDirectory()){let o=await Je.default.readdir(t,{withFileTypes:true});for(let s of o)await By(R__default.default.join(t,s.name),R__default.default.join(e,s.name),r,i);return}if(i.dryRun){O.info(`[dry-run] ${t} -> ${e}`);return}if(Je.default.existsSync(e)&&!i.overwrite){O.warn(`${e} allaqachon mavjud.`);return}await Je.default.ensureDir(R__default.default.dirname(e)),await Je.default.writeFile(e,dD(await Je.default.readFile(t,"utf8"),r)),O.success(`${e} qo\u2018shildi.`);}async function Uy(t,e={}){let r=qy[t];r||(O.error(`Preset topilmadi: ${t}`),process.exit(1));let i=process.cwd(),n=R__default.default.join(i,"tembro.json");Je.default.existsSync(n)||(O.error("tembro.json topilmadi. Avval init qiling."),process.exit(1));let o=await Je.default.readJson(n),s=In((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href)));for(let a of r){let c=R__default.default.join(s,a.source),u=R__default.default.join(i,hD(a.target,o));await By(c,u,o.alias,e);}}var Ot=new Tt;Ot.name("tembro").description("Tembro source-copy CLI").version("2.1.10");Ot.command("init").description("Initialize local Tembro source files in your project").option("--template <template>","Project defaults: vite or next","vite").option("--skip-install","Do not install base dependencies").option("-y, --defaults","Use template defaults without interactive prompts").action(Py);Ot.command("preset").description("Add a source-copy preset to your project").argument("<name>","preset name: minimal or dashboard").option("-o, --overwrite","overwrite existing files").option("--dry-run","show files without writing").option("--skip-install","do not install package dependencies").action(Uy);Ot.command("list").description("List available registry components").action(jy);Ot.command("add").description("Copy component source files into your project").argument("[components...]","components to add").option("-o, --overwrite","overwrite existing files").option("--dry-run","show files without writing").option("--skip-install","do not install package dependencies").action($y);Ot.command("theme").description("Write or update Tembro theme CSS in your global CSS file").argument("[cssPath]","global CSS path, default from tembro.json or src/index.css").action(Ly);Ot.parse();
1183
+ Usage:`),console.log(` ${$e("add button input data-table")}`),console.log(` ${$e("add form --overwrite")}`);}var Ua=Me(rt());async function Ly(t){let e=process.cwd(),r=R__default.default.join(e,"tembro.json"),i=Ua.default.existsSync(r)?await Ua.default.readJson(r):{},n=t??i.cssPath??i.globalCssPath??"src/index.css",o=await An({cwd:e,cssPath:n});O.success(`Tembro theme CSS yangilandi: ${o}`);}var Je=Me(rt());var qy={minimal:[{source:"src/lib/utils.ts",target:"{utils}"},{source:"src/components/ui/button",target:"{ui}/button"},{source:"src/components/ui/input",target:"{ui}/input"},{source:"src/components/ui/card",target:"{ui}/card"},{source:"src/components/ui/badge",target:"{ui}/badge"}],dashboard:[{source:"src/lib/utils.ts",target:"{utils}"},{source:"src/components/ui/button",target:"{ui}/button"},{source:"src/components/ui/input",target:"{ui}/input"},{source:"src/components/ui/card",target:"{ui}/card"},{source:"src/components/ui/badge",target:"{ui}/badge"},{source:"src/components/ui/dropdown-menu.tsx",target:"{ui}/dropdown-menu.tsx"},{source:"src/components/ui/skeleton.tsx",target:"{ui}/skeleton.tsx"},{source:"src/components/ui/tabs.tsx",target:"{ui}/tabs.tsx"},{source:"src/components/feedback/page-state.tsx",target:"{components}/feedback/page-state.tsx"},{source:"src/components/filters/filter-bar.tsx",target:"{components}/filters/filter-bar.tsx"},{source:"src/components/display/property-grid.tsx",target:"{components}/display/property-grid.tsx"},{source:"src/components/display/smart-card.tsx",target:"{components}/display/smart-card.tsx"},{source:"src/components/data-table/data-table.tsx",target:"{components}/data-table/data-table.tsx"}]};function dD(t,e="@"){return e==="@"?t:t.replaceAll("@/",`${e}/`)}function hD(t,e){let r=e.paths?.components??"src/components",i=e.paths?.ui??"src/components/ui",n=e.utilsPath??"src/lib/utils.ts";return t.replaceAll("{components}",r).replaceAll("{ui}",i).replaceAll("{utils}",n)}async function By(t,e,r,i){if((await Je.default.stat(t)).isDirectory()){let o=await Je.default.readdir(t,{withFileTypes:true});for(let s of o)await By(R__default.default.join(t,s.name),R__default.default.join(e,s.name),r,i);return}if(i.dryRun){O.info(`[dry-run] ${t} -> ${e}`);return}if(Je.default.existsSync(e)&&!i.overwrite){O.warn(`${e} allaqachon mavjud.`);return}await Je.default.ensureDir(R__default.default.dirname(e)),await Je.default.writeFile(e,dD(await Je.default.readFile(t,"utf8"),r)),O.success(`${e} qo\u2018shildi.`);}async function Uy(t,e={}){let r=qy[t];r||(O.error(`Preset topilmadi: ${t}`),process.exit(1));let i=process.cwd(),n=R__default.default.join(i,"tembro.json");Je.default.existsSync(n)||(O.error("tembro.json topilmadi. Avval init qiling."),process.exit(1));let o=await Je.default.readJson(n),s=In((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href)));for(let a of r){let c=R__default.default.join(s,a.source),u=R__default.default.join(i,hD(a.target,o));await By(c,u,o.alias,e);}}var Ot=new Tt;Ot.name("tembro").description("Tembro source-copy CLI").version("2.1.12");Ot.command("init").description("Initialize local Tembro source files in your project").option("--template <template>","Project defaults: vite or next","vite").option("--skip-install","Do not install base dependencies").option("-y, --defaults","Use template defaults without interactive prompts").action(Py);Ot.command("preset").description("Add a source-copy preset to your project").argument("<name>","preset name: minimal or dashboard").option("-o, --overwrite","overwrite existing files").option("--dry-run","show files without writing").option("--skip-install","do not install package dependencies").action(Uy);Ot.command("list").description("List available registry components").action(jy);Ot.command("add").description("Copy component source files into your project").argument("[components...]","components to add").option("-o, --overwrite","overwrite existing files").option("--dry-run","show files without writing").option("--skip-install","do not install package dependencies").action($y);Ot.command("theme").description("Write or update Tembro theme CSS in your global CSS file").argument("[cssPath]","global CSS path, default from tembro.json or src/index.css").action(Ly);Ot.parse();
@@ -466,7 +466,6 @@ function Calendar({
466
466
  disabled={disabled}
467
467
  aria-label={disabledLabel ?? labels?.selectDate?.(dateKey) ?? dateKey}
468
468
  aria-current={dateKey === todayKey ? "date" : undefined}
469
- aria-selected={selected || inRange || inPreviewRange || undefined}
470
469
  tabIndex={dateKey === tabbableDateKey ? 0 : -1}
471
470
  title={disabledLabel}
472
471
  data-selected={selected || undefined}
@@ -126,7 +126,6 @@ function RadioGroup({
126
126
  value={option.value}
127
127
  checked={checked}
128
128
  disabled={optionDisabled}
129
- aria-invalid={invalid || undefined}
130
129
  className="sr-only"
131
130
  onChange={() => setValue(option.value)}
132
131
  />
@@ -1,4 +1,4 @@
1
- export const PACKAGE_LATEST_VERSION = "2.0.3"
2
- export const PACKAGE_LATEST_RELEASE_DATE = "July 8, 2026"
1
+ export const PACKAGE_LATEST_VERSION = "2.1.12"
2
+ export const PACKAGE_LATEST_RELEASE_DATE = "July 9, 2026"
3
3
  export const PACKAGE_DEPENDENCY_RANGE = `^${PACKAGE_LATEST_VERSION}`
4
4
 
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const accordionMock: ComponentDemoMock = {
4
- code: `import { Accordion } from "@/index"
4
+ code: `import { Accordion } from "tembro"
5
5
 
6
6
  const items = [
7
7
  {
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const avatarMock: ComponentDemoMock = {
4
- code: `import { Avatar, AvatarGroup } from "@/index"
4
+ code: `import { Avatar, AvatarGroup } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -3,7 +3,7 @@ import type { ComponentDemoMock } from "../types"
3
3
  export const buttonMock: ComponentDemoMock = {
4
4
  code: `import * as React from "react"
5
5
  import { ArrowRightIcon, DownloadIcon } from "lucide-react"
6
- import { Button, buttonVariants } from "@/index"
6
+ import { Button, buttonVariants } from "tembro"
7
7
 
8
8
  export function BasicExamples() {
9
9
  return (
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const calendarSchedulerMock: ComponentDemoMock = {
4
- code: `import { CalendarScheduler } from "@/index"
4
+ code: `import { CalendarScheduler } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const carouselMock: ComponentDemoMock = {
4
- code: `import { Carousel, CarouselItem } from "@/index"
4
+ code: `import { Carousel, CarouselItem } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const codeBlockMock: ComponentDemoMock = {
4
- code: `import { CodeBlock } from "@/index"
4
+ code: `import { CodeBlock } from "tembro"
5
5
 
6
6
  const snippet = \`npx tembro add button select\`
7
7
 
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const commandBarMock: ComponentDemoMock = {
4
- code: `import { CommandBar, Kbd, Button } from "@/index"
4
+ code: `import { CommandBar, Kbd, Button } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -2,7 +2,7 @@ import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const confirmDialogMock: ComponentDemoMock = {
4
4
  code: `import { useState } from "react"
5
- import { Button, ConfirmDialog } from "@/index"
5
+ import { Button, ConfirmDialog } from "tembro"
6
6
 
7
7
  export function Example() {
8
8
  const [open, setOpen] = useState(false)
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const copyButtonMock: ComponentDemoMock = {
4
- code: `import { CopyButton } from "@/index"
4
+ code: `import { CopyButton } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const copyFieldMock: ComponentDemoMock = {
4
- code: `import { CopyField } from "@/index"
4
+ code: `import { CopyField } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const dataStateMock: ComponentDemoMock = {
4
- code: `import { DataState } from "@/index"
4
+ code: `import { DataState } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -2,7 +2,7 @@ import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const datePickerMock: ComponentDemoMock = {
4
4
  code: `import { useState } from "react"
5
- import { DatePicker } from "@/index"
5
+ import { DatePicker } from "tembro"
6
6
 
7
7
  export function Example() {
8
8
  const [value, setValue] = useState("2026-06-19")
@@ -2,7 +2,7 @@ import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const dateRangePickerMock: ComponentDemoMock = {
4
4
  code: `import { useState } from "react"
5
- import { DateRangePicker } from "@/index"
5
+ import { DateRangePicker } from "tembro"
6
6
 
7
7
  export function Example() {
8
8
  const [value, setValue] = useState({ from: "2026-06-01", to: "2026-06-07" })
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const descriptionsMock: ComponentDemoMock = {
4
- code: `import { Descriptions } from "@/index"
4
+ code: `import { Descriptions } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -2,7 +2,7 @@ import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const dialogMock: ComponentDemoMock = {
4
4
  code: `import * as React from "react"
5
- import { Button, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from "@/index"
5
+ import { Button, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from "tembro"
6
6
 
7
7
  export function Example() {
8
8
  const [open, setOpen] = React.useState(false)
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const dividerMock: ComponentDemoMock = {
4
- code: `import { Divider } from "@/index"
4
+ code: `import { Divider } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const dualListPickerMock: ComponentDemoMock = {
4
- code: `import { DualListPicker } from "@/index"
4
+ code: `import { DualListPicker } from "tembro"
5
5
 
6
6
  const items = [
7
7
  { label: "Analytics", value: "analytics" },
@@ -2,7 +2,7 @@ import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const fileUploadMock: ComponentDemoMock = {
4
4
  code: `import { useState } from "react"
5
- import { FileUpload } from "@/index"
5
+ import { FileUpload } from "tembro"
6
6
 
7
7
  export function Example() {
8
8
  const [files, setFiles] = useState<File[]>([])
@@ -2,7 +2,7 @@ import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const imageUploadMock: ComponentDemoMock = {
4
4
  code: `import { useState } from "react"
5
- import { ImageUpload } from "@/index"
5
+ import { ImageUpload } from "tembro"
6
6
 
7
7
  export function Example() {
8
8
  const [files, setFiles] = useState<File[]>([])
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const jsonInputMock: ComponentDemoMock = {
4
- code: `import { JsonInput } from "@/index"
4
+ code: `import { JsonInput } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return <JsonInput value='{"name":"tembro"}' />
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const kanbanBoardMock: ComponentDemoMock = {
4
- code: `import { KanbanBoard } from "@/index"
4
+ code: `import { KanbanBoard } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const listMock: ComponentDemoMock = {
4
- code: `import { Avatar, Badge, List } from "@/index"
4
+ code: `import { Avatar, Badge, List } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const menubarMock: ComponentDemoMock = {
4
- code: `import { Menubar, MenubarContent, MenubarItem, MenubarMenu, MenubarTrigger } from "@/index"
4
+ code: `import { Menubar, MenubarContent, MenubarItem, MenubarMenu, MenubarTrigger } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -2,7 +2,7 @@ import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const modalShellMock: ComponentDemoMock = {
4
4
  code: `import { useState } from "react"
5
- import { Badge, Button, Input, ModalShell } from "@/index"
5
+ import { Badge, Button, Input, ModalShell } from "tembro"
6
6
 
7
7
  export function Example() {
8
8
  const [open, setOpen] = useState(false)
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const navigationMenuMock: ComponentDemoMock = {
4
- code: `import { NavigationMenu, NavigationMenuItem, NavigationMenuLink, NavigationMenuList } from "@/index"
4
+ code: `import { NavigationMenu, NavigationMenuItem, NavigationMenuLink, NavigationMenuList } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const propertyGridMock: ComponentDemoMock = {
4
- code: `import { PropertyGrid } from "@/index"
4
+ code: `import { PropertyGrid } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const qrCodeMock: ComponentDemoMock = {
4
- code: `import { QRCode } from "@/index"
4
+ code: `import { QRCode } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return <QRCode value="https://azamat-ui.vercel.app" alt="Azamat UI" />
@@ -2,7 +2,7 @@ import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const radioGroupMock: ComponentDemoMock = {
4
4
  code: `import { useState } from "react"
5
- import { RadioGroup } from "@/index"
5
+ import { RadioGroup } from "tembro"
6
6
 
7
7
  const planOptions = [
8
8
  { value: "starter", label: "Starter", description: "Good for single workspace setup." },
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const resizablePanelMock: ComponentDemoMock = {
4
- code: `import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from "@/index"
4
+ code: `import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const richTextEditorMock: ComponentDemoMock = {
4
- code: `import { RichTextEditor } from "@/index"
4
+ code: `import { RichTextEditor } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  const [value, setValue] = useState("<p>Start writing...</p>")
@@ -2,7 +2,7 @@ import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const savedFilterSelectMock: ComponentDemoMock = {
4
4
  code: `import { useState } from "react"
5
- import { SavedFilterSelect } from "@/index"
5
+ import { SavedFilterSelect } from "tembro"
6
6
 
7
7
  const filters = [
8
8
  { value: "billing", label: "Billing", description: "Invoices and payment status" },
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const sectionMock: ComponentDemoMock = {
4
- code: `import { Button, Section } from "@/index"
4
+ code: `import { Button, Section } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -3,7 +3,7 @@ import type { ComponentDemoMock } from "../types"
3
3
  export const segmentedControlMock: ComponentDemoMock = {
4
4
  code: `import * as React from "react"
5
5
  import { LayoutGridIcon, Rows3Icon, Table2Icon } from "lucide-react"
6
- import { SegmentedControl } from "@/index"
6
+ import { SegmentedControl } from "tembro"
7
7
 
8
8
  const options = [
9
9
  { value: "board", label: "Board", icon: <LayoutGridIcon className="size-4" /> },
@@ -2,7 +2,7 @@ import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const sheetShellMock: ComponentDemoMock = {
4
4
  code: `import { useState } from "react"
5
- import { Button, SheetShell } from "@/index"
5
+ import { Button, SheetShell } from "tembro"
6
6
 
7
7
  export function Example() {
8
8
  const [openRight, setOpenRight] = useState(false)
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const skeletonMock: ComponentDemoMock = {
4
- code: `import { Skeleton, SkeletonCard, SkeletonText } from "@/index"
4
+ code: `import { Skeleton, SkeletonCard, SkeletonText } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const spinnerMock: ComponentDemoMock = {
4
- code: `import { LoadingOverlay, Spinner } from "@/index"
4
+ code: `import { LoadingOverlay, Spinner } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const statisticMock: ComponentDemoMock = {
4
- code: `import { Statistic, StatisticCard, StatisticGrid } from "@/index"
4
+ code: `import { Statistic, StatisticCard, StatisticGrid } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const stickyFooterBarMock: ComponentDemoMock = {
4
- code: `import { Button, StickyFooterBar } from "@/index"
4
+ code: `import { Button, StickyFooterBar } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const tagMock: ComponentDemoMock = {
4
- code: `import { Tag } from "@/index"
4
+ code: `import { Tag } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const timePickerMock: ComponentDemoMock = {
4
- code: `import { DateTimePicker, TimePicker, TimeRangePicker } from "@/index"
4
+ code: `import { DateTimePicker, TimePicker, TimeRangePicker } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const tourMock: ComponentDemoMock = {
4
- code: `import { Button, Tour } from "@/index"
4
+ code: `import { Button, Tour } from "tembro"
5
5
  import { useState } from "react"
6
6
 
7
7
  export function Example() {
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const treeViewMock: ComponentDemoMock = {
4
- code: `import { TreeView } from "@/index"
4
+ code: `import { TreeView } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -1,7 +1,7 @@
1
1
  import type { ComponentDemoMock } from "../types"
2
2
 
3
3
  export const typographyMock: ComponentDemoMock = {
4
- code: `import { Blockquote, Heading, Mark, Text } from "@/index"
4
+ code: `import { Blockquote, Heading, Mark, Text } from "tembro"
5
5
 
6
6
  export function Example() {
7
7
  return (
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://tembro.dev/registry.schema.json",
3
3
  "name": "tembro",
4
- "version": "2.1.10",
4
+ "version": "2.1.12",
5
5
  "description": "Reusable React + TypeScript UI kit registry",
6
6
  "groups": {
7
7
  "ui": [
package/registry.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://tembro.dev/registry.schema.json",
3
3
  "name": "tembro",
4
- "version": "2.1.10",
4
+ "version": "2.1.12",
5
5
  "description": "Reusable React + TypeScript UI kit registry",
6
6
  "groups": {
7
7
  "ui": [