tembro 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/components/calendar/calendar.cjs +1 -1
  2. package/dist/components/calendar/calendar.js +3 -3
  3. package/dist/components/calendar/date-picker.cjs +1 -1
  4. package/dist/components/calendar/date-picker.js +2 -2
  5. package/dist/components/calendar/date-range-picker.cjs +1 -1
  6. package/dist/components/calendar/date-range-picker.js +2 -4
  7. package/dist/components/data-table/data-table-toolbar.cjs +1 -1
  8. package/dist/components/data-table/data-table-toolbar.js +2 -2
  9. package/dist/components/data-table/data-table.cjs +1 -1
  10. package/dist/components/data-table/data-table.js +3 -3
  11. package/dist/components/inputs/combobox.cjs +1 -1
  12. package/dist/components/inputs/combobox.d.ts +5 -1
  13. package/dist/components/inputs/combobox.js +69 -59
  14. package/dist/components/inputs/simple-select.cjs +1 -1
  15. package/dist/components/inputs/simple-select.d.ts +1 -1
  16. package/dist/components/inputs/simple-select.js +5 -5
  17. package/dist/components/ui/button.cjs +1 -0
  18. package/dist/components/ui/button.d.ts +1 -0
  19. package/dist/components/ui/button.js +2 -0
  20. package/dist/components/ui/input.cjs +1 -0
  21. package/dist/components/ui/input.d.ts +1 -0
  22. package/dist/components/ui/input.js +3 -0
  23. package/dist/showcase/tembro-registry.json.cjs +1 -1
  24. package/dist/showcase/tembro-registry.json.js +1 -1
  25. package/package.json +2 -2
  26. package/packages/cli/dist/index.cjs +2 -2
  27. package/packages/cli/vendor/src/components/calendar/calendar.tsx +3 -3
  28. package/packages/cli/vendor/src/components/calendar/date-picker.tsx +2 -2
  29. package/packages/cli/vendor/src/components/calendar/date-range-picker.tsx +4 -5
  30. package/packages/cli/vendor/src/components/data-table/data-table-toolbar.tsx +2 -2
  31. package/packages/cli/vendor/src/components/data-table/data-table.tsx +3 -3
  32. package/packages/cli/vendor/src/components/inputs/combobox.tsx +71 -41
  33. package/packages/cli/vendor/src/components/inputs/simple-select.tsx +6 -6
  34. package/packages/cli/vendor/src/components/ui/button.tsx +2 -0
  35. package/packages/cli/vendor/src/components/ui/input.tsx +2 -0
  36. package/packages/cli/vendor/src/showcase/tembro-registry.json +1 -1
  37. 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:"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(`
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"),p("src/components/ui/button.tsx","{ui}/button.tsx")]},input:{name:"input",category:"ui",dependencies:["@base-ui/react"],registryDependencies:["utils"],files:[p("src/components/ui/input","{ui}/input"),p("src/components/ui/input.tsx","{ui}/input.tsx")]},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.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();
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.3");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();
@@ -269,7 +269,7 @@ function Calendar({
269
269
  data-slot="calendar"
270
270
  data-months={resolvedNumberOfMonths}
271
271
  className={cn(
272
- "w-fit rounded-[calc(var(--radius-2xl)+2px)] border border-border/70 bg-popover p-3 text-popover-foreground shadow-[0_18px_48px_rgba(15,23,42,0.18)] backdrop-blur",
272
+ "w-fit rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-popover p-3 text-popover-foreground shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))] backdrop-blur",
273
273
  className
274
274
  )}
275
275
  {...props}
@@ -310,7 +310,7 @@ function Calendar({
310
310
  }
311
311
  >
312
312
  {monthDaysByMonth.map(({ month: visibleMonth, days }) => (
313
- <div key={toDateKey(visibleMonth)} className="min-w-[16.5rem] rounded-[var(--radius-2xl)] bg-transparent p-1">
313
+ <div key={toDateKey(visibleMonth)} className="min-w-[16.5rem] rounded-[var(--radius-lg)] bg-transparent p-1">
314
314
  {shouldShowMonthHeaders && (
315
315
  <div className="mb-2 text-center text-sm font-semibold capitalize tracking-tight text-foreground">
316
316
  {getMonthLabel(visibleMonth, locale)}
@@ -354,7 +354,7 @@ function Calendar({
354
354
  data-in-range={inRange || undefined}
355
355
  data-disabled-reason={disabledReason}
356
356
  className={cn(
357
- "flex h-9 items-center justify-center rounded-[min(var(--radius-xl),14px)] border border-transparent text-sm font-medium outline-none transition-[background-color,color,border-color,box-shadow,transform] hover:bg-accent hover:text-accent-foreground focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-30",
357
+ "flex h-9 items-center justify-center rounded-[var(--radius-md)] border border-transparent text-sm font-medium outline-none transition-[background-color,color,border-color,box-shadow,transform] hover:bg-accent hover:text-accent-foreground focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-30",
358
358
  outside && "text-muted-foreground/34",
359
359
  dateKey === todayKey && "border-border/70 bg-muted/60 text-foreground",
360
360
  inRange && "bg-primary/10 text-foreground",
@@ -59,7 +59,7 @@ function DatePicker({
59
59
  variant="outline"
60
60
  disabled={disabled}
61
61
  className={cn(
62
- "min-h-11 w-full justify-start rounded-[min(var(--radius-xl),16px)] border-border/80 bg-background/96 text-left font-normal shadow-[0_1px_0_rgba(255,255,255,0.06)]",
62
+ "min-h-11 w-full justify-start rounded-[var(--aui-control-radius,var(--radius-md))] border-border/80 bg-background/96 text-left font-normal shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04))]",
63
63
  !hasValue && "text-muted-foreground",
64
64
  triggerClassName
65
65
  )}
@@ -74,7 +74,7 @@ function DatePicker({
74
74
  <PopoverContent
75
75
  align="start"
76
76
  className={cn(
77
- "w-auto overflow-hidden rounded-[calc(var(--radius-2xl)+2px)] border-border/70 bg-popover p-0 shadow-[0_22px_56px_rgba(15,23,42,0.2)] backdrop-blur",
77
+ "w-auto overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border-border/70 bg-popover p-0 shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))] backdrop-blur",
78
78
  contentClassName
79
79
  )}
80
80
  >
@@ -119,7 +119,7 @@ function DateRangePicker({
119
119
  variant="outline"
120
120
  disabled={disabled}
121
121
  className={cn(
122
- "min-h-11 w-full justify-start rounded-[min(var(--radius-xl),16px)] border-border/80 bg-background/96 text-left font-normal shadow-[0_1px_0_rgba(255,255,255,0.06)]",
122
+ "min-h-11 w-full justify-start rounded-[var(--aui-control-radius,var(--radius-md))] border-border/80 bg-background/96 text-left font-normal shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04))]",
123
123
  !hasValue && "text-muted-foreground",
124
124
  triggerClassName
125
125
  )}
@@ -132,7 +132,7 @@ function DateRangePicker({
132
132
  <PopoverContent
133
133
  align="start"
134
134
  className={cn(
135
- "w-auto overflow-hidden rounded-[calc(var(--radius-2xl)+2px)] border-border/70 bg-popover p-0 shadow-[0_22px_56px_rgba(15,23,42,0.2)] backdrop-blur",
135
+ "w-auto overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border-border/70 bg-popover p-0 shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))] backdrop-blur",
136
136
  contentClassName
137
137
  )}
138
138
  >
@@ -151,14 +151,13 @@ function DateRangePicker({
151
151
  <span className="block truncate">{draftLabel}</span>
152
152
  </div>
153
153
  <div className="flex items-center gap-2">
154
- <Button type="button" variant="ghost" size="sm" className="rounded-full" onClick={clearDraftValue}>
154
+ <Button type="button" variant="ghost" size="sm" onClick={clearDraftValue}>
155
155
  {labels?.clear ?? "Clear"}
156
156
  </Button>
157
157
  <Button
158
158
  type="button"
159
159
  size="sm"
160
- className="rounded-full"
161
- disabled={!hasDraftValue}
160
+ disabled={!hasDraftValue}
162
161
  onClick={applyDraftValue}
163
162
  >
164
163
  {labels?.apply ?? "Apply"}
@@ -8,7 +8,7 @@ const dataTableToolbarVariants = cva("flex flex-col", {
8
8
  variant: {
9
9
  default: "",
10
10
  plain: "border-transparent bg-transparent shadow-none",
11
- soft: "rounded-[var(--radius-2xl)] border border-[color:var(--aui-card-border,var(--border))] bg-[color:color-mix(in_oklch,var(--card),var(--background)_16%)] shadow-[var(--aui-card-shadow,var(--aui-control-shadow,none))]",
11
+ soft: "rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-[color:color-mix(in_oklch,var(--card),var(--background)_16%)] shadow-[var(--aui-card-shadow,var(--aui-control-shadow,none))]",
12
12
  },
13
13
  density: {
14
14
  compact: "gap-3 p-3",
@@ -91,7 +91,7 @@ function DataTableToolbar({
91
91
  </div>
92
92
 
93
93
  {hasSelection && (
94
- <div data-slot="data-table-selection-bar" className="flex shrink-0 items-center gap-2 rounded-full border border-[color:var(--aui-control-border-strong,var(--border))] bg-[color:var(--aui-control-surface,var(--background))] px-2.5 py-1.5 text-sm shadow-[var(--aui-control-shadow,none)] backdrop-blur">
94
+ <div data-slot="data-table-selection-bar" className="flex shrink-0 items-center gap-2 rounded-[var(--radius-md)] border border-[color:var(--aui-control-border-strong,var(--border))] bg-[color:var(--aui-control-surface,var(--background))] px-2.5 py-1.5 text-sm shadow-[var(--aui-control-shadow,none)] backdrop-blur">
95
95
  <span className="text-muted-foreground">{selectedLabel(selectedCount, totalCount)}</span>
96
96
  {selectionActions}
97
97
  </div>
@@ -433,7 +433,7 @@ function DataTable<TData, TValue = unknown>({
433
433
  data-striped={striped || undefined}
434
434
  data-bordered={bordered || undefined}
435
435
  className={cn(
436
- "overflow-hidden rounded-[var(--radius-2xl)] border border-[color:var(--aui-card-border,var(--border))] bg-card shadow-[var(--aui-card-shadow,0_12px_30px_rgba(15,23,42,0.08))] backdrop-blur",
436
+ "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_10px_24px_rgba(15,23,42,0.07))] backdrop-blur",
437
437
  renderMobileCard && "hidden md:block",
438
438
  tableWrapperClassName
439
439
  )}
@@ -461,7 +461,7 @@ function DataTable<TData, TValue = unknown>({
461
461
  }}
462
462
  className={cn(
463
463
  densityHeadClassName[density],
464
- "bg-transparent text-muted-foreground",
464
+ "bg-[color:color-mix(in_oklch,var(--card),var(--background)_10%)] text-muted-foreground",
465
465
  stickyHeader && "bg-[color:color-mix(in_oklch,var(--card),transparent_12%)] backdrop-blur",
466
466
  header.column.getIsPinned() && "bg-card shadow-[1px_0_0_var(--border)]",
467
467
  bordered && "border-r last:border-r-0",
@@ -492,7 +492,7 @@ function DataTable<TData, TValue = unknown>({
492
492
  data-disabled={rowDisabled || undefined}
493
493
  className={cn(
494
494
  onRowClick && !rowDisabled && "cursor-pointer",
495
- !rowDisabled && "transition-colors hover:bg-[color:var(--aui-page-bg-alt)]",
495
+ !rowDisabled && "transition-colors hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_96%)] data-[state=selected]:bg-[color:color-mix(in_oklch,var(--primary),transparent_90%)]",
496
496
  rowDisabled && "pointer-events-none opacity-55",
497
497
  getRowClassName(row, rowClassName)
498
498
  )}
@@ -1,9 +1,10 @@
1
1
  import * as React from "react"
2
2
  import { CheckIcon, ChevronDownIcon, SearchIcon } from "lucide-react"
3
3
 
4
- import { Button } from "@/components/ui/button"
5
- import { Input } from "@/components/ui/input"
6
- import { cn } from "@/lib/utils"
4
+ import { Button } from "@/components/ui/button"
5
+ import { Input } from "@/components/ui/input"
6
+ import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover"
7
+ import { cn } from "@/lib/utils"
7
8
 
8
9
  export type ComboboxOption<TValue extends string = string> = {
9
10
  value: TValue
@@ -22,8 +23,12 @@ export type ComboboxProps<TValue extends string = string> = React.ComponentProps
22
23
  searchPlaceholder?: string
23
24
  emptyLabel?: React.ReactNode
24
25
  disabled?: boolean
25
- invalid?: boolean
26
- }
26
+ invalid?: boolean
27
+ triggerClassName?: string
28
+ contentClassName?: string
29
+ optionClassName?: string
30
+ searchClassName?: string
31
+ }
27
32
 
28
33
  function Combobox<TValue extends string = string>({
29
34
  value,
@@ -32,11 +37,15 @@ function Combobox<TValue extends string = string>({
32
37
  placeholder = "Select option",
33
38
  searchPlaceholder = "Search...",
34
39
  emptyLabel = "No option found",
35
- disabled = false,
36
- invalid,
37
- className,
38
- ...props
39
- }: ComboboxProps<TValue>) {
40
+ disabled = false,
41
+ invalid,
42
+ triggerClassName,
43
+ contentClassName,
44
+ optionClassName,
45
+ searchClassName,
46
+ className,
47
+ ...props
48
+ }: ComboboxProps<TValue>) {
40
49
  const [open, setOpen] = React.useState(false)
41
50
  const [search, setSearch] = React.useState("")
42
51
  const selectedOption = options.find((option) => option.value === value)
@@ -47,45 +56,66 @@ function Combobox<TValue extends string = string>({
47
56
  return String(option.searchValue ?? option.label).toLowerCase().includes(normalizedSearch)
48
57
  })
49
58
 
50
- return (
51
- <div data-slot="combobox" className={cn("relative grid gap-2", className)} {...props}>
52
- <Button type="button" variant="outline" disabled={disabled} aria-invalid={invalid || undefined} className="w-full justify-between" onClick={() => setOpen((value) => !value)}>
53
- <span className={cn("truncate", !selectedOption && "text-muted-foreground")}>{selectedOption?.label ?? placeholder}</span>
54
- <ChevronDownIcon className="size-4 opacity-60" />
55
- </Button>
56
- {open && (
57
- <div className="absolute top-full z-30 mt-2 w-full rounded-md border bg-popover p-2 text-popover-foreground shadow-md">
58
- <div className="relative mb-2">
59
- <SearchIcon className="pointer-events-none absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" />
60
- <Input value={search} onChange={(event) => setSearch(event.target.value)} placeholder={searchPlaceholder} className="h-9 pl-8" />
61
- </div>
62
- <div className="max-h-64 overflow-y-auto">
63
- {filteredOptions.length ? filteredOptions.map((option) => {
59
+ return (
60
+ <div data-slot="combobox" className={cn("grid w-full gap-2", className)} {...props}>
61
+ <Popover open={open} onOpenChange={setOpen}>
62
+ <PopoverTrigger
63
+ render={
64
+ <Button
65
+ type="button"
66
+ variant="outline"
67
+ disabled={disabled}
68
+ aria-expanded={open}
69
+ aria-invalid={invalid || undefined}
70
+ className={cn("min-h-11 w-full justify-between rounded-[var(--aui-control-radius,var(--radius-md))] px-3.5 text-left", triggerClassName)}
71
+ />
72
+ }
73
+ >
74
+ <span className={cn("min-w-0 flex-1 truncate font-medium", !selectedOption && "font-normal text-muted-foreground")}>
75
+ {selectedOption?.label ?? placeholder}
76
+ </span>
77
+ <ChevronDownIcon className="size-4 opacity-60" />
78
+ </PopoverTrigger>
79
+ <PopoverContent
80
+ align="start"
81
+ data-slot="combobox-content"
82
+ className={cn("w-(--anchor-width) min-w-72 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))]", contentClassName)}
83
+ >
84
+ <div className="relative mb-2">
85
+ <SearchIcon className="pointer-events-none absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" />
86
+ <Input value={search} onChange={(event) => setSearch(event.target.value)} placeholder={searchPlaceholder} className={cn("h-9 pl-8", searchClassName)} />
87
+ </div>
88
+ <div className="max-h-64 overflow-y-auto">
89
+ {filteredOptions.length ? filteredOptions.map((option) => {
64
90
  const active = option.value === value
65
91
  return (
66
92
  <button
67
- key={option.value}
68
- type="button"
69
- disabled={option.disabled}
70
- className={cn("flex w-full items-start gap-2 rounded-md px-2 py-2 text-left text-sm hover:bg-muted disabled:pointer-events-none disabled:opacity-50", active && "bg-muted")}
71
- onClick={() => {
72
- onValueChange?.(option.value, option)
73
- setOpen(false)
74
- }}
75
- >
76
- <span className="mt-0.5 flex size-4 shrink-0 items-center justify-center">{active && <CheckIcon className="size-4" />}</span>
93
+ key={option.value}
94
+ type="button"
95
+ disabled={option.disabled}
96
+ data-selected={active || undefined}
97
+ className={cn(
98
+ "flex w-full items-start gap-2.5 rounded-[var(--radius-md)] border border-transparent px-3 py-2.5 text-left text-sm transition-colors hover:border-[color:color-mix(in_oklch,var(--primary),transparent_76%)] hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_93%)] disabled:pointer-events-none disabled:opacity-50 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%)]",
99
+ optionClassName
100
+ )}
101
+ onClick={() => {
102
+ onValueChange?.(option.value, option)
103
+ setOpen(false)
104
+ }}
105
+ >
106
+ <span className={cn("mt-0.5 flex size-4 shrink-0 items-center justify-center rounded-full border border-border/70", active && "border-primary bg-primary text-primary-foreground")}>{active && <CheckIcon className="size-3" />}</span>
77
107
  <span className="min-w-0">
78
108
  <span className="block truncate font-medium">{option.label}</span>
79
109
  {option.description && <span className="block text-xs text-muted-foreground">{option.description}</span>}
80
110
  </span>
81
111
  </button>
82
112
  )
83
- }) : <div className="px-2 py-6 text-center text-sm text-muted-foreground">{emptyLabel}</div>}
84
- </div>
85
- </div>
86
- )}
87
- </div>
88
- )
89
- }
113
+ }) : <div className="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-6 text-center text-sm text-muted-foreground">{emptyLabel}</div>}
114
+ </div>
115
+ </PopoverContent>
116
+ </Popover>
117
+ </div>
118
+ )
119
+ }
90
120
 
91
121
  export { Combobox }