tembro 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/display/carousel.cjs +1 -1
- package/dist/components/display/carousel.d.ts +3 -1
- package/dist/components/display/carousel.js +38 -27
- package/dist/components/inputs/async-select.cjs +1 -1
- package/dist/components/inputs/async-select.js +21 -21
- package/dist/components/ui/select/index.cjs +1 -1
- package/dist/components/ui/select/index.d.ts +1 -1
- package/dist/components/ui/select/index.js +3 -3
- package/dist/showcase/tembro-registry.json.cjs +1 -1
- package/dist/showcase/tembro-registry.json.js +1 -1
- package/package.json +14 -13
- package/packages/cli/dist/index.cjs +2 -2
- package/packages/cli/vendor/src/components/display/carousel.tsx +30 -12
- package/packages/cli/vendor/src/components/inputs/async-select.tsx +22 -22
- package/packages/cli/vendor/src/components/ui/select/index.tsx +4 -4
- package/packages/cli/vendor/src/showcase/tembro-registry.json +1 -1
- package/registry.json +1 -1
|
@@ -1175,9 +1175,9 @@ import { twMerge } from "tailwind-merge"
|
|
|
1175
1175
|
export function cn(...inputs: ClassValue[]) {
|
|
1176
1176
|
return twMerge(clsx(inputs))
|
|
1177
1177
|
}
|
|
1178
|
-
`),await qD({cwd:e,template:i,alias:m.alias,componentsPath:l,hooksPath:h,utilsPath:u}),i==="vite"&&await BD({cwd:e,alias:m.alias}),a.writeThemeCss&&f){let _=await An({cwd:e,cssPath:f});C.success(`Theme CSS yozildi / written: ${_}`);}C.success("Tembro source-copy setup tayyor / initialized."),C.info(`Component source root: ${l}`),C.info(`UI primitives path: ${d}`),C.info(`Hooks path: ${h}`),C.info("Componentlarni ko\u2018rish / list components:"),C.info($e("list")),C.info("Component qo\u2018shish / add components:"),C.info($e("add button input data-table")),s.length>0&&!a.installTailwindDeps&&C.warn(`Tailwind paketlari hali o\u2018rnatilmadi: ${s.join(", ")}`),C.info("Theme CSS ni yangilash / update theme CSS:"),C.info($e("theme"));}var he=Me(rt());var p=(t,e)=>({source:t,target:e}),ne={utils:{name:"utils",category:"lib",dependencies:["clsx","tailwind-merge"],files:[p("src/lib/utils.ts","{utils}")]},button:{name:"button",category:"ui",dependencies:["@base-ui/react","class-variance-authority"],registryDependencies:["utils"],files:[p("src/components/ui/button","{ui}/button")]},input:{name:"input",category:"ui",dependencies:["@base-ui/react"],registryDependencies:["utils"],files:[p("src/components/ui/input","{ui}/input")]},textarea:{name:"textarea",category:"ui",registryDependencies:["utils"],files:[p("src/components/ui/textarea","{ui}/textarea")]},checkbox:{name:"checkbox",category:"ui",dependencies:["lucide-react"],registryDependencies:["utils"],files:[p("src/components/ui/checkbox","{ui}/checkbox")]},switch:{name:"switch",category:"ui",registryDependencies:["utils"],files:[p("src/components/ui/switch","{ui}/switch")]},badge:{name:"badge",category:"ui",dependencies:["@base-ui/react","class-variance-authority"],registryDependencies:["utils"],files:[p("src/components/ui/badge","{ui}/badge")]},card:{name:"card",category:"ui",dependencies:["class-variance-authority"],registryDependencies:["utils"],files:[p("src/components/ui/card","{ui}/card")]},skeleton:{name:"skeleton",category:"ui",registryDependencies:["utils"],files:[p("src/components/ui/skeleton","{ui}/skeleton")]},tabs:{name:"tabs",category:"ui",dependencies:["@base-ui/react"],registryDependencies:["utils"],files:[p("src/components/ui/tabs","{ui}/tabs")]},dialog:{name:"dialog",category:"ui",dependencies:["@base-ui/react","lucide-react"],registryDependencies:["button","utils"],files:[p("src/components/ui/dialog","{ui}/dialog")]},"dropdown-menu":{name:"dropdown-menu",category:"ui",dependencies:["@base-ui/react","lucide-react"],registryDependencies:["utils"],files:[p("src/components/ui/dropdown-menu","{ui}/dropdown-menu")]},popover:{name:"popover",category:"ui",dependencies:["@base-ui/react"],registryDependencies:["utils"],files:[p("src/components/ui/popover","{ui}/popover")]},tooltip:{name:"tooltip",category:"ui",registryDependencies:["utils"],files:[p("src/components/ui/tooltip","{ui}/tooltip")]},select:{name:"select",category:"ui",dependencies:["@base-ui/react","lucide-react"],registryDependencies:["utils"],files:[p("src/components/ui/select","{ui}/select")]},table:{name:"table",category:"ui",registryDependencies:["utils"],files:[p("src/components/ui/table","{ui}/table")]},"segmented-control":{name:"segmented-control",category:"ui",registryDependencies:["utils"],files:[p("src/components/ui/segmented-control","{ui}/segmented-control")]},"radio-group":{name:"radio-group",category:"ui",registryDependencies:["button","utils"],files:[p("src/components/ui/radio-group","{ui}/radio-group")]},kbd:{name:"kbd",category:"ui",files:[p("src/components/ui/kbd","{ui}/kbd")]},"scroll-box":{name:"scroll-box",category:"ui",files:[p("src/components/ui/scroll-box","{ui}/scroll-box")]},"right-click-menu":{name:"right-click-menu",category:"ui",dependencies:["react"],files:[p("src/components/ui/right-click-menu","{ui}/right-click-menu")]},accordion:{name:"accordion",category:"ui",registryDependencies:["collapse"],files:[p("src/components/ui/accordion","{ui}/accordion")]},"input-decorator":{name:"input-decorator",category:"inputs",dependencies:["class-variance-authority"],registryDependencies:["input","utils"],files:[p("src/components/inputs/input-decorator.tsx","{components}/inputs/input-decorator.tsx")]},"input-value":{name:"input-value",category:"inputs",files:[p("src/components/inputs/input-value.ts","{components}/inputs/input-value.ts")]},"clearable-input":{name:"clearable-input",category:"inputs",dependencies:["lucide-react"],registryDependencies:["input-decorator","input-value"],files:[p("src/components/inputs/clearable-input.tsx","{components}/inputs/clearable-input.tsx")]},"search-input":{name:"search-input",category:"inputs",dependencies:["lucide-react"],registryDependencies:["clearable-input"],files:[p("src/components/inputs/search-input.tsx","{components}/inputs/search-input.tsx")]},"password-input":{name:"password-input",category:"inputs",dependencies:["lucide-react"],registryDependencies:["input-decorator"],files:[p("src/components/inputs/password-input.tsx","{components}/inputs/password-input.tsx")]},"number-input":{name:"number-input",category:"inputs",registryDependencies:["input-decorator"],files:[p("src/components/inputs/number-input.tsx","{components}/inputs/number-input.tsx")]},"date-input":{name:"date-input",category:"inputs",dependencies:["lucide-react"],registryDependencies:["input-decorator","input-value"],files:[p("src/components/inputs/date-input.tsx","{components}/inputs/date-input.tsx")]},"date-range-input":{name:"date-range-input",category:"inputs",registryDependencies:["date-input","utils"],files:[p("src/components/inputs/date-range-input.tsx","{components}/inputs/date-range-input.tsx")]},"money-input":{name:"money-input",category:"inputs",registryDependencies:["input","utils"],files:[p("src/components/inputs/money-input.tsx","{components}/inputs/money-input.tsx")]},"quantity-input":{name:"quantity-input",category:"inputs",dependencies:["lucide-react"],registryDependencies:["button","input","utils"],files:[p("src/components/inputs/quantity-input.tsx","{components}/inputs/quantity-input.tsx")]},"masked-input":{name:"masked-input",category:"inputs",registryDependencies:["input-decorator","input-value"],files:[p("src/components/inputs/masked-input.tsx","{components}/inputs/masked-input.tsx")]},"phone-input":{name:"phone-input",category:"inputs",dependencies:["lucide-react"],registryDependencies:["masked-input"],files:[p("src/components/inputs/phone-input.tsx","{components}/inputs/phone-input.tsx")]},"tag-input":{name:"tag-input",category:"inputs",dependencies:["lucide-react"],registryDependencies:["badge","input","utils"],files:[p("src/components/inputs/tag-input.tsx","{components}/inputs/tag-input.tsx")]},"simple-select":{name:"simple-select",category:"inputs",dependencies:["lucide-react"],registryDependencies:["select","utils"],files:[p("src/components/inputs/simple-select.tsx","{components}/inputs/simple-select.tsx")]},"async-select":{name:"async-select",category:"inputs",dependencies:["lucide-react"],registryDependencies:["button","input","popover","utils"],files:[p("src/components/inputs/async-select.tsx","{components}/inputs/async-select.tsx")]},inputs:{name:"inputs",category:"group",registryDependencies:["clearable-input","search-input","password-input","number-input","date-input","date-range-input","money-input","quantity-input","masked-input","phone-input","tag-input","simple-select","async-select"],files:[p("src/components/inputs/index.ts","{components}/inputs/index.ts")]},"form-field-shell":{name:"form-field-shell",category:"form",registryDependencies:["utils"],files:[p("src/components/form/form-field-shell.tsx","{components}/form/form-field-shell.tsx")]},"form-input":{name:"form-input",category:"form",dependencies:["react-hook-form"],registryDependencies:["input","search-input","password-input","number-input","phone-input","date-input","form-field-shell"],files:[p("src/components/form/form-input.tsx","{components}/form/form-input.tsx")]},"form-select":{name:"form-select",category:"form",dependencies:["react-hook-form"],registryDependencies:["simple-select","async-select","form-field-shell"],files:[p("src/components/form/form-select.tsx","{components}/form/form-select.tsx")]},"form-async-select":{name:"form-async-select",category:"form",migrationAliasFor:"form-select",dependencies:["react-hook-form"],registryDependencies:["async-select","form-field-shell"],files:[p("src/components/form/form-async-select.tsx","{components}/form/form-async-select.tsx")]},"form-textarea":{name:"form-textarea",category:"form",dependencies:["react-hook-form"],registryDependencies:["textarea","form-field-shell"],files:[p("src/components/form/form-textarea.tsx","{components}/form/form-textarea.tsx")]},"form-switch":{name:"form-switch",category:"form",dependencies:["react-hook-form"],registryDependencies:["switch","form-field-shell","utils"],files:[p("src/components/form/form-switch.tsx","{components}/form/form-switch.tsx")]},"form-search-input":{name:"form-search-input",category:"form",migrationAliasFor:"form-input",dependencies:["react-hook-form"],registryDependencies:["form-input"],files:[p("src/components/form/form-search-input.tsx","{components}/form/form-search-input.tsx")]},"form-password-input":{name:"form-password-input",category:"form",migrationAliasFor:"form-input",dependencies:["react-hook-form"],registryDependencies:["password-input","form-field-shell"],files:[p("src/components/form/form-password-input.tsx","{components}/form/form-password-input.tsx")]},"form-number-input":{name:"form-number-input",category:"form",migrationAliasFor:"form-input",dependencies:["react-hook-form"],registryDependencies:["form-input"],files:[p("src/components/form/form-number-input.tsx","{components}/form/form-number-input.tsx")]},"form-phone-input":{name:"form-phone-input",category:"form",migrationAliasFor:"form-input",dependencies:["react-hook-form"],registryDependencies:["form-input"],files:[p("src/components/form/form-phone-input.tsx","{components}/form/form-phone-input.tsx")]},"form-date-input":{name:"form-date-input",category:"form",migrationAliasFor:"form-input",dependencies:["react-hook-form"],registryDependencies:["form-input"],files:[p("src/components/form/form-date-input.tsx","{components}/form/form-date-input.tsx")]},"form-date-range-input":{name:"form-date-range-input",category:"form",dependencies:["react-hook-form"],registryDependencies:["date-range-input","form-field-shell"],files:[p("src/components/form/form-date-range-input.tsx","{components}/form/form-date-range-input.tsx")]},"form-date-picker":{name:"form-date-picker",category:"form",dependencies:["react-hook-form"],registryDependencies:["date-picker","form-field-shell"],files:[p("src/components/form/form-date-picker.tsx","{components}/form/form-date-picker.tsx")]},"form-date-range-picker":{name:"form-date-range-picker",category:"form",dependencies:["react-hook-form"],registryDependencies:["date-range-picker","form-field-shell"],files:[p("src/components/form/form-date-range-picker.tsx","{components}/form/form-date-range-picker.tsx")]},form:{name:"form",category:"group",registryDependencies:["form-field-shell","form-input","form-select","form-async-select","form-textarea","form-switch","form-search-input","form-password-input","form-number-input","form-phone-input","form-date-input","form-date-range-input","form-date-picker","form-date-range-picker"],files:[p("src/components/form/index.ts","{components}/form/index.ts")]},"dialog-actions":{name:"dialog-actions",category:"overlay",dependencies:["lucide-react"],registryDependencies:["button","dialog"],files:[p("src/components/overlay/dialog-actions.tsx","{components}/overlay/dialog-actions.tsx")]},"modal-shell":{name:"modal-shell",category:"overlay",dependencies:["@base-ui/react"],registryDependencies:["button","dialog"],files:[p("src/components/overlay/modal-shell.tsx","{components}/overlay/modal-shell.tsx")]},"confirm-dialog":{name:"confirm-dialog",category:"overlay",dependencies:["lucide-react"],registryDependencies:["dialog-actions"],files:[p("src/components/overlay/confirm-dialog.tsx","{components}/overlay/confirm-dialog.tsx")]},"sheet-shell":{name:"sheet-shell",category:"overlay",registryDependencies:["dialog"],files:[p("src/components/overlay/sheet-shell.tsx","{components}/overlay/sheet-shell.tsx")]},"alert-dialog":{name:"alert-dialog",category:"overlay",dependencies:["lucide-react"],registryDependencies:["dialog","button"],files:[p("src/components/overlay/alert-dialog.tsx","{components}/overlay/alert-dialog.tsx")]},drawer:{name:"drawer",category:"overlay",dependencies:["@base-ui/react"],registryDependencies:["dialog"],files:[p("src/components/overlay/drawer.tsx","{components}/overlay/drawer.tsx")]},"empty-state":{name:"empty-state",category:"feedback",dependencies:["lucide-react"],registryDependencies:["button","utils"],files:[p("src/components/feedback/empty-state.tsx","{components}/feedback/empty-state.tsx")]},"loading-state":{name:"loading-state",category:"feedback",dependencies:["lucide-react"],registryDependencies:["utils"],files:[p("src/components/feedback/loading-state.tsx","{components}/feedback/loading-state.tsx")]},"page-state":{name:"page-state",category:"feedback",registryDependencies:["button","utils"],files:[p("src/components/feedback/page-state.tsx","{components}/feedback/page-state.tsx")]},feedback:{name:"feedback",category:"group",registryDependencies:["empty-state","loading-state","page-state"],files:[p("src/components/feedback/index.ts","{components}/feedback/index.ts")]},"stat-card":{name:"stat-card",category:"layout",registryDependencies:["card","badge","utils"],files:[p("src/components/layout/stat-card.tsx","{components}/layout/stat-card.tsx")]},sidebar:{name:"sidebar",category:"layout",dependencies:["react"],registryDependencies:["tooltip","utils"],files:[p("src/components/layout/app-sidebar.tsx","{components}/layout/sidebar.tsx")]},layout:{name:"layout",category:"group",registryDependencies:["sidebar","stat-card"],files:[p("src/components/layout/index.ts","{components}/layout/index.ts")]},calendar:{name:"calendar",category:"calendar",files:[p("src/components/calendar/calendar.tsx","{components}/calendar/calendar.tsx"),p("src/components/calendar/date-utils.ts","{components}/calendar/date-utils.ts")]},"date-picker":{name:"date-picker",category:"calendar",registryDependencies:["calendar"],files:[p("src/components/calendar/date-picker.tsx","{components}/calendar/date-picker.tsx")]},"date-range-picker":{name:"date-range-picker",category:"calendar",registryDependencies:["calendar"],files:[p("src/components/calendar/date-range-picker.tsx","{components}/calendar/date-range-picker.tsx")]},dashboard:{name:"dashboard",category:"group",registryDependencies:["layout","feedback","inputs","form"]},all:{name:"all",category:"group",registryDependencies:["dashboard"]}},HD=[{name:"action-menu",category:"actions",files:[p("src/components/actions/action-menu.tsx","{components}/actions/action-menu.tsx")]},{name:"activity-feed",category:"display",files:[p("src/components/display/activity-feed.tsx","{components}/display/activity-feed.tsx")]},{name:"alert",category:"feedback",files:[p("src/components/feedback/alert.tsx","{components}/feedback/alert.tsx")]},{name:"anchor-nav",category:"navigation",files:[p("src/components/navigation/anchor-nav.tsx","{components}/navigation/anchor-nav.tsx")]},{name:"app-header",category:"layout",files:[p("src/components/layout/app-header.tsx","{components}/layout/app-header.tsx")]},{name:"app-sidebar",category:"layout",migrationAliasFor:"sidebar",files:[p("src/components/layout/app-sidebar.tsx","{components}/layout/app-sidebar.tsx")]},{name:"avatar",category:"display",files:[p("src/components/display/avatar.tsx","{components}/display/avatar.tsx")]},{name:"breadcrumbs",category:"layout",files:[p("src/components/layout/breadcrumbs.tsx","{components}/layout/breadcrumbs.tsx")]},{name:"button-group",category:"actions",files:[p("src/components/actions/button-group.tsx","{components}/actions/button-group.tsx")]},{name:"charts",category:"charts",files:[p("src/components/charts/charts.tsx","{components}/charts/charts.tsx")]},{name:"code-block",category:"display",files:[p("src/components/display/code-block.tsx","{components}/display/code-block.tsx")]},{name:"collapse",category:"ui",files:[p("src/components/ui/collapse","{ui}/collapse")]},{name:"color-input",category:"inputs",files:[p("src/components/inputs/color-input.tsx","{components}/inputs/color-input.tsx")]},{name:"combobox",category:"inputs",files:[p("src/components/inputs/combobox.tsx","{components}/inputs/combobox.tsx")]},{name:"command",category:"ui",files:[p("src/components/ui/command","{ui}/command")]},{name:"command-palette",category:"command",files:[p("src/components/command/command-palette.tsx","{components}/command/command-palette.tsx")]},{name:"copy-button",category:"actions",files:[p("src/components/actions/copy-button.tsx","{components}/actions/copy-button.tsx")]},{name:"copy-field",category:"actions",files:[p("src/components/actions/copy-field.tsx","{components}/actions/copy-field.tsx")]},{name:"data-state",category:"display",files:[p("src/components/display/data-state.tsx","{components}/display/data-state.tsx")]},{name:"data-list",category:"display",files:[p("src/components/display/data-list.tsx","{components}/display/data-list.tsx")]},{name:"data-table",category:"data-table",files:[p("src/components/data-table/data-table.tsx","{components}/data-table/data-table.tsx")]},{name:"data-table-actions-column",category:"data-table",files:[p("src/components/data-table/data-table-actions-column.tsx","{components}/data-table/data-table-actions-column.tsx")]},{name:"data-table-bulk-actions",category:"data-table",files:[p("src/components/data-table/data-table-bulk-actions.tsx","{components}/data-table/data-table-bulk-actions.tsx")]},{name:"data-table-column-visibility-menu",category:"data-table",files:[p("src/components/data-table/data-table-column-visibility-menu.tsx","{components}/data-table/data-table-column-visibility-menu.tsx")]},{name:"data-table-pagination",category:"data-table",files:[p("src/components/data-table/data-table-pagination.tsx","{components}/data-table/data-table-pagination.tsx")]},{name:"data-table-row-actions",category:"data-table",files:[p("src/components/data-table/data-table-row-actions.tsx","{components}/data-table/data-table-row-actions.tsx")]},{name:"data-table-select-column",category:"data-table",files:[p("src/components/data-table/data-table-select-column.tsx","{components}/data-table/data-table-select-column.tsx")]},{name:"data-table-sortable-header",category:"data-table",files:[p("src/components/data-table/data-table-sortable-header.tsx","{components}/data-table/data-table-sortable-header.tsx")]},{name:"data-table-toolbar",category:"data-table",files:[p("src/components/data-table/data-table-toolbar.tsx","{components}/data-table/data-table-toolbar.tsx")]},{name:"data-table-view-presets",category:"data-table",files:[p("src/components/data-table/data-table-view-presets.tsx","{components}/data-table/data-table-view-presets.tsx")]},{name:"data-table-saved-filters",category:"data-table",files:[p("src/components/data-table/data-table-saved-filters.tsx","{components}/data-table/data-table-saved-filters.tsx")]},{name:"description-list",category:"display",files:[p("src/components/display/description-list.tsx","{components}/display/description-list.tsx")]},{name:"descriptions",category:"display",files:[p("src/components/display/descriptions.tsx","{components}/display/descriptions.tsx")]},{name:"divider",category:"ui",files:[p("src/components/ui/divider","{ui}/divider")]},{name:"entity-card",category:"display",files:[p("src/components/display/entity-card.tsx","{components}/display/entity-card.tsx")]},{name:"file-card",category:"display",files:[p("src/components/display/file-card.tsx","{components}/display/file-card.tsx")]},{name:"file-dropzone",category:"upload",files:[p("src/components/upload/file-dropzone.tsx","{components}/upload/file-dropzone.tsx")]},{name:"file-upload",category:"upload",files:[p("src/components/upload/file-upload.tsx","{components}/upload/file-upload.tsx")]},{name:"filter-bar",category:"filters",files:[p("src/components/filters/filter-bar.tsx","{components}/filters/filter-bar.tsx")]},{name:"filter-chips",category:"filters",files:[p("src/components/filters/filter-chips.tsx","{components}/filters/filter-chips.tsx")]},{name:"form-builder",category:"patterns",files:[p("src/components/patterns/form-builder.tsx","{components}/patterns/form-builder.tsx")]},{name:"horizontal-bar-chart",category:"charts",files:[p("src/components/charts/horizontal-bar-chart.tsx","{components}/charts/horizontal-bar-chart.tsx")]},{name:"image-upload",category:"upload",files:[p("src/components/upload/image-upload.tsx","{components}/upload/image-upload.tsx")]},{name:"input-group",category:"ui",files:[p("src/components/ui/input-group","{ui}/input-group")]},{name:"input-primitive",category:"ui",files:[p("src/components/ui/input-primitive","{ui}/input-primitive")]},{name:"kanban",category:"display",files:[p("src/components/display/kanban.tsx","{components}/display/kanban.tsx")]},{name:"keyboard-shortcut",category:"display",files:[p("src/components/display/keyboard-shortcut.tsx","{components}/display/keyboard-shortcut.tsx")]},{name:"key-value-card",category:"display",registryDependencies:["card"],files:[p("src/components/display/key-value-card.tsx","{components}/display/key-value-card.tsx")]},{name:"kpi",category:"charts",files:[p("src/components/charts/kpi.tsx","{components}/charts/kpi.tsx")]},{name:"list",category:"display",files:[p("src/components/display/list.tsx","{components}/display/list.tsx")]},{name:"metric-grid",category:"display",files:[p("src/components/display/metric-grid.tsx","{components}/display/metric-grid.tsx")]},{name:"nav-tabs",category:"navigation",files:[p("src/components/navigation/nav-tabs.tsx","{components}/navigation/nav-tabs.tsx")]},{name:"otp-input",category:"inputs",files:[p("src/components/inputs/otp-input.tsx","{components}/inputs/otp-input.tsx")]},{name:"page-container",category:"layout",files:[p("src/components/layout/page-container.tsx","{components}/layout/page-container.tsx")]},{name:"page-tabs",category:"navigation",files:[p("src/components/navigation/page-tabs.tsx","{components}/navigation/page-tabs.tsx")]},{name:"pagination",category:"navigation",files:[p("src/components/navigation/pagination.tsx","{components}/navigation/pagination.tsx")]},{name:"progress",category:"display",files:[p("src/components/display/progress.tsx","{components}/display/progress.tsx")]},{name:"progress-circle",category:"display",files:[p("src/components/display/progress-circle.tsx","{components}/display/progress-circle.tsx")]},{name:"progress-ring",category:"charts",files:[p("src/components/charts/progress-ring.tsx","{components}/charts/progress-ring.tsx")]},{name:"property-grid",category:"display",files:[p("src/components/display/property-grid.tsx","{components}/display/property-grid.tsx")]},{name:"quantity-stepper",category:"inputs",files:[p("src/components/inputs/quantity-stepper.tsx","{components}/inputs/quantity-stepper.tsx")]},{name:"quick-action-grid",category:"actions",files:[p("src/components/actions/quick-action-grid.tsx","{components}/actions/quick-action-grid.tsx")]},{name:"rating",category:"inputs",files:[p("src/components/inputs/rating.tsx","{components}/inputs/rating.tsx")]},{name:"resource-detail-page",category:"patterns",files:[p("src/components/patterns/resource-detail-page.tsx","{components}/patterns/resource-detail-page.tsx")]},{name:"resource-page",category:"patterns",files:[p("src/components/patterns/resource-page.tsx","{components}/patterns/resource-page.tsx")]},{name:"result",category:"display",files:[p("src/components/display/result.tsx","{components}/display/result.tsx")]},{name:"section",category:"layout",files:[p("src/components/layout/section.tsx","{components}/layout/section.tsx")]},{name:"section-header",category:"layout",files:[p("src/components/layout/section-header.tsx","{components}/layout/section-header.tsx")]},{name:"sidebar-nav",category:"layout",files:[p("src/components/layout/sidebar-nav.tsx","{components}/layout/sidebar-nav.tsx")]},{name:"slider",category:"inputs",files:[p("src/components/inputs/slider.tsx","{components}/inputs/slider.tsx")]},{name:"info-card",category:"display",files:[p("src/components/display/smart-card.tsx","{components}/display/smart-card.tsx")]},{name:"spinner",category:"ui",files:[p("src/components/ui/spinner","{ui}/spinner")]},{name:"stack",category:"layout",files:[p("src/components/layout/stack.tsx","{components}/layout/stack.tsx")]},{name:"statistic",category:"display",files:[p("src/components/display/statistic.tsx","{components}/display/statistic.tsx")]},{name:"status-dot",category:"display",files:[p("src/components/display/status-dot.tsx","{components}/display/status-dot.tsx")]},{name:"status-legend",category:"display",files:[p("src/components/display/status-legend.tsx","{components}/display/status-legend.tsx")]},{name:"stepper",category:"wizard",files:[p("src/components/wizard/stepper.tsx","{components}/wizard/stepper.tsx")]},{name:"stepper-tabs",category:"navigation",files:[p("src/components/navigation/stepper-tabs.tsx","{components}/navigation/stepper-tabs.tsx")]},{name:"sticky-footer-bar",category:"layout",files:[p("src/components/layout/sticky-footer-bar.tsx","{components}/layout/sticky-footer-bar.tsx")]},{name:"table-export-menu",category:"data-table",files:[p("src/components/data-table/table-export-menu.tsx","{components}/data-table/table-export-menu.tsx")]},{name:"table-import-button",category:"data-table",files:[p("src/components/data-table/table-import-button.tsx","{components}/data-table/table-import-button.tsx")]},{name:"tag-list",category:"display",files:[p("src/components/display/tag-list.tsx","{components}/display/tag-list.tsx")]},{name:"timeline",category:"display",files:[p("src/components/display/timeline.tsx","{components}/display/timeline.tsx")]},{name:"toast",category:"notifications",files:[p("src/components/notifications/toast.tsx","{components}/notifications/toast.tsx")]},{name:"tree-view",category:"display",files:[p("src/components/display/tree-view.tsx","{components}/display/tree-view.tsx")]},{name:"use-before-unload-when-dirty",category:"hooks",files:[p("src/hooks/use-before-unload-when-dirty.ts","{hooks}/use-before-unload-when-dirty.ts")]},{name:"use-data-table-view-state",category:"hooks",files:[p("src/hooks/use-data-table-view-state.ts","{hooks}/use-data-table-view-state.ts")]},{name:"use-debounce",category:"hooks",files:[p("src/hooks/use-debounce.ts","{hooks}/use-debounce.ts")]},{name:"use-disclosure",category:"hooks",files:[p("src/hooks/use-disclosure.ts","{hooks}/use-disclosure.ts")]},{name:"use-is-mobile",category:"hooks",files:[p("src/hooks/use-is-mobile.ts","{hooks}/use-is-mobile.ts")]},{name:"use-session-storage-state",category:"hooks",files:[p("src/hooks/use-session-storage-state.ts","{hooks}/use-session-storage-state.ts")]},{name:"user-card",category:"display",files:[p("src/components/display/user-card.tsx","{components}/display/user-card.tsx")]},{name:"wizard",category:"wizard",files:[p("src/components/wizard/wizard.tsx","{components}/wizard/wizard.tsx")]},{name:"trend-card",category:"display",files:[p("src/components/display/trend-card.tsx","{components}/display/trend-card.tsx")]},{name:"comparison-card",category:"display",files:[p("src/components/display/comparison-card.tsx","{components}/display/comparison-card.tsx")]},{name:"delta-badge",category:"display",files:[p("src/components/display/delta-badge.tsx","{components}/display/delta-badge.tsx")]},{name:"skeleton-table",category:"display",files:[p("src/components/display/skeleton-table.tsx","{components}/display/skeleton-table.tsx")]},{name:"skeleton-form",category:"display",files:[p("src/components/display/skeleton-form.tsx","{components}/display/skeleton-form.tsx")]},{name:"entity-header",category:"display",files:[p("src/components/display/entity-header.tsx","{components}/display/entity-header.tsx")]},{name:"inline-editable",category:"inputs",files:[p("src/components/inputs/inline-editable.tsx","{components}/inputs/inline-editable.tsx")]},{name:"repeater-field",category:"form",files:[p("src/components/form/repeater-field.tsx","{components}/form/repeater-field.tsx")]},{name:"empty-search-state",category:"feedback",files:[p("src/components/feedback/empty-search-state.tsx","{components}/feedback/empty-search-state.tsx")]},{name:"command-bar",category:"navigation",files:[p("src/components/navigation/command-bar.tsx","{components}/navigation/command-bar.tsx")]},{name:"saved-filter-select",category:"filters",files:[p("src/components/filters/saved-filter-select.tsx","{components}/filters/saved-filter-select.tsx")]},{name:"notification-center",category:"notifications",files:[p("src/components/notifications/notification-center.tsx","{components}/notifications/notification-center.tsx")]}];for(let t of HD)ne[t.name]??=t;var Dn=Object.keys(ne);var Pn=Me(rt());function In(t){let e=U__default.default.dirname(url.fileURLToPath(t)),r=U__default.default.resolve(e,"../vendor");if(Pn.default.existsSync(U__default.default.join(r,"src")))return r;let i=[U__default.default.resolve(e,"../.."),U__default.default.resolve(e,".."),process.cwd()];for(let n of i){let o=U__default.default.join(n,"package.json");if(Pn.default.existsSync(o))try{if(Pn.default.readJsonSync(o).name===Ay)return n}catch{}}return U__default.default.resolve(e,"../..")}function YD(t){return t in ne}function Iy(t){if(t.paths?.components)return t.paths.components;let e=t.componentsPath??"src/components/ui";return e.endsWith("/ui")||e.endsWith("\\ui")?U__default.default.dirname(e):e}function JD(t,e){let r=Iy(e),i=e.paths?.ui??e.componentsPath??U__default.default.join(r,"ui"),n=e.paths?.hooks??"src/hooks",o=e.paths?.lib??U__default.default.dirname(e.utilsPath??"src/lib/utils.ts"),s=e.utilsPath??U__default.default.join(o,"utils.ts");return t.replaceAll("{components}",r).replaceAll("{ui}",i).replaceAll("{hooks}",n).replaceAll("{lib}",o).replaceAll("{utils}",s)}function KD(t,e="@"){return e==="@"?t:t.replaceAll("@/",`${e}/`)}function ZD(t,e){let r=t.replaceAll("\\","/");if(r==="src/lib/utils.ts")return e.utilsPath??"src/lib/utils.ts";if(r.startsWith("src/hooks/"))return U__default.default.join(e.paths?.hooks??"src/hooks",r.replace("src/hooks/",""));if(r.startsWith("src/families/"))return U__default.default.join("src/families",r.replace("src/families/",""));if(r.startsWith("src/components/ui/")){let i=e.paths?.ui??e.componentsPath??"src/components/ui";return U__default.default.join(i,r.replace("src/components/ui/",""))}if(r.startsWith("src/components/")){let i=Iy(e);return U__default.default.join(i,r.replace("src/components/",""))}}function XD(t){if(t==="@/lib/utils")return "src/lib/utils.ts";if(t.startsWith("@/components/"))return `src/components/${t.replace("@/components/","")}`;if(t.startsWith("@/hooks/"))return `src/hooks/${t.replace("@/hooks/","")}`;if(t.startsWith("@/families/"))return `src/families/${t.replace("@/families/","")}`}function QD(t){return [`${t}.tsx`,`${t}.ts`,U__default.default.join(t,"index.ts").replaceAll("\\","/"),U__default.default.join(t,"index.tsx").replaceAll("\\","/")]}function e1(t){let e=new Set,r=/from\s+["'](@\/(?:components|hooks|lib|families)\/[^"']+)["']|import\s*\(\s*["'](@\/(?:components|hooks|lib|families)\/[^"']+)["']\s*\)/g,i;for(;i=r.exec(t);){let n=i[1]??i[2],o=XD(n);o&&e.add(o);}return [...e]}function t1(t){let e=[],r=new Set;function i(n){if(r.has(n))return;let o=ne[n];o.registryDependencies?.forEach(i),r.add(n),e.push(o);}return t.forEach(i),e}function r1(){return Dn.filter(t=>ne[t].category!=="lib").sort().join(", ")}async function $y(t,e={}){let r=process.cwd(),i=U__default.default.join(r,"tembro.json");he.default.existsSync(i)||(C.error("tembro.json topilmadi. Avval init qiling:"),C.info($e("init")),process.exit(1)),t.length||(C.error("Component nomini kiriting:"),C.info($e("add data-table async-select form-input")),C.info(`Mavjud componentlar: ${r1()}`),process.exit(1));let n=[];for(let h of t){if(!YD(h)){C.warn(`${h} registry ichida mavjud emas.`);continue}n.push(h);}n.length||(C.error("Qo\u2018shish uchun valid component topilmadi."),process.exit(1));let o=await he.default.readJson(i),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))),a=bi(r),c=t1(n),u=new Set,l=new Set;async function d(h,f){let m=h.replaceAll("\\","/");if(l.has(m))return;let b=U__default.default.join(s,m);if(!he.default.existsSync(b)){C.warn(`${m} topilmadi. O\u2018tkazib yuborildi.`);return}if((await he.default.stat(b)).isDirectory()){l.add(m);let _=await he.default.readdir(b,{withFileTypes:true});for(let V of _){let ce=U__default.default.posix.join(m,V.name),pe=f?U__default.default.posix.join(f.replaceAll("\\","/"),V.name):void 0;await d(ce,pe);}return}l.add(m);let y=f?JD(f,o):ZD(m,o);if(!y)return;let v=U__default.default.join(r,y);if(e.dryRun)C.info(`[dry-run] ${m} -> ${U__default.default.relative(r,v)}`);else if(he.default.existsSync(v)&&!e.overwrite)C.warn(`${U__default.default.relative(r,v)} allaqachon mavjud. O\u2018tkazib yuborildi.`);else {await he.default.ensureDir(U__default.default.dirname(v));let _=await he.default.readFile(b,"utf8");await he.default.writeFile(v,KD(_,o.alias)),C.success(`${U__default.default.relative(r,v)} qo\u2018shildi.`);}let E=await he.default.readFile(b,"utf8");for(let _ of e1(E))for(let V of QD(_))if(he.default.existsSync(U__default.default.join(s,V))){await d(V);break}}for(let h of c){h.dependencies?.forEach(f=>u.add(f));for(let f of h.files??[])await d(f.source,f.target);}!e.skipInstall&&u.size>0&&!e.dryRun&&await jr({cwd:r,packageManager:a,packages:Array.from(u)}),C.success("Componentlar muvaffaqiyatli qo\u2018shildi.");}var i1={utils:"internal",button:"stable",input:"stable",textarea:"stable",checkbox:"stable",switch:"stable",badge:"stable",card:"stable",dialog:"stable","dropdown-menu":"stable",popover:"stable",select:"stable",table:"stable","radio-group":"stable","scroll-box":"stable","right-click-menu":"stable",accordion:"stable",kbd:"stable","dialog-actions":"stable","modal-shell":"stable","confirm-dialog":"stable","sheet-shell":"stable","alert-dialog":"stable",drawer:"stable",overlay:"stable",pagination:"stable","clearable-input":"preview","search-input":"preview","password-input":"preview","number-input":"preview","date-input":"preview","date-range-input":"preview","money-input":"preview","quantity-input":"preview","masked-input":"preview","phone-input":"preview","simple-select":"preview","async-select":"preview",inputs:"preview","form-field-shell":"preview","form-input":"preview","form-select":"preview","form-async-select":"preview","form-textarea":"preview","form-switch":"preview","form-search-input":"preview","form-password-input":"preview","form-number-input":"preview","form-phone-input":"preview","form-date-input":"preview","form-date-range-input":"preview","form-date-picker":"preview","form-date-range-picker":"preview",form:"preview","empty-state":"stable","loading-state":"stable",feedback:"stable","description-list":"stable",progress:"stable",result:"stable",timeline:"stable","metric-grid":"stable","info-card":"stable","activity-feed":"stable",display:"stable","action-menu":"stable",actions:"stable","stat-card":"stable","app-header":"stable",sidebar:"stable","app-sidebar":"stable","sidebar-nav":"stable",breadcrumbs:"stable","page-container":"stable",layout:"stable","filter-bar":"stable",filters:"stable","data-table-toolbar":"preview","data-table-pagination":"preview","data-table-column-visibility-menu":"preview","data-table-select-column":"preview","data-table-sortable-header":"preview","data-table-row-actions":"preview","data-table-actions-column":"preview","data-table-bulk-actions":"preview","data-table-view-presets":"preview","data-table-saved-filters":"preview","data-table":"preview",calendar:"preview","date-picker":"preview","date-range-picker":"preview","calendar-kit":"preview","file-upload":"preview","image-upload":"preview",upload:"preview",stepper:"preview",wizard:"preview","wizard-kit":"preview",toast:"preview",notifications:"preview","command-palette":"preview",command:"preview","resource-page":"preview","resource-detail-page":"preview","form-builder":"experimental",patterns:"preview","use-session-storage-state":"stable","use-before-unload-when-dirty":"stable","use-is-mobile":"stable","use-disclosure":"stable","use-debounce":"stable","use-data-table-view-state":"preview",hooks:"stable",dashboard:"preview",all:"preview","trend-card":"preview","comparison-card":"preview","delta-badge":"preview","skeleton-table":"preview","skeleton-form":"preview","entity-header":"preview","data-list":"preview","key-value-card":"preview","inline-editable":"preview","repeater-field":"preview","empty-search-state":"preview","command-bar":"preview","saved-filter-select":"preview","notification-center":"preview"};function La(t){return i1[t]??"preview"}var n1={lib:"foundation",ui:"foundation",hooks:"foundation",overlay:"source-copy",navigation:"source-copy",inputs:"source-copy",form:"source-copy",feedback:"source-copy",display:"source-copy",actions:"source-copy",layout:"source-copy",filters:"source-copy","data-table":"system",calendar:"source-copy",upload:"source-copy",wizard:"source-copy",notifications:"source-copy",command:"source-copy",patterns:"system",group:"system"},o1={utils:"foundation",button:"foundation",input:"foundation",textarea:"foundation",checkbox:"foundation",switch:"foundation",badge:"foundation",card:"foundation",skeleton:"foundation",tabs:"foundation",dialog:"foundation","dropdown-menu":"foundation",popover:"foundation",select:"foundation",table:"foundation","use-session-storage-state":"foundation","use-before-unload-when-dirty":"foundation","use-is-mobile":"foundation","use-disclosure":"foundation","use-debounce":"foundation",hooks:"foundation","data-table":"system","form-builder":"system","resource-page":"system","resource-detail-page":"system","calendar-kit":"system","wizard-kit":"system",dashboard:"system",all:"system"};function qa(t,e){return o1[t]??n1[e]}var My=[{slug:"button",registryName:"button",surface:"documented"},{slug:"input",registryName:"input",surface:"documented"},{slug:"select",registryName:"select",surface:"documented"},{slug:"card",registryName:"card",surface:"documented"},{slug:"badge",registryName:"badge",surface:"documented"},{slug:"checkbox",registryName:"checkbox",surface:"documented"},{slug:"overlay",registryName:"dialog",surface:"documented"},{slug:"form-field",registryName:"form-field-shell",surface:"documented"},{slug:"data-table",registryName:"data-table",surface:"documented"},{slug:"alert",registryName:"alert",surface:"documented"},{slug:"bar-chart",registryName:"charts",surface:"documented"},{slug:"sidebar",registryName:"sidebar",surface:"documented"},{slug:"file-upload",registryName:"file-upload",surface:"documented"},{slug:"progress",registryName:"progress",surface:"documented"}],Ba=[{slug:"accordion",registryName:"accordion",surface:"standalone"},{slug:"divider",registryName:"divider",surface:"standalone"},{slug:"segmented-control",registryName:"segmented-control",surface:"standalone"},{slug:"skeleton",registryName:"skeleton",surface:"standalone"},{slug:"spinner",registryName:"spinner",surface:"standalone"},{slug:"command-bar",registryName:"command-bar",surface:"standalone"},{slug:"quantity-stepper",registryName:"quantity-stepper",surface:"standalone"},{slug:"inline-editable",registryName:"inline-editable",surface:"standalone"},{slug:"repeater-field",registryName:"repeater-field",surface:"standalone"},{slug:"empty-search-state",registryName:"empty-search-state",surface:"standalone"},{slug:"avatar",registryName:"avatar",surface:"standalone"},{slug:"code-block",registryName:"code-block",surface:"standalone"},{slug:"data-state",registryName:"data-state",surface:"standalone"},{slug:"descriptions",registryName:"descriptions",surface:"standalone"},{slug:"keyboard-shortcut",registryName:"keyboard-shortcut",surface:"standalone"},{slug:"key-value-card",registryName:"key-value-card",surface:"standalone"},{slug:"kanban",registryName:"kanban",surface:"standalone"},{slug:"list",registryName:"list",surface:"standalone"},{slug:"property-grid",registryName:"property-grid",surface:"standalone"},{slug:"statistic",registryName:"statistic",surface:"standalone"},{slug:"tag-list",registryName:"tag-list",surface:"standalone"},{slug:"tree-view",registryName:"tree-view",surface:"standalone"},{slug:"skeleton-table",registryName:"skeleton-table",surface:"standalone"},{slug:"skeleton-form",registryName:"skeleton-form",surface:"standalone"},{slug:"copy-button",registryName:"copy-button",surface:"standalone"},{slug:"copy-field",registryName:"copy-field",surface:"standalone"},{slug:"section",registryName:"section",surface:"standalone"},{slug:"stack",registryName:"stack",surface:"standalone"},{slug:"sticky-footer-bar",registryName:"sticky-footer-bar",surface:"standalone"},{slug:"affix",registryName:"affix",surface:"standalone"},{slug:"calendar-scheduler",registryName:"calendar-scheduler",surface:"standalone"},{slug:"dual-list-picker",registryName:"dual-list-picker",surface:"standalone"},{slug:"menubar",registryName:"menubar",surface:"standalone"},{slug:"navigation-menu",registryName:"navigation-menu",surface:"standalone"},{slug:"resizable-panel",registryName:"resizable-panel",surface:"standalone"},{slug:"rich-text-editor",registryName:"rich-text-editor",surface:"standalone"},{slug:"tour",registryName:"tour",surface:"standalone"},{slug:"qr-code",registryName:"qr-code",surface:"standalone"},{slug:"tag",registryName:"tag",surface:"standalone"},{slug:"aspect-ratio",registryName:"aspect-ratio",surface:"standalone"},{slug:"carousel",registryName:"carousel",surface:"standalone"},{slug:"float-button",registryName:"float-button",surface:"standalone"},{slug:"typography",registryName:"typography",surface:"standalone"},{slug:"watermark",registryName:"watermark",surface:"standalone"},{slug:"cascader",registryName:"cascader",surface:"standalone"},{slug:"json-input",registryName:"json-input",surface:"standalone"},{slug:"mention-input",registryName:"mention-input",surface:"standalone"},{slug:"time-picker",registryName:"time-picker",surface:"standalone"}],$n=[...My,...Ba];new Map($n.map((t,e)=>[t.slug,e]));new Map($n.map(t=>[t.slug,t.registryName]));var s1=$n.map(t=>t.slug);new Set(s1);Ba.map(t=>t.slug);var Ry=My.map(t=>t.registryName),Fy=Ba.map(t=>t.registryName);$n.map(t=>t.registryName);function Ny(t,e){console.log(`
|
|
1178
|
+
`),await qD({cwd:e,template:i,alias:m.alias,componentsPath:l,hooksPath:h,utilsPath:u}),i==="vite"&&await BD({cwd:e,alias:m.alias}),a.writeThemeCss&&f){let _=await An({cwd:e,cssPath:f});C.success(`Theme CSS yozildi / written: ${_}`);}C.success("Tembro source-copy setup tayyor / initialized."),C.info(`Component source root: ${l}`),C.info(`UI primitives path: ${d}`),C.info(`Hooks path: ${h}`),C.info("Componentlarni ko\u2018rish / list components:"),C.info($e("list")),C.info("Component qo\u2018shish / add components:"),C.info($e("add button input data-table")),s.length>0&&!a.installTailwindDeps&&C.warn(`Tailwind paketlari hali o\u2018rnatilmadi: ${s.join(", ")}`),C.info("Theme CSS ni yangilash / update theme CSS:"),C.info($e("theme"));}var he=Me(rt());var p=(t,e)=>({source:t,target:e}),ne={utils:{name:"utils",category:"lib",dependencies:["clsx","tailwind-merge"],files:[p("src/lib/utils.ts","{utils}")]},button:{name:"button",category:"ui",dependencies:["@base-ui/react","class-variance-authority"],registryDependencies:["utils"],files:[p("src/components/ui/button","{ui}/button")]},input:{name:"input",category:"ui",dependencies:["@base-ui/react"],registryDependencies:["utils"],files:[p("src/components/ui/input","{ui}/input")]},textarea:{name:"textarea",category:"ui",registryDependencies:["utils"],files:[p("src/components/ui/textarea","{ui}/textarea")]},checkbox:{name:"checkbox",category:"ui",dependencies:["lucide-react"],registryDependencies:["utils"],files:[p("src/components/ui/checkbox","{ui}/checkbox")]},switch:{name:"switch",category:"ui",registryDependencies:["utils"],files:[p("src/components/ui/switch","{ui}/switch")]},badge:{name:"badge",category:"ui",dependencies:["@base-ui/react","class-variance-authority"],registryDependencies:["utils"],files:[p("src/components/ui/badge","{ui}/badge")]},card:{name:"card",category:"ui",dependencies:["class-variance-authority"],registryDependencies:["utils"],files:[p("src/components/ui/card","{ui}/card")]},skeleton:{name:"skeleton",category:"ui",registryDependencies:["utils"],files:[p("src/components/ui/skeleton","{ui}/skeleton")]},tabs:{name:"tabs",category:"ui",dependencies:["@base-ui/react"],registryDependencies:["utils"],files:[p("src/components/ui/tabs","{ui}/tabs")]},dialog:{name:"dialog",category:"ui",dependencies:["@base-ui/react","lucide-react"],registryDependencies:["button","utils"],files:[p("src/components/ui/dialog","{ui}/dialog")]},"dropdown-menu":{name:"dropdown-menu",category:"ui",dependencies:["@base-ui/react","lucide-react"],registryDependencies:["utils"],files:[p("src/components/ui/dropdown-menu","{ui}/dropdown-menu")]},popover:{name:"popover",category:"ui",dependencies:["@base-ui/react"],registryDependencies:["utils"],files:[p("src/components/ui/popover","{ui}/popover")]},tooltip:{name:"tooltip",category:"ui",registryDependencies:["utils"],files:[p("src/components/ui/tooltip","{ui}/tooltip")]},select:{name:"select",category:"ui",dependencies:["@base-ui/react","lucide-react"],registryDependencies:["utils"],files:[p("src/components/ui/select","{ui}/select")]},table:{name:"table",category:"ui",registryDependencies:["utils"],files:[p("src/components/ui/table","{ui}/table")]},"segmented-control":{name:"segmented-control",category:"ui",registryDependencies:["utils"],files:[p("src/components/ui/segmented-control","{ui}/segmented-control")]},"radio-group":{name:"radio-group",category:"ui",registryDependencies:["button","utils"],files:[p("src/components/ui/radio-group","{ui}/radio-group")]},kbd:{name:"kbd",category:"ui",files:[p("src/components/ui/kbd","{ui}/kbd")]},"scroll-box":{name:"scroll-box",category:"ui",files:[p("src/components/ui/scroll-box","{ui}/scroll-box")]},"right-click-menu":{name:"right-click-menu",category:"ui",dependencies:["react"],files:[p("src/components/ui/right-click-menu","{ui}/right-click-menu")]},accordion:{name:"accordion",category:"ui",registryDependencies:["collapse"],files:[p("src/components/ui/accordion","{ui}/accordion")]},"input-decorator":{name:"input-decorator",category:"inputs",dependencies:["class-variance-authority"],registryDependencies:["input","utils"],files:[p("src/components/inputs/input-decorator.tsx","{components}/inputs/input-decorator.tsx")]},"input-value":{name:"input-value",category:"inputs",files:[p("src/components/inputs/input-value.ts","{components}/inputs/input-value.ts")]},"clearable-input":{name:"clearable-input",category:"inputs",dependencies:["lucide-react"],registryDependencies:["input-decorator","input-value"],files:[p("src/components/inputs/clearable-input.tsx","{components}/inputs/clearable-input.tsx")]},"search-input":{name:"search-input",category:"inputs",dependencies:["lucide-react"],registryDependencies:["clearable-input"],files:[p("src/components/inputs/search-input.tsx","{components}/inputs/search-input.tsx")]},"password-input":{name:"password-input",category:"inputs",dependencies:["lucide-react"],registryDependencies:["input-decorator"],files:[p("src/components/inputs/password-input.tsx","{components}/inputs/password-input.tsx")]},"number-input":{name:"number-input",category:"inputs",registryDependencies:["input-decorator"],files:[p("src/components/inputs/number-input.tsx","{components}/inputs/number-input.tsx")]},"date-input":{name:"date-input",category:"inputs",dependencies:["lucide-react"],registryDependencies:["input-decorator","input-value"],files:[p("src/components/inputs/date-input.tsx","{components}/inputs/date-input.tsx")]},"date-range-input":{name:"date-range-input",category:"inputs",registryDependencies:["date-input","utils"],files:[p("src/components/inputs/date-range-input.tsx","{components}/inputs/date-range-input.tsx")]},"money-input":{name:"money-input",category:"inputs",registryDependencies:["input","utils"],files:[p("src/components/inputs/money-input.tsx","{components}/inputs/money-input.tsx")]},"quantity-input":{name:"quantity-input",category:"inputs",dependencies:["lucide-react"],registryDependencies:["button","input","utils"],files:[p("src/components/inputs/quantity-input.tsx","{components}/inputs/quantity-input.tsx")]},"masked-input":{name:"masked-input",category:"inputs",registryDependencies:["input-decorator","input-value"],files:[p("src/components/inputs/masked-input.tsx","{components}/inputs/masked-input.tsx")]},"phone-input":{name:"phone-input",category:"inputs",dependencies:["lucide-react"],registryDependencies:["masked-input"],files:[p("src/components/inputs/phone-input.tsx","{components}/inputs/phone-input.tsx")]},"tag-input":{name:"tag-input",category:"inputs",dependencies:["lucide-react"],registryDependencies:["badge","input","utils"],files:[p("src/components/inputs/tag-input.tsx","{components}/inputs/tag-input.tsx")]},"simple-select":{name:"simple-select",category:"inputs",dependencies:["lucide-react"],registryDependencies:["select","utils"],files:[p("src/components/inputs/simple-select.tsx","{components}/inputs/simple-select.tsx")]},"async-select":{name:"async-select",category:"inputs",dependencies:["lucide-react"],registryDependencies:["button","input","popover","utils"],files:[p("src/components/inputs/async-select.tsx","{components}/inputs/async-select.tsx")]},inputs:{name:"inputs",category:"group",registryDependencies:["clearable-input","search-input","password-input","number-input","date-input","date-range-input","money-input","quantity-input","masked-input","phone-input","tag-input","simple-select","async-select"],files:[p("src/components/inputs/index.ts","{components}/inputs/index.ts")]},"form-field-shell":{name:"form-field-shell",category:"form",registryDependencies:["utils"],files:[p("src/components/form/form-field-shell.tsx","{components}/form/form-field-shell.tsx")]},"form-input":{name:"form-input",category:"form",dependencies:["react-hook-form"],registryDependencies:["input","search-input","password-input","number-input","phone-input","date-input","form-field-shell"],files:[p("src/components/form/form-input.tsx","{components}/form/form-input.tsx")]},"form-select":{name:"form-select",category:"form",dependencies:["react-hook-form"],registryDependencies:["simple-select","async-select","form-field-shell"],files:[p("src/components/form/form-select.tsx","{components}/form/form-select.tsx")]},"form-async-select":{name:"form-async-select",category:"form",migrationAliasFor:"form-select",dependencies:["react-hook-form"],registryDependencies:["async-select","form-field-shell"],files:[p("src/components/form/form-async-select.tsx","{components}/form/form-async-select.tsx")]},"form-textarea":{name:"form-textarea",category:"form",dependencies:["react-hook-form"],registryDependencies:["textarea","form-field-shell"],files:[p("src/components/form/form-textarea.tsx","{components}/form/form-textarea.tsx")]},"form-switch":{name:"form-switch",category:"form",dependencies:["react-hook-form"],registryDependencies:["switch","form-field-shell","utils"],files:[p("src/components/form/form-switch.tsx","{components}/form/form-switch.tsx")]},"form-search-input":{name:"form-search-input",category:"form",migrationAliasFor:"form-input",dependencies:["react-hook-form"],registryDependencies:["form-input"],files:[p("src/components/form/form-search-input.tsx","{components}/form/form-search-input.tsx")]},"form-password-input":{name:"form-password-input",category:"form",migrationAliasFor:"form-input",dependencies:["react-hook-form"],registryDependencies:["password-input","form-field-shell"],files:[p("src/components/form/form-password-input.tsx","{components}/form/form-password-input.tsx")]},"form-number-input":{name:"form-number-input",category:"form",migrationAliasFor:"form-input",dependencies:["react-hook-form"],registryDependencies:["form-input"],files:[p("src/components/form/form-number-input.tsx","{components}/form/form-number-input.tsx")]},"form-phone-input":{name:"form-phone-input",category:"form",migrationAliasFor:"form-input",dependencies:["react-hook-form"],registryDependencies:["form-input"],files:[p("src/components/form/form-phone-input.tsx","{components}/form/form-phone-input.tsx")]},"form-date-input":{name:"form-date-input",category:"form",migrationAliasFor:"form-input",dependencies:["react-hook-form"],registryDependencies:["form-input"],files:[p("src/components/form/form-date-input.tsx","{components}/form/form-date-input.tsx")]},"form-date-range-input":{name:"form-date-range-input",category:"form",dependencies:["react-hook-form"],registryDependencies:["date-range-input","form-field-shell"],files:[p("src/components/form/form-date-range-input.tsx","{components}/form/form-date-range-input.tsx")]},"form-date-picker":{name:"form-date-picker",category:"form",dependencies:["react-hook-form"],registryDependencies:["date-picker","form-field-shell"],files:[p("src/components/form/form-date-picker.tsx","{components}/form/form-date-picker.tsx")]},"form-date-range-picker":{name:"form-date-range-picker",category:"form",dependencies:["react-hook-form"],registryDependencies:["date-range-picker","form-field-shell"],files:[p("src/components/form/form-date-range-picker.tsx","{components}/form/form-date-range-picker.tsx")]},form:{name:"form",category:"group",registryDependencies:["form-field-shell","form-input","form-select","form-async-select","form-textarea","form-switch","form-search-input","form-password-input","form-number-input","form-phone-input","form-date-input","form-date-range-input","form-date-picker","form-date-range-picker"],files:[p("src/components/form/index.ts","{components}/form/index.ts")]},"dialog-actions":{name:"dialog-actions",category:"overlay",dependencies:["lucide-react"],registryDependencies:["button","dialog"],files:[p("src/components/overlay/dialog-actions.tsx","{components}/overlay/dialog-actions.tsx")]},"modal-shell":{name:"modal-shell",category:"overlay",dependencies:["@base-ui/react"],registryDependencies:["button","dialog"],files:[p("src/components/overlay/modal-shell.tsx","{components}/overlay/modal-shell.tsx")]},"confirm-dialog":{name:"confirm-dialog",category:"overlay",dependencies:["lucide-react"],registryDependencies:["dialog-actions"],files:[p("src/components/overlay/confirm-dialog.tsx","{components}/overlay/confirm-dialog.tsx")]},"sheet-shell":{name:"sheet-shell",category:"overlay",registryDependencies:["dialog"],files:[p("src/components/overlay/sheet-shell.tsx","{components}/overlay/sheet-shell.tsx")]},"alert-dialog":{name:"alert-dialog",category:"overlay",dependencies:["lucide-react"],registryDependencies:["dialog","button"],files:[p("src/components/overlay/alert-dialog.tsx","{components}/overlay/alert-dialog.tsx")]},drawer:{name:"drawer",category:"overlay",dependencies:["@base-ui/react"],registryDependencies:["dialog"],files:[p("src/components/overlay/drawer.tsx","{components}/overlay/drawer.tsx")]},"empty-state":{name:"empty-state",category:"feedback",dependencies:["lucide-react"],registryDependencies:["button","utils"],files:[p("src/components/feedback/empty-state.tsx","{components}/feedback/empty-state.tsx")]},"loading-state":{name:"loading-state",category:"feedback",dependencies:["lucide-react"],registryDependencies:["utils"],files:[p("src/components/feedback/loading-state.tsx","{components}/feedback/loading-state.tsx")]},"page-state":{name:"page-state",category:"feedback",registryDependencies:["button","utils"],files:[p("src/components/feedback/page-state.tsx","{components}/feedback/page-state.tsx")]},feedback:{name:"feedback",category:"group",registryDependencies:["empty-state","loading-state","page-state"],files:[p("src/components/feedback/index.ts","{components}/feedback/index.ts")]},"stat-card":{name:"stat-card",category:"layout",registryDependencies:["card","badge","utils"],files:[p("src/components/layout/stat-card.tsx","{components}/layout/stat-card.tsx")]},sidebar:{name:"sidebar",category:"layout",dependencies:["react"],registryDependencies:["tooltip","utils"],files:[p("src/components/layout/app-sidebar.tsx","{components}/layout/sidebar.tsx")]},layout:{name:"layout",category:"group",registryDependencies:["sidebar","stat-card"],files:[p("src/components/layout/index.ts","{components}/layout/index.ts")]},calendar:{name:"calendar",category:"calendar",files:[p("src/components/calendar/calendar.tsx","{components}/calendar/calendar.tsx"),p("src/components/calendar/date-utils.ts","{components}/calendar/date-utils.ts")]},"date-picker":{name:"date-picker",category:"calendar",registryDependencies:["calendar"],files:[p("src/components/calendar/date-picker.tsx","{components}/calendar/date-picker.tsx")]},"date-range-picker":{name:"date-range-picker",category:"calendar",registryDependencies:["calendar"],files:[p("src/components/calendar/date-range-picker.tsx","{components}/calendar/date-range-picker.tsx")]},dashboard:{name:"dashboard",category:"group",registryDependencies:["layout","feedback","inputs","form"]},all:{name:"all",category:"group",registryDependencies:["dashboard"]}},HD=[{name:"action-menu",category:"actions",files:[p("src/components/actions/action-menu.tsx","{components}/actions/action-menu.tsx")]},{name:"activity-feed",category:"display",files:[p("src/components/display/activity-feed.tsx","{components}/display/activity-feed.tsx")]},{name:"alert",category:"feedback",files:[p("src/components/feedback/alert.tsx","{components}/feedback/alert.tsx")]},{name:"anchor-nav",category:"navigation",files:[p("src/components/navigation/anchor-nav.tsx","{components}/navigation/anchor-nav.tsx")]},{name:"app-header",category:"layout",files:[p("src/components/layout/app-header.tsx","{components}/layout/app-header.tsx")]},{name:"app-sidebar",category:"layout",migrationAliasFor:"sidebar",files:[p("src/components/layout/app-sidebar.tsx","{components}/layout/app-sidebar.tsx")]},{name:"avatar",category:"display",files:[p("src/components/display/avatar.tsx","{components}/display/avatar.tsx")]},{name:"breadcrumbs",category:"layout",files:[p("src/components/layout/breadcrumbs.tsx","{components}/layout/breadcrumbs.tsx")]},{name:"button-group",category:"actions",files:[p("src/components/actions/button-group.tsx","{components}/actions/button-group.tsx")]},{name:"charts",category:"charts",files:[p("src/components/charts/charts.tsx","{components}/charts/charts.tsx")]},{name:"code-block",category:"display",files:[p("src/components/display/code-block.tsx","{components}/display/code-block.tsx")]},{name:"collapse",category:"ui",files:[p("src/components/ui/collapse","{ui}/collapse")]},{name:"color-input",category:"inputs",files:[p("src/components/inputs/color-input.tsx","{components}/inputs/color-input.tsx")]},{name:"combobox",category:"inputs",files:[p("src/components/inputs/combobox.tsx","{components}/inputs/combobox.tsx")]},{name:"carousel",category:"display",files:[p("src/components/display/carousel.tsx","{components}/display/carousel.tsx")]},{name:"command",category:"ui",files:[p("src/components/ui/command","{ui}/command")]},{name:"command-palette",category:"command",files:[p("src/components/command/command-palette.tsx","{components}/command/command-palette.tsx")]},{name:"copy-button",category:"actions",files:[p("src/components/actions/copy-button.tsx","{components}/actions/copy-button.tsx")]},{name:"copy-field",category:"actions",files:[p("src/components/actions/copy-field.tsx","{components}/actions/copy-field.tsx")]},{name:"data-state",category:"display",files:[p("src/components/display/data-state.tsx","{components}/display/data-state.tsx")]},{name:"data-list",category:"display",files:[p("src/components/display/data-list.tsx","{components}/display/data-list.tsx")]},{name:"data-table",category:"data-table",files:[p("src/components/data-table/data-table.tsx","{components}/data-table/data-table.tsx")]},{name:"data-table-actions-column",category:"data-table",files:[p("src/components/data-table/data-table-actions-column.tsx","{components}/data-table/data-table-actions-column.tsx")]},{name:"data-table-bulk-actions",category:"data-table",files:[p("src/components/data-table/data-table-bulk-actions.tsx","{components}/data-table/data-table-bulk-actions.tsx")]},{name:"data-table-column-visibility-menu",category:"data-table",files:[p("src/components/data-table/data-table-column-visibility-menu.tsx","{components}/data-table/data-table-column-visibility-menu.tsx")]},{name:"data-table-pagination",category:"data-table",files:[p("src/components/data-table/data-table-pagination.tsx","{components}/data-table/data-table-pagination.tsx")]},{name:"data-table-row-actions",category:"data-table",files:[p("src/components/data-table/data-table-row-actions.tsx","{components}/data-table/data-table-row-actions.tsx")]},{name:"data-table-select-column",category:"data-table",files:[p("src/components/data-table/data-table-select-column.tsx","{components}/data-table/data-table-select-column.tsx")]},{name:"data-table-sortable-header",category:"data-table",files:[p("src/components/data-table/data-table-sortable-header.tsx","{components}/data-table/data-table-sortable-header.tsx")]},{name:"data-table-toolbar",category:"data-table",files:[p("src/components/data-table/data-table-toolbar.tsx","{components}/data-table/data-table-toolbar.tsx")]},{name:"data-table-view-presets",category:"data-table",files:[p("src/components/data-table/data-table-view-presets.tsx","{components}/data-table/data-table-view-presets.tsx")]},{name:"data-table-saved-filters",category:"data-table",files:[p("src/components/data-table/data-table-saved-filters.tsx","{components}/data-table/data-table-saved-filters.tsx")]},{name:"description-list",category:"display",files:[p("src/components/display/description-list.tsx","{components}/display/description-list.tsx")]},{name:"descriptions",category:"display",files:[p("src/components/display/descriptions.tsx","{components}/display/descriptions.tsx")]},{name:"divider",category:"ui",files:[p("src/components/ui/divider","{ui}/divider")]},{name:"entity-card",category:"display",files:[p("src/components/display/entity-card.tsx","{components}/display/entity-card.tsx")]},{name:"file-card",category:"display",files:[p("src/components/display/file-card.tsx","{components}/display/file-card.tsx")]},{name:"file-dropzone",category:"upload",files:[p("src/components/upload/file-dropzone.tsx","{components}/upload/file-dropzone.tsx")]},{name:"file-upload",category:"upload",files:[p("src/components/upload/file-upload.tsx","{components}/upload/file-upload.tsx")]},{name:"filter-bar",category:"filters",files:[p("src/components/filters/filter-bar.tsx","{components}/filters/filter-bar.tsx")]},{name:"filter-chips",category:"filters",files:[p("src/components/filters/filter-chips.tsx","{components}/filters/filter-chips.tsx")]},{name:"form-builder",category:"patterns",files:[p("src/components/patterns/form-builder.tsx","{components}/patterns/form-builder.tsx")]},{name:"horizontal-bar-chart",category:"charts",files:[p("src/components/charts/horizontal-bar-chart.tsx","{components}/charts/horizontal-bar-chart.tsx")]},{name:"image-upload",category:"upload",files:[p("src/components/upload/image-upload.tsx","{components}/upload/image-upload.tsx")]},{name:"input-chrome",category:"inputs",files:[p("src/components/inputs/input-chrome.tsx","{components}/inputs/input-chrome.tsx")]},{name:"input-group",category:"ui",files:[p("src/components/ui/input-group","{ui}/input-group")]},{name:"input-primitive",category:"ui",files:[p("src/components/ui/input-primitive","{ui}/input-primitive")]},{name:"kanban",category:"display",files:[p("src/components/display/kanban.tsx","{components}/display/kanban.tsx")]},{name:"keyboard-shortcut",category:"display",files:[p("src/components/display/keyboard-shortcut.tsx","{components}/display/keyboard-shortcut.tsx")]},{name:"key-value-card",category:"display",registryDependencies:["card"],files:[p("src/components/display/key-value-card.tsx","{components}/display/key-value-card.tsx")]},{name:"kpi",category:"charts",files:[p("src/components/charts/kpi.tsx","{components}/charts/kpi.tsx")]},{name:"list",category:"display",files:[p("src/components/display/list.tsx","{components}/display/list.tsx")]},{name:"metric-grid",category:"display",files:[p("src/components/display/metric-grid.tsx","{components}/display/metric-grid.tsx")]},{name:"nav-tabs",category:"navigation",files:[p("src/components/navigation/nav-tabs.tsx","{components}/navigation/nav-tabs.tsx")]},{name:"numeric-value",category:"inputs",files:[p("src/components/inputs/numeric-value.ts","{components}/inputs/numeric-value.ts")]},{name:"otp-input",category:"inputs",files:[p("src/components/inputs/otp-input.tsx","{components}/inputs/otp-input.tsx")]},{name:"page-container",category:"layout",files:[p("src/components/layout/page-container.tsx","{components}/layout/page-container.tsx")]},{name:"page-tabs",category:"navigation",files:[p("src/components/navigation/page-tabs.tsx","{components}/navigation/page-tabs.tsx")]},{name:"pagination",category:"navigation",files:[p("src/components/navigation/pagination.tsx","{components}/navigation/pagination.tsx")]},{name:"progress",category:"display",files:[p("src/components/display/progress.tsx","{components}/display/progress.tsx")]},{name:"progress-circle",category:"display",files:[p("src/components/display/progress-circle.tsx","{components}/display/progress-circle.tsx")]},{name:"progress-ring",category:"charts",files:[p("src/components/charts/progress-ring.tsx","{components}/charts/progress-ring.tsx")]},{name:"property-grid",category:"display",files:[p("src/components/display/property-grid.tsx","{components}/display/property-grid.tsx")]},{name:"quantity-stepper",category:"inputs",files:[p("src/components/inputs/quantity-stepper.tsx","{components}/inputs/quantity-stepper.tsx")]},{name:"quick-action-grid",category:"actions",files:[p("src/components/actions/quick-action-grid.tsx","{components}/actions/quick-action-grid.tsx")]},{name:"rating",category:"inputs",files:[p("src/components/inputs/rating.tsx","{components}/inputs/rating.tsx")]},{name:"resource-detail-page",category:"patterns",files:[p("src/components/patterns/resource-detail-page.tsx","{components}/patterns/resource-detail-page.tsx")]},{name:"resource-page",category:"patterns",files:[p("src/components/patterns/resource-page.tsx","{components}/patterns/resource-page.tsx")]},{name:"result",category:"display",files:[p("src/components/display/result.tsx","{components}/display/result.tsx")]},{name:"section",category:"layout",files:[p("src/components/layout/section.tsx","{components}/layout/section.tsx")]},{name:"section-header",category:"layout",files:[p("src/components/layout/section-header.tsx","{components}/layout/section-header.tsx")]},{name:"sidebar-nav",category:"layout",files:[p("src/components/layout/sidebar-nav.tsx","{components}/layout/sidebar-nav.tsx")]},{name:"slider",category:"inputs",files:[p("src/components/inputs/slider.tsx","{components}/inputs/slider.tsx")]},{name:"info-card",category:"display",files:[p("src/components/display/smart-card.tsx","{components}/display/smart-card.tsx")]},{name:"spinner",category:"ui",files:[p("src/components/ui/spinner","{ui}/spinner")]},{name:"stack",category:"layout",files:[p("src/components/layout/stack.tsx","{components}/layout/stack.tsx")]},{name:"statistic",category:"display",files:[p("src/components/display/statistic.tsx","{components}/display/statistic.tsx")]},{name:"status-dot",category:"display",files:[p("src/components/display/status-dot.tsx","{components}/display/status-dot.tsx")]},{name:"status-legend",category:"display",files:[p("src/components/display/status-legend.tsx","{components}/display/status-legend.tsx")]},{name:"stepper",category:"wizard",files:[p("src/components/wizard/stepper.tsx","{components}/wizard/stepper.tsx")]},{name:"stepper-tabs",category:"navigation",files:[p("src/components/navigation/stepper-tabs.tsx","{components}/navigation/stepper-tabs.tsx")]},{name:"sticky-footer-bar",category:"layout",files:[p("src/components/layout/sticky-footer-bar.tsx","{components}/layout/sticky-footer-bar.tsx")]},{name:"table-export-menu",category:"data-table",files:[p("src/components/data-table/table-export-menu.tsx","{components}/data-table/table-export-menu.tsx")]},{name:"table-import-button",category:"data-table",files:[p("src/components/data-table/table-import-button.tsx","{components}/data-table/table-import-button.tsx")]},{name:"tag-list",category:"display",files:[p("src/components/display/tag-list.tsx","{components}/display/tag-list.tsx")]},{name:"timeline",category:"display",files:[p("src/components/display/timeline.tsx","{components}/display/timeline.tsx")]},{name:"toast",category:"notifications",files:[p("src/components/notifications/toast.tsx","{components}/notifications/toast.tsx")]},{name:"tree-view",category:"display",files:[p("src/components/display/tree-view.tsx","{components}/display/tree-view.tsx")]},{name:"use-before-unload-when-dirty",category:"hooks",files:[p("src/hooks/use-before-unload-when-dirty.ts","{hooks}/use-before-unload-when-dirty.ts")]},{name:"use-data-table-view-state",category:"hooks",files:[p("src/hooks/use-data-table-view-state.ts","{hooks}/use-data-table-view-state.ts")]},{name:"use-debounce",category:"hooks",files:[p("src/hooks/use-debounce.ts","{hooks}/use-debounce.ts")]},{name:"use-disclosure",category:"hooks",files:[p("src/hooks/use-disclosure.ts","{hooks}/use-disclosure.ts")]},{name:"use-is-mobile",category:"hooks",files:[p("src/hooks/use-is-mobile.ts","{hooks}/use-is-mobile.ts")]},{name:"use-session-storage-state",category:"hooks",files:[p("src/hooks/use-session-storage-state.ts","{hooks}/use-session-storage-state.ts")]},{name:"user-card",category:"display",files:[p("src/components/display/user-card.tsx","{components}/display/user-card.tsx")]},{name:"wizard",category:"wizard",files:[p("src/components/wizard/wizard.tsx","{components}/wizard/wizard.tsx")]},{name:"trend-card",category:"display",files:[p("src/components/display/trend-card.tsx","{components}/display/trend-card.tsx")]},{name:"comparison-card",category:"display",files:[p("src/components/display/comparison-card.tsx","{components}/display/comparison-card.tsx")]},{name:"delta-badge",category:"display",files:[p("src/components/display/delta-badge.tsx","{components}/display/delta-badge.tsx")]},{name:"skeleton-table",category:"display",files:[p("src/components/display/skeleton-table.tsx","{components}/display/skeleton-table.tsx")]},{name:"skeleton-form",category:"display",files:[p("src/components/display/skeleton-form.tsx","{components}/display/skeleton-form.tsx")]},{name:"entity-header",category:"display",files:[p("src/components/display/entity-header.tsx","{components}/display/entity-header.tsx")]},{name:"inline-editable",category:"inputs",files:[p("src/components/inputs/inline-editable.tsx","{components}/inputs/inline-editable.tsx")]},{name:"repeater-field",category:"form",files:[p("src/components/form/repeater-field.tsx","{components}/form/repeater-field.tsx")]},{name:"empty-search-state",category:"feedback",files:[p("src/components/feedback/empty-search-state.tsx","{components}/feedback/empty-search-state.tsx")]},{name:"command-bar",category:"navigation",files:[p("src/components/navigation/command-bar.tsx","{components}/navigation/command-bar.tsx")]},{name:"saved-filter-select",category:"filters",files:[p("src/components/filters/saved-filter-select.tsx","{components}/filters/saved-filter-select.tsx")]},{name:"notification-center",category:"notifications",files:[p("src/components/notifications/notification-center.tsx","{components}/notifications/notification-center.tsx")]}];for(let t of HD)ne[t.name]??=t;var Dn=Object.keys(ne);var Pn=Me(rt());function In(t){let e=U__default.default.dirname(url.fileURLToPath(t)),r=U__default.default.resolve(e,"../vendor");if(Pn.default.existsSync(U__default.default.join(r,"src")))return r;let i=[U__default.default.resolve(e,"../.."),U__default.default.resolve(e,".."),process.cwd()];for(let n of i){let o=U__default.default.join(n,"package.json");if(Pn.default.existsSync(o))try{if(Pn.default.readJsonSync(o).name===Ay)return n}catch{}}return U__default.default.resolve(e,"../..")}function YD(t){return t in ne}function Iy(t){if(t.paths?.components)return t.paths.components;let e=t.componentsPath??"src/components/ui";return e.endsWith("/ui")||e.endsWith("\\ui")?U__default.default.dirname(e):e}function JD(t,e){let r=Iy(e),i=e.paths?.ui??e.componentsPath??U__default.default.join(r,"ui"),n=e.paths?.hooks??"src/hooks",o=e.paths?.lib??U__default.default.dirname(e.utilsPath??"src/lib/utils.ts"),s=e.utilsPath??U__default.default.join(o,"utils.ts");return t.replaceAll("{components}",r).replaceAll("{ui}",i).replaceAll("{hooks}",n).replaceAll("{lib}",o).replaceAll("{utils}",s)}function KD(t,e="@"){return e==="@"?t:t.replaceAll("@/",`${e}/`)}function ZD(t,e){let r=t.replaceAll("\\","/");if(r==="src/lib/utils.ts")return e.utilsPath??"src/lib/utils.ts";if(r.startsWith("src/hooks/"))return U__default.default.join(e.paths?.hooks??"src/hooks",r.replace("src/hooks/",""));if(r.startsWith("src/families/"))return U__default.default.join("src/families",r.replace("src/families/",""));if(r.startsWith("src/components/ui/")){let i=e.paths?.ui??e.componentsPath??"src/components/ui";return U__default.default.join(i,r.replace("src/components/ui/",""))}if(r.startsWith("src/components/")){let i=Iy(e);return U__default.default.join(i,r.replace("src/components/",""))}}function XD(t){if(t==="@/lib/utils")return "src/lib/utils.ts";if(t.startsWith("@/components/"))return `src/components/${t.replace("@/components/","")}`;if(t.startsWith("@/hooks/"))return `src/hooks/${t.replace("@/hooks/","")}`;if(t.startsWith("@/families/"))return `src/families/${t.replace("@/families/","")}`}function QD(t){return [`${t}.tsx`,`${t}.ts`,U__default.default.join(t,"index.ts").replaceAll("\\","/"),U__default.default.join(t,"index.tsx").replaceAll("\\","/")]}function e1(t){let e=new Set,r=/from\s+["'](@\/(?:components|hooks|lib|families)\/[^"']+)["']|import\s*\(\s*["'](@\/(?:components|hooks|lib|families)\/[^"']+)["']\s*\)/g,i;for(;i=r.exec(t);){let n=i[1]??i[2],o=XD(n);o&&e.add(o);}return [...e]}function t1(t){let e=[],r=new Set;function i(n){if(r.has(n))return;let o=ne[n];o.registryDependencies?.forEach(i),r.add(n),e.push(o);}return t.forEach(i),e}function r1(){return Dn.filter(t=>ne[t].category!=="lib").sort().join(", ")}async function $y(t,e={}){let r=process.cwd(),i=U__default.default.join(r,"tembro.json");he.default.existsSync(i)||(C.error("tembro.json topilmadi. Avval init qiling:"),C.info($e("init")),process.exit(1)),t.length||(C.error("Component nomini kiriting:"),C.info($e("add data-table async-select form-input")),C.info(`Mavjud componentlar: ${r1()}`),process.exit(1));let n=[];for(let h of t){if(!YD(h)){C.warn(`${h} registry ichida mavjud emas.`);continue}n.push(h);}n.length||(C.error("Qo\u2018shish uchun valid component topilmadi."),process.exit(1));let o=await he.default.readJson(i),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))),a=bi(r),c=t1(n),u=new Set,l=new Set;async function d(h,f){let m=h.replaceAll("\\","/");if(l.has(m))return;let b=U__default.default.join(s,m);if(!he.default.existsSync(b)){C.warn(`${m} topilmadi. O\u2018tkazib yuborildi.`);return}if((await he.default.stat(b)).isDirectory()){l.add(m);let _=await he.default.readdir(b,{withFileTypes:true});for(let V of _){let ce=U__default.default.posix.join(m,V.name),pe=f?U__default.default.posix.join(f.replaceAll("\\","/"),V.name):void 0;await d(ce,pe);}return}l.add(m);let y=f?JD(f,o):ZD(m,o);if(!y)return;let v=U__default.default.join(r,y);if(e.dryRun)C.info(`[dry-run] ${m} -> ${U__default.default.relative(r,v)}`);else if(he.default.existsSync(v)&&!e.overwrite)C.warn(`${U__default.default.relative(r,v)} allaqachon mavjud. O\u2018tkazib yuborildi.`);else {await he.default.ensureDir(U__default.default.dirname(v));let _=await he.default.readFile(b,"utf8");await he.default.writeFile(v,KD(_,o.alias)),C.success(`${U__default.default.relative(r,v)} qo\u2018shildi.`);}let E=await he.default.readFile(b,"utf8");for(let _ of e1(E))for(let V of QD(_))if(he.default.existsSync(U__default.default.join(s,V))){await d(V);break}}for(let h of c){h.dependencies?.forEach(f=>u.add(f));for(let f of h.files??[])await d(f.source,f.target);}!e.skipInstall&&u.size>0&&!e.dryRun&&await jr({cwd:r,packageManager:a,packages:Array.from(u)}),C.success("Componentlar muvaffaqiyatli qo\u2018shildi.");}var i1={utils:"internal",button:"stable",input:"stable",textarea:"stable",checkbox:"stable",switch:"stable",badge:"stable",card:"stable",dialog:"stable","dropdown-menu":"stable",popover:"stable",select:"stable",table:"stable","radio-group":"stable","scroll-box":"stable","right-click-menu":"stable",accordion:"stable",kbd:"stable","dialog-actions":"stable","modal-shell":"stable","confirm-dialog":"stable","sheet-shell":"stable","alert-dialog":"stable",drawer:"stable",overlay:"stable",pagination:"stable","clearable-input":"preview","search-input":"preview","password-input":"preview","number-input":"preview","date-input":"preview","date-range-input":"preview","money-input":"preview","quantity-input":"preview","masked-input":"preview","phone-input":"preview","simple-select":"preview","async-select":"preview",inputs:"preview","form-field-shell":"preview","form-input":"preview","form-select":"preview","form-async-select":"preview","form-textarea":"preview","form-switch":"preview","form-search-input":"preview","form-password-input":"preview","form-number-input":"preview","form-phone-input":"preview","form-date-input":"preview","form-date-range-input":"preview","form-date-picker":"preview","form-date-range-picker":"preview",form:"preview","empty-state":"stable","loading-state":"stable",feedback:"stable","description-list":"stable",progress:"stable",result:"stable",timeline:"stable","metric-grid":"stable","info-card":"stable","activity-feed":"stable",display:"stable","action-menu":"stable",actions:"stable","stat-card":"stable","app-header":"stable",sidebar:"stable","app-sidebar":"stable","sidebar-nav":"stable",breadcrumbs:"stable","page-container":"stable",layout:"stable","filter-bar":"stable",filters:"stable","data-table-toolbar":"preview","data-table-pagination":"preview","data-table-column-visibility-menu":"preview","data-table-select-column":"preview","data-table-sortable-header":"preview","data-table-row-actions":"preview","data-table-actions-column":"preview","data-table-bulk-actions":"preview","data-table-view-presets":"preview","data-table-saved-filters":"preview","data-table":"preview",calendar:"preview","date-picker":"preview","date-range-picker":"preview","calendar-kit":"preview","file-upload":"preview","image-upload":"preview",upload:"preview",stepper:"preview",wizard:"preview","wizard-kit":"preview",toast:"preview",notifications:"preview","command-palette":"preview",command:"preview","resource-page":"preview","resource-detail-page":"preview","form-builder":"experimental",patterns:"preview","use-session-storage-state":"stable","use-before-unload-when-dirty":"stable","use-is-mobile":"stable","use-disclosure":"stable","use-debounce":"stable","use-data-table-view-state":"preview",hooks:"stable",dashboard:"preview",all:"preview","trend-card":"preview","comparison-card":"preview","delta-badge":"preview","skeleton-table":"preview","skeleton-form":"preview","entity-header":"preview","data-list":"preview","key-value-card":"preview","inline-editable":"preview","repeater-field":"preview","empty-search-state":"preview","command-bar":"preview","saved-filter-select":"preview","notification-center":"preview"};function La(t){return i1[t]??"preview"}var n1={lib:"foundation",ui:"foundation",hooks:"foundation",overlay:"source-copy",navigation:"source-copy",inputs:"source-copy",form:"source-copy",feedback:"source-copy",display:"source-copy",actions:"source-copy",layout:"source-copy",filters:"source-copy","data-table":"system",calendar:"source-copy",upload:"source-copy",wizard:"source-copy",notifications:"source-copy",command:"source-copy",patterns:"system",group:"system"},o1={utils:"foundation",button:"foundation",input:"foundation",textarea:"foundation",checkbox:"foundation",switch:"foundation",badge:"foundation",card:"foundation",skeleton:"foundation",tabs:"foundation",dialog:"foundation","dropdown-menu":"foundation",popover:"foundation",select:"foundation",table:"foundation","use-session-storage-state":"foundation","use-before-unload-when-dirty":"foundation","use-is-mobile":"foundation","use-disclosure":"foundation","use-debounce":"foundation",hooks:"foundation","data-table":"system","form-builder":"system","resource-page":"system","resource-detail-page":"system","calendar-kit":"system","wizard-kit":"system",dashboard:"system",all:"system"};function qa(t,e){return o1[t]??n1[e]}var My=[{slug:"button",registryName:"button",surface:"documented"},{slug:"input",registryName:"input",surface:"documented"},{slug:"select",registryName:"select",surface:"documented"},{slug:"card",registryName:"card",surface:"documented"},{slug:"badge",registryName:"badge",surface:"documented"},{slug:"checkbox",registryName:"checkbox",surface:"documented"},{slug:"overlay",registryName:"dialog",surface:"documented"},{slug:"form-field",registryName:"form-field-shell",surface:"documented"},{slug:"data-table",registryName:"data-table",surface:"documented"},{slug:"alert",registryName:"alert",surface:"documented"},{slug:"bar-chart",registryName:"charts",surface:"documented"},{slug:"sidebar",registryName:"sidebar",surface:"documented"},{slug:"file-upload",registryName:"file-upload",surface:"documented"},{slug:"progress",registryName:"progress",surface:"documented"}],Ba=[{slug:"accordion",registryName:"accordion",surface:"standalone"},{slug:"divider",registryName:"divider",surface:"standalone"},{slug:"segmented-control",registryName:"segmented-control",surface:"standalone"},{slug:"skeleton",registryName:"skeleton",surface:"standalone"},{slug:"spinner",registryName:"spinner",surface:"standalone"},{slug:"command-bar",registryName:"command-bar",surface:"standalone"},{slug:"quantity-stepper",registryName:"quantity-stepper",surface:"standalone"},{slug:"inline-editable",registryName:"inline-editable",surface:"standalone"},{slug:"repeater-field",registryName:"repeater-field",surface:"standalone"},{slug:"empty-search-state",registryName:"empty-search-state",surface:"standalone"},{slug:"avatar",registryName:"avatar",surface:"standalone"},{slug:"code-block",registryName:"code-block",surface:"standalone"},{slug:"data-state",registryName:"data-state",surface:"standalone"},{slug:"descriptions",registryName:"descriptions",surface:"standalone"},{slug:"keyboard-shortcut",registryName:"keyboard-shortcut",surface:"standalone"},{slug:"key-value-card",registryName:"key-value-card",surface:"standalone"},{slug:"kanban",registryName:"kanban",surface:"standalone"},{slug:"list",registryName:"list",surface:"standalone"},{slug:"property-grid",registryName:"property-grid",surface:"standalone"},{slug:"statistic",registryName:"statistic",surface:"standalone"},{slug:"tag-list",registryName:"tag-list",surface:"standalone"},{slug:"tree-view",registryName:"tree-view",surface:"standalone"},{slug:"skeleton-table",registryName:"skeleton-table",surface:"standalone"},{slug:"skeleton-form",registryName:"skeleton-form",surface:"standalone"},{slug:"copy-button",registryName:"copy-button",surface:"standalone"},{slug:"copy-field",registryName:"copy-field",surface:"standalone"},{slug:"section",registryName:"section",surface:"standalone"},{slug:"stack",registryName:"stack",surface:"standalone"},{slug:"sticky-footer-bar",registryName:"sticky-footer-bar",surface:"standalone"},{slug:"affix",registryName:"affix",surface:"standalone"},{slug:"calendar-scheduler",registryName:"calendar-scheduler",surface:"standalone"},{slug:"dual-list-picker",registryName:"dual-list-picker",surface:"standalone"},{slug:"menubar",registryName:"menubar",surface:"standalone"},{slug:"navigation-menu",registryName:"navigation-menu",surface:"standalone"},{slug:"resizable-panel",registryName:"resizable-panel",surface:"standalone"},{slug:"rich-text-editor",registryName:"rich-text-editor",surface:"standalone"},{slug:"tour",registryName:"tour",surface:"standalone"},{slug:"qr-code",registryName:"qr-code",surface:"standalone"},{slug:"tag",registryName:"tag",surface:"standalone"},{slug:"aspect-ratio",registryName:"aspect-ratio",surface:"standalone"},{slug:"carousel",registryName:"carousel",surface:"standalone"},{slug:"float-button",registryName:"float-button",surface:"standalone"},{slug:"typography",registryName:"typography",surface:"standalone"},{slug:"watermark",registryName:"watermark",surface:"standalone"},{slug:"cascader",registryName:"cascader",surface:"standalone"},{slug:"json-input",registryName:"json-input",surface:"standalone"},{slug:"mention-input",registryName:"mention-input",surface:"standalone"},{slug:"time-picker",registryName:"time-picker",surface:"standalone"}],$n=[...My,...Ba];new Map($n.map((t,e)=>[t.slug,e]));new Map($n.map(t=>[t.slug,t.registryName]));var s1=$n.map(t=>t.slug);new Set(s1);Ba.map(t=>t.slug);var Ry=My.map(t=>t.registryName),Fy=Ba.map(t=>t.registryName);$n.map(t=>t.registryName);function Ny(t,e){console.log(`
|
|
1179
1179
|
${t}`),e.forEach(r=>{let i=ne[r],n=La(r),o=qa(r,i.category),s=i.registryDependencies?.length?` -> ${i.registryDependencies.join(", ")}`:"";console.log(` ${r} [${n}/${o}]${s}`);});}function jy(){let t=Ry.filter((n,o,s)=>s.indexOf(n)===o).filter(n=>ne[n]&&ne[n].category!=="lib"),e=Fy.filter((n,o,s)=>s.indexOf(n)===o).filter(n=>ne[n]&&ne[n].category!=="lib");Ny("Canonical surfaces",t),Ny("Standalone surfaces",e);let r=new Set([...t,...e]),i=Dn.filter(n=>ne[n].category!=="lib").filter(n=>!r.has(n)).reduce((n,o)=>{let s=ne[o].category;return n[s]??=[],n[s].push(o),n},{});for(let[n,o]of Object.entries(i))console.log(`
|
|
1180
1180
|
${n}`),o.sort().forEach(s=>{let a=ne[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=U__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});C.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/display/entity-card.tsx",target:"{components}/display/entity-card.tsx"},{source:"src/components/data-table/data-table.tsx",target:"{components}/data-table/data-table.tsx"}]};function c1(t,e="@"){return e==="@"?t:t.replaceAll("@/",`${e}/`)}function l1(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(U__default.default.join(t,s.name),U__default.default.join(e,s.name),r,i);return}if(i.dryRun){C.info(`[dry-run] ${t} -> ${e}`);return}if(Je.default.existsSync(e)&&!i.overwrite){C.warn(`${e} allaqachon mavjud.`);return}await Je.default.ensureDir(U__default.default.dirname(e)),await Je.default.writeFile(e,c1(await Je.default.readFile(t,"utf8"),r)),C.success(`${e} qo\u2018shildi.`);}async function Uy(t,e={}){let r=qy[t];r||(C.error(`Preset topilmadi: ${t}`),process.exit(1));let i=process.cwd(),n=U__default.default.join(i,"tembro.json");Je.default.existsSync(n)||(C.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=U__default.default.join(s,a.source),u=U__default.default.join(i,l1(a.target,o));await By(c,u,o.alias,e);}}var Ot=new Tt;Ot.name("tembro").description("Tembro source-copy CLI").version("1.0.
|
|
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=U__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});C.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/display/entity-card.tsx",target:"{components}/display/entity-card.tsx"},{source:"src/components/data-table/data-table.tsx",target:"{components}/data-table/data-table.tsx"}]};function c1(t,e="@"){return e==="@"?t:t.replaceAll("@/",`${e}/`)}function l1(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(U__default.default.join(t,s.name),U__default.default.join(e,s.name),r,i);return}if(i.dryRun){C.info(`[dry-run] ${t} -> ${e}`);return}if(Je.default.existsSync(e)&&!i.overwrite){C.warn(`${e} allaqachon mavjud.`);return}await Je.default.ensureDir(U__default.default.dirname(e)),await Je.default.writeFile(e,c1(await Je.default.readFile(t,"utf8"),r)),C.success(`${e} qo\u2018shildi.`);}async function Uy(t,e={}){let r=qy[t];r||(C.error(`Preset topilmadi: ${t}`),process.exit(1));let i=process.cwd(),n=U__default.default.join(i,"tembro.json");Je.default.existsSync(n)||(C.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=U__default.default.join(s,a.source),u=U__default.default.join(i,l1(a.target,o));await By(c,u,o.alias,e);}}var Ot=new Tt;Ot.name("tembro").description("Tembro source-copy CLI").version("1.0.2");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();
|
|
@@ -9,9 +9,11 @@ export type CarouselProps = React.ComponentProps<"div"> & {
|
|
|
9
9
|
defaultIndex?: number
|
|
10
10
|
onIndexChange?: (index: number) => void
|
|
11
11
|
loop?: boolean
|
|
12
|
+
variant?: "default" | "hero" | "minimal"
|
|
12
13
|
showDots?: boolean
|
|
13
14
|
showArrows?: boolean
|
|
14
15
|
keyboard?: boolean
|
|
16
|
+
ariaLabel?: string
|
|
15
17
|
previousLabel?: string
|
|
16
18
|
nextLabel?: string
|
|
17
19
|
}
|
|
@@ -29,9 +31,11 @@ function Carousel({
|
|
|
29
31
|
defaultIndex = 0,
|
|
30
32
|
onIndexChange,
|
|
31
33
|
loop = false,
|
|
34
|
+
variant = "default",
|
|
32
35
|
showDots = true,
|
|
33
36
|
showArrows = true,
|
|
34
37
|
keyboard = true,
|
|
38
|
+
ariaLabel = "Carousel",
|
|
35
39
|
previousLabel = "Previous slide",
|
|
36
40
|
nextLabel = "Next slide",
|
|
37
41
|
className,
|
|
@@ -55,6 +59,10 @@ function Carousel({
|
|
|
55
59
|
return (
|
|
56
60
|
<div
|
|
57
61
|
data-slot="carousel"
|
|
62
|
+
data-variant={variant}
|
|
63
|
+
role="region"
|
|
64
|
+
aria-roledescription="carousel"
|
|
65
|
+
aria-label={ariaLabel}
|
|
58
66
|
className={cn("grid gap-3", className)}
|
|
59
67
|
onKeyDown={(event) => {
|
|
60
68
|
if (!keyboard || items.length <= 1) return
|
|
@@ -69,15 +77,21 @@ function Carousel({
|
|
|
69
77
|
}}
|
|
70
78
|
{...props}
|
|
71
79
|
>
|
|
72
|
-
<div className=
|
|
73
|
-
|
|
80
|
+
<div className={cn(
|
|
81
|
+
"relative overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-card shadow-[var(--aui-card-shadow,0_12px_32px_rgba(15,23,42,0.08))]",
|
|
82
|
+
variant === "hero" && "min-h-72",
|
|
83
|
+
variant === "minimal" && "rounded-[var(--radius-md)] shadow-none"
|
|
84
|
+
)}>
|
|
85
|
+
<div className="transition-transform duration-300 ease-out" aria-live="polite">
|
|
86
|
+
{items[activeIndex]}
|
|
87
|
+
</div>
|
|
74
88
|
{showArrows && items.length > 1 ? (
|
|
75
89
|
<>
|
|
76
90
|
<Button
|
|
77
91
|
type="button"
|
|
78
|
-
variant="secondary"
|
|
92
|
+
variant={variant === "hero" ? "default" : "secondary"}
|
|
79
93
|
size="icon-sm"
|
|
80
|
-
className="absolute left-3 top-
|
|
94
|
+
className="absolute left-3 top-1/2 -translate-y-1/2 rounded-full shadow-lg"
|
|
81
95
|
disabled={!canGoPrevious}
|
|
82
96
|
aria-label={previousLabel}
|
|
83
97
|
onClick={() => setActiveIndex(activeIndex - 1)}
|
|
@@ -86,9 +100,9 @@ function Carousel({
|
|
|
86
100
|
</Button>
|
|
87
101
|
<Button
|
|
88
102
|
type="button"
|
|
89
|
-
variant="secondary"
|
|
103
|
+
variant={variant === "hero" ? "default" : "secondary"}
|
|
90
104
|
size="icon-sm"
|
|
91
|
-
className="absolute right-3 top-
|
|
105
|
+
className="absolute right-3 top-1/2 -translate-y-1/2 rounded-full shadow-lg"
|
|
92
106
|
disabled={!canGoNext}
|
|
93
107
|
aria-label={nextLabel}
|
|
94
108
|
onClick={() => setActiveIndex(activeIndex + 1)}
|
|
@@ -99,14 +113,18 @@ function Carousel({
|
|
|
99
113
|
) : null}
|
|
100
114
|
</div>
|
|
101
115
|
{showDots && items.length > 1 && (
|
|
102
|
-
<div className="flex items-center justify-center gap-2">
|
|
116
|
+
<div className="flex items-center justify-center gap-2" role="tablist" aria-label={`${ariaLabel} slides`}>
|
|
103
117
|
{items.map((_, itemIndex) => (
|
|
104
118
|
<button
|
|
105
119
|
key={itemIndex}
|
|
106
120
|
type="button"
|
|
121
|
+
role="tab"
|
|
107
122
|
aria-label={`Go to slide ${itemIndex + 1}`}
|
|
108
|
-
aria-
|
|
109
|
-
className={cn(
|
|
123
|
+
aria-selected={itemIndex === activeIndex}
|
|
124
|
+
className={cn(
|
|
125
|
+
"h-2.5 rounded-full bg-muted-foreground/30 transition-[width,background-color,opacity] hover:bg-muted-foreground/55",
|
|
126
|
+
itemIndex === activeIndex ? "w-7 bg-primary" : "w-2.5"
|
|
127
|
+
)}
|
|
110
128
|
onClick={() => setActiveIndex(itemIndex)}
|
|
111
129
|
/>
|
|
112
130
|
))}
|
|
@@ -116,8 +134,8 @@ function Carousel({
|
|
|
116
134
|
)
|
|
117
135
|
}
|
|
118
136
|
|
|
119
|
-
function CarouselItem({ className, ...props }: CarouselItemProps) {
|
|
120
|
-
return <div data-slot="carousel-item" className={cn("p-
|
|
121
|
-
}
|
|
137
|
+
function CarouselItem({ className, ...props }: CarouselItemProps) {
|
|
138
|
+
return <div data-slot="carousel-item" className={cn("min-h-40 p-5 sm:p-6", className)} {...props} />
|
|
139
|
+
}
|
|
122
140
|
|
|
123
141
|
export { Carousel, CarouselItem }
|
|
@@ -314,7 +314,7 @@ function AsyncStateMessage({
|
|
|
314
314
|
<div
|
|
315
315
|
data-slot="async-select-state"
|
|
316
316
|
className={cn(
|
|
317
|
-
"rounded-[
|
|
317
|
+
"rounded-[var(--radius-md)] border border-[color:var(--aui-card-border,var(--border))] bg-[color:color-mix(in_oklch,var(--muted),transparent_55%)] px-3 py-3 text-sm leading-5 text-muted-foreground",
|
|
318
318
|
className
|
|
319
319
|
)}
|
|
320
320
|
>
|
|
@@ -356,18 +356,18 @@ function AsyncOptionButton<
|
|
|
356
356
|
data-selected={selected || undefined}
|
|
357
357
|
data-disabled={option.disabled || undefined}
|
|
358
358
|
className={cn(
|
|
359
|
-
"flex w-full items-start gap-2 rounded-[
|
|
359
|
+
"flex w-full items-start gap-2.5 rounded-[var(--radius-md)] border border-transparent px-3 py-2.5 text-left text-sm outline-none transition-[background-color,border-color,color,box-shadow] hover:border-[color:color-mix(in_oklch,var(--primary),transparent_76%)] hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_93%)] focus-visible:border-[color:var(--aui-focus-ring,var(--ring))] focus-visible:shadow-[0_0_0_3px_var(--aui-focus-ring-soft,transparent)] data-[selected=true]:border-[color:color-mix(in_oklch,var(--primary),transparent_68%)] data-[selected=true]:bg-[color:color-mix(in_oklch,var(--primary),transparent_89%)] data-[selected=true]:text-foreground disabled:pointer-events-none disabled:opacity-50",
|
|
360
360
|
optionClassName
|
|
361
361
|
)}
|
|
362
362
|
onClick={() => onSelect(option)}
|
|
363
363
|
>
|
|
364
|
-
<span className="flex size-4 shrink-0 items-center justify-center">
|
|
365
|
-
{selected && <CheckIcon className="size-
|
|
364
|
+
<span className={cn("mt-0.5 flex size-4 shrink-0 items-center justify-center rounded-full border border-border/70", selected && "border-primary bg-primary text-primary-foreground")}>
|
|
365
|
+
{selected && <CheckIcon className="size-3" />}
|
|
366
366
|
</span>
|
|
367
367
|
<span className="min-w-0 flex-1">
|
|
368
368
|
{renderOption?.(option, { selected }) ?? (
|
|
369
369
|
<span className="flex min-w-0 flex-col">
|
|
370
|
-
<span className="truncate">{option.label}</span>
|
|
370
|
+
<span className="truncate font-medium">{option.label}</span>
|
|
371
371
|
{option.description && (
|
|
372
372
|
<span className="truncate text-xs text-muted-foreground">{option.description}</span>
|
|
373
373
|
)}
|
|
@@ -397,7 +397,7 @@ function AsyncCreateButton({
|
|
|
397
397
|
type="button"
|
|
398
398
|
disabled={isCreating}
|
|
399
399
|
data-slot="async-select-create"
|
|
400
|
-
className="flex w-full items-center gap-2 rounded-[
|
|
400
|
+
className="flex w-full items-center gap-2 rounded-[var(--radius-md)] border border-dashed border-[color:color-mix(in_oklch,var(--primary),transparent_55%)] bg-[color:color-mix(in_oklch,var(--primary),transparent_94%)] px-3 py-2.5 text-left text-sm font-medium text-foreground outline-none transition-[background-color,border-color,color,box-shadow] hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_90%)] disabled:pointer-events-none disabled:opacity-50"
|
|
401
401
|
onClick={onCreate}
|
|
402
402
|
>
|
|
403
403
|
<span className="flex size-4 shrink-0 items-center justify-center">
|
|
@@ -625,17 +625,17 @@ function AsyncSelect<
|
|
|
625
625
|
aria-invalid={invalid || undefined}
|
|
626
626
|
data-slot="async-select-trigger"
|
|
627
627
|
className={cn(
|
|
628
|
-
"min-h-11 w-full justify-between",
|
|
628
|
+
"min-h-11 w-full justify-between rounded-[var(--aui-control-radius,var(--radius-md))] px-3.5 text-left",
|
|
629
629
|
triggerClassName
|
|
630
630
|
)}
|
|
631
631
|
onKeyDown={handleTriggerKeyDown}
|
|
632
632
|
/>
|
|
633
633
|
}
|
|
634
634
|
>
|
|
635
|
-
<span className="min-w-0 flex-1 text-left">
|
|
635
|
+
<span className="min-w-0 flex-1 text-left">
|
|
636
636
|
{currentOption ? (
|
|
637
|
-
<span className="flex min-w-0 flex-col">
|
|
638
|
-
<span className="truncate">
|
|
637
|
+
<span className="flex min-w-0 flex-col gap-0.5">
|
|
638
|
+
<span className="truncate font-semibold">
|
|
639
639
|
{renderValue?.(currentOption) ?? currentOption.label}
|
|
640
640
|
</span>
|
|
641
641
|
{currentOption.disabled && currentOption.disabledReason && (
|
|
@@ -643,7 +643,7 @@ function AsyncSelect<
|
|
|
643
643
|
)}
|
|
644
644
|
</span>
|
|
645
645
|
) : (
|
|
646
|
-
<span className="truncate">{labels?.placeholder ?? "Select"}</span>
|
|
646
|
+
<span className="truncate text-muted-foreground">{labels?.placeholder ?? "Select"}</span>
|
|
647
647
|
)}
|
|
648
648
|
</span>
|
|
649
649
|
<span className="ml-2 flex shrink-0 items-center gap-1">
|
|
@@ -671,7 +671,7 @@ function AsyncSelect<
|
|
|
671
671
|
align="start"
|
|
672
672
|
data-slot="async-select-content"
|
|
673
673
|
className={cn(
|
|
674
|
-
"w-(--anchor-width) gap-3 rounded-[var(--radius-
|
|
674
|
+
"w-(--anchor-width) min-w-72 gap-3 rounded-[var(--aui-card-radius,var(--radius-lg))] border-[color:var(--aui-card-border,var(--border))] bg-popover p-3 shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))]",
|
|
675
675
|
contentClassName
|
|
676
676
|
)}
|
|
677
677
|
>
|
|
@@ -686,7 +686,7 @@ function AsyncSelect<
|
|
|
686
686
|
/>
|
|
687
687
|
</div>
|
|
688
688
|
|
|
689
|
-
<div className="max-h-
|
|
689
|
+
<div className="max-h-72 space-y-1 overflow-y-auto pr-1">
|
|
690
690
|
{searchTooShort && flatOptions.length === 0 && (
|
|
691
691
|
renderMinSearch?.(state) ?? (
|
|
692
692
|
<AsyncStateMessage>
|
|
@@ -1043,7 +1043,7 @@ function AsyncMultiSelect<
|
|
|
1043
1043
|
aria-invalid={invalid || undefined}
|
|
1044
1044
|
data-slot="async-select-trigger"
|
|
1045
1045
|
className={cn(
|
|
1046
|
-
"min-h-11 w-full justify-between",
|
|
1046
|
+
"min-h-11 w-full justify-between rounded-[var(--aui-control-radius,var(--radius-md))] px-3.5 text-left",
|
|
1047
1047
|
triggerClassName
|
|
1048
1048
|
)}
|
|
1049
1049
|
onKeyDown={handleTriggerKeyDown}
|
|
@@ -1057,7 +1057,7 @@ function AsyncMultiSelect<
|
|
|
1057
1057
|
key={option.value}
|
|
1058
1058
|
data-slot="async-select-tag"
|
|
1059
1059
|
className={cn(
|
|
1060
|
-
"inline-flex max-w-full items-center gap-1 rounded-
|
|
1060
|
+
"inline-flex max-w-full items-center gap-1.5 rounded-[var(--radius-sm)] border border-[color:color-mix(in_oklch,var(--primary),transparent_70%)] bg-[color:color-mix(in_oklch,var(--primary),transparent_92%)] px-2 py-1 text-xs font-medium text-foreground",
|
|
1061
1061
|
tagClassName
|
|
1062
1062
|
)}
|
|
1063
1063
|
>
|
|
@@ -1076,7 +1076,7 @@ function AsyncMultiSelect<
|
|
|
1076
1076
|
role="button"
|
|
1077
1077
|
tabIndex={0}
|
|
1078
1078
|
data-slot="async-select-tag-remove"
|
|
1079
|
-
className="rounded-full text-muted-foreground transition-colors hover:text-foreground"
|
|
1079
|
+
className="rounded-full p-0.5 text-muted-foreground transition-colors hover:bg-background hover:text-foreground"
|
|
1080
1080
|
aria-label={`Remove ${getOptionLabelText(option)}`}
|
|
1081
1081
|
onClick={(event) => {
|
|
1082
1082
|
stopInteractivePropagation(event)
|
|
@@ -1101,7 +1101,7 @@ function AsyncMultiSelect<
|
|
|
1101
1101
|
role="button"
|
|
1102
1102
|
tabIndex={0}
|
|
1103
1103
|
data-slot="async-select-clear"
|
|
1104
|
-
className="rounded-full border p-1 text-muted-foreground transition-colors hover:text-foreground"
|
|
1104
|
+
className="rounded-full border border-border/65 p-1 text-muted-foreground transition-colors hover:border-border hover:bg-muted/55 hover:text-foreground"
|
|
1105
1105
|
aria-label={labels?.clearAll ?? labels?.clear ?? "Clear all"}
|
|
1106
1106
|
onClick={handleClear}
|
|
1107
1107
|
onKeyDown={(event) => {
|
|
@@ -1121,7 +1121,7 @@ function AsyncMultiSelect<
|
|
|
1121
1121
|
align="start"
|
|
1122
1122
|
data-slot="async-select-content"
|
|
1123
1123
|
className={cn(
|
|
1124
|
-
"w-(--anchor-width) gap-3 rounded-[var(--radius-
|
|
1124
|
+
"w-(--anchor-width) min-w-72 gap-3 rounded-[var(--aui-card-radius,var(--radius-lg))] border-[color:var(--aui-card-border,var(--border))] bg-popover p-3 shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))]",
|
|
1125
1125
|
contentClassName
|
|
1126
1126
|
)}
|
|
1127
1127
|
>
|
|
@@ -1136,7 +1136,7 @@ function AsyncMultiSelect<
|
|
|
1136
1136
|
/>
|
|
1137
1137
|
</div>
|
|
1138
1138
|
|
|
1139
|
-
<div data-slot="async-select-meta" className="flex flex-wrap items-center justify-between gap-2 rounded-[
|
|
1139
|
+
<div data-slot="async-select-meta" className="flex flex-wrap items-center justify-between gap-2 rounded-[var(--radius-md)] border border-[color:var(--aui-card-border,var(--border))] bg-[color:color-mix(in_oklch,var(--muted),transparent_62%)] px-3 py-2 text-xs text-muted-foreground">
|
|
1140
1140
|
{hasValue && labels?.selectedCount && <span>{labels.selectedCount(values.length)}</span>}
|
|
1141
1141
|
{isMaxReached &&
|
|
1142
1142
|
(renderMaxSelected?.(state) ?? (
|
|
@@ -1147,7 +1147,7 @@ function AsyncMultiSelect<
|
|
|
1147
1147
|
<button
|
|
1148
1148
|
type="button"
|
|
1149
1149
|
data-slot="async-select-meta-action"
|
|
1150
|
-
className="rounded-
|
|
1150
|
+
className="rounded-[var(--radius-sm)] border border-border/75 px-2.5 py-1 font-medium text-foreground transition-colors hover:bg-background"
|
|
1151
1151
|
onClick={handleSelectAllVisible}
|
|
1152
1152
|
>
|
|
1153
1153
|
{labels?.selectAll ?? "Select all"}
|
|
@@ -1157,7 +1157,7 @@ function AsyncMultiSelect<
|
|
|
1157
1157
|
<button
|
|
1158
1158
|
type="button"
|
|
1159
1159
|
data-slot="async-select-meta-action"
|
|
1160
|
-
className="rounded-
|
|
1160
|
+
className="rounded-[var(--radius-sm)] border border-border/75 px-2.5 py-1 font-medium text-foreground transition-colors hover:bg-background"
|
|
1161
1161
|
onClick={() => onValueChange?.([], [])}
|
|
1162
1162
|
>
|
|
1163
1163
|
{labels?.clearAll ?? labels?.clear ?? "Clear all"}
|
|
@@ -1166,7 +1166,7 @@ function AsyncMultiSelect<
|
|
|
1166
1166
|
</div>
|
|
1167
1167
|
</div>
|
|
1168
1168
|
|
|
1169
|
-
<div className="max-h-
|
|
1169
|
+
<div className="max-h-72 space-y-1 overflow-y-auto pr-1">
|
|
1170
1170
|
{searchTooShort && flatOptions.length === 0 && (
|
|
1171
1171
|
renderMinSearch?.(state) ?? (
|
|
1172
1172
|
<AsyncStateMessage>
|