{ "$schema": "https://ui.shadcn.com/schema/registry.json", "name": "@woltz/react-rich-domain", "homepage": "https://github.com/tarcisioandrade/rich-domain", "items": [ { "name": "use-criteria", "type": "registry:block", "title": "Use Criteria", "description": "A hook to use criteria from @woltz/rich-domain.", "dependencies": ["@woltz/rich-domain"], "files": [ { "path": "registry/default/hooks/use-criteria.ts", "type": "registry:hook", "description": "A hook to use criteria from @woltz/rich-domain.", "target": "~/src/hooks/use-criteria.ts" }, { "path": "registry/default/types/use-criteria.type.ts", "type": "registry:file", "description": "A type for the use criteria hook.", "target": "~/src/types/use-criteria.type.ts" }, { "path": "registry/default/utils/persistence.ts", "type": "registry:file", "description": "A utility to persist criteria in localStorage and URL query params.", "target": "~/src/utils/persistence.ts" } ] }, { "name": "use-criteria-query", "type": "registry:block", "title": "Use Criteria Query", "description": "A hook to use criteria query from @woltz/rich-domain and @tanstack/react-query.", "dependencies": ["@woltz/rich-domain", "@tanstack/react-query"], "registryDependencies": [ "https://tarcisioandrade.github.io/rich-domain/packages/react-rich-domain/public/r/use-criteria.json" ], "files": [ { "path": "registry/default/hooks/use-criteria-query.ts", "type": "registry:hook", "description": "A hook to use criteria query from @woltz/rich-domain.", "target": "~/src/hooks/use-criteria-query.ts" } ] }, { "name": "filter", "type": "registry:block", "title": "Filter", "description": "A component to filter data using use-criteria hook from @woltz/react-rich-domain.", "dependencies": ["@woltz/rich-domain"], "registryDependencies": [ "@shadcn/button", "@shadcn/input", "@shadcn/popover", "@shadcn/calendar", "https://tarcisioandrade.github.io/rich-domain/packages/react-rich-domain/public/r/use-criteria.json" ], "files": [ { "path": "registry/default/components/filter/filter.tsx", "type": "registry:component", "description": "A component to filter data.", "target": "~/src/components/filter/filter.tsx" }, { "path": "registry/default/components/filter/filter-row.tsx", "type": "registry:component", "description": "A component to filter data.", "target": "~/src/components/filter/filter-row.tsx" }, { "path": "registry/default/components/filter/filter-value-selector.tsx", "type": "registry:component", "description": "A component to filter data.", "target": "~/src/components/filter/filter-value-selector.tsx" }, { "path": "registry/default/components/filter/filter-field-selector.tsx", "type": "registry:component", "description": "A component to filter data.", "target": "~/src/components/filter/filter-field-selector.tsx" }, { "path": "registry/default/components/filter/filter-operator-selector.tsx", "type": "registry:component", "description": "A component to filter data.", "target": "~/src/components/filter/filter-operator-selector.tsx" }, { "path": "registry/default/components/filter/filter-date-value.tsx", "type": "registry:component", "description": "A component to filter data.", "target": "~/src/components/filter/filter-date-value.tsx" }, { "path": "registry/default/components/filter/filter-boolean-value.tsx", "type": "registry:component", "description": "A component to filter data.", "target": "~/src/components/filter/filter-boolean-value.tsx" }, { "path": "registry/default/lib/filter-utils.ts", "type": "registry:file", "description": "A utility to filter data.", "target": "~/src/lib/filter-utils.ts" }, { "path": "registry/default/hooks/use-debounce-callback.ts", "type": "registry:hook", "description": "A hook to debounce a callback.", "target": "~/src/hooks/use-debounce-callback.ts" } ] }, { "name": "data-table-criteria", "type": "registry:block", "title": "DataTable Criteria", "description": "A component to display a data table with @woltz/rich-domain criteria and @tanstack/react-query.", "dependencies": [ "@woltz/rich-domain", "@tanstack/react-table", "@tanstack/react-query" ], "registryDependencies": [ "@shadcn/button", "@shadcn/input", "@shadcn/popover", "@shadcn/dropdown-menu", "@shadcn/table", "https://tarcisioandrade.github.io/rich-domain/packages/react-rich-domain/public/r/use-criteria.json", "https://tarcisioandrade.github.io/rich-domain/packages/react-rich-domain/public/r/filter.json" ], "files": [ { "path": "registry/default/components/data-table-criteria/data-table-criteria.tsx", "type": "registry:component", "description": "DataTable Criteria", "target": "~/src/components/data-table-criteria/data-table-criteria.tsx" }, { "path": "registry/default/components/data-table-criteria/data-table-pagination.tsx", "type": "registry:component", "description": "DataTable Criteria Pagination", "target": "~/src/components/data-table-criteria/data-table-pagination.tsx" }, { "path": "registry/default/components/data-table-criteria/data-table-column-toggle.tsx", "type": "registry:component", "description": "DataTable Criteria Column Toggle", "target": "~/src/components/data-table-criteria/data-table-column-toggle.tsx" }, { "path": "registry/default/components/data-table-criteria/data-table-column-header.tsx", "type": "registry:component", "description": "DataTable Criteria Column Header", "target": "~/src/components/data-table-criteria/data-table-column-header.tsx" }, { "path": "registry/default/components/data-table-criteria/data-table-column-header.tsx", "type": "registry:component", "description": "DataTable Criteria Column Header", "target": "~/src/components/data-table-criteria/data-table-column-header.tsx" }, { "path": "registry/default/components/data-view-criteria/data-view-filter/data-view-filter.tsx", "type": "registry:component", "description": "Data View Criteria Filter", "target": "~/src/components/data-view-criteria/data-view-filter/data-view-filter.tsx" }, { "path": "registry/default/components/data-view-criteria/data-view-filter/data-view-filter-popover.tsx", "type": "registry:component", "description": "Data View Criteria Filter Popover", "target": "~/src/components/data-view-criteria/data-view-filter/data-view-filter-popover.tsx" }, { "path": "registry/default/components/data-view-criteria/data-view-filter/data-view-filter-row.tsx", "type": "registry:component", "description": "Data View Criteria Filter Row", "target": "~/src/components/data-view-criteria/data-view-filter/data-view-filter-row.tsx" }, { "path": "registry/default/types/use-criteria-table.type.ts", "type": "registry:file", "description": "A type for the data table criteria", "target": "~/src/types/use-criteria-table.type.ts" }, { "path": "registry/default/hooks/use-criteria-table.ts", "type": "registry:hook", "description": "A hook to use criteria table.", "target": "~/src/hooks/use-criteria-table.ts" } ] }, { "name": "use-criteria-infinite-query", "type": "registry:block", "title": "Use Criteria Infinite Query", "description": "A hook to use criteria infinite query from @woltz/rich-domain and @tanstack/react-query.", "dependencies": ["@woltz/rich-domain", "@tanstack/react-query"], "registryDependencies": [ "https://tarcisioandrade.github.io/rich-domain/packages/react-rich-domain/public/r/use-criteria.json" ], "files": [ { "path": "registry/default/hooks/use-criteria-infinite-query.ts", "type": "registry:hook", "description": "A hook to use criteria infinite query from @woltz/rich-domain and @tanstack/react-query.", "target": "~/src/hooks/use-criteria-infinite-query.ts" } ] }, { "name": "data-timeline-criteria", "type": "registry:block", "title": "Data Timeline Criteria", "description": "A component to display a data timeline with @woltz/rich-domain criteria and @tanstack/react-query.", "dependencies": [ "@woltz/rich-domain", "@tanstack/react-query", "react-intersection-observer", "date-fns" ], "registryDependencies": [ "@shadcn/skeleton", "@shadcn/badge", "@shadcn/input", "@shadcn/button", "@shadcn/dropdown-menu", "https://tarcisioandrade.github.io/rich-domain/packages/react-rich-domain/public/r/use-criteria-infinite-query.json", "https://tarcisioandrade.github.io/rich-domain/packages/react-rich-domain/public/r/filter.json" ], "files": [ { "path": "registry/default/components/data-timeline-criteria/data-timeline-criteria.tsx", "type": "registry:component", "description": "Data Timeline Criteria", "target": "~/src/components/data-timeline-criteria/data-timeline-criteria.tsx" }, { "path": "registry/default/components/data-timeline-criteria/data-timeline-group.tsx", "type": "registry:component", "description": "Data Timeline Criteria Group", "target": "~/src/components/data-timeline-criteria/data-timeline-group.tsx" }, { "path": "registry/default/components/data-timeline-criteria/data-timeline-item.tsx", "type": "registry:component", "description": "Data Timeline Criteria Item", "target": "~/src/components/data-timeline-criteria/data-timeline-item.tsx" }, { "path": "registry/default/components/data-timeline-criteria/data-timeline-skeleton.tsx", "type": "registry:component", "description": "Data Timeline Criteria Skeleton", "target": "~/src/components/data-timeline-criteria/data-timeline-skeleton.tsx" }, { "path": "registry/default/components/data-view-criteria/data-view-filter/data-view-filter.tsx", "type": "registry:component", "description": "Data View Criteria Filter", "target": "~/src/components/data-view-criteria/data-view-filter/data-view-filter.tsx" }, { "path": "registry/default/components/data-view-criteria/data-view-filter/data-view-filter-popover.tsx", "type": "registry:component", "description": "Data View Criteria Filter Popover", "target": "~/src/components/data-view-criteria/data-view-filter/data-view-filter-popover.tsx" }, { "path": "registry/default/components/data-view-criteria/data-view-filter/data-view-filter-row.tsx", "type": "registry:component", "description": "Data View Criteria Filter Row", "target": "~/src/components/data-view-criteria/data-view-filter/data-view-filter-row.tsx" }, { "path": "registry/default/hooks/use-criteria-timeline.ts", "type": "registry:hook", "description": "A hook to use criteria timeline.", "target": "~/src/hooks/use-criteria-timeline.ts" } ] }, { "name": "sorting", "type": "registry:block", "title": "Sorting", "description": "A component to sort data using use-criteria hook from @woltz/react-rich-domain with drag-and-drop support.", "dependencies": [ "@woltz/rich-domain", "@dnd-kit/core", "@dnd-kit/sortable", "@dnd-kit/utilities" ], "registryDependencies": [ "@shadcn/button", "@shadcn/badge", "@shadcn/dropdown-menu", "@shadcn/input", "@shadcn/popover", "@shadcn/select", "https://tarcisioandrade.github.io/rich-domain/packages/react-rich-domain/public/r/use-criteria.json" ], "files": [ { "path": "registry/default/components/sorting/sorting.tsx", "type": "registry:component", "description": "Main sorting component", "target": "~/src/components/sorting/sorting.tsx" }, { "path": "registry/default/components/sorting/sorting-popover.tsx", "type": "registry:component", "description": "Sorting popover to add new sorts", "target": "~/src/components/sorting/sorting-popover.tsx" }, { "path": "registry/default/components/sorting/sorting-list.tsx", "type": "registry:component", "description": "Sorting list with drag-and-drop", "target": "~/src/components/sorting/sorting-list.tsx" }, { "path": "registry/default/components/sorting/sorting-row.tsx", "type": "registry:component", "description": "Sorting row item", "target": "~/src/components/sorting/sorting-row.tsx" }, { "path": "registry/default/hooks/use-sorting-adapter.ts", "type": "registry:hook", "description": "A hook to adapt sorting operations for the Sorting component", "target": "~/src/hooks/use-sorting-adapter.ts" } ] }, { "name": "data-kanban-criteria", "type": "registry:block", "title": "Data Kanban Criteria", "description": "A Kanban board component with drag and drop, virtualization, and @woltz/rich-domain criteria integration.", "dependencies": [ "@woltz/rich-domain", "@tanstack/react-query", "@tanstack/react-virtual", "@dnd-kit/core", "@dnd-kit/sortable", "@dnd-kit/utilities", "fractional-indexing", "react-intersection-observer" ], "registryDependencies": [ "@shadcn/button", "@shadcn/input", "@shadcn/badge", "@shadcn/dropdown-menu", "@shadcn/scroll-area", "https://tarcisioandrade.github.io/rich-domain/packages/react-rich-domain/public/r/use-criteria.json", "https://tarcisioandrade.github.io/rich-domain/packages/react-rich-domain/public/r/filter.json" ], "files": [ { "path": "registry/default/components/data-kanban-criteria/data-kanban-criteria.tsx", "type": "registry:component", "description": "Main Kanban board component with DnD context", "target": "~/src/components/data-kanban-criteria/data-kanban-criteria.tsx" }, { "path": "registry/default/components/data-kanban-criteria/kanban-column.tsx", "type": "registry:component", "description": "Kanban column with droppable area", "target": "~/src/components/data-kanban-criteria/kanban-column.tsx" }, { "path": "registry/default/components/data-kanban-criteria/kanban-column-content.tsx", "type": "registry:component", "description": "Virtualized column content renderer", "target": "~/src/components/data-kanban-criteria/kanban-column-content.tsx" }, { "path": "registry/default/components/data-kanban-criteria/kanban-card.tsx", "type": "registry:component", "description": "Draggable card component", "target": "~/src/components/data-kanban-criteria/kanban-card.tsx" }, { "path": "registry/default/components/data-kanban-criteria/kanban-skeleton.tsx", "type": "registry:component", "description": "Loading skeleton for Kanban board", "target": "~/src/components/data-kanban-criteria/kanban-skeleton.tsx" }, { "path": "registry/default/components/data-kanban-criteria/styles.css", "type": "registry:style", "description": "Custom scrollbar styles for Kanban board", "target": "~/src/components/data-kanban-criteria/styles.css" }, { "path": "registry/default/components/data-view-criteria/data-view-toolbar.tsx", "type": "registry:component", "description": "Shared toolbar component for data views", "target": "~/src/components/data-view-criteria/data-view-toolbar.tsx" }, { "path": "registry/default/components/data-view-criteria/data-view-filter/data-view-filter.tsx", "type": "registry:component", "description": "Data View Filter component", "target": "~/src/components/data-view-criteria/data-view-filter/data-view-filter.tsx" }, { "path": "registry/default/components/data-view-criteria/data-view-filter/data-view-filter-popover.tsx", "type": "registry:component", "description": "Data View Filter Popover", "target": "~/src/components/data-view-criteria/data-view-filter/data-view-filter-popover.tsx" }, { "path": "registry/default/components/data-view-criteria/data-view-filter/data-view-filter-row.tsx", "type": "registry:component", "description": "Data View Filter Row", "target": "~/src/components/data-view-criteria/data-view-filter/data-view-filter-row.tsx" }, { "path": "registry/default/hooks/use-criteria-kanban.ts", "type": "registry:hook", "description": "Hook to manage Kanban state with criteria integration", "target": "~/src/hooks/use-criteria-kanban.ts" }, { "path": "registry/default/types/use-criteria-kanban.type.ts", "type": "registry:file", "description": "Types for the Kanban hook and components", "target": "~/src/types/use-criteria-kanban.type.ts" }, { "path": "registry/default/utils/fractional-index.ts", "type": "registry:file", "description": "Utility functions for fractional indexing", "target": "~/src/utils/fractional-index.ts" } ] } ] }