From 502af049f72820f51725d1596ed0938aae3be4a1 Mon Sep 17 00:00:00 2001 From: lawvs <18554747+lawvs@users.noreply.github.com> Date: Fri, 13 Sep 2024 19:40:56 +0800 Subject: [PATCH] feat: add Akumatus Filter Builder example credits to https://github.com/akumatus/FilterBuilder --- .../examples/akumatus-filter-builder.tsx | 172 ++++++++++++++++++ .../src/content/docs/reference/example.md | 6 - .../src/content/docs/reference/example.mdx | 14 ++ 3 files changed, 186 insertions(+), 6 deletions(-) create mode 100644 packages/docs/src/components/examples/akumatus-filter-builder.tsx delete mode 100644 packages/docs/src/content/docs/reference/example.md create mode 100644 packages/docs/src/content/docs/reference/example.mdx diff --git a/packages/docs/src/components/examples/akumatus-filter-builder.tsx b/packages/docs/src/components/examples/akumatus-filter-builder.tsx new file mode 100644 index 0000000..c7e264a --- /dev/null +++ b/packages/docs/src/components/examples/akumatus-filter-builder.tsx @@ -0,0 +1,172 @@ +import { + createFilterTheme, + FilterBuilder, + FilterSphereProvider, + useFilterGroup, + useFilterRule, + useFilterSphere, + useView, +} from "@fn-sphere/filter"; +import { z } from "zod"; + +const schema = z.object({ + id: z.number(), + name: z.string(), + createdAt: z.date(), + status: z.union([ + z.literal("pending"), + z.literal("completed"), + z.literal("cancelled"), + ]), +}); + +// Ported from [akumatus/FilterBuilder](https://github.com/akumatus/FilterBuilder) +// Licensed under MIT + +const theme = createFilterTheme({ + primitives: { + input: ({ ...props }) => { + return ( + + ); + }, + select: ({ ...props }) => { + return ( +