{ "$schema": "https://ui.shadcn.com/schema/registry.json", "name": "kso", "homepage": "https://kso-base.vercel.app", "items": [ { "name": "base", "type": "registry:lib", "title": "kso-base — kernel compartilhado", "description": "Hooks (use-crud, use-modal-instance), contexts/providers (store, modal, auth), camada de permissões e feature flags, DataTable, FormFields e demais componentes ui/ próprios (combobox, image-upload, multi-select, native-select). Pré-requisito de todos os módulos de negócio deste registry.", "files": [ { "path": "src/components/extensions/datatable/column-builder.tsx", "type": "registry:component", "target": "~/src/components/extensions/datatable/column-builder.tsx" }, { "path": "src/components/extensions/datatable/datatable-columns-toggle.tsx", "type": "registry:component", "target": "~/src/components/extensions/datatable/datatable-columns-toggle.tsx" }, { "path": "src/components/extensions/datatable/datatable-filters.tsx", "type": "registry:component", "target": "~/src/components/extensions/datatable/datatable-filters.tsx" }, { "path": "src/components/extensions/datatable/datatable-header-column.tsx", "type": "registry:component", "target": "~/src/components/extensions/datatable/datatable-header-column.tsx" }, { "path": "src/components/extensions/datatable/datatable-pagination.tsx", "type": "registry:component", "target": "~/src/components/extensions/datatable/datatable-pagination.tsx" }, { "path": "src/components/extensions/datatable/datatable-skeleton.tsx", "type": "registry:component", "target": "~/src/components/extensions/datatable/datatable-skeleton.tsx" }, { "path": "src/components/extensions/datatable/datatable.tsx", "type": "registry:component", "target": "~/src/components/extensions/datatable/datatable.tsx" }, { "path": "src/components/extensions/search-highlight.tsx", "type": "registry:component", "target": "~/src/components/extensions/search-highlight.tsx" }, { "path": "src/components/layout/page-container.tsx", "type": "registry:component", "target": "~/src/components/layout/page-container.tsx" }, { "path": "src/components/shared/form-fields.tsx", "type": "registry:component", "target": "~/src/components/shared/form-fields.tsx" }, { "path": "src/components/shared/import-spreadsheet-button.tsx", "type": "registry:component", "target": "~/src/components/shared/import-spreadsheet-button.tsx" }, { "path": "src/components/ui/combobox-async.tsx", "type": "registry:ui", "target": "~/src/components/ui/combobox-async.tsx" }, { "path": "src/components/ui/combobox-select.tsx", "type": "registry:ui", "target": "~/src/components/ui/combobox-select.tsx" }, { "path": "src/components/ui/combobox.tsx", "type": "registry:ui", "target": "~/src/components/ui/combobox.tsx" }, { "path": "src/components/ui/image-upload.tsx", "type": "registry:ui", "target": "~/src/components/ui/image-upload.tsx" }, { "path": "src/components/ui/multi-select.tsx", "type": "registry:ui", "target": "~/src/components/ui/multi-select.tsx" }, { "path": "src/components/ui/native-select.tsx", "type": "registry:ui", "target": "~/src/components/ui/native-select.tsx" }, { "path": "src/config/brand.config.ts", "type": "registry:lib", "target": "~/src/config/brand.config.ts" }, { "path": "src/config/demo.config.ts", "type": "registry:lib", "target": "~/src/config/demo.config.ts" }, { "path": "src/config/session-config.ts", "type": "registry:lib", "target": "~/src/config/session-config.ts" }, { "path": "src/config/sidebar-menu.config.ts", "type": "registry:lib", "target": "~/src/config/sidebar-menu.config.ts" }, { "path": "src/config/site-config.ts", "type": "registry:lib", "target": "~/src/config/site-config.ts" }, { "path": "src/contexts/store-context.tsx", "type": "registry:lib", "target": "~/src/contexts/store-context.tsx" }, { "path": "src/hooks/use-crud.ts", "type": "registry:hook", "target": "~/src/hooks/use-crud.ts" }, { "path": "src/hooks/use-debounce-fn.ts", "type": "registry:hook", "target": "~/src/hooks/use-debounce-fn.ts" }, { "path": "src/hooks/use-debounce.ts", "type": "registry:hook", "target": "~/src/hooks/use-debounce.ts" }, { "path": "src/hooks/use-isomorphic-layout-effect.ts", "type": "registry:hook", "target": "~/src/hooks/use-isomorphic-layout-effect.ts" }, { "path": "src/hooks/use-latest.ts", "type": "registry:hook", "target": "~/src/hooks/use-latest.ts" }, { "path": "src/hooks/use-load-options.ts", "type": "registry:hook", "target": "~/src/hooks/use-load-options.ts" }, { "path": "src/hooks/use-modal-instance.ts", "type": "registry:hook", "target": "~/src/hooks/use-modal-instance.ts" }, { "path": "src/hooks/use-unmount.ts", "type": "registry:hook", "target": "~/src/hooks/use-unmount.ts" }, { "path": "src/lib/asset-url.ts", "type": "registry:lib", "target": "~/src/lib/asset-url.ts" }, { "path": "src/lib/auth/components/auth-guard.tsx", "type": "registry:lib", "target": "~/src/lib/auth/components/auth-guard.tsx" }, { "path": "src/lib/auth/components/can.tsx", "type": "registry:lib", "target": "~/src/lib/auth/components/can.tsx" }, { "path": "src/lib/auth/config/index.ts", "type": "registry:lib", "target": "~/src/lib/auth/config/index.ts" }, { "path": "src/lib/auth/contexts/auth-guard-context.tsx", "type": "registry:lib", "target": "~/src/lib/auth/contexts/auth-guard-context.tsx" }, { "path": "src/lib/auth/hooks/use-abilities.ts", "type": "registry:lib", "target": "~/src/lib/auth/hooks/use-abilities.ts" }, { "path": "src/lib/auth/hooks/use-auth-guard-context.ts", "type": "registry:lib", "target": "~/src/lib/auth/hooks/use-auth-guard-context.ts" }, { "path": "src/lib/auth/hooks/use-auth-user.ts", "type": "registry:lib", "target": "~/src/lib/auth/hooks/use-auth-user.ts" }, { "path": "src/lib/auth/hooks/use-auth.ts", "type": "registry:lib", "target": "~/src/lib/auth/hooks/use-auth.ts" }, { "path": "src/lib/auth/index.ts", "type": "registry:lib", "target": "~/src/lib/auth/index.ts" }, { "path": "src/lib/auth/providers/auth-provider.tsx", "type": "registry:lib", "target": "~/src/lib/auth/providers/auth-provider.tsx" }, { "path": "src/lib/auth/proxy-handler.ts", "type": "registry:lib", "target": "~/src/lib/auth/proxy-handler.ts" }, { "path": "src/lib/auth/types/auth.ts", "type": "registry:lib", "target": "~/src/lib/auth/types/auth.ts" }, { "path": "src/lib/auth/types/permissions.ts", "type": "registry:lib", "target": "~/src/lib/auth/types/permissions.ts" }, { "path": "src/lib/auth/utils/build-login-url.ts", "type": "registry:lib", "target": "~/src/lib/auth/utils/build-login-url.ts" }, { "path": "src/lib/axios-instance.ts", "type": "registry:lib", "target": "~/src/lib/axios-instance.ts" }, { "path": "src/lib/feature-flags/components/feature-flag.ts", "type": "registry:lib", "target": "~/src/lib/feature-flags/components/feature-flag.ts" }, { "path": "src/lib/feature-flags/feature-flag.ts", "type": "registry:lib", "target": "~/src/lib/feature-flags/feature-flag.ts" }, { "path": "src/lib/feature-flags/flags.config.ts", "type": "registry:lib", "target": "~/src/lib/feature-flags/flags.config.ts" }, { "path": "src/lib/feature-flags/types/feature-flags.ts", "type": "registry:lib", "target": "~/src/lib/feature-flags/types/feature-flags.ts" }, { "path": "src/lib/input-masks.ts", "type": "registry:lib", "target": "~/src/lib/input-masks.ts" }, { "path": "src/lib/messages.ts", "type": "registry:lib", "target": "~/src/lib/messages.ts" }, { "path": "src/lib/offline/db.ts", "type": "registry:lib", "target": "~/src/lib/offline/db.ts" }, { "path": "src/lib/offline/utils.ts", "type": "registry:lib", "target": "~/src/lib/offline/utils.ts" }, { "path": "src/lib/session/client.ts", "type": "registry:lib", "target": "~/src/lib/session/client.ts" }, { "path": "src/lib/session/utils.ts", "type": "registry:lib", "target": "~/src/lib/session/utils.ts" }, { "path": "src/lib/utils.ts", "type": "registry:lib", "target": "~/src/lib/utils.ts" }, { "path": "src/modules/registry.ts", "type": "registry:lib", "target": "~/src/modules/registry.ts" }, { "path": "src/providers/modal-provider.tsx", "type": "registry:lib", "target": "~/src/providers/modal-provider.tsx" }, { "path": "src/types/store-branding.ts", "type": "registry:lib", "target": "~/src/types/store-branding.ts" }, { "path": "src/types/store.ts", "type": "registry:lib", "target": "~/src/types/store.ts" } ], "registryDependencies": [ "accordion", "alert", "alert-dialog", "aspect-ratio", "avatar", "badge", "button", "button-group", "checkbox", "command", "dialog", "drawer", "dropdown-menu", "empty", "field", "input", "input-group", "input-otp", "label", "radio-group", "scroll-area", "select", "separator", "sheet", "skeleton", "slider", "spinner", "switch", "table", "tabs", "textarea", "toggle", "toggle-group", "@reui/autocomplete", "@reui/number-field" ], "dependencies": [ "@base-ui/react", "@hookform/resolvers", "@radix-ui/react-icons", "@tabler/icons-react", "@tanstack/react-query", "@tanstack/react-table", "axios", "class-variance-authority", "clsx", "cmdk", "date-fns", "es-toolkit", "input-otp", "jose", "lucide-react", "motion", "next", "nookies", "react", "react-hook-form", "sonner", "tailwind-merge", "vaul", "xlsx", "zod" ] }, { "name": "lojas", "type": "registry:block", "title": "Lojas", "description": "Cadastro de lojas, com identidade visual (branding) por loja.", "files": [ { "path": "src/app/(root)/(cadastros)/lojas/page.tsx", "type": "registry:page", "target": "~/src/app/(root)/(cadastros)/lojas/page.tsx" }, { "path": "src/features/(cadastros)/lojas/components/editar-lojas-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/lojas/components/editar-lojas-modal.tsx" }, { "path": "src/features/(cadastros)/lojas/components/excluir-lojas-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/lojas/components/excluir-lojas-modal.tsx" }, { "path": "src/features/(cadastros)/lojas/components/form-lojas.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/lojas/components/form-lojas.tsx" }, { "path": "src/features/(cadastros)/lojas/components/table-columns.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/lojas/components/table-columns.tsx" }, { "path": "src/features/(cadastros)/lojas/components/table.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/lojas/components/table.tsx" }, { "path": "src/features/(cadastros)/lojas/feature.tsx", "type": "registry:lib", "target": "~/src/features/(cadastros)/lojas/feature.tsx" }, { "path": "src/features/(cadastros)/lojas/utils/constants.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/lojas/utils/constants.ts" }, { "path": "src/features/(cadastros)/lojas/utils/loja-branding-form.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/lojas/utils/loja-branding-form.ts" }, { "path": "src/features/(cadastros)/lojas/utils/module-utils.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/lojas/utils/module-utils.ts" }, { "path": "src/types/lojas/types.ts", "type": "registry:lib", "target": "~/src/types/lojas/types.ts" } ], "categories": [ "cadastros" ], "registryDependencies": [ "@kso/base", "@kso/depositos", "@kso/tabelas-precos" ] }, { "name": "depositos", "type": "registry:block", "title": "Depósitos", "description": "Cadastro de depósitos vinculados a uma loja.", "files": [ { "path": "src/app/(root)/(cadastros)/depositos/page.tsx", "type": "registry:page", "target": "~/src/app/(root)/(cadastros)/depositos/page.tsx" }, { "path": "src/features/(cadastros)/depositos/components/editar-deposito-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/depositos/components/editar-deposito-modal.tsx" }, { "path": "src/features/(cadastros)/depositos/components/excluir-deposito-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/depositos/components/excluir-deposito-modal.tsx" }, { "path": "src/features/(cadastros)/depositos/components/form-deposito.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/depositos/components/form-deposito.tsx" }, { "path": "src/features/(cadastros)/depositos/components/table-columns.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/depositos/components/table-columns.tsx" }, { "path": "src/features/(cadastros)/depositos/components/table.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/depositos/components/table.tsx" }, { "path": "src/features/(cadastros)/depositos/feature.tsx", "type": "registry:lib", "target": "~/src/features/(cadastros)/depositos/feature.tsx" }, { "path": "src/features/(cadastros)/depositos/utils/constants.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/depositos/utils/constants.ts" }, { "path": "src/features/(cadastros)/depositos/utils/module-utils.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/depositos/utils/module-utils.ts" }, { "path": "src/types/deposito/types.ts", "type": "registry:lib", "target": "~/src/types/deposito/types.ts" } ], "categories": [ "cadastros" ], "registryDependencies": [ "@kso/base" ] }, { "name": "tabelas-precos", "type": "registry:block", "title": "Tabelas de Preço", "description": "Cadastro de tabelas de preço e itens de preço.", "files": [ { "path": "src/app/(root)/(cadastros)/tabelas-precos/page.tsx", "type": "registry:page", "target": "~/src/app/(root)/(cadastros)/tabelas-precos/page.tsx" }, { "path": "src/features/(cadastros)/tabelas-precos/components/adicionar-preco-item-action.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/tabelas-precos/components/adicionar-preco-item-action.tsx" }, { "path": "src/features/(cadastros)/tabelas-precos/components/adicionar-preco-item-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/tabelas-precos/components/adicionar-preco-item-modal.tsx" }, { "path": "src/features/(cadastros)/tabelas-precos/components/editar-tabelas-precos-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/tabelas-precos/components/editar-tabelas-precos-modal.tsx" }, { "path": "src/features/(cadastros)/tabelas-precos/components/excluir-tabelas-precos-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/tabelas-precos/components/excluir-tabelas-precos-modal.tsx" }, { "path": "src/features/(cadastros)/tabelas-precos/components/form-tabelas-precos.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/tabelas-precos/components/form-tabelas-precos.tsx" }, { "path": "src/features/(cadastros)/tabelas-precos/components/table-columns.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/tabelas-precos/components/table-columns.tsx" }, { "path": "src/features/(cadastros)/tabelas-precos/components/table.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/tabelas-precos/components/table.tsx" }, { "path": "src/features/(cadastros)/tabelas-precos/feature.tsx", "type": "registry:lib", "target": "~/src/features/(cadastros)/tabelas-precos/feature.tsx" }, { "path": "src/features/(cadastros)/tabelas-precos/utils/constants.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/tabelas-precos/utils/constants.ts" }, { "path": "src/features/(cadastros)/tabelas-precos/utils/module-utils.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/tabelas-precos/utils/module-utils.ts" }, { "path": "src/types/tabelas-precos/types.ts", "type": "registry:lib", "target": "~/src/types/tabelas-precos/types.ts" } ], "categories": [ "cadastros" ], "registryDependencies": [ "@kso/base", "@kso/itens" ] }, { "name": "itens", "type": "registry:block", "title": "Itens", "description": "Cadastro de itens (produtos), com estoque e composição.", "files": [ { "path": "src/app/(root)/(cadastros)/itens/page.tsx", "type": "registry:page", "target": "~/src/app/(root)/(cadastros)/itens/page.tsx" }, { "path": "src/features/(cadastros)/itens/components/editar-itens-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/itens/components/editar-itens-modal.tsx" }, { "path": "src/features/(cadastros)/itens/components/excluir-itens-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/itens/components/excluir-itens-modal.tsx" }, { "path": "src/features/(cadastros)/itens/components/form-itens.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/itens/components/form-itens.tsx" }, { "path": "src/features/(cadastros)/itens/components/table-columns.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/itens/components/table-columns.tsx" }, { "path": "src/features/(cadastros)/itens/components/table.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/itens/components/table.tsx" }, { "path": "src/features/(cadastros)/itens/feature.tsx", "type": "registry:lib", "target": "~/src/features/(cadastros)/itens/feature.tsx" }, { "path": "src/features/(cadastros)/itens/utils/constants.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/itens/utils/constants.ts" }, { "path": "src/features/(cadastros)/itens/utils/module-utils.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/itens/utils/module-utils.ts" }, { "path": "src/types/items/types.ts", "type": "registry:lib", "target": "~/src/types/items/types.ts" }, { "path": "src/types/itens/types.ts", "type": "registry:lib", "target": "~/src/types/itens/types.ts" } ], "categories": [ "cadastros" ], "registryDependencies": [ "@kso/base", "@kso/depositos", "@kso/grupos-itens", "@kso/lojas", "@kso/tabelas-precos", "@kso/unidade-medida" ] }, { "name": "grupos-itens", "type": "registry:block", "title": "Grupos de Itens", "description": "Cadastro de grupos de itens.", "files": [ { "path": "src/app/(root)/(cadastros)/grupos-itens/page.tsx", "type": "registry:page", "target": "~/src/app/(root)/(cadastros)/grupos-itens/page.tsx" }, { "path": "src/features/(cadastros)/grupos-itens/components/editar-grupos-itens-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/grupos-itens/components/editar-grupos-itens-modal.tsx" }, { "path": "src/features/(cadastros)/grupos-itens/components/excluir-grupos-itens-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/grupos-itens/components/excluir-grupos-itens-modal.tsx" }, { "path": "src/features/(cadastros)/grupos-itens/components/form-grupos-itens.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/grupos-itens/components/form-grupos-itens.tsx" }, { "path": "src/features/(cadastros)/grupos-itens/components/table-columns.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/grupos-itens/components/table-columns.tsx" }, { "path": "src/features/(cadastros)/grupos-itens/components/table.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/grupos-itens/components/table.tsx" }, { "path": "src/features/(cadastros)/grupos-itens/feature.tsx", "type": "registry:lib", "target": "~/src/features/(cadastros)/grupos-itens/feature.tsx" }, { "path": "src/features/(cadastros)/grupos-itens/utils/constants.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/grupos-itens/utils/constants.ts" }, { "path": "src/features/(cadastros)/grupos-itens/utils/module-utils.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/grupos-itens/utils/module-utils.ts" }, { "path": "src/types/grupos-itens/types.ts", "type": "registry:lib", "target": "~/src/types/grupos-itens/types.ts" } ], "categories": [ "cadastros" ], "registryDependencies": [ "@kso/base" ] }, { "name": "unidade-medida", "type": "registry:block", "title": "Unidade de Medida", "description": "Cadastro de unidades de medida por loja.", "files": [ { "path": "src/app/(root)/(cadastros)/unidades-medidas/page.tsx", "type": "registry:page", "target": "~/src/app/(root)/(cadastros)/unidades-medidas/page.tsx" }, { "path": "src/features/(cadastros)/unidade-medida/components/editar-unidade-medida-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/unidade-medida/components/editar-unidade-medida-modal.tsx" }, { "path": "src/features/(cadastros)/unidade-medida/components/excluir-unidade-medida-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/unidade-medida/components/excluir-unidade-medida-modal.tsx" }, { "path": "src/features/(cadastros)/unidade-medida/components/form-unidade-medida.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/unidade-medida/components/form-unidade-medida.tsx" }, { "path": "src/features/(cadastros)/unidade-medida/components/table-columns.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/unidade-medida/components/table-columns.tsx" }, { "path": "src/features/(cadastros)/unidade-medida/components/table.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/unidade-medida/components/table.tsx" }, { "path": "src/features/(cadastros)/unidade-medida/feature.tsx", "type": "registry:lib", "target": "~/src/features/(cadastros)/unidade-medida/feature.tsx" }, { "path": "src/features/(cadastros)/unidade-medida/utils/constants.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/unidade-medida/utils/constants.ts" }, { "path": "src/features/(cadastros)/unidade-medida/utils/module-utils.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/unidade-medida/utils/module-utils.ts" }, { "path": "src/types/unidade-medida/types.ts", "type": "registry:lib", "target": "~/src/types/unidade-medida/types.ts" } ], "categories": [ "cadastros" ], "registryDependencies": [ "@kso/base", "@kso/lojas" ] }, { "name": "cargos", "type": "registry:block", "title": "Cargos", "description": "Cadastro de cargos.", "files": [ { "path": "src/app/(root)/(cadastros)/cargos/page.tsx", "type": "registry:page", "target": "~/src/app/(root)/(cadastros)/cargos/page.tsx" }, { "path": "src/features/(cadastros)/cargos/components/editar-cargos-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/cargos/components/editar-cargos-modal.tsx" }, { "path": "src/features/(cadastros)/cargos/components/excluir-cargos-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/cargos/components/excluir-cargos-modal.tsx" }, { "path": "src/features/(cadastros)/cargos/components/form-cargos.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/cargos/components/form-cargos.tsx" }, { "path": "src/features/(cadastros)/cargos/components/table-columns.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/cargos/components/table-columns.tsx" }, { "path": "src/features/(cadastros)/cargos/components/table.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/cargos/components/table.tsx" }, { "path": "src/features/(cadastros)/cargos/feature.tsx", "type": "registry:lib", "target": "~/src/features/(cadastros)/cargos/feature.tsx" }, { "path": "src/features/(cadastros)/cargos/utils/constants.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/cargos/utils/constants.ts" }, { "path": "src/features/(cadastros)/cargos/utils/module-utils.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/cargos/utils/module-utils.ts" }, { "path": "src/types/cargos/types.ts", "type": "registry:lib", "target": "~/src/types/cargos/types.ts" } ], "categories": [ "cadastros" ], "registryDependencies": [ "@kso/base" ] }, { "name": "centros-custos", "type": "registry:block", "title": "Centro de Custos", "description": "Cadastro de centros de custo.", "files": [ { "path": "src/app/(root)/(cadastros)/centros-custos/page.tsx", "type": "registry:page", "target": "~/src/app/(root)/(cadastros)/centros-custos/page.tsx" }, { "path": "src/features/(cadastros)/centros-custos/components/editar-centros-custos-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/centros-custos/components/editar-centros-custos-modal.tsx" }, { "path": "src/features/(cadastros)/centros-custos/components/excluir-centros-custos-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/centros-custos/components/excluir-centros-custos-modal.tsx" }, { "path": "src/features/(cadastros)/centros-custos/components/form-centros-custos.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/centros-custos/components/form-centros-custos.tsx" }, { "path": "src/features/(cadastros)/centros-custos/components/table-columns.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/centros-custos/components/table-columns.tsx" }, { "path": "src/features/(cadastros)/centros-custos/components/table.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/centros-custos/components/table.tsx" }, { "path": "src/features/(cadastros)/centros-custos/feature.tsx", "type": "registry:lib", "target": "~/src/features/(cadastros)/centros-custos/feature.tsx" }, { "path": "src/features/(cadastros)/centros-custos/utils/constants.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/centros-custos/utils/constants.ts" }, { "path": "src/features/(cadastros)/centros-custos/utils/module-utils.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/centros-custos/utils/module-utils.ts" }, { "path": "src/types/centros-custos/types.ts", "type": "registry:lib", "target": "~/src/types/centros-custos/types.ts" } ], "categories": [ "cadastros" ], "registryDependencies": [ "@kso/base" ] }, { "name": "colaboradores", "type": "registry:block", "title": "Colaboradores", "description": "Cadastro de colaboradores.", "files": [ { "path": "src/app/(root)/(cadastros)/colaboradores/page.tsx", "type": "registry:page", "target": "~/src/app/(root)/(cadastros)/colaboradores/page.tsx" }, { "path": "src/features/(cadastros)/colaboradores/components/editar-colaboradores-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/colaboradores/components/editar-colaboradores-modal.tsx" }, { "path": "src/features/(cadastros)/colaboradores/components/excluir-colaboradores-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/colaboradores/components/excluir-colaboradores-modal.tsx" }, { "path": "src/features/(cadastros)/colaboradores/components/form-colaboradores.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/colaboradores/components/form-colaboradores.tsx" }, { "path": "src/features/(cadastros)/colaboradores/components/table-columns.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/colaboradores/components/table-columns.tsx" }, { "path": "src/features/(cadastros)/colaboradores/components/table.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/colaboradores/components/table.tsx" }, { "path": "src/features/(cadastros)/colaboradores/feature.tsx", "type": "registry:lib", "target": "~/src/features/(cadastros)/colaboradores/feature.tsx" }, { "path": "src/features/(cadastros)/colaboradores/utils/constants.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/colaboradores/utils/constants.ts" }, { "path": "src/features/(cadastros)/colaboradores/utils/module-utils.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/colaboradores/utils/module-utils.ts" }, { "path": "src/types/colaboradores/types.ts", "type": "registry:lib", "target": "~/src/types/colaboradores/types.ts" } ], "categories": [ "cadastros" ], "registryDependencies": [ "@kso/base", "@kso/cargos", "@kso/centros-custos", "@kso/gerencias", "@kso/pessoas", "@kso/setores" ] }, { "name": "formas-pagamentos", "type": "registry:block", "title": "Formas de Pagamento", "description": "Cadastro de formas de pagamento.", "files": [ { "path": "src/app/(root)/(cadastros)/formas-pagamentos/page.tsx", "type": "registry:page", "target": "~/src/app/(root)/(cadastros)/formas-pagamentos/page.tsx" }, { "path": "src/features/(cadastros)/formas-pagamentos/components/editar-formas-pagamentos-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/formas-pagamentos/components/editar-formas-pagamentos-modal.tsx" }, { "path": "src/features/(cadastros)/formas-pagamentos/components/excluir-formas-pagamentos-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/formas-pagamentos/components/excluir-formas-pagamentos-modal.tsx" }, { "path": "src/features/(cadastros)/formas-pagamentos/components/form-formas-pagamentos.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/formas-pagamentos/components/form-formas-pagamentos.tsx" }, { "path": "src/features/(cadastros)/formas-pagamentos/components/table-columns.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/formas-pagamentos/components/table-columns.tsx" }, { "path": "src/features/(cadastros)/formas-pagamentos/components/table.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/formas-pagamentos/components/table.tsx" }, { "path": "src/features/(cadastros)/formas-pagamentos/feature.tsx", "type": "registry:lib", "target": "~/src/features/(cadastros)/formas-pagamentos/feature.tsx" }, { "path": "src/features/(cadastros)/formas-pagamentos/utils/constants.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/formas-pagamentos/utils/constants.ts" }, { "path": "src/features/(cadastros)/formas-pagamentos/utils/module-utils.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/formas-pagamentos/utils/module-utils.ts" }, { "path": "src/types/formas-pagamentos/types.ts", "type": "registry:lib", "target": "~/src/types/formas-pagamentos/types.ts" } ], "categories": [ "cadastros" ], "registryDependencies": [ "@kso/base" ] }, { "name": "fornecedores", "type": "registry:block", "title": "Fornecedores", "description": "Cadastro de fornecedores.", "files": [ { "path": "src/app/(root)/(cadastros)/fornecedores/page.tsx", "type": "registry:page", "target": "~/src/app/(root)/(cadastros)/fornecedores/page.tsx" }, { "path": "src/features/(cadastros)/fornecedores/components/editar-fornecedores-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/fornecedores/components/editar-fornecedores-modal.tsx" }, { "path": "src/features/(cadastros)/fornecedores/components/excluir-fornecedores-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/fornecedores/components/excluir-fornecedores-modal.tsx" }, { "path": "src/features/(cadastros)/fornecedores/components/form-fornecedores.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/fornecedores/components/form-fornecedores.tsx" }, { "path": "src/features/(cadastros)/fornecedores/components/table-columns.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/fornecedores/components/table-columns.tsx" }, { "path": "src/features/(cadastros)/fornecedores/components/table.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/fornecedores/components/table.tsx" }, { "path": "src/features/(cadastros)/fornecedores/feature.tsx", "type": "registry:lib", "target": "~/src/features/(cadastros)/fornecedores/feature.tsx" }, { "path": "src/features/(cadastros)/fornecedores/utils/constants.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/fornecedores/utils/constants.ts" }, { "path": "src/features/(cadastros)/fornecedores/utils/module-utils.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/fornecedores/utils/module-utils.ts" }, { "path": "src/types/fornecedores/types.ts", "type": "registry:lib", "target": "~/src/types/fornecedores/types.ts" } ], "categories": [ "cadastros" ], "registryDependencies": [ "@kso/base", "@kso/lojas", "@kso/pessoas" ] }, { "name": "gerencias", "type": "registry:block", "title": "Gerências", "description": "Cadastro de gerências.", "files": [ { "path": "src/app/(root)/(cadastros)/gerencias/page.tsx", "type": "registry:page", "target": "~/src/app/(root)/(cadastros)/gerencias/page.tsx" }, { "path": "src/features/(cadastros)/gerencias/components/editar-gerencia-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/gerencias/components/editar-gerencia-modal.tsx" }, { "path": "src/features/(cadastros)/gerencias/components/excluir-gerencia-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/gerencias/components/excluir-gerencia-modal.tsx" }, { "path": "src/features/(cadastros)/gerencias/components/form-gerencia.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/gerencias/components/form-gerencia.tsx" }, { "path": "src/features/(cadastros)/gerencias/components/table-columns.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/gerencias/components/table-columns.tsx" }, { "path": "src/features/(cadastros)/gerencias/components/table.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/gerencias/components/table.tsx" }, { "path": "src/features/(cadastros)/gerencias/feature.tsx", "type": "registry:lib", "target": "~/src/features/(cadastros)/gerencias/feature.tsx" }, { "path": "src/features/(cadastros)/gerencias/utils/constants.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/gerencias/utils/constants.ts" }, { "path": "src/features/(cadastros)/gerencias/utils/module-utils.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/gerencias/utils/module-utils.ts" }, { "path": "src/types/gerencia/types.ts", "type": "registry:lib", "target": "~/src/types/gerencia/types.ts" } ], "categories": [ "cadastros" ], "registryDependencies": [ "@kso/base" ] }, { "name": "grupos-lojas", "type": "registry:block", "title": "Grupo de Lojas", "description": "Cadastro de grupos de lojas.", "files": [ { "path": "src/app/(root)/(cadastros)/grupos-lojas/page.tsx", "type": "registry:page", "target": "~/src/app/(root)/(cadastros)/grupos-lojas/page.tsx" }, { "path": "src/features/(cadastros)/grupos-lojas/components/editar-grupos-lojas-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/grupos-lojas/components/editar-grupos-lojas-modal.tsx" }, { "path": "src/features/(cadastros)/grupos-lojas/components/excluir-grupos-lojas-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/grupos-lojas/components/excluir-grupos-lojas-modal.tsx" }, { "path": "src/features/(cadastros)/grupos-lojas/components/form-grupos-lojas.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/grupos-lojas/components/form-grupos-lojas.tsx" }, { "path": "src/features/(cadastros)/grupos-lojas/components/table-columns.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/grupos-lojas/components/table-columns.tsx" }, { "path": "src/features/(cadastros)/grupos-lojas/components/table.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/grupos-lojas/components/table.tsx" }, { "path": "src/features/(cadastros)/grupos-lojas/feature.tsx", "type": "registry:lib", "target": "~/src/features/(cadastros)/grupos-lojas/feature.tsx" }, { "path": "src/features/(cadastros)/grupos-lojas/utils/constants.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/grupos-lojas/utils/constants.ts" }, { "path": "src/features/(cadastros)/grupos-lojas/utils/module-utils.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/grupos-lojas/utils/module-utils.ts" }, { "path": "src/types/grupos-lojas/types.ts", "type": "registry:lib", "target": "~/src/types/grupos-lojas/types.ts" } ], "categories": [ "cadastros" ], "registryDependencies": [ "@kso/base" ] }, { "name": "motivos-trocas", "type": "registry:block", "title": "Motivos de Trocas", "description": "Cadastro de motivos de trocas.", "files": [ { "path": "src/app/(root)/(cadastros)/motivos-trocas/page.tsx", "type": "registry:page", "target": "~/src/app/(root)/(cadastros)/motivos-trocas/page.tsx" }, { "path": "src/features/(cadastros)/motivos-trocas/components/editar-motivos-trocas-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/motivos-trocas/components/editar-motivos-trocas-modal.tsx" }, { "path": "src/features/(cadastros)/motivos-trocas/components/excluir-motivos-trocas-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/motivos-trocas/components/excluir-motivos-trocas-modal.tsx" }, { "path": "src/features/(cadastros)/motivos-trocas/components/form-motivos-trocas.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/motivos-trocas/components/form-motivos-trocas.tsx" }, { "path": "src/features/(cadastros)/motivos-trocas/components/table-columns.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/motivos-trocas/components/table-columns.tsx" }, { "path": "src/features/(cadastros)/motivos-trocas/components/table.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/motivos-trocas/components/table.tsx" }, { "path": "src/features/(cadastros)/motivos-trocas/feature.tsx", "type": "registry:lib", "target": "~/src/features/(cadastros)/motivos-trocas/feature.tsx" }, { "path": "src/features/(cadastros)/motivos-trocas/utils/constants.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/motivos-trocas/utils/constants.ts" }, { "path": "src/features/(cadastros)/motivos-trocas/utils/module-utils.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/motivos-trocas/utils/module-utils.ts" }, { "path": "src/types/motivos-trocas/types.ts", "type": "registry:lib", "target": "~/src/types/motivos-trocas/types.ts" } ], "categories": [ "cadastros" ], "registryDependencies": [ "@kso/base" ] }, { "name": "pessoas", "type": "registry:block", "title": "Pessoas (Físicas / Jurídicas)", "description": "Cadastro de pessoas físicas e jurídicas.", "files": [ { "path": "src/app/(root)/(cadastros)/pessoas/page.tsx", "type": "registry:page", "target": "~/src/app/(root)/(cadastros)/pessoas/page.tsx" }, { "path": "src/features/(cadastros)/pessoas/components/editar-pessoas-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/pessoas/components/editar-pessoas-modal.tsx" }, { "path": "src/features/(cadastros)/pessoas/components/excluir-pessoas-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/pessoas/components/excluir-pessoas-modal.tsx" }, { "path": "src/features/(cadastros)/pessoas/components/form-pessoas.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/pessoas/components/form-pessoas.tsx" }, { "path": "src/features/(cadastros)/pessoas/components/table-columns.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/pessoas/components/table-columns.tsx" }, { "path": "src/features/(cadastros)/pessoas/components/table.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/pessoas/components/table.tsx" }, { "path": "src/features/(cadastros)/pessoas/feature.tsx", "type": "registry:lib", "target": "~/src/features/(cadastros)/pessoas/feature.tsx" }, { "path": "src/features/(cadastros)/pessoas/schemas/pessoa.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/pessoas/schemas/pessoa.ts" }, { "path": "src/features/(cadastros)/pessoas/utils/constants.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/pessoas/utils/constants.ts" }, { "path": "src/features/(cadastros)/pessoas/utils/module-utils.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/pessoas/utils/module-utils.ts" }, { "path": "src/types/pessoas/types.ts", "type": "registry:lib", "target": "~/src/types/pessoas/types.ts" } ], "categories": [ "cadastros" ], "registryDependencies": [ "@kso/base" ] }, { "name": "setores", "type": "registry:block", "title": "Setores", "description": "Cadastro de setores.", "files": [ { "path": "src/app/(root)/setores/page.tsx", "type": "registry:page", "target": "~/src/app/(root)/setores/page.tsx" }, { "path": "src/features/(cadastros)/setores/components/editar-setores-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/setores/components/editar-setores-modal.tsx" }, { "path": "src/features/(cadastros)/setores/components/excluir-setores-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/setores/components/excluir-setores-modal.tsx" }, { "path": "src/features/(cadastros)/setores/components/form-setores.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/setores/components/form-setores.tsx" }, { "path": "src/features/(cadastros)/setores/components/table-columns.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/setores/components/table-columns.tsx" }, { "path": "src/features/(cadastros)/setores/components/table.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/setores/components/table.tsx" }, { "path": "src/features/(cadastros)/setores/feature.tsx", "type": "registry:lib", "target": "~/src/features/(cadastros)/setores/feature.tsx" }, { "path": "src/features/(cadastros)/setores/utils/constants.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/setores/utils/constants.ts" }, { "path": "src/features/(cadastros)/setores/utils/module-utils.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/setores/utils/module-utils.ts" }, { "path": "src/types/setores/type.ts", "type": "registry:lib", "target": "~/src/types/setores/type.ts" } ], "categories": [ "cadastros" ], "registryDependencies": [ "@kso/base", "@kso/lojas" ] }, { "name": "sub-grupos-itens", "type": "registry:block", "title": "Sub Grupos de Itens", "description": "Cadastro de sub grupos de itens, vinculados a um grupo de itens.", "files": [ { "path": "src/app/(root)/(cadastros)/sub-grupos-itens/page.tsx", "type": "registry:page", "target": "~/src/app/(root)/(cadastros)/sub-grupos-itens/page.tsx" }, { "path": "src/features/(cadastros)/sub-grupos-itens/components/editar-sub-grupos-itens-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/sub-grupos-itens/components/editar-sub-grupos-itens-modal.tsx" }, { "path": "src/features/(cadastros)/sub-grupos-itens/components/excluir-sub-grupos-itens-modal.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/sub-grupos-itens/components/excluir-sub-grupos-itens-modal.tsx" }, { "path": "src/features/(cadastros)/sub-grupos-itens/components/form-sub-grupos-itens.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/sub-grupos-itens/components/form-sub-grupos-itens.tsx" }, { "path": "src/features/(cadastros)/sub-grupos-itens/components/table-columns.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/sub-grupos-itens/components/table-columns.tsx" }, { "path": "src/features/(cadastros)/sub-grupos-itens/components/table.tsx", "type": "registry:component", "target": "~/src/features/(cadastros)/sub-grupos-itens/components/table.tsx" }, { "path": "src/features/(cadastros)/sub-grupos-itens/feature.tsx", "type": "registry:lib", "target": "~/src/features/(cadastros)/sub-grupos-itens/feature.tsx" }, { "path": "src/features/(cadastros)/sub-grupos-itens/utils/constants.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/sub-grupos-itens/utils/constants.ts" }, { "path": "src/features/(cadastros)/sub-grupos-itens/utils/module-utils.ts", "type": "registry:lib", "target": "~/src/features/(cadastros)/sub-grupos-itens/utils/module-utils.ts" }, { "path": "src/types/sub-grupos-itens/types.ts", "type": "registry:lib", "target": "~/src/types/sub-grupos-itens/types.ts" } ], "categories": [ "cadastros" ], "registryDependencies": [ "@kso/base" ] }, { "name": "cadastros", "type": "registry:block", "title": "Cadastros", "description": "Meta-item sem arquivos próprios: instala de uma vez todos os módulos de cadastro de organização e inventário (src/features/(cadastros)/).", "files": [], "registryDependencies": [ "@kso/lojas", "@kso/depositos", "@kso/tabelas-precos", "@kso/itens", "@kso/grupos-itens", "@kso/unidade-medida", "@kso/cargos", "@kso/centros-custos", "@kso/colaboradores", "@kso/formas-pagamentos", "@kso/fornecedores", "@kso/gerencias", "@kso/grupos-lojas", "@kso/motivos-trocas", "@kso/pessoas", "@kso/setores", "@kso/sub-grupos-itens" ] }, { "name": "users", "type": "registry:block", "title": "Usuários", "description": "Controle de usuários (contas), com atribuição de roles.", "files": [ { "path": "src/app/(root)/users/(pages)/layout.tsx", "type": "registry:page", "target": "~/src/app/(root)/users/(pages)/layout.tsx" }, { "path": "src/app/(root)/users/(pages)/page.tsx", "type": "registry:page", "target": "~/src/app/(root)/users/(pages)/page.tsx" }, { "path": "src/features/(seguranca)/users/components/users-columns.tsx", "type": "registry:component", "target": "~/src/features/(seguranca)/users/components/users-columns.tsx" }, { "path": "src/features/(seguranca)/users/components/users-confirm-delete.tsx", "type": "registry:component", "target": "~/src/features/(seguranca)/users/components/users-confirm-delete.tsx" }, { "path": "src/features/(seguranca)/users/components/users-form.tsx", "type": "registry:component", "target": "~/src/features/(seguranca)/users/components/users-form.tsx" }, { "path": "src/features/(seguranca)/users/components/users-table.tsx", "type": "registry:component", "target": "~/src/features/(seguranca)/users/components/users-table.tsx" }, { "path": "src/features/(seguranca)/users/constants/modal-keys.ts", "type": "registry:lib", "target": "~/src/features/(seguranca)/users/constants/modal-keys.ts" }, { "path": "src/features/(seguranca)/users/feature.tsx", "type": "registry:lib", "target": "~/src/features/(seguranca)/users/feature.tsx" }, { "path": "src/features/(seguranca)/users/interfaces/users.d.ts", "type": "registry:lib", "target": "~/src/features/(seguranca)/users/interfaces/users.d.ts" }, { "path": "src/features/(seguranca)/users/utils/module-utils.ts", "type": "registry:lib", "target": "~/src/features/(seguranca)/users/utils/module-utils.ts" } ], "categories": [ "administrativo" ], "registryDependencies": [ "@kso/base", "@kso/lojas", "@kso/roles", "@kso/setores" ] }, { "name": "roles", "type": "registry:block", "title": "Papéis (Roles)", "description": "Cadastro de papéis/roles, vinculados a módulos de permissão.", "files": [ { "path": "src/app/(root)/users/(pages)/roles/page.tsx", "type": "registry:page", "target": "~/src/app/(root)/users/(pages)/roles/page.tsx" }, { "path": "src/features/(seguranca)/users/interfaces/roles.d.ts", "type": "registry:lib", "target": "~/src/features/(seguranca)/users/interfaces/roles.d.ts" }, { "path": "src/features/(seguranca)/users/roles/components/roles-columns.tsx", "type": "registry:component", "target": "~/src/features/(seguranca)/users/roles/components/roles-columns.tsx" }, { "path": "src/features/(seguranca)/users/roles/components/roles-confirm-delete.tsx", "type": "registry:component", "target": "~/src/features/(seguranca)/users/roles/components/roles-confirm-delete.tsx" }, { "path": "src/features/(seguranca)/users/roles/components/roles-form.tsx", "type": "registry:component", "target": "~/src/features/(seguranca)/users/roles/components/roles-form.tsx" }, { "path": "src/features/(seguranca)/users/roles/components/roles-table.tsx", "type": "registry:component", "target": "~/src/features/(seguranca)/users/roles/components/roles-table.tsx" }, { "path": "src/features/(seguranca)/users/roles/feature.tsx", "type": "registry:lib", "target": "~/src/features/(seguranca)/users/roles/feature.tsx" }, { "path": "src/features/(seguranca)/users/schemas/roles.ts", "type": "registry:lib", "target": "~/src/features/(seguranca)/users/schemas/roles.ts" } ], "categories": [ "administrativo" ], "registryDependencies": [ "@kso/base", "@kso/modules", "@kso/users" ] }, { "name": "permissions", "type": "registry:block", "title": "Permissões", "description": "Cadastro de permissões, vinculadas a roles e módulos.", "files": [ { "path": "src/app/(root)/users/(pages)/permissions/page.tsx", "type": "registry:page", "target": "~/src/app/(root)/users/(pages)/permissions/page.tsx" }, { "path": "src/features/(seguranca)/users/interfaces/permissions.d.ts", "type": "registry:lib", "target": "~/src/features/(seguranca)/users/interfaces/permissions.d.ts" }, { "path": "src/features/(seguranca)/users/permissions/components/permissions-columns.tsx", "type": "registry:component", "target": "~/src/features/(seguranca)/users/permissions/components/permissions-columns.tsx" }, { "path": "src/features/(seguranca)/users/permissions/components/permissions-confirm-delete.tsx", "type": "registry:component", "target": "~/src/features/(seguranca)/users/permissions/components/permissions-confirm-delete.tsx" }, { "path": "src/features/(seguranca)/users/permissions/components/permissions-form.tsx", "type": "registry:component", "target": "~/src/features/(seguranca)/users/permissions/components/permissions-form.tsx" }, { "path": "src/features/(seguranca)/users/permissions/components/permissions-table.tsx", "type": "registry:component", "target": "~/src/features/(seguranca)/users/permissions/components/permissions-table.tsx" }, { "path": "src/features/(seguranca)/users/permissions/feature.tsx", "type": "registry:lib", "target": "~/src/features/(seguranca)/users/permissions/feature.tsx" }, { "path": "src/features/(seguranca)/users/schemas/permissions.ts", "type": "registry:lib", "target": "~/src/features/(seguranca)/users/schemas/permissions.ts" } ], "categories": [ "administrativo" ], "registryDependencies": [ "@kso/base", "@kso/modules", "@kso/roles", "@kso/users" ] }, { "name": "systems", "type": "registry:block", "title": "Sistemas", "description": "Cadastro de sistemas (aplicações que consomem as permissões).", "files": [ { "path": "src/app/(root)/users/(pages)/systems/page.tsx", "type": "registry:page", "target": "~/src/app/(root)/users/(pages)/systems/page.tsx" }, { "path": "src/features/(seguranca)/users/schemas/systems.ts", "type": "registry:lib", "target": "~/src/features/(seguranca)/users/schemas/systems.ts" }, { "path": "src/features/(seguranca)/users/systems/components/systems-columns.tsx", "type": "registry:component", "target": "~/src/features/(seguranca)/users/systems/components/systems-columns.tsx" }, { "path": "src/features/(seguranca)/users/systems/components/systems-confirm-delete.tsx", "type": "registry:component", "target": "~/src/features/(seguranca)/users/systems/components/systems-confirm-delete.tsx" }, { "path": "src/features/(seguranca)/users/systems/components/systems-form.tsx", "type": "registry:component", "target": "~/src/features/(seguranca)/users/systems/components/systems-form.tsx" }, { "path": "src/features/(seguranca)/users/systems/components/systems-table.tsx", "type": "registry:component", "target": "~/src/features/(seguranca)/users/systems/components/systems-table.tsx" }, { "path": "src/features/(seguranca)/users/systems/feature.tsx", "type": "registry:lib", "target": "~/src/features/(seguranca)/users/systems/feature.tsx" } ], "categories": [ "administrativo" ], "registryDependencies": [ "@kso/base", "@kso/modules", "@kso/users" ] }, { "name": "modules", "type": "registry:block", "title": "Módulos (Grupos de Permissão)", "description": "Cadastro de módulos/grupos de permissão.", "files": [ { "path": "src/app/(root)/users/(pages)/modules/page.tsx", "type": "registry:page", "target": "~/src/app/(root)/users/(pages)/modules/page.tsx" }, { "path": "src/features/(seguranca)/users/interfaces/modules.d.ts", "type": "registry:lib", "target": "~/src/features/(seguranca)/users/interfaces/modules.d.ts" }, { "path": "src/features/(seguranca)/users/modules/components/modules-columns.tsx", "type": "registry:component", "target": "~/src/features/(seguranca)/users/modules/components/modules-columns.tsx" }, { "path": "src/features/(seguranca)/users/modules/components/modules-confirm-delete.tsx", "type": "registry:component", "target": "~/src/features/(seguranca)/users/modules/components/modules-confirm-delete.tsx" }, { "path": "src/features/(seguranca)/users/modules/components/modules-form.tsx", "type": "registry:component", "target": "~/src/features/(seguranca)/users/modules/components/modules-form.tsx" }, { "path": "src/features/(seguranca)/users/modules/components/modules-table.tsx", "type": "registry:component", "target": "~/src/features/(seguranca)/users/modules/components/modules-table.tsx" }, { "path": "src/features/(seguranca)/users/modules/feature.tsx", "type": "registry:lib", "target": "~/src/features/(seguranca)/users/modules/feature.tsx" }, { "path": "src/features/(seguranca)/users/schemas/modules.ts", "type": "registry:lib", "target": "~/src/features/(seguranca)/users/schemas/modules.ts" } ], "categories": [ "administrativo" ], "registryDependencies": [ "@kso/base", "@kso/permissions", "@kso/users" ] }, { "name": "administrativo", "type": "registry:block", "title": "Administrativo (Usuários, Roles, Permissões)", "description": "Meta-item sem arquivos próprios: instala de uma vez o grupo de controle de acesso (src/features/(seguranca)/users/) — usuários, roles, permissões, sistemas e módulos de permissão.", "files": [], "registryDependencies": [ "@kso/users", "@kso/roles", "@kso/permissions", "@kso/systems", "@kso/modules" ] }, { "name": "image-upload", "type": "registry:ui", "title": "Image Upload", "description": "Campo de upload de imagem com preview, drag&drop e validação de tamanho/tipo. 100% standalone: não depende do kernel base, só de src/lib/utils.ts.", "files": [ { "path": "src/components/ui/image-upload.tsx", "type": "registry:ui", "target": "~/src/components/ui/image-upload.tsx" }, { "path": "src/lib/utils.ts", "type": "registry:lib", "target": "~/src/lib/utils.ts" } ], "dependencies": [ "clsx", "lucide-react", "next", "react", "sonner", "tailwind-merge" ] } ] }