@satoshibits/react-json-schema-builder 1.1.3 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs10.js +1 -1
- package/dist/index.cjs10.js.map +1 -1
- package/dist/index.cjs11.js +1 -1
- package/dist/index.cjs11.js.map +1 -1
- package/dist/index.cjs12.js +1 -1
- package/dist/index.cjs12.js.map +1 -1
- package/dist/index.cjs13.js +1 -1
- package/dist/index.cjs13.js.map +1 -1
- package/dist/index.cjs14.js +1 -1
- package/dist/index.cjs14.js.map +1 -1
- package/dist/index.cjs15.js +6 -1
- package/dist/index.cjs15.js.map +1 -1
- package/dist/index.cjs16.js +1 -1
- package/dist/index.cjs16.js.map +1 -1
- package/dist/index.cjs17.js +1 -1
- package/dist/index.cjs17.js.map +1 -1
- package/dist/index.cjs18.js +1 -1
- package/dist/index.cjs18.js.map +1 -1
- package/dist/index.cjs19.js +1 -1
- package/dist/index.cjs19.js.map +1 -1
- package/dist/index.cjs2.js +1 -1
- package/dist/index.cjs2.js.map +1 -1
- package/dist/index.cjs20.js +1 -1
- package/dist/index.cjs20.js.map +1 -1
- package/dist/index.cjs21.js +1 -1
- package/dist/index.cjs21.js.map +1 -1
- package/dist/index.cjs22.js +1 -1
- package/dist/index.cjs22.js.map +1 -1
- package/dist/index.cjs23.js +1 -6
- package/dist/index.cjs23.js.map +1 -1
- package/dist/index.cjs24.js +1 -6
- package/dist/index.cjs24.js.map +1 -1
- package/dist/index.cjs25.js +1 -6
- package/dist/index.cjs25.js.map +1 -1
- package/dist/index.cjs26.js +1 -1
- package/dist/index.cjs26.js.map +1 -1
- package/dist/index.cjs27.js +1 -1
- package/dist/index.cjs27.js.map +1 -1
- package/dist/index.cjs28.js +6 -1
- package/dist/index.cjs28.js.map +1 -1
- package/dist/index.cjs29.js +6 -1
- package/dist/index.cjs29.js.map +1 -1
- package/dist/index.cjs3.js +1 -1
- package/dist/index.cjs3.js.map +1 -1
- package/dist/index.cjs30.js +1 -1
- package/dist/index.cjs30.js.map +1 -1
- package/dist/index.cjs31.js +1 -1
- package/dist/index.cjs34.js +1 -1
- package/dist/index.cjs36.js +1 -1
- package/dist/index.cjs37.js +1 -1
- package/dist/index.cjs38.js +1 -1
- package/dist/index.cjs39.js +1 -1
- package/dist/index.cjs4.js +1 -1
- package/dist/index.cjs4.js.map +1 -1
- package/dist/index.cjs41.js +1 -1
- package/dist/index.cjs42.js +1 -1
- package/dist/index.cjs42.js.map +1 -1
- package/dist/index.cjs43.js +1 -1
- package/dist/index.cjs47.js +1 -1
- package/dist/index.cjs5.js +1 -1
- package/dist/index.cjs5.js.map +1 -1
- package/dist/index.cjs55.js +1 -5
- package/dist/index.cjs55.js.map +1 -1
- package/dist/index.cjs56.js +1 -1
- package/dist/index.cjs56.js.map +1 -1
- package/dist/index.cjs57.js +1 -1
- package/dist/index.cjs57.js.map +1 -1
- package/dist/index.cjs58.js +1 -1
- package/dist/index.cjs58.js.map +1 -1
- package/dist/index.cjs59.js +1 -1
- package/dist/index.cjs59.js.map +1 -1
- package/dist/index.cjs6.js +1 -1
- package/dist/index.cjs6.js.map +1 -1
- package/dist/index.cjs60.js +1 -1
- package/dist/index.cjs60.js.map +1 -1
- package/dist/index.cjs61.js +1 -1
- package/dist/index.cjs61.js.map +1 -1
- package/dist/index.cjs62.js +5 -1
- package/dist/index.cjs62.js.map +1 -1
- package/dist/index.cjs63.js +1 -1
- package/dist/index.cjs63.js.map +1 -1
- package/dist/index.cjs65.js +1 -1
- package/dist/index.cjs67.js +1 -1
- package/dist/index.cjs69.js +1 -1
- package/dist/index.cjs7.js +1 -1
- package/dist/index.cjs7.js.map +1 -1
- package/dist/index.cjs71.js +1 -1
- package/dist/index.cjs72.js +1 -1
- package/dist/index.cjs75.js +1 -1
- package/dist/index.cjs78.js +1 -1
- package/dist/index.cjs8.js +1 -1
- package/dist/index.cjs8.js.map +1 -1
- package/dist/index.cjs81.js +1 -1
- package/dist/index.cjs9.js +1 -1
- package/dist/index.cjs9.js.map +1 -1
- package/dist/index.d.mts +5 -4
- package/dist/index.d.mts.map +1 -1
- package/dist/index.es.js +18 -28
- package/dist/index.es10.js +22 -22
- package/dist/index.es10.js.map +1 -1
- package/dist/index.es11.js +14 -42
- package/dist/index.es11.js.map +1 -1
- package/dist/index.es12.js +5 -65
- package/dist/index.es12.js.map +1 -1
- package/dist/index.es13.js +43 -24
- package/dist/index.es13.js.map +1 -1
- package/dist/index.es14.js +21 -126
- package/dist/index.es14.js.map +1 -1
- package/dist/index.es15.js +13 -20
- package/dist/index.es15.js.map +1 -1
- package/dist/index.es16.js +129 -130
- package/dist/index.es16.js.map +1 -1
- package/dist/index.es17.js +3 -137
- package/dist/index.es17.js.map +1 -1
- package/dist/index.es18.js +20 -61
- package/dist/index.es18.js.map +1 -1
- package/dist/index.es19.js +65 -10
- package/dist/index.es19.js.map +1 -1
- package/dist/index.es2.js +156 -113
- package/dist/index.es2.js.map +1 -1
- package/dist/index.es20.js +134 -22
- package/dist/index.es20.js.map +1 -1
- package/dist/index.es21.js +131 -421
- package/dist/index.es21.js.map +1 -1
- package/dist/index.es22.js +63 -5
- package/dist/index.es22.js.map +1 -1
- package/dist/index.es23.js +11 -13
- package/dist/index.es23.js.map +1 -1
- package/dist/index.es24.js +23 -16
- package/dist/index.es24.js.map +1 -1
- package/dist/index.es25.js +428 -13
- package/dist/index.es25.js.map +1 -1
- package/dist/index.es26.js +7 -13
- package/dist/index.es26.js.map +1 -1
- package/dist/index.es27.js +9 -3
- package/dist/index.es27.js.map +1 -1
- package/dist/index.es28.js +13 -19
- package/dist/index.es28.js.map +1 -1
- package/dist/index.es29.js +19 -23
- package/dist/index.es29.js.map +1 -1
- package/dist/index.es3.js +129 -340
- package/dist/index.es3.js.map +1 -1
- package/dist/index.es30.js +4 -7
- package/dist/index.es30.js.map +1 -1
- package/dist/index.es31.js +1 -1
- package/dist/index.es34.js +1 -1
- package/dist/index.es36.js +7 -7
- package/dist/index.es37.js +3 -3
- package/dist/index.es38.js +3 -3
- package/dist/index.es39.js +2 -2
- package/dist/index.es4.js +92 -70
- package/dist/index.es4.js.map +1 -1
- package/dist/index.es41.js +2 -2
- package/dist/index.es42.js +4 -4
- package/dist/index.es43.js +6 -6
- package/dist/index.es47.js +4 -4
- package/dist/index.es5.js +225 -79
- package/dist/index.es5.js.map +1 -1
- package/dist/index.es55.js +30 -252
- package/dist/index.es55.js.map +1 -1
- package/dist/index.es56.js +26 -21
- package/dist/index.es56.js.map +1 -1
- package/dist/index.es57.js +6 -32
- package/dist/index.es57.js.map +1 -1
- package/dist/index.es58.js +62 -23
- package/dist/index.es58.js.map +1 -1
- package/dist/index.es59.js +29 -6
- package/dist/index.es59.js.map +1 -1
- package/dist/index.es6.js +117 -57
- package/dist/index.es6.js.map +1 -1
- package/dist/index.es60.js +4 -64
- package/dist/index.es60.js.map +1 -1
- package/dist/index.es61.js +24 -29
- package/dist/index.es61.js.map +1 -1
- package/dist/index.es62.js +254 -5
- package/dist/index.es62.js.map +1 -1
- package/dist/index.es63.js +21 -24
- package/dist/index.es63.js.map +1 -1
- package/dist/index.es65.js +2 -2
- package/dist/index.es67.js +3 -3
- package/dist/index.es69.js +2 -2
- package/dist/index.es7.js +345 -48
- package/dist/index.es7.js.map +1 -1
- package/dist/index.es71.js +4 -4
- package/dist/index.es72.js +1 -1
- package/dist/index.es75.js +1 -1
- package/dist/index.es78.js +1 -1
- package/dist/index.es8.js +73 -163
- package/dist/index.es8.js.map +1 -1
- package/dist/index.es81.js +1 -1
- package/dist/index.es9.js +18 -3
- package/dist/index.es9.js.map +1 -1
- package/dist/packages/builder/add-dialog.d.ts +5 -5
- package/dist/packages/builder/context.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.es21.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es21.js","sources":["../src/packages/builder/add-dialog.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport { zodResolver } from \"@hookform/resolvers/zod\";\n\nimport {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogFooter,\n DialogDescription,\n} from \"@/components/ui/dialog\";\nimport { Input } from \"@/components/ui/input\";\nimport { Label } from \"@/components/ui/label\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\";\nimport { Switch } from \"@/components/ui/switch\";\nimport type { JSONSchema7, JSONSchema7TypeName } from \"json-schema\";\nimport { DebouncedInput } from \"@/components/depounced-input\";\nimport { clone } from \"remeda\";\nimport MultiInput from \"@/components/multi-input\";\nimport { Constraint, useConstraints } from \"@/packages/constraints/context\";\nimport ConstraintsAdd from \"@/packages/constraints/constraint-add\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { z } from \"zod\";\nimport { useForm } from \"react-hook-form\";\nimport {\n Form,\n FormControl,\n FormField,\n FormItem,\n FormLabel,\n FormMessage,\n} from \"@/components/ui/form\";\nimport type { OperationError } from \"./shared-types\";\n\nexport interface AddPropertyDialogProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n onSubmit: (key: string, property: JSONSchema7, required: boolean) => void;\n}\n\nconst zodJsonTypes = z.enum([\n \"string\",\n \"number\",\n \"integer\",\n \"boolean\",\n \"object\",\n \"array\",\n \"null\",\n]);\n\nexport const AddFormSchema = z.object({\n key: z\n .string()\n .trim()\n .min(1, { message: \"Key must be at least 1 character long\" }),\n property: z.object({\n title: z\n .string()\n .trim()\n .min(1, { message: \"Title must be at least 1 character long\" }),\n type: zodJsonTypes.or(z.array(zodJsonTypes)),\n description: z.string().optional(),\n enum: z\n .array(\n z\n .string()\n .or(z.number())\n .or(z.null())\n .or(z.boolean())\n .or(z.record(z.string(), z.any())),\n )\n .optional(),\n items: z\n .object({\n type: zodJsonTypes.or(z.array(zodJsonTypes)),\n })\n //only to satisfy the other types but we actually don't handle it\n .or(\n z.array(\n z\n .object({ type: zodJsonTypes.or(z.array(zodJsonTypes)) })\n .or(z.boolean()),\n ),\n )\n .or(z.boolean())\n .optional(),\n }),\n required: z.boolean().default(false),\n constraints: z\n .array(\n z.custom<Constraint>(() => ({\n name: z.string().trim().min(1),\n value: z.any(),\n })),\n )\n .optional(),\n});\n\n/**\n * Handles adding a property to a parent JSON schema's \"properties\".\n * This means you are working under a child property.\n */\nexport function AddPropertyDialog({\n open,\n onOpenChange,\n onSubmit,\n}: AddPropertyDialogProps) {\n const form = useForm<z.infer<typeof AddFormSchema>>({\n resolver: zodResolver(AddFormSchema),\n defaultValues: {\n key: \"\",\n property: {\n title: \"\",\n },\n },\n });\n\n const currentConstraints = form.watch(\"constraints\");\n const currentProperty = form.watch(\"property\");\n const currentEnum = form.watch(\"property.enum\");\n const currentType = form.watch(\"property.type\");\n\n const {\n getConstraintDefinitionsForType,\n getRendererForConstraint,\n validateConstraintValue,\n } = useConstraints();\n\n const handleSubmit = (data: z.infer<typeof AddFormSchema>) => {\n const { key, property, required, constraints } = data;\n const propertyToSubmit: JSONSchema7 = {\n ...property,\n ...constraints?.reduce((acc, constraint) => {\n return {\n ...acc,\n [constraint.name]: constraint.value,\n } satisfies JSONSchema7;\n }, {}),\n };\n onSubmit(key, propertyToSubmit, required);\n form.reset();\n };\n\n const handleConstraintChange = (\n index: number,\n newVal: Constraint[\"value\"],\n ) => {\n const constraintsCopy = clone(currentConstraints);\n\n const constraintToChange = constraintsCopy?.[index];\n\n if (!constraintToChange) {\n form.setError(`constraints.${index}`, {\n message: \"The constraint was not found\",\n type: \"constraint_not_found\",\n });\n return;\n }\n\n const validationResult = validateConstraintValue(\n constraintToChange.name,\n newVal,\n );\n\n if (validationResult.status === \"error\") {\n let message = validationResult.message;\n if (validationResult.code === \"invalid\") {\n message = `${message}: ${validationResult.error?.map((i) => i.message).join(\", \")}`;\n }\n form.setError(`constraints.${index}`, {\n type: validationResult.code,\n message,\n });\n return;\n }\n\n //edit reference\n constraintToChange.value = newVal;\n form.setValue(\"constraints\", constraintsCopy);\n form.clearErrors(`constraints.${index}`);\n };\n\n const handleRemoveConstraint = (constraintName: Constraint[\"name\"]) => {\n if (!currentConstraints) return;\n const copy = clone(currentConstraints);\n const newConstraints = copy.filter((c) => c.name !== constraintName);\n form.setValue(\"constraints\", newConstraints);\n };\n\n const availableDefinitions = getConstraintDefinitionsForType(\n typeof currentProperty?.type === \"string\" ? currentProperty.type : \"\",\n );\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent data-testid=\"add-property-dialog\">\n <DialogHeader>\n <DialogTitle>Add</DialogTitle>\n <DialogDescription>\n Required property values and constraints\n </DialogDescription>\n </DialogHeader>\n <Form {...form}>\n <form\n onSubmit={(e) => {\n e.stopPropagation();\n e.preventDefault();\n void form.handleSubmit(handleSubmit)(e);\n }}\n className=\"space-y-4\"\n data-testid=\"add-property-form\"\n id=\"add-property-form\"\n >\n <div className=\"space-y-2\">\n <FormField\n control={form.control}\n name=\"key\"\n render={({ field }) => {\n // Pull the onChange since debounced input should\n // be calling onDebounce instead\n const { onChange, ...rest } = field;\n\n return (\n <FormItem>\n <FormLabel>Property Key</FormLabel>\n <FormControl>\n <DebouncedInput\n {...rest}\n onDebounce={(newVal) => onChange(newVal)}\n />\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n <div className=\"space-y-2\">\n <FormField\n control={form.control}\n name=\"property.title\"\n render={({ field }) => {\n const { onChange, ...rest } = field;\n return (\n <FormItem>\n <FormLabel>Property Title</FormLabel>\n <FormControl>\n <DebouncedInput\n {...rest}\n onDebounce={(newVal) => onChange(newVal)}\n />\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n <div className=\"space-y-2\">\n <FormField\n control={form.control}\n name=\"property.type\"\n render={({ field }) => {\n return (\n <FormItem>\n <FormLabel>Type</FormLabel>\n <FormControl>\n <Select\n value={\n !Array.isArray(field.value)\n ? field.value\n : undefined\n }\n onValueChange={(newVal) => {\n if (newVal === \"enum\") {\n form.setValue(\"property.enum\", []);\n } else {\n form.setValue(\"property.enum\", undefined);\n }\n\n // If changing away from array, clear any array item errors\n if (field.value === \"array\" && newVal !== \"array\") {\n form.clearErrors(\"property.items\");\n form.setValue(\"property.items\", undefined);\n }\n\n field.onChange(newVal);\n }}\n >\n <SelectTrigger\n className=\"w-full\"\n aria-label=\"Select type\"\n >\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem\n value={\"string\" satisfies JSONSchema7TypeName}\n >\n string\n </SelectItem>\n <SelectItem\n value={\"number\" satisfies JSONSchema7TypeName}\n >\n number\n </SelectItem>\n <SelectItem\n value={\"integer\" satisfies JSONSchema7TypeName}\n >\n integer\n </SelectItem>\n <SelectItem\n value={\"boolean\" satisfies JSONSchema7TypeName}\n >\n boolean\n </SelectItem>\n <SelectItem\n value={\"object\" satisfies JSONSchema7TypeName}\n >\n object\n </SelectItem>\n <SelectItem\n value={\"array\" satisfies JSONSchema7TypeName}\n >\n array\n </SelectItem>\n <SelectItem\n value={\"null\" satisfies JSONSchema7TypeName}\n >\n null\n </SelectItem>\n </SelectContent>\n </Select>\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n\n {/* Array Items Type selector */}\n {currentType === \"array\" && (\n <div className=\"space-y-2\">\n <FormField\n control={form.control}\n name=\"property.items.type\"\n render={({ field }) => {\n return (\n <FormItem>\n <FormLabel>Items of type</FormLabel>\n <FormControl>\n <Select\n value={\n !Array.isArray(field.value)\n ? field.value\n : undefined\n }\n onValueChange={(newVal) => {\n form.clearErrors(\"property.items.type\");\n form.setValue(\n \"property.items.type\",\n newVal as JSONSchema7TypeName,\n );\n }}\n >\n <SelectTrigger\n className=\"w-full\"\n aria-label=\"Select items of type\"\n >\n <SelectValue placeholder=\"Select item type\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem\n value={\"string\" satisfies JSONSchema7TypeName}\n >\n string\n </SelectItem>\n <SelectItem\n value={\"number\" satisfies JSONSchema7TypeName}\n >\n number\n </SelectItem>\n <SelectItem\n value={\"integer\" satisfies JSONSchema7TypeName}\n >\n integer\n </SelectItem>\n <SelectItem\n value={\"boolean\" satisfies JSONSchema7TypeName}\n >\n boolean\n </SelectItem>\n <SelectItem\n value={\"object\" satisfies JSONSchema7TypeName}\n >\n object\n </SelectItem>\n <SelectItem\n value={\"array\" satisfies JSONSchema7TypeName}\n >\n array\n </SelectItem>\n <SelectItem\n value={\"null\" satisfies JSONSchema7TypeName}\n >\n null\n </SelectItem>\n </SelectContent>\n </Select>\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n )}\n\n <div className=\"flex items-center space-x-2\">\n <FormField\n control={form.control}\n name=\"required\"\n render={({ field }) => {\n return (\n <FormItem>\n <FormControl>\n <Switch\n checked={field.value}\n onCheckedChange={(checked) => field.onChange(checked)}\n />\n </FormControl>\n <FormLabel>Required</FormLabel>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n <div className=\"space-y-2\">\n <FormField\n control={form.control}\n name=\"property.description\"\n render={({ field }) => {\n return (\n <FormItem>\n <FormLabel>Description</FormLabel>\n <FormControl>\n <Input {...field} />\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n {currentEnum ? (\n <FormField\n control={form.control}\n name=\"property.enum\"\n render={({ field }) => {\n return (\n <FormItem>\n <FormLabel>Enum</FormLabel>\n <FormControl>\n <MultiInput\n values={\n field.value?.filter((i) => typeof i === \"string\") ??\n []\n }\n onAddValue={(newVal) => {\n const updates = [];\n if (field.value) {\n updates.push(...field.value);\n }\n updates.push(newVal);\n field.onChange(updates);\n }}\n onRemoveValue={(index) => {\n const newEnums = clone(field.value ?? []);\n newEnums.splice(index, 1);\n field.onChange(newEnums);\n }}\n />\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n ) : null}\n\n {availableDefinitions.length ? (\n <div className=\"space-y-2\">\n <Label>Constraints</Label>\n <ConstraintsAdd\n addedConstraints={currentConstraints ?? []}\n availableDefinitions={availableDefinitions}\n onAdd={(newConstraints) => {\n form.setValue(\"constraints\", newConstraints);\n }}\n />\n <Separator />\n {currentConstraints?.map((constraint, i) => {\n const Renderer = getRendererForConstraint(constraint.name);\n if (!Renderer) return null;\n\n const error = form.formState.errors.constraints?.[i];\n let mappedError: OperationError | undefined;\n\n if (error) {\n mappedError = {\n code: error?.type ?? \"INVALID\",\n message: error.message ?? \"An error occurred\",\n };\n }\n\n return (\n <Renderer\n key={constraint.name}\n constraintName={constraint.name}\n value={constraint.value}\n onConstraintChange={(newVal) => {\n handleConstraintChange(i, newVal);\n }}\n onRemoveConstraint={() => {\n handleRemoveConstraint(constraint.name);\n }}\n error={mappedError}\n />\n );\n })}\n </div>\n ) : null}\n\n <DialogFooter>\n <Button type=\"submit\" form=\"add-property-form\">\n Add Property\n </Button>\n </DialogFooter>\n </form>\n </Form>\n </DialogContent>\n </Dialog>\n );\n}\n"],"names":["zodJsonTypes","z","AddFormSchema","AddPropertyDialog","open","onOpenChange","onSubmit","form","useForm","zodResolver","currentConstraints","currentProperty","currentEnum","currentType","getConstraintDefinitionsForType","getRendererForConstraint","validateConstraintValue","useConstraints","handleSubmit","data","key","property","required","constraints","propertyToSubmit","acc","constraint","handleConstraintChange","index","newVal","constraintsCopy","clone","constraintToChange","validationResult","message","i","handleRemoveConstraint","constraintName","newConstraints","c","availableDefinitions","Dialog","jsxs","DialogContent","DialogHeader","jsx","DialogTitle","DialogDescription","Form","e","FormField","field","onChange","rest","FormItem","FormLabel","FormControl","DebouncedInput","FormMessage","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","Switch","checked","Input","MultiInput","updates","newEnums","Label","ConstraintsAdd","Separator","Renderer","error","mappedError","DialogFooter","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es21.js","sources":["../src/components/ui/alert-dialog.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\"\n\nimport { cn } from \"@/lib/utils\"\nimport { buttonVariants } from \"@/components/ui/button\"\n\nfunction AlertDialog({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />\n}\n\nfunction AlertDialogTrigger({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {\n return (\n <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n )\n}\n\nfunction AlertDialogPortal({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {\n return (\n <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n )\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogContent({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Content>) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n data-slot=\"alert-dialog-content\"\n className={cn(\n \"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg\",\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n )\n}\n\nfunction AlertDialogHeader({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogFooter({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\"text-lg font-semibold\", className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogAction({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Action>) {\n return (\n <AlertDialogPrimitive.Action\n className={cn(buttonVariants(), className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogCancel({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Cancel>) {\n return (\n <AlertDialogPrimitive.Cancel\n className={cn(buttonVariants({ variant: \"outline\" }), className)}\n {...props}\n />\n )\n}\n\nexport {\n AlertDialog,\n AlertDialogPortal,\n AlertDialogOverlay,\n AlertDialogTrigger,\n AlertDialogContent,\n AlertDialogHeader,\n AlertDialogFooter,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogAction,\n AlertDialogCancel,\n}\n"],"names":["AlertDialog","props","AlertDialogPrimitive.Root","AlertDialogPortal","AlertDialogPrimitive.Portal","AlertDialogOverlay","className","jsx","AlertDialogPrimitive.Overlay","cn","AlertDialogContent","AlertDialogPrimitive.Content","AlertDialogHeader","AlertDialogFooter","AlertDialogTitle","AlertDialogPrimitive.Title","AlertDialogDescription","AlertDialogPrimitive.Description","AlertDialogAction","AlertDialogPrimitive.Action","buttonVariants","AlertDialogCancel","AlertDialogPrimitive.Cancel"],"mappings":";;;;AAMA,SAASA,EAAY;AAAA,EACnB,GAAGC;AACL,GAA2D;AACzD,2BAAQC,GAAA,EAA0B,aAAU,gBAAgB,GAAGD,GAAO;AACxE;AAUA,SAASE,EAAkB;AAAA,EACzB,GAAGF;AACL,GAA6D;AAC3D,2BACGG,GAAA,EAA4B,aAAU,uBAAuB,GAAGH,GAAO;AAE5E;AAEA,SAASI,EAAmB;AAAA,EAC1B,WAAAC;AAAA,EACA,GAAGL;AACL,GAA8D;AAE1D,SAAA,gBAAAM;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAH;AAAA,MACF;AAAA,MACC,GAAGL;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASS,EAAmB;AAAA,EAC1B,WAAAJ;AAAA,EACA,GAAGL;AACL,GAA8D;AAC5D,2BACGE,GACC,EAAA,UAAA;AAAA,IAAA,gBAAAI,EAACF,GAAmB,EAAA;AAAA,IACpB,gBAAAE;AAAA,MAACI;AAAAA,MAAA;AAAA,QACC,aAAU;AAAA,QACV,WAAWF;AAAA,UACT;AAAA,UACAH;AAAA,QACF;AAAA,QACC,GAAGL;AAAA,MAAA;AAAA,IAAA;AAAA,EACN,GACF;AAEJ;AAEA,SAASW,EAAkB;AAAA,EACzB,WAAAN;AAAA,EACA,GAAGL;AACL,GAAgC;AAE5B,SAAA,gBAAAM;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWE,EAAG,gDAAgDH,CAAS;AAAA,MACtE,GAAGL;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASY,EAAkB;AAAA,EACzB,WAAAP;AAAA,EACA,GAAGL;AACL,GAAgC;AAE5B,SAAA,gBAAAM;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWE;AAAA,QACT;AAAA,QACAH;AAAA,MACF;AAAA,MACC,GAAGL;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASa,EAAiB;AAAA,EACxB,WAAAR;AAAA,EACA,GAAGL;AACL,GAA4D;AAExD,SAAA,gBAAAM;AAAA,IAACQ;AAAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWN,EAAG,yBAAyBH,CAAS;AAAA,MAC/C,GAAGL;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASe,EAAuB;AAAA,EAC9B,WAAAV;AAAA,EACA,GAAGL;AACL,GAAkE;AAE9D,SAAA,gBAAAM;AAAA,IAACU;AAAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWR,EAAG,iCAAiCH,CAAS;AAAA,MACvD,GAAGL;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASiB,EAAkB;AAAA,EACzB,WAAAZ;AAAA,EACA,GAAGL;AACL,GAA6D;AAEzD,SAAA,gBAAAM;AAAA,IAACY;AAAAA,IAAA;AAAA,MACC,WAAWV,EAAGW,EAAe,GAAGd,CAAS;AAAA,MACxC,GAAGL;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASoB,EAAkB;AAAA,EACzB,WAAAf;AAAA,EACA,GAAGL;AACL,GAA6D;AAEzD,SAAA,gBAAAM;AAAA,IAACe;AAAAA,IAAA;AAAA,MACC,WAAWb,EAAGW,EAAe,EAAE,SAAS,UAAU,CAAC,GAAGd,CAAS;AAAA,MAC9D,GAAGL;AAAA,IAAA;AAAA,EACN;AAEJ;"}
|
package/dist/index.es22.js
CHANGED
|
@@ -1,9 +1,67 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { cva as i } from "./index.es35.js";
|
|
3
|
+
import { cn as a } from "./index.es12.js";
|
|
4
|
+
const l = i(
|
|
5
|
+
"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
|
|
6
|
+
{
|
|
7
|
+
variants: {
|
|
8
|
+
variant: {
|
|
9
|
+
default: "bg-background text-foreground",
|
|
10
|
+
destructive: "text-destructive-foreground [&>svg]:text-current *:data-[slot=alert-description]:text-destructive-foreground/80"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
defaultVariants: {
|
|
14
|
+
variant: "default"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
);
|
|
18
|
+
function c({
|
|
19
|
+
className: t,
|
|
20
|
+
variant: r,
|
|
21
|
+
...s
|
|
22
|
+
}) {
|
|
23
|
+
return /* @__PURE__ */ e(
|
|
24
|
+
"div",
|
|
25
|
+
{
|
|
26
|
+
"data-slot": "alert",
|
|
27
|
+
role: "alert",
|
|
28
|
+
className: a(l({ variant: r }), t),
|
|
29
|
+
...s
|
|
30
|
+
}
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
function g({ className: t, ...r }) {
|
|
34
|
+
return /* @__PURE__ */ e(
|
|
35
|
+
"div",
|
|
36
|
+
{
|
|
37
|
+
"data-slot": "alert-title",
|
|
38
|
+
className: a(
|
|
39
|
+
"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",
|
|
40
|
+
t
|
|
41
|
+
),
|
|
42
|
+
...r
|
|
43
|
+
}
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
function u({
|
|
47
|
+
className: t,
|
|
48
|
+
...r
|
|
49
|
+
}) {
|
|
50
|
+
return /* @__PURE__ */ e(
|
|
51
|
+
"div",
|
|
52
|
+
{
|
|
53
|
+
"data-slot": "alert-description",
|
|
54
|
+
className: a(
|
|
55
|
+
"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
|
|
56
|
+
t
|
|
57
|
+
),
|
|
58
|
+
...r
|
|
59
|
+
}
|
|
60
|
+
);
|
|
5
61
|
}
|
|
6
62
|
export {
|
|
7
|
-
|
|
63
|
+
c as Alert,
|
|
64
|
+
u as AlertDescription,
|
|
65
|
+
g as AlertTitle
|
|
8
66
|
};
|
|
9
67
|
//# sourceMappingURL=index.es22.js.map
|
package/dist/index.es22.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es22.js","sources":["../src/
|
|
1
|
+
{"version":3,"file":"index.es22.js","sources":["../src/components/ui/alert.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current\",\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground\",\n destructive:\n \"text-destructive-foreground [&>svg]:text-current *:data-[slot=alert-description]:text-destructive-foreground/80\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n \"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Alert, AlertTitle, AlertDescription }\n"],"names":["alertVariants","cva","Alert","className","variant","props","jsx","cn","AlertTitle","AlertDescription"],"mappings":";;;AAKA,MAAMA,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,aACE;AAAA,MAAA;AAAA,IAEN;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;AAEA,SAASC,EAAM;AAAA,EACb,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,GAAqE;AAEjE,SAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAWC,EAAGP,EAAc,EAAE,SAAAI,EAAS,CAAA,GAAGD,CAAS;AAAA,MAClD,GAAGE;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASG,EAAW,EAAE,WAAAL,GAAW,GAAGE,KAAsC;AAEtE,SAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MACF;AAAA,MACC,GAAGE;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASI,EAAiB;AAAA,EACxB,WAAAN;AAAA,EACA,GAAGE;AACL,GAAgC;AAE5B,SAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MACF;AAAA,MACC,GAAGE;AAAA,IAAA;AAAA,EACN;AAEJ;"}
|
package/dist/index.es23.js
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
["path", { d: "M12 5v14", key: "s699le" }]
|
|
11
|
-
], s = e("Plus", o);
|
|
1
|
+
import t from "ajv";
|
|
2
|
+
const s = new t({ allErrors: !0 });
|
|
3
|
+
function i(e) {
|
|
4
|
+
const a = s.getSchema("http://json-schema.org/draft-07/schema#");
|
|
5
|
+
if (!a?.(e)) {
|
|
6
|
+
const o = a?.errors?.map((r) => `${r.instancePath} ${r.message}`).join(", ");
|
|
7
|
+
throw new Error(`Schema validation error: ${o}`);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
12
10
|
export {
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
s as ajv,
|
|
12
|
+
i as validateSchema
|
|
15
13
|
};
|
|
16
14
|
//# sourceMappingURL=index.es23.js.map
|
package/dist/index.es23.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es23.js","sources":["
|
|
1
|
+
{"version":3,"file":"index.es23.js","sources":["../src/packages/builder/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { faker } from \"@faker-js/faker\";\nimport Ajv from \"ajv\";\n\nimport type { JSONSchema7 } from \"json-schema\";\n\n// Export AJV instance for reuse\nexport const ajv = new Ajv({ allErrors: true });\n\n/**\n * Validates a JSON schema against the JSON Schema Draft 7 specification\n * @param schema Schema to validate\n * @throws Error if the schema is invalid\n */\nexport function validateSchema(schema: JSONSchema7) {\n const validate = ajv.getSchema(\"http://json-schema.org/draft-07/schema#\");\n const valid = validate?.(schema);\n\n if (!valid) {\n const errorMessages = validate?.errors\n ?.map((err) => `${err.instancePath} ${err.message}`)\n .join(\", \");\n\n throw new Error(`Schema validation error: ${errorMessages}`);\n }\n}\n\n// Test helpers\nexport const createTestSchema = (overrides = {}): JSONSchema7 => ({\n $schema: \"http://json-schema.org/draft-07/schema#\",\n type: \"object\",\n title: \"Test Schema\",\n properties: {\n name: {\n type: \"string\",\n title: \"Name\",\n },\n age: {\n type: \"integer\",\n title: \"Age\",\n },\n address: {\n type: \"object\",\n title: \"Address\",\n properties: {\n street: {\n type: \"string\",\n title: \"Street\",\n },\n city: {\n type: \"string\",\n title: \"City\",\n },\n },\n },\n tags: {\n type: \"array\",\n title: \"Tags\",\n items: {\n type: \"string\",\n },\n },\n },\n required: [\"name\"],\n ...overrides,\n});\n\ntype SampleDataType =\n | string\n | number\n | boolean\n | undefined\n | null\n | Record<string, any>;\n\n/**\n * Generate sample data for a JSON schema\n * @param schema JSON Schema to generate data for\n * @returns Sample data that conforms to the schema\n */\nexport const generateSampleData = (\n schema: JSONSchema7,\n): SampleDataType | SampleDataType[] => {\n if (!schema) return undefined;\n\n // Handle schema references (not implemented in this basic version)\n if (schema.$ref) {\n // In a complete implementation, this would resolve the reference\n return \"Reference not resolved\";\n }\n\n // Handle different types\n switch (schema.type) {\n case \"object\":\n return generateObjectData(schema);\n case \"array\":\n return generateArrayData(schema);\n case \"string\":\n return generateStringData(schema);\n case \"number\":\n case \"integer\":\n return generateNumberData(schema);\n case \"boolean\":\n return generateBooleanData();\n case \"null\":\n return null;\n default:\n // Handle schemas with multiple types or no type specified\n if (Array.isArray(schema.type) && schema.type.length > 0) {\n // Use the first type as default\n const primaryType = schema.type[0];\n const newSchema = { ...schema, type: primaryType };\n return generateSampleData(newSchema);\n }\n // If no type is specified, default to object\n if (schema.properties) {\n return generateObjectData({ ...schema, type: \"object\" });\n }\n // Fall back to a string if we can't determine the type\n return faker.lorem.word();\n }\n};\n\n/**\n * Generate sample data for an object schema\n */\nconst generateObjectData = (schema: JSONSchema7): Record<string, any> => {\n const result: Record<string, any> = {};\n\n if (!schema.properties) return result;\n\n // Process each property in the schema\n Object.entries(schema.properties).forEach(([key, propSchema]) => {\n // Only include required fields and some random non-required fields\n const isRequired =\n Array.isArray(schema.required) && schema.required.includes(key);\n const includeField = isRequired ?? Math.random() > 0.3; // 70% chance to include non-required fields\n\n if (includeField && typeof propSchema !== \"boolean\") {\n // Handle default values\n if (propSchema.default !== undefined) {\n result[key] = propSchema.default;\n } else {\n result[key] = generateSampleData(propSchema);\n }\n }\n });\n\n return result;\n};\n\n/**\n * Generate sample data for an array schema\n */\nconst generateArrayData = (schema: JSONSchema7) => {\n if (!schema.items) return [];\n\n // Determine array length\n const minItems = schema.minItems ?? 1;\n const maxItems = schema.maxItems ?? minItems + 3;\n const count = faker.number.int({ min: minItems, max: maxItems });\n\n const result = [];\n const itemSchema = Array.isArray(schema.items)\n ? schema.items[0]\n : schema.items;\n\n // Generate items\n if (typeof itemSchema !== \"boolean\" && itemSchema) {\n for (let i = 0; i < count; i++) {\n result.push(generateSampleData(itemSchema));\n }\n }\n\n return result;\n};\n\n/**\n * Generate sample data for a string schema\n */\nconst generateStringData = (schema: JSONSchema7): string => {\n if (schema.enum && Array.isArray(schema.enum)) {\n // Pick a random value from the enum\n return schema.enum[\n Math.floor(Math.random() * schema.enum.length)\n ] as string;\n }\n\n // Handle string formats\n if (schema.format) {\n switch (schema.format) {\n case \"email\":\n return faker.internet.email();\n case \"uri\":\n case \"url\":\n return faker.internet.url();\n case \"date\":\n return faker.date.past().toISOString().split(\"T\")[0]!;\n case \"date-time\":\n return faker.date.past().toISOString();\n case \"uuid\":\n return faker.string.uuid();\n case \"hostname\":\n return faker.internet.domainName();\n case \"ipv4\":\n return faker.internet.ip();\n case \"ipv6\":\n return faker.internet.ipv6();\n case \"phone\":\n return faker.phone.number();\n default:\n return faker.lorem.word();\n }\n }\n\n // Handle patterns\n if (schema.pattern) {\n try {\n // Basic implementation for simple patterns\n // For complex patterns, consider using a library like randexp\n if (schema.pattern.includes(\"\\\\d\")) {\n return faker.string.alphanumeric(10);\n }\n return faker.lorem.word();\n } catch {\n return faker.lorem.word();\n }\n }\n\n // Handle length constraints\n const minLength = schema.minLength ?? 3;\n const maxLength = schema.maxLength ?? 12;\n\n return faker.string.alphanumeric({\n length: { min: minLength, max: maxLength },\n });\n};\n\n/**\n * Generate sample data for a number schema\n */\nconst generateNumberData = (schema: JSONSchema7): number => {\n if (schema.enum && Array.isArray(schema.enum)) {\n return schema.enum[\n Math.floor(Math.random() * schema.enum.length)\n ] as number;\n }\n\n const isInteger = schema.type === \"integer\";\n const minimum =\n typeof schema.minimum === \"number\" ? schema.minimum : isInteger ? 0 : 0.0;\n const maximum =\n typeof schema.maximum === \"number\"\n ? schema.maximum\n : isInteger\n ? 100\n : 100.0;\n\n if (isInteger) {\n return faker.number.int({ min: minimum, max: maximum });\n }\n\n return faker.number.float({ min: minimum, max: maximum, fractionDigits: 2 });\n};\n\n/**\n * Generate sample data for a boolean schema\n */\nconst generateBooleanData = (): boolean => {\n return faker.datatype.boolean();\n};\n"],"names":["ajv","Ajv","validateSchema","schema","validate","errorMessages","err"],"mappings":";AAOO,MAAMA,IAAM,IAAIC,EAAI,EAAE,WAAW,GAAM,CAAA;AAOvC,SAASC,EAAeC,GAAqB;AAC5C,QAAAC,IAAWJ,EAAI,UAAU,yCAAyC;AAGxE,MAAI,CAFUI,IAAWD,CAAM,GAEnB;AACV,UAAME,IAAgBD,GAAU,QAC5B,IAAI,CAACE,MAAQ,GAAGA,EAAI,YAAY,IAAIA,EAAI,OAAO,EAAE,EAClD,KAAK,IAAI;AAEZ,UAAM,IAAI,MAAM,4BAA4BD,CAAa,EAAE;AAAA,EAAA;AAE/D;"}
|
package/dist/index.es24.js
CHANGED
|
@@ -1,19 +1,26 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
[
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
import { jsx as m } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as c, useState as i, useEffect as d } from "react";
|
|
3
|
+
import { useDebounce as l } from "./index.es48.js";
|
|
4
|
+
import { Input as b } from "./index.es9.js";
|
|
5
|
+
const I = c(({ onDebounce: u, type: n, delay: r = 200, value: t, ...a }, p) => {
|
|
6
|
+
const [o, s] = i(t), [e] = l(o, r);
|
|
7
|
+
return d(() => {
|
|
8
|
+
typeof e == "string" && e !== t && u?.(e);
|
|
9
|
+
}, [e]), /* @__PURE__ */ m(
|
|
10
|
+
b,
|
|
11
|
+
{
|
|
12
|
+
...a,
|
|
13
|
+
type: n,
|
|
14
|
+
value: o,
|
|
15
|
+
ref: p,
|
|
16
|
+
onChange: (f) => {
|
|
17
|
+
s(f.target.value);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
);
|
|
21
|
+
});
|
|
22
|
+
I.displayName = "DebouncedInput";
|
|
15
23
|
export {
|
|
16
|
-
|
|
17
|
-
a as default
|
|
24
|
+
I as DebouncedInput
|
|
18
25
|
};
|
|
19
26
|
//# sourceMappingURL=index.es24.js.map
|
package/dist/index.es24.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es24.js","sources":["
|
|
1
|
+
{"version":3,"file":"index.es24.js","sources":["../src/components/depounced-input.tsx"],"sourcesContent":["import { forwardRef, useState, useEffect } from \"react\";\nimport { useDebounce } from \"use-debounce\";\nimport { Input } from \"@/components/ui/input\";\n\nexport const DebouncedInput = forwardRef<\n HTMLInputElement,\n React.ComponentProps<\"input\"> & {\n onDebounce?: (newVal: string) => void;\n delay?: number;\n }\n>(({ onDebounce, type, delay = 200, value, ...props }, ref) => {\n const [inputValue, setInputValue] = useState(value);\n\n const [debouncedValue] = useDebounce(inputValue, delay);\n\n useEffect(() => {\n //prevents the initial value from being sent\n if (typeof debouncedValue === \"string\" && debouncedValue !== value) {\n onDebounce?.(debouncedValue);\n }\n }, [debouncedValue]);\n\n return (\n <Input\n {...props}\n type={type}\n value={inputValue}\n ref={ref}\n onChange={(e) => {\n setInputValue(e.target.value);\n }}\n />\n );\n});\nDebouncedInput.displayName = \"DebouncedInput\";\n"],"names":["DebouncedInput","forwardRef","onDebounce","type","delay","value","props","ref","inputValue","setInputValue","useState","debouncedValue","useDebounce","useEffect","jsx","Input","e"],"mappings":";;;;AAIO,MAAMA,IAAiBC,EAM5B,CAAC,EAAE,YAAAC,GAAY,MAAAC,GAAM,OAAAC,IAAQ,KAAK,OAAAC,GAAO,GAAGC,EAAM,GAAGC,MAAQ;AAC7D,QAAM,CAACC,GAAYC,CAAa,IAAIC,EAASL,CAAK,GAE5C,CAACM,CAAc,IAAIC,EAAYJ,GAAYJ,CAAK;AAEtD,SAAAS,EAAU,MAAM;AAEd,IAAI,OAAOF,KAAmB,YAAYA,MAAmBN,KAC3DH,IAAaS,CAAc;AAAA,EAC7B,GACC,CAACA,CAAc,CAAC,GAGjB,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACE,GAAGT;AAAA,MACJ,MAAAH;AAAA,MACA,OAAOK;AAAA,MACP,KAAAD;AAAA,MACA,UAAU,CAACS,MAAM;AACD,QAAAP,EAAAO,EAAE,OAAO,KAAK;AAAA,MAAA;AAAA,IAC9B;AAAA,EACF;AAEJ,CAAC;AACDhB,EAAe,cAAc;"}
|