tembro 3.1.6 → 3.1.8

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 (137) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +241 -91
  3. package/dist/components/ui/dialog/index.d.ts +3 -1
  4. package/dist/components/ui/select/index.d.ts +6 -3
  5. package/dist/showcase/package-meta.d.ts +3 -3
  6. package/dist/showcase/premium/wizard/index.cjs +1 -0
  7. package/dist/showcase/premium/wizard/index.d.ts +2 -0
  8. package/dist/showcase/premium/wizard/index.js +1 -0
  9. package/dist/showcase/premium/wizard/mock.cjs +1 -0
  10. package/dist/showcase/premium/wizard/mock.d.ts +2 -0
  11. package/dist/showcase/premium/wizard/mock.js +1 -0
  12. package/dist/showcase/premium/wizard/showcase.cjs +1 -0
  13. package/dist/showcase/premium/wizard/showcase.d.ts +2 -0
  14. package/dist/showcase/premium/wizard/showcase.js +1 -0
  15. package/dist/showcase/search-utils.d.ts +1 -1
  16. package/dist/showcase/site-data.d.ts +6 -6
  17. package/dist/src/components/layout/app-sidebar.cjs +1 -1
  18. package/dist/src/components/layout/app-sidebar.js +59 -41
  19. package/dist/src/components/theme-provider.cjs +1 -1
  20. package/dist/src/components/theme-provider.js +1 -1
  21. package/dist/src/components/ui/dialog/index.cjs +1 -1
  22. package/dist/src/components/ui/dialog/index.js +14 -7
  23. package/dist/src/components/ui/select/index.cjs +1 -1
  24. package/dist/src/components/ui/select/index.js +30 -29
  25. package/dist/src/index.cjs +1 -1
  26. package/dist/src/index.js +101 -101
  27. package/dist/src/showcase/component-api-schema.cjs +1 -1
  28. package/dist/src/showcase/component-api-schema.js +868 -9
  29. package/dist/src/showcase/demo-snippets/forms/index.cjs +1 -1
  30. package/dist/src/showcase/demo-snippets/forms/index.js +1 -1
  31. package/dist/src/showcase/fallback.cjs +4 -4
  32. package/dist/src/showcase/fallback.js +354 -181
  33. package/dist/src/showcase/index.cjs +1 -1
  34. package/dist/src/showcase/index.js +2 -2
  35. package/dist/src/showcase/package-meta.cjs +1 -1
  36. package/dist/src/showcase/package-meta.js +1 -1
  37. package/dist/src/showcase/premium/app-sidebar/mock.cjs +3 -2
  38. package/dist/src/showcase/premium/app-sidebar/mock.js +1 -1
  39. package/dist/src/showcase/premium/app-sidebar/showcase.cjs +1 -1
  40. package/dist/src/showcase/premium/app-sidebar/showcase.js +1 -1
  41. package/dist/src/showcase/premium/async-select/showcase.cjs +1 -1
  42. package/dist/src/showcase/premium/async-select/showcase.js +118 -74
  43. package/dist/src/showcase/premium/avatar/showcase.cjs +1 -1
  44. package/dist/src/showcase/premium/avatar/showcase.js +5 -5
  45. package/dist/src/showcase/premium/dialog/mock.cjs +6 -1
  46. package/dist/src/showcase/premium/dialog/mock.js +1 -1
  47. package/dist/src/showcase/premium/dialog/showcase.cjs +1 -1
  48. package/dist/src/showcase/premium/dialog/showcase.js +101 -39
  49. package/dist/src/showcase/premium/form-wrapper/mock.cjs +2 -2
  50. package/dist/src/showcase/premium/form-wrapper/mock.js +2 -2
  51. package/dist/src/showcase/premium/form-wrapper/showcase.cjs +1 -1
  52. package/dist/src/showcase/premium/form-wrapper/showcase.js +1 -1
  53. package/dist/src/showcase/premium/index.cjs +1 -1
  54. package/dist/src/showcase/premium/index.js +9 -3
  55. package/dist/src/showcase/premium/input/showcase.cjs +1 -1
  56. package/dist/src/showcase/premium/input/showcase.js +1 -1
  57. package/dist/src/showcase/premium/json-input/showcase.cjs +1 -1
  58. package/dist/src/showcase/premium/json-input/showcase.js +1 -1
  59. package/dist/src/showcase/premium/select/showcase.cjs +1 -1
  60. package/dist/src/showcase/premium/select/showcase.js +53 -0
  61. package/dist/src/showcase/premium/table/mock.cjs +1 -1
  62. package/dist/src/showcase/premium/table/mock.js +1 -1
  63. package/dist/src/showcase/premium/types.cjs +1 -1
  64. package/dist/src/showcase/premium/types.js +1 -1
  65. package/dist/src/showcase/premium/wizard/index.cjs +1 -0
  66. package/dist/src/showcase/premium/wizard/index.js +3 -0
  67. package/dist/src/showcase/premium/wizard/mock.cjs +25 -0
  68. package/dist/src/showcase/premium/wizard/mock.js +32 -0
  69. package/dist/src/showcase/premium/wizard/showcase.cjs +1 -0
  70. package/dist/src/showcase/premium/wizard/showcase.js +130 -0
  71. package/dist/src/showcase/preview-registry.cjs +1 -1
  72. package/dist/src/showcase/preview-registry.js +6 -6
  73. package/dist/src/showcase/registry-quality.cjs +1 -1
  74. package/dist/src/showcase/registry-quality.js +5 -0
  75. package/dist/src/showcase/registry-specific.cjs +1 -1
  76. package/dist/src/showcase/registry-specific.js +2 -2
  77. package/dist/src/showcase/render-registry-preview.cjs +1 -1
  78. package/dist/src/showcase/render-registry-preview.js +2 -2
  79. package/dist/src/showcase/site-data.cjs +1 -1
  80. package/dist/src/showcase/site-data.js +198 -44
  81. package/dist/src/showcase/tembro-registry.json.cjs +1 -1
  82. package/dist/src/showcase/tembro-registry.json.js +1 -1
  83. package/dist/src/showcase/types.cjs +1 -1
  84. package/dist/src/showcase/types.js +1 -1
  85. package/package.json +7 -3
  86. package/packages/cli/dist/index.cjs +127 -127
  87. package/packages/cli/vendor/src/components/layout/app-sidebar.tsx +50 -20
  88. package/packages/cli/vendor/src/components/theme-provider.tsx +1 -1
  89. package/packages/cli/vendor/src/components/ui/dialog/index.tsx +15 -3
  90. package/packages/cli/vendor/src/components/ui/select/index.tsx +17 -9
  91. package/packages/cli/vendor/src/showcase/component-api-schema.ts +269 -39
  92. package/packages/cli/vendor/src/showcase/demo-snippets/forms/index.ts +1 -1
  93. package/packages/cli/vendor/src/showcase/fallback.tsx +202 -39
  94. package/packages/cli/vendor/src/showcase/index.ts +6 -6
  95. package/packages/cli/vendor/src/showcase/package-meta.ts +3 -3
  96. package/packages/cli/vendor/src/showcase/premium/app-sidebar/mock.ts +3 -2
  97. package/packages/cli/vendor/src/showcase/premium/app-sidebar/showcase.tsx +1 -1
  98. package/packages/cli/vendor/src/showcase/premium/async-select/showcase.tsx +50 -4
  99. package/packages/cli/vendor/src/showcase/premium/avatar/showcase.tsx +5 -5
  100. package/packages/cli/vendor/src/showcase/premium/dialog/mock.ts +6 -1
  101. package/packages/cli/vendor/src/showcase/premium/dialog/showcase.tsx +53 -1
  102. package/packages/cli/vendor/src/showcase/premium/form-wrapper/mock.ts +2 -2
  103. package/packages/cli/vendor/src/showcase/premium/form-wrapper/showcase.tsx +1 -1
  104. package/packages/cli/vendor/src/showcase/premium/index.ts +5 -3
  105. package/packages/cli/vendor/src/showcase/premium/input/showcase.tsx +1 -1
  106. package/packages/cli/vendor/src/showcase/premium/json-input/showcase.tsx +1 -1
  107. package/packages/cli/vendor/src/showcase/premium/select/showcase.tsx +38 -0
  108. package/packages/cli/vendor/src/showcase/premium/table/mock.ts +1 -1
  109. package/packages/cli/vendor/src/showcase/premium/types.ts +1 -1
  110. package/packages/cli/vendor/src/showcase/premium/wizard/index.ts +2 -0
  111. package/packages/cli/vendor/src/showcase/premium/wizard/mock.ts +41 -0
  112. package/packages/cli/vendor/src/showcase/premium/wizard/showcase.tsx +88 -0
  113. package/packages/cli/vendor/src/showcase/preview-registry.tsx +6 -6
  114. package/packages/cli/vendor/src/showcase/registry-quality.ts +5 -0
  115. package/packages/cli/vendor/src/showcase/registry-specific.tsx +2 -2
  116. package/packages/cli/vendor/src/showcase/render-registry-preview.tsx +2 -2
  117. package/packages/cli/vendor/src/showcase/site-data.tsx +89 -32
  118. package/packages/cli/vendor/src/showcase/tembro-registry.json +1 -1
  119. package/packages/cli/vendor/src/showcase/types.ts +1 -1
  120. package/packages/cli/vendor/templates/showcase/src/App.tsx +107 -0
  121. package/packages/cli/vendor/templates/showcase/src/showcase/data/registry.ts +273 -0
  122. package/packages/cli/vendor/templates/showcase/src/showcase/layout/HeroSection.tsx +41 -0
  123. package/packages/cli/vendor/templates/showcase/src/showcase/layout/WorkbenchSidebar.tsx +82 -0
  124. package/packages/cli/vendor/templates/showcase/src/showcase/sections/CalendarSection.tsx +35 -0
  125. package/packages/cli/vendor/templates/showcase/src/showcase/sections/CategorySection.tsx +48 -0
  126. package/packages/cli/vendor/templates/showcase/src/showcase/sections/ComponentDetailSection.tsx +68 -0
  127. package/packages/cli/vendor/templates/showcase/src/showcase/sections/CoreUiSection.tsx +100 -0
  128. package/packages/cli/vendor/templates/showcase/src/showcase/sections/DataTableSection.tsx +45 -0
  129. package/packages/cli/vendor/templates/showcase/src/showcase/sections/FormsSection.tsx +26 -0
  130. package/packages/cli/vendor/templates/showcase/src/showcase/sections/InventorySection.tsx +38 -0
  131. package/packages/cli/vendor/templates/showcase/src/showcase/sections/KanbanSection.tsx +42 -0
  132. package/packages/cli/vendor/templates/showcase/src/showcase/sections/OverlaySection.tsx +62 -0
  133. package/packages/cli/vendor/templates/showcase/src/showcase/sections/PatternsSection.tsx +36 -0
  134. package/packages/cli/vendor/templates/showcase/src/showcase/sections/VerificationSection.tsx +42 -0
  135. package/packages/cli/vendor/templates/showcase/src/showcase/sections/WizardSection.tsx +44 -0
  136. package/packages/cli/vendor/templates/showcase/src/showcase/shared/SectionTitle.tsx +13 -0
  137. package/registry.json +1 -1
@@ -65,7 +65,7 @@ var S = [
65
65
  "validation contract",
66
66
  "label/description consistency",
67
67
  "disabled/readOnly handling"
68
- ], ue = "tembro", w = "tembro", de = "tembro", fe = "azamat-ui", pe = `npx ${w} init --template next --defaults`, me = `npx ${w} init --template vite --defaults`, he = `npx ${w} add button input`, T = `${pe}\n${he}`, ge = `npx ${w} --help`, _e = `npx ${w} theme`, ve = "https://www.npmjs.com/package/tembro", E = "https://github.com/AzamatJurayev-dev/tembro", ye = `${E}/releases`, be = "https://github.com/AzamatJurayev-dev/azamat-ui", xe = ye, Se = `${be}/releases`, D = "/docs", O = [{
68
+ ], ue = "tembro", w = "tembro", de = "tembro", fe = "tembro", pe = `npx ${w} init --template next --defaults`, me = `npx ${w} init --template vite --defaults`, he = `npx ${w} add button input`, T = `${pe}\n${he}`, ge = `npx ${w} --help`, _e = `npx ${w} theme`, ve = "https://www.npmjs.com/package/tembro", E = "https://github.com/AzamatJurayev-dev/azamat-ui-kit", ye = `${E}/releases`, be = E, xe = ye, Se = `${be}/releases`, D = "/docs", O = [{
69
69
  version: i,
70
70
  date: r,
71
71
  status: "Published",
@@ -85,7 +85,7 @@ var S = [
85
85
  "Deprecated route-level names stayed aliased for compatibility while primary docs move toward simpler canonical surfaces.",
86
86
  "Docs app metadata now prefers current package registry vocabulary over older showcase-only names."
87
87
  ]
88
- }], Ce = O[0]?.version ?? "3.1.6", we = O[0]?.date ?? "July 13, 2026", k = (e) => `/components/${e}`, A = (e) => `/playground/${e}`, j = (e) => `/components/${e}`, Te = (e) => e.replace(/([a-z])([A-Z])/g, "$1-$2").replace(/\s+/g, "-").toLowerCase(), Ee = (e, t) => `/components/${e}/${Te(t)}`, De = (e) => `/templates/${e}`, M = (e) => `/blocks/${e}`, N = [
88
+ }], Ce = O[0]?.version ?? "3.1.8", we = O[0]?.date ?? "July 15, 2026", k = (e) => `/components/${e}`, A = (e) => `/playground/${e}`, j = (e) => `/components/${e}`, Te = (e) => e.replace(/([a-z])([A-Z])/g, "$1-$2").replace(/\s+/g, "-").toLowerCase(), Ee = (e, t) => `/components/${e}/${Te(t)}`, De = (e) => `/templates/${e}`, M = (e) => `/blocks/${e}`, N = [
89
89
  "Primitives",
90
90
  "Form Controls",
91
91
  "Overlay",
@@ -3039,66 +3039,220 @@ var z = [
3039
3039
  function Ge(e) {
3040
3040
  return e.split("-").filter(Boolean).map((e) => e.charAt(0).toUpperCase() + e.slice(1)).join(" ");
3041
3041
  }
3042
- var Ke = new Set(z.map((e) => e.slug)), G = /* @__PURE__ */ new Map();
3042
+ var Ke = {
3043
+ ui: [
3044
+ "Composable primitive",
3045
+ "Variant-ready styling",
3046
+ "Keyboard and focus-friendly defaults",
3047
+ "Local source-copy customization"
3048
+ ],
3049
+ actions: [
3050
+ "Action composition",
3051
+ "Icon and label pairing",
3052
+ "Keyboard and focus-friendly defaults",
3053
+ "Dense toolbar usage"
3054
+ ],
3055
+ feedback: [
3056
+ "Inline status messaging",
3057
+ "Loading, empty or error context",
3058
+ "Accessible status copy",
3059
+ "Actionable recovery guidance"
3060
+ ],
3061
+ display: [
3062
+ "Structured content display",
3063
+ "Empty and loading state support",
3064
+ "Accessible reading order",
3065
+ "Responsive data presentation"
3066
+ ],
3067
+ overlay: [
3068
+ "Focused overlay behavior",
3069
+ "Escape and outside-click handling",
3070
+ "Accessible focus management",
3071
+ "Compact action footer"
3072
+ ],
3073
+ inputs: [
3074
+ "Controlled value support",
3075
+ "Validation-ready states",
3076
+ "Keyboard and focus-friendly defaults",
3077
+ "Form-friendly composition"
3078
+ ],
3079
+ form: [
3080
+ "Form shell integration",
3081
+ "Validation and error states",
3082
+ "Accessible label contract",
3083
+ "Reusable field composition"
3084
+ ],
3085
+ dataTable: [
3086
+ "Data workflow composition",
3087
+ "Sorting/filtering integration",
3088
+ "Accessible row and header semantics",
3089
+ "Responsive operator surfaces"
3090
+ ],
3091
+ data_table: [
3092
+ "Data workflow composition",
3093
+ "Sorting/filtering integration",
3094
+ "Accessible row and header semantics",
3095
+ "Responsive operator surfaces"
3096
+ ],
3097
+ layout: [
3098
+ "Route-level structure",
3099
+ "Navigation-aware composition",
3100
+ "Responsive shell behavior",
3101
+ "Reusable product framing"
3102
+ ],
3103
+ navigation: [
3104
+ "Section navigation",
3105
+ "Current state support",
3106
+ "Keyboard and focus-friendly defaults",
3107
+ "Route-friendly links"
3108
+ ],
3109
+ filters: [
3110
+ "Search and filter composition",
3111
+ "Saved or reusable filter state",
3112
+ "Accessible control labels",
3113
+ "Data-table integration"
3114
+ ],
3115
+ calendar: [
3116
+ "Date selection workflow",
3117
+ "Boundary and disabled-date support",
3118
+ "Keyboard and focus-friendly defaults",
3119
+ "Scheduling-ready layout"
3120
+ ],
3121
+ upload: [
3122
+ "File interaction workflow",
3123
+ "Preview and progress states",
3124
+ "Accessible upload guidance",
3125
+ "Validation-ready constraints"
3126
+ ],
3127
+ wizard: [
3128
+ "Step flow composition",
3129
+ "Progress and completion state",
3130
+ "Keyboard and focus-friendly defaults",
3131
+ "Guided form workflow"
3132
+ ],
3133
+ notifications: [
3134
+ "Transient status messaging",
3135
+ "Unread and dismiss flows",
3136
+ "Accessible notification copy",
3137
+ "Async completion feedback"
3138
+ ],
3139
+ command: [
3140
+ "Keyboard-first discovery",
3141
+ "Search and grouped actions",
3142
+ "Accessible command labels",
3143
+ "Route or action execution"
3144
+ ],
3145
+ patterns: [
3146
+ "Composed product workflow",
3147
+ "Reusable screen section",
3148
+ "Accessible structure",
3149
+ "Production layout starting point"
3150
+ ]
3151
+ }, qe = {
3152
+ ui: "Reusable primitive for product interfaces with source-copy styling and predictable focus behavior.",
3153
+ actions: "Action surface for dense product workflows, toolbar controls and copy-friendly command areas.",
3154
+ feedback: "Status surface for communicating loading, empty, success, warning or error context with a clear next step.",
3155
+ display: "Read-oriented surface for presenting operational content, metadata, timelines or structured records.",
3156
+ overlay: "Focused overlay pattern for short decisions, contextual actions and contained editing flows.",
3157
+ inputs: "Input surface for controlled values, validation states and form-ready interaction patterns.",
3158
+ form: "Form composition helper for labels, validation, controlled values and repeatable field structure.",
3159
+ dataTable: "Data workflow helper for reusable tables, row actions, filtering, selection and responsive records.",
3160
+ data_table: "Data workflow helper for reusable tables, row actions, filtering, selection and responsive records.",
3161
+ layout: "Layout helper for route-level structure, navigation context and reusable application shells.",
3162
+ navigation: "Navigation helper for route-aware sections, current state and keyboard-friendly movement.",
3163
+ filters: "Filter composition helper for search, chips, saved views and data narrowing workflows.",
3164
+ calendar: "Date and schedule surface for reporting, planning, disabled-date rules and calendar-style selection.",
3165
+ upload: "Upload workflow surface for files, images, preview states, progress and validation guidance.",
3166
+ wizard: "Guided workflow surface for multi-step forms, progress state and step-by-step completion.",
3167
+ notifications: "Notification surface for async status, unread activity, dismiss behavior and transient updates.",
3168
+ command: "Command surface for keyboard-first search, grouped actions and fast route or action discovery.",
3169
+ patterns: "Composed product pattern that combines primitives into reusable production screen sections."
3170
+ };
3171
+ function Je(e) {
3172
+ return Ke[e] ?? [
3173
+ "Source-copy component",
3174
+ "Composable product usage",
3175
+ "Keyboard and focus-friendly defaults",
3176
+ "Local customization"
3177
+ ];
3178
+ }
3179
+ function Ye(e, t) {
3180
+ return `${t}. ${qe[e] ?? "Reusable source-copy surface for production product interfaces."}`;
3181
+ }
3182
+ var Xe = new Set(z.map((e) => e.slug)), G = /* @__PURE__ */ new Map();
3043
3183
  for (let [e, n] of Object.entries(Re)) if (!(Be.has(e) || He.has(e))) for (let r of n) {
3044
3184
  let n = H[r], i = n ?? r;
3045
- if (!r || Ve.has(r) || Ve.has(i) || U.has(i) && !t(i) || U.has(r) && !t(r) || Ke.has(i) || G.has(i)) continue;
3185
+ if (!r || Ve.has(r) || Ve.has(i) || U.has(i) && !t(i) || U.has(r) && !t(r) || Xe.has(i) || G.has(i)) continue;
3046
3186
  let a = Ue[e] ?? "Data Display", o = We[e] ?? _;
3047
3187
  G.set(i, {
3048
3188
  slug: i,
3049
3189
  title: Ge(n || i),
3050
- description: `${Ge(i)} surfaced from package registry group "${e}".`,
3190
+ description: Ye(e, Ge(i)),
3051
3191
  icon: o,
3052
3192
  category: a,
3053
3193
  status: ze.has(i) ? "Stable" : "Preview",
3054
3194
  installCommand: T,
3055
- propsRows: [[
3056
- "className",
3057
- "string",
3058
- "-",
3059
- "Additional classes for wrapper element."
3060
- ]],
3061
- features: [e]
3195
+ propsRows: [
3196
+ [
3197
+ "className",
3198
+ "string",
3199
+ "-",
3200
+ "Additional classes for wrapper element."
3201
+ ],
3202
+ [
3203
+ "children",
3204
+ "ReactNode",
3205
+ "-",
3206
+ "Optional composed content or custom slots when the component supports composition."
3207
+ ],
3208
+ [
3209
+ "aria-label",
3210
+ "string",
3211
+ "-",
3212
+ "Accessible label for icon-only, compact, or non-text usage."
3213
+ ]
3214
+ ],
3215
+ features: Je(e)
3062
3216
  });
3063
3217
  }
3064
- var qe = [...G.values()], K = [...z, ...qe].filter((e) => !W.has(e.slug)), q = [], J = new Map(q.map((e) => [e.slug, e])), Je = new Set([
3218
+ var Ze = [...G.values()], K = [...z, ...Ze].filter((e) => !W.has(e.slug)), q = [], J = new Map(q.map((e) => [e.slug, e])), Qe = new Set([
3065
3219
  ...W,
3066
3220
  "app-header",
3067
3221
  "page-header",
3068
3222
  "resource-page",
3069
3223
  "resource-detail-page"
3070
- ]), Ye = new Set([...Je, ...F.keys()]);
3224
+ ]), $e = new Set([...Qe, ...F.keys()]);
3071
3225
  function Y(e) {
3072
3226
  if (!e) return;
3073
3227
  let t = I(e), n = X(t);
3074
3228
  return t === n ? J.get(t) ?? K.find((e) => e.slug === t) : J.get(n) ?? K.find((e) => e.slug === n);
3075
3229
  }
3076
- function Xe(e) {
3230
+ function et(e) {
3077
3231
  return J.has(I(e)) || Ie.has(I(e));
3078
3232
  }
3079
3233
  function X(e) {
3080
3234
  let t = I(e);
3081
- return Xe(t) ? t : Le[t] ?? t;
3235
+ return et(t) ? t : Le[t] ?? t;
3082
3236
  }
3083
- function Ze(e) {
3237
+ function tt(e) {
3084
3238
  return Y(X(e))?.title ?? e;
3085
3239
  }
3086
3240
  function Z() {
3087
3241
  let n = K.filter((e) => X(e.slug) === e.slug), r = /* @__PURE__ */ new Map();
3088
3242
  for (let e of n) r.set(e.slug, e);
3089
3243
  for (let e of q) r.set(e.slug, e);
3090
- return Array.from(r.values()).filter((e) => !Je.has(e.slug)).filter((e) => t(e.slug)).sort((t, n) => {
3244
+ return Array.from(r.values()).filter((e) => !Qe.has(e.slug)).filter((e) => t(e.slug)).sort((t, n) => {
3091
3245
  let r = e(t.slug, n.slug);
3092
3246
  return r === 0 ? t.title.localeCompare(n.title) : r;
3093
3247
  });
3094
3248
  }
3095
- function Qe() {
3249
+ function nt() {
3096
3250
  let e = /* @__PURE__ */ new Map();
3097
3251
  for (let t of K) e.set(t.slug, t);
3098
3252
  for (let t of q) e.set(t.slug, t);
3099
- return Array.from(e.values()).filter((e) => !Ye.has(e.slug)).sort((e, t) => e.title.localeCompare(t.title));
3253
+ return Array.from(e.values()).filter((e) => !$e.has(e.slug)).sort((e, t) => e.title.localeCompare(t.title));
3100
3254
  }
3101
- function $e(e) {
3255
+ function rt(e) {
3102
3256
  let t = e ? X(e) : void 0;
3103
3257
  return Z().map((e) => ({
3104
3258
  slug: e.slug,
@@ -3109,9 +3263,9 @@ function $e(e) {
3109
3263
  active: t ? X(e.slug) === t : !1
3110
3264
  })).sort((e, t) => e.title.localeCompare(t.title));
3111
3265
  }
3112
- function et(e) {
3266
+ function it(e) {
3113
3267
  let t = /* @__PURE__ */ new Map();
3114
- for (let n of $e(e)) {
3268
+ for (let n of rt(e)) {
3115
3269
  let e = n.title[0]?.toUpperCase() ?? "#", r = `${e} - ${n.group}`;
3116
3270
  t.has(r) || t.set(r, {
3117
3271
  key: r,
@@ -3121,7 +3275,7 @@ function et(e) {
3121
3275
  }
3122
3276
  return Array.from(t.values());
3123
3277
  }
3124
- function tt(e) {
3278
+ function at(e) {
3125
3279
  return (B[X(e)] ?? []).map((e) => ({
3126
3280
  ...e,
3127
3281
  slugs: e.slugs.filter((e) => !W.has(e))
@@ -3130,7 +3284,7 @@ function tt(e) {
3130
3284
  function Q(e) {
3131
3285
  return (e ? [X(e)] : Object.keys(B)).flatMap((e) => {
3132
3286
  let t = Y(e);
3133
- return tt(e).flatMap((n) => {
3287
+ return at(e).flatMap((n) => {
3134
3288
  let r = [];
3135
3289
  for (let i of n.slugs) {
3136
3290
  let a = K.find((e) => e.slug === i);
@@ -3154,10 +3308,10 @@ function Q(e) {
3154
3308
  });
3155
3309
  });
3156
3310
  }
3157
- function nt(e) {
3311
+ function ot(e) {
3158
3312
  return Q().find((t) => t.component === e);
3159
3313
  }
3160
- function rt(e) {
3314
+ function st(e) {
3161
3315
  let t = new Set(e);
3162
3316
  return Q().filter((e) => t.has(e.component));
3163
3317
  }
@@ -3404,7 +3558,7 @@ var $ = [
3404
3558
  "Progress state"
3405
3559
  ]
3406
3560
  }
3407
- ], it = [
3561
+ ], ct = [
3408
3562
  {
3409
3563
  label: "Docs",
3410
3564
  href: D
@@ -3425,7 +3579,7 @@ var $ = [
3425
3579
  label: "Changelog",
3426
3580
  href: "/changelog"
3427
3581
  }
3428
- ], at = [{
3582
+ ], lt = [{
3429
3583
  title: "Getting Started",
3430
3584
  items: [
3431
3585
  {
@@ -3452,7 +3606,7 @@ var $ = [
3452
3606
  }, ...N.map((e) => ({
3453
3607
  title: e,
3454
3608
  items: R(e, k)
3455
- })).filter((e) => e.items.length > 0)], ot = [{
3609
+ })).filter((e) => e.items.length > 0)], ut = [{
3456
3610
  title: "Getting Started",
3457
3611
  items: [
3458
3612
  {
@@ -3484,7 +3638,7 @@ var $ = [
3484
3638
  }, ...N.map((e) => ({
3485
3639
  title: e,
3486
3640
  items: R(e, A)
3487
- })).filter((e) => e.items.length > 0)], st = [
3641
+ })).filter((e) => e.items.length > 0)], dt = [
3488
3642
  "All blocks",
3489
3643
  "Dashboard",
3490
3644
  "Auth",
@@ -3493,15 +3647,15 @@ var $ = [
3493
3647
  "Pricing",
3494
3648
  "Product",
3495
3649
  "Marketing"
3496
- ], ct = [
3650
+ ], ft = [
3497
3651
  "All layouts",
3498
3652
  "Application",
3499
3653
  "Marketing"
3500
- ], lt = [
3654
+ ], pt = [
3501
3655
  "All themes",
3502
3656
  "Light",
3503
3657
  "Soft"
3504
- ], ut = ["Popular", "A-Z"], dt = [
3658
+ ], mt = ["Popular", "A-Z"], ht = [
3505
3659
  {
3506
3660
  title: "Application blocks",
3507
3661
  text: "Dashboard, table and settings blocks should show route structure, visible actions and realistic operational density.",
@@ -3532,7 +3686,7 @@ var $ = [
3532
3686
  "Install path"
3533
3687
  ]
3534
3688
  }
3535
- ], ft = {
3689
+ ], gt = {
3536
3690
  slug: "dashboard-starter",
3537
3691
  title: "Modern Dashboard",
3538
3692
  description: "Clean dashboard with analytics, charts, and activity tables.",
@@ -3574,7 +3728,7 @@ var $ = [
3574
3728
  "components/blocks/dashboard/activity-table.tsx"
3575
3729
  ],
3576
3730
  notes: ["Use this block when one dashboard section is enough; move to the template when navigation and multiple zones are required.", "Primary actions should stay tied to one operational area, not a full application workflow."]
3577
- }, pt = [
3731
+ }, _t = [
3578
3732
  {
3579
3733
  slug: "sidebar-layout",
3580
3734
  title: "Sidebar Layout",
@@ -3800,7 +3954,7 @@ var $ = [
3800
3954
  copyTargets: ["components/blocks/finance/invoices-table.tsx", "components/blocks/finance/invoice-actions.tsx"],
3801
3955
  notes: ["Finance blocks need explicit status language; avoid vague marketing labels in invoice rows.", "When the page needs broader reporting and settings, step up to a template-level surface."]
3802
3956
  }
3803
- ], mt = T, ht = [
3957
+ ], vt = T, yt = [
3804
3958
  [
3805
3959
  "variant",
3806
3960
  "'default' | 'secondary' | ...",
@@ -3837,7 +3991,7 @@ var $ = [
3837
3991
  "-",
3838
3992
  "Click event handler."
3839
3993
  ]
3840
- ], gt = [
3994
+ ], bt = [
3841
3995
  "Installation",
3842
3996
  "Variations",
3843
3997
  "Sizes",
@@ -3847,7 +4001,7 @@ var $ = [
3847
4001
  "Examples",
3848
4002
  "API Reference",
3849
4003
  "Accessibility"
3850
- ], _t = [
4004
+ ], xt = [
3851
4005
  {
3852
4006
  title: "Action buttons",
3853
4007
  cta: "Save changes"
@@ -3864,16 +4018,16 @@ var $ = [
3864
4018
  title: "Destructive action",
3865
4019
  cta: "Delete item"
3866
4020
  }
3867
- ], vt = [
4021
+ ], St = [
3868
4022
  "Tab to focus",
3869
4023
  "Visible focus ring",
3870
4024
  "Enter / Space to activate"
3871
- ], yt = [
4025
+ ], Ct = [
3872
4026
  "Role: button",
3873
4027
  "Name is programmatically determinable",
3874
4028
  "Minimum touch target (44x44px)",
3875
4029
  "Sufficient color contrast"
3876
- ], bt = [
4030
+ ], wt = [
3877
4031
  {
3878
4032
  title: "Home",
3879
4033
  description: "Open the landing page with the product overview.",
@@ -4019,7 +4173,7 @@ var $ = [
4019
4173
  e.title,
4020
4174
  e.category,
4021
4175
  L(e.slug),
4022
- Ze(e.slug),
4176
+ tt(e.slug),
4023
4177
  ...e.features,
4024
4178
  "component",
4025
4179
  "detail",
@@ -4083,4 +4237,4 @@ var $ = [
4083
4237
  })))
4084
4238
  ];
4085
4239
  //#endregion
4086
- export { he as CLI_ADD_COMMAND, pe as CLI_INIT_NEXT_COMMAND, me as CLI_INIT_VITE_COMMAND, ge as CLI_INSTALL_COMMAND, w as CLI_PACKAGE_NAME, _e as CLI_THEME_COMMAND, fe as DOCS_APP_NAME, Se as DOCS_RELEASES_URL, be as DOCS_REPO_URL, D as DOCS_ROOT_PATH, ye as PACKAGE_GITHUB_RELEASES_URL, E as PACKAGE_GITHUB_URL, de as PACKAGE_IMPORT, T as PACKAGE_INSTALL_COMMAND, ue as PACKAGE_NAME, ve as PACKAGE_NPM_URL, xe as PACKAGE_RELEASES_URL, we as PACKAGE_RELEASE_DATE, Ce as PACKAGE_VERSION, yt as accessibilityChecks, pt as blockCards, dt as blockCoverageSections, ct as blockLayoutFilters, M as blockPath, ut as blockSortOptions, st as blockTabs, lt as blockThemeFilters, K as componentCatalog, k as componentDocsPath, Ee as componentExportPath, Te as componentExportSlug, P as componentGroupMeta, N as componentGroupOrder, $ as componentModuleCatalog, j as componentModulePath, A as componentPlaygroundPath, Fe as componentRelations, at as docsSidebar, _t as exampleCards, ft as featuredBlock, $e as getComponentDetailSidebarItems, et as getComponentDetailSidebarSections, L as getComponentGroup, Pe as getComponentGroupDetails, Y as getComponentSurfaceCatalogItem, tt as getComponentSurfaceSections, nt as getDocumentedMemberByComponent, rt as getDocumentedMembersByComponents, Z as getPrimaryComponentCatalog, Q as getPrimaryComponentMemberInventory, X as getPrimaryComponentSurfaceSlug, Ze as getPrimaryComponentSurfaceTitle, Qe as getVisibleComponentCatalog, bt as globalSearchItems, vt as inspectorChecks, mt as installCommand, Xe as isPrimaryComponentSurface, ot as playgroundSidebar, it as primaryNav, ht as propRows, O as releaseHistory, De as templatePath, gt as tocItems };
4240
+ export { he as CLI_ADD_COMMAND, pe as CLI_INIT_NEXT_COMMAND, me as CLI_INIT_VITE_COMMAND, ge as CLI_INSTALL_COMMAND, w as CLI_PACKAGE_NAME, _e as CLI_THEME_COMMAND, fe as DOCS_APP_NAME, Se as DOCS_RELEASES_URL, be as DOCS_REPO_URL, D as DOCS_ROOT_PATH, ye as PACKAGE_GITHUB_RELEASES_URL, E as PACKAGE_GITHUB_URL, de as PACKAGE_IMPORT, T as PACKAGE_INSTALL_COMMAND, ue as PACKAGE_NAME, ve as PACKAGE_NPM_URL, xe as PACKAGE_RELEASES_URL, we as PACKAGE_RELEASE_DATE, Ce as PACKAGE_VERSION, Ct as accessibilityChecks, _t as blockCards, ht as blockCoverageSections, ft as blockLayoutFilters, M as blockPath, mt as blockSortOptions, dt as blockTabs, pt as blockThemeFilters, K as componentCatalog, k as componentDocsPath, Ee as componentExportPath, Te as componentExportSlug, P as componentGroupMeta, N as componentGroupOrder, $ as componentModuleCatalog, j as componentModulePath, A as componentPlaygroundPath, Fe as componentRelations, lt as docsSidebar, xt as exampleCards, gt as featuredBlock, rt as getComponentDetailSidebarItems, it as getComponentDetailSidebarSections, L as getComponentGroup, Pe as getComponentGroupDetails, Y as getComponentSurfaceCatalogItem, at as getComponentSurfaceSections, ot as getDocumentedMemberByComponent, st as getDocumentedMembersByComponents, Z as getPrimaryComponentCatalog, Q as getPrimaryComponentMemberInventory, X as getPrimaryComponentSurfaceSlug, tt as getPrimaryComponentSurfaceTitle, nt as getVisibleComponentCatalog, wt as globalSearchItems, St as inspectorChecks, vt as installCommand, et as isPrimaryComponentSurface, ut as playgroundSidebar, ct as primaryNav, yt as propRows, O as releaseHistory, De as templatePath, bt as tocItems };
@@ -1 +1 @@
1
- var e={$schema:`https://tembro.dev/registry.schema.json`,name:`tembro`,version:`3.1.6`,description:`Reusable React + TypeScript UI kit registry`,groups:{ui:[`badge`,`button`,`card`,`checkbox`,`accordion`,`collapse`,`dialog`,`divider`,`dropdown-menu`,`input`,`kbd`,`popover`,`radio-group`,`right-click-menu`,`scroll-box`,`select`,`segmented-control`,`skeleton`,`spinner`,`switch`,`table`,`tabs`,`textarea`,`tooltip`],overlay:[`alert-dialog`,`confirm-dialog`,`drawer`],navigation:[`pagination`],inputs:[`async-select`,`otp-input`,`rating`,`slider`,`tag-input`,`inline-editable`,`color-picker`,`signature-pad`,`json-input`,`time-picker`],form:[`form-date-picker`,`form-date-range-input`,`form-date-range-picker`,`form-field-shell`,`form-input`,`form-select`,`form-switch`,`form-textarea`],feedback:[`alert`,`loading-state`,`page-state`,`data-state`],display:[`activity-feed`,`avatar`,`code-block`,`description-list`,`data-state`,`info-card`,`kanban`,`qr-code`,`virtual-list`,`list`,`progress`,`progress-circle`,`statistic`,`status-dot`,`status-legend`,`timeline`,`tree-view`,`carousel`,`tag`,`typography`],actions:[`action-menu`,`button-group`,`copy-button`,`quick-action-grid`],dnd:[`sortable-list`],layout:[`sidebar`,`breadcrumbs`,`section`],filters:[`filter-bar`,`saved-filter-select`],"data-table":[`data-table`],calendar:[`calendar`,`date-picker`,`date-range-picker`],upload:[`file-upload`,`image-upload`],wizard:[`stepper`,`wizard`],notifications:[`toast`,`notification-center`],command:[`command-palette`],patterns:[`form-builder`,`resource-page`,`resource-detail-page`,`empty-state`,`page-toolbar`,`bulk-action-bar`,`detail-layout`,`settings-page`,`data-view`],modern:[`calendar-scheduler`,`dual-list-picker`,`resizable-panel`,`rich-text-editor`,`image-cropper`],hooks:[`use-session-storage-state`,`use-before-unload-when-dirty`,`use-is-mobile`,`use-disclosure`,`use-debounce`,`use-data-table-view-state`],kits:[`dashboard`,`calendar-kit`,`wizard-kit`,`all`],charts:[]},recommended:`button.input.textarea.checkbox.switch.radio-group.dialog.popover.select.table.badge.card.tabs.collapse.accordion.segmented-control.spinner.tooltip.kbd.sidebar.breadcrumbs.data-state.loading-state.progress.progress-circle.activity-feed.action-menu.filter-bar.notification-center.command-palette.list.empty-state.page-toolbar`.split(`.`),recommendedByMode:{foundation:[`button`,`input`,`textarea`,`checkbox`,`switch`,`radio-group`,`dialog`,`popover`,`select`,`table`,`badge`,`card`,`tabs`,`kbd`,`scroll-box`],sourceCopy:[`sidebar`,`breadcrumbs`,`data-state`,`loading-state`,`progress-circle`,`activity-feed`,`action-menu`,`filter-bar`,`date-picker`,`date-range-picker`,`file-upload`,`use-data-table-view-state`,`data-table`,`notification-center`,`sortable-list`,`virtual-list`,`color-picker`,`signature-pad`,`qr-code`,`rich-text-editor`,`image-cropper`,`command-palette`,`empty-state`,`page-toolbar`,`data-view`],system:[`data-table`,`sidebar`]},publicSurface:{documented:[`button`,`input`,`select`,`card`,`badge`,`checkbox`,`dialog`,`data-table`,`calendar`,`date-picker`,`date-range-picker`,`alert`,`charts`,`sidebar`,`file-upload`,`progress`],standalone:`accordion.divider.segmented-control.skeleton.spinner.command-palette.inline-editable.avatar.code-block.data-state.kanban.list.description-list.statistic.tree-view.copy-button.section.form-builder.empty-state.page-toolbar.bulk-action-bar.detail-layout.settings-page.data-view.resource-page.resource-detail-page.calendar-scheduler.dual-list-picker.resizable-panel.tag.carousel.typography.json-input.time-picker.sortable-list.virtual-list.color-picker.signature-pad.qr-code.rich-text-editor.image-cropper`.split(`.`)},migrationAliases:{"clearable-input":`input`,"search-input":`input`,"password-input":`input`,"number-input":`input`,"money-input":`input`,"phone-input":`input`,"masked-input":`input`,"quantity-input":`input`,"date-input":`input`,"date-range-input":`input`,"simple-select":`select`,combobox:`select`,"hover-card":`popover`,"copy-field":`copy-button`,"comparison-card":`card`,"delta-badge":`badge`,"trend-card":`statistic`,"user-card":`avatar`,"form-async-select":`form-select`,"app-sidebar":`sidebar`,"smart-card":`info-card`,"file-dropzone":`file-upload`,"page-container":`sidebar`,"section-header":`section`,"sidebar-nav":`sidebar`,"stat-card":`statistic`,"sticky-footer-bar":`sidebar`,"input-decorator":`input`,"input-value":`input`,inputs:`input`,"data-table-actions-column":`data-table`,"data-table-bulk-actions":`data-table`,"data-table-column-visibility-menu":`data-table`,"data-table-pagination":`data-table`,"data-table-row-actions":`data-table`,"data-table-saved-filters":`data-table`,"data-table-select-column":`data-table`,"data-table-sortable-header":`data-table`,"data-table-toolbar":`data-table`,"data-table-view-presets":`data-table`,"table-export-menu":`data-table`,"table-import-button":`data-table`,"sheet-shell":`drawer`,"nav-tabs":`tabs`,"page-tabs":`tabs`,"stepper-tabs":`stepper`,"command-bar":`command-palette`,"data-list":`list`,"property-grid":`description-list`,result:`page-state`,"app-header":`sidebar`,"page-header":`section`,kpi:`statistic`,"progress-ring":`progress-circle`,"dialog-actions":`dialog`,"modal-shell":`dialog`,"horizontal-bar-chart":`data-view`}};exports.default=e;
1
+ var e={$schema:`https://tembro.dev/registry.schema.json`,name:`tembro`,version:`3.1.8`,description:`Reusable React + TypeScript UI kit registry`,groups:{ui:[`badge`,`button`,`card`,`checkbox`,`accordion`,`collapse`,`dialog`,`divider`,`dropdown-menu`,`input`,`kbd`,`popover`,`radio-group`,`right-click-menu`,`scroll-box`,`select`,`segmented-control`,`skeleton`,`spinner`,`switch`,`table`,`tabs`,`textarea`,`tooltip`],overlay:[`alert-dialog`,`confirm-dialog`,`drawer`],navigation:[`pagination`],inputs:[`async-select`,`otp-input`,`rating`,`slider`,`tag-input`,`inline-editable`,`color-picker`,`signature-pad`,`json-input`,`time-picker`],form:[`form-date-picker`,`form-date-range-input`,`form-date-range-picker`,`form-field-shell`,`form-input`,`form-select`,`form-switch`,`form-textarea`],feedback:[`alert`,`loading-state`,`page-state`,`data-state`],display:[`activity-feed`,`avatar`,`code-block`,`description-list`,`data-state`,`info-card`,`kanban`,`qr-code`,`virtual-list`,`list`,`progress`,`progress-circle`,`statistic`,`status-dot`,`status-legend`,`timeline`,`tree-view`,`carousel`,`tag`,`typography`],actions:[`action-menu`,`button-group`,`copy-button`,`quick-action-grid`],dnd:[`sortable-list`],layout:[`sidebar`,`breadcrumbs`,`section`],filters:[`filter-bar`,`saved-filter-select`],"data-table":[`data-table`],calendar:[`calendar`,`date-picker`,`date-range-picker`],upload:[`file-upload`,`image-upload`],wizard:[`stepper`,`wizard`],notifications:[`toast`,`notification-center`],command:[`command-palette`],patterns:[`form-builder`,`resource-page`,`resource-detail-page`,`empty-state`,`page-toolbar`,`bulk-action-bar`,`detail-layout`,`settings-page`,`data-view`],modern:[`calendar-scheduler`,`dual-list-picker`,`resizable-panel`,`rich-text-editor`,`image-cropper`],hooks:[`use-session-storage-state`,`use-before-unload-when-dirty`,`use-is-mobile`,`use-disclosure`,`use-debounce`,`use-data-table-view-state`],kits:[`dashboard`,`calendar-kit`,`wizard-kit`,`all`],charts:[]},recommended:`button.input.textarea.checkbox.switch.radio-group.dialog.popover.select.table.badge.card.tabs.collapse.accordion.segmented-control.spinner.tooltip.kbd.sidebar.breadcrumbs.data-state.loading-state.progress.progress-circle.activity-feed.action-menu.filter-bar.notification-center.command-palette.list.empty-state.page-toolbar`.split(`.`),recommendedByMode:{foundation:[`button`,`input`,`textarea`,`checkbox`,`switch`,`radio-group`,`dialog`,`popover`,`select`,`table`,`badge`,`card`,`tabs`,`kbd`,`scroll-box`],sourceCopy:[`sidebar`,`breadcrumbs`,`data-state`,`loading-state`,`progress-circle`,`activity-feed`,`action-menu`,`filter-bar`,`date-picker`,`date-range-picker`,`file-upload`,`use-data-table-view-state`,`data-table`,`notification-center`,`sortable-list`,`virtual-list`,`color-picker`,`signature-pad`,`qr-code`,`rich-text-editor`,`image-cropper`,`command-palette`,`empty-state`,`page-toolbar`,`data-view`],system:[`data-table`,`sidebar`]},publicSurface:{documented:[`button`,`input`,`select`,`card`,`badge`,`checkbox`,`dialog`,`data-table`,`calendar`,`date-picker`,`date-range-picker`,`alert`,`charts`,`sidebar`,`file-upload`,`progress`],standalone:`accordion.divider.segmented-control.skeleton.spinner.command-palette.inline-editable.avatar.code-block.data-state.kanban.list.description-list.statistic.tree-view.copy-button.section.form-builder.empty-state.page-toolbar.bulk-action-bar.detail-layout.settings-page.data-view.resource-page.resource-detail-page.calendar-scheduler.dual-list-picker.resizable-panel.tag.carousel.typography.json-input.time-picker.sortable-list.virtual-list.color-picker.signature-pad.qr-code.rich-text-editor.image-cropper`.split(`.`)},migrationAliases:{"clearable-input":`input`,"search-input":`input`,"password-input":`input`,"number-input":`input`,"money-input":`input`,"phone-input":`input`,"masked-input":`input`,"quantity-input":`input`,"date-input":`input`,"date-range-input":`input`,"simple-select":`select`,combobox:`select`,"hover-card":`popover`,"copy-field":`copy-button`,"comparison-card":`card`,"delta-badge":`badge`,"trend-card":`statistic`,"user-card":`avatar`,"form-async-select":`form-select`,"app-sidebar":`sidebar`,"smart-card":`info-card`,"file-dropzone":`file-upload`,"page-container":`sidebar`,"section-header":`section`,"sidebar-nav":`sidebar`,"stat-card":`statistic`,"sticky-footer-bar":`sidebar`,"input-decorator":`input`,"input-value":`input`,inputs:`input`,"data-table-actions-column":`data-table`,"data-table-bulk-actions":`data-table`,"data-table-column-visibility-menu":`data-table`,"data-table-pagination":`data-table`,"data-table-row-actions":`data-table`,"data-table-saved-filters":`data-table`,"data-table-select-column":`data-table`,"data-table-sortable-header":`data-table`,"data-table-toolbar":`data-table`,"data-table-view-presets":`data-table`,"table-export-menu":`data-table`,"table-import-button":`data-table`,"sheet-shell":`drawer`,"nav-tabs":`tabs`,"page-tabs":`tabs`,"stepper-tabs":`stepper`,"command-bar":`command-palette`,"data-list":`list`,"property-grid":`description-list`,result:`page-state`,"app-header":`sidebar`,"page-header":`section`,kpi:`statistic`,"progress-ring":`progress-circle`,"dialog-actions":`dialog`,"modal-shell":`dialog`,"horizontal-bar-chart":`data-view`}};exports.default=e;
@@ -1,7 +1,7 @@
1
1
  var e = {
2
2
  $schema: "https://tembro.dev/registry.schema.json",
3
3
  name: "tembro",
4
- version: "3.1.6",
4
+ version: "3.1.8",
5
5
  description: "Reusable React + TypeScript UI kit registry",
6
6
  groups: {
7
7
  ui: [
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={textValue:`Azamat UI`,textareaValue:`Controlled preview content for the selected component.`,checked:!0,switchOn:!0,selectValue:`starter`,badgeVariant:`default`,cardCompact:!1,activeTab:`overview`};exports.defaultShowcaseDemoState=e;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e={textValue:`Tembro`,textareaValue:`Controlled preview content for the selected component.`,checked:!0,switchOn:!0,selectValue:`starter`,badgeVariant:`default`,cardCompact:!1,activeTab:`overview`};exports.defaultShowcaseDemoState=e;
@@ -1,6 +1,6 @@
1
1
  //#region src/showcase/types.ts
2
2
  var e = {
3
- textValue: "Azamat UI",
3
+ textValue: "Tembro",
4
4
  textareaValue: "Controlled preview content for the selected component.",
5
5
  checked: !0,
6
6
  switchOn: !0,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tembro",
3
- "version": "3.1.6",
3
+ "version": "3.1.8",
4
4
  "description": "Reusable React UI kit with dashboard-ready components, CLI registry helpers, and TypeScript support.",
5
5
  "keywords": [
6
6
  "react",
@@ -138,6 +138,10 @@
138
138
  "check-version-sync": "node scripts/check-version-sync.mjs",
139
139
  "check-neutral-palette": "node scripts/check-neutral-palette.mjs",
140
140
  "check:showcase-quality": "node scripts/check-showcase-quality.mjs",
141
+ "check:api-schema": "node scripts/check-api-schema-source.mjs",
142
+ "check:fallback-coverage": "node scripts/check-fallback-coverage.mjs",
143
+ "check:theme-contract": "node scripts/check-theme-contract.mjs",
144
+ "check:package-contract": "node scripts/check-package-contract.mjs",
141
145
  "sync:site": "node scripts/sync-public-site.mjs",
142
146
  "test:cli": "node scripts/test-cli.mjs",
143
147
  "lint": "eslint .",
@@ -148,8 +152,8 @@
148
152
  "test:root-exports": "node scripts/check-root-exports.mjs",
149
153
  "test:render": "vitest run --config vitest.config.ts --maxWorkers=1",
150
154
  "test:fixtures": "node scripts/fixture-smoke.mjs",
151
- "test:run": "npm run test:types && npm run test:render && npm run test:a11y && npm run test:registry && npm run test:root-exports && node scripts/ensure-build-output.mjs && npm run test:build-output && npm run check:showcase-quality",
152
- "release:quick": "npm run test:types && npm run test:registry && npm run test:root-exports && npx vitest run tests/render/async-select.test.tsx tests/render/form-select.test.tsx tests/render/base-primitives.test.tsx tests/render/calendar-upload.test.tsx tests/render/data-table.test.tsx --config vitest.config.ts && npm run build:all && npm run check-version-sync && npm run pack:dry-run",
155
+ "test:run": "npm run test:types && npm run test:render && npm run test:a11y && npm run test:registry && npm run test:root-exports && node scripts/ensure-build-output.mjs && npm run test:build-output && npm run check:showcase-quality && npm run check:api-schema && npm run check:fallback-coverage && npm run check:theme-contract && npm run check:package-contract",
156
+ "release:quick": "npm run test:types && npm run test:registry && npm run test:root-exports && npm run check:api-schema && npm run check:fallback-coverage && npm run check:theme-contract && npm run check:package-contract && npx vitest run tests/render/async-select.test.tsx tests/render/form-select.test.tsx tests/render/base-primitives.test.tsx tests/render/calendar-upload.test.tsx tests/render/data-table.test.tsx --config vitest.config.ts && npm run build:all && npm run check-version-sync && npm run pack:dry-run",
153
157
  "release:gate": "npm run lint && npm run build:all && npm run check-version-sync && npm run test:run && npm run test:cli && npm run test:fixtures && npm run pack:dry-run"
154
158
  },
155
159
  "peerDependencies": {