@getcommunity/gc-validators 0.0.34 → 0.0.35

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 CHANGED
@@ -1098,8 +1098,7 @@ var SUtmLinkBuilderTableForm = v4__namespace.object({
1098
1098
  )
1099
1099
  ),
1100
1100
  v4__namespace.minLength(1, "Please select at least one targeting option."),
1101
- v4__namespace.maxLength(10, "You can select up to 10 targeting options."),
1102
- v4__namespace.transform((value) => value.join(","))
1101
+ v4__namespace.maxLength(10, "You can select up to 10 targeting options.")
1103
1102
  )
1104
1103
  ),
1105
1104
  campaign_key: v4__namespace.optional(
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/constants/limits.constants.ts","../src/constants/pagination.constants.ts","../src/constants/permission.constants.ts","../src/constants/regex.constants.ts","../src/schemas/blog.schemas.ts","../src/types/documents/client-project.document.ts","../src/validators/validators-client-users.ts","../src/validators/validators-generics.ts","../src/validators/validators-forms.ts","../src/validators/validators-urls.ts","../src/validators/validators-users.ts","../src/validators/validators-utm-params.ts","../src/schemas/client-project.schemas.ts","../src/schemas/client.schemas.ts","../src/schemas/generic.schemas.ts","../src/schemas/lead.schemas.ts","../src/schemas/newsletter.schemas.ts","../src/schemas/resume.schemas.ts","../src/schemas/sharpspring.schemas.ts","../src/schemas/trend.schemas.ts","../src/schemas/url-redirect.schemas.ts","../src/schemas/user-account.schemas.ts","../src/schemas/user-auth.schemas.ts","../src/schemas/user.schemas.ts","../src/schemas/utm-link-builder.schemas.ts","../src/schemas/utm-tracking-link.schemas.ts","../src/utilities/utilities.ts","../src/utilities/utilities-datetime.ts"],"names":["v","v2","v3","v4","v5","v6","v7","v8","v9","v10","v11","v12","v13","v14","v15","v16","v17","v18","v19","v20","v21","v22","date"],"mappings":"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","file":"index.cjs","sourcesContent":["// Generics\nexport const LIMIT_MIN_VALUE = 1\nexport const LIMIT_MIN_NAME = 2\nexport const LIMIT_MAX_DESCRIPTION = 1024\nexport const LIMIT_SHORT_STRING_MAX_LENGTH = 255\nexport const LIMIT_MEDIUM_STRING_MAX_LENGTH = 500\nexport const LIMIT_LONG_STRING_MAX_LENGTH = 5000\n// Users\nexport const LIMIT_MIN_USERNAME = 3\nexport const LIMIT_MAX_USERNAME = 255\nexport const LIMIT_MIN_EMAIL = 5\nexport const LIMIT_MAX_EMAIL = 255\nexport const LIMIT_MIN_PASSWORD = 8\nexport const LIMIT_MAX_PASSWORD = 255\nexport const LIMIT_MAX_PROVIDER = 255\n// URLs\nexport const LIMIT_MIN_DESTINATION = 10\nexport const LIMIT_MAX_DESTINATION = 2048\nexport const LIMIT_MIN_DOMAIN = 10\nexport const LIMIT_MAX_DOMAIN = 253\nexport const LIMIT_MIN_PATH = 1\nexport const LIMIT_MAX_PATH = 2038\nexport const LIMIT_MIN_QUERY = 1\nexport const LIMIT_MAX_QUERY = 2038\nexport const LIMIT_MIN_FRAGMENT = 1\nexport const LIMIT_MAX_FRAGMENT = 2038\n// UTM Parameters\nexport const LIMIT_MIN_UTM_SOURCE = 1\nexport const LIMIT_MAX_UTM_SOURCE = 2026\nexport const LIMIT_MIN_UTM_MEDIUM = 1\nexport const LIMIT_MAX_UTM_MEDIUM = 2026\nexport const LIMIT_MIN_UTM_CAMPAIGN = 1\nexport const LIMIT_MAX_UTM_CAMPAIGN = 2024\nexport const LIMIT_MIN_UTM_CREATIVE_FORMAT = 1\nexport const LIMIT_MAX_UTM_CREATIVE_FORMAT = 2017\nexport const LIMIT_MIN_UTM_CONTENT = 1\nexport const LIMIT_MAX_UTM_CONTENT = 2025\nexport const LIMIT_MIN_UTM_TERM = 1\nexport const LIMIT_MAX_UTM_TERM = 2028\nexport const LIMIT_MIN_UTM_ID = 1\nexport const LIMIT_MAX_UTM_ID = 2030\n","// Generics\nexport const LIMIT_PAGINATION_DEFAULT_SIZE = 100\nexport const LIMIT_PAGINATION_MAX_SIZE = 10000\n// Entities\nexport const LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE = 6\nexport const LIMIT_BLOG_POST_PAGINATION_MAX_SIZE = 20\nexport const LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE = 16\nexport const LIMIT_CLIENT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_PRODUCT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE = 1000\nexport const LIMIT_REDIRECT_PAGINATION_MAX_SIZE = 10000\nexport const LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE = 20\nexport const LIMIT_TREND_PAGINATION_DEFAULT_SIZE = 7\nexport const LIMIT_TREND_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_USER_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_USER_PAGINATION_MAX_SIZE = 10\nexport const LIMIT_CATEGORIES_DEFAULT_SIZE = 100\nexport const LIMIT_CATEGORIES_MAX_SIZE = 1000\nexport const LIMIT_TAGS_DEFAULT_SIZE = 100\nexport const LIMIT_TAGS_MAX_SIZE = 1000\nexport const LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE = 1000\n","//\n/**\n * Example usage of ClientEntityScope type\n * @reference https://youtube.com/shorts/zOseJFD447U?si=xX8DYEHdl9YtN7S4\n *\n * > const validScope: ClientEntityScope = \"tracking-link:import\"; // ✅\n * > const invalidScope: ClientEntityScope = \"website:import\"; // ❌ Type error!\n */\n\nexport const CLIENT_ENTITY_PERMISSIONS = {\n \"client-project\": [\"list\", \"create\", \"read\", \"update\", \"delete\", \"export\", \"import\"],\n \"client-report\": [\"list\", \"create\", \"read\", \"update\", \"delete\", \"export\", \"import\"],\n \"utm-tracking-link\": [\n \"list\",\n \"create\",\n \"read\",\n \"update\",\n \"delete\",\n \"export\",\n \"import\"\n ]\n} as const\n\nexport type ClientEntityKey = keyof typeof CLIENT_ENTITY_PERMISSIONS\n\nexport type ClientEntityActions<K extends ClientEntityKey = ClientEntityKey> =\n (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]\n\ntype EntityActionJoin<K extends string, V extends string> = `${K}:${V}`\n\nexport type ClientEntityScope = {\n [K in ClientEntityKey]: EntityActionJoin<\n K,\n (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]\n >\n}[ClientEntityKey]\n\nexport const CLIENT_ENTITY_KEYS = Object.keys(\n CLIENT_ENTITY_PERMISSIONS\n) as ClientEntityKey[]\n\nexport const CLIENT_ENTITY_SCOPES: ClientEntityScope[] = Object.entries(\n CLIENT_ENTITY_PERMISSIONS\n).flatMap(([entity, actions]) =>\n actions.map((action) => `${entity}:${action}` as ClientEntityScope)\n)\n","export const ERROR_MESSAGE_REGEX_DOMAIN = \"please provide a valid domain name\"\nexport const REGEX_DOMAIN =\n /^(?=.{1,253}$)(?!-)((xn--)?[a-zA-Z0-9]{1,59}(-[a-zA-Z0-9]{1,62})?\\.)+([a-zA-Z]{2,63}|xn--[a-zA-Z0-9]{2,59})$/\n\nexport const ERROR_MESSAGE_REGEX_UTM_VALUE = `can only contain letters, numbers, and the special characters: - _ .`\nexport const REGEX_UTM_VALUE = /^[a-zA-Z0-9._-]+$/\n","import * as v from \"valibot\"\nimport {\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE,\n LIMIT_BLOG_POST_PAGINATION_MAX_SIZE\n} from \"../constants\"\n\nexport const QueryStrapiSearchBlogPosts = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_BLOG_POST_PAGINATION_MAX_SIZE)\n ),\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE\n ),\n search: v.optional(v.pipe(v.string(), v.maxLength(255)), \"\"),\n category: v.optional(v.pipe(v.string(), v.maxLength(100)), \"\"),\n tags: v.optional(v.array(v.pipe(v.string(), v.maxLength(100))), []),\n status: v.optional(v.picklist([\"draft\", \"published\"]))\n})\n\nexport type QueryStrapiSearchBlogPosts = v.InferOutput<\n typeof QueryStrapiSearchBlogPosts\n>\n\nexport const QueryStrapiSearchBlogPostsBySlug = v.object({\n slug: v.string(),\n status: v.optional(v.picklist([\"draft\", \"published\"]), \"published\")\n})\n\nexport type QueryStrapiSearchBlogPostsBySlug = v.InferOutput<\n typeof QueryStrapiSearchBlogPostsBySlug\n>\n","import type { BaseDocument, MediaUploadDocument } from \"../core\"\nimport type { ClientDocument } from \"./client.document\"\n\nexport const ClientProjectStatusOptions = [\n \"coming-soon\",\n \"now-open\",\n \"for-sale\",\n \"sold-out\",\n \"available\"\n]\nexport type ClientProjectStatus = (typeof ClientProjectStatusOptions)[number]\n\nexport type ClientProjectDocument = {\n title: string\n slug: string\n project_status: ClientProjectStatus[]\n clients?: ClientDocument[]\n featured_image?: MediaUploadDocument | null\n} & BaseDocument\n","import * as v from \"valibot\"\nimport { CLIENT_ENTITY_SCOPES } from \"../constants\"\n\nexport const IsValidGroupUserScopes = v.pipe(\n v.array(\n v.pipe(\n v.string(\"please provide a valid scope\"),\n v.picklist(CLIENT_ENTITY_SCOPES, \"invalid client scope provided\")\n ),\n \"please provide an array of scopes\"\n ),\n v.maxLength(\n CLIENT_ENTITY_SCOPES.length,\n \"you cannot provide more scopes than available\"\n )\n)\n","import * as v from \"valibot\"\nimport {\n LIMIT_LONG_STRING_MAX_LENGTH,\n LIMIT_SHORT_STRING_MAX_LENGTH\n} from \"../constants\"\n\n// reference id for relationships\nexport const IsValidReferenceId = v.number(\"please provide a valid id\")\n\nexport const IsValidReferenceDocumentId = v.pipe(\n v.string(\"please provide a valid document id\"),\n v.trim(),\n v.minLength(1, \"the document id is too short, it must be at least 1 character\"),\n v.maxLength(255, \"the document id is too long, it must be 255 characters or less\")\n)\n\n// dates\nexport const IsValidDateToday = v.pipe(\n v.date(),\n v.minValue(new Date()),\n v.transform((value) => value.toISOString())\n)\n\n// numbers\nexport const IsValidPositiveInteger = v.pipe(\n v.number(\"Please enter a number.\"),\n v.integer(\"Please enter a whole number.\"),\n v.minValue(1, \"Please enter a positive number.\")\n)\n\n// strings\nexport const InvalidShortStringMax = `The string you provided is too long, please abbreviate your string to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidShortString = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidShortStringMax)\n)\nexport const IsValidShortStringOrUndefined = v.optional(IsValidShortString)\n\nexport const InvalidLongStringOrUndefined = `The string you provided is too long, please abbreviate your string to be ${LIMIT_LONG_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidLongString = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined)\n)\nexport const IsValidLongStringOrUndefined = v.optional(IsValidLongString)\n\nexport const IsValidStringList = v.pipe(\n v.array(v.string()),\n v.transform((value) => value.join(\",\"))\n)\nexport const IsValidStringListOrUndefined = v.optional(IsValidStringList)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_LONG_STRING_MAX_LENGTH,\n LIMIT_MAX_DESCRIPTION,\n LIMIT_MAX_DESTINATION,\n LIMIT_MEDIUM_STRING_MAX_LENGTH,\n LIMIT_MIN_NAME,\n LIMIT_MIN_VALUE,\n LIMIT_SHORT_STRING_MAX_LENGTH,\n REGEX_UTM_VALUE\n} from \"../constants\"\nimport { InvalidLongStringOrUndefined } from \"./validators-generics\"\n\nexport const InvalidInputRobot = \"It appears you are a robot, please try again.\"\n\n// File Reference\nexport const IsValidFileReferenceId = v.object({\n id: v.number(),\n src: v.optional(v.string())\n})\n\n// names\nexport const InvalidFullName = \"Please enter your name.\"\nexport const InvalidFullNameMaxLength = `Your name is too long for our datanase, please abbreviate your name to be ${LIMIT_MEDIUM_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidFullName = v.pipe(\n v.string(InvalidFullName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidFullName),\n v.maxLength(LIMIT_MEDIUM_STRING_MAX_LENGTH, InvalidFullNameMaxLength),\n v.includes(\" \", \"Please enter your first and last name.\")\n)\n\nexport const InvalidFirstName = \"Please enter your first name.\"\nexport const InvalidFirstNameMaxLength = `Your first name is too long for our datanase, please abbreviate your first name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidFirstName = v.pipe(\n v.string(InvalidFirstName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidFirstName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidFirstNameMaxLength)\n)\n\nexport const InvalidLastName = \"Please enter your last name.\"\nexport const InvalidLastNameMaxLength = `Your last name is too long for our datanase, please abbreviate your last name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidLastName = v.pipe(\n v.string(InvalidLastName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidLastName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidLastNameMaxLength)\n)\n\nexport const InvalidPreferredName = \"Please enter your preferred name.\"\nexport const InvalidPreferredNameMaxLength = `Your preferred name is too long for our datanase, please abbreviate your preferred name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidPreferredName = v.pipe(\n v.string(InvalidPreferredName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidPreferredName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidPreferredNameMaxLength)\n)\n\nexport const IsValidUserConsent = v.boolean()\n\nexport const InvalidUserPhoneType = \"Please enter your phone number.\"\nexport const InvalidUserPhone = `The phone you provided does not appear to be a valid phone number.`\nexport const IsValidUserPhoneRequired = v.pipe(\n v.string(InvalidUserPhoneType),\n v.trim(),\n v.minLength(7, InvalidUserPhoneType),\n v.maxLength(15, InvalidUserPhone)\n)\nexport const IsValidUserPhone = v.optional(IsValidUserPhoneRequired)\n\nexport const InvalidCompanyName = \"Please enter your company name.\"\nexport const InvalidCompanyNameMaxLength = `The company name you provided is too long for our database, please abbreviate your company name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidCompanyNameRequired = v.pipe(\n v.string(InvalidCompanyName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidCompanyName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidCompanyNameMaxLength)\n)\nexport const IsValidCompanyName = v.optional(IsValidCompanyNameRequired)\n\nexport const InvalidUserTitle = \"Please enter your job title or reference.\"\nexport const InvalidUserTitleMaxLength = `The job title you provided is too long for our database, please abbreviate your company name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidUserTitleRequired = v.pipe(\n v.string(InvalidUserTitle),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidUserTitle),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidUserTitleMaxLength)\n)\nexport const IsValidUserTitle = v.optional(IsValidUserTitleRequired)\n\nexport const InvalidUserMessage = \"How can we be of service to your team?\"\nexport const InvalidUserMessageMaxLength = `The message you provided is too long for our database, please abbreviate your message to be ${LIMIT_LONG_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidUserMessage = v.optional(\n v.pipe(\n v.string(InvalidUserMessage),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidUserMessageMaxLength)\n )\n)\n\nexport const InvalidRefPageMaxLength = `The string you provided is too long for our database, please abbreviate your string to be ${LIMIT_MAX_DESTINATION} characters or less.`\nexport const IsValidRefPage = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_MAX_DESTINATION, InvalidRefPageMaxLength)\n)\n\nexport const InvalidProductInterestMaxLength = `The product interest provided is too long. It must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidProductInterest = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidProductInterestMaxLength)\n)\n\nexport const IsValidCaptchaToken = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined)\n)\n\nexport const InvalidInstrustryName = \"Please enter your industry.\"\nexport const InvalidInstrustryNameMaxLength = `The industry you provided is too long for our database, please abbreviate your industry to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidIndustryName = v.optional(\n v.pipe(\n v.string(InvalidInstrustryName),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidInstrustryNameMaxLength)\n )\n)\n\nexport const InvalidRangeValueOneToFive = `Please select a value between 1 and 5. (1 = Poor, 3 = Neutral, 5 = Excellent)`\nexport const IsValidRangeValueOneToFive = v.pipe(\n v.string(),\n v.picklist([\"1\", \"2\", \"3\", \"4\", \"5\"], InvalidRangeValueOneToFive)\n)\n\nexport const InvalidClientTermNumber = `Please provide how many months your team has used this product.`\nexport const InvalidClientTermMin = `We're sorry, you must be a client for at least 1 month to provide feedback.`\nexport const IsValidClientTerm = v.pipe(\n v.number(InvalidClientTermNumber),\n v.minValue(1, InvalidClientTermMin)\n)\n\nexport const IsValidUrl = v.pipe(\n v.string(),\n v.trim(),\n v.startsWith(\"http\", \"Please enter a valid URL starting with http or https.\"),\n v.url(\"Please enter a valid URL.\")\n)\nexport const IsValidUrlOrUndefined = v.optional(IsValidUrl)\n\nexport const IsValidUrlList = (input: string) => {\n if (input === \"\") return true\n const urls = input.split(\",\")\n if (urls.length > 0) {\n const truthy = []\n for (let i = 0; i < urls.length; i++) {\n const result = v.safeParse(IsValidUrl, urls[i])\n truthy.push(result.success)\n }\n return truthy.every((item) => item === true)\n }\n return false\n}\n\nexport const InvalidListOfUrls = \"Please enter a list of URLs separated by commas.\"\nexport const IsValidStringSepListOfUrls = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined),\n v.check(IsValidUrlList, InvalidListOfUrls)\n)\nexport const IsValidStringSepListOfUrlsOrUndefined = v.optional(\n IsValidStringSepListOfUrls\n)\n\nexport const InvalidDestinationUrl = \"Please remove any query parameters from the URL.\"\nexport const IsValidDestinationUrl = v.pipe(\n v.string(),\n v.trim(),\n v.url(\"Please enter a valid URL.\"),\n v.check((input: string) => {\n if (input === \"\") return false\n return input.indexOf(\"?\") === -1\n }, InvalidDestinationUrl)\n)\n\nexport const InvalidUtmLink = \"Please enter a valid URL with UTM parameters.\"\nexport const IsValidUtmLink = v.pipe(\n v.string(),\n v.trim(),\n v.url(\"Please enter a valid URL.\"),\n v.check((input: string) => {\n return input.includes(\"utm_\")\n }, InvalidUtmLink)\n)\n\nexport const IsValidUtmCampaignKeyName = v.pipe(\n v.string(\"please provide a value\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the value is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the value is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `the value ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidUtmCampaignKeyNameOrUndefined = v.optional(\n IsValidUtmCampaignKeyName\n)\n\nexport const InvalidCsvFileType = \"Please upload a CSV file.\"\nexport const IsValidCsvFile = v.optional(\n v.pipe(v.blob(), v.mimeType([\"text/csv\"], InvalidCsvFileType))\n)\n\nexport const InvalidResumeFileType = \"Please upload a PDF or Word document.\"\nexport const IsValidResumeFile = v.nullable(\n v.pipe(\n v.file(InvalidResumeFileType),\n v.mimeType([\"application/pdf\"], InvalidResumeFileType)\n )\n)\n\nexport const ValidNumberOfEmployeeOptions = [\n { label: \"0-10\", value: \"0-10\" },\n { label: \"11-20\", value: \"11-20\" },\n { label: \"21-50\", value: \"21-50\" },\n { label: \"51-100\", value: \"51-100\" },\n { label: \"101-500\", value: \"101-500\" },\n { label: \"501+\", value: \"501+\" }\n] as const\n\nexport const IsValidNumberOfEmployees = v.pipe(\n v.string(),\n v.picklist(\n ValidNumberOfEmployeeOptions.map((item) => item.value),\n \"Please select an option that best describes your team size.\"\n )\n)\n\nexport const ValidJobRoleGroup = [\n {\n label: \"Founder / Owner\",\n value: \"founder,owner\"\n },\n {\n label: \"C-suite Executive\",\n value: \"executive\"\n },\n {\n label: \"Vice President\",\n value: \"vice president\"\n },\n {\n label: \"Director\",\n value: \"director\"\n },\n {\n label: \"Manager\",\n value: \"manager\"\n },\n {\n label: \"Solo-prenour\",\n value: \"solo-prenour\"\n },\n {\n label: \"Student\",\n value: \"student\"\n }\n] as const\n\nexport const IsValidUserRole = v.pipe(\n v.string(),\n v.picklist(\n ValidJobRoleGroup.map((item) => item.value),\n \"Please select an option that best describes your role.\"\n )\n)\n\nexport const ValidGcServiceOptions = [\n { label: \"Full Marketing Services\", value: \"Full Marketing Services\" },\n {\n label: \"Graphic Design / Marketing Design\",\n value: \"Graphic Design / Marketing Design\"\n },\n { label: \"Text Message Marketing\", value: \"Text Message Marketing\" },\n { label: \"Email Marketing\", value: \"Email Marketing\" },\n { label: \"Video Production\", value: \"Video Production\" },\n { label: \"Website Production\", value: \"Website Production\" },\n { label: \"Marketing Automation Software\", value: \"Marketing Automation Software\" },\n { label: \"Online Advertising\", value: \"Online Advertising\" },\n { label: \"Influencer Marketing\", value: \"Influencer Marketing\" }\n] as const\n\nexport const ValidGcVideoServiceOptions = [\n { label: \"Storyboarding\", value: \"Storyboarding\" },\n { label: \"Voiceovers\", value: \"Voiceovers\" },\n { label: \"Video Commercials / Interviews\", value: \"Video Commercials / Interviews\" },\n {\n label: \"Short Form Video Editing (social posts/stories)\",\n value: \"Short Form Video Editing (social posts/stories)\"\n },\n { label: \"Product Tours\", value: \"Product Tours\" },\n { label: \"Model Home / Community Tours\", value: \"Model Home / Community Tours\" },\n { label: \"Matterport Interactive Tours\", value: \"Matterport Interactive Tours\" },\n { label: \"3D Flyover Videos\", value: \"3D Flyover Videos\" }\n] as const\n\nexport const ValidGcDesiredContentOptions = [\n { label: \"Blog Posts\", value: \"Blog Posts\" },\n { label: \"Podcasting\", value: \"Podcasting\" },\n { label: \"Live Streams\", value: \"Live Streams\" },\n { label: \"Newsletters\", value: \"Newsletters\" },\n { label: \"Freebies / Toolkits\", value: \"Freebies / Toolkits\" },\n { label: \"Community Updates\", value: \"Community Updates\" }\n] as const\n\nexport const ValidRatingRange5 = [\n { label: \"1\", value: \"1\" },\n { label: \"2\", value: \"2\" },\n { label: \"3\", value: \"3\" },\n { label: \"4\", value: \"4\" },\n { label: \"5\", value: \"5\" }\n] as const\n\n// cost\nexport const IsValidCost = v.pipe(\n v.number(\"please enter a cost value\"),\n v.minValue(0),\n v.maxValue(\n 1000000,\n \"your campaign cost exceeds our $1 million dollar limit, please contact us for customized solutions\"\n )\n)\nexport const IsValidOrUndefinedCost = v.undefinedable(IsValidCost)\n\n// label\nexport const IsValidLabel = v.pipe(\n v.string(\"please provide a label\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the label is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the label is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n )\n)\nexport const IsValidOrUndefinedLabel = v.undefinedable(IsValidLabel)\n\n// value\nexport const IsValidValue = v.pipe(\n v.string(\"please provide a value\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the value is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the value is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `the value ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedValue = v.undefinedable(IsValidValue)\n\n// description (optional)\nexport const IsValidDescription = v.nullable(\n v.pipe(\n v.string(\"the description must be a string\"),\n v.trim(),\n v.maxLength(\n LIMIT_MAX_DESCRIPTION,\n `the description is too long, it must be ${LIMIT_MAX_DESCRIPTION} characters or less`\n )\n )\n)\nexport const IsValidOrUndefinedDescription = v.undefinedable(IsValidDescription)\n\n// is_active\nexport const IsValidIsActive = v.boolean(\"isActive must be a boolean\")\nexport const IsValidOrUndefinedIsActive = v.undefinedable(IsValidIsActive)\n\n// is_secure\nexport const IsValidIsSecure = v.boolean(\"isSecure must be a boolean\")\nexport const IsValidOrUndefinedIsSecure = v.undefinedable(IsValidIsSecure)\n\n// generic name\nexport const IsValidName = v.pipe(\n v.string(\"please provide a name\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_NAME,\n `the name is too short, it must be at least ${LIMIT_MIN_NAME} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the name is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n )\n)\nexport const IsValidOrUndefinedName = v.undefinedable(IsValidName)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_DOMAIN,\n LIMIT_MAX_DESTINATION,\n LIMIT_MAX_DOMAIN,\n LIMIT_MAX_FRAGMENT,\n LIMIT_MAX_PATH,\n LIMIT_MAX_QUERY,\n LIMIT_MIN_DESTINATION,\n LIMIT_MIN_DOMAIN,\n LIMIT_MIN_FRAGMENT,\n LIMIT_MIN_PATH,\n LIMIT_MIN_QUERY,\n REGEX_DOMAIN\n} from \"../constants\"\n\n// destination\nexport const IsValidUrlDestination = v.pipe(\n v.string(\"please provide a url destination\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_DESTINATION,\n `the url destination is too short, it must be at least ${LIMIT_MIN_DESTINATION} characters`\n ),\n v.maxLength(\n LIMIT_MAX_DESTINATION,\n `the url destination is too long, it must be ${LIMIT_MAX_DESTINATION} characters or less`\n ),\n v.url(\"please provide a valid url\")\n)\nexport const IsValidOrUndefinedUrlDestination = v.undefinedable(IsValidUrlDestination)\n\n// protocol\nexport const IsValidUrlProtocol = v.picklist(\n [\"http\", \"https\"],\n \"please provide a valid url protocol\"\n)\nexport const IsValidOrUndefinedUrlProtocol = v.undefinedable(IsValidUrlProtocol)\n\n// domain\nexport const IsValidUrlDomain = v.pipe(\n v.string(\"please provide a domain\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_DOMAIN,\n `the domain is too short, it must be at least ${LIMIT_MIN_DOMAIN} characters`\n ),\n v.maxLength(\n LIMIT_MAX_DOMAIN,\n `the domain is too long, it must be ${LIMIT_MAX_DOMAIN} characters or less`\n ),\n v.regex(REGEX_DOMAIN, ERROR_MESSAGE_REGEX_DOMAIN)\n)\nexport const IsValidOrUndefinedUrlDomain = v.undefinedable(IsValidUrlDomain)\n\n// path\nexport const IsValidUrlPath = v.pipe(\n v.string(\"please provide a url path\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_PATH,\n `the url path is too short, it must be at least ${LIMIT_MIN_PATH} characters`\n ),\n v.maxLength(\n LIMIT_MAX_PATH,\n `the url path is too long, it must be ${LIMIT_MAX_PATH} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlPath = v.undefinedable(IsValidUrlPath)\n\n// query\nexport const IsValidUrlQuery = v.pipe(\n v.string(\"please provide a url query\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_QUERY,\n `the url query is too short, it must be at least ${LIMIT_MIN_QUERY} characters`\n ),\n v.maxLength(\n LIMIT_MAX_QUERY,\n `the url query is too long, it must be ${LIMIT_MAX_QUERY} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlQuery = v.undefinedable(IsValidUrlQuery)\n\n// fragment\nexport const IsValidUrlFragment = v.pipe(\n v.string(\"please provide a url hash/fragment\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_FRAGMENT,\n `the url hash/fragment is too short, it must be at least ${LIMIT_MIN_FRAGMENT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_FRAGMENT,\n `the url hash/fragment is too long, it must be ${LIMIT_MAX_FRAGMENT} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlFragment = v.undefinedable(IsValidUrlFragment)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_MAX_EMAIL,\n LIMIT_MAX_PASSWORD,\n LIMIT_MAX_PROVIDER,\n LIMIT_MAX_USERNAME,\n LIMIT_MIN_EMAIL,\n LIMIT_MIN_PASSWORD,\n LIMIT_MIN_USERNAME,\n REGEX_UTM_VALUE\n} from \"../constants\"\n\nexport const IsValidUsername = v.pipe(\n v.string(\"please provide a username\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_USERNAME,\n `your username is too short, it must be at least ${LIMIT_MIN_USERNAME} characters`\n ),\n v.maxLength(\n LIMIT_MAX_USERNAME,\n `your username is too long, it must be ${LIMIT_MAX_USERNAME} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `your username ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUsername = v.undefinedable(IsValidUsername)\n\nexport const IsValidUserEmail = v.pipe(\n v.string(\"please provide an email\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_EMAIL,\n `your email is too short, it must be at least ${LIMIT_MIN_EMAIL} characters`\n ),\n v.maxLength(\n LIMIT_MAX_EMAIL,\n `your email is too long, it must be ${LIMIT_MAX_EMAIL} characters or less`\n ),\n v.email(\"please provide a valid email address\")\n)\nexport const IsValidOrUndefinedUserEmail = v.undefinedable(IsValidUserEmail)\n\nexport const IsValidPassword = v.pipe(\n v.string(\"a password is required\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_PASSWORD,\n `your password is too short, it must be at least ${LIMIT_MIN_PASSWORD} characters`\n ),\n v.maxLength(\n LIMIT_MAX_PASSWORD,\n `your password is too long, it must be ${LIMIT_MAX_PASSWORD} characters or less`\n )\n)\nexport const IsValidOrUndefinedPassword = v.undefinedable(IsValidPassword)\n\nexport const IsValidProvider = v.pipe(\n v.string(\"please enter a provider\"),\n v.trim(),\n v.maxLength(\n LIMIT_MAX_PROVIDER,\n `the provider string is too long, it must be ${LIMIT_MAX_PROVIDER} characters or less`\n )\n)\nexport const IsValidOrUndefinedProvider = v.undefinedable(IsValidProvider)\n\nexport const IsValidConfirmed = v.boolean()\nexport const IsValidOrUndefinedConfirmed = v.undefinedable(IsValidConfirmed)\n\nexport const IsValidBlocked = v.boolean()\nexport const IsValidOrUndefinedBlocked = v.undefinedable(IsValidBlocked)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_MAX_UTM_CAMPAIGN,\n LIMIT_MAX_UTM_CONTENT,\n LIMIT_MAX_UTM_CREATIVE_FORMAT,\n LIMIT_MAX_UTM_ID,\n LIMIT_MAX_UTM_MEDIUM,\n LIMIT_MAX_UTM_SOURCE,\n LIMIT_MAX_UTM_TERM,\n LIMIT_MIN_UTM_CAMPAIGN,\n LIMIT_MIN_UTM_CONTENT,\n LIMIT_MIN_UTM_CREATIVE_FORMAT,\n LIMIT_MIN_UTM_ID,\n LIMIT_MIN_UTM_MEDIUM,\n LIMIT_MIN_UTM_SOURCE,\n LIMIT_MIN_UTM_TERM,\n REGEX_UTM_VALUE\n} from \"../constants\"\n\n// utm_source\nexport const IsValidUrlUtmSource = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_SOURCE,\n `the utm_source is too short, it must be at least ${LIMIT_MIN_UTM_SOURCE} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_SOURCE,\n `the utm_source is too long, it must be ${LIMIT_MAX_UTM_SOURCE} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_source ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmSource = v.undefinedable(IsValidUrlUtmSource)\n\n// utm_medium\nexport const IsValidUrlUtmMedium = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_MEDIUM,\n `the utm_medium is too short, it must be at least ${LIMIT_MIN_UTM_MEDIUM} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_MEDIUM,\n `the utm_medium is too long, it must be ${LIMIT_MAX_UTM_MEDIUM} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_medium ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmMedium = v.undefinedable(IsValidUrlUtmMedium)\n\n// utm_campaign\nexport const IsValidUrlUtmCampaign = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CAMPAIGN,\n `the utm_campaign is too short, it must be at least ${LIMIT_MIN_UTM_CAMPAIGN} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CAMPAIGN,\n `the utm_campaign is too long, it must be ${LIMIT_MAX_UTM_CAMPAIGN} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_campaign ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmCampaign = v.undefinedable(IsValidUrlUtmCampaign)\n\n// utm_creative_format\nexport const IsValidUrlUtmCreativeFormat = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CREATIVE_FORMAT,\n `the utm_creative_format is too short, it must be at least ${LIMIT_MIN_UTM_CREATIVE_FORMAT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CREATIVE_FORMAT,\n `the utm_creative_format is too long, it must be ${LIMIT_MAX_UTM_CREATIVE_FORMAT} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_creative_format ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmCreativeFormat = v.undefinedable(\n IsValidUrlUtmCreativeFormat\n)\n\n// utm_content\nexport const IsValidUrlUtmContent = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CONTENT,\n `the utm_content is too short, it must be at least ${LIMIT_MIN_UTM_CONTENT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CONTENT,\n `the utm_content is too long, it must be ${LIMIT_MAX_UTM_CONTENT} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_content ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmContent = v.undefinedable(IsValidUrlUtmContent)\n\n// utm_term\nexport const IsValidUrlUtmTerm = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_TERM,\n `the utm_term is too short, it must be at least ${LIMIT_MIN_UTM_TERM} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_TERM,\n `the utm_term is too long, it must be ${LIMIT_MAX_UTM_TERM} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_term ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmTerm = v.undefinedable(IsValidUrlUtmTerm)\n\n// utm_id\nexport const IsValidUrlUtmId = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_ID,\n `the utm_id is too short, it must be at least ${LIMIT_MIN_UTM_ID} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_ID,\n `the utm_id is too long, it must be ${LIMIT_MAX_UTM_ID} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_id ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmId = v.undefinedable(IsValidUrlUtmId)\n","import * as v from \"valibot\"\nimport {\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE,\n LIMIT_CLIENT_PAGINATION_MAX_SIZE\n} from \"../constants\"\nimport { ClientProjectStatusOptions } from \"../types\"\nimport { IsValidReferenceDocumentId, IsValidShortString } from \"../validators\"\n\nexport const QueryStrapiSearchClientProjects = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(1), v.maxValue(LIMIT_CLIENT_PAGINATION_MAX_SIZE)),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n title: v.optional(IsValidShortString),\n slug: v.optional(IsValidShortString),\n project_status: v.optional(v.picklist(ClientProjectStatusOptions)),\n clientId: v.optional(IsValidReferenceDocumentId)\n})\n\nexport type QueryStrapiSearchClientProjects = v.InferOutput<\n typeof QueryStrapiSearchClientProjects\n>\n","import * as v from \"valibot\"\nimport {\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE,\n LIMIT_CLIENT_PAGINATION_MAX_SIZE\n} from \"../constants\"\nimport { IsValidShortString } from \"../validators\"\n\nexport const QueryStrapiSearchClients = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(1), v.maxValue(LIMIT_CLIENT_PAGINATION_MAX_SIZE)),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n title: v.optional(IsValidShortString),\n teamwork_id: v.optional(IsValidShortString),\n teamwork_name: v.optional(IsValidShortString),\n utm_sheet_id: v.optional(IsValidShortString),\n allow_create_utm_link: v.optional(v.boolean()),\n classification: v.optional(v.picklist([\"organic\", \"paid\"])),\n is_featured: v.optional(v.boolean()),\n is_active: v.optional(v.boolean()),\n is_organic_social: v.optional(v.boolean()),\n is_paid_media: v.optional(v.boolean())\n})\n\nexport type QueryStrapiSearchClients = v.InferOutput<typeof QueryStrapiSearchClients>\n","import * as v from \"valibot\"\nimport { LIMIT_PAGINATION_DEFAULT_SIZE, LIMIT_PAGINATION_MAX_SIZE } from \"../constants\"\nimport {\n IsValidReferenceDocumentId,\n IsValidReferenceId,\n IsValidShortString,\n IsValidUserEmail,\n IsValidUserPhoneRequired\n} from \"../validators\"\n\n// Paginated Query\nexport const QueryStrapiPaginated = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(1), v.maxValue(LIMIT_PAGINATION_MAX_SIZE)),\n LIMIT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiPaginated = v.InferOutput<typeof QueryStrapiPaginated>\n\n// Query by: ID, Document ID\nexport const QueryStrapiById = v.object({\n id: IsValidReferenceId\n})\nexport type QueryStrapiById = v.InferOutput<typeof QueryStrapiById>\n\nexport const QueryStrapiByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type QueryStrapiByDocumentId = v.InferOutput<typeof QueryStrapiByDocumentId>\n\n// Query by: Slug, Email, Phone, or Name\nexport const QueryStrapiBySlug = v.object({\n slug: IsValidShortString\n})\nexport type QueryStrapiBySlug = v.InferOutput<typeof QueryStrapiBySlug>\n\nexport const QueryStrapiByEmail = v.object({\n email: IsValidUserEmail\n})\nexport type QueryStrapiByEmail = v.InferOutput<typeof QueryStrapiByEmail>\n\nexport const QueryStrapiByPhone = v.object({\n phone: IsValidUserPhoneRequired\n})\nexport type QueryStrapiByPhone = v.InferOutput<typeof QueryStrapiByPhone>\n\nexport const QueryStrapiByName = v.object({\n name: IsValidShortString\n})\nexport type QueryStrapiByName = v.InferOutput<typeof QueryStrapiByName>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidCompanyName,\n IsValidFirstName,\n IsValidLastName,\n IsValidProductInterest,\n IsValidRefPage,\n IsValidUserConsent,\n IsValidUserEmail,\n IsValidUserMessage,\n IsValidUserPhoneRequired,\n IsValidUserTitle\n} from \"../validators\"\n\nexport const SCreateLead = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhoneRequired,\n company: IsValidCompanyName,\n title: IsValidUserTitle,\n message: IsValidUserMessage,\n product_interest: IsValidProductInterest,\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SCreateLead = v.InferOutput<typeof SCreateLead>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidUserConsent,\n IsValidUserEmail\n} from \"../validators\"\n\nexport const SCreateNewsletterSignup = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n // hidden fields\n email_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SCreateNewsletterSignup = v.InferOutput<typeof SCreateNewsletterSignup>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFileReferenceId,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidResumeFile,\n IsValidShortString,\n IsValidStringSepListOfUrlsOrUndefined,\n IsValidUserConsent,\n IsValidUserEmail,\n IsValidUserMessage,\n IsValidUserPhone\n} from \"../validators\"\n\nexport const SCreateResume = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidResumeFile, // File object\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SCreateResume = v.InferOutput<typeof SCreateResume>\n\nexport const SCreateResumeInfo = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidFileReferenceId, // File reference ID\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SCreateResumeInfo = v.InferOutput<typeof SCreateResumeInfo>\n\nexport const SUpdateResumeInfo = v.object({\n documentId: IsValidShortString,\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidFileReferenceId, // File reference ID\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SUpdateResumeInfo = v.InferOutput<typeof SUpdateResumeInfo>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidShortString,\n IsValidUserConsent,\n IsValidUserEmail\n} from \"../validators\"\n\nexport const SharpSpringSignUpToDownload = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n // hidden fields\n download_key: IsValidShortString,\n email_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SharpSpringSignUpToDownload = v.InferOutput<\n typeof SharpSpringSignUpToDownload\n>\n","import * as v from \"valibot\"\n\nexport const SUpdateTrendsLikes = v.object({\n documentId: v.string(),\n likes: v.number()\n})\n\nexport type SUpdateTrendsLikes = v.InferOutput<typeof SUpdateTrendsLikes>\n","import * as v from \"valibot\"\nimport {\n LIMIT_BLOG_POST_PAGINATION_MAX_SIZE,\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n} from \"../constants\"\n\nexport const QueryStrapiPaginatedUrlRedirects = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_BLOG_POST_PAGINATION_MAX_SIZE)\n ),\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n )\n})\n\nexport type QueryStrapiPaginatedUrlRedirects = v.InferOutput<\n typeof QueryStrapiPaginatedUrlRedirects\n>\n\nexport const QueryStrapiUrlRedirectsByFrom = v.object({\n from: v.string()\n})\n\nexport type QueryStrapiUrlRedirectsByFrom = v.InferOutput<\n typeof QueryStrapiUrlRedirectsByFrom\n>\n","import * as v from \"valibot\"\nimport {\n IsValidFirstName,\n IsValidLastName,\n IsValidPreferredName,\n IsValidReferenceDocumentId,\n IsValidReferenceId\n} from \"../validators\"\n\n// READ\nexport const SReadUserAccountById = v.object({\n id: IsValidReferenceId\n})\nexport type SReadUserAccountById = v.InferOutput<typeof SReadUserAccountById>\n\nexport const SReadUserAccountByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SReadUserAccountByDocumentId = v.InferOutput<\n typeof SReadUserAccountByDocumentId\n>\n\n// UPDATE\nexport const SUpdateUserAccount = v.object({\n documentId: IsValidReferenceDocumentId,\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n preferred_name: IsValidPreferredName\n})\nexport type SUpdateUserAccount = v.InferOutput<typeof SUpdateUserAccount>\n\nexport const SUpdateUserAccountFirstName = v.object({\n documentId: IsValidReferenceDocumentId,\n first_name: IsValidFirstName\n})\nexport type SUpdateUserAccountFirstName = v.InferOutput<\n typeof SUpdateUserAccountFirstName\n>\n\nexport const SUpdateUserAccountLastName = v.object({\n documentId: IsValidReferenceDocumentId,\n last_name: IsValidLastName\n})\nexport type SUpdateUserAccountLastName = v.InferOutput<\n typeof SUpdateUserAccountLastName\n>\n\nexport const SUpdateUserAccountPreferredName = v.object({\n documentId: IsValidReferenceDocumentId,\n preferred_name: IsValidPreferredName\n})\nexport type SUpdateUserAccountPreferredName = v.InferOutput<\n typeof SUpdateUserAccountPreferredName\n>\n","import * as v from \"valibot\"\nimport { IsValidPassword, IsValidUserEmail, IsValidUsername } from \"../validators\"\n\n// JWT\nexport const SUserToken = v.object({\n token: v.string()\n})\nexport type SUserToken = v.InferOutput<typeof SUserToken>\n\n// AUTH LOCAL\n// LOGIN\nexport const SLoginUser = v.object({\n identifier: IsValidUserEmail,\n password: IsValidPassword\n})\nexport type SLoginUser = v.InferOutput<typeof SLoginUser>\n\n// REGISTER\nexport const SRegisterUser = v.object({\n username: IsValidUsername,\n email: IsValidUserEmail,\n password: IsValidPassword\n})\nexport type SRegisterUser = v.InferOutput<typeof SRegisterUser>\n\n// FORGOT PASSWORD\nexport const SForgotUserPassword = v.object({\n email: IsValidUserEmail\n})\nexport type SForgotUserPassword = v.InferOutput<typeof SForgotUserPassword>\n\n// REQUEST CONFIRM EMAIL\nexport const SRequestConfirmEmail = v.object({\n email: IsValidUserEmail\n})\nexport type SRequestConfirmEmail = v.InferOutput<typeof SRequestConfirmEmail>\n\n// RESET PASSWORD\nexport const SResetUserPassword = v.object({\n password: IsValidPassword,\n passwordConfirmation: IsValidPassword,\n code: v.string()\n})\nexport type SResetUserPassword = v.InferOutput<typeof SResetUserPassword>\n\n// CHANGE PASSWORD\nexport const SChangePassword = v.pipe(\n v.object({\n currentPassword: IsValidPassword,\n password: IsValidPassword,\n passwordConfirmation: IsValidPassword\n }),\n v.forward(\n v.partialCheck(\n [[\"password\"], [\"passwordConfirmation\"]],\n (input) => input.password === input.passwordConfirmation,\n \"Your new passwords do not match.\"\n ),\n [\"passwordConfirmation\"]\n )\n)\nexport type SChangePassword = v.InferOutput<typeof SChangePassword>\n\n// AUTH PROVIDER\n// Auth Provider Token\nexport const SAuthRawAccessToken = v.object({\n access_token: v.optional(v.string()),\n expires_in: v.optional(v.number()),\n scope: v.optional(v.string()),\n token_type: v.optional(v.string()),\n id_token: v.optional(v.string())\n})\nexport type SAuthRawAccessToken = v.InferOutput<typeof SAuthRawAccessToken>\n\n// Auth Connect Provider Redirect Search\nexport const SAuthConnectProviderRedirectSearch = v.object({\n id_token: v.string(),\n access_token: v.string(),\n raw: v.optional(SAuthRawAccessToken)\n})\nexport type SAuthConnectProviderRedirectSearch = v.InferOutput<\n typeof SAuthConnectProviderRedirectSearch\n>\n\n// Auth Connect Provider Confirmation\nexport const SAuthConnectProviderConfirmation = v.object({\n provider: v.string(),\n search: SAuthConnectProviderRedirectSearch\n})\nexport type SAuthConnectProviderConfirmation = v.InferOutput<\n typeof SAuthConnectProviderConfirmation\n>\n","import * as v from \"valibot\"\nimport {\n LIMIT_SHORT_STRING_MAX_LENGTH,\n LIMIT_USER_PAGINATION_DEFAULT_SIZE,\n LIMIT_USER_PAGINATION_MAX_SIZE\n} from \"../constants\"\nimport { IsValidReferenceDocumentId, IsValidReferenceId } from \"../validators\"\n\n// LIST\nexport const QueryStrapiUsers = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(3), v.maxValue(LIMIT_USER_PAGINATION_MAX_SIZE)),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiUsers = v.InferOutput<typeof QueryStrapiUsers>\n\nexport const QueryStrapiUsersByIdentifier = v.object({\n identifier: v.pipe(v.string(), v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH)),\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(3), v.maxValue(LIMIT_USER_PAGINATION_MAX_SIZE)),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiUsersByIdentifier = v.InferOutput<\n typeof QueryStrapiUsersByIdentifier\n>\n\n// READ\nexport const SReadUserById = v.object({\n id: IsValidReferenceId\n})\nexport type SReadUserById = v.InferOutput<typeof SReadUserById>\n\nexport const SReadUserByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SReadUserByDocumentId = v.InferOutput<typeof SReadUserByDocumentId>\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_MIN_VALUE,\n LIMIT_SHORT_STRING_MAX_LENGTH,\n REGEX_UTM_VALUE\n} from \"../constants\"\nimport { IsValidDestinationUrl, IsValidReferenceDocumentId } from \"../validators\"\n\nexport const SUtmLinkBuilderPartCampaignDateOptions = [\n \"annually\",\n \"quarterly\",\n \"monthly\",\n \"on a specific date\",\n \"no date\"\n] as const\n\nexport type SUtmLinkBuilderPartCampaignDateValue =\n (typeof SUtmLinkBuilderPartCampaignDateOptions)[number]\n\nexport const SUtmLinkBuilderTableForm = v.object({\n creator: IsValidReferenceDocumentId,\n client: IsValidReferenceDocumentId,\n url_destinations: v.pipe(\n v.array(IsValidDestinationUrl),\n v.minLength(1, \"Please provide at least one destination URL.\"),\n v.maxLength(100, \"You can provide up to 100 destination URLs.\")\n ),\n sources: v.pipe(\n v.array(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This source value is too long.\")\n )\n ),\n v.minLength(1, \"Please select at least one source.\"),\n v.maxLength(10, \"You can select up to 10 sources.\")\n ),\n mediums: v.pipe(\n v.array(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This medium value is too long.\")\n )\n ),\n v.minLength(1, \"Please select at least one medium.\"),\n v.maxLength(10, \"You can select up to 10 mediums.\")\n ),\n campaign: v.object({\n campaign_phase: v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This medium value is too long.\")\n ),\n campaign_product: v.optional(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This medium value is too long.\")\n )\n ),\n campaign_targeting: v.optional(\n v.pipe(\n v.array(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This value is too long.\")\n )\n ),\n v.minLength(1, \"Please select at least one targeting option.\"),\n v.maxLength(10, \"You can select up to 10 targeting options.\"),\n v.transform((value) => value.join(\",\"))\n )\n ),\n campaign_key: v.optional(\n v.pipe(\n v.string(\"please provide a value\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the value is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the value is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `the value ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n )\n ),\n campaign_date: v.object({\n format: v.picklist(\n SUtmLinkBuilderPartCampaignDateOptions,\n \"Please select a valid campaign date format.\"\n ),\n value: v.object({\n year: v.number(),\n quarter: v.optional(v.number()),\n month: v.optional(v.number()),\n day: v.optional(v.number())\n })\n })\n }),\n contents: v.optional(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This content value is too long.\")\n )\n ),\n creative_formats: v.pipe(\n v.array(\n v.object({\n creative_format: v.optional(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n \"This creative format value is too long.\"\n )\n )\n ),\n creative_format_variants: v.optional(\n v.array(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n \"This creative variant value is too long.\"\n )\n )\n )\n )\n })\n ),\n v.minLength(1, \"Please select at least one creative format.\"),\n v.maxLength(10, \"You can select up to 10 creative formats.\")\n ),\n id: v.optional(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This ID value is too long.\")\n )\n ),\n notes: v.optional(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This notes value is too long.\")\n )\n )\n})\n\nexport type SUtmLinkBuilderTableForm = v.InferOutput<typeof SUtmLinkBuilderTableForm>\n","import * as v from \"valibot\"\nimport {\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE,\n LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE\n} from \"../constants\"\nimport {\n IsValidDestinationUrl,\n IsValidIsActive,\n IsValidLongStringOrUndefined,\n IsValidReferenceDocumentId,\n IsValidShortString,\n IsValidShortStringOrUndefined,\n IsValidStringListOrUndefined,\n IsValidUrl,\n IsValidUrlUtmCampaign,\n IsValidUrlUtmContent,\n IsValidUrlUtmCreativeFormat,\n IsValidUrlUtmId,\n IsValidUrlUtmMedium,\n IsValidUrlUtmSource,\n IsValidUtmCampaignKeyNameOrUndefined,\n IsValidUtmLink\n} from \"../validators\"\n\n// LIST\nexport const QueryStrapiSearchUtmTrackingLinks = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE)\n ),\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE\n ),\n url_destination: v.optional(IsValidDestinationUrl),\n utm_medium: v.optional(IsValidUrlUtmMedium),\n utm_source: v.optional(IsValidUrlUtmSource),\n utm_campaign: v.optional(IsValidUrlUtmCampaign),\n utm_content: v.optional(IsValidUrlUtmContent),\n utm_creative_format: v.optional(IsValidUrlUtmCreativeFormat),\n utm_id: v.optional(IsValidUrlUtmId),\n campaign_phase: v.optional(IsValidShortString),\n campaign_product: v.optional(IsValidShortString),\n campaign_targeting: v.optional(IsValidShortString),\n campaign_key: v.optional(IsValidShortString),\n creative_format: v.optional(IsValidShortString),\n creative_format_variants: v.optional(v.array(IsValidShortString)),\n url: v.optional(IsValidUrl),\n is_active: v.optional(v.boolean()),\n notes: v.optional(IsValidShortString)\n})\n\nexport type QueryStrapiSearchUtmTrackingLinks = v.InferOutput<\n typeof QueryStrapiSearchUtmTrackingLinks\n>\n\n// CREATE\nexport const SCreateUtmTrackingLinkDocument = v.object({\n creator: IsValidReferenceDocumentId,\n client: IsValidReferenceDocumentId,\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined\n})\nexport type SCreateUtmTrackingLinkDocumentInput = v.InferInput<\n typeof SCreateUtmTrackingLinkDocument\n>\nexport type SCreateUtmTrackingLinkDocument = v.InferOutput<\n typeof SCreateUtmTrackingLinkDocument\n>\n\nexport const SCreateUtmTrackingLinkParts = v.object({\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined\n})\nexport type SCreateUtmTrackingLinkParts = v.InferOutput<\n typeof SCreateUtmTrackingLinkParts\n>\n\nexport const SFormCreateMultipleUtmTrackingLinkDocuments = v.object({\n creator: IsValidReferenceDocumentId,\n client: IsValidReferenceDocumentId,\n links: v.pipe(\n v.array(SCreateUtmTrackingLinkParts),\n v.minLength(1, \"You must provide at least one link to create.\"),\n v.maxLength(100, \"You can create a maximum of 100 links at once.\")\n )\n})\nexport type SFormCreateMultipleUtmTrackingLinkDocuments = v.InferInput<\n typeof SFormCreateMultipleUtmTrackingLinkDocuments\n>\n\n// READ\nexport const SReadUtmTrackingLinkDocumentByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SReadUtmTrackingLinkDocumentByDocumentId = v.InferOutput<\n typeof SReadUtmTrackingLinkDocumentByDocumentId\n>\n\nexport const SReadUtmTrackingLinkDocumentByUrl = v.object({\n url: IsValidUtmLink\n})\nexport type SReadUtmTrackingLinkDocumentByUrl = v.InferOutput<\n typeof SReadUtmTrackingLinkDocumentByUrl\n>\n\n// UPDATE\nexport const SUpdateUtmTrackingLinkDocument = v.object({\n creator: v.optional(IsValidReferenceDocumentId),\n client: v.optional(IsValidReferenceDocumentId),\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined\n})\nexport type SUpdateUtmTrackingLinkDocument = v.InferOutput<\n typeof SUpdateUtmTrackingLinkDocument\n>\n\nexport const SUpdateUtmTrackingLinkDocumentRequest = v.object({\n documentId: IsValidReferenceDocumentId,\n data: SUpdateUtmTrackingLinkDocument\n})\nexport type SUpdateUtmTrackingLinkDocumentRequest = v.InferOutput<\n typeof SUpdateUtmTrackingLinkDocumentRequest\n>\n\n// DELETE\nexport const SDeleteUtmTrackingLinkDocument = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SDeleteUtmTrackingLinkDocument = v.InferOutput<\n typeof SDeleteUtmTrackingLinkDocument\n>\n","import * as v from \"valibot\"\n\ntype ValidateAndCleanSuccess<T> = {\n data: Partial<T>\n error: null\n errors: null\n}\n\ntype ValidateAndCleanFailure = {\n data: null\n error: string | null\n errors: Record<string, string> | null\n}\n\ntype ValidateAndCleanResult<T> = ValidateAndCleanSuccess<T> | ValidateAndCleanFailure\n\nexport function validateAndClean<T>(\n schema: v.BaseSchema<T, Partial<T>, v.BaseIssue<T>>,\n input: unknown\n): ValidateAndCleanResult<T> {\n try {\n const parsed = v.parse(schema, input)\n return { data: parsed, error: null, errors: null }\n } catch (err: unknown) {\n if (err instanceof v.ValiError) {\n const errors: Record<string, string> = {}\n for (const issue of err.issues) {\n const field = issue.path?.[0]?.key || \"unknown\"\n errors[field] = issue.message\n }\n return { data: null, error: null, errors }\n }\n let errorMessage = \"Unknown error\"\n if (err instanceof Error) {\n errorMessage = err.message\n } else {\n errorMessage = String(err)\n }\n return { data: null, error: errorMessage, errors: null }\n }\n}\n\nexport function isValidationSuccess<T>(\n result: ValidateAndCleanResult<T>\n): result is ValidateAndCleanSuccess<T> {\n return result.error === null && result.errors === null\n}\n\nexport function isValidationFailure<T>(\n result: ValidateAndCleanResult<T>\n): result is ValidateAndCleanFailure {\n return result.error !== null || result.errors !== null\n}\n\nexport function omitUndefined<T extends Record<string, any>>(obj: T): Partial<T> {\n const result: Partial<T> = {}\n for (const key in obj) {\n if (obj[key] !== undefined) {\n result[key] = obj[key]\n }\n }\n return result\n}\n","export function dateToday(): Date {\n const date = new Date()\n date.setHours(0, 0, 0, 0)\n return date\n}\n\nexport function datePlusDays(today: Date, days: number = 30): Date {\n const date = new Date(today)\n date.setDate(date.getDate() + days)\n date.setHours(23, 59, 59, 999)\n return date\n}\n"]}
1
+ {"version":3,"sources":["../src/constants/limits.constants.ts","../src/constants/pagination.constants.ts","../src/constants/permission.constants.ts","../src/constants/regex.constants.ts","../src/schemas/blog.schemas.ts","../src/types/documents/client-project.document.ts","../src/validators/validators-client-users.ts","../src/validators/validators-generics.ts","../src/validators/validators-forms.ts","../src/validators/validators-urls.ts","../src/validators/validators-users.ts","../src/validators/validators-utm-params.ts","../src/schemas/client-project.schemas.ts","../src/schemas/client.schemas.ts","../src/schemas/generic.schemas.ts","../src/schemas/lead.schemas.ts","../src/schemas/newsletter.schemas.ts","../src/schemas/resume.schemas.ts","../src/schemas/sharpspring.schemas.ts","../src/schemas/trend.schemas.ts","../src/schemas/url-redirect.schemas.ts","../src/schemas/user-account.schemas.ts","../src/schemas/user-auth.schemas.ts","../src/schemas/user.schemas.ts","../src/schemas/utm-link-builder.schemas.ts","../src/schemas/utm-tracking-link.schemas.ts","../src/utilities/utilities.ts","../src/utilities/utilities-datetime.ts"],"names":["v","v2","v3","v4","v5","v6","v7","v8","v9","v10","v11","v12","v13","v14","v15","v16","v17","v18","v19","v20","v21","v22","date"],"mappings":"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","file":"index.cjs","sourcesContent":["// Generics\nexport const LIMIT_MIN_VALUE = 1\nexport const LIMIT_MIN_NAME = 2\nexport const LIMIT_MAX_DESCRIPTION = 1024\nexport const LIMIT_SHORT_STRING_MAX_LENGTH = 255\nexport const LIMIT_MEDIUM_STRING_MAX_LENGTH = 500\nexport const LIMIT_LONG_STRING_MAX_LENGTH = 5000\n// Users\nexport const LIMIT_MIN_USERNAME = 3\nexport const LIMIT_MAX_USERNAME = 255\nexport const LIMIT_MIN_EMAIL = 5\nexport const LIMIT_MAX_EMAIL = 255\nexport const LIMIT_MIN_PASSWORD = 8\nexport const LIMIT_MAX_PASSWORD = 255\nexport const LIMIT_MAX_PROVIDER = 255\n// URLs\nexport const LIMIT_MIN_DESTINATION = 10\nexport const LIMIT_MAX_DESTINATION = 2048\nexport const LIMIT_MIN_DOMAIN = 10\nexport const LIMIT_MAX_DOMAIN = 253\nexport const LIMIT_MIN_PATH = 1\nexport const LIMIT_MAX_PATH = 2038\nexport const LIMIT_MIN_QUERY = 1\nexport const LIMIT_MAX_QUERY = 2038\nexport const LIMIT_MIN_FRAGMENT = 1\nexport const LIMIT_MAX_FRAGMENT = 2038\n// UTM Parameters\nexport const LIMIT_MIN_UTM_SOURCE = 1\nexport const LIMIT_MAX_UTM_SOURCE = 2026\nexport const LIMIT_MIN_UTM_MEDIUM = 1\nexport const LIMIT_MAX_UTM_MEDIUM = 2026\nexport const LIMIT_MIN_UTM_CAMPAIGN = 1\nexport const LIMIT_MAX_UTM_CAMPAIGN = 2024\nexport const LIMIT_MIN_UTM_CREATIVE_FORMAT = 1\nexport const LIMIT_MAX_UTM_CREATIVE_FORMAT = 2017\nexport const LIMIT_MIN_UTM_CONTENT = 1\nexport const LIMIT_MAX_UTM_CONTENT = 2025\nexport const LIMIT_MIN_UTM_TERM = 1\nexport const LIMIT_MAX_UTM_TERM = 2028\nexport const LIMIT_MIN_UTM_ID = 1\nexport const LIMIT_MAX_UTM_ID = 2030\n","// Generics\nexport const LIMIT_PAGINATION_DEFAULT_SIZE = 100\nexport const LIMIT_PAGINATION_MAX_SIZE = 10000\n// Entities\nexport const LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE = 6\nexport const LIMIT_BLOG_POST_PAGINATION_MAX_SIZE = 20\nexport const LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE = 16\nexport const LIMIT_CLIENT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_PRODUCT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE = 1000\nexport const LIMIT_REDIRECT_PAGINATION_MAX_SIZE = 10000\nexport const LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE = 20\nexport const LIMIT_TREND_PAGINATION_DEFAULT_SIZE = 7\nexport const LIMIT_TREND_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_USER_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_USER_PAGINATION_MAX_SIZE = 10\nexport const LIMIT_CATEGORIES_DEFAULT_SIZE = 100\nexport const LIMIT_CATEGORIES_MAX_SIZE = 1000\nexport const LIMIT_TAGS_DEFAULT_SIZE = 100\nexport const LIMIT_TAGS_MAX_SIZE = 1000\nexport const LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE = 1000\n","//\n/**\n * Example usage of ClientEntityScope type\n * @reference https://youtube.com/shorts/zOseJFD447U?si=xX8DYEHdl9YtN7S4\n *\n * > const validScope: ClientEntityScope = \"tracking-link:import\"; // ✅\n * > const invalidScope: ClientEntityScope = \"website:import\"; // ❌ Type error!\n */\n\nexport const CLIENT_ENTITY_PERMISSIONS = {\n \"client-project\": [\"list\", \"create\", \"read\", \"update\", \"delete\", \"export\", \"import\"],\n \"client-report\": [\"list\", \"create\", \"read\", \"update\", \"delete\", \"export\", \"import\"],\n \"utm-tracking-link\": [\n \"list\",\n \"create\",\n \"read\",\n \"update\",\n \"delete\",\n \"export\",\n \"import\"\n ]\n} as const\n\nexport type ClientEntityKey = keyof typeof CLIENT_ENTITY_PERMISSIONS\n\nexport type ClientEntityActions<K extends ClientEntityKey = ClientEntityKey> =\n (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]\n\ntype EntityActionJoin<K extends string, V extends string> = `${K}:${V}`\n\nexport type ClientEntityScope = {\n [K in ClientEntityKey]: EntityActionJoin<\n K,\n (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]\n >\n}[ClientEntityKey]\n\nexport const CLIENT_ENTITY_KEYS = Object.keys(\n CLIENT_ENTITY_PERMISSIONS\n) as ClientEntityKey[]\n\nexport const CLIENT_ENTITY_SCOPES: ClientEntityScope[] = Object.entries(\n CLIENT_ENTITY_PERMISSIONS\n).flatMap(([entity, actions]) =>\n actions.map((action) => `${entity}:${action}` as ClientEntityScope)\n)\n","export const ERROR_MESSAGE_REGEX_DOMAIN = \"please provide a valid domain name\"\nexport const REGEX_DOMAIN =\n /^(?=.{1,253}$)(?!-)((xn--)?[a-zA-Z0-9]{1,59}(-[a-zA-Z0-9]{1,62})?\\.)+([a-zA-Z]{2,63}|xn--[a-zA-Z0-9]{2,59})$/\n\nexport const ERROR_MESSAGE_REGEX_UTM_VALUE = `can only contain letters, numbers, and the special characters: - _ .`\nexport const REGEX_UTM_VALUE = /^[a-zA-Z0-9._-]+$/\n","import * as v from \"valibot\"\nimport {\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE,\n LIMIT_BLOG_POST_PAGINATION_MAX_SIZE\n} from \"../constants\"\n\nexport const QueryStrapiSearchBlogPosts = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_BLOG_POST_PAGINATION_MAX_SIZE)\n ),\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE\n ),\n search: v.optional(v.pipe(v.string(), v.maxLength(255)), \"\"),\n category: v.optional(v.pipe(v.string(), v.maxLength(100)), \"\"),\n tags: v.optional(v.array(v.pipe(v.string(), v.maxLength(100))), []),\n status: v.optional(v.picklist([\"draft\", \"published\"]))\n})\n\nexport type QueryStrapiSearchBlogPosts = v.InferOutput<\n typeof QueryStrapiSearchBlogPosts\n>\n\nexport const QueryStrapiSearchBlogPostsBySlug = v.object({\n slug: v.string(),\n status: v.optional(v.picklist([\"draft\", \"published\"]), \"published\")\n})\n\nexport type QueryStrapiSearchBlogPostsBySlug = v.InferOutput<\n typeof QueryStrapiSearchBlogPostsBySlug\n>\n","import type { BaseDocument, MediaUploadDocument } from \"../core\"\nimport type { ClientDocument } from \"./client.document\"\n\nexport const ClientProjectStatusOptions = [\n \"coming-soon\",\n \"now-open\",\n \"for-sale\",\n \"sold-out\",\n \"available\"\n]\nexport type ClientProjectStatus = (typeof ClientProjectStatusOptions)[number]\n\nexport type ClientProjectDocument = {\n title: string\n slug: string\n project_status: ClientProjectStatus[]\n clients?: ClientDocument[]\n featured_image?: MediaUploadDocument | null\n} & BaseDocument\n","import * as v from \"valibot\"\nimport { CLIENT_ENTITY_SCOPES } from \"../constants\"\n\nexport const IsValidGroupUserScopes = v.pipe(\n v.array(\n v.pipe(\n v.string(\"please provide a valid scope\"),\n v.picklist(CLIENT_ENTITY_SCOPES, \"invalid client scope provided\")\n ),\n \"please provide an array of scopes\"\n ),\n v.maxLength(\n CLIENT_ENTITY_SCOPES.length,\n \"you cannot provide more scopes than available\"\n )\n)\n","import * as v from \"valibot\"\nimport {\n LIMIT_LONG_STRING_MAX_LENGTH,\n LIMIT_SHORT_STRING_MAX_LENGTH\n} from \"../constants\"\n\n// reference id for relationships\nexport const IsValidReferenceId = v.number(\"please provide a valid id\")\n\nexport const IsValidReferenceDocumentId = v.pipe(\n v.string(\"please provide a valid document id\"),\n v.trim(),\n v.minLength(1, \"the document id is too short, it must be at least 1 character\"),\n v.maxLength(255, \"the document id is too long, it must be 255 characters or less\")\n)\n\n// dates\nexport const IsValidDateToday = v.pipe(\n v.date(),\n v.minValue(new Date()),\n v.transform((value) => value.toISOString())\n)\n\n// numbers\nexport const IsValidPositiveInteger = v.pipe(\n v.number(\"Please enter a number.\"),\n v.integer(\"Please enter a whole number.\"),\n v.minValue(1, \"Please enter a positive number.\")\n)\n\n// strings\nexport const InvalidShortStringMax = `The string you provided is too long, please abbreviate your string to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidShortString = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidShortStringMax)\n)\nexport const IsValidShortStringOrUndefined = v.optional(IsValidShortString)\n\nexport const InvalidLongStringOrUndefined = `The string you provided is too long, please abbreviate your string to be ${LIMIT_LONG_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidLongString = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined)\n)\nexport const IsValidLongStringOrUndefined = v.optional(IsValidLongString)\n\nexport const IsValidStringList = v.pipe(\n v.array(v.string()),\n v.transform((value) => value.join(\",\"))\n)\nexport const IsValidStringListOrUndefined = v.optional(IsValidStringList)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_LONG_STRING_MAX_LENGTH,\n LIMIT_MAX_DESCRIPTION,\n LIMIT_MAX_DESTINATION,\n LIMIT_MEDIUM_STRING_MAX_LENGTH,\n LIMIT_MIN_NAME,\n LIMIT_MIN_VALUE,\n LIMIT_SHORT_STRING_MAX_LENGTH,\n REGEX_UTM_VALUE\n} from \"../constants\"\nimport { InvalidLongStringOrUndefined } from \"./validators-generics\"\n\nexport const InvalidInputRobot = \"It appears you are a robot, please try again.\"\n\n// File Reference\nexport const IsValidFileReferenceId = v.object({\n id: v.number(),\n src: v.optional(v.string())\n})\n\n// names\nexport const InvalidFullName = \"Please enter your name.\"\nexport const InvalidFullNameMaxLength = `Your name is too long for our datanase, please abbreviate your name to be ${LIMIT_MEDIUM_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidFullName = v.pipe(\n v.string(InvalidFullName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidFullName),\n v.maxLength(LIMIT_MEDIUM_STRING_MAX_LENGTH, InvalidFullNameMaxLength),\n v.includes(\" \", \"Please enter your first and last name.\")\n)\n\nexport const InvalidFirstName = \"Please enter your first name.\"\nexport const InvalidFirstNameMaxLength = `Your first name is too long for our datanase, please abbreviate your first name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidFirstName = v.pipe(\n v.string(InvalidFirstName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidFirstName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidFirstNameMaxLength)\n)\n\nexport const InvalidLastName = \"Please enter your last name.\"\nexport const InvalidLastNameMaxLength = `Your last name is too long for our datanase, please abbreviate your last name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidLastName = v.pipe(\n v.string(InvalidLastName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidLastName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidLastNameMaxLength)\n)\n\nexport const InvalidPreferredName = \"Please enter your preferred name.\"\nexport const InvalidPreferredNameMaxLength = `Your preferred name is too long for our datanase, please abbreviate your preferred name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidPreferredName = v.pipe(\n v.string(InvalidPreferredName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidPreferredName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidPreferredNameMaxLength)\n)\n\nexport const IsValidUserConsent = v.boolean()\n\nexport const InvalidUserPhoneType = \"Please enter your phone number.\"\nexport const InvalidUserPhone = `The phone you provided does not appear to be a valid phone number.`\nexport const IsValidUserPhoneRequired = v.pipe(\n v.string(InvalidUserPhoneType),\n v.trim(),\n v.minLength(7, InvalidUserPhoneType),\n v.maxLength(15, InvalidUserPhone)\n)\nexport const IsValidUserPhone = v.optional(IsValidUserPhoneRequired)\n\nexport const InvalidCompanyName = \"Please enter your company name.\"\nexport const InvalidCompanyNameMaxLength = `The company name you provided is too long for our database, please abbreviate your company name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidCompanyNameRequired = v.pipe(\n v.string(InvalidCompanyName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidCompanyName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidCompanyNameMaxLength)\n)\nexport const IsValidCompanyName = v.optional(IsValidCompanyNameRequired)\n\nexport const InvalidUserTitle = \"Please enter your job title or reference.\"\nexport const InvalidUserTitleMaxLength = `The job title you provided is too long for our database, please abbreviate your company name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidUserTitleRequired = v.pipe(\n v.string(InvalidUserTitle),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidUserTitle),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidUserTitleMaxLength)\n)\nexport const IsValidUserTitle = v.optional(IsValidUserTitleRequired)\n\nexport const InvalidUserMessage = \"How can we be of service to your team?\"\nexport const InvalidUserMessageMaxLength = `The message you provided is too long for our database, please abbreviate your message to be ${LIMIT_LONG_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidUserMessage = v.optional(\n v.pipe(\n v.string(InvalidUserMessage),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidUserMessageMaxLength)\n )\n)\n\nexport const InvalidRefPageMaxLength = `The string you provided is too long for our database, please abbreviate your string to be ${LIMIT_MAX_DESTINATION} characters or less.`\nexport const IsValidRefPage = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_MAX_DESTINATION, InvalidRefPageMaxLength)\n)\n\nexport const InvalidProductInterestMaxLength = `The product interest provided is too long. It must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidProductInterest = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidProductInterestMaxLength)\n)\n\nexport const IsValidCaptchaToken = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined)\n)\n\nexport const InvalidInstrustryName = \"Please enter your industry.\"\nexport const InvalidInstrustryNameMaxLength = `The industry you provided is too long for our database, please abbreviate your industry to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidIndustryName = v.optional(\n v.pipe(\n v.string(InvalidInstrustryName),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidInstrustryNameMaxLength)\n )\n)\n\nexport const InvalidRangeValueOneToFive = `Please select a value between 1 and 5. (1 = Poor, 3 = Neutral, 5 = Excellent)`\nexport const IsValidRangeValueOneToFive = v.pipe(\n v.string(),\n v.picklist([\"1\", \"2\", \"3\", \"4\", \"5\"], InvalidRangeValueOneToFive)\n)\n\nexport const InvalidClientTermNumber = `Please provide how many months your team has used this product.`\nexport const InvalidClientTermMin = `We're sorry, you must be a client for at least 1 month to provide feedback.`\nexport const IsValidClientTerm = v.pipe(\n v.number(InvalidClientTermNumber),\n v.minValue(1, InvalidClientTermMin)\n)\n\nexport const IsValidUrl = v.pipe(\n v.string(),\n v.trim(),\n v.startsWith(\"http\", \"Please enter a valid URL starting with http or https.\"),\n v.url(\"Please enter a valid URL.\")\n)\nexport const IsValidUrlOrUndefined = v.optional(IsValidUrl)\n\nexport const IsValidUrlList = (input: string) => {\n if (input === \"\") return true\n const urls = input.split(\",\")\n if (urls.length > 0) {\n const truthy = []\n for (let i = 0; i < urls.length; i++) {\n const result = v.safeParse(IsValidUrl, urls[i])\n truthy.push(result.success)\n }\n return truthy.every((item) => item === true)\n }\n return false\n}\n\nexport const InvalidListOfUrls = \"Please enter a list of URLs separated by commas.\"\nexport const IsValidStringSepListOfUrls = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined),\n v.check(IsValidUrlList, InvalidListOfUrls)\n)\nexport const IsValidStringSepListOfUrlsOrUndefined = v.optional(\n IsValidStringSepListOfUrls\n)\n\nexport const InvalidDestinationUrl = \"Please remove any query parameters from the URL.\"\nexport const IsValidDestinationUrl = v.pipe(\n v.string(),\n v.trim(),\n v.url(\"Please enter a valid URL.\"),\n v.check((input: string) => {\n if (input === \"\") return false\n return input.indexOf(\"?\") === -1\n }, InvalidDestinationUrl)\n)\n\nexport const InvalidUtmLink = \"Please enter a valid URL with UTM parameters.\"\nexport const IsValidUtmLink = v.pipe(\n v.string(),\n v.trim(),\n v.url(\"Please enter a valid URL.\"),\n v.check((input: string) => {\n return input.includes(\"utm_\")\n }, InvalidUtmLink)\n)\n\nexport const IsValidUtmCampaignKeyName = v.pipe(\n v.string(\"please provide a value\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the value is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the value is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `the value ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidUtmCampaignKeyNameOrUndefined = v.optional(\n IsValidUtmCampaignKeyName\n)\n\nexport const InvalidCsvFileType = \"Please upload a CSV file.\"\nexport const IsValidCsvFile = v.optional(\n v.pipe(v.blob(), v.mimeType([\"text/csv\"], InvalidCsvFileType))\n)\n\nexport const InvalidResumeFileType = \"Please upload a PDF or Word document.\"\nexport const IsValidResumeFile = v.nullable(\n v.pipe(\n v.file(InvalidResumeFileType),\n v.mimeType([\"application/pdf\"], InvalidResumeFileType)\n )\n)\n\nexport const ValidNumberOfEmployeeOptions = [\n { label: \"0-10\", value: \"0-10\" },\n { label: \"11-20\", value: \"11-20\" },\n { label: \"21-50\", value: \"21-50\" },\n { label: \"51-100\", value: \"51-100\" },\n { label: \"101-500\", value: \"101-500\" },\n { label: \"501+\", value: \"501+\" }\n] as const\n\nexport const IsValidNumberOfEmployees = v.pipe(\n v.string(),\n v.picklist(\n ValidNumberOfEmployeeOptions.map((item) => item.value),\n \"Please select an option that best describes your team size.\"\n )\n)\n\nexport const ValidJobRoleGroup = [\n {\n label: \"Founder / Owner\",\n value: \"founder,owner\"\n },\n {\n label: \"C-suite Executive\",\n value: \"executive\"\n },\n {\n label: \"Vice President\",\n value: \"vice president\"\n },\n {\n label: \"Director\",\n value: \"director\"\n },\n {\n label: \"Manager\",\n value: \"manager\"\n },\n {\n label: \"Solo-prenour\",\n value: \"solo-prenour\"\n },\n {\n label: \"Student\",\n value: \"student\"\n }\n] as const\n\nexport const IsValidUserRole = v.pipe(\n v.string(),\n v.picklist(\n ValidJobRoleGroup.map((item) => item.value),\n \"Please select an option that best describes your role.\"\n )\n)\n\nexport const ValidGcServiceOptions = [\n { label: \"Full Marketing Services\", value: \"Full Marketing Services\" },\n {\n label: \"Graphic Design / Marketing Design\",\n value: \"Graphic Design / Marketing Design\"\n },\n { label: \"Text Message Marketing\", value: \"Text Message Marketing\" },\n { label: \"Email Marketing\", value: \"Email Marketing\" },\n { label: \"Video Production\", value: \"Video Production\" },\n { label: \"Website Production\", value: \"Website Production\" },\n { label: \"Marketing Automation Software\", value: \"Marketing Automation Software\" },\n { label: \"Online Advertising\", value: \"Online Advertising\" },\n { label: \"Influencer Marketing\", value: \"Influencer Marketing\" }\n] as const\n\nexport const ValidGcVideoServiceOptions = [\n { label: \"Storyboarding\", value: \"Storyboarding\" },\n { label: \"Voiceovers\", value: \"Voiceovers\" },\n { label: \"Video Commercials / Interviews\", value: \"Video Commercials / Interviews\" },\n {\n label: \"Short Form Video Editing (social posts/stories)\",\n value: \"Short Form Video Editing (social posts/stories)\"\n },\n { label: \"Product Tours\", value: \"Product Tours\" },\n { label: \"Model Home / Community Tours\", value: \"Model Home / Community Tours\" },\n { label: \"Matterport Interactive Tours\", value: \"Matterport Interactive Tours\" },\n { label: \"3D Flyover Videos\", value: \"3D Flyover Videos\" }\n] as const\n\nexport const ValidGcDesiredContentOptions = [\n { label: \"Blog Posts\", value: \"Blog Posts\" },\n { label: \"Podcasting\", value: \"Podcasting\" },\n { label: \"Live Streams\", value: \"Live Streams\" },\n { label: \"Newsletters\", value: \"Newsletters\" },\n { label: \"Freebies / Toolkits\", value: \"Freebies / Toolkits\" },\n { label: \"Community Updates\", value: \"Community Updates\" }\n] as const\n\nexport const ValidRatingRange5 = [\n { label: \"1\", value: \"1\" },\n { label: \"2\", value: \"2\" },\n { label: \"3\", value: \"3\" },\n { label: \"4\", value: \"4\" },\n { label: \"5\", value: \"5\" }\n] as const\n\n// cost\nexport const IsValidCost = v.pipe(\n v.number(\"please enter a cost value\"),\n v.minValue(0),\n v.maxValue(\n 1000000,\n \"your campaign cost exceeds our $1 million dollar limit, please contact us for customized solutions\"\n )\n)\nexport const IsValidOrUndefinedCost = v.undefinedable(IsValidCost)\n\n// label\nexport const IsValidLabel = v.pipe(\n v.string(\"please provide a label\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the label is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the label is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n )\n)\nexport const IsValidOrUndefinedLabel = v.undefinedable(IsValidLabel)\n\n// value\nexport const IsValidValue = v.pipe(\n v.string(\"please provide a value\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the value is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the value is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `the value ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedValue = v.undefinedable(IsValidValue)\n\n// description (optional)\nexport const IsValidDescription = v.nullable(\n v.pipe(\n v.string(\"the description must be a string\"),\n v.trim(),\n v.maxLength(\n LIMIT_MAX_DESCRIPTION,\n `the description is too long, it must be ${LIMIT_MAX_DESCRIPTION} characters or less`\n )\n )\n)\nexport const IsValidOrUndefinedDescription = v.undefinedable(IsValidDescription)\n\n// is_active\nexport const IsValidIsActive = v.boolean(\"isActive must be a boolean\")\nexport const IsValidOrUndefinedIsActive = v.undefinedable(IsValidIsActive)\n\n// is_secure\nexport const IsValidIsSecure = v.boolean(\"isSecure must be a boolean\")\nexport const IsValidOrUndefinedIsSecure = v.undefinedable(IsValidIsSecure)\n\n// generic name\nexport const IsValidName = v.pipe(\n v.string(\"please provide a name\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_NAME,\n `the name is too short, it must be at least ${LIMIT_MIN_NAME} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the name is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n )\n)\nexport const IsValidOrUndefinedName = v.undefinedable(IsValidName)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_DOMAIN,\n LIMIT_MAX_DESTINATION,\n LIMIT_MAX_DOMAIN,\n LIMIT_MAX_FRAGMENT,\n LIMIT_MAX_PATH,\n LIMIT_MAX_QUERY,\n LIMIT_MIN_DESTINATION,\n LIMIT_MIN_DOMAIN,\n LIMIT_MIN_FRAGMENT,\n LIMIT_MIN_PATH,\n LIMIT_MIN_QUERY,\n REGEX_DOMAIN\n} from \"../constants\"\n\n// destination\nexport const IsValidUrlDestination = v.pipe(\n v.string(\"please provide a url destination\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_DESTINATION,\n `the url destination is too short, it must be at least ${LIMIT_MIN_DESTINATION} characters`\n ),\n v.maxLength(\n LIMIT_MAX_DESTINATION,\n `the url destination is too long, it must be ${LIMIT_MAX_DESTINATION} characters or less`\n ),\n v.url(\"please provide a valid url\")\n)\nexport const IsValidOrUndefinedUrlDestination = v.undefinedable(IsValidUrlDestination)\n\n// protocol\nexport const IsValidUrlProtocol = v.picklist(\n [\"http\", \"https\"],\n \"please provide a valid url protocol\"\n)\nexport const IsValidOrUndefinedUrlProtocol = v.undefinedable(IsValidUrlProtocol)\n\n// domain\nexport const IsValidUrlDomain = v.pipe(\n v.string(\"please provide a domain\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_DOMAIN,\n `the domain is too short, it must be at least ${LIMIT_MIN_DOMAIN} characters`\n ),\n v.maxLength(\n LIMIT_MAX_DOMAIN,\n `the domain is too long, it must be ${LIMIT_MAX_DOMAIN} characters or less`\n ),\n v.regex(REGEX_DOMAIN, ERROR_MESSAGE_REGEX_DOMAIN)\n)\nexport const IsValidOrUndefinedUrlDomain = v.undefinedable(IsValidUrlDomain)\n\n// path\nexport const IsValidUrlPath = v.pipe(\n v.string(\"please provide a url path\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_PATH,\n `the url path is too short, it must be at least ${LIMIT_MIN_PATH} characters`\n ),\n v.maxLength(\n LIMIT_MAX_PATH,\n `the url path is too long, it must be ${LIMIT_MAX_PATH} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlPath = v.undefinedable(IsValidUrlPath)\n\n// query\nexport const IsValidUrlQuery = v.pipe(\n v.string(\"please provide a url query\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_QUERY,\n `the url query is too short, it must be at least ${LIMIT_MIN_QUERY} characters`\n ),\n v.maxLength(\n LIMIT_MAX_QUERY,\n `the url query is too long, it must be ${LIMIT_MAX_QUERY} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlQuery = v.undefinedable(IsValidUrlQuery)\n\n// fragment\nexport const IsValidUrlFragment = v.pipe(\n v.string(\"please provide a url hash/fragment\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_FRAGMENT,\n `the url hash/fragment is too short, it must be at least ${LIMIT_MIN_FRAGMENT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_FRAGMENT,\n `the url hash/fragment is too long, it must be ${LIMIT_MAX_FRAGMENT} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlFragment = v.undefinedable(IsValidUrlFragment)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_MAX_EMAIL,\n LIMIT_MAX_PASSWORD,\n LIMIT_MAX_PROVIDER,\n LIMIT_MAX_USERNAME,\n LIMIT_MIN_EMAIL,\n LIMIT_MIN_PASSWORD,\n LIMIT_MIN_USERNAME,\n REGEX_UTM_VALUE\n} from \"../constants\"\n\nexport const IsValidUsername = v.pipe(\n v.string(\"please provide a username\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_USERNAME,\n `your username is too short, it must be at least ${LIMIT_MIN_USERNAME} characters`\n ),\n v.maxLength(\n LIMIT_MAX_USERNAME,\n `your username is too long, it must be ${LIMIT_MAX_USERNAME} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `your username ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUsername = v.undefinedable(IsValidUsername)\n\nexport const IsValidUserEmail = v.pipe(\n v.string(\"please provide an email\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_EMAIL,\n `your email is too short, it must be at least ${LIMIT_MIN_EMAIL} characters`\n ),\n v.maxLength(\n LIMIT_MAX_EMAIL,\n `your email is too long, it must be ${LIMIT_MAX_EMAIL} characters or less`\n ),\n v.email(\"please provide a valid email address\")\n)\nexport const IsValidOrUndefinedUserEmail = v.undefinedable(IsValidUserEmail)\n\nexport const IsValidPassword = v.pipe(\n v.string(\"a password is required\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_PASSWORD,\n `your password is too short, it must be at least ${LIMIT_MIN_PASSWORD} characters`\n ),\n v.maxLength(\n LIMIT_MAX_PASSWORD,\n `your password is too long, it must be ${LIMIT_MAX_PASSWORD} characters or less`\n )\n)\nexport const IsValidOrUndefinedPassword = v.undefinedable(IsValidPassword)\n\nexport const IsValidProvider = v.pipe(\n v.string(\"please enter a provider\"),\n v.trim(),\n v.maxLength(\n LIMIT_MAX_PROVIDER,\n `the provider string is too long, it must be ${LIMIT_MAX_PROVIDER} characters or less`\n )\n)\nexport const IsValidOrUndefinedProvider = v.undefinedable(IsValidProvider)\n\nexport const IsValidConfirmed = v.boolean()\nexport const IsValidOrUndefinedConfirmed = v.undefinedable(IsValidConfirmed)\n\nexport const IsValidBlocked = v.boolean()\nexport const IsValidOrUndefinedBlocked = v.undefinedable(IsValidBlocked)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_MAX_UTM_CAMPAIGN,\n LIMIT_MAX_UTM_CONTENT,\n LIMIT_MAX_UTM_CREATIVE_FORMAT,\n LIMIT_MAX_UTM_ID,\n LIMIT_MAX_UTM_MEDIUM,\n LIMIT_MAX_UTM_SOURCE,\n LIMIT_MAX_UTM_TERM,\n LIMIT_MIN_UTM_CAMPAIGN,\n LIMIT_MIN_UTM_CONTENT,\n LIMIT_MIN_UTM_CREATIVE_FORMAT,\n LIMIT_MIN_UTM_ID,\n LIMIT_MIN_UTM_MEDIUM,\n LIMIT_MIN_UTM_SOURCE,\n LIMIT_MIN_UTM_TERM,\n REGEX_UTM_VALUE\n} from \"../constants\"\n\n// utm_source\nexport const IsValidUrlUtmSource = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_SOURCE,\n `the utm_source is too short, it must be at least ${LIMIT_MIN_UTM_SOURCE} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_SOURCE,\n `the utm_source is too long, it must be ${LIMIT_MAX_UTM_SOURCE} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_source ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmSource = v.undefinedable(IsValidUrlUtmSource)\n\n// utm_medium\nexport const IsValidUrlUtmMedium = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_MEDIUM,\n `the utm_medium is too short, it must be at least ${LIMIT_MIN_UTM_MEDIUM} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_MEDIUM,\n `the utm_medium is too long, it must be ${LIMIT_MAX_UTM_MEDIUM} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_medium ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmMedium = v.undefinedable(IsValidUrlUtmMedium)\n\n// utm_campaign\nexport const IsValidUrlUtmCampaign = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CAMPAIGN,\n `the utm_campaign is too short, it must be at least ${LIMIT_MIN_UTM_CAMPAIGN} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CAMPAIGN,\n `the utm_campaign is too long, it must be ${LIMIT_MAX_UTM_CAMPAIGN} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_campaign ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmCampaign = v.undefinedable(IsValidUrlUtmCampaign)\n\n// utm_creative_format\nexport const IsValidUrlUtmCreativeFormat = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CREATIVE_FORMAT,\n `the utm_creative_format is too short, it must be at least ${LIMIT_MIN_UTM_CREATIVE_FORMAT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CREATIVE_FORMAT,\n `the utm_creative_format is too long, it must be ${LIMIT_MAX_UTM_CREATIVE_FORMAT} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_creative_format ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmCreativeFormat = v.undefinedable(\n IsValidUrlUtmCreativeFormat\n)\n\n// utm_content\nexport const IsValidUrlUtmContent = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CONTENT,\n `the utm_content is too short, it must be at least ${LIMIT_MIN_UTM_CONTENT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CONTENT,\n `the utm_content is too long, it must be ${LIMIT_MAX_UTM_CONTENT} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_content ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmContent = v.undefinedable(IsValidUrlUtmContent)\n\n// utm_term\nexport const IsValidUrlUtmTerm = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_TERM,\n `the utm_term is too short, it must be at least ${LIMIT_MIN_UTM_TERM} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_TERM,\n `the utm_term is too long, it must be ${LIMIT_MAX_UTM_TERM} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_term ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmTerm = v.undefinedable(IsValidUrlUtmTerm)\n\n// utm_id\nexport const IsValidUrlUtmId = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_ID,\n `the utm_id is too short, it must be at least ${LIMIT_MIN_UTM_ID} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_ID,\n `the utm_id is too long, it must be ${LIMIT_MAX_UTM_ID} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_id ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmId = v.undefinedable(IsValidUrlUtmId)\n","import * as v from \"valibot\"\nimport {\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE,\n LIMIT_CLIENT_PAGINATION_MAX_SIZE\n} from \"../constants\"\nimport { ClientProjectStatusOptions } from \"../types\"\nimport { IsValidReferenceDocumentId, IsValidShortString } from \"../validators\"\n\nexport const QueryStrapiSearchClientProjects = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(1), v.maxValue(LIMIT_CLIENT_PAGINATION_MAX_SIZE)),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n title: v.optional(IsValidShortString),\n slug: v.optional(IsValidShortString),\n project_status: v.optional(v.picklist(ClientProjectStatusOptions)),\n clientId: v.optional(IsValidReferenceDocumentId)\n})\n\nexport type QueryStrapiSearchClientProjects = v.InferOutput<\n typeof QueryStrapiSearchClientProjects\n>\n","import * as v from \"valibot\"\nimport {\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE,\n LIMIT_CLIENT_PAGINATION_MAX_SIZE\n} from \"../constants\"\nimport { IsValidShortString } from \"../validators\"\n\nexport const QueryStrapiSearchClients = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(1), v.maxValue(LIMIT_CLIENT_PAGINATION_MAX_SIZE)),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n title: v.optional(IsValidShortString),\n teamwork_id: v.optional(IsValidShortString),\n teamwork_name: v.optional(IsValidShortString),\n utm_sheet_id: v.optional(IsValidShortString),\n allow_create_utm_link: v.optional(v.boolean()),\n classification: v.optional(v.picklist([\"organic\", \"paid\"])),\n is_featured: v.optional(v.boolean()),\n is_active: v.optional(v.boolean()),\n is_organic_social: v.optional(v.boolean()),\n is_paid_media: v.optional(v.boolean())\n})\n\nexport type QueryStrapiSearchClients = v.InferOutput<typeof QueryStrapiSearchClients>\n","import * as v from \"valibot\"\nimport { LIMIT_PAGINATION_DEFAULT_SIZE, LIMIT_PAGINATION_MAX_SIZE } from \"../constants\"\nimport {\n IsValidReferenceDocumentId,\n IsValidReferenceId,\n IsValidShortString,\n IsValidUserEmail,\n IsValidUserPhoneRequired\n} from \"../validators\"\n\n// Paginated Query\nexport const QueryStrapiPaginated = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(1), v.maxValue(LIMIT_PAGINATION_MAX_SIZE)),\n LIMIT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiPaginated = v.InferOutput<typeof QueryStrapiPaginated>\n\n// Query by: ID, Document ID\nexport const QueryStrapiById = v.object({\n id: IsValidReferenceId\n})\nexport type QueryStrapiById = v.InferOutput<typeof QueryStrapiById>\n\nexport const QueryStrapiByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type QueryStrapiByDocumentId = v.InferOutput<typeof QueryStrapiByDocumentId>\n\n// Query by: Slug, Email, Phone, or Name\nexport const QueryStrapiBySlug = v.object({\n slug: IsValidShortString\n})\nexport type QueryStrapiBySlug = v.InferOutput<typeof QueryStrapiBySlug>\n\nexport const QueryStrapiByEmail = v.object({\n email: IsValidUserEmail\n})\nexport type QueryStrapiByEmail = v.InferOutput<typeof QueryStrapiByEmail>\n\nexport const QueryStrapiByPhone = v.object({\n phone: IsValidUserPhoneRequired\n})\nexport type QueryStrapiByPhone = v.InferOutput<typeof QueryStrapiByPhone>\n\nexport const QueryStrapiByName = v.object({\n name: IsValidShortString\n})\nexport type QueryStrapiByName = v.InferOutput<typeof QueryStrapiByName>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidCompanyName,\n IsValidFirstName,\n IsValidLastName,\n IsValidProductInterest,\n IsValidRefPage,\n IsValidUserConsent,\n IsValidUserEmail,\n IsValidUserMessage,\n IsValidUserPhoneRequired,\n IsValidUserTitle\n} from \"../validators\"\n\nexport const SCreateLead = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhoneRequired,\n company: IsValidCompanyName,\n title: IsValidUserTitle,\n message: IsValidUserMessage,\n product_interest: IsValidProductInterest,\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SCreateLead = v.InferOutput<typeof SCreateLead>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidUserConsent,\n IsValidUserEmail\n} from \"../validators\"\n\nexport const SCreateNewsletterSignup = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n // hidden fields\n email_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SCreateNewsletterSignup = v.InferOutput<typeof SCreateNewsletterSignup>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFileReferenceId,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidResumeFile,\n IsValidShortString,\n IsValidStringSepListOfUrlsOrUndefined,\n IsValidUserConsent,\n IsValidUserEmail,\n IsValidUserMessage,\n IsValidUserPhone\n} from \"../validators\"\n\nexport const SCreateResume = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidResumeFile, // File object\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SCreateResume = v.InferOutput<typeof SCreateResume>\n\nexport const SCreateResumeInfo = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidFileReferenceId, // File reference ID\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SCreateResumeInfo = v.InferOutput<typeof SCreateResumeInfo>\n\nexport const SUpdateResumeInfo = v.object({\n documentId: IsValidShortString,\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidFileReferenceId, // File reference ID\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SUpdateResumeInfo = v.InferOutput<typeof SUpdateResumeInfo>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidShortString,\n IsValidUserConsent,\n IsValidUserEmail\n} from \"../validators\"\n\nexport const SharpSpringSignUpToDownload = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n // hidden fields\n download_key: IsValidShortString,\n email_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SharpSpringSignUpToDownload = v.InferOutput<\n typeof SharpSpringSignUpToDownload\n>\n","import * as v from \"valibot\"\n\nexport const SUpdateTrendsLikes = v.object({\n documentId: v.string(),\n likes: v.number()\n})\n\nexport type SUpdateTrendsLikes = v.InferOutput<typeof SUpdateTrendsLikes>\n","import * as v from \"valibot\"\nimport {\n LIMIT_BLOG_POST_PAGINATION_MAX_SIZE,\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n} from \"../constants\"\n\nexport const QueryStrapiPaginatedUrlRedirects = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_BLOG_POST_PAGINATION_MAX_SIZE)\n ),\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n )\n})\n\nexport type QueryStrapiPaginatedUrlRedirects = v.InferOutput<\n typeof QueryStrapiPaginatedUrlRedirects\n>\n\nexport const QueryStrapiUrlRedirectsByFrom = v.object({\n from: v.string()\n})\n\nexport type QueryStrapiUrlRedirectsByFrom = v.InferOutput<\n typeof QueryStrapiUrlRedirectsByFrom\n>\n","import * as v from \"valibot\"\nimport {\n IsValidFirstName,\n IsValidLastName,\n IsValidPreferredName,\n IsValidReferenceDocumentId,\n IsValidReferenceId\n} from \"../validators\"\n\n// READ\nexport const SReadUserAccountById = v.object({\n id: IsValidReferenceId\n})\nexport type SReadUserAccountById = v.InferOutput<typeof SReadUserAccountById>\n\nexport const SReadUserAccountByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SReadUserAccountByDocumentId = v.InferOutput<\n typeof SReadUserAccountByDocumentId\n>\n\n// UPDATE\nexport const SUpdateUserAccount = v.object({\n documentId: IsValidReferenceDocumentId,\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n preferred_name: IsValidPreferredName\n})\nexport type SUpdateUserAccount = v.InferOutput<typeof SUpdateUserAccount>\n\nexport const SUpdateUserAccountFirstName = v.object({\n documentId: IsValidReferenceDocumentId,\n first_name: IsValidFirstName\n})\nexport type SUpdateUserAccountFirstName = v.InferOutput<\n typeof SUpdateUserAccountFirstName\n>\n\nexport const SUpdateUserAccountLastName = v.object({\n documentId: IsValidReferenceDocumentId,\n last_name: IsValidLastName\n})\nexport type SUpdateUserAccountLastName = v.InferOutput<\n typeof SUpdateUserAccountLastName\n>\n\nexport const SUpdateUserAccountPreferredName = v.object({\n documentId: IsValidReferenceDocumentId,\n preferred_name: IsValidPreferredName\n})\nexport type SUpdateUserAccountPreferredName = v.InferOutput<\n typeof SUpdateUserAccountPreferredName\n>\n","import * as v from \"valibot\"\nimport { IsValidPassword, IsValidUserEmail, IsValidUsername } from \"../validators\"\n\n// JWT\nexport const SUserToken = v.object({\n token: v.string()\n})\nexport type SUserToken = v.InferOutput<typeof SUserToken>\n\n// AUTH LOCAL\n// LOGIN\nexport const SLoginUser = v.object({\n identifier: IsValidUserEmail,\n password: IsValidPassword\n})\nexport type SLoginUser = v.InferOutput<typeof SLoginUser>\n\n// REGISTER\nexport const SRegisterUser = v.object({\n username: IsValidUsername,\n email: IsValidUserEmail,\n password: IsValidPassword\n})\nexport type SRegisterUser = v.InferOutput<typeof SRegisterUser>\n\n// FORGOT PASSWORD\nexport const SForgotUserPassword = v.object({\n email: IsValidUserEmail\n})\nexport type SForgotUserPassword = v.InferOutput<typeof SForgotUserPassword>\n\n// REQUEST CONFIRM EMAIL\nexport const SRequestConfirmEmail = v.object({\n email: IsValidUserEmail\n})\nexport type SRequestConfirmEmail = v.InferOutput<typeof SRequestConfirmEmail>\n\n// RESET PASSWORD\nexport const SResetUserPassword = v.object({\n password: IsValidPassword,\n passwordConfirmation: IsValidPassword,\n code: v.string()\n})\nexport type SResetUserPassword = v.InferOutput<typeof SResetUserPassword>\n\n// CHANGE PASSWORD\nexport const SChangePassword = v.pipe(\n v.object({\n currentPassword: IsValidPassword,\n password: IsValidPassword,\n passwordConfirmation: IsValidPassword\n }),\n v.forward(\n v.partialCheck(\n [[\"password\"], [\"passwordConfirmation\"]],\n (input) => input.password === input.passwordConfirmation,\n \"Your new passwords do not match.\"\n ),\n [\"passwordConfirmation\"]\n )\n)\nexport type SChangePassword = v.InferOutput<typeof SChangePassword>\n\n// AUTH PROVIDER\n// Auth Provider Token\nexport const SAuthRawAccessToken = v.object({\n access_token: v.optional(v.string()),\n expires_in: v.optional(v.number()),\n scope: v.optional(v.string()),\n token_type: v.optional(v.string()),\n id_token: v.optional(v.string())\n})\nexport type SAuthRawAccessToken = v.InferOutput<typeof SAuthRawAccessToken>\n\n// Auth Connect Provider Redirect Search\nexport const SAuthConnectProviderRedirectSearch = v.object({\n id_token: v.string(),\n access_token: v.string(),\n raw: v.optional(SAuthRawAccessToken)\n})\nexport type SAuthConnectProviderRedirectSearch = v.InferOutput<\n typeof SAuthConnectProviderRedirectSearch\n>\n\n// Auth Connect Provider Confirmation\nexport const SAuthConnectProviderConfirmation = v.object({\n provider: v.string(),\n search: SAuthConnectProviderRedirectSearch\n})\nexport type SAuthConnectProviderConfirmation = v.InferOutput<\n typeof SAuthConnectProviderConfirmation\n>\n","import * as v from \"valibot\"\nimport {\n LIMIT_SHORT_STRING_MAX_LENGTH,\n LIMIT_USER_PAGINATION_DEFAULT_SIZE,\n LIMIT_USER_PAGINATION_MAX_SIZE\n} from \"../constants\"\nimport { IsValidReferenceDocumentId, IsValidReferenceId } from \"../validators\"\n\n// LIST\nexport const QueryStrapiUsers = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(3), v.maxValue(LIMIT_USER_PAGINATION_MAX_SIZE)),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiUsers = v.InferOutput<typeof QueryStrapiUsers>\n\nexport const QueryStrapiUsersByIdentifier = v.object({\n identifier: v.pipe(v.string(), v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH)),\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(3), v.maxValue(LIMIT_USER_PAGINATION_MAX_SIZE)),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiUsersByIdentifier = v.InferOutput<\n typeof QueryStrapiUsersByIdentifier\n>\n\n// READ\nexport const SReadUserById = v.object({\n id: IsValidReferenceId\n})\nexport type SReadUserById = v.InferOutput<typeof SReadUserById>\n\nexport const SReadUserByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SReadUserByDocumentId = v.InferOutput<typeof SReadUserByDocumentId>\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_MIN_VALUE,\n LIMIT_SHORT_STRING_MAX_LENGTH,\n REGEX_UTM_VALUE\n} from \"../constants\"\nimport { IsValidDestinationUrl, IsValidReferenceDocumentId } from \"../validators\"\n\nexport const SUtmLinkBuilderPartCampaignDateOptions = [\n \"annually\",\n \"quarterly\",\n \"monthly\",\n \"on a specific date\",\n \"no date\"\n] as const\n\nexport type SUtmLinkBuilderPartCampaignDateValue =\n (typeof SUtmLinkBuilderPartCampaignDateOptions)[number]\n\nexport const SUtmLinkBuilderTableForm = v.object({\n creator: IsValidReferenceDocumentId,\n client: IsValidReferenceDocumentId,\n url_destinations: v.pipe(\n v.array(IsValidDestinationUrl),\n v.minLength(1, \"Please provide at least one destination URL.\"),\n v.maxLength(100, \"You can provide up to 100 destination URLs.\")\n ),\n sources: v.pipe(\n v.array(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This source value is too long.\")\n )\n ),\n v.minLength(1, \"Please select at least one source.\"),\n v.maxLength(10, \"You can select up to 10 sources.\")\n ),\n mediums: v.pipe(\n v.array(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This medium value is too long.\")\n )\n ),\n v.minLength(1, \"Please select at least one medium.\"),\n v.maxLength(10, \"You can select up to 10 mediums.\")\n ),\n campaign: v.object({\n campaign_phase: v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This medium value is too long.\")\n ),\n campaign_product: v.optional(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This medium value is too long.\")\n )\n ),\n campaign_targeting: v.optional(\n v.pipe(\n v.array(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This value is too long.\")\n )\n ),\n v.minLength(1, \"Please select at least one targeting option.\"),\n v.maxLength(10, \"You can select up to 10 targeting options.\")\n )\n ),\n campaign_key: v.optional(\n v.pipe(\n v.string(\"please provide a value\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the value is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the value is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `the value ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n )\n ),\n campaign_date: v.object({\n format: v.picklist(\n SUtmLinkBuilderPartCampaignDateOptions,\n \"Please select a valid campaign date format.\"\n ),\n value: v.object({\n year: v.number(),\n quarter: v.optional(v.number()),\n month: v.optional(v.number()),\n day: v.optional(v.number())\n })\n })\n }),\n contents: v.optional(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This content value is too long.\")\n )\n ),\n creative_formats: v.pipe(\n v.array(\n v.object({\n creative_format: v.optional(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n \"This creative format value is too long.\"\n )\n )\n ),\n creative_format_variants: v.optional(\n v.array(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n \"This creative variant value is too long.\"\n )\n )\n )\n )\n })\n ),\n v.minLength(1, \"Please select at least one creative format.\"),\n v.maxLength(10, \"You can select up to 10 creative formats.\")\n ),\n id: v.optional(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This ID value is too long.\")\n )\n ),\n notes: v.optional(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This notes value is too long.\")\n )\n )\n})\n\nexport type SUtmLinkBuilderTableFormInput = v.InferInput<\n typeof SUtmLinkBuilderTableForm\n>\nexport type SUtmLinkBuilderTableForm = v.InferOutput<typeof SUtmLinkBuilderTableForm>\n","import * as v from \"valibot\"\nimport {\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE,\n LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE\n} from \"../constants\"\nimport {\n IsValidDestinationUrl,\n IsValidIsActive,\n IsValidLongStringOrUndefined,\n IsValidReferenceDocumentId,\n IsValidShortString,\n IsValidShortStringOrUndefined,\n IsValidStringListOrUndefined,\n IsValidUrl,\n IsValidUrlUtmCampaign,\n IsValidUrlUtmContent,\n IsValidUrlUtmCreativeFormat,\n IsValidUrlUtmId,\n IsValidUrlUtmMedium,\n IsValidUrlUtmSource,\n IsValidUtmCampaignKeyNameOrUndefined,\n IsValidUtmLink\n} from \"../validators\"\n\n// LIST\nexport const QueryStrapiSearchUtmTrackingLinks = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE)\n ),\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE\n ),\n url_destination: v.optional(IsValidDestinationUrl),\n utm_medium: v.optional(IsValidUrlUtmMedium),\n utm_source: v.optional(IsValidUrlUtmSource),\n utm_campaign: v.optional(IsValidUrlUtmCampaign),\n utm_content: v.optional(IsValidUrlUtmContent),\n utm_creative_format: v.optional(IsValidUrlUtmCreativeFormat),\n utm_id: v.optional(IsValidUrlUtmId),\n campaign_phase: v.optional(IsValidShortString),\n campaign_product: v.optional(IsValidShortString),\n campaign_targeting: v.optional(IsValidShortString),\n campaign_key: v.optional(IsValidShortString),\n creative_format: v.optional(IsValidShortString),\n creative_format_variants: v.optional(v.array(IsValidShortString)),\n url: v.optional(IsValidUrl),\n is_active: v.optional(v.boolean()),\n notes: v.optional(IsValidShortString)\n})\n\nexport type QueryStrapiSearchUtmTrackingLinks = v.InferOutput<\n typeof QueryStrapiSearchUtmTrackingLinks\n>\n\n// CREATE\nexport const SCreateUtmTrackingLinkDocument = v.object({\n creator: IsValidReferenceDocumentId,\n client: IsValidReferenceDocumentId,\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined\n})\nexport type SCreateUtmTrackingLinkDocumentInput = v.InferInput<\n typeof SCreateUtmTrackingLinkDocument\n>\nexport type SCreateUtmTrackingLinkDocument = v.InferOutput<\n typeof SCreateUtmTrackingLinkDocument\n>\n\nexport const SCreateUtmTrackingLinkParts = v.object({\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined\n})\nexport type SCreateUtmTrackingLinkParts = v.InferOutput<\n typeof SCreateUtmTrackingLinkParts\n>\n\nexport const SFormCreateMultipleUtmTrackingLinkDocuments = v.object({\n creator: IsValidReferenceDocumentId,\n client: IsValidReferenceDocumentId,\n links: v.pipe(\n v.array(SCreateUtmTrackingLinkParts),\n v.minLength(1, \"You must provide at least one link to create.\"),\n v.maxLength(100, \"You can create a maximum of 100 links at once.\")\n )\n})\nexport type SFormCreateMultipleUtmTrackingLinkDocuments = v.InferInput<\n typeof SFormCreateMultipleUtmTrackingLinkDocuments\n>\n\n// READ\nexport const SReadUtmTrackingLinkDocumentByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SReadUtmTrackingLinkDocumentByDocumentId = v.InferOutput<\n typeof SReadUtmTrackingLinkDocumentByDocumentId\n>\n\nexport const SReadUtmTrackingLinkDocumentByUrl = v.object({\n url: IsValidUtmLink\n})\nexport type SReadUtmTrackingLinkDocumentByUrl = v.InferOutput<\n typeof SReadUtmTrackingLinkDocumentByUrl\n>\n\n// UPDATE\nexport const SUpdateUtmTrackingLinkDocument = v.object({\n creator: v.optional(IsValidReferenceDocumentId),\n client: v.optional(IsValidReferenceDocumentId),\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined\n})\nexport type SUpdateUtmTrackingLinkDocument = v.InferOutput<\n typeof SUpdateUtmTrackingLinkDocument\n>\n\nexport const SUpdateUtmTrackingLinkDocumentRequest = v.object({\n documentId: IsValidReferenceDocumentId,\n data: SUpdateUtmTrackingLinkDocument\n})\nexport type SUpdateUtmTrackingLinkDocumentRequest = v.InferOutput<\n typeof SUpdateUtmTrackingLinkDocumentRequest\n>\n\n// DELETE\nexport const SDeleteUtmTrackingLinkDocument = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SDeleteUtmTrackingLinkDocument = v.InferOutput<\n typeof SDeleteUtmTrackingLinkDocument\n>\n","import * as v from \"valibot\"\n\ntype ValidateAndCleanSuccess<T> = {\n data: Partial<T>\n error: null\n errors: null\n}\n\ntype ValidateAndCleanFailure = {\n data: null\n error: string | null\n errors: Record<string, string> | null\n}\n\ntype ValidateAndCleanResult<T> = ValidateAndCleanSuccess<T> | ValidateAndCleanFailure\n\nexport function validateAndClean<T>(\n schema: v.BaseSchema<T, Partial<T>, v.BaseIssue<T>>,\n input: unknown\n): ValidateAndCleanResult<T> {\n try {\n const parsed = v.parse(schema, input)\n return { data: parsed, error: null, errors: null }\n } catch (err: unknown) {\n if (err instanceof v.ValiError) {\n const errors: Record<string, string> = {}\n for (const issue of err.issues) {\n const field = issue.path?.[0]?.key || \"unknown\"\n errors[field] = issue.message\n }\n return { data: null, error: null, errors }\n }\n let errorMessage = \"Unknown error\"\n if (err instanceof Error) {\n errorMessage = err.message\n } else {\n errorMessage = String(err)\n }\n return { data: null, error: errorMessage, errors: null }\n }\n}\n\nexport function isValidationSuccess<T>(\n result: ValidateAndCleanResult<T>\n): result is ValidateAndCleanSuccess<T> {\n return result.error === null && result.errors === null\n}\n\nexport function isValidationFailure<T>(\n result: ValidateAndCleanResult<T>\n): result is ValidateAndCleanFailure {\n return result.error !== null || result.errors !== null\n}\n\nexport function omitUndefined<T extends Record<string, any>>(obj: T): Partial<T> {\n const result: Partial<T> = {}\n for (const key in obj) {\n if (obj[key] !== undefined) {\n result[key] = obj[key]\n }\n }\n return result\n}\n","export function dateToday(): Date {\n const date = new Date()\n date.setHours(0, 0, 0, 0)\n return date\n}\n\nexport function datePlusDays(today: Date, days: number = 30): Date {\n const date = new Date(today)\n date.setDate(date.getDate() + days)\n date.setHours(23, 59, 59, 999)\n return date\n}\n"]}
package/dist/index.d.cts CHANGED
@@ -398,6 +398,7 @@ type SReadUserByDocumentId = v.InferOutput<typeof SReadUserByDocumentId>;
398
398
 
399
399
  declare const SUtmLinkBuilderPartCampaignDateOptions: readonly ["annually", "quarterly", "monthly", "on a specific date", "no date"];
400
400
  type SUtmLinkBuilderPartCampaignDateValue = (typeof SUtmLinkBuilderPartCampaignDateOptions)[number];
401
+ type SUtmLinkBuilderTableFormInput = v.InferInput<typeof SUtmLinkBuilderTableForm>;
401
402
  declare const SUtmLinkBuilderTableForm: v.ObjectSchema<{
402
403
  readonly creator: v.SchemaWithPipe<readonly [v.StringSchema<"please provide a valid document id">, v.TrimAction, v.MinLengthAction<string, 1, "the document id is too short, it must be at least 1 character">, v.MaxLengthAction<string, 255, "the document id is too long, it must be 255 characters or less">]>;
403
404
  readonly client: v.SchemaWithPipe<readonly [v.StringSchema<"please provide a valid document id">, v.TrimAction, v.MinLengthAction<string, 1, "the document id is too short, it must be at least 1 character">, v.MaxLengthAction<string, 255, "the document id is too long, it must be 255 characters or less">]>;
@@ -407,7 +408,7 @@ declare const SUtmLinkBuilderTableForm: v.ObjectSchema<{
407
408
  readonly campaign: v.ObjectSchema<{
408
409
  readonly campaign_phase: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 255, "This medium value is too long.">]>;
409
410
  readonly campaign_product: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 255, "This medium value is too long.">]>, undefined>;
410
- readonly campaign_targeting: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 255, "This value is too long.">]>, undefined>, v.MinLengthAction<string[], 1, "Please select at least one targeting option.">, v.MaxLengthAction<string[], 10, "You can select up to 10 targeting options.">, v.TransformAction<string[], string>]>, undefined>;
411
+ readonly campaign_targeting: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 255, "This value is too long.">]>, undefined>, v.MinLengthAction<string[], 1, "Please select at least one targeting option.">, v.MaxLengthAction<string[], 10, "You can select up to 10 targeting options.">]>, undefined>;
411
412
  readonly campaign_key: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<"please provide a value">, v.TrimAction, v.MinLengthAction<string, 1, "the value is too short, it must be at least 1 characters">, v.MaxLengthAction<string, 255, "the value is too long, it must be 255 characters or less">, v.RegexAction<string, "the value can only contain letters, numbers, and the special characters: - _ .">]>, undefined>;
412
413
  readonly campaign_date: v.ObjectSchema<{
413
414
  readonly format: v.PicklistSchema<readonly ["annually", "quarterly", "monthly", "on a specific date", "no date"], "Please select a valid campaign date format.">;
@@ -1552,4 +1553,4 @@ declare const IsValidOrUndefinedUrlUtmTerm: v.UndefinedableSchema<v.SchemaWithPi
1552
1553
  declare const IsValidUrlUtmId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, "the utm_id is too short, it must be at least 1 characters">, v.MaxLengthAction<string, 2030, "the utm_id is too long, it must be 2030 characters or less">, v.RegexAction<string, "utm_id can only contain letters, numbers, and the special characters: - _ .">]>;
1553
1554
  declare const IsValidOrUndefinedUrlUtmId: v.UndefinedableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, "the utm_id is too short, it must be at least 1 characters">, v.MaxLengthAction<string, 2030, "the utm_id is too long, it must be 2030 characters or less">, v.RegexAction<string, "utm_id can only contain letters, numbers, and the special characters: - _ .">]>, undefined>;
1554
1555
 
1555
- export { type BaseDocument, type BlockAnnouncementBar, type BlockBrandLogos, type BlockButtonGroup, type BlockContact, type BlockCtaLink, type BlockFaq, type BlockFullscreenContent, type BlockFullscreenContentType, type BlockTextDetails, type BlockVideoEmbed, type BlogPageDocument, type BlogPostBlock, type BlogPostDocument, CLIENT_ENTITY_KEYS, CLIENT_ENTITY_PERMISSIONS, CLIENT_ENTITY_SCOPES, type CareersPageDocument, type CategoryDocument, type ClientDocument, type ClientEntityActions, type ClientEntityKey, type ClientEntityScope, type ClientProjectDocument, type ClientProjectStatus, ClientProjectStatusOptions, type ClientReportDocument, type ClientUserDocument, type ComponentBlockAnnouncementBar, type ComponentBlockBrandLogos, type ComponentBlockButtonGroup, type ComponentBlockContact, type ComponentBlockCtaLink, type ComponentBlockFaq, type ComponentBlockFullscreenContent, type ComponentBlockTextDetails, type ComponentBlockVideo, type ComponentFormDownload, type ComponentFormSelect, type ComponentOpenGraph, type ComponentSeoMeta, type ComponentSharedButton, type ComponentSharedLink, type ComponentSharedQuestionAnswer, type ComponentSharedRichTextBlock, type ComponentSlideContent, type ComponentSliderSettings, type ComponentSlideshow, type ComponentSlideshowSettings, type ComponentUtmOption, ERROR_MESSAGE_REGEX_DOMAIN, ERROR_MESSAGE_REGEX_UTM_VALUE, type FormDownload, type FormDownloadKeys, type FormSelect, type FormUID, InvalidClientTermMin, InvalidClientTermNumber, InvalidCompanyName, InvalidCompanyNameMaxLength, InvalidCsvFileType, InvalidDestinationUrl, InvalidFirstName, InvalidFirstNameMaxLength, InvalidFullName, InvalidFullNameMaxLength, InvalidInputRobot, InvalidInstrustryName, InvalidInstrustryNameMaxLength, InvalidLastName, InvalidLastNameMaxLength, InvalidListOfUrls, InvalidLongStringOrUndefined, InvalidPreferredName, InvalidPreferredNameMaxLength, InvalidProductInterestMaxLength, InvalidRangeValueOneToFive, InvalidRefPageMaxLength, InvalidResumeFileType, InvalidShortStringMax, InvalidUserMessage, InvalidUserMessageMaxLength, InvalidUserPhone, InvalidUserPhoneType, InvalidUserTitle, InvalidUserTitleMaxLength, InvalidUtmLink, IsValidBlocked, IsValidCaptchaToken, IsValidClientTerm, IsValidCompanyName, IsValidCompanyNameRequired, IsValidConfirmed, IsValidCost, IsValidCsvFile, IsValidDateToday, IsValidDescription, IsValidDestinationUrl, IsValidFileReferenceId, IsValidFirstName, IsValidFullName, IsValidGroupUserScopes, IsValidIndustryName, IsValidIsActive, IsValidIsSecure, IsValidLabel, IsValidLastName, IsValidLongString, IsValidLongStringOrUndefined, IsValidName, IsValidNumberOfEmployees, IsValidOrUndefinedBlocked, IsValidOrUndefinedConfirmed, IsValidOrUndefinedCost, IsValidOrUndefinedDescription, IsValidOrUndefinedIsActive, IsValidOrUndefinedIsSecure, IsValidOrUndefinedLabel, IsValidOrUndefinedName, IsValidOrUndefinedPassword, IsValidOrUndefinedProvider, IsValidOrUndefinedUrlDestination, IsValidOrUndefinedUrlDomain, IsValidOrUndefinedUrlFragment, IsValidOrUndefinedUrlPath, IsValidOrUndefinedUrlProtocol, IsValidOrUndefinedUrlQuery, IsValidOrUndefinedUrlUtmCampaign, IsValidOrUndefinedUrlUtmContent, IsValidOrUndefinedUrlUtmCreativeFormat, IsValidOrUndefinedUrlUtmId, IsValidOrUndefinedUrlUtmMedium, IsValidOrUndefinedUrlUtmSource, IsValidOrUndefinedUrlUtmTerm, IsValidOrUndefinedUserEmail, IsValidOrUndefinedUsername, IsValidOrUndefinedValue, IsValidPassword, IsValidPositiveInteger, IsValidPreferredName, IsValidProductInterest, IsValidProvider, IsValidRangeValueOneToFive, IsValidRefPage, IsValidReferenceDocumentId, IsValidReferenceId, IsValidResumeFile, IsValidShortString, IsValidShortStringOrUndefined, IsValidStringList, IsValidStringListOrUndefined, IsValidStringSepListOfUrls, IsValidStringSepListOfUrlsOrUndefined, IsValidUrl, IsValidUrlDestination, IsValidUrlDomain, IsValidUrlFragment, IsValidUrlList, IsValidUrlOrUndefined, IsValidUrlPath, IsValidUrlProtocol, IsValidUrlQuery, IsValidUrlUtmCampaign, IsValidUrlUtmContent, IsValidUrlUtmCreativeFormat, IsValidUrlUtmId, IsValidUrlUtmMedium, IsValidUrlUtmSource, IsValidUrlUtmTerm, IsValidUserConsent, IsValidUserEmail, IsValidUserMessage, IsValidUserPhone, IsValidUserPhoneRequired, IsValidUserRole, IsValidUserTitle, IsValidUserTitleRequired, IsValidUsername, IsValidUtmCampaignKeyName, IsValidUtmCampaignKeyNameOrUndefined, IsValidUtmLink, IsValidValue, type KeenSliderOrigin, type KeenSliderSliderSlides, LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE, LIMIT_BLOG_POST_PAGINATION_MAX_SIZE, LIMIT_CATEGORIES_DEFAULT_SIZE, LIMIT_CATEGORIES_MAX_SIZE, LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_PAGINATION_MAX_SIZE, LIMIT_LONG_STRING_MAX_LENGTH, LIMIT_MAX_DESCRIPTION, LIMIT_MAX_DESTINATION, LIMIT_MAX_DOMAIN, LIMIT_MAX_EMAIL, LIMIT_MAX_FRAGMENT, LIMIT_MAX_PASSWORD, LIMIT_MAX_PATH, LIMIT_MAX_PROVIDER, LIMIT_MAX_QUERY, LIMIT_MAX_USERNAME, LIMIT_MAX_UTM_CAMPAIGN, LIMIT_MAX_UTM_CONTENT, LIMIT_MAX_UTM_CREATIVE_FORMAT, LIMIT_MAX_UTM_ID, LIMIT_MAX_UTM_MEDIUM, LIMIT_MAX_UTM_SOURCE, LIMIT_MAX_UTM_TERM, LIMIT_MEDIUM_STRING_MAX_LENGTH, LIMIT_MIN_DESTINATION, LIMIT_MIN_DOMAIN, LIMIT_MIN_EMAIL, LIMIT_MIN_FRAGMENT, LIMIT_MIN_NAME, LIMIT_MIN_PASSWORD, LIMIT_MIN_PATH, LIMIT_MIN_QUERY, LIMIT_MIN_USERNAME, LIMIT_MIN_UTM_CAMPAIGN, LIMIT_MIN_UTM_CONTENT, LIMIT_MIN_UTM_CREATIVE_FORMAT, LIMIT_MIN_UTM_ID, LIMIT_MIN_UTM_MEDIUM, LIMIT_MIN_UTM_SOURCE, LIMIT_MIN_UTM_TERM, LIMIT_MIN_VALUE, LIMIT_PAGINATION_DEFAULT_SIZE, LIMIT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_PAGINATION_MAX_SIZE, LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE, LIMIT_REDIRECT_PAGINATION_MAX_SIZE, LIMIT_SHORT_STRING_MAX_LENGTH, LIMIT_TAGS_DEFAULT_SIZE, LIMIT_TAGS_MAX_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE, LIMIT_TREND_PAGINATION_DEFAULT_SIZE, LIMIT_TREND_PAGINATION_MAX_SIZE, LIMIT_USER_PAGINATION_DEFAULT_SIZE, LIMIT_USER_PAGINATION_MAX_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE, type LandingPageDocument, type LeadDocument, type MediaFormat, type MediaFormats, type MediaPlatformDocument, type MediaUploadDocument, type OpenGraph, type PermissionDocument, type PolicyPageDocument, type ProductDocument, type ProductHighlightDocument, QueryStrapiByDocumentId, QueryStrapiByEmail, QueryStrapiById, QueryStrapiByName, QueryStrapiByPhone, QueryStrapiBySlug, QueryStrapiPaginated, QueryStrapiPaginatedUrlRedirects, QueryStrapiSearchBlogPosts, QueryStrapiSearchBlogPostsBySlug, QueryStrapiSearchClientProjects, QueryStrapiSearchClients, QueryStrapiSearchUtmTrackingLinks, QueryStrapiUrlRedirectsByFrom, QueryStrapiUsers, QueryStrapiUsersByIdentifier, REGEX_DOMAIN, REGEX_UTM_VALUE, type ResumeDocument, type RichTextBlock, type RichTextBlockChildren, type RoleDocument, SAuthConnectProviderConfirmation, SAuthConnectProviderRedirectSearch, SAuthRawAccessToken, SChangePassword, SCreateLead, SCreateNewsletterSignup, SCreateResume, SCreateResumeInfo, SCreateUtmTrackingLinkDocument, type SCreateUtmTrackingLinkDocumentInput, SCreateUtmTrackingLinkParts, SDeleteUtmTrackingLinkDocument, SForgotUserPassword, SFormCreateMultipleUtmTrackingLinkDocuments, SLoginUser, SReadUserAccountByDocumentId, SReadUserAccountById, SReadUserByDocumentId, SReadUserById, SReadUtmTrackingLinkDocumentByDocumentId, SReadUtmTrackingLinkDocumentByUrl, SRegisterUser, SRequestConfirmEmail, SResetUserPassword, SUpdateResumeInfo, SUpdateTrendsLikes, SUpdateUserAccount, SUpdateUserAccountFirstName, SUpdateUserAccountLastName, SUpdateUserAccountPreferredName, SUpdateUtmTrackingLinkDocument, SUpdateUtmTrackingLinkDocumentRequest, SUserToken, SUtmLinkBuilderPartCampaignDateOptions, type SUtmLinkBuilderPartCampaignDateValue, SUtmLinkBuilderTableForm, type SeoMeta, type SharedButton, type SharedLink, type SharedQuestionAnswer, type SharedRichTextBlock, SharpSpringSignUpToDownload, type SlideContent, type SlideType, type SliderSettings, type SliderSpacing, type Slideshow, type SlideshowMode, type SlideshowSettings, type StrapiBgColorOptions, type StrapiDirection, type StrapiErrorDetail, type StrapiErrorResponse, type StrapiGapSizes, type StrapiIconName, type StrapiIconPosition, type StrapiLinkReferrerPolicy, type StrapiLinkRel, type StrapiLinkTarget, type StrapiLinkType, type StrapiListResponse, type StrapiPagination, type StrapiResponseMeta, type StrapiSingleResponse, type StrapiTextColorOptions, type StrapiThemeOptions, type TagDocument, type TeamMemberDocument, type TeamPageDocument, type TrendDocument, type UrlRedirectDocument, type UrlRedirectQueryParams, type UrlRedirectStatusCode, type UserAccountDocument, type UserAuthorizationLoginResponse, type UserAuthorizationSuccessResponse, type UserDocument, type UserWithAccountDocument, type UtmClassificationKey, type UtmMetaPageDocument, type UtmOption, type UtmSourceKey, type UtmTrackingLinkDocument, ValidGcDesiredContentOptions, ValidGcServiceOptions, ValidGcVideoServiceOptions, ValidJobRoleGroup, ValidNumberOfEmployeeOptions, ValidRatingRange5, datePlusDays, dateToday, isValidationFailure, isValidationSuccess, omitUndefined, validateAndClean };
1556
+ export { type BaseDocument, type BlockAnnouncementBar, type BlockBrandLogos, type BlockButtonGroup, type BlockContact, type BlockCtaLink, type BlockFaq, type BlockFullscreenContent, type BlockFullscreenContentType, type BlockTextDetails, type BlockVideoEmbed, type BlogPageDocument, type BlogPostBlock, type BlogPostDocument, CLIENT_ENTITY_KEYS, CLIENT_ENTITY_PERMISSIONS, CLIENT_ENTITY_SCOPES, type CareersPageDocument, type CategoryDocument, type ClientDocument, type ClientEntityActions, type ClientEntityKey, type ClientEntityScope, type ClientProjectDocument, type ClientProjectStatus, ClientProjectStatusOptions, type ClientReportDocument, type ClientUserDocument, type ComponentBlockAnnouncementBar, type ComponentBlockBrandLogos, type ComponentBlockButtonGroup, type ComponentBlockContact, type ComponentBlockCtaLink, type ComponentBlockFaq, type ComponentBlockFullscreenContent, type ComponentBlockTextDetails, type ComponentBlockVideo, type ComponentFormDownload, type ComponentFormSelect, type ComponentOpenGraph, type ComponentSeoMeta, type ComponentSharedButton, type ComponentSharedLink, type ComponentSharedQuestionAnswer, type ComponentSharedRichTextBlock, type ComponentSlideContent, type ComponentSliderSettings, type ComponentSlideshow, type ComponentSlideshowSettings, type ComponentUtmOption, ERROR_MESSAGE_REGEX_DOMAIN, ERROR_MESSAGE_REGEX_UTM_VALUE, type FormDownload, type FormDownloadKeys, type FormSelect, type FormUID, InvalidClientTermMin, InvalidClientTermNumber, InvalidCompanyName, InvalidCompanyNameMaxLength, InvalidCsvFileType, InvalidDestinationUrl, InvalidFirstName, InvalidFirstNameMaxLength, InvalidFullName, InvalidFullNameMaxLength, InvalidInputRobot, InvalidInstrustryName, InvalidInstrustryNameMaxLength, InvalidLastName, InvalidLastNameMaxLength, InvalidListOfUrls, InvalidLongStringOrUndefined, InvalidPreferredName, InvalidPreferredNameMaxLength, InvalidProductInterestMaxLength, InvalidRangeValueOneToFive, InvalidRefPageMaxLength, InvalidResumeFileType, InvalidShortStringMax, InvalidUserMessage, InvalidUserMessageMaxLength, InvalidUserPhone, InvalidUserPhoneType, InvalidUserTitle, InvalidUserTitleMaxLength, InvalidUtmLink, IsValidBlocked, IsValidCaptchaToken, IsValidClientTerm, IsValidCompanyName, IsValidCompanyNameRequired, IsValidConfirmed, IsValidCost, IsValidCsvFile, IsValidDateToday, IsValidDescription, IsValidDestinationUrl, IsValidFileReferenceId, IsValidFirstName, IsValidFullName, IsValidGroupUserScopes, IsValidIndustryName, IsValidIsActive, IsValidIsSecure, IsValidLabel, IsValidLastName, IsValidLongString, IsValidLongStringOrUndefined, IsValidName, IsValidNumberOfEmployees, IsValidOrUndefinedBlocked, IsValidOrUndefinedConfirmed, IsValidOrUndefinedCost, IsValidOrUndefinedDescription, IsValidOrUndefinedIsActive, IsValidOrUndefinedIsSecure, IsValidOrUndefinedLabel, IsValidOrUndefinedName, IsValidOrUndefinedPassword, IsValidOrUndefinedProvider, IsValidOrUndefinedUrlDestination, IsValidOrUndefinedUrlDomain, IsValidOrUndefinedUrlFragment, IsValidOrUndefinedUrlPath, IsValidOrUndefinedUrlProtocol, IsValidOrUndefinedUrlQuery, IsValidOrUndefinedUrlUtmCampaign, IsValidOrUndefinedUrlUtmContent, IsValidOrUndefinedUrlUtmCreativeFormat, IsValidOrUndefinedUrlUtmId, IsValidOrUndefinedUrlUtmMedium, IsValidOrUndefinedUrlUtmSource, IsValidOrUndefinedUrlUtmTerm, IsValidOrUndefinedUserEmail, IsValidOrUndefinedUsername, IsValidOrUndefinedValue, IsValidPassword, IsValidPositiveInteger, IsValidPreferredName, IsValidProductInterest, IsValidProvider, IsValidRangeValueOneToFive, IsValidRefPage, IsValidReferenceDocumentId, IsValidReferenceId, IsValidResumeFile, IsValidShortString, IsValidShortStringOrUndefined, IsValidStringList, IsValidStringListOrUndefined, IsValidStringSepListOfUrls, IsValidStringSepListOfUrlsOrUndefined, IsValidUrl, IsValidUrlDestination, IsValidUrlDomain, IsValidUrlFragment, IsValidUrlList, IsValidUrlOrUndefined, IsValidUrlPath, IsValidUrlProtocol, IsValidUrlQuery, IsValidUrlUtmCampaign, IsValidUrlUtmContent, IsValidUrlUtmCreativeFormat, IsValidUrlUtmId, IsValidUrlUtmMedium, IsValidUrlUtmSource, IsValidUrlUtmTerm, IsValidUserConsent, IsValidUserEmail, IsValidUserMessage, IsValidUserPhone, IsValidUserPhoneRequired, IsValidUserRole, IsValidUserTitle, IsValidUserTitleRequired, IsValidUsername, IsValidUtmCampaignKeyName, IsValidUtmCampaignKeyNameOrUndefined, IsValidUtmLink, IsValidValue, type KeenSliderOrigin, type KeenSliderSliderSlides, LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE, LIMIT_BLOG_POST_PAGINATION_MAX_SIZE, LIMIT_CATEGORIES_DEFAULT_SIZE, LIMIT_CATEGORIES_MAX_SIZE, LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_PAGINATION_MAX_SIZE, LIMIT_LONG_STRING_MAX_LENGTH, LIMIT_MAX_DESCRIPTION, LIMIT_MAX_DESTINATION, LIMIT_MAX_DOMAIN, LIMIT_MAX_EMAIL, LIMIT_MAX_FRAGMENT, LIMIT_MAX_PASSWORD, LIMIT_MAX_PATH, LIMIT_MAX_PROVIDER, LIMIT_MAX_QUERY, LIMIT_MAX_USERNAME, LIMIT_MAX_UTM_CAMPAIGN, LIMIT_MAX_UTM_CONTENT, LIMIT_MAX_UTM_CREATIVE_FORMAT, LIMIT_MAX_UTM_ID, LIMIT_MAX_UTM_MEDIUM, LIMIT_MAX_UTM_SOURCE, LIMIT_MAX_UTM_TERM, LIMIT_MEDIUM_STRING_MAX_LENGTH, LIMIT_MIN_DESTINATION, LIMIT_MIN_DOMAIN, LIMIT_MIN_EMAIL, LIMIT_MIN_FRAGMENT, LIMIT_MIN_NAME, LIMIT_MIN_PASSWORD, LIMIT_MIN_PATH, LIMIT_MIN_QUERY, LIMIT_MIN_USERNAME, LIMIT_MIN_UTM_CAMPAIGN, LIMIT_MIN_UTM_CONTENT, LIMIT_MIN_UTM_CREATIVE_FORMAT, LIMIT_MIN_UTM_ID, LIMIT_MIN_UTM_MEDIUM, LIMIT_MIN_UTM_SOURCE, LIMIT_MIN_UTM_TERM, LIMIT_MIN_VALUE, LIMIT_PAGINATION_DEFAULT_SIZE, LIMIT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_PAGINATION_MAX_SIZE, LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE, LIMIT_REDIRECT_PAGINATION_MAX_SIZE, LIMIT_SHORT_STRING_MAX_LENGTH, LIMIT_TAGS_DEFAULT_SIZE, LIMIT_TAGS_MAX_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE, LIMIT_TREND_PAGINATION_DEFAULT_SIZE, LIMIT_TREND_PAGINATION_MAX_SIZE, LIMIT_USER_PAGINATION_DEFAULT_SIZE, LIMIT_USER_PAGINATION_MAX_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE, type LandingPageDocument, type LeadDocument, type MediaFormat, type MediaFormats, type MediaPlatformDocument, type MediaUploadDocument, type OpenGraph, type PermissionDocument, type PolicyPageDocument, type ProductDocument, type ProductHighlightDocument, QueryStrapiByDocumentId, QueryStrapiByEmail, QueryStrapiById, QueryStrapiByName, QueryStrapiByPhone, QueryStrapiBySlug, QueryStrapiPaginated, QueryStrapiPaginatedUrlRedirects, QueryStrapiSearchBlogPosts, QueryStrapiSearchBlogPostsBySlug, QueryStrapiSearchClientProjects, QueryStrapiSearchClients, QueryStrapiSearchUtmTrackingLinks, QueryStrapiUrlRedirectsByFrom, QueryStrapiUsers, QueryStrapiUsersByIdentifier, REGEX_DOMAIN, REGEX_UTM_VALUE, type ResumeDocument, type RichTextBlock, type RichTextBlockChildren, type RoleDocument, SAuthConnectProviderConfirmation, SAuthConnectProviderRedirectSearch, SAuthRawAccessToken, SChangePassword, SCreateLead, SCreateNewsletterSignup, SCreateResume, SCreateResumeInfo, SCreateUtmTrackingLinkDocument, type SCreateUtmTrackingLinkDocumentInput, SCreateUtmTrackingLinkParts, SDeleteUtmTrackingLinkDocument, SForgotUserPassword, SFormCreateMultipleUtmTrackingLinkDocuments, SLoginUser, SReadUserAccountByDocumentId, SReadUserAccountById, SReadUserByDocumentId, SReadUserById, SReadUtmTrackingLinkDocumentByDocumentId, SReadUtmTrackingLinkDocumentByUrl, SRegisterUser, SRequestConfirmEmail, SResetUserPassword, SUpdateResumeInfo, SUpdateTrendsLikes, SUpdateUserAccount, SUpdateUserAccountFirstName, SUpdateUserAccountLastName, SUpdateUserAccountPreferredName, SUpdateUtmTrackingLinkDocument, SUpdateUtmTrackingLinkDocumentRequest, SUserToken, SUtmLinkBuilderPartCampaignDateOptions, type SUtmLinkBuilderPartCampaignDateValue, SUtmLinkBuilderTableForm, type SUtmLinkBuilderTableFormInput, type SeoMeta, type SharedButton, type SharedLink, type SharedQuestionAnswer, type SharedRichTextBlock, SharpSpringSignUpToDownload, type SlideContent, type SlideType, type SliderSettings, type SliderSpacing, type Slideshow, type SlideshowMode, type SlideshowSettings, type StrapiBgColorOptions, type StrapiDirection, type StrapiErrorDetail, type StrapiErrorResponse, type StrapiGapSizes, type StrapiIconName, type StrapiIconPosition, type StrapiLinkReferrerPolicy, type StrapiLinkRel, type StrapiLinkTarget, type StrapiLinkType, type StrapiListResponse, type StrapiPagination, type StrapiResponseMeta, type StrapiSingleResponse, type StrapiTextColorOptions, type StrapiThemeOptions, type TagDocument, type TeamMemberDocument, type TeamPageDocument, type TrendDocument, type UrlRedirectDocument, type UrlRedirectQueryParams, type UrlRedirectStatusCode, type UserAccountDocument, type UserAuthorizationLoginResponse, type UserAuthorizationSuccessResponse, type UserDocument, type UserWithAccountDocument, type UtmClassificationKey, type UtmMetaPageDocument, type UtmOption, type UtmSourceKey, type UtmTrackingLinkDocument, ValidGcDesiredContentOptions, ValidGcServiceOptions, ValidGcVideoServiceOptions, ValidJobRoleGroup, ValidNumberOfEmployeeOptions, ValidRatingRange5, datePlusDays, dateToday, isValidationFailure, isValidationSuccess, omitUndefined, validateAndClean };
package/dist/index.d.ts CHANGED
@@ -398,6 +398,7 @@ type SReadUserByDocumentId = v.InferOutput<typeof SReadUserByDocumentId>;
398
398
 
399
399
  declare const SUtmLinkBuilderPartCampaignDateOptions: readonly ["annually", "quarterly", "monthly", "on a specific date", "no date"];
400
400
  type SUtmLinkBuilderPartCampaignDateValue = (typeof SUtmLinkBuilderPartCampaignDateOptions)[number];
401
+ type SUtmLinkBuilderTableFormInput = v.InferInput<typeof SUtmLinkBuilderTableForm>;
401
402
  declare const SUtmLinkBuilderTableForm: v.ObjectSchema<{
402
403
  readonly creator: v.SchemaWithPipe<readonly [v.StringSchema<"please provide a valid document id">, v.TrimAction, v.MinLengthAction<string, 1, "the document id is too short, it must be at least 1 character">, v.MaxLengthAction<string, 255, "the document id is too long, it must be 255 characters or less">]>;
403
404
  readonly client: v.SchemaWithPipe<readonly [v.StringSchema<"please provide a valid document id">, v.TrimAction, v.MinLengthAction<string, 1, "the document id is too short, it must be at least 1 character">, v.MaxLengthAction<string, 255, "the document id is too long, it must be 255 characters or less">]>;
@@ -407,7 +408,7 @@ declare const SUtmLinkBuilderTableForm: v.ObjectSchema<{
407
408
  readonly campaign: v.ObjectSchema<{
408
409
  readonly campaign_phase: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 255, "This medium value is too long.">]>;
409
410
  readonly campaign_product: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 255, "This medium value is too long.">]>, undefined>;
410
- readonly campaign_targeting: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 255, "This value is too long.">]>, undefined>, v.MinLengthAction<string[], 1, "Please select at least one targeting option.">, v.MaxLengthAction<string[], 10, "You can select up to 10 targeting options.">, v.TransformAction<string[], string>]>, undefined>;
411
+ readonly campaign_targeting: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 255, "This value is too long.">]>, undefined>, v.MinLengthAction<string[], 1, "Please select at least one targeting option.">, v.MaxLengthAction<string[], 10, "You can select up to 10 targeting options.">]>, undefined>;
411
412
  readonly campaign_key: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<"please provide a value">, v.TrimAction, v.MinLengthAction<string, 1, "the value is too short, it must be at least 1 characters">, v.MaxLengthAction<string, 255, "the value is too long, it must be 255 characters or less">, v.RegexAction<string, "the value can only contain letters, numbers, and the special characters: - _ .">]>, undefined>;
412
413
  readonly campaign_date: v.ObjectSchema<{
413
414
  readonly format: v.PicklistSchema<readonly ["annually", "quarterly", "monthly", "on a specific date", "no date"], "Please select a valid campaign date format.">;
@@ -1552,4 +1553,4 @@ declare const IsValidOrUndefinedUrlUtmTerm: v.UndefinedableSchema<v.SchemaWithPi
1552
1553
  declare const IsValidUrlUtmId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, "the utm_id is too short, it must be at least 1 characters">, v.MaxLengthAction<string, 2030, "the utm_id is too long, it must be 2030 characters or less">, v.RegexAction<string, "utm_id can only contain letters, numbers, and the special characters: - _ .">]>;
1553
1554
  declare const IsValidOrUndefinedUrlUtmId: v.UndefinedableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, "the utm_id is too short, it must be at least 1 characters">, v.MaxLengthAction<string, 2030, "the utm_id is too long, it must be 2030 characters or less">, v.RegexAction<string, "utm_id can only contain letters, numbers, and the special characters: - _ .">]>, undefined>;
1554
1555
 
1555
- export { type BaseDocument, type BlockAnnouncementBar, type BlockBrandLogos, type BlockButtonGroup, type BlockContact, type BlockCtaLink, type BlockFaq, type BlockFullscreenContent, type BlockFullscreenContentType, type BlockTextDetails, type BlockVideoEmbed, type BlogPageDocument, type BlogPostBlock, type BlogPostDocument, CLIENT_ENTITY_KEYS, CLIENT_ENTITY_PERMISSIONS, CLIENT_ENTITY_SCOPES, type CareersPageDocument, type CategoryDocument, type ClientDocument, type ClientEntityActions, type ClientEntityKey, type ClientEntityScope, type ClientProjectDocument, type ClientProjectStatus, ClientProjectStatusOptions, type ClientReportDocument, type ClientUserDocument, type ComponentBlockAnnouncementBar, type ComponentBlockBrandLogos, type ComponentBlockButtonGroup, type ComponentBlockContact, type ComponentBlockCtaLink, type ComponentBlockFaq, type ComponentBlockFullscreenContent, type ComponentBlockTextDetails, type ComponentBlockVideo, type ComponentFormDownload, type ComponentFormSelect, type ComponentOpenGraph, type ComponentSeoMeta, type ComponentSharedButton, type ComponentSharedLink, type ComponentSharedQuestionAnswer, type ComponentSharedRichTextBlock, type ComponentSlideContent, type ComponentSliderSettings, type ComponentSlideshow, type ComponentSlideshowSettings, type ComponentUtmOption, ERROR_MESSAGE_REGEX_DOMAIN, ERROR_MESSAGE_REGEX_UTM_VALUE, type FormDownload, type FormDownloadKeys, type FormSelect, type FormUID, InvalidClientTermMin, InvalidClientTermNumber, InvalidCompanyName, InvalidCompanyNameMaxLength, InvalidCsvFileType, InvalidDestinationUrl, InvalidFirstName, InvalidFirstNameMaxLength, InvalidFullName, InvalidFullNameMaxLength, InvalidInputRobot, InvalidInstrustryName, InvalidInstrustryNameMaxLength, InvalidLastName, InvalidLastNameMaxLength, InvalidListOfUrls, InvalidLongStringOrUndefined, InvalidPreferredName, InvalidPreferredNameMaxLength, InvalidProductInterestMaxLength, InvalidRangeValueOneToFive, InvalidRefPageMaxLength, InvalidResumeFileType, InvalidShortStringMax, InvalidUserMessage, InvalidUserMessageMaxLength, InvalidUserPhone, InvalidUserPhoneType, InvalidUserTitle, InvalidUserTitleMaxLength, InvalidUtmLink, IsValidBlocked, IsValidCaptchaToken, IsValidClientTerm, IsValidCompanyName, IsValidCompanyNameRequired, IsValidConfirmed, IsValidCost, IsValidCsvFile, IsValidDateToday, IsValidDescription, IsValidDestinationUrl, IsValidFileReferenceId, IsValidFirstName, IsValidFullName, IsValidGroupUserScopes, IsValidIndustryName, IsValidIsActive, IsValidIsSecure, IsValidLabel, IsValidLastName, IsValidLongString, IsValidLongStringOrUndefined, IsValidName, IsValidNumberOfEmployees, IsValidOrUndefinedBlocked, IsValidOrUndefinedConfirmed, IsValidOrUndefinedCost, IsValidOrUndefinedDescription, IsValidOrUndefinedIsActive, IsValidOrUndefinedIsSecure, IsValidOrUndefinedLabel, IsValidOrUndefinedName, IsValidOrUndefinedPassword, IsValidOrUndefinedProvider, IsValidOrUndefinedUrlDestination, IsValidOrUndefinedUrlDomain, IsValidOrUndefinedUrlFragment, IsValidOrUndefinedUrlPath, IsValidOrUndefinedUrlProtocol, IsValidOrUndefinedUrlQuery, IsValidOrUndefinedUrlUtmCampaign, IsValidOrUndefinedUrlUtmContent, IsValidOrUndefinedUrlUtmCreativeFormat, IsValidOrUndefinedUrlUtmId, IsValidOrUndefinedUrlUtmMedium, IsValidOrUndefinedUrlUtmSource, IsValidOrUndefinedUrlUtmTerm, IsValidOrUndefinedUserEmail, IsValidOrUndefinedUsername, IsValidOrUndefinedValue, IsValidPassword, IsValidPositiveInteger, IsValidPreferredName, IsValidProductInterest, IsValidProvider, IsValidRangeValueOneToFive, IsValidRefPage, IsValidReferenceDocumentId, IsValidReferenceId, IsValidResumeFile, IsValidShortString, IsValidShortStringOrUndefined, IsValidStringList, IsValidStringListOrUndefined, IsValidStringSepListOfUrls, IsValidStringSepListOfUrlsOrUndefined, IsValidUrl, IsValidUrlDestination, IsValidUrlDomain, IsValidUrlFragment, IsValidUrlList, IsValidUrlOrUndefined, IsValidUrlPath, IsValidUrlProtocol, IsValidUrlQuery, IsValidUrlUtmCampaign, IsValidUrlUtmContent, IsValidUrlUtmCreativeFormat, IsValidUrlUtmId, IsValidUrlUtmMedium, IsValidUrlUtmSource, IsValidUrlUtmTerm, IsValidUserConsent, IsValidUserEmail, IsValidUserMessage, IsValidUserPhone, IsValidUserPhoneRequired, IsValidUserRole, IsValidUserTitle, IsValidUserTitleRequired, IsValidUsername, IsValidUtmCampaignKeyName, IsValidUtmCampaignKeyNameOrUndefined, IsValidUtmLink, IsValidValue, type KeenSliderOrigin, type KeenSliderSliderSlides, LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE, LIMIT_BLOG_POST_PAGINATION_MAX_SIZE, LIMIT_CATEGORIES_DEFAULT_SIZE, LIMIT_CATEGORIES_MAX_SIZE, LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_PAGINATION_MAX_SIZE, LIMIT_LONG_STRING_MAX_LENGTH, LIMIT_MAX_DESCRIPTION, LIMIT_MAX_DESTINATION, LIMIT_MAX_DOMAIN, LIMIT_MAX_EMAIL, LIMIT_MAX_FRAGMENT, LIMIT_MAX_PASSWORD, LIMIT_MAX_PATH, LIMIT_MAX_PROVIDER, LIMIT_MAX_QUERY, LIMIT_MAX_USERNAME, LIMIT_MAX_UTM_CAMPAIGN, LIMIT_MAX_UTM_CONTENT, LIMIT_MAX_UTM_CREATIVE_FORMAT, LIMIT_MAX_UTM_ID, LIMIT_MAX_UTM_MEDIUM, LIMIT_MAX_UTM_SOURCE, LIMIT_MAX_UTM_TERM, LIMIT_MEDIUM_STRING_MAX_LENGTH, LIMIT_MIN_DESTINATION, LIMIT_MIN_DOMAIN, LIMIT_MIN_EMAIL, LIMIT_MIN_FRAGMENT, LIMIT_MIN_NAME, LIMIT_MIN_PASSWORD, LIMIT_MIN_PATH, LIMIT_MIN_QUERY, LIMIT_MIN_USERNAME, LIMIT_MIN_UTM_CAMPAIGN, LIMIT_MIN_UTM_CONTENT, LIMIT_MIN_UTM_CREATIVE_FORMAT, LIMIT_MIN_UTM_ID, LIMIT_MIN_UTM_MEDIUM, LIMIT_MIN_UTM_SOURCE, LIMIT_MIN_UTM_TERM, LIMIT_MIN_VALUE, LIMIT_PAGINATION_DEFAULT_SIZE, LIMIT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_PAGINATION_MAX_SIZE, LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE, LIMIT_REDIRECT_PAGINATION_MAX_SIZE, LIMIT_SHORT_STRING_MAX_LENGTH, LIMIT_TAGS_DEFAULT_SIZE, LIMIT_TAGS_MAX_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE, LIMIT_TREND_PAGINATION_DEFAULT_SIZE, LIMIT_TREND_PAGINATION_MAX_SIZE, LIMIT_USER_PAGINATION_DEFAULT_SIZE, LIMIT_USER_PAGINATION_MAX_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE, type LandingPageDocument, type LeadDocument, type MediaFormat, type MediaFormats, type MediaPlatformDocument, type MediaUploadDocument, type OpenGraph, type PermissionDocument, type PolicyPageDocument, type ProductDocument, type ProductHighlightDocument, QueryStrapiByDocumentId, QueryStrapiByEmail, QueryStrapiById, QueryStrapiByName, QueryStrapiByPhone, QueryStrapiBySlug, QueryStrapiPaginated, QueryStrapiPaginatedUrlRedirects, QueryStrapiSearchBlogPosts, QueryStrapiSearchBlogPostsBySlug, QueryStrapiSearchClientProjects, QueryStrapiSearchClients, QueryStrapiSearchUtmTrackingLinks, QueryStrapiUrlRedirectsByFrom, QueryStrapiUsers, QueryStrapiUsersByIdentifier, REGEX_DOMAIN, REGEX_UTM_VALUE, type ResumeDocument, type RichTextBlock, type RichTextBlockChildren, type RoleDocument, SAuthConnectProviderConfirmation, SAuthConnectProviderRedirectSearch, SAuthRawAccessToken, SChangePassword, SCreateLead, SCreateNewsletterSignup, SCreateResume, SCreateResumeInfo, SCreateUtmTrackingLinkDocument, type SCreateUtmTrackingLinkDocumentInput, SCreateUtmTrackingLinkParts, SDeleteUtmTrackingLinkDocument, SForgotUserPassword, SFormCreateMultipleUtmTrackingLinkDocuments, SLoginUser, SReadUserAccountByDocumentId, SReadUserAccountById, SReadUserByDocumentId, SReadUserById, SReadUtmTrackingLinkDocumentByDocumentId, SReadUtmTrackingLinkDocumentByUrl, SRegisterUser, SRequestConfirmEmail, SResetUserPassword, SUpdateResumeInfo, SUpdateTrendsLikes, SUpdateUserAccount, SUpdateUserAccountFirstName, SUpdateUserAccountLastName, SUpdateUserAccountPreferredName, SUpdateUtmTrackingLinkDocument, SUpdateUtmTrackingLinkDocumentRequest, SUserToken, SUtmLinkBuilderPartCampaignDateOptions, type SUtmLinkBuilderPartCampaignDateValue, SUtmLinkBuilderTableForm, type SeoMeta, type SharedButton, type SharedLink, type SharedQuestionAnswer, type SharedRichTextBlock, SharpSpringSignUpToDownload, type SlideContent, type SlideType, type SliderSettings, type SliderSpacing, type Slideshow, type SlideshowMode, type SlideshowSettings, type StrapiBgColorOptions, type StrapiDirection, type StrapiErrorDetail, type StrapiErrorResponse, type StrapiGapSizes, type StrapiIconName, type StrapiIconPosition, type StrapiLinkReferrerPolicy, type StrapiLinkRel, type StrapiLinkTarget, type StrapiLinkType, type StrapiListResponse, type StrapiPagination, type StrapiResponseMeta, type StrapiSingleResponse, type StrapiTextColorOptions, type StrapiThemeOptions, type TagDocument, type TeamMemberDocument, type TeamPageDocument, type TrendDocument, type UrlRedirectDocument, type UrlRedirectQueryParams, type UrlRedirectStatusCode, type UserAccountDocument, type UserAuthorizationLoginResponse, type UserAuthorizationSuccessResponse, type UserDocument, type UserWithAccountDocument, type UtmClassificationKey, type UtmMetaPageDocument, type UtmOption, type UtmSourceKey, type UtmTrackingLinkDocument, ValidGcDesiredContentOptions, ValidGcServiceOptions, ValidGcVideoServiceOptions, ValidJobRoleGroup, ValidNumberOfEmployeeOptions, ValidRatingRange5, datePlusDays, dateToday, isValidationFailure, isValidationSuccess, omitUndefined, validateAndClean };
1556
+ export { type BaseDocument, type BlockAnnouncementBar, type BlockBrandLogos, type BlockButtonGroup, type BlockContact, type BlockCtaLink, type BlockFaq, type BlockFullscreenContent, type BlockFullscreenContentType, type BlockTextDetails, type BlockVideoEmbed, type BlogPageDocument, type BlogPostBlock, type BlogPostDocument, CLIENT_ENTITY_KEYS, CLIENT_ENTITY_PERMISSIONS, CLIENT_ENTITY_SCOPES, type CareersPageDocument, type CategoryDocument, type ClientDocument, type ClientEntityActions, type ClientEntityKey, type ClientEntityScope, type ClientProjectDocument, type ClientProjectStatus, ClientProjectStatusOptions, type ClientReportDocument, type ClientUserDocument, type ComponentBlockAnnouncementBar, type ComponentBlockBrandLogos, type ComponentBlockButtonGroup, type ComponentBlockContact, type ComponentBlockCtaLink, type ComponentBlockFaq, type ComponentBlockFullscreenContent, type ComponentBlockTextDetails, type ComponentBlockVideo, type ComponentFormDownload, type ComponentFormSelect, type ComponentOpenGraph, type ComponentSeoMeta, type ComponentSharedButton, type ComponentSharedLink, type ComponentSharedQuestionAnswer, type ComponentSharedRichTextBlock, type ComponentSlideContent, type ComponentSliderSettings, type ComponentSlideshow, type ComponentSlideshowSettings, type ComponentUtmOption, ERROR_MESSAGE_REGEX_DOMAIN, ERROR_MESSAGE_REGEX_UTM_VALUE, type FormDownload, type FormDownloadKeys, type FormSelect, type FormUID, InvalidClientTermMin, InvalidClientTermNumber, InvalidCompanyName, InvalidCompanyNameMaxLength, InvalidCsvFileType, InvalidDestinationUrl, InvalidFirstName, InvalidFirstNameMaxLength, InvalidFullName, InvalidFullNameMaxLength, InvalidInputRobot, InvalidInstrustryName, InvalidInstrustryNameMaxLength, InvalidLastName, InvalidLastNameMaxLength, InvalidListOfUrls, InvalidLongStringOrUndefined, InvalidPreferredName, InvalidPreferredNameMaxLength, InvalidProductInterestMaxLength, InvalidRangeValueOneToFive, InvalidRefPageMaxLength, InvalidResumeFileType, InvalidShortStringMax, InvalidUserMessage, InvalidUserMessageMaxLength, InvalidUserPhone, InvalidUserPhoneType, InvalidUserTitle, InvalidUserTitleMaxLength, InvalidUtmLink, IsValidBlocked, IsValidCaptchaToken, IsValidClientTerm, IsValidCompanyName, IsValidCompanyNameRequired, IsValidConfirmed, IsValidCost, IsValidCsvFile, IsValidDateToday, IsValidDescription, IsValidDestinationUrl, IsValidFileReferenceId, IsValidFirstName, IsValidFullName, IsValidGroupUserScopes, IsValidIndustryName, IsValidIsActive, IsValidIsSecure, IsValidLabel, IsValidLastName, IsValidLongString, IsValidLongStringOrUndefined, IsValidName, IsValidNumberOfEmployees, IsValidOrUndefinedBlocked, IsValidOrUndefinedConfirmed, IsValidOrUndefinedCost, IsValidOrUndefinedDescription, IsValidOrUndefinedIsActive, IsValidOrUndefinedIsSecure, IsValidOrUndefinedLabel, IsValidOrUndefinedName, IsValidOrUndefinedPassword, IsValidOrUndefinedProvider, IsValidOrUndefinedUrlDestination, IsValidOrUndefinedUrlDomain, IsValidOrUndefinedUrlFragment, IsValidOrUndefinedUrlPath, IsValidOrUndefinedUrlProtocol, IsValidOrUndefinedUrlQuery, IsValidOrUndefinedUrlUtmCampaign, IsValidOrUndefinedUrlUtmContent, IsValidOrUndefinedUrlUtmCreativeFormat, IsValidOrUndefinedUrlUtmId, IsValidOrUndefinedUrlUtmMedium, IsValidOrUndefinedUrlUtmSource, IsValidOrUndefinedUrlUtmTerm, IsValidOrUndefinedUserEmail, IsValidOrUndefinedUsername, IsValidOrUndefinedValue, IsValidPassword, IsValidPositiveInteger, IsValidPreferredName, IsValidProductInterest, IsValidProvider, IsValidRangeValueOneToFive, IsValidRefPage, IsValidReferenceDocumentId, IsValidReferenceId, IsValidResumeFile, IsValidShortString, IsValidShortStringOrUndefined, IsValidStringList, IsValidStringListOrUndefined, IsValidStringSepListOfUrls, IsValidStringSepListOfUrlsOrUndefined, IsValidUrl, IsValidUrlDestination, IsValidUrlDomain, IsValidUrlFragment, IsValidUrlList, IsValidUrlOrUndefined, IsValidUrlPath, IsValidUrlProtocol, IsValidUrlQuery, IsValidUrlUtmCampaign, IsValidUrlUtmContent, IsValidUrlUtmCreativeFormat, IsValidUrlUtmId, IsValidUrlUtmMedium, IsValidUrlUtmSource, IsValidUrlUtmTerm, IsValidUserConsent, IsValidUserEmail, IsValidUserMessage, IsValidUserPhone, IsValidUserPhoneRequired, IsValidUserRole, IsValidUserTitle, IsValidUserTitleRequired, IsValidUsername, IsValidUtmCampaignKeyName, IsValidUtmCampaignKeyNameOrUndefined, IsValidUtmLink, IsValidValue, type KeenSliderOrigin, type KeenSliderSliderSlides, LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE, LIMIT_BLOG_POST_PAGINATION_MAX_SIZE, LIMIT_CATEGORIES_DEFAULT_SIZE, LIMIT_CATEGORIES_MAX_SIZE, LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE, LIMIT_CLIENT_PAGINATION_MAX_SIZE, LIMIT_LONG_STRING_MAX_LENGTH, LIMIT_MAX_DESCRIPTION, LIMIT_MAX_DESTINATION, LIMIT_MAX_DOMAIN, LIMIT_MAX_EMAIL, LIMIT_MAX_FRAGMENT, LIMIT_MAX_PASSWORD, LIMIT_MAX_PATH, LIMIT_MAX_PROVIDER, LIMIT_MAX_QUERY, LIMIT_MAX_USERNAME, LIMIT_MAX_UTM_CAMPAIGN, LIMIT_MAX_UTM_CONTENT, LIMIT_MAX_UTM_CREATIVE_FORMAT, LIMIT_MAX_UTM_ID, LIMIT_MAX_UTM_MEDIUM, LIMIT_MAX_UTM_SOURCE, LIMIT_MAX_UTM_TERM, LIMIT_MEDIUM_STRING_MAX_LENGTH, LIMIT_MIN_DESTINATION, LIMIT_MIN_DOMAIN, LIMIT_MIN_EMAIL, LIMIT_MIN_FRAGMENT, LIMIT_MIN_NAME, LIMIT_MIN_PASSWORD, LIMIT_MIN_PATH, LIMIT_MIN_QUERY, LIMIT_MIN_USERNAME, LIMIT_MIN_UTM_CAMPAIGN, LIMIT_MIN_UTM_CONTENT, LIMIT_MIN_UTM_CREATIVE_FORMAT, LIMIT_MIN_UTM_ID, LIMIT_MIN_UTM_MEDIUM, LIMIT_MIN_UTM_SOURCE, LIMIT_MIN_UTM_TERM, LIMIT_MIN_VALUE, LIMIT_PAGINATION_DEFAULT_SIZE, LIMIT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE, LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE, LIMIT_PRODUCT_PAGINATION_MAX_SIZE, LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE, LIMIT_REDIRECT_PAGINATION_MAX_SIZE, LIMIT_SHORT_STRING_MAX_LENGTH, LIMIT_TAGS_DEFAULT_SIZE, LIMIT_TAGS_MAX_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE, LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE, LIMIT_TREND_PAGINATION_DEFAULT_SIZE, LIMIT_TREND_PAGINATION_MAX_SIZE, LIMIT_USER_PAGINATION_DEFAULT_SIZE, LIMIT_USER_PAGINATION_MAX_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE, type LandingPageDocument, type LeadDocument, type MediaFormat, type MediaFormats, type MediaPlatformDocument, type MediaUploadDocument, type OpenGraph, type PermissionDocument, type PolicyPageDocument, type ProductDocument, type ProductHighlightDocument, QueryStrapiByDocumentId, QueryStrapiByEmail, QueryStrapiById, QueryStrapiByName, QueryStrapiByPhone, QueryStrapiBySlug, QueryStrapiPaginated, QueryStrapiPaginatedUrlRedirects, QueryStrapiSearchBlogPosts, QueryStrapiSearchBlogPostsBySlug, QueryStrapiSearchClientProjects, QueryStrapiSearchClients, QueryStrapiSearchUtmTrackingLinks, QueryStrapiUrlRedirectsByFrom, QueryStrapiUsers, QueryStrapiUsersByIdentifier, REGEX_DOMAIN, REGEX_UTM_VALUE, type ResumeDocument, type RichTextBlock, type RichTextBlockChildren, type RoleDocument, SAuthConnectProviderConfirmation, SAuthConnectProviderRedirectSearch, SAuthRawAccessToken, SChangePassword, SCreateLead, SCreateNewsletterSignup, SCreateResume, SCreateResumeInfo, SCreateUtmTrackingLinkDocument, type SCreateUtmTrackingLinkDocumentInput, SCreateUtmTrackingLinkParts, SDeleteUtmTrackingLinkDocument, SForgotUserPassword, SFormCreateMultipleUtmTrackingLinkDocuments, SLoginUser, SReadUserAccountByDocumentId, SReadUserAccountById, SReadUserByDocumentId, SReadUserById, SReadUtmTrackingLinkDocumentByDocumentId, SReadUtmTrackingLinkDocumentByUrl, SRegisterUser, SRequestConfirmEmail, SResetUserPassword, SUpdateResumeInfo, SUpdateTrendsLikes, SUpdateUserAccount, SUpdateUserAccountFirstName, SUpdateUserAccountLastName, SUpdateUserAccountPreferredName, SUpdateUtmTrackingLinkDocument, SUpdateUtmTrackingLinkDocumentRequest, SUserToken, SUtmLinkBuilderPartCampaignDateOptions, type SUtmLinkBuilderPartCampaignDateValue, SUtmLinkBuilderTableForm, type SUtmLinkBuilderTableFormInput, type SeoMeta, type SharedButton, type SharedLink, type SharedQuestionAnswer, type SharedRichTextBlock, SharpSpringSignUpToDownload, type SlideContent, type SlideType, type SliderSettings, type SliderSpacing, type Slideshow, type SlideshowMode, type SlideshowSettings, type StrapiBgColorOptions, type StrapiDirection, type StrapiErrorDetail, type StrapiErrorResponse, type StrapiGapSizes, type StrapiIconName, type StrapiIconPosition, type StrapiLinkReferrerPolicy, type StrapiLinkRel, type StrapiLinkTarget, type StrapiLinkType, type StrapiListResponse, type StrapiPagination, type StrapiResponseMeta, type StrapiSingleResponse, type StrapiTextColorOptions, type StrapiThemeOptions, type TagDocument, type TeamMemberDocument, type TeamPageDocument, type TrendDocument, type UrlRedirectDocument, type UrlRedirectQueryParams, type UrlRedirectStatusCode, type UserAccountDocument, type UserAuthorizationLoginResponse, type UserAuthorizationSuccessResponse, type UserDocument, type UserWithAccountDocument, type UtmClassificationKey, type UtmMetaPageDocument, type UtmOption, type UtmSourceKey, type UtmTrackingLinkDocument, ValidGcDesiredContentOptions, ValidGcServiceOptions, ValidGcVideoServiceOptions, ValidJobRoleGroup, ValidNumberOfEmployeeOptions, ValidRatingRange5, datePlusDays, dateToday, isValidationFailure, isValidationSuccess, omitUndefined, validateAndClean };
package/dist/index.js CHANGED
@@ -1076,8 +1076,7 @@ var SUtmLinkBuilderTableForm = v4.object({
1076
1076
  )
1077
1077
  ),
1078
1078
  v4.minLength(1, "Please select at least one targeting option."),
1079
- v4.maxLength(10, "You can select up to 10 targeting options."),
1080
- v4.transform((value) => value.join(","))
1079
+ v4.maxLength(10, "You can select up to 10 targeting options.")
1081
1080
  )
1082
1081
  ),
1083
1082
  campaign_key: v4.optional(
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/constants/limits.constants.ts","../src/constants/pagination.constants.ts","../src/constants/permission.constants.ts","../src/constants/regex.constants.ts","../src/schemas/blog.schemas.ts","../src/types/documents/client-project.document.ts","../src/validators/validators-client-users.ts","../src/validators/validators-generics.ts","../src/validators/validators-forms.ts","../src/validators/validators-urls.ts","../src/validators/validators-users.ts","../src/validators/validators-utm-params.ts","../src/schemas/client-project.schemas.ts","../src/schemas/client.schemas.ts","../src/schemas/generic.schemas.ts","../src/schemas/lead.schemas.ts","../src/schemas/newsletter.schemas.ts","../src/schemas/resume.schemas.ts","../src/schemas/sharpspring.schemas.ts","../src/schemas/trend.schemas.ts","../src/schemas/url-redirect.schemas.ts","../src/schemas/user-account.schemas.ts","../src/schemas/user-auth.schemas.ts","../src/schemas/user.schemas.ts","../src/schemas/utm-link-builder.schemas.ts","../src/schemas/utm-tracking-link.schemas.ts","../src/utilities/utilities.ts","../src/utilities/utilities-datetime.ts"],"names":["v","v2","v3","v5","v6","v7","v8","v9","v10","v11","v12","v13","v14","v15","v16","v17","v18","v19","v20","v21","v22","date"],"mappings":"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","file":"index.js","sourcesContent":["// Generics\nexport const LIMIT_MIN_VALUE = 1\nexport const LIMIT_MIN_NAME = 2\nexport const LIMIT_MAX_DESCRIPTION = 1024\nexport const LIMIT_SHORT_STRING_MAX_LENGTH = 255\nexport const LIMIT_MEDIUM_STRING_MAX_LENGTH = 500\nexport const LIMIT_LONG_STRING_MAX_LENGTH = 5000\n// Users\nexport const LIMIT_MIN_USERNAME = 3\nexport const LIMIT_MAX_USERNAME = 255\nexport const LIMIT_MIN_EMAIL = 5\nexport const LIMIT_MAX_EMAIL = 255\nexport const LIMIT_MIN_PASSWORD = 8\nexport const LIMIT_MAX_PASSWORD = 255\nexport const LIMIT_MAX_PROVIDER = 255\n// URLs\nexport const LIMIT_MIN_DESTINATION = 10\nexport const LIMIT_MAX_DESTINATION = 2048\nexport const LIMIT_MIN_DOMAIN = 10\nexport const LIMIT_MAX_DOMAIN = 253\nexport const LIMIT_MIN_PATH = 1\nexport const LIMIT_MAX_PATH = 2038\nexport const LIMIT_MIN_QUERY = 1\nexport const LIMIT_MAX_QUERY = 2038\nexport const LIMIT_MIN_FRAGMENT = 1\nexport const LIMIT_MAX_FRAGMENT = 2038\n// UTM Parameters\nexport const LIMIT_MIN_UTM_SOURCE = 1\nexport const LIMIT_MAX_UTM_SOURCE = 2026\nexport const LIMIT_MIN_UTM_MEDIUM = 1\nexport const LIMIT_MAX_UTM_MEDIUM = 2026\nexport const LIMIT_MIN_UTM_CAMPAIGN = 1\nexport const LIMIT_MAX_UTM_CAMPAIGN = 2024\nexport const LIMIT_MIN_UTM_CREATIVE_FORMAT = 1\nexport const LIMIT_MAX_UTM_CREATIVE_FORMAT = 2017\nexport const LIMIT_MIN_UTM_CONTENT = 1\nexport const LIMIT_MAX_UTM_CONTENT = 2025\nexport const LIMIT_MIN_UTM_TERM = 1\nexport const LIMIT_MAX_UTM_TERM = 2028\nexport const LIMIT_MIN_UTM_ID = 1\nexport const LIMIT_MAX_UTM_ID = 2030\n","// Generics\nexport const LIMIT_PAGINATION_DEFAULT_SIZE = 100\nexport const LIMIT_PAGINATION_MAX_SIZE = 10000\n// Entities\nexport const LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE = 6\nexport const LIMIT_BLOG_POST_PAGINATION_MAX_SIZE = 20\nexport const LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE = 16\nexport const LIMIT_CLIENT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_PRODUCT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE = 1000\nexport const LIMIT_REDIRECT_PAGINATION_MAX_SIZE = 10000\nexport const LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE = 20\nexport const LIMIT_TREND_PAGINATION_DEFAULT_SIZE = 7\nexport const LIMIT_TREND_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_USER_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_USER_PAGINATION_MAX_SIZE = 10\nexport const LIMIT_CATEGORIES_DEFAULT_SIZE = 100\nexport const LIMIT_CATEGORIES_MAX_SIZE = 1000\nexport const LIMIT_TAGS_DEFAULT_SIZE = 100\nexport const LIMIT_TAGS_MAX_SIZE = 1000\nexport const LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE = 1000\n","//\n/**\n * Example usage of ClientEntityScope type\n * @reference https://youtube.com/shorts/zOseJFD447U?si=xX8DYEHdl9YtN7S4\n *\n * > const validScope: ClientEntityScope = \"tracking-link:import\"; // ✅\n * > const invalidScope: ClientEntityScope = \"website:import\"; // ❌ Type error!\n */\n\nexport const CLIENT_ENTITY_PERMISSIONS = {\n \"client-project\": [\"list\", \"create\", \"read\", \"update\", \"delete\", \"export\", \"import\"],\n \"client-report\": [\"list\", \"create\", \"read\", \"update\", \"delete\", \"export\", \"import\"],\n \"utm-tracking-link\": [\n \"list\",\n \"create\",\n \"read\",\n \"update\",\n \"delete\",\n \"export\",\n \"import\"\n ]\n} as const\n\nexport type ClientEntityKey = keyof typeof CLIENT_ENTITY_PERMISSIONS\n\nexport type ClientEntityActions<K extends ClientEntityKey = ClientEntityKey> =\n (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]\n\ntype EntityActionJoin<K extends string, V extends string> = `${K}:${V}`\n\nexport type ClientEntityScope = {\n [K in ClientEntityKey]: EntityActionJoin<\n K,\n (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]\n >\n}[ClientEntityKey]\n\nexport const CLIENT_ENTITY_KEYS = Object.keys(\n CLIENT_ENTITY_PERMISSIONS\n) as ClientEntityKey[]\n\nexport const CLIENT_ENTITY_SCOPES: ClientEntityScope[] = Object.entries(\n CLIENT_ENTITY_PERMISSIONS\n).flatMap(([entity, actions]) =>\n actions.map((action) => `${entity}:${action}` as ClientEntityScope)\n)\n","export const ERROR_MESSAGE_REGEX_DOMAIN = \"please provide a valid domain name\"\nexport const REGEX_DOMAIN =\n /^(?=.{1,253}$)(?!-)((xn--)?[a-zA-Z0-9]{1,59}(-[a-zA-Z0-9]{1,62})?\\.)+([a-zA-Z]{2,63}|xn--[a-zA-Z0-9]{2,59})$/\n\nexport const ERROR_MESSAGE_REGEX_UTM_VALUE = `can only contain letters, numbers, and the special characters: - _ .`\nexport const REGEX_UTM_VALUE = /^[a-zA-Z0-9._-]+$/\n","import * as v from \"valibot\"\nimport {\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE,\n LIMIT_BLOG_POST_PAGINATION_MAX_SIZE\n} from \"../constants\"\n\nexport const QueryStrapiSearchBlogPosts = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_BLOG_POST_PAGINATION_MAX_SIZE)\n ),\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE\n ),\n search: v.optional(v.pipe(v.string(), v.maxLength(255)), \"\"),\n category: v.optional(v.pipe(v.string(), v.maxLength(100)), \"\"),\n tags: v.optional(v.array(v.pipe(v.string(), v.maxLength(100))), []),\n status: v.optional(v.picklist([\"draft\", \"published\"]))\n})\n\nexport type QueryStrapiSearchBlogPosts = v.InferOutput<\n typeof QueryStrapiSearchBlogPosts\n>\n\nexport const QueryStrapiSearchBlogPostsBySlug = v.object({\n slug: v.string(),\n status: v.optional(v.picklist([\"draft\", \"published\"]), \"published\")\n})\n\nexport type QueryStrapiSearchBlogPostsBySlug = v.InferOutput<\n typeof QueryStrapiSearchBlogPostsBySlug\n>\n","import type { BaseDocument, MediaUploadDocument } from \"../core\"\nimport type { ClientDocument } from \"./client.document\"\n\nexport const ClientProjectStatusOptions = [\n \"coming-soon\",\n \"now-open\",\n \"for-sale\",\n \"sold-out\",\n \"available\"\n]\nexport type ClientProjectStatus = (typeof ClientProjectStatusOptions)[number]\n\nexport type ClientProjectDocument = {\n title: string\n slug: string\n project_status: ClientProjectStatus[]\n clients?: ClientDocument[]\n featured_image?: MediaUploadDocument | null\n} & BaseDocument\n","import * as v from \"valibot\"\nimport { CLIENT_ENTITY_SCOPES } from \"../constants\"\n\nexport const IsValidGroupUserScopes = v.pipe(\n v.array(\n v.pipe(\n v.string(\"please provide a valid scope\"),\n v.picklist(CLIENT_ENTITY_SCOPES, \"invalid client scope provided\")\n ),\n \"please provide an array of scopes\"\n ),\n v.maxLength(\n CLIENT_ENTITY_SCOPES.length,\n \"you cannot provide more scopes than available\"\n )\n)\n","import * as v from \"valibot\"\nimport {\n LIMIT_LONG_STRING_MAX_LENGTH,\n LIMIT_SHORT_STRING_MAX_LENGTH\n} from \"../constants\"\n\n// reference id for relationships\nexport const IsValidReferenceId = v.number(\"please provide a valid id\")\n\nexport const IsValidReferenceDocumentId = v.pipe(\n v.string(\"please provide a valid document id\"),\n v.trim(),\n v.minLength(1, \"the document id is too short, it must be at least 1 character\"),\n v.maxLength(255, \"the document id is too long, it must be 255 characters or less\")\n)\n\n// dates\nexport const IsValidDateToday = v.pipe(\n v.date(),\n v.minValue(new Date()),\n v.transform((value) => value.toISOString())\n)\n\n// numbers\nexport const IsValidPositiveInteger = v.pipe(\n v.number(\"Please enter a number.\"),\n v.integer(\"Please enter a whole number.\"),\n v.minValue(1, \"Please enter a positive number.\")\n)\n\n// strings\nexport const InvalidShortStringMax = `The string you provided is too long, please abbreviate your string to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidShortString = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidShortStringMax)\n)\nexport const IsValidShortStringOrUndefined = v.optional(IsValidShortString)\n\nexport const InvalidLongStringOrUndefined = `The string you provided is too long, please abbreviate your string to be ${LIMIT_LONG_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidLongString = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined)\n)\nexport const IsValidLongStringOrUndefined = v.optional(IsValidLongString)\n\nexport const IsValidStringList = v.pipe(\n v.array(v.string()),\n v.transform((value) => value.join(\",\"))\n)\nexport const IsValidStringListOrUndefined = v.optional(IsValidStringList)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_LONG_STRING_MAX_LENGTH,\n LIMIT_MAX_DESCRIPTION,\n LIMIT_MAX_DESTINATION,\n LIMIT_MEDIUM_STRING_MAX_LENGTH,\n LIMIT_MIN_NAME,\n LIMIT_MIN_VALUE,\n LIMIT_SHORT_STRING_MAX_LENGTH,\n REGEX_UTM_VALUE\n} from \"../constants\"\nimport { InvalidLongStringOrUndefined } from \"./validators-generics\"\n\nexport const InvalidInputRobot = \"It appears you are a robot, please try again.\"\n\n// File Reference\nexport const IsValidFileReferenceId = v.object({\n id: v.number(),\n src: v.optional(v.string())\n})\n\n// names\nexport const InvalidFullName = \"Please enter your name.\"\nexport const InvalidFullNameMaxLength = `Your name is too long for our datanase, please abbreviate your name to be ${LIMIT_MEDIUM_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidFullName = v.pipe(\n v.string(InvalidFullName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidFullName),\n v.maxLength(LIMIT_MEDIUM_STRING_MAX_LENGTH, InvalidFullNameMaxLength),\n v.includes(\" \", \"Please enter your first and last name.\")\n)\n\nexport const InvalidFirstName = \"Please enter your first name.\"\nexport const InvalidFirstNameMaxLength = `Your first name is too long for our datanase, please abbreviate your first name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidFirstName = v.pipe(\n v.string(InvalidFirstName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidFirstName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidFirstNameMaxLength)\n)\n\nexport const InvalidLastName = \"Please enter your last name.\"\nexport const InvalidLastNameMaxLength = `Your last name is too long for our datanase, please abbreviate your last name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidLastName = v.pipe(\n v.string(InvalidLastName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidLastName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidLastNameMaxLength)\n)\n\nexport const InvalidPreferredName = \"Please enter your preferred name.\"\nexport const InvalidPreferredNameMaxLength = `Your preferred name is too long for our datanase, please abbreviate your preferred name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidPreferredName = v.pipe(\n v.string(InvalidPreferredName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidPreferredName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidPreferredNameMaxLength)\n)\n\nexport const IsValidUserConsent = v.boolean()\n\nexport const InvalidUserPhoneType = \"Please enter your phone number.\"\nexport const InvalidUserPhone = `The phone you provided does not appear to be a valid phone number.`\nexport const IsValidUserPhoneRequired = v.pipe(\n v.string(InvalidUserPhoneType),\n v.trim(),\n v.minLength(7, InvalidUserPhoneType),\n v.maxLength(15, InvalidUserPhone)\n)\nexport const IsValidUserPhone = v.optional(IsValidUserPhoneRequired)\n\nexport const InvalidCompanyName = \"Please enter your company name.\"\nexport const InvalidCompanyNameMaxLength = `The company name you provided is too long for our database, please abbreviate your company name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidCompanyNameRequired = v.pipe(\n v.string(InvalidCompanyName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidCompanyName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidCompanyNameMaxLength)\n)\nexport const IsValidCompanyName = v.optional(IsValidCompanyNameRequired)\n\nexport const InvalidUserTitle = \"Please enter your job title or reference.\"\nexport const InvalidUserTitleMaxLength = `The job title you provided is too long for our database, please abbreviate your company name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidUserTitleRequired = v.pipe(\n v.string(InvalidUserTitle),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidUserTitle),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidUserTitleMaxLength)\n)\nexport const IsValidUserTitle = v.optional(IsValidUserTitleRequired)\n\nexport const InvalidUserMessage = \"How can we be of service to your team?\"\nexport const InvalidUserMessageMaxLength = `The message you provided is too long for our database, please abbreviate your message to be ${LIMIT_LONG_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidUserMessage = v.optional(\n v.pipe(\n v.string(InvalidUserMessage),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidUserMessageMaxLength)\n )\n)\n\nexport const InvalidRefPageMaxLength = `The string you provided is too long for our database, please abbreviate your string to be ${LIMIT_MAX_DESTINATION} characters or less.`\nexport const IsValidRefPage = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_MAX_DESTINATION, InvalidRefPageMaxLength)\n)\n\nexport const InvalidProductInterestMaxLength = `The product interest provided is too long. It must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidProductInterest = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidProductInterestMaxLength)\n)\n\nexport const IsValidCaptchaToken = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined)\n)\n\nexport const InvalidInstrustryName = \"Please enter your industry.\"\nexport const InvalidInstrustryNameMaxLength = `The industry you provided is too long for our database, please abbreviate your industry to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidIndustryName = v.optional(\n v.pipe(\n v.string(InvalidInstrustryName),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidInstrustryNameMaxLength)\n )\n)\n\nexport const InvalidRangeValueOneToFive = `Please select a value between 1 and 5. (1 = Poor, 3 = Neutral, 5 = Excellent)`\nexport const IsValidRangeValueOneToFive = v.pipe(\n v.string(),\n v.picklist([\"1\", \"2\", \"3\", \"4\", \"5\"], InvalidRangeValueOneToFive)\n)\n\nexport const InvalidClientTermNumber = `Please provide how many months your team has used this product.`\nexport const InvalidClientTermMin = `We're sorry, you must be a client for at least 1 month to provide feedback.`\nexport const IsValidClientTerm = v.pipe(\n v.number(InvalidClientTermNumber),\n v.minValue(1, InvalidClientTermMin)\n)\n\nexport const IsValidUrl = v.pipe(\n v.string(),\n v.trim(),\n v.startsWith(\"http\", \"Please enter a valid URL starting with http or https.\"),\n v.url(\"Please enter a valid URL.\")\n)\nexport const IsValidUrlOrUndefined = v.optional(IsValidUrl)\n\nexport const IsValidUrlList = (input: string) => {\n if (input === \"\") return true\n const urls = input.split(\",\")\n if (urls.length > 0) {\n const truthy = []\n for (let i = 0; i < urls.length; i++) {\n const result = v.safeParse(IsValidUrl, urls[i])\n truthy.push(result.success)\n }\n return truthy.every((item) => item === true)\n }\n return false\n}\n\nexport const InvalidListOfUrls = \"Please enter a list of URLs separated by commas.\"\nexport const IsValidStringSepListOfUrls = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined),\n v.check(IsValidUrlList, InvalidListOfUrls)\n)\nexport const IsValidStringSepListOfUrlsOrUndefined = v.optional(\n IsValidStringSepListOfUrls\n)\n\nexport const InvalidDestinationUrl = \"Please remove any query parameters from the URL.\"\nexport const IsValidDestinationUrl = v.pipe(\n v.string(),\n v.trim(),\n v.url(\"Please enter a valid URL.\"),\n v.check((input: string) => {\n if (input === \"\") return false\n return input.indexOf(\"?\") === -1\n }, InvalidDestinationUrl)\n)\n\nexport const InvalidUtmLink = \"Please enter a valid URL with UTM parameters.\"\nexport const IsValidUtmLink = v.pipe(\n v.string(),\n v.trim(),\n v.url(\"Please enter a valid URL.\"),\n v.check((input: string) => {\n return input.includes(\"utm_\")\n }, InvalidUtmLink)\n)\n\nexport const IsValidUtmCampaignKeyName = v.pipe(\n v.string(\"please provide a value\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the value is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the value is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `the value ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidUtmCampaignKeyNameOrUndefined = v.optional(\n IsValidUtmCampaignKeyName\n)\n\nexport const InvalidCsvFileType = \"Please upload a CSV file.\"\nexport const IsValidCsvFile = v.optional(\n v.pipe(v.blob(), v.mimeType([\"text/csv\"], InvalidCsvFileType))\n)\n\nexport const InvalidResumeFileType = \"Please upload a PDF or Word document.\"\nexport const IsValidResumeFile = v.nullable(\n v.pipe(\n v.file(InvalidResumeFileType),\n v.mimeType([\"application/pdf\"], InvalidResumeFileType)\n )\n)\n\nexport const ValidNumberOfEmployeeOptions = [\n { label: \"0-10\", value: \"0-10\" },\n { label: \"11-20\", value: \"11-20\" },\n { label: \"21-50\", value: \"21-50\" },\n { label: \"51-100\", value: \"51-100\" },\n { label: \"101-500\", value: \"101-500\" },\n { label: \"501+\", value: \"501+\" }\n] as const\n\nexport const IsValidNumberOfEmployees = v.pipe(\n v.string(),\n v.picklist(\n ValidNumberOfEmployeeOptions.map((item) => item.value),\n \"Please select an option that best describes your team size.\"\n )\n)\n\nexport const ValidJobRoleGroup = [\n {\n label: \"Founder / Owner\",\n value: \"founder,owner\"\n },\n {\n label: \"C-suite Executive\",\n value: \"executive\"\n },\n {\n label: \"Vice President\",\n value: \"vice president\"\n },\n {\n label: \"Director\",\n value: \"director\"\n },\n {\n label: \"Manager\",\n value: \"manager\"\n },\n {\n label: \"Solo-prenour\",\n value: \"solo-prenour\"\n },\n {\n label: \"Student\",\n value: \"student\"\n }\n] as const\n\nexport const IsValidUserRole = v.pipe(\n v.string(),\n v.picklist(\n ValidJobRoleGroup.map((item) => item.value),\n \"Please select an option that best describes your role.\"\n )\n)\n\nexport const ValidGcServiceOptions = [\n { label: \"Full Marketing Services\", value: \"Full Marketing Services\" },\n {\n label: \"Graphic Design / Marketing Design\",\n value: \"Graphic Design / Marketing Design\"\n },\n { label: \"Text Message Marketing\", value: \"Text Message Marketing\" },\n { label: \"Email Marketing\", value: \"Email Marketing\" },\n { label: \"Video Production\", value: \"Video Production\" },\n { label: \"Website Production\", value: \"Website Production\" },\n { label: \"Marketing Automation Software\", value: \"Marketing Automation Software\" },\n { label: \"Online Advertising\", value: \"Online Advertising\" },\n { label: \"Influencer Marketing\", value: \"Influencer Marketing\" }\n] as const\n\nexport const ValidGcVideoServiceOptions = [\n { label: \"Storyboarding\", value: \"Storyboarding\" },\n { label: \"Voiceovers\", value: \"Voiceovers\" },\n { label: \"Video Commercials / Interviews\", value: \"Video Commercials / Interviews\" },\n {\n label: \"Short Form Video Editing (social posts/stories)\",\n value: \"Short Form Video Editing (social posts/stories)\"\n },\n { label: \"Product Tours\", value: \"Product Tours\" },\n { label: \"Model Home / Community Tours\", value: \"Model Home / Community Tours\" },\n { label: \"Matterport Interactive Tours\", value: \"Matterport Interactive Tours\" },\n { label: \"3D Flyover Videos\", value: \"3D Flyover Videos\" }\n] as const\n\nexport const ValidGcDesiredContentOptions = [\n { label: \"Blog Posts\", value: \"Blog Posts\" },\n { label: \"Podcasting\", value: \"Podcasting\" },\n { label: \"Live Streams\", value: \"Live Streams\" },\n { label: \"Newsletters\", value: \"Newsletters\" },\n { label: \"Freebies / Toolkits\", value: \"Freebies / Toolkits\" },\n { label: \"Community Updates\", value: \"Community Updates\" }\n] as const\n\nexport const ValidRatingRange5 = [\n { label: \"1\", value: \"1\" },\n { label: \"2\", value: \"2\" },\n { label: \"3\", value: \"3\" },\n { label: \"4\", value: \"4\" },\n { label: \"5\", value: \"5\" }\n] as const\n\n// cost\nexport const IsValidCost = v.pipe(\n v.number(\"please enter a cost value\"),\n v.minValue(0),\n v.maxValue(\n 1000000,\n \"your campaign cost exceeds our $1 million dollar limit, please contact us for customized solutions\"\n )\n)\nexport const IsValidOrUndefinedCost = v.undefinedable(IsValidCost)\n\n// label\nexport const IsValidLabel = v.pipe(\n v.string(\"please provide a label\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the label is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the label is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n )\n)\nexport const IsValidOrUndefinedLabel = v.undefinedable(IsValidLabel)\n\n// value\nexport const IsValidValue = v.pipe(\n v.string(\"please provide a value\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the value is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the value is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `the value ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedValue = v.undefinedable(IsValidValue)\n\n// description (optional)\nexport const IsValidDescription = v.nullable(\n v.pipe(\n v.string(\"the description must be a string\"),\n v.trim(),\n v.maxLength(\n LIMIT_MAX_DESCRIPTION,\n `the description is too long, it must be ${LIMIT_MAX_DESCRIPTION} characters or less`\n )\n )\n)\nexport const IsValidOrUndefinedDescription = v.undefinedable(IsValidDescription)\n\n// is_active\nexport const IsValidIsActive = v.boolean(\"isActive must be a boolean\")\nexport const IsValidOrUndefinedIsActive = v.undefinedable(IsValidIsActive)\n\n// is_secure\nexport const IsValidIsSecure = v.boolean(\"isSecure must be a boolean\")\nexport const IsValidOrUndefinedIsSecure = v.undefinedable(IsValidIsSecure)\n\n// generic name\nexport const IsValidName = v.pipe(\n v.string(\"please provide a name\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_NAME,\n `the name is too short, it must be at least ${LIMIT_MIN_NAME} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the name is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n )\n)\nexport const IsValidOrUndefinedName = v.undefinedable(IsValidName)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_DOMAIN,\n LIMIT_MAX_DESTINATION,\n LIMIT_MAX_DOMAIN,\n LIMIT_MAX_FRAGMENT,\n LIMIT_MAX_PATH,\n LIMIT_MAX_QUERY,\n LIMIT_MIN_DESTINATION,\n LIMIT_MIN_DOMAIN,\n LIMIT_MIN_FRAGMENT,\n LIMIT_MIN_PATH,\n LIMIT_MIN_QUERY,\n REGEX_DOMAIN\n} from \"../constants\"\n\n// destination\nexport const IsValidUrlDestination = v.pipe(\n v.string(\"please provide a url destination\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_DESTINATION,\n `the url destination is too short, it must be at least ${LIMIT_MIN_DESTINATION} characters`\n ),\n v.maxLength(\n LIMIT_MAX_DESTINATION,\n `the url destination is too long, it must be ${LIMIT_MAX_DESTINATION} characters or less`\n ),\n v.url(\"please provide a valid url\")\n)\nexport const IsValidOrUndefinedUrlDestination = v.undefinedable(IsValidUrlDestination)\n\n// protocol\nexport const IsValidUrlProtocol = v.picklist(\n [\"http\", \"https\"],\n \"please provide a valid url protocol\"\n)\nexport const IsValidOrUndefinedUrlProtocol = v.undefinedable(IsValidUrlProtocol)\n\n// domain\nexport const IsValidUrlDomain = v.pipe(\n v.string(\"please provide a domain\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_DOMAIN,\n `the domain is too short, it must be at least ${LIMIT_MIN_DOMAIN} characters`\n ),\n v.maxLength(\n LIMIT_MAX_DOMAIN,\n `the domain is too long, it must be ${LIMIT_MAX_DOMAIN} characters or less`\n ),\n v.regex(REGEX_DOMAIN, ERROR_MESSAGE_REGEX_DOMAIN)\n)\nexport const IsValidOrUndefinedUrlDomain = v.undefinedable(IsValidUrlDomain)\n\n// path\nexport const IsValidUrlPath = v.pipe(\n v.string(\"please provide a url path\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_PATH,\n `the url path is too short, it must be at least ${LIMIT_MIN_PATH} characters`\n ),\n v.maxLength(\n LIMIT_MAX_PATH,\n `the url path is too long, it must be ${LIMIT_MAX_PATH} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlPath = v.undefinedable(IsValidUrlPath)\n\n// query\nexport const IsValidUrlQuery = v.pipe(\n v.string(\"please provide a url query\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_QUERY,\n `the url query is too short, it must be at least ${LIMIT_MIN_QUERY} characters`\n ),\n v.maxLength(\n LIMIT_MAX_QUERY,\n `the url query is too long, it must be ${LIMIT_MAX_QUERY} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlQuery = v.undefinedable(IsValidUrlQuery)\n\n// fragment\nexport const IsValidUrlFragment = v.pipe(\n v.string(\"please provide a url hash/fragment\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_FRAGMENT,\n `the url hash/fragment is too short, it must be at least ${LIMIT_MIN_FRAGMENT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_FRAGMENT,\n `the url hash/fragment is too long, it must be ${LIMIT_MAX_FRAGMENT} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlFragment = v.undefinedable(IsValidUrlFragment)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_MAX_EMAIL,\n LIMIT_MAX_PASSWORD,\n LIMIT_MAX_PROVIDER,\n LIMIT_MAX_USERNAME,\n LIMIT_MIN_EMAIL,\n LIMIT_MIN_PASSWORD,\n LIMIT_MIN_USERNAME,\n REGEX_UTM_VALUE\n} from \"../constants\"\n\nexport const IsValidUsername = v.pipe(\n v.string(\"please provide a username\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_USERNAME,\n `your username is too short, it must be at least ${LIMIT_MIN_USERNAME} characters`\n ),\n v.maxLength(\n LIMIT_MAX_USERNAME,\n `your username is too long, it must be ${LIMIT_MAX_USERNAME} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `your username ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUsername = v.undefinedable(IsValidUsername)\n\nexport const IsValidUserEmail = v.pipe(\n v.string(\"please provide an email\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_EMAIL,\n `your email is too short, it must be at least ${LIMIT_MIN_EMAIL} characters`\n ),\n v.maxLength(\n LIMIT_MAX_EMAIL,\n `your email is too long, it must be ${LIMIT_MAX_EMAIL} characters or less`\n ),\n v.email(\"please provide a valid email address\")\n)\nexport const IsValidOrUndefinedUserEmail = v.undefinedable(IsValidUserEmail)\n\nexport const IsValidPassword = v.pipe(\n v.string(\"a password is required\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_PASSWORD,\n `your password is too short, it must be at least ${LIMIT_MIN_PASSWORD} characters`\n ),\n v.maxLength(\n LIMIT_MAX_PASSWORD,\n `your password is too long, it must be ${LIMIT_MAX_PASSWORD} characters or less`\n )\n)\nexport const IsValidOrUndefinedPassword = v.undefinedable(IsValidPassword)\n\nexport const IsValidProvider = v.pipe(\n v.string(\"please enter a provider\"),\n v.trim(),\n v.maxLength(\n LIMIT_MAX_PROVIDER,\n `the provider string is too long, it must be ${LIMIT_MAX_PROVIDER} characters or less`\n )\n)\nexport const IsValidOrUndefinedProvider = v.undefinedable(IsValidProvider)\n\nexport const IsValidConfirmed = v.boolean()\nexport const IsValidOrUndefinedConfirmed = v.undefinedable(IsValidConfirmed)\n\nexport const IsValidBlocked = v.boolean()\nexport const IsValidOrUndefinedBlocked = v.undefinedable(IsValidBlocked)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_MAX_UTM_CAMPAIGN,\n LIMIT_MAX_UTM_CONTENT,\n LIMIT_MAX_UTM_CREATIVE_FORMAT,\n LIMIT_MAX_UTM_ID,\n LIMIT_MAX_UTM_MEDIUM,\n LIMIT_MAX_UTM_SOURCE,\n LIMIT_MAX_UTM_TERM,\n LIMIT_MIN_UTM_CAMPAIGN,\n LIMIT_MIN_UTM_CONTENT,\n LIMIT_MIN_UTM_CREATIVE_FORMAT,\n LIMIT_MIN_UTM_ID,\n LIMIT_MIN_UTM_MEDIUM,\n LIMIT_MIN_UTM_SOURCE,\n LIMIT_MIN_UTM_TERM,\n REGEX_UTM_VALUE\n} from \"../constants\"\n\n// utm_source\nexport const IsValidUrlUtmSource = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_SOURCE,\n `the utm_source is too short, it must be at least ${LIMIT_MIN_UTM_SOURCE} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_SOURCE,\n `the utm_source is too long, it must be ${LIMIT_MAX_UTM_SOURCE} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_source ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmSource = v.undefinedable(IsValidUrlUtmSource)\n\n// utm_medium\nexport const IsValidUrlUtmMedium = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_MEDIUM,\n `the utm_medium is too short, it must be at least ${LIMIT_MIN_UTM_MEDIUM} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_MEDIUM,\n `the utm_medium is too long, it must be ${LIMIT_MAX_UTM_MEDIUM} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_medium ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmMedium = v.undefinedable(IsValidUrlUtmMedium)\n\n// utm_campaign\nexport const IsValidUrlUtmCampaign = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CAMPAIGN,\n `the utm_campaign is too short, it must be at least ${LIMIT_MIN_UTM_CAMPAIGN} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CAMPAIGN,\n `the utm_campaign is too long, it must be ${LIMIT_MAX_UTM_CAMPAIGN} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_campaign ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmCampaign = v.undefinedable(IsValidUrlUtmCampaign)\n\n// utm_creative_format\nexport const IsValidUrlUtmCreativeFormat = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CREATIVE_FORMAT,\n `the utm_creative_format is too short, it must be at least ${LIMIT_MIN_UTM_CREATIVE_FORMAT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CREATIVE_FORMAT,\n `the utm_creative_format is too long, it must be ${LIMIT_MAX_UTM_CREATIVE_FORMAT} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_creative_format ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmCreativeFormat = v.undefinedable(\n IsValidUrlUtmCreativeFormat\n)\n\n// utm_content\nexport const IsValidUrlUtmContent = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CONTENT,\n `the utm_content is too short, it must be at least ${LIMIT_MIN_UTM_CONTENT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CONTENT,\n `the utm_content is too long, it must be ${LIMIT_MAX_UTM_CONTENT} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_content ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmContent = v.undefinedable(IsValidUrlUtmContent)\n\n// utm_term\nexport const IsValidUrlUtmTerm = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_TERM,\n `the utm_term is too short, it must be at least ${LIMIT_MIN_UTM_TERM} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_TERM,\n `the utm_term is too long, it must be ${LIMIT_MAX_UTM_TERM} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_term ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmTerm = v.undefinedable(IsValidUrlUtmTerm)\n\n// utm_id\nexport const IsValidUrlUtmId = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_ID,\n `the utm_id is too short, it must be at least ${LIMIT_MIN_UTM_ID} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_ID,\n `the utm_id is too long, it must be ${LIMIT_MAX_UTM_ID} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_id ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmId = v.undefinedable(IsValidUrlUtmId)\n","import * as v from \"valibot\"\nimport {\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE,\n LIMIT_CLIENT_PAGINATION_MAX_SIZE\n} from \"../constants\"\nimport { ClientProjectStatusOptions } from \"../types\"\nimport { IsValidReferenceDocumentId, IsValidShortString } from \"../validators\"\n\nexport const QueryStrapiSearchClientProjects = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(1), v.maxValue(LIMIT_CLIENT_PAGINATION_MAX_SIZE)),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n title: v.optional(IsValidShortString),\n slug: v.optional(IsValidShortString),\n project_status: v.optional(v.picklist(ClientProjectStatusOptions)),\n clientId: v.optional(IsValidReferenceDocumentId)\n})\n\nexport type QueryStrapiSearchClientProjects = v.InferOutput<\n typeof QueryStrapiSearchClientProjects\n>\n","import * as v from \"valibot\"\nimport {\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE,\n LIMIT_CLIENT_PAGINATION_MAX_SIZE\n} from \"../constants\"\nimport { IsValidShortString } from \"../validators\"\n\nexport const QueryStrapiSearchClients = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(1), v.maxValue(LIMIT_CLIENT_PAGINATION_MAX_SIZE)),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n title: v.optional(IsValidShortString),\n teamwork_id: v.optional(IsValidShortString),\n teamwork_name: v.optional(IsValidShortString),\n utm_sheet_id: v.optional(IsValidShortString),\n allow_create_utm_link: v.optional(v.boolean()),\n classification: v.optional(v.picklist([\"organic\", \"paid\"])),\n is_featured: v.optional(v.boolean()),\n is_active: v.optional(v.boolean()),\n is_organic_social: v.optional(v.boolean()),\n is_paid_media: v.optional(v.boolean())\n})\n\nexport type QueryStrapiSearchClients = v.InferOutput<typeof QueryStrapiSearchClients>\n","import * as v from \"valibot\"\nimport { LIMIT_PAGINATION_DEFAULT_SIZE, LIMIT_PAGINATION_MAX_SIZE } from \"../constants\"\nimport {\n IsValidReferenceDocumentId,\n IsValidReferenceId,\n IsValidShortString,\n IsValidUserEmail,\n IsValidUserPhoneRequired\n} from \"../validators\"\n\n// Paginated Query\nexport const QueryStrapiPaginated = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(1), v.maxValue(LIMIT_PAGINATION_MAX_SIZE)),\n LIMIT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiPaginated = v.InferOutput<typeof QueryStrapiPaginated>\n\n// Query by: ID, Document ID\nexport const QueryStrapiById = v.object({\n id: IsValidReferenceId\n})\nexport type QueryStrapiById = v.InferOutput<typeof QueryStrapiById>\n\nexport const QueryStrapiByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type QueryStrapiByDocumentId = v.InferOutput<typeof QueryStrapiByDocumentId>\n\n// Query by: Slug, Email, Phone, or Name\nexport const QueryStrapiBySlug = v.object({\n slug: IsValidShortString\n})\nexport type QueryStrapiBySlug = v.InferOutput<typeof QueryStrapiBySlug>\n\nexport const QueryStrapiByEmail = v.object({\n email: IsValidUserEmail\n})\nexport type QueryStrapiByEmail = v.InferOutput<typeof QueryStrapiByEmail>\n\nexport const QueryStrapiByPhone = v.object({\n phone: IsValidUserPhoneRequired\n})\nexport type QueryStrapiByPhone = v.InferOutput<typeof QueryStrapiByPhone>\n\nexport const QueryStrapiByName = v.object({\n name: IsValidShortString\n})\nexport type QueryStrapiByName = v.InferOutput<typeof QueryStrapiByName>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidCompanyName,\n IsValidFirstName,\n IsValidLastName,\n IsValidProductInterest,\n IsValidRefPage,\n IsValidUserConsent,\n IsValidUserEmail,\n IsValidUserMessage,\n IsValidUserPhoneRequired,\n IsValidUserTitle\n} from \"../validators\"\n\nexport const SCreateLead = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhoneRequired,\n company: IsValidCompanyName,\n title: IsValidUserTitle,\n message: IsValidUserMessage,\n product_interest: IsValidProductInterest,\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SCreateLead = v.InferOutput<typeof SCreateLead>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidUserConsent,\n IsValidUserEmail\n} from \"../validators\"\n\nexport const SCreateNewsletterSignup = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n // hidden fields\n email_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SCreateNewsletterSignup = v.InferOutput<typeof SCreateNewsletterSignup>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFileReferenceId,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidResumeFile,\n IsValidShortString,\n IsValidStringSepListOfUrlsOrUndefined,\n IsValidUserConsent,\n IsValidUserEmail,\n IsValidUserMessage,\n IsValidUserPhone\n} from \"../validators\"\n\nexport const SCreateResume = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidResumeFile, // File object\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SCreateResume = v.InferOutput<typeof SCreateResume>\n\nexport const SCreateResumeInfo = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidFileReferenceId, // File reference ID\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SCreateResumeInfo = v.InferOutput<typeof SCreateResumeInfo>\n\nexport const SUpdateResumeInfo = v.object({\n documentId: IsValidShortString,\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidFileReferenceId, // File reference ID\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SUpdateResumeInfo = v.InferOutput<typeof SUpdateResumeInfo>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidShortString,\n IsValidUserConsent,\n IsValidUserEmail\n} from \"../validators\"\n\nexport const SharpSpringSignUpToDownload = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n // hidden fields\n download_key: IsValidShortString,\n email_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SharpSpringSignUpToDownload = v.InferOutput<\n typeof SharpSpringSignUpToDownload\n>\n","import * as v from \"valibot\"\n\nexport const SUpdateTrendsLikes = v.object({\n documentId: v.string(),\n likes: v.number()\n})\n\nexport type SUpdateTrendsLikes = v.InferOutput<typeof SUpdateTrendsLikes>\n","import * as v from \"valibot\"\nimport {\n LIMIT_BLOG_POST_PAGINATION_MAX_SIZE,\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n} from \"../constants\"\n\nexport const QueryStrapiPaginatedUrlRedirects = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_BLOG_POST_PAGINATION_MAX_SIZE)\n ),\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n )\n})\n\nexport type QueryStrapiPaginatedUrlRedirects = v.InferOutput<\n typeof QueryStrapiPaginatedUrlRedirects\n>\n\nexport const QueryStrapiUrlRedirectsByFrom = v.object({\n from: v.string()\n})\n\nexport type QueryStrapiUrlRedirectsByFrom = v.InferOutput<\n typeof QueryStrapiUrlRedirectsByFrom\n>\n","import * as v from \"valibot\"\nimport {\n IsValidFirstName,\n IsValidLastName,\n IsValidPreferredName,\n IsValidReferenceDocumentId,\n IsValidReferenceId\n} from \"../validators\"\n\n// READ\nexport const SReadUserAccountById = v.object({\n id: IsValidReferenceId\n})\nexport type SReadUserAccountById = v.InferOutput<typeof SReadUserAccountById>\n\nexport const SReadUserAccountByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SReadUserAccountByDocumentId = v.InferOutput<\n typeof SReadUserAccountByDocumentId\n>\n\n// UPDATE\nexport const SUpdateUserAccount = v.object({\n documentId: IsValidReferenceDocumentId,\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n preferred_name: IsValidPreferredName\n})\nexport type SUpdateUserAccount = v.InferOutput<typeof SUpdateUserAccount>\n\nexport const SUpdateUserAccountFirstName = v.object({\n documentId: IsValidReferenceDocumentId,\n first_name: IsValidFirstName\n})\nexport type SUpdateUserAccountFirstName = v.InferOutput<\n typeof SUpdateUserAccountFirstName\n>\n\nexport const SUpdateUserAccountLastName = v.object({\n documentId: IsValidReferenceDocumentId,\n last_name: IsValidLastName\n})\nexport type SUpdateUserAccountLastName = v.InferOutput<\n typeof SUpdateUserAccountLastName\n>\n\nexport const SUpdateUserAccountPreferredName = v.object({\n documentId: IsValidReferenceDocumentId,\n preferred_name: IsValidPreferredName\n})\nexport type SUpdateUserAccountPreferredName = v.InferOutput<\n typeof SUpdateUserAccountPreferredName\n>\n","import * as v from \"valibot\"\nimport { IsValidPassword, IsValidUserEmail, IsValidUsername } from \"../validators\"\n\n// JWT\nexport const SUserToken = v.object({\n token: v.string()\n})\nexport type SUserToken = v.InferOutput<typeof SUserToken>\n\n// AUTH LOCAL\n// LOGIN\nexport const SLoginUser = v.object({\n identifier: IsValidUserEmail,\n password: IsValidPassword\n})\nexport type SLoginUser = v.InferOutput<typeof SLoginUser>\n\n// REGISTER\nexport const SRegisterUser = v.object({\n username: IsValidUsername,\n email: IsValidUserEmail,\n password: IsValidPassword\n})\nexport type SRegisterUser = v.InferOutput<typeof SRegisterUser>\n\n// FORGOT PASSWORD\nexport const SForgotUserPassword = v.object({\n email: IsValidUserEmail\n})\nexport type SForgotUserPassword = v.InferOutput<typeof SForgotUserPassword>\n\n// REQUEST CONFIRM EMAIL\nexport const SRequestConfirmEmail = v.object({\n email: IsValidUserEmail\n})\nexport type SRequestConfirmEmail = v.InferOutput<typeof SRequestConfirmEmail>\n\n// RESET PASSWORD\nexport const SResetUserPassword = v.object({\n password: IsValidPassword,\n passwordConfirmation: IsValidPassword,\n code: v.string()\n})\nexport type SResetUserPassword = v.InferOutput<typeof SResetUserPassword>\n\n// CHANGE PASSWORD\nexport const SChangePassword = v.pipe(\n v.object({\n currentPassword: IsValidPassword,\n password: IsValidPassword,\n passwordConfirmation: IsValidPassword\n }),\n v.forward(\n v.partialCheck(\n [[\"password\"], [\"passwordConfirmation\"]],\n (input) => input.password === input.passwordConfirmation,\n \"Your new passwords do not match.\"\n ),\n [\"passwordConfirmation\"]\n )\n)\nexport type SChangePassword = v.InferOutput<typeof SChangePassword>\n\n// AUTH PROVIDER\n// Auth Provider Token\nexport const SAuthRawAccessToken = v.object({\n access_token: v.optional(v.string()),\n expires_in: v.optional(v.number()),\n scope: v.optional(v.string()),\n token_type: v.optional(v.string()),\n id_token: v.optional(v.string())\n})\nexport type SAuthRawAccessToken = v.InferOutput<typeof SAuthRawAccessToken>\n\n// Auth Connect Provider Redirect Search\nexport const SAuthConnectProviderRedirectSearch = v.object({\n id_token: v.string(),\n access_token: v.string(),\n raw: v.optional(SAuthRawAccessToken)\n})\nexport type SAuthConnectProviderRedirectSearch = v.InferOutput<\n typeof SAuthConnectProviderRedirectSearch\n>\n\n// Auth Connect Provider Confirmation\nexport const SAuthConnectProviderConfirmation = v.object({\n provider: v.string(),\n search: SAuthConnectProviderRedirectSearch\n})\nexport type SAuthConnectProviderConfirmation = v.InferOutput<\n typeof SAuthConnectProviderConfirmation\n>\n","import * as v from \"valibot\"\nimport {\n LIMIT_SHORT_STRING_MAX_LENGTH,\n LIMIT_USER_PAGINATION_DEFAULT_SIZE,\n LIMIT_USER_PAGINATION_MAX_SIZE\n} from \"../constants\"\nimport { IsValidReferenceDocumentId, IsValidReferenceId } from \"../validators\"\n\n// LIST\nexport const QueryStrapiUsers = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(3), v.maxValue(LIMIT_USER_PAGINATION_MAX_SIZE)),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiUsers = v.InferOutput<typeof QueryStrapiUsers>\n\nexport const QueryStrapiUsersByIdentifier = v.object({\n identifier: v.pipe(v.string(), v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH)),\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(3), v.maxValue(LIMIT_USER_PAGINATION_MAX_SIZE)),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiUsersByIdentifier = v.InferOutput<\n typeof QueryStrapiUsersByIdentifier\n>\n\n// READ\nexport const SReadUserById = v.object({\n id: IsValidReferenceId\n})\nexport type SReadUserById = v.InferOutput<typeof SReadUserById>\n\nexport const SReadUserByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SReadUserByDocumentId = v.InferOutput<typeof SReadUserByDocumentId>\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_MIN_VALUE,\n LIMIT_SHORT_STRING_MAX_LENGTH,\n REGEX_UTM_VALUE\n} from \"../constants\"\nimport { IsValidDestinationUrl, IsValidReferenceDocumentId } from \"../validators\"\n\nexport const SUtmLinkBuilderPartCampaignDateOptions = [\n \"annually\",\n \"quarterly\",\n \"monthly\",\n \"on a specific date\",\n \"no date\"\n] as const\n\nexport type SUtmLinkBuilderPartCampaignDateValue =\n (typeof SUtmLinkBuilderPartCampaignDateOptions)[number]\n\nexport const SUtmLinkBuilderTableForm = v.object({\n creator: IsValidReferenceDocumentId,\n client: IsValidReferenceDocumentId,\n url_destinations: v.pipe(\n v.array(IsValidDestinationUrl),\n v.minLength(1, \"Please provide at least one destination URL.\"),\n v.maxLength(100, \"You can provide up to 100 destination URLs.\")\n ),\n sources: v.pipe(\n v.array(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This source value is too long.\")\n )\n ),\n v.minLength(1, \"Please select at least one source.\"),\n v.maxLength(10, \"You can select up to 10 sources.\")\n ),\n mediums: v.pipe(\n v.array(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This medium value is too long.\")\n )\n ),\n v.minLength(1, \"Please select at least one medium.\"),\n v.maxLength(10, \"You can select up to 10 mediums.\")\n ),\n campaign: v.object({\n campaign_phase: v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This medium value is too long.\")\n ),\n campaign_product: v.optional(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This medium value is too long.\")\n )\n ),\n campaign_targeting: v.optional(\n v.pipe(\n v.array(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This value is too long.\")\n )\n ),\n v.minLength(1, \"Please select at least one targeting option.\"),\n v.maxLength(10, \"You can select up to 10 targeting options.\"),\n v.transform((value) => value.join(\",\"))\n )\n ),\n campaign_key: v.optional(\n v.pipe(\n v.string(\"please provide a value\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the value is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the value is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `the value ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n )\n ),\n campaign_date: v.object({\n format: v.picklist(\n SUtmLinkBuilderPartCampaignDateOptions,\n \"Please select a valid campaign date format.\"\n ),\n value: v.object({\n year: v.number(),\n quarter: v.optional(v.number()),\n month: v.optional(v.number()),\n day: v.optional(v.number())\n })\n })\n }),\n contents: v.optional(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This content value is too long.\")\n )\n ),\n creative_formats: v.pipe(\n v.array(\n v.object({\n creative_format: v.optional(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n \"This creative format value is too long.\"\n )\n )\n ),\n creative_format_variants: v.optional(\n v.array(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n \"This creative variant value is too long.\"\n )\n )\n )\n )\n })\n ),\n v.minLength(1, \"Please select at least one creative format.\"),\n v.maxLength(10, \"You can select up to 10 creative formats.\")\n ),\n id: v.optional(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This ID value is too long.\")\n )\n ),\n notes: v.optional(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This notes value is too long.\")\n )\n )\n})\n\nexport type SUtmLinkBuilderTableForm = v.InferOutput<typeof SUtmLinkBuilderTableForm>\n","import * as v from \"valibot\"\nimport {\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE,\n LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE\n} from \"../constants\"\nimport {\n IsValidDestinationUrl,\n IsValidIsActive,\n IsValidLongStringOrUndefined,\n IsValidReferenceDocumentId,\n IsValidShortString,\n IsValidShortStringOrUndefined,\n IsValidStringListOrUndefined,\n IsValidUrl,\n IsValidUrlUtmCampaign,\n IsValidUrlUtmContent,\n IsValidUrlUtmCreativeFormat,\n IsValidUrlUtmId,\n IsValidUrlUtmMedium,\n IsValidUrlUtmSource,\n IsValidUtmCampaignKeyNameOrUndefined,\n IsValidUtmLink\n} from \"../validators\"\n\n// LIST\nexport const QueryStrapiSearchUtmTrackingLinks = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE)\n ),\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE\n ),\n url_destination: v.optional(IsValidDestinationUrl),\n utm_medium: v.optional(IsValidUrlUtmMedium),\n utm_source: v.optional(IsValidUrlUtmSource),\n utm_campaign: v.optional(IsValidUrlUtmCampaign),\n utm_content: v.optional(IsValidUrlUtmContent),\n utm_creative_format: v.optional(IsValidUrlUtmCreativeFormat),\n utm_id: v.optional(IsValidUrlUtmId),\n campaign_phase: v.optional(IsValidShortString),\n campaign_product: v.optional(IsValidShortString),\n campaign_targeting: v.optional(IsValidShortString),\n campaign_key: v.optional(IsValidShortString),\n creative_format: v.optional(IsValidShortString),\n creative_format_variants: v.optional(v.array(IsValidShortString)),\n url: v.optional(IsValidUrl),\n is_active: v.optional(v.boolean()),\n notes: v.optional(IsValidShortString)\n})\n\nexport type QueryStrapiSearchUtmTrackingLinks = v.InferOutput<\n typeof QueryStrapiSearchUtmTrackingLinks\n>\n\n// CREATE\nexport const SCreateUtmTrackingLinkDocument = v.object({\n creator: IsValidReferenceDocumentId,\n client: IsValidReferenceDocumentId,\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined\n})\nexport type SCreateUtmTrackingLinkDocumentInput = v.InferInput<\n typeof SCreateUtmTrackingLinkDocument\n>\nexport type SCreateUtmTrackingLinkDocument = v.InferOutput<\n typeof SCreateUtmTrackingLinkDocument\n>\n\nexport const SCreateUtmTrackingLinkParts = v.object({\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined\n})\nexport type SCreateUtmTrackingLinkParts = v.InferOutput<\n typeof SCreateUtmTrackingLinkParts\n>\n\nexport const SFormCreateMultipleUtmTrackingLinkDocuments = v.object({\n creator: IsValidReferenceDocumentId,\n client: IsValidReferenceDocumentId,\n links: v.pipe(\n v.array(SCreateUtmTrackingLinkParts),\n v.minLength(1, \"You must provide at least one link to create.\"),\n v.maxLength(100, \"You can create a maximum of 100 links at once.\")\n )\n})\nexport type SFormCreateMultipleUtmTrackingLinkDocuments = v.InferInput<\n typeof SFormCreateMultipleUtmTrackingLinkDocuments\n>\n\n// READ\nexport const SReadUtmTrackingLinkDocumentByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SReadUtmTrackingLinkDocumentByDocumentId = v.InferOutput<\n typeof SReadUtmTrackingLinkDocumentByDocumentId\n>\n\nexport const SReadUtmTrackingLinkDocumentByUrl = v.object({\n url: IsValidUtmLink\n})\nexport type SReadUtmTrackingLinkDocumentByUrl = v.InferOutput<\n typeof SReadUtmTrackingLinkDocumentByUrl\n>\n\n// UPDATE\nexport const SUpdateUtmTrackingLinkDocument = v.object({\n creator: v.optional(IsValidReferenceDocumentId),\n client: v.optional(IsValidReferenceDocumentId),\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined\n})\nexport type SUpdateUtmTrackingLinkDocument = v.InferOutput<\n typeof SUpdateUtmTrackingLinkDocument\n>\n\nexport const SUpdateUtmTrackingLinkDocumentRequest = v.object({\n documentId: IsValidReferenceDocumentId,\n data: SUpdateUtmTrackingLinkDocument\n})\nexport type SUpdateUtmTrackingLinkDocumentRequest = v.InferOutput<\n typeof SUpdateUtmTrackingLinkDocumentRequest\n>\n\n// DELETE\nexport const SDeleteUtmTrackingLinkDocument = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SDeleteUtmTrackingLinkDocument = v.InferOutput<\n typeof SDeleteUtmTrackingLinkDocument\n>\n","import * as v from \"valibot\"\n\ntype ValidateAndCleanSuccess<T> = {\n data: Partial<T>\n error: null\n errors: null\n}\n\ntype ValidateAndCleanFailure = {\n data: null\n error: string | null\n errors: Record<string, string> | null\n}\n\ntype ValidateAndCleanResult<T> = ValidateAndCleanSuccess<T> | ValidateAndCleanFailure\n\nexport function validateAndClean<T>(\n schema: v.BaseSchema<T, Partial<T>, v.BaseIssue<T>>,\n input: unknown\n): ValidateAndCleanResult<T> {\n try {\n const parsed = v.parse(schema, input)\n return { data: parsed, error: null, errors: null }\n } catch (err: unknown) {\n if (err instanceof v.ValiError) {\n const errors: Record<string, string> = {}\n for (const issue of err.issues) {\n const field = issue.path?.[0]?.key || \"unknown\"\n errors[field] = issue.message\n }\n return { data: null, error: null, errors }\n }\n let errorMessage = \"Unknown error\"\n if (err instanceof Error) {\n errorMessage = err.message\n } else {\n errorMessage = String(err)\n }\n return { data: null, error: errorMessage, errors: null }\n }\n}\n\nexport function isValidationSuccess<T>(\n result: ValidateAndCleanResult<T>\n): result is ValidateAndCleanSuccess<T> {\n return result.error === null && result.errors === null\n}\n\nexport function isValidationFailure<T>(\n result: ValidateAndCleanResult<T>\n): result is ValidateAndCleanFailure {\n return result.error !== null || result.errors !== null\n}\n\nexport function omitUndefined<T extends Record<string, any>>(obj: T): Partial<T> {\n const result: Partial<T> = {}\n for (const key in obj) {\n if (obj[key] !== undefined) {\n result[key] = obj[key]\n }\n }\n return result\n}\n","export function dateToday(): Date {\n const date = new Date()\n date.setHours(0, 0, 0, 0)\n return date\n}\n\nexport function datePlusDays(today: Date, days: number = 30): Date {\n const date = new Date(today)\n date.setDate(date.getDate() + days)\n date.setHours(23, 59, 59, 999)\n return date\n}\n"]}
1
+ {"version":3,"sources":["../src/constants/limits.constants.ts","../src/constants/pagination.constants.ts","../src/constants/permission.constants.ts","../src/constants/regex.constants.ts","../src/schemas/blog.schemas.ts","../src/types/documents/client-project.document.ts","../src/validators/validators-client-users.ts","../src/validators/validators-generics.ts","../src/validators/validators-forms.ts","../src/validators/validators-urls.ts","../src/validators/validators-users.ts","../src/validators/validators-utm-params.ts","../src/schemas/client-project.schemas.ts","../src/schemas/client.schemas.ts","../src/schemas/generic.schemas.ts","../src/schemas/lead.schemas.ts","../src/schemas/newsletter.schemas.ts","../src/schemas/resume.schemas.ts","../src/schemas/sharpspring.schemas.ts","../src/schemas/trend.schemas.ts","../src/schemas/url-redirect.schemas.ts","../src/schemas/user-account.schemas.ts","../src/schemas/user-auth.schemas.ts","../src/schemas/user.schemas.ts","../src/schemas/utm-link-builder.schemas.ts","../src/schemas/utm-tracking-link.schemas.ts","../src/utilities/utilities.ts","../src/utilities/utilities-datetime.ts"],"names":["v","v2","v3","v5","v6","v7","v8","v9","v10","v11","v12","v13","v14","v15","v16","v17","v18","v19","v20","v21","v22","date"],"mappings":";;;AACO,IAAM,eAAA,GAAkB;AACxB,IAAM,cAAA,GAAiB;AACvB,IAAM,qBAAA,GAAwB;AAC9B,IAAM,6BAAA,GAAgC;AACtC,IAAM,8BAAA,GAAiC;AACvC,IAAM,4BAAA,GAA+B;AAErC,IAAM,kBAAA,GAAqB;AAC3B,IAAM,kBAAA,GAAqB;AAC3B,IAAM,eAAA,GAAkB;AACxB,IAAM,eAAA,GAAkB;AACxB,IAAM,kBAAA,GAAqB;AAC3B,IAAM,kBAAA,GAAqB;AAC3B,IAAM,kBAAA,GAAqB;AAE3B,IAAM,qBAAA,GAAwB;AAC9B,IAAM,qBAAA,GAAwB;AAC9B,IAAM,gBAAA,GAAmB;AACzB,IAAM,gBAAA,GAAmB;AACzB,IAAM,cAAA,GAAiB;AACvB,IAAM,cAAA,GAAiB;AACvB,IAAM,eAAA,GAAkB;AACxB,IAAM,eAAA,GAAkB;AACxB,IAAM,kBAAA,GAAqB;AAC3B,IAAM,kBAAA,GAAqB;AAE3B,IAAM,oBAAA,GAAuB;AAC7B,IAAM,oBAAA,GAAuB;AAC7B,IAAM,oBAAA,GAAuB;AAC7B,IAAM,oBAAA,GAAuB;AAC7B,IAAM,sBAAA,GAAyB;AAC/B,IAAM,sBAAA,GAAyB;AAC/B,IAAM,6BAAA,GAAgC;AACtC,IAAM,6BAAA,GAAgC;AACtC,IAAM,qBAAA,GAAwB;AAC9B,IAAM,qBAAA,GAAwB;AAC9B,IAAM,kBAAA,GAAqB;AAC3B,IAAM,kBAAA,GAAqB;AAC3B,IAAM,gBAAA,GAAmB;AACzB,IAAM,gBAAA,GAAmB;;;ACvCzB,IAAM,6BAAA,GAAgC;AACtC,IAAM,yBAAA,GAA4B;AAElC,IAAM,uCAAA,GAA0C;AAChD,IAAM,mCAAA,GAAsC;AAC5C,IAAM,oCAAA,GAAuC;AAC7C,IAAM,gCAAA,GAAmC;AACzC,IAAM,+CAAA,GAAkD;AACxD,IAAM,2CAAA,GAA8C;AACpD,IAAM,qCAAA,GAAwC;AAC9C,IAAM,iCAAA,GAAoC;AAC1C,IAAM,sCAAA,GAAyC;AAC/C,IAAM,kCAAA,GAAqC;AAC3C,IAAM,yCAAA,GAA4C;AAClD,IAAM,qCAAA,GAAwC;AAC9C,IAAM,mCAAA,GAAsC;AAC5C,IAAM,+BAAA,GAAkC;AACxC,IAAM,kCAAA,GAAqC;AAC3C,IAAM,8BAAA,GAAiC;AACvC,IAAM,6BAAA,GAAgC;AACtC,IAAM,yBAAA,GAA4B;AAClC,IAAM,uBAAA,GAA0B;AAChC,IAAM,mBAAA,GAAsB;AAC5B,IAAM,+CAAA,GAAkD;AACxD,IAAM,2CAAA,GAA8C;;;AChBpD,IAAM,yBAAA,GAA4B;AAAA,EACvC,gBAAA,EAAkB,CAAC,MAAA,EAAQ,QAAA,EAAU,QAAQ,QAAA,EAAU,QAAA,EAAU,UAAU,QAAQ,CAAA;AAAA,EACnF,eAAA,EAAiB,CAAC,MAAA,EAAQ,QAAA,EAAU,QAAQ,QAAA,EAAU,QAAA,EAAU,UAAU,QAAQ,CAAA;AAAA,EAClF,mBAAA,EAAqB;AAAA,IACnB,MAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA;AAEJ;AAgBO,IAAM,qBAAqB,MAAA,CAAO,IAAA;AAAA,EACvC;AACF;AAEO,IAAM,uBAA4C,MAAA,CAAO,OAAA;AAAA,EAC9D;AACF,CAAA,CAAE,OAAA;AAAA,EAAQ,CAAC,CAAC,MAAA,EAAQ,OAAO,CAAA,KACzB,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,KAAW,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,MAAM,CAAA,CAAuB;AACpE;;;AC7CO,IAAM,0BAAA,GAA6B;AACnC,IAAM,YAAA,GACX;AAEK,IAAM,6BAAA,GAAgC,CAAA,oEAAA;AACtC,IAAM,eAAA,GAAkB;ACCxB,IAAM,6BAA+BA,EAAA,CAAA,MAAA,CAAO;AAAA,EACjD,IAAA,EAAQA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,IAAA,CAAOA,EAAA,CAAA,MAAA,EAAO,EAAKA,EAAA,CAAA,QAAA,CAAS,CAAC,CAAC,CAAA,EAAG,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,EACpE,IAAA,EAAQA,EAAA,CAAA,QAAA;AAAA,IACJA,EAAA,CAAA,QAAA;AAAA,MACEA,EAAA,CAAA,IAAA;AAAA,QACEA,EAAA,CAAA,MAAA,EAAO;AAAA,QACPA,YAAS,CAAC,CAAA;AAAA,QACVA,YAAS,mCAAmC;AAAA,OAChD;AAAA,MACA;AAAA,KACF;AAAA,IACA;AAAA,GACF;AAAA,EACA,MAAA,EAAUA,YAAWA,EAAA,CAAA,IAAA,CAAOA,EAAA,CAAA,MAAA,IAAYA,EAAA,CAAA,SAAA,CAAU,GAAG,CAAC,CAAA,EAAG,EAAE,CAAA;AAAA,EAC3D,QAAA,EAAYA,YAAWA,EAAA,CAAA,IAAA,CAAOA,EAAA,CAAA,MAAA,IAAYA,EAAA,CAAA,SAAA,CAAU,GAAG,CAAC,CAAA,EAAG,EAAE,CAAA;AAAA,EAC7D,IAAA,EAAQA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,KAAA,CAAQA,EAAA,CAAA,IAAA,CAAOA,EAAA,CAAA,MAAA,EAAO,EAAKA,EAAA,CAAA,SAAA,CAAU,GAAG,CAAC,CAAC,CAAA,EAAG,EAAE,CAAA;AAAA,EAClE,QAAUA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,QAAA,CAAS,CAAC,OAAA,EAAS,WAAW,CAAC,CAAC;AACvD,CAAC;AAMM,IAAM,mCAAqCA,EAAA,CAAA,MAAA,CAAO;AAAA,EACvD,MAAQA,EAAA,CAAA,MAAA,EAAO;AAAA,EACf,MAAA,EAAUA,YAAWA,EAAA,CAAA,QAAA,CAAS,CAAC,SAAS,WAAW,CAAC,GAAG,WAAW;AACpE,CAAC;;;AC7BM,IAAM,0BAAA,GAA6B;AAAA,EACxC,aAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF;ACNO,IAAM,sBAAA,GAA2BC,EAAA,CAAA,IAAA;AAAA,EACpCA,EAAA,CAAA,KAAA;AAAA,IACEA,EAAA,CAAA,IAAA;AAAA,MACEA,UAAO,8BAA8B,CAAA;AAAA,MACrCA,EAAA,CAAA,QAAA,CAAS,sBAAsB,+BAA+B;AAAA,KAClE;AAAA,IACA;AAAA,GACF;AAAA,EACEA,EAAA,CAAA,SAAA;AAAA,IACA,oBAAA,CAAqB,MAAA;AAAA,IACrB;AAAA;AAEJ;ACRO,IAAM,kBAAA,GAAuBC,UAAO,2BAA2B;AAE/D,IAAM,0BAAA,GAA+BA,EAAA,CAAA,IAAA;AAAA,EACxCA,UAAO,oCAAoC,CAAA;AAAA,EAC3CA,EAAA,CAAA,IAAA,EAAK;AAAA,EACLA,EAAA,CAAA,SAAA,CAAU,GAAG,+DAA+D,CAAA;AAAA,EAC5EA,EAAA,CAAA,SAAA,CAAU,KAAK,gEAAgE;AACnF;AAGO,IAAM,gBAAA,GAAqBA,EAAA,CAAA,IAAA;AAAA,EAC9BA,EAAA,CAAA,IAAA,EAAK;AAAA,EACLA,EAAA,CAAA,QAAA,iBAAS,IAAI,IAAA,EAAM,CAAA;AAAA,EACnBA,EAAA,CAAA,SAAA,CAAU,CAAC,KAAA,KAAU,KAAA,CAAM,aAAa;AAC5C;AAGO,IAAM,sBAAA,GAA2BA,EAAA,CAAA,IAAA;AAAA,EACpCA,UAAO,wBAAwB,CAAA;AAAA,EAC/BA,WAAQ,8BAA8B,CAAA;AAAA,EACtCA,EAAA,CAAA,QAAA,CAAS,GAAG,iCAAiC;AACjD;AAGO,IAAM,qBAAA,GAAwB,4EAA4E,6BAA6B,CAAA,oBAAA;AACvI,IAAM,kBAAA,GAAuBA,EAAA,CAAA,IAAA;AAAA,EAChCA,EAAA,CAAA,MAAA,EAAO;AAAA,EACPA,EAAA,CAAA,IAAA,EAAK;AAAA,EACLA,EAAA,CAAA,SAAA,CAAU,+BAA+B,qBAAqB;AAClE;AACO,IAAM,6BAAA,GAAkCA,YAAS,kBAAkB;AAEnE,IAAM,4BAAA,GAA+B,4EAA4E,4BAA4B,CAAA,oBAAA;AAC7I,IAAM,iBAAA,GAAsBA,EAAA,CAAA,IAAA;AAAA,EAC/BA,EAAA,CAAA,MAAA,EAAO;AAAA,EACPA,EAAA,CAAA,IAAA,EAAK;AAAA,EACLA,EAAA,CAAA,SAAA,CAAU,8BAA8B,4BAA4B;AACxE;AACO,IAAM,4BAAA,GAAiCA,YAAS,iBAAiB;AAEjE,IAAM,iBAAA,GAAsBA,EAAA,CAAA,IAAA;AAAA,EAC/BA,EAAA,CAAA,KAAA,CAAQA,WAAQ,CAAA;AAAA,EAChBA,aAAU,CAAC,KAAA,KAAU,KAAA,CAAM,IAAA,CAAK,GAAG,CAAC;AACxC;AACO,IAAM,4BAAA,GAAiCA,YAAS,iBAAiB;;;ACrCjE,IAAM,iBAAA,GAAoB;AAG1B,IAAM,yBAA2B,EAAA,CAAA,MAAA,CAAO;AAAA,EAC7C,IAAM,EAAA,CAAA,MAAA,EAAO;AAAA,EACb,GAAA,EAAO,EAAA,CAAA,QAAA,CAAW,EAAA,CAAA,MAAA,EAAQ;AAC5B,CAAC;AAGM,IAAM,eAAA,GAAkB;AACxB,IAAM,wBAAA,GAA2B,6EAA6E,8BAA8B,CAAA,oBAAA;AAC5I,IAAM,eAAA,GAAoB,EAAA,CAAA,IAAA;AAAA,EAC7B,UAAO,eAAe,CAAA;AAAA,EACtB,EAAA,CAAA,IAAA,EAAK;AAAA,EACL,EAAA,CAAA,SAAA,CAAU,iBAAiB,eAAe,CAAA;AAAA,EAC1C,EAAA,CAAA,SAAA,CAAU,gCAAgC,wBAAwB,CAAA;AAAA,EAClE,EAAA,CAAA,QAAA,CAAS,KAAK,wCAAwC;AAC1D;AAEO,IAAM,gBAAA,GAAmB;AACzB,IAAM,yBAAA,GAA4B,yFAAyF,6BAA6B,CAAA,oBAAA;AACxJ,IAAM,gBAAA,GAAqB,EAAA,CAAA,IAAA;AAAA,EAC9B,UAAO,gBAAgB,CAAA;AAAA,EACvB,EAAA,CAAA,IAAA,EAAK;AAAA,EACL,EAAA,CAAA,SAAA,CAAU,iBAAiB,gBAAgB,CAAA;AAAA,EAC3C,EAAA,CAAA,SAAA,CAAU,+BAA+B,yBAAyB;AACtE;AAEO,IAAM,eAAA,GAAkB;AACxB,IAAM,wBAAA,GAA2B,uFAAuF,6BAA6B,CAAA,oBAAA;AACrJ,IAAM,eAAA,GAAoB,EAAA,CAAA,IAAA;AAAA,EAC7B,UAAO,eAAe,CAAA;AAAA,EACtB,EAAA,CAAA,IAAA,EAAK;AAAA,EACL,EAAA,CAAA,SAAA,CAAU,iBAAiB,eAAe,CAAA;AAAA,EAC1C,EAAA,CAAA,SAAA,CAAU,+BAA+B,wBAAwB;AACrE;AAEO,IAAM,oBAAA,GAAuB;AAC7B,IAAM,6BAAA,GAAgC,iGAAiG,6BAA6B,CAAA,oBAAA;AACpK,IAAM,oBAAA,GAAyB,EAAA,CAAA,IAAA;AAAA,EAClC,UAAO,oBAAoB,CAAA;AAAA,EAC3B,EAAA,CAAA,IAAA,EAAK;AAAA,EACL,EAAA,CAAA,SAAA,CAAU,iBAAiB,oBAAoB,CAAA;AAAA,EAC/C,EAAA,CAAA,SAAA,CAAU,+BAA+B,6BAA6B;AAC1E;AAEO,IAAM,qBAAuB,EAAA,CAAA,OAAA;AAE7B,IAAM,oBAAA,GAAuB;AAC7B,IAAM,gBAAA,GAAmB,CAAA,kEAAA;AACzB,IAAM,wBAAA,GAA6B,EAAA,CAAA,IAAA;AAAA,EACtC,UAAO,oBAAoB,CAAA;AAAA,EAC3B,EAAA,CAAA,IAAA,EAAK;AAAA,EACL,EAAA,CAAA,SAAA,CAAU,GAAG,oBAAoB,CAAA;AAAA,EACjC,EAAA,CAAA,SAAA,CAAU,IAAI,gBAAgB;AAClC;AACO,IAAM,gBAAA,GAAqB,YAAS,wBAAwB;AAE5D,IAAM,kBAAA,GAAqB;AAC3B,IAAM,2BAAA,GAA8B,yGAAyG,6BAA6B,CAAA,oBAAA;AAC1K,IAAM,0BAAA,GAA+B,EAAA,CAAA,IAAA;AAAA,EACxC,UAAO,kBAAkB,CAAA;AAAA,EACzB,EAAA,CAAA,IAAA,EAAK;AAAA,EACL,EAAA,CAAA,SAAA,CAAU,iBAAiB,kBAAkB,CAAA;AAAA,EAC7C,EAAA,CAAA,SAAA,CAAU,+BAA+B,2BAA2B;AACxE;AACO,IAAM,kBAAA,GAAuB,YAAS,0BAA0B;AAEhE,IAAM,gBAAA,GAAmB;AACzB,IAAM,yBAAA,GAA4B,sGAAsG,6BAA6B,CAAA,oBAAA;AACrK,IAAM,wBAAA,GAA6B,EAAA,CAAA,IAAA;AAAA,EACtC,UAAO,gBAAgB,CAAA;AAAA,EACvB,EAAA,CAAA,IAAA,EAAK;AAAA,EACL,EAAA,CAAA,SAAA,CAAU,iBAAiB,gBAAgB,CAAA;AAAA,EAC3C,EAAA,CAAA,SAAA,CAAU,+BAA+B,yBAAyB;AACtE;AACO,IAAM,gBAAA,GAAqB,YAAS,wBAAwB;AAE5D,IAAM,kBAAA,GAAqB;AAC3B,IAAM,2BAAA,GAA8B,+FAA+F,4BAA4B,CAAA,oBAAA;AAC/J,IAAM,kBAAA,GAAuB,EAAA,CAAA,QAAA;AAAA,EAChC,EAAA,CAAA,IAAA;AAAA,IACE,UAAO,kBAAkB,CAAA;AAAA,IACzB,EAAA,CAAA,IAAA,EAAK;AAAA,IACL,EAAA,CAAA,SAAA,CAAU,8BAA8B,2BAA2B;AAAA;AAEzE;AAEO,IAAM,uBAAA,GAA0B,6FAA6F,qBAAqB,CAAA,oBAAA;AAClJ,IAAM,cAAA,GAAmB,EAAA,CAAA,IAAA;AAAA,EAC5B,UAAO,iBAAiB,CAAA;AAAA,EACxB,EAAA,CAAA,IAAA,EAAK;AAAA,EACL,EAAA,CAAA,SAAA,CAAU,uBAAuB,uBAAuB;AAC5D;AAEO,IAAM,+BAAA,GAAkC,yDAAyD,6BAA6B,CAAA,oBAAA;AAC9H,IAAM,sBAAA,GAA2B,EAAA,CAAA,IAAA;AAAA,EACpC,UAAO,iBAAiB,CAAA;AAAA,EACxB,EAAA,CAAA,IAAA,EAAK;AAAA,EACL,EAAA,CAAA,SAAA,CAAU,+BAA+B,+BAA+B;AAC5E;AAEO,IAAM,mBAAA,GAAwB,EAAA,CAAA,IAAA;AAAA,EACjC,UAAO,iBAAiB,CAAA;AAAA,EACxB,EAAA,CAAA,IAAA,EAAK;AAAA,EACL,EAAA,CAAA,SAAA,CAAU,8BAA8B,4BAA4B;AACxE;AAEO,IAAM,qBAAA,GAAwB;AAC9B,IAAM,8BAAA,GAAiC,iGAAiG,6BAA6B,CAAA,oBAAA;AACrK,IAAM,mBAAA,GAAwB,EAAA,CAAA,QAAA;AAAA,EACjC,EAAA,CAAA,IAAA;AAAA,IACE,UAAO,qBAAqB,CAAA;AAAA,IAC5B,EAAA,CAAA,IAAA,EAAK;AAAA,IACL,EAAA,CAAA,SAAA,CAAU,+BAA+B,8BAA8B;AAAA;AAE7E;AAEO,IAAM,0BAAA,GAA6B,CAAA,6EAAA;AACnC,IAAM,0BAAA,GAA+B,EAAA,CAAA,IAAA;AAAA,EACxC,EAAA,CAAA,MAAA,EAAO;AAAA,EACP,EAAA,CAAA,QAAA,CAAS,CAAC,GAAA,EAAK,GAAA,EAAK,KAAK,GAAA,EAAK,GAAG,GAAG,0BAA0B;AAClE;AAEO,IAAM,uBAAA,GAA0B,CAAA,+DAAA;AAChC,IAAM,oBAAA,GAAuB,CAAA,2EAAA;AAC7B,IAAM,iBAAA,GAAsB,EAAA,CAAA,IAAA;AAAA,EAC/B,UAAO,uBAAuB,CAAA;AAAA,EAC9B,EAAA,CAAA,QAAA,CAAS,GAAG,oBAAoB;AACpC;AAEO,IAAM,UAAA,GAAe,EAAA,CAAA,IAAA;AAAA,EACxB,EAAA,CAAA,MAAA,EAAO;AAAA,EACP,EAAA,CAAA,IAAA,EAAK;AAAA,EACL,EAAA,CAAA,UAAA,CAAW,QAAQ,uDAAuD,CAAA;AAAA,EAC1E,OAAI,2BAA2B;AACnC;AACO,IAAM,qBAAA,GAA0B,YAAS,UAAU;AAEnD,IAAM,cAAA,GAAiB,CAAC,KAAA,KAAkB;AAC/C,EAAA,IAAI,KAAA,KAAU,IAAI,OAAO,IAAA;AACzB,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,KAAA,CAAM,GAAG,CAAA;AAC5B,EAAA,IAAI,IAAA,CAAK,SAAS,CAAA,EAAG;AACnB,IAAA,MAAM,SAAS,EAAC;AAChB,IAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,IAAA,CAAK,QAAQ,CAAA,EAAA,EAAK;AACpC,MAAA,MAAM,MAAA,GAAW,EAAA,CAAA,SAAA,CAAU,UAAA,EAAY,IAAA,CAAK,CAAC,CAAC,CAAA;AAC9C,MAAA,MAAA,CAAO,IAAA,CAAK,OAAO,OAAO,CAAA;AAAA,IAC5B;AACA,IAAA,OAAO,MAAA,CAAO,KAAA,CAAM,CAAC,IAAA,KAAS,SAAS,IAAI,CAAA;AAAA,EAC7C;AACA,EAAA,OAAO,KAAA;AACT;AAEO,IAAM,iBAAA,GAAoB;AAC1B,IAAM,0BAAA,GAA+B,EAAA,CAAA,IAAA;AAAA,EACxC,EAAA,CAAA,MAAA,EAAO;AAAA,EACP,EAAA,CAAA,IAAA,EAAK;AAAA,EACL,EAAA,CAAA,SAAA,CAAU,8BAA8B,4BAA4B,CAAA;AAAA,EACpE,EAAA,CAAA,KAAA,CAAM,gBAAgB,iBAAiB;AAC3C;AACO,IAAM,qCAAA,GAA0C,EAAA,CAAA,QAAA;AAAA,EACrD;AACF;AAEO,IAAM,qBAAA,GAAwB;AAC9B,IAAM,qBAAA,GAA0B,EAAA,CAAA,IAAA;AAAA,EACnC,EAAA,CAAA,MAAA,EAAO;AAAA,EACP,EAAA,CAAA,IAAA,EAAK;AAAA,EACL,OAAI,2BAA2B,CAAA;AAAA,EAC/B,EAAA,CAAA,KAAA,CAAM,CAAC,KAAA,KAAkB;AACzB,IAAA,IAAI,KAAA,KAAU,IAAI,OAAO,KAAA;AACzB,IAAA,OAAO,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA,KAAM,EAAA;AAAA,EAChC,GAAG,qBAAqB;AAC1B;AAEO,IAAM,cAAA,GAAiB;AACvB,IAAM,cAAA,GAAmB,EAAA,CAAA,IAAA;AAAA,EAC5B,EAAA,CAAA,MAAA,EAAO;AAAA,EACP,EAAA,CAAA,IAAA,EAAK;AAAA,EACL,OAAI,2BAA2B,CAAA;AAAA,EAC/B,EAAA,CAAA,KAAA,CAAM,CAAC,KAAA,KAAkB;AACzB,IAAA,OAAO,KAAA,CAAM,SAAS,MAAM,CAAA;AAAA,EAC9B,GAAG,cAAc;AACnB;AAEO,IAAM,yBAAA,GAA8B,EAAA,CAAA,IAAA;AAAA,EACvC,UAAO,wBAAwB,CAAA;AAAA,EAC/B,EAAA,CAAA,IAAA,EAAK;AAAA,EACL,EAAA,CAAA,SAAA;AAAA,IACA,eAAA;AAAA,IACA,+CAA+C,eAAe,CAAA,WAAA;AAAA,GAChE;AAAA,EACE,EAAA,CAAA,SAAA;AAAA,IACA,6BAAA;AAAA,IACA,qCAAqC,6BAA6B,CAAA,mBAAA;AAAA,GACpE;AAAA,EACE,EAAA,CAAA,KAAA,CAAM,eAAA,EAAiB,CAAA,UAAA,EAAa,6BAA6B,CAAA,CAAE;AACvE;AACO,IAAM,oCAAA,GAAyC,EAAA,CAAA,QAAA;AAAA,EACpD;AACF;AAEO,IAAM,kBAAA,GAAqB;AAC3B,IAAM,cAAA,GAAmB,EAAA,CAAA,QAAA;AAAA,EAC5B,EAAA,CAAA,IAAA,CAAO,SAAK,EAAK,EAAA,CAAA,QAAA,CAAS,CAAC,UAAU,CAAA,EAAG,kBAAkB,CAAC;AAC/D;AAEO,IAAM,qBAAA,GAAwB;AAC9B,IAAM,iBAAA,GAAsB,EAAA,CAAA,QAAA;AAAA,EAC/B,EAAA,CAAA,IAAA;AAAA,IACE,QAAK,qBAAqB,CAAA;AAAA,IAC1B,EAAA,CAAA,QAAA,CAAS,CAAC,iBAAiB,CAAA,EAAG,qBAAqB;AAAA;AAEzD;AAEO,IAAM,4BAAA,GAA+B;AAAA,EAC1C,EAAE,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAO;AAAA,EAC/B,EAAE,KAAA,EAAO,OAAA,EAAS,KAAA,EAAO,OAAA,EAAQ;AAAA,EACjC,EAAE,KAAA,EAAO,OAAA,EAAS,KAAA,EAAO,OAAA,EAAQ;AAAA,EACjC,EAAE,KAAA,EAAO,QAAA,EAAU,KAAA,EAAO,QAAA,EAAS;AAAA,EACnC,EAAE,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO,SAAA,EAAU;AAAA,EACrC,EAAE,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,MAAA;AAC1B;AAEO,IAAM,wBAAA,GAA6B,EAAA,CAAA,IAAA;AAAA,EACtC,EAAA,CAAA,MAAA,EAAO;AAAA,EACP,EAAA,CAAA,QAAA;AAAA,IACA,4BAAA,CAA6B,GAAA,CAAI,CAAC,IAAA,KAAS,KAAK,KAAK,CAAA;AAAA,IACrD;AAAA;AAEJ;AAEO,IAAM,iBAAA,GAAoB;AAAA,EAC/B;AAAA,IACE,KAAA,EAAO,iBAAA;AAAA,IACP,KAAA,EAAO;AAAA,GACT;AAAA,EACA;AAAA,IACE,KAAA,EAAO,mBAAA;AAAA,IACP,KAAA,EAAO;AAAA,GACT;AAAA,EACA;AAAA,IACE,KAAA,EAAO,gBAAA;AAAA,IACP,KAAA,EAAO;AAAA,GACT;AAAA,EACA;AAAA,IACE,KAAA,EAAO,UAAA;AAAA,IACP,KAAA,EAAO;AAAA,GACT;AAAA,EACA;AAAA,IACE,KAAA,EAAO,SAAA;AAAA,IACP,KAAA,EAAO;AAAA,GACT;AAAA,EACA;AAAA,IACE,KAAA,EAAO,cAAA;AAAA,IACP,KAAA,EAAO;AAAA,GACT;AAAA,EACA;AAAA,IACE,KAAA,EAAO,SAAA;AAAA,IACP,KAAA,EAAO;AAAA;AAEX;AAEO,IAAM,eAAA,GAAoB,EAAA,CAAA,IAAA;AAAA,EAC7B,EAAA,CAAA,MAAA,EAAO;AAAA,EACP,EAAA,CAAA,QAAA;AAAA,IACA,iBAAA,CAAkB,GAAA,CAAI,CAAC,IAAA,KAAS,KAAK,KAAK,CAAA;AAAA,IAC1C;AAAA;AAEJ;AAEO,IAAM,qBAAA,GAAwB;AAAA,EACnC,EAAE,KAAA,EAAO,yBAAA,EAA2B,KAAA,EAAO,yBAAA,EAA0B;AAAA,EACrE;AAAA,IACE,KAAA,EAAO,mCAAA;AAAA,IACP,KAAA,EAAO;AAAA,GACT;AAAA,EACA,EAAE,KAAA,EAAO,wBAAA,EAA0B,KAAA,EAAO,wBAAA,EAAyB;AAAA,EACnE,EAAE,KAAA,EAAO,iBAAA,EAAmB,KAAA,EAAO,iBAAA,EAAkB;AAAA,EACrD,EAAE,KAAA,EAAO,kBAAA,EAAoB,KAAA,EAAO,kBAAA,EAAmB;AAAA,EACvD,EAAE,KAAA,EAAO,oBAAA,EAAsB,KAAA,EAAO,oBAAA,EAAqB;AAAA,EAC3D,EAAE,KAAA,EAAO,+BAAA,EAAiC,KAAA,EAAO,+BAAA,EAAgC;AAAA,EACjF,EAAE,KAAA,EAAO,oBAAA,EAAsB,KAAA,EAAO,oBAAA,EAAqB;AAAA,EAC3D,EAAE,KAAA,EAAO,sBAAA,EAAwB,KAAA,EAAO,sBAAA;AAC1C;AAEO,IAAM,0BAAA,GAA6B;AAAA,EACxC,EAAE,KAAA,EAAO,eAAA,EAAiB,KAAA,EAAO,eAAA,EAAgB;AAAA,EACjD,EAAE,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,YAAA,EAAa;AAAA,EAC3C,EAAE,KAAA,EAAO,gCAAA,EAAkC,KAAA,EAAO,gCAAA,EAAiC;AAAA,EACnF;AAAA,IACE,KAAA,EAAO,iDAAA;AAAA,IACP,KAAA,EAAO;AAAA,GACT;AAAA,EACA,EAAE,KAAA,EAAO,eAAA,EAAiB,KAAA,EAAO,eAAA,EAAgB;AAAA,EACjD,EAAE,KAAA,EAAO,8BAAA,EAAgC,KAAA,EAAO,8BAAA,EAA+B;AAAA,EAC/E,EAAE,KAAA,EAAO,8BAAA,EAAgC,KAAA,EAAO,8BAAA,EAA+B;AAAA,EAC/E,EAAE,KAAA,EAAO,mBAAA,EAAqB,KAAA,EAAO,mBAAA;AACvC;AAEO,IAAM,4BAAA,GAA+B;AAAA,EAC1C,EAAE,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,YAAA,EAAa;AAAA,EAC3C,EAAE,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,YAAA,EAAa;AAAA,EAC3C,EAAE,KAAA,EAAO,cAAA,EAAgB,KAAA,EAAO,cAAA,EAAe;AAAA,EAC/C,EAAE,KAAA,EAAO,aAAA,EAAe,KAAA,EAAO,aAAA,EAAc;AAAA,EAC7C,EAAE,KAAA,EAAO,qBAAA,EAAuB,KAAA,EAAO,qBAAA,EAAsB;AAAA,EAC7D,EAAE,KAAA,EAAO,mBAAA,EAAqB,KAAA,EAAO,mBAAA;AACvC;AAEO,IAAM,iBAAA,GAAoB;AAAA,EAC/B,EAAE,KAAA,EAAO,GAAA,EAAK,KAAA,EAAO,GAAA,EAAI;AAAA,EACzB,EAAE,KAAA,EAAO,GAAA,EAAK,KAAA,EAAO,GAAA,EAAI;AAAA,EACzB,EAAE,KAAA,EAAO,GAAA,EAAK,KAAA,EAAO,GAAA,EAAI;AAAA,EACzB,EAAE,KAAA,EAAO,GAAA,EAAK,KAAA,EAAO,GAAA,EAAI;AAAA,EACzB,EAAE,KAAA,EAAO,GAAA,EAAK,KAAA,EAAO,GAAA;AACvB;AAGO,IAAM,WAAA,GAAgB,EAAA,CAAA,IAAA;AAAA,EACzB,UAAO,2BAA2B,CAAA;AAAA,EAClC,YAAS,CAAC,CAAA;AAAA,EACV,EAAA,CAAA,QAAA;AAAA,IACA,GAAA;AAAA,IACA;AAAA;AAEJ;AACO,IAAM,sBAAA,GAA2B,iBAAc,WAAW;AAG1D,IAAM,YAAA,GAAiB,EAAA,CAAA,IAAA;AAAA,EAC1B,UAAO,wBAAwB,CAAA;AAAA,EAC/B,EAAA,CAAA,IAAA,EAAK;AAAA,EACL,EAAA,CAAA,SAAA;AAAA,IACA,eAAA;AAAA,IACA,+CAA+C,eAAe,CAAA,WAAA;AAAA,GAChE;AAAA,EACE,EAAA,CAAA,SAAA;AAAA,IACA,6BAAA;AAAA,IACA,qCAAqC,6BAA6B,CAAA,mBAAA;AAAA;AAEtE;AACO,IAAM,uBAAA,GAA4B,iBAAc,YAAY;AAG5D,IAAM,YAAA,GAAiB,EAAA,CAAA,IAAA;AAAA,EAC1B,UAAO,wBAAwB,CAAA;AAAA,EAC/B,EAAA,CAAA,IAAA,EAAK;AAAA,EACL,EAAA,CAAA,SAAA;AAAA,IACA,eAAA;AAAA,IACA,+CAA+C,eAAe,CAAA,WAAA;AAAA,GAChE;AAAA,EACE,EAAA,CAAA,SAAA;AAAA,IACA,6BAAA;AAAA,IACA,qCAAqC,6BAA6B,CAAA,mBAAA;AAAA,GACpE;AAAA,EACE,EAAA,CAAA,KAAA,CAAM,eAAA,EAAiB,CAAA,UAAA,EAAa,6BAA6B,CAAA,CAAE;AACvE;AACO,IAAM,uBAAA,GAA4B,iBAAc,YAAY;AAG5D,IAAM,kBAAA,GAAuB,EAAA,CAAA,QAAA;AAAA,EAChC,EAAA,CAAA,IAAA;AAAA,IACE,UAAO,kCAAkC,CAAA;AAAA,IACzC,EAAA,CAAA,IAAA,EAAK;AAAA,IACL,EAAA,CAAA,SAAA;AAAA,MACA,qBAAA;AAAA,MACA,2CAA2C,qBAAqB,CAAA,mBAAA;AAAA;AAClE;AAEJ;AACO,IAAM,6BAAA,GAAkC,iBAAc,kBAAkB;AAGxE,IAAM,eAAA,GAAoB,WAAQ,4BAA4B;AAC9D,IAAM,0BAAA,GAA+B,iBAAc,eAAe;AAGlE,IAAM,eAAA,GAAoB,WAAQ,4BAA4B;AAC9D,IAAM,0BAAA,GAA+B,iBAAc,eAAe;AAGlE,IAAM,WAAA,GAAgB,EAAA,CAAA,IAAA;AAAA,EACzB,UAAO,uBAAuB,CAAA;AAAA,EAC9B,EAAA,CAAA,IAAA,EAAK;AAAA,EACL,EAAA,CAAA,SAAA;AAAA,IACA,cAAA;AAAA,IACA,8CAA8C,cAAc,CAAA,WAAA;AAAA,GAC9D;AAAA,EACE,EAAA,CAAA,SAAA;AAAA,IACA,6BAAA;AAAA,IACA,oCAAoC,6BAA6B,CAAA,mBAAA;AAAA;AAErE;AACO,IAAM,sBAAA,GAA2B,iBAAc,WAAW;ACtY1D,IAAM,qBAAA,GAA0BC,EAAA,CAAA,IAAA;AAAA,EACnCA,UAAO,kCAAkC,CAAA;AAAA,EACzCA,EAAA,CAAA,IAAA,EAAK;AAAA,EACLA,EAAA,CAAA,SAAA;AAAA,IACA,qBAAA;AAAA,IACA,yDAAyD,qBAAqB,CAAA,WAAA;AAAA,GAChF;AAAA,EACEA,EAAA,CAAA,SAAA;AAAA,IACA,qBAAA;AAAA,IACA,+CAA+C,qBAAqB,CAAA,mBAAA;AAAA,GACtE;AAAA,EACEA,OAAI,4BAA4B;AACpC;AACO,IAAM,gCAAA,GAAqCA,iBAAc,qBAAqB;AAG9E,IAAM,kBAAA,GAAuBA,EAAA,CAAA,QAAA;AAAA,EAClC,CAAC,QAAQ,OAAO,CAAA;AAAA,EAChB;AACF;AACO,IAAM,6BAAA,GAAkCA,iBAAc,kBAAkB;AAGxE,IAAM,gBAAA,GAAqBA,EAAA,CAAA,IAAA;AAAA,EAC9BA,UAAO,yBAAyB,CAAA;AAAA,EAChCA,EAAA,CAAA,IAAA,EAAK;AAAA,EACLA,EAAA,CAAA,SAAA;AAAA,IACA,gBAAA;AAAA,IACA,gDAAgD,gBAAgB,CAAA,WAAA;AAAA,GAClE;AAAA,EACEA,EAAA,CAAA,SAAA;AAAA,IACA,gBAAA;AAAA,IACA,sCAAsC,gBAAgB,CAAA,mBAAA;AAAA,GACxD;AAAA,EACEA,EAAA,CAAA,KAAA,CAAM,cAAc,0BAA0B;AAClD;AACO,IAAM,2BAAA,GAAgCA,iBAAc,gBAAgB;AAGpE,IAAM,cAAA,GAAmBA,EAAA,CAAA,IAAA;AAAA,EAC5BA,UAAO,2BAA2B,CAAA;AAAA,EAClCA,EAAA,CAAA,IAAA,EAAK;AAAA,EACLA,EAAA,CAAA,SAAA;AAAA,IACA,cAAA;AAAA,IACA,kDAAkD,cAAc,CAAA,WAAA;AAAA,GAClE;AAAA,EACEA,EAAA,CAAA,SAAA;AAAA,IACA,cAAA;AAAA,IACA,wCAAwC,cAAc,CAAA,mBAAA;AAAA;AAE1D;AACO,IAAM,yBAAA,GAA8BA,iBAAc,cAAc;AAGhE,IAAM,eAAA,GAAoBA,EAAA,CAAA,IAAA;AAAA,EAC7BA,UAAO,4BAA4B,CAAA;AAAA,EACnCA,EAAA,CAAA,IAAA,EAAK;AAAA,EACLA,EAAA,CAAA,SAAA;AAAA,IACA,eAAA;AAAA,IACA,mDAAmD,eAAe,CAAA,WAAA;AAAA,GACpE;AAAA,EACEA,EAAA,CAAA,SAAA;AAAA,IACA,eAAA;AAAA,IACA,yCAAyC,eAAe,CAAA,mBAAA;AAAA;AAE5D;AACO,IAAM,0BAAA,GAA+BA,iBAAc,eAAe;AAGlE,IAAM,kBAAA,GAAuBA,EAAA,CAAA,IAAA;AAAA,EAChCA,UAAO,oCAAoC,CAAA;AAAA,EAC3CA,EAAA,CAAA,IAAA,EAAK;AAAA,EACLA,EAAA,CAAA,SAAA;AAAA,IACA,kBAAA;AAAA,IACA,2DAA2D,kBAAkB,CAAA,WAAA;AAAA,GAC/E;AAAA,EACEA,EAAA,CAAA,SAAA;AAAA,IACA,kBAAA;AAAA,IACA,iDAAiD,kBAAkB,CAAA,mBAAA;AAAA;AAEvE;AACO,IAAM,6BAAA,GAAkCA,iBAAc,kBAAkB;ACrFxE,IAAM,eAAA,GAAoBC,EAAA,CAAA,IAAA;AAAA,EAC7BA,UAAO,2BAA2B,CAAA;AAAA,EAClCA,EAAA,CAAA,IAAA,EAAK;AAAA,EACLA,EAAA,CAAA,SAAA;AAAA,IACA,kBAAA;AAAA,IACA,mDAAmD,kBAAkB,CAAA,WAAA;AAAA,GACvE;AAAA,EACEA,EAAA,CAAA,SAAA;AAAA,IACA,kBAAA;AAAA,IACA,yCAAyC,kBAAkB,CAAA,mBAAA;AAAA,GAC7D;AAAA,EACEA,EAAA,CAAA,KAAA,CAAM,eAAA,EAAiB,CAAA,cAAA,EAAiB,6BAA6B,CAAA,CAAE;AAC3E;AACO,IAAM,0BAAA,GAA+BA,iBAAc,eAAe;AAElE,IAAM,gBAAA,GAAqBA,EAAA,CAAA,IAAA;AAAA,EAC9BA,UAAO,yBAAyB,CAAA;AAAA,EAChCA,EAAA,CAAA,IAAA,EAAK;AAAA,EACLA,EAAA,CAAA,SAAA;AAAA,IACA,eAAA;AAAA,IACA,gDAAgD,eAAe,CAAA,WAAA;AAAA,GACjE;AAAA,EACEA,EAAA,CAAA,SAAA;AAAA,IACA,eAAA;AAAA,IACA,sCAAsC,eAAe,CAAA,mBAAA;AAAA,GACvD;AAAA,EACEA,SAAM,sCAAsC;AAChD;AACO,IAAM,2BAAA,GAAgCA,iBAAc,gBAAgB;AAEpE,IAAM,eAAA,GAAoBA,EAAA,CAAA,IAAA;AAAA,EAC7BA,UAAO,wBAAwB,CAAA;AAAA,EAC/BA,EAAA,CAAA,IAAA,EAAK;AAAA,EACLA,EAAA,CAAA,SAAA;AAAA,IACA,kBAAA;AAAA,IACA,mDAAmD,kBAAkB,CAAA,WAAA;AAAA,GACvE;AAAA,EACEA,EAAA,CAAA,SAAA;AAAA,IACA,kBAAA;AAAA,IACA,yCAAyC,kBAAkB,CAAA,mBAAA;AAAA;AAE/D;AACO,IAAM,0BAAA,GAA+BA,iBAAc,eAAe;AAElE,IAAM,eAAA,GAAoBA,EAAA,CAAA,IAAA;AAAA,EAC7BA,UAAO,yBAAyB,CAAA;AAAA,EAChCA,EAAA,CAAA,IAAA,EAAK;AAAA,EACLA,EAAA,CAAA,SAAA;AAAA,IACA,kBAAA;AAAA,IACA,+CAA+C,kBAAkB,CAAA,mBAAA;AAAA;AAErE;AACO,IAAM,0BAAA,GAA+BA,iBAAc,eAAe;AAElE,IAAM,mBAAqBA,EAAA,CAAA,OAAA;AAC3B,IAAM,2BAAA,GAAgCA,iBAAc,gBAAgB;AAEpE,IAAM,iBAAmBA,EAAA,CAAA,OAAA;AACzB,IAAM,yBAAA,GAA8BA,iBAAc,cAAc;AClDhE,IAAM,mBAAA,GAAwBC,EAAA,CAAA,IAAA;AAAA,EACjCA,EAAA,CAAA,MAAA,EAAO;AAAA,EACPA,EAAA,CAAA,IAAA,EAAK;AAAA,EACLA,EAAA,CAAA,SAAA;AAAA,IACA,oBAAA;AAAA,IACA,oDAAoD,oBAAoB,CAAA,WAAA;AAAA,GAC1E;AAAA,EACEA,EAAA,CAAA,SAAA;AAAA,IACA,oBAAA;AAAA,IACA,0CAA0C,oBAAoB,CAAA,mBAAA;AAAA,GAChE;AAAA,EACEA,EAAA,CAAA,KAAA,CAAM,eAAA,EAAiB,CAAA,WAAA,EAAc,6BAA6B,CAAA,CAAE;AACxE;AACO,IAAM,8BAAA,GAAmCA,iBAAc,mBAAmB;AAG1E,IAAM,mBAAA,GAAwBA,EAAA,CAAA,IAAA;AAAA,EACjCA,EAAA,CAAA,MAAA,EAAO;AAAA,EACPA,EAAA,CAAA,IAAA,EAAK;AAAA,EACLA,EAAA,CAAA,SAAA;AAAA,IACA,oBAAA;AAAA,IACA,oDAAoD,oBAAoB,CAAA,WAAA;AAAA,GAC1E;AAAA,EACEA,EAAA,CAAA,SAAA;AAAA,IACA,oBAAA;AAAA,IACA,0CAA0C,oBAAoB,CAAA,mBAAA;AAAA,GAChE;AAAA,EACEA,EAAA,CAAA,KAAA,CAAM,eAAA,EAAiB,CAAA,WAAA,EAAc,6BAA6B,CAAA,CAAE;AACxE;AACO,IAAM,8BAAA,GAAmCA,iBAAc,mBAAmB;AAG1E,IAAM,qBAAA,GAA0BA,EAAA,CAAA,IAAA;AAAA,EACnCA,EAAA,CAAA,MAAA,EAAO;AAAA,EACPA,EAAA,CAAA,IAAA,EAAK;AAAA,EACLA,EAAA,CAAA,SAAA;AAAA,IACA,sBAAA;AAAA,IACA,sDAAsD,sBAAsB,CAAA,WAAA;AAAA,GAC9E;AAAA,EACEA,EAAA,CAAA,SAAA;AAAA,IACA,sBAAA;AAAA,IACA,4CAA4C,sBAAsB,CAAA,mBAAA;AAAA,GACpE;AAAA,EACEA,EAAA,CAAA,KAAA,CAAM,eAAA,EAAiB,CAAA,aAAA,EAAgB,6BAA6B,CAAA,CAAE;AAC1E;AACO,IAAM,gCAAA,GAAqCA,iBAAc,qBAAqB;AAG9E,IAAM,2BAAA,GAAgCA,EAAA,CAAA,IAAA;AAAA,EACzCA,EAAA,CAAA,MAAA,EAAO;AAAA,EACPA,EAAA,CAAA,IAAA,EAAK;AAAA,EACLA,EAAA,CAAA,SAAA;AAAA,IACA,6BAAA;AAAA,IACA,6DAA6D,6BAA6B,CAAA,WAAA;AAAA,GAC5F;AAAA,EACEA,EAAA,CAAA,SAAA;AAAA,IACA,6BAAA;AAAA,IACA,mDAAmD,6BAA6B,CAAA,mBAAA;AAAA,GAClF;AAAA,EACEA,EAAA,CAAA,KAAA,CAAM,eAAA,EAAiB,CAAA,oBAAA,EAAuB,6BAA6B,CAAA,CAAE;AACjF;AACO,IAAM,sCAAA,GAA2CA,EAAA,CAAA,aAAA;AAAA,EACtD;AACF;AAGO,IAAM,oBAAA,GAAyBA,EAAA,CAAA,IAAA;AAAA,EAClCA,EAAA,CAAA,MAAA,EAAO;AAAA,EACPA,EAAA,CAAA,IAAA,EAAK;AAAA,EACLA,EAAA,CAAA,SAAA;AAAA,IACA,qBAAA;AAAA,IACA,qDAAqD,qBAAqB,CAAA,WAAA;AAAA,GAC5E;AAAA,EACEA,EAAA,CAAA,SAAA;AAAA,IACA,qBAAA;AAAA,IACA,2CAA2C,qBAAqB,CAAA,mBAAA;AAAA,GAClE;AAAA,EACEA,EAAA,CAAA,KAAA,CAAM,eAAA,EAAiB,CAAA,YAAA,EAAe,6BAA6B,CAAA,CAAE;AACzE;AACO,IAAM,+BAAA,GAAoCA,iBAAc,oBAAoB;AAG5E,IAAM,iBAAA,GAAsBA,EAAA,CAAA,IAAA;AAAA,EAC/BA,EAAA,CAAA,MAAA,EAAO;AAAA,EACPA,EAAA,CAAA,IAAA,EAAK;AAAA,EACLA,EAAA,CAAA,SAAA;AAAA,IACA,kBAAA;AAAA,IACA,kDAAkD,kBAAkB,CAAA,WAAA;AAAA,GACtE;AAAA,EACEA,EAAA,CAAA,SAAA;AAAA,IACA,kBAAA;AAAA,IACA,wCAAwC,kBAAkB,CAAA,mBAAA;AAAA,GAC5D;AAAA,EACEA,EAAA,CAAA,KAAA,CAAM,eAAA,EAAiB,CAAA,SAAA,EAAY,6BAA6B,CAAA,CAAE;AACtE;AACO,IAAM,4BAAA,GAAiCA,iBAAc,iBAAiB;AAGtE,IAAM,eAAA,GAAoBA,EAAA,CAAA,IAAA;AAAA,EAC7BA,EAAA,CAAA,MAAA,EAAO;AAAA,EACPA,EAAA,CAAA,IAAA,EAAK;AAAA,EACLA,EAAA,CAAA,SAAA;AAAA,IACA,gBAAA;AAAA,IACA,gDAAgD,gBAAgB,CAAA,WAAA;AAAA,GAClE;AAAA,EACEA,EAAA,CAAA,SAAA;AAAA,IACA,gBAAA;AAAA,IACA,sCAAsC,gBAAgB,CAAA,mBAAA;AAAA,GACxD;AAAA,EACEA,EAAA,CAAA,KAAA,CAAM,eAAA,EAAiB,CAAA,OAAA,EAAU,6BAA6B,CAAA,CAAE;AACpE;AACO,IAAM,0BAAA,GAA+BA,iBAAc,eAAe;;;AC5HlE,IAAM,kCAAoCC,EAAA,CAAA,MAAA,CAAO;AAAA,EACtD,IAAA,EAAQA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,IAAA,CAAOA,EAAA,CAAA,MAAA,EAAO,EAAKA,EAAA,CAAA,QAAA,CAAS,CAAC,CAAC,CAAA,EAAG,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,EACpE,IAAA,EAAQA,EAAA,CAAA,QAAA;AAAA,IACJA,EAAA,CAAA,QAAA;AAAA,MACEA,EAAA,CAAA,IAAA,CAAOA,WAAO,EAAKA,EAAA,CAAA,QAAA,CAAS,CAAC,CAAA,EAAKA,EAAA,CAAA,QAAA,CAAS,gCAAgC,CAAC,CAAA;AAAA,MAC9E;AAAA,KACF;AAAA,IACA;AAAA,GACF;AAAA,EACA,KAAA,EAASA,YAAS,kBAAkB,CAAA;AAAA,EACpC,IAAA,EAAQA,YAAS,kBAAkB,CAAA;AAAA,EACnC,cAAA,EAAkBA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,QAAA,CAAS,0BAA0B,CAAC,CAAA;AAAA,EACjE,QAAA,EAAYA,YAAS,0BAA0B;AACjD,CAAC;ACdM,IAAM,2BAA6BC,EAAA,CAAA,MAAA,CAAO;AAAA,EAC/C,IAAA,EAAQA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,IAAA,CAAOA,EAAA,CAAA,MAAA,EAAO,EAAKA,EAAA,CAAA,QAAA,CAAS,CAAC,CAAC,CAAA,EAAG,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,EACpE,IAAA,EAAQA,EAAA,CAAA,QAAA;AAAA,IACJA,EAAA,CAAA,QAAA;AAAA,MACEA,EAAA,CAAA,IAAA,CAAOA,WAAO,EAAKA,EAAA,CAAA,QAAA,CAAS,CAAC,CAAA,EAAKA,EAAA,CAAA,QAAA,CAAS,gCAAgC,CAAC,CAAA;AAAA,MAC9E;AAAA,KACF;AAAA,IACA;AAAA,GACF;AAAA,EACA,KAAA,EAASA,YAAS,kBAAkB,CAAA;AAAA,EACpC,WAAA,EAAeA,YAAS,kBAAkB,CAAA;AAAA,EAC1C,aAAA,EAAiBA,YAAS,kBAAkB,CAAA;AAAA,EAC5C,YAAA,EAAgBA,YAAS,kBAAkB,CAAA;AAAA,EAC3C,qBAAA,EAAyBA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,OAAA,EAAS,CAAA;AAAA,EAC7C,gBAAkBA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,QAAA,CAAS,CAAC,SAAA,EAAW,MAAM,CAAC,CAAC,CAAA;AAAA,EAC1D,WAAA,EAAeA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,OAAA,EAAS,CAAA;AAAA,EACnC,SAAA,EAAaA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,OAAA,EAAS,CAAA;AAAA,EACjC,iBAAA,EAAqBA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,OAAA,EAAS,CAAA;AAAA,EACzC,aAAA,EAAiBA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,OAAA,EAAS;AACvC,CAAC;ACfM,IAAM,uBAAyBC,EAAA,CAAA,MAAA,CAAO;AAAA,EAC3C,IAAA,EAAQA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,IAAA,CAAOA,EAAA,CAAA,MAAA,EAAO,EAAKA,EAAA,CAAA,QAAA,CAAS,CAAC,CAAC,CAAA,EAAG,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,EACpE,IAAA,EAAQA,EAAA,CAAA,QAAA;AAAA,IACJA,EAAA,CAAA,QAAA;AAAA,MACEA,EAAA,CAAA,IAAA,CAAOA,WAAO,EAAKA,EAAA,CAAA,QAAA,CAAS,CAAC,CAAA,EAAKA,EAAA,CAAA,QAAA,CAAS,yBAAyB,CAAC,CAAA;AAAA,MACvE;AAAA,KACF;AAAA,IACA;AAAA;AAEJ,CAAC;AAIM,IAAM,kBAAoBA,EAAA,CAAA,MAAA,CAAO;AAAA,EACtC,EAAA,EAAI;AACN,CAAC;AAGM,IAAM,0BAA4BA,EAAA,CAAA,MAAA,CAAO;AAAA,EAC9C,UAAA,EAAY;AACd,CAAC;AAIM,IAAM,oBAAsBA,EAAA,CAAA,MAAA,CAAO;AAAA,EACxC,IAAA,EAAM;AACR,CAAC;AAGM,IAAM,qBAAuBA,EAAA,CAAA,MAAA,CAAO;AAAA,EACzC,KAAA,EAAO;AACT,CAAC;AAGM,IAAM,qBAAuBA,EAAA,CAAA,MAAA,CAAO;AAAA,EACzC,KAAA,EAAO;AACT,CAAC;AAGM,IAAM,oBAAsBA,EAAA,CAAA,MAAA,CAAO;AAAA,EACxC,IAAA,EAAM;AACR,CAAC;ACrCM,IAAM,cAAgBC,EAAA,CAAA,MAAA,CAAO;AAAA,EAClC,UAAA,EAAY,gBAAA;AAAA,EACZ,SAAA,EAAW,eAAA;AAAA,EACX,KAAA,EAAO,gBAAA;AAAA,EACP,KAAA,EAAO,wBAAA;AAAA,EACP,OAAA,EAAS,kBAAA;AAAA,EACT,KAAA,EAAO,gBAAA;AAAA,EACP,OAAA,EAAS,kBAAA;AAAA,EACT,gBAAA,EAAkB,sBAAA;AAAA,EAClB,aAAA,EAAe,kBAAA;AAAA,EACf,WAAA,EAAa,kBAAA;AAAA,EACb,OAAA,EAAS,cAAA;AAAA,EACT,OAAA,EAAS;AACX,CAAC;AClBM,IAAM,0BAA4BC,EAAA,CAAA,MAAA,CAAO;AAAA,EAC9C,UAAA,EAAY,gBAAA;AAAA,EACZ,SAAA,EAAW,eAAA;AAAA,EACX,KAAA,EAAO,gBAAA;AAAA;AAAA,EAEP,aAAA,EAAe,kBAAA;AAAA,EACf,OAAA,EAAS,cAAA;AAAA,EACT,OAAA,EAAS;AACX,CAAC;ACFM,IAAM,gBAAkBC,EAAA,CAAA,MAAA,CAAO;AAAA,EACpC,UAAA,EAAY,gBAAA;AAAA,EACZ,SAAA,EAAW,eAAA;AAAA,EACX,KAAA,EAAO,gBAAA;AAAA,EACP,KAAA,EAAO,gBAAA;AAAA,EACP,OAAA,EAAS,kBAAA;AAAA,EACT,eAAA,EAAiB,qCAAA;AAAA,EACjB,IAAA,EAAM,iBAAA;AAAA;AAAA,EACN,aAAA,EAAe,kBAAA;AAAA,EACf,WAAA,EAAa,kBAAA;AAAA;AAAA,EAEb,OAAA,EAAS,cAAA;AAAA,EACT,OAAA,EAAS;AACX,CAAC;AAGM,IAAM,oBAAsBA,EAAA,CAAA,MAAA,CAAO;AAAA,EACxC,UAAA,EAAY,gBAAA;AAAA,EACZ,SAAA,EAAW,eAAA;AAAA,EACX,KAAA,EAAO,gBAAA;AAAA,EACP,KAAA,EAAO,gBAAA;AAAA,EACP,OAAA,EAAS,kBAAA;AAAA,EACT,eAAA,EAAiB,qCAAA;AAAA,EACjB,IAAA,EAAM,sBAAA;AAAA;AAAA,EACN,aAAA,EAAe,kBAAA;AAAA,EACf,WAAA,EAAa,kBAAA;AAAA;AAAA,EAEb,OAAA,EAAS,cAAA;AAAA,EACT,OAAA,EAAS;AACX,CAAC;AAGM,IAAM,oBAAsBA,EAAA,CAAA,MAAA,CAAO;AAAA,EACxC,UAAA,EAAY,kBAAA;AAAA,EACZ,UAAA,EAAY,gBAAA;AAAA,EACZ,SAAA,EAAW,eAAA;AAAA,EACX,KAAA,EAAO,gBAAA;AAAA,EACP,KAAA,EAAO,gBAAA;AAAA,EACP,OAAA,EAAS,kBAAA;AAAA,EACT,eAAA,EAAiB,qCAAA;AAAA,EACjB,IAAA,EAAM,sBAAA;AAAA;AAAA,EACN,aAAA,EAAe,kBAAA;AAAA,EACf,WAAA,EAAa,kBAAA;AAAA;AAAA,EAEb,OAAA,EAAS,cAAA;AAAA,EACT,OAAA,EAAS;AACX,CAAC;ACnDM,IAAM,8BAAgCC,EAAA,CAAA,MAAA,CAAO;AAAA,EAClD,UAAA,EAAY,gBAAA;AAAA,EACZ,SAAA,EAAW,eAAA;AAAA,EACX,KAAA,EAAO,gBAAA;AAAA;AAAA,EAEP,YAAA,EAAc,kBAAA;AAAA,EACd,aAAA,EAAe,kBAAA;AAAA,EACf,OAAA,EAAS,cAAA;AAAA,EACT,OAAA,EAAS;AACX,CAAC;AClBM,IAAM,qBAAuBC,EAAA,CAAA,MAAA,CAAO;AAAA,EACzC,YAAcA,EAAA,CAAA,MAAA,EAAO;AAAA,EACrB,OAASA,EAAA,CAAA,MAAA;AACX,CAAC;ACCM,IAAM,mCAAqCC,EAAA,CAAA,MAAA,CAAO;AAAA,EACvD,IAAA,EAAQA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,IAAA,CAAOA,EAAA,CAAA,MAAA,EAAO,EAAKA,EAAA,CAAA,QAAA,CAAS,CAAC,CAAC,CAAA,EAAG,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,EACpE,IAAA,EAAQA,EAAA,CAAA,QAAA;AAAA,IACJA,EAAA,CAAA,QAAA;AAAA,MACEA,EAAA,CAAA,IAAA;AAAA,QACEA,EAAA,CAAA,MAAA,EAAO;AAAA,QACPA,YAAS,CAAC,CAAA;AAAA,QACVA,YAAS,mCAAmC;AAAA,OAChD;AAAA,MACA;AAAA,KACF;AAAA,IACA;AAAA;AAEJ,CAAC;AAMM,IAAM,gCAAkCA,EAAA,CAAA,MAAA,CAAO;AAAA,EACpD,MAAQA,EAAA,CAAA,MAAA;AACV,CAAC;ACjBM,IAAM,uBAAyBC,EAAA,CAAA,MAAA,CAAO;AAAA,EAC3C,EAAA,EAAI;AACN,CAAC;AAGM,IAAM,+BAAiCA,EAAA,CAAA,MAAA,CAAO;AAAA,EACnD,UAAA,EAAY;AACd,CAAC;AAMM,IAAM,qBAAuBA,EAAA,CAAA,MAAA,CAAO;AAAA,EACzC,UAAA,EAAY,0BAAA;AAAA,EACZ,UAAA,EAAY,gBAAA;AAAA,EACZ,SAAA,EAAW,eAAA;AAAA,EACX,cAAA,EAAgB;AAClB,CAAC;AAGM,IAAM,8BAAgCA,EAAA,CAAA,MAAA,CAAO;AAAA,EAClD,UAAA,EAAY,0BAAA;AAAA,EACZ,UAAA,EAAY;AACd,CAAC;AAKM,IAAM,6BAA+BA,EAAA,CAAA,MAAA,CAAO;AAAA,EACjD,UAAA,EAAY,0BAAA;AAAA,EACZ,SAAA,EAAW;AACb,CAAC;AAKM,IAAM,kCAAoCA,EAAA,CAAA,MAAA,CAAO;AAAA,EACtD,UAAA,EAAY,0BAAA;AAAA,EACZ,cAAA,EAAgB;AAClB,CAAC;AC9CM,IAAM,aAAeC,EAAA,CAAA,MAAA,CAAO;AAAA,EACjC,OAASA,EAAA,CAAA,MAAA;AACX,CAAC;AAKM,IAAM,aAAeA,EAAA,CAAA,MAAA,CAAO;AAAA,EACjC,UAAA,EAAY,gBAAA;AAAA,EACZ,QAAA,EAAU;AACZ,CAAC;AAIM,IAAM,gBAAkBA,EAAA,CAAA,MAAA,CAAO;AAAA,EACpC,QAAA,EAAU,eAAA;AAAA,EACV,KAAA,EAAO,gBAAA;AAAA,EACP,QAAA,EAAU;AACZ,CAAC;AAIM,IAAM,sBAAwBA,EAAA,CAAA,MAAA,CAAO;AAAA,EAC1C,KAAA,EAAO;AACT,CAAC;AAIM,IAAM,uBAAyBA,EAAA,CAAA,MAAA,CAAO;AAAA,EAC3C,KAAA,EAAO;AACT,CAAC;AAIM,IAAM,qBAAuBA,EAAA,CAAA,MAAA,CAAO;AAAA,EACzC,QAAA,EAAU,eAAA;AAAA,EACV,oBAAA,EAAsB,eAAA;AAAA,EACtB,MAAQA,EAAA,CAAA,MAAA;AACV,CAAC;AAIM,IAAM,eAAA,GAAoBA,EAAA,CAAA,IAAA;AAAA,EAC7BA,EAAA,CAAA,MAAA,CAAO;AAAA,IACP,eAAA,EAAiB,eAAA;AAAA,IACjB,QAAA,EAAU,eAAA;AAAA,IACV,oBAAA,EAAsB;AAAA,GACvB,CAAA;AAAA,EACCA,EAAA,CAAA,OAAA;AAAA,IACEA,EAAA,CAAA,YAAA;AAAA,MACA,CAAC,CAAC,UAAU,CAAA,EAAG,CAAC,sBAAsB,CAAC,CAAA;AAAA,MACvC,CAAC,KAAA,KAAU,KAAA,CAAM,QAAA,KAAa,KAAA,CAAM,oBAAA;AAAA,MACpC;AAAA,KACF;AAAA,IACA,CAAC,sBAAsB;AAAA;AAE3B;AAKO,IAAM,sBAAwBA,EAAA,CAAA,MAAA,CAAO;AAAA,EAC1C,YAAA,EAAgBA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,MAAA,EAAQ,CAAA;AAAA,EACnC,UAAA,EAAcA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,MAAA,EAAQ,CAAA;AAAA,EACjC,KAAA,EAASA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,MAAA,EAAQ,CAAA;AAAA,EAC5B,UAAA,EAAcA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,MAAA,EAAQ,CAAA;AAAA,EACjC,QAAA,EAAYA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,MAAA,EAAQ;AACjC,CAAC;AAIM,IAAM,qCAAuCA,EAAA,CAAA,MAAA,CAAO;AAAA,EACzD,UAAYA,EAAA,CAAA,MAAA,EAAO;AAAA,EACnB,cAAgBA,EAAA,CAAA,MAAA,EAAO;AAAA,EACvB,GAAA,EAAOA,YAAS,mBAAmB;AACrC,CAAC;AAMM,IAAM,mCAAqCA,EAAA,CAAA,MAAA,CAAO;AAAA,EACvD,UAAYA,EAAA,CAAA,MAAA,EAAO;AAAA,EACnB,MAAA,EAAQ;AACV,CAAC;AC/EM,IAAM,mBAAqBC,EAAA,CAAA,MAAA,CAAO;AAAA,EACvC,IAAA,EAAQA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,IAAA,CAAOA,EAAA,CAAA,MAAA,EAAO,EAAKA,EAAA,CAAA,QAAA,CAAS,CAAC,CAAC,CAAA,EAAG,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,EACpE,IAAA,EAAQA,EAAA,CAAA,QAAA;AAAA,IACJA,EAAA,CAAA,QAAA;AAAA,MACEA,EAAA,CAAA,IAAA,CAAOA,WAAO,EAAKA,EAAA,CAAA,QAAA,CAAS,CAAC,CAAA,EAAKA,EAAA,CAAA,QAAA,CAAS,8BAA8B,CAAC,CAAA;AAAA,MAC5E;AAAA,KACF;AAAA,IACA;AAAA;AAEJ,CAAC;AAGM,IAAM,+BAAiCA,EAAA,CAAA,MAAA,CAAO;AAAA,EACnD,YAAcA,EAAA,CAAA,IAAA,CAAOA,EAAA,CAAA,MAAA,EAAO,EAAKA,EAAA,CAAA,SAAA,CAAU,6BAA6B,CAAC,CAAA;AAAA,EACzE,IAAA,EAAQA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,IAAA,CAAOA,EAAA,CAAA,MAAA,EAAO,EAAKA,EAAA,CAAA,QAAA,CAAS,CAAC,CAAC,CAAA,EAAG,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,EACpE,IAAA,EAAQA,EAAA,CAAA,QAAA;AAAA,IACJA,EAAA,CAAA,QAAA;AAAA,MACEA,EAAA,CAAA,IAAA,CAAOA,WAAO,EAAKA,EAAA,CAAA,QAAA,CAAS,CAAC,CAAA,EAAKA,EAAA,CAAA,QAAA,CAAS,8BAA8B,CAAC,CAAA;AAAA,MAC5E;AAAA,KACF;AAAA,IACA;AAAA;AAEJ,CAAC;AAMM,IAAM,gBAAkBA,EAAA,CAAA,MAAA,CAAO;AAAA,EACpC,EAAA,EAAI;AACN,CAAC;AAGM,IAAM,wBAA0BA,EAAA,CAAA,MAAA,CAAO;AAAA,EAC5C,UAAA,EAAY;AACd,CAAC;ACnCM,IAAM,sCAAA,GAAyC;AAAA,EACpD,UAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,oBAAA;AAAA,EACA;AACF;AAKO,IAAM,2BAA6BC,EAAA,CAAA,MAAA,CAAO;AAAA,EAC/C,OAAA,EAAS,0BAAA;AAAA,EACT,MAAA,EAAQ,0BAAA;AAAA,EACR,gBAAA,EAAoBA,EAAA,CAAA,IAAA;AAAA,IAChBA,SAAM,qBAAqB,CAAA;AAAA,IAC3BA,EAAA,CAAA,SAAA,CAAU,GAAG,8CAA8C,CAAA;AAAA,IAC3DA,EAAA,CAAA,SAAA,CAAU,KAAK,6CAA6C;AAAA,GAChE;AAAA,EACA,OAAA,EAAWA,EAAA,CAAA,IAAA;AAAA,IACPA,EAAA,CAAA,KAAA;AAAA,MACEA,EAAA,CAAA,IAAA;AAAA,QACEA,EAAA,CAAA,MAAA,EAAO;AAAA,QACPA,EAAA,CAAA,IAAA,EAAK;AAAA,QACLA,EAAA,CAAA,SAAA,CAAU,+BAA+B,gCAAgC;AAAA;AAC7E,KACF;AAAA,IACEA,EAAA,CAAA,SAAA,CAAU,GAAG,oCAAoC,CAAA;AAAA,IACjDA,EAAA,CAAA,SAAA,CAAU,IAAI,kCAAkC;AAAA,GACpD;AAAA,EACA,OAAA,EAAWA,EAAA,CAAA,IAAA;AAAA,IACPA,EAAA,CAAA,KAAA;AAAA,MACEA,EAAA,CAAA,IAAA;AAAA,QACEA,EAAA,CAAA,MAAA,EAAO;AAAA,QACPA,EAAA,CAAA,IAAA,EAAK;AAAA,QACLA,EAAA,CAAA,SAAA,CAAU,+BAA+B,gCAAgC;AAAA;AAC7E,KACF;AAAA,IACEA,EAAA,CAAA,SAAA,CAAU,GAAG,oCAAoC,CAAA;AAAA,IACjDA,EAAA,CAAA,SAAA,CAAU,IAAI,kCAAkC;AAAA,GACpD;AAAA,EACA,UAAYA,EAAA,CAAA,MAAA,CAAO;AAAA,IACjB,cAAA,EAAkBA,EAAA,CAAA,IAAA;AAAA,MACdA,EAAA,CAAA,MAAA,EAAO;AAAA,MACPA,EAAA,CAAA,IAAA,EAAK;AAAA,MACLA,EAAA,CAAA,SAAA,CAAU,+BAA+B,gCAAgC;AAAA,KAC7E;AAAA,IACA,gBAAA,EAAoBA,EAAA,CAAA,QAAA;AAAA,MAChBA,EAAA,CAAA,IAAA;AAAA,QACEA,EAAA,CAAA,MAAA,EAAO;AAAA,QACPA,EAAA,CAAA,IAAA,EAAK;AAAA,QACLA,EAAA,CAAA,SAAA,CAAU,+BAA+B,gCAAgC;AAAA;AAC7E,KACF;AAAA,IACA,kBAAA,EAAsBA,EAAA,CAAA,QAAA;AAAA,MAClBA,EAAA,CAAA,IAAA;AAAA,QACEA,EAAA,CAAA,KAAA;AAAA,UACEA,EAAA,CAAA,IAAA;AAAA,YACEA,EAAA,CAAA,MAAA,EAAO;AAAA,YACPA,EAAA,CAAA,IAAA,EAAK;AAAA,YACLA,EAAA,CAAA,SAAA,CAAU,+BAA+B,yBAAyB;AAAA;AACtE,SACF;AAAA,QACEA,EAAA,CAAA,SAAA,CAAU,GAAG,8CAA8C,CAAA;AAAA,QAC3DA,EAAA,CAAA,SAAA,CAAU,IAAI,4CAA4C;AAAA;AAC9D,KACF;AAAA,IACA,YAAA,EAAgBA,EAAA,CAAA,QAAA;AAAA,MACZA,EAAA,CAAA,IAAA;AAAA,QACEA,UAAO,wBAAwB,CAAA;AAAA,QAC/BA,EAAA,CAAA,IAAA,EAAK;AAAA,QACLA,EAAA,CAAA,SAAA;AAAA,UACA,eAAA;AAAA,UACA,+CAA+C,eAAe,CAAA,WAAA;AAAA,SAChE;AAAA,QACEA,EAAA,CAAA,SAAA;AAAA,UACA,6BAAA;AAAA,UACA,qCAAqC,6BAA6B,CAAA,mBAAA;AAAA,SACpE;AAAA,QACEA,EAAA,CAAA,KAAA,CAAM,eAAA,EAAiB,CAAA,UAAA,EAAa,6BAA6B,CAAA,CAAE;AAAA;AACvE,KACF;AAAA,IACA,eAAiBA,EAAA,CAAA,MAAA,CAAO;AAAA,MACtB,MAAA,EAAUA,EAAA,CAAA,QAAA;AAAA,QACR,sCAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,OAASA,EAAA,CAAA,MAAA,CAAO;AAAA,QACd,MAAQA,EAAA,CAAA,MAAA,EAAO;AAAA,QACf,OAAA,EAAWA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,MAAA,EAAQ,CAAA;AAAA,QAC9B,KAAA,EAASA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,MAAA,EAAQ,CAAA;AAAA,QAC5B,GAAA,EAAOA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,MAAA,EAAQ;AAAA,OAC3B;AAAA,KACF;AAAA,GACF,CAAA;AAAA,EACD,QAAA,EAAYA,EAAA,CAAA,QAAA;AAAA,IACRA,EAAA,CAAA,IAAA;AAAA,MACEA,EAAA,CAAA,MAAA,EAAO;AAAA,MACPA,EAAA,CAAA,IAAA,EAAK;AAAA,MACLA,EAAA,CAAA,SAAA,CAAU,+BAA+B,iCAAiC;AAAA;AAC9E,GACF;AAAA,EACA,gBAAA,EAAoBA,EAAA,CAAA,IAAA;AAAA,IAChBA,EAAA,CAAA,KAAA;AAAA,MACEA,EAAA,CAAA,MAAA,CAAO;AAAA,QACP,eAAA,EAAmBA,EAAA,CAAA,QAAA;AAAA,UACfA,EAAA,CAAA,IAAA;AAAA,YACEA,EAAA,CAAA,MAAA,EAAO;AAAA,YACPA,EAAA,CAAA,IAAA,EAAK;AAAA,YACLA,EAAA,CAAA,SAAA;AAAA,cACA,6BAAA;AAAA,cACA;AAAA;AACF;AACF,SACF;AAAA,QACA,wBAAA,EAA4BA,EAAA,CAAA,QAAA;AAAA,UACxBA,EAAA,CAAA,KAAA;AAAA,YACEA,EAAA,CAAA,IAAA;AAAA,cACEA,EAAA,CAAA,MAAA,EAAO;AAAA,cACPA,EAAA,CAAA,IAAA,EAAK;AAAA,cACLA,EAAA,CAAA,SAAA;AAAA,gBACA,6BAAA;AAAA,gBACA;AAAA;AACF;AACF;AACF;AACF,OACD;AAAA,KACH;AAAA,IACEA,EAAA,CAAA,SAAA,CAAU,GAAG,6CAA6C,CAAA;AAAA,IAC1DA,EAAA,CAAA,SAAA,CAAU,IAAI,2CAA2C;AAAA,GAC7D;AAAA,EACA,EAAA,EAAMA,EAAA,CAAA,QAAA;AAAA,IACFA,EAAA,CAAA,IAAA;AAAA,MACEA,EAAA,CAAA,MAAA,EAAO;AAAA,MACPA,EAAA,CAAA,IAAA,EAAK;AAAA,MACLA,EAAA,CAAA,SAAA,CAAU,+BAA+B,4BAA4B;AAAA;AACzE,GACF;AAAA,EACA,KAAA,EAASA,EAAA,CAAA,QAAA;AAAA,IACLA,EAAA,CAAA,IAAA;AAAA,MACEA,EAAA,CAAA,MAAA,EAAO;AAAA,MACPA,EAAA,CAAA,IAAA,EAAK;AAAA,MACLA,EAAA,CAAA,SAAA,CAAU,+BAA+B,+BAA+B;AAAA;AAC5E;AAEJ,CAAC;AClIM,IAAM,oCAAsCC,EAAA,CAAA,MAAA,CAAO;AAAA,EACxD,IAAA,EAAQA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,IAAA,CAAOA,EAAA,CAAA,MAAA,EAAO,EAAKA,EAAA,CAAA,QAAA,CAAS,CAAC,CAAC,CAAA,EAAG,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,EACpE,IAAA,EAAQA,EAAA,CAAA,QAAA;AAAA,IACJA,EAAA,CAAA,QAAA;AAAA,MACEA,EAAA,CAAA,IAAA;AAAA,QACEA,EAAA,CAAA,MAAA,EAAO;AAAA,QACPA,YAAS,CAAC,CAAA;AAAA,QACVA,YAAS,2CAA2C;AAAA,OACxD;AAAA,MACA;AAAA,KACF;AAAA,IACA;AAAA,GACF;AAAA,EACA,eAAA,EAAmBA,YAAS,qBAAqB,CAAA;AAAA,EACjD,UAAA,EAAcA,YAAS,mBAAmB,CAAA;AAAA,EAC1C,UAAA,EAAcA,YAAS,mBAAmB,CAAA;AAAA,EAC1C,YAAA,EAAgBA,YAAS,qBAAqB,CAAA;AAAA,EAC9C,WAAA,EAAeA,YAAS,oBAAoB,CAAA;AAAA,EAC5C,mBAAA,EAAuBA,YAAS,2BAA2B,CAAA;AAAA,EAC3D,MAAA,EAAUA,YAAS,eAAe,CAAA;AAAA,EAClC,cAAA,EAAkBA,YAAS,kBAAkB,CAAA;AAAA,EAC7C,gBAAA,EAAoBA,YAAS,kBAAkB,CAAA;AAAA,EAC/C,kBAAA,EAAsBA,YAAS,kBAAkB,CAAA;AAAA,EACjD,YAAA,EAAgBA,YAAS,kBAAkB,CAAA;AAAA,EAC3C,eAAA,EAAmBA,YAAS,kBAAkB,CAAA;AAAA,EAC9C,wBAAA,EAA4BA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,KAAA,CAAM,kBAAkB,CAAC,CAAA;AAAA,EAChE,GAAA,EAAOA,YAAS,UAAU,CAAA;AAAA,EAC1B,SAAA,EAAaA,EAAA,CAAA,QAAA,CAAWA,EAAA,CAAA,OAAA,EAAS,CAAA;AAAA,EACjC,KAAA,EAASA,YAAS,kBAAkB;AACtC,CAAC;AAOM,IAAM,iCAAmCA,EAAA,CAAA,MAAA,CAAO;AAAA,EACrD,OAAA,EAAS,0BAAA;AAAA,EACT,MAAA,EAAQ,0BAAA;AAAA,EACR,eAAA,EAAiB,qBAAA;AAAA,EACjB,UAAA,EAAY,mBAAA;AAAA,EACZ,UAAA,EAAY,mBAAA;AAAA,EACZ,YAAA,EAAc,qBAAA;AAAA,EACd,WAAA,EAAa,6BAAA;AAAA,EACb,mBAAA,EAAqB,6BAAA;AAAA,EACrB,MAAA,EAAQ,6BAAA;AAAA,EACR,cAAA,EAAgB,kBAAA;AAAA,EAChB,gBAAA,EAAkB,6BAAA;AAAA,EAClB,kBAAA,EAAoB,4BAAA;AAAA,EACpB,YAAA,EAAc,oCAAA;AAAA,EACd,eAAA,EAAiB,6BAAA;AAAA,EACjB,wBAAA,EAA0B,4BAAA;AAAA,EAC1B,GAAA,EAAK,cAAA;AAAA,EACL,SAAA,EAAW,eAAA;AAAA,EACX,KAAA,EAAO;AACT,CAAC;AAQM,IAAM,8BAAgCA,EAAA,CAAA,MAAA,CAAO;AAAA,EAClD,eAAA,EAAiB,qBAAA;AAAA,EACjB,UAAA,EAAY,mBAAA;AAAA,EACZ,UAAA,EAAY,mBAAA;AAAA,EACZ,YAAA,EAAc,qBAAA;AAAA,EACd,WAAA,EAAa,6BAAA;AAAA,EACb,mBAAA,EAAqB,6BAAA;AAAA,EACrB,MAAA,EAAQ,6BAAA;AAAA,EACR,cAAA,EAAgB,kBAAA;AAAA,EAChB,gBAAA,EAAkB,6BAAA;AAAA,EAClB,kBAAA,EAAoB,4BAAA;AAAA,EACpB,YAAA,EAAc,oCAAA;AAAA,EACd,eAAA,EAAiB,6BAAA;AAAA,EACjB,wBAAA,EAA0B,4BAAA;AAAA,EAC1B,GAAA,EAAK,cAAA;AAAA,EACL,SAAA,EAAW,eAAA;AAAA,EACX,KAAA,EAAO;AACT,CAAC;AAKM,IAAM,8CAAgDA,EAAA,CAAA,MAAA,CAAO;AAAA,EAClE,OAAA,EAAS,0BAAA;AAAA,EACT,MAAA,EAAQ,0BAAA;AAAA,EACR,KAAA,EAASA,EAAA,CAAA,IAAA;AAAA,IACLA,SAAM,2BAA2B,CAAA;AAAA,IACjCA,EAAA,CAAA,SAAA,CAAU,GAAG,+CAA+C,CAAA;AAAA,IAC5DA,EAAA,CAAA,SAAA,CAAU,KAAK,gDAAgD;AAAA;AAErE,CAAC;AAMM,IAAM,2CAA6CA,EAAA,CAAA,MAAA,CAAO;AAAA,EAC/D,UAAA,EAAY;AACd,CAAC;AAKM,IAAM,oCAAsCA,EAAA,CAAA,MAAA,CAAO;AAAA,EACxD,GAAA,EAAK;AACP,CAAC;AAMM,IAAM,iCAAmCA,EAAA,CAAA,MAAA,CAAO;AAAA,EACrD,OAAA,EAAWA,YAAS,0BAA0B,CAAA;AAAA,EAC9C,MAAA,EAAUA,YAAS,0BAA0B,CAAA;AAAA,EAC7C,eAAA,EAAiB,qBAAA;AAAA,EACjB,UAAA,EAAY,mBAAA;AAAA,EACZ,UAAA,EAAY,mBAAA;AAAA,EACZ,YAAA,EAAc,qBAAA;AAAA,EACd,WAAA,EAAa,6BAAA;AAAA,EACb,mBAAA,EAAqB,6BAAA;AAAA,EACrB,MAAA,EAAQ,6BAAA;AAAA,EACR,cAAA,EAAgB,kBAAA;AAAA,EAChB,gBAAA,EAAkB,6BAAA;AAAA,EAClB,kBAAA,EAAoB,4BAAA;AAAA,EACpB,YAAA,EAAc,oCAAA;AAAA,EACd,eAAA,EAAiB,6BAAA;AAAA,EACjB,wBAAA,EAA0B,4BAAA;AAAA,EAC1B,GAAA,EAAK,cAAA;AAAA,EACL,SAAA,EAAW,eAAA;AAAA,EACX,KAAA,EAAO;AACT,CAAC;AAKM,IAAM,wCAA0CA,EAAA,CAAA,MAAA,CAAO;AAAA,EAC5D,UAAA,EAAY,0BAAA;AAAA,EACZ,IAAA,EAAM;AACR,CAAC;AAMM,IAAM,iCAAmCA,EAAA,CAAA,MAAA,CAAO;AAAA,EACrD,UAAA,EAAY;AACd,CAAC;AC9JM,SAAS,gBAAA,CACd,QACA,KAAA,EAC2B;AAnB7B,EAAA,IAAA,EAAA,EAAA,EAAA;AAoBE,EAAA,IAAI;AACF,IAAA,MAAM,MAAA,GAAWC,EAAA,CAAA,KAAA,CAAM,MAAA,EAAQ,KAAK,CAAA;AACpC,IAAA,OAAO,EAAE,IAAA,EAAM,MAAA,EAAQ,KAAA,EAAO,IAAA,EAAM,QAAQ,IAAA,EAAK;AAAA,EACnD,SAAS,GAAA,EAAc;AACrB,IAAA,IAAI,eAAiBA,EAAA,CAAA,SAAA,EAAW;AAC9B,MAAA,MAAM,SAAiC,EAAC;AACxC,MAAA,KAAA,MAAW,KAAA,IAAS,IAAI,MAAA,EAAQ;AAC9B,QAAA,MAAM,UAAQ,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAM,IAAA,KAAN,IAAA,GAAA,MAAA,GAAA,EAAA,CAAa,CAAA,CAAA,KAAb,mBAAiB,GAAA,KAAO,SAAA;AACtC,QAAA,MAAA,CAAO,KAAK,IAAI,KAAA,CAAM,OAAA;AAAA,MACxB;AACA,MAAA,OAAO,EAAE,IAAA,EAAM,IAAA,EAAM,KAAA,EAAO,MAAM,MAAA,EAAO;AAAA,IAC3C;AACA,IAAA,IAAI,YAAA,GAAe,eAAA;AACnB,IAAA,IAAI,eAAe,KAAA,EAAO;AACxB,MAAA,YAAA,GAAe,GAAA,CAAI,OAAA;AAAA,IACrB,CAAA,MAAO;AACL,MAAA,YAAA,GAAe,OAAO,GAAG,CAAA;AAAA,IAC3B;AACA,IAAA,OAAO,EAAE,IAAA,EAAM,IAAA,EAAM,KAAA,EAAO,YAAA,EAAc,QAAQ,IAAA,EAAK;AAAA,EACzD;AACF;AAEO,SAAS,oBACd,MAAA,EACsC;AACtC,EAAA,OAAO,MAAA,CAAO,KAAA,KAAU,IAAA,IAAQ,MAAA,CAAO,MAAA,KAAW,IAAA;AACpD;AAEO,SAAS,oBACd,MAAA,EACmC;AACnC,EAAA,OAAO,MAAA,CAAO,KAAA,KAAU,IAAA,IAAQ,MAAA,CAAO,MAAA,KAAW,IAAA;AACpD;AAEO,SAAS,cAA6C,GAAA,EAAoB;AAC/E,EAAA,MAAM,SAAqB,EAAC;AAC5B,EAAA,KAAA,MAAW,OAAO,GAAA,EAAK;AACrB,IAAA,IAAI,GAAA,CAAI,GAAG,CAAA,KAAM,MAAA,EAAW;AAC1B,MAAA,MAAA,CAAO,GAAG,CAAA,GAAI,GAAA,CAAI,GAAG,CAAA;AAAA,IACvB;AAAA,EACF;AACA,EAAA,OAAO,MAAA;AACT;;;AC9DO,SAAS,SAAA,GAAkB;AAChC,EAAA,MAAMC,KAAAA,uBAAW,IAAA,EAAK;AACtB,EAAAA,KAAAA,CAAK,QAAA,CAAS,CAAA,EAAG,CAAA,EAAG,GAAG,CAAC,CAAA;AACxB,EAAA,OAAOA,KAAAA;AACT;AAEO,SAAS,YAAA,CAAa,KAAA,EAAa,IAAA,GAAe,EAAA,EAAU;AACjE,EAAA,MAAMA,KAAAA,GAAO,IAAI,IAAA,CAAK,KAAK,CAAA;AAC3B,EAAAA,KAAAA,CAAK,OAAA,CAAQA,KAAAA,CAAK,OAAA,KAAY,IAAI,CAAA;AAClC,EAAAA,KAAAA,CAAK,QAAA,CAAS,EAAA,EAAI,EAAA,EAAI,IAAI,GAAG,CAAA;AAC7B,EAAA,OAAOA,KAAAA;AACT","file":"index.js","sourcesContent":["// Generics\nexport const LIMIT_MIN_VALUE = 1\nexport const LIMIT_MIN_NAME = 2\nexport const LIMIT_MAX_DESCRIPTION = 1024\nexport const LIMIT_SHORT_STRING_MAX_LENGTH = 255\nexport const LIMIT_MEDIUM_STRING_MAX_LENGTH = 500\nexport const LIMIT_LONG_STRING_MAX_LENGTH = 5000\n// Users\nexport const LIMIT_MIN_USERNAME = 3\nexport const LIMIT_MAX_USERNAME = 255\nexport const LIMIT_MIN_EMAIL = 5\nexport const LIMIT_MAX_EMAIL = 255\nexport const LIMIT_MIN_PASSWORD = 8\nexport const LIMIT_MAX_PASSWORD = 255\nexport const LIMIT_MAX_PROVIDER = 255\n// URLs\nexport const LIMIT_MIN_DESTINATION = 10\nexport const LIMIT_MAX_DESTINATION = 2048\nexport const LIMIT_MIN_DOMAIN = 10\nexport const LIMIT_MAX_DOMAIN = 253\nexport const LIMIT_MIN_PATH = 1\nexport const LIMIT_MAX_PATH = 2038\nexport const LIMIT_MIN_QUERY = 1\nexport const LIMIT_MAX_QUERY = 2038\nexport const LIMIT_MIN_FRAGMENT = 1\nexport const LIMIT_MAX_FRAGMENT = 2038\n// UTM Parameters\nexport const LIMIT_MIN_UTM_SOURCE = 1\nexport const LIMIT_MAX_UTM_SOURCE = 2026\nexport const LIMIT_MIN_UTM_MEDIUM = 1\nexport const LIMIT_MAX_UTM_MEDIUM = 2026\nexport const LIMIT_MIN_UTM_CAMPAIGN = 1\nexport const LIMIT_MAX_UTM_CAMPAIGN = 2024\nexport const LIMIT_MIN_UTM_CREATIVE_FORMAT = 1\nexport const LIMIT_MAX_UTM_CREATIVE_FORMAT = 2017\nexport const LIMIT_MIN_UTM_CONTENT = 1\nexport const LIMIT_MAX_UTM_CONTENT = 2025\nexport const LIMIT_MIN_UTM_TERM = 1\nexport const LIMIT_MAX_UTM_TERM = 2028\nexport const LIMIT_MIN_UTM_ID = 1\nexport const LIMIT_MAX_UTM_ID = 2030\n","// Generics\nexport const LIMIT_PAGINATION_DEFAULT_SIZE = 100\nexport const LIMIT_PAGINATION_MAX_SIZE = 10000\n// Entities\nexport const LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE = 6\nexport const LIMIT_BLOG_POST_PAGINATION_MAX_SIZE = 20\nexport const LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE = 16\nexport const LIMIT_CLIENT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_PRODUCT_HIGHLIGHT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_PRODUCT_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_PRODUCT_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE = 1000\nexport const LIMIT_REDIRECT_PAGINATION_MAX_SIZE = 10000\nexport const LIMIT_TEAM_MEMBER_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_TEAM_MEMBER_PAGINATION_MAX_SIZE = 20\nexport const LIMIT_TREND_PAGINATION_DEFAULT_SIZE = 7\nexport const LIMIT_TREND_PAGINATION_MAX_SIZE = 100\nexport const LIMIT_USER_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_USER_PAGINATION_MAX_SIZE = 10\nexport const LIMIT_CATEGORIES_DEFAULT_SIZE = 100\nexport const LIMIT_CATEGORIES_MAX_SIZE = 1000\nexport const LIMIT_TAGS_DEFAULT_SIZE = 100\nexport const LIMIT_TAGS_MAX_SIZE = 1000\nexport const LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE = 10\nexport const LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE = 1000\n","//\n/**\n * Example usage of ClientEntityScope type\n * @reference https://youtube.com/shorts/zOseJFD447U?si=xX8DYEHdl9YtN7S4\n *\n * > const validScope: ClientEntityScope = \"tracking-link:import\"; // ✅\n * > const invalidScope: ClientEntityScope = \"website:import\"; // ❌ Type error!\n */\n\nexport const CLIENT_ENTITY_PERMISSIONS = {\n \"client-project\": [\"list\", \"create\", \"read\", \"update\", \"delete\", \"export\", \"import\"],\n \"client-report\": [\"list\", \"create\", \"read\", \"update\", \"delete\", \"export\", \"import\"],\n \"utm-tracking-link\": [\n \"list\",\n \"create\",\n \"read\",\n \"update\",\n \"delete\",\n \"export\",\n \"import\"\n ]\n} as const\n\nexport type ClientEntityKey = keyof typeof CLIENT_ENTITY_PERMISSIONS\n\nexport type ClientEntityActions<K extends ClientEntityKey = ClientEntityKey> =\n (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]\n\ntype EntityActionJoin<K extends string, V extends string> = `${K}:${V}`\n\nexport type ClientEntityScope = {\n [K in ClientEntityKey]: EntityActionJoin<\n K,\n (typeof CLIENT_ENTITY_PERMISSIONS)[K][number]\n >\n}[ClientEntityKey]\n\nexport const CLIENT_ENTITY_KEYS = Object.keys(\n CLIENT_ENTITY_PERMISSIONS\n) as ClientEntityKey[]\n\nexport const CLIENT_ENTITY_SCOPES: ClientEntityScope[] = Object.entries(\n CLIENT_ENTITY_PERMISSIONS\n).flatMap(([entity, actions]) =>\n actions.map((action) => `${entity}:${action}` as ClientEntityScope)\n)\n","export const ERROR_MESSAGE_REGEX_DOMAIN = \"please provide a valid domain name\"\nexport const REGEX_DOMAIN =\n /^(?=.{1,253}$)(?!-)((xn--)?[a-zA-Z0-9]{1,59}(-[a-zA-Z0-9]{1,62})?\\.)+([a-zA-Z]{2,63}|xn--[a-zA-Z0-9]{2,59})$/\n\nexport const ERROR_MESSAGE_REGEX_UTM_VALUE = `can only contain letters, numbers, and the special characters: - _ .`\nexport const REGEX_UTM_VALUE = /^[a-zA-Z0-9._-]+$/\n","import * as v from \"valibot\"\nimport {\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE,\n LIMIT_BLOG_POST_PAGINATION_MAX_SIZE\n} from \"../constants\"\n\nexport const QueryStrapiSearchBlogPosts = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_BLOG_POST_PAGINATION_MAX_SIZE)\n ),\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_BLOG_POST_PAGINATION_DEFAULT_SIZE\n ),\n search: v.optional(v.pipe(v.string(), v.maxLength(255)), \"\"),\n category: v.optional(v.pipe(v.string(), v.maxLength(100)), \"\"),\n tags: v.optional(v.array(v.pipe(v.string(), v.maxLength(100))), []),\n status: v.optional(v.picklist([\"draft\", \"published\"]))\n})\n\nexport type QueryStrapiSearchBlogPosts = v.InferOutput<\n typeof QueryStrapiSearchBlogPosts\n>\n\nexport const QueryStrapiSearchBlogPostsBySlug = v.object({\n slug: v.string(),\n status: v.optional(v.picklist([\"draft\", \"published\"]), \"published\")\n})\n\nexport type QueryStrapiSearchBlogPostsBySlug = v.InferOutput<\n typeof QueryStrapiSearchBlogPostsBySlug\n>\n","import type { BaseDocument, MediaUploadDocument } from \"../core\"\nimport type { ClientDocument } from \"./client.document\"\n\nexport const ClientProjectStatusOptions = [\n \"coming-soon\",\n \"now-open\",\n \"for-sale\",\n \"sold-out\",\n \"available\"\n]\nexport type ClientProjectStatus = (typeof ClientProjectStatusOptions)[number]\n\nexport type ClientProjectDocument = {\n title: string\n slug: string\n project_status: ClientProjectStatus[]\n clients?: ClientDocument[]\n featured_image?: MediaUploadDocument | null\n} & BaseDocument\n","import * as v from \"valibot\"\nimport { CLIENT_ENTITY_SCOPES } from \"../constants\"\n\nexport const IsValidGroupUserScopes = v.pipe(\n v.array(\n v.pipe(\n v.string(\"please provide a valid scope\"),\n v.picklist(CLIENT_ENTITY_SCOPES, \"invalid client scope provided\")\n ),\n \"please provide an array of scopes\"\n ),\n v.maxLength(\n CLIENT_ENTITY_SCOPES.length,\n \"you cannot provide more scopes than available\"\n )\n)\n","import * as v from \"valibot\"\nimport {\n LIMIT_LONG_STRING_MAX_LENGTH,\n LIMIT_SHORT_STRING_MAX_LENGTH\n} from \"../constants\"\n\n// reference id for relationships\nexport const IsValidReferenceId = v.number(\"please provide a valid id\")\n\nexport const IsValidReferenceDocumentId = v.pipe(\n v.string(\"please provide a valid document id\"),\n v.trim(),\n v.minLength(1, \"the document id is too short, it must be at least 1 character\"),\n v.maxLength(255, \"the document id is too long, it must be 255 characters or less\")\n)\n\n// dates\nexport const IsValidDateToday = v.pipe(\n v.date(),\n v.minValue(new Date()),\n v.transform((value) => value.toISOString())\n)\n\n// numbers\nexport const IsValidPositiveInteger = v.pipe(\n v.number(\"Please enter a number.\"),\n v.integer(\"Please enter a whole number.\"),\n v.minValue(1, \"Please enter a positive number.\")\n)\n\n// strings\nexport const InvalidShortStringMax = `The string you provided is too long, please abbreviate your string to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidShortString = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidShortStringMax)\n)\nexport const IsValidShortStringOrUndefined = v.optional(IsValidShortString)\n\nexport const InvalidLongStringOrUndefined = `The string you provided is too long, please abbreviate your string to be ${LIMIT_LONG_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidLongString = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined)\n)\nexport const IsValidLongStringOrUndefined = v.optional(IsValidLongString)\n\nexport const IsValidStringList = v.pipe(\n v.array(v.string()),\n v.transform((value) => value.join(\",\"))\n)\nexport const IsValidStringListOrUndefined = v.optional(IsValidStringList)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_LONG_STRING_MAX_LENGTH,\n LIMIT_MAX_DESCRIPTION,\n LIMIT_MAX_DESTINATION,\n LIMIT_MEDIUM_STRING_MAX_LENGTH,\n LIMIT_MIN_NAME,\n LIMIT_MIN_VALUE,\n LIMIT_SHORT_STRING_MAX_LENGTH,\n REGEX_UTM_VALUE\n} from \"../constants\"\nimport { InvalidLongStringOrUndefined } from \"./validators-generics\"\n\nexport const InvalidInputRobot = \"It appears you are a robot, please try again.\"\n\n// File Reference\nexport const IsValidFileReferenceId = v.object({\n id: v.number(),\n src: v.optional(v.string())\n})\n\n// names\nexport const InvalidFullName = \"Please enter your name.\"\nexport const InvalidFullNameMaxLength = `Your name is too long for our datanase, please abbreviate your name to be ${LIMIT_MEDIUM_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidFullName = v.pipe(\n v.string(InvalidFullName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidFullName),\n v.maxLength(LIMIT_MEDIUM_STRING_MAX_LENGTH, InvalidFullNameMaxLength),\n v.includes(\" \", \"Please enter your first and last name.\")\n)\n\nexport const InvalidFirstName = \"Please enter your first name.\"\nexport const InvalidFirstNameMaxLength = `Your first name is too long for our datanase, please abbreviate your first name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidFirstName = v.pipe(\n v.string(InvalidFirstName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidFirstName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidFirstNameMaxLength)\n)\n\nexport const InvalidLastName = \"Please enter your last name.\"\nexport const InvalidLastNameMaxLength = `Your last name is too long for our datanase, please abbreviate your last name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidLastName = v.pipe(\n v.string(InvalidLastName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidLastName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidLastNameMaxLength)\n)\n\nexport const InvalidPreferredName = \"Please enter your preferred name.\"\nexport const InvalidPreferredNameMaxLength = `Your preferred name is too long for our datanase, please abbreviate your preferred name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidPreferredName = v.pipe(\n v.string(InvalidPreferredName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidPreferredName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidPreferredNameMaxLength)\n)\n\nexport const IsValidUserConsent = v.boolean()\n\nexport const InvalidUserPhoneType = \"Please enter your phone number.\"\nexport const InvalidUserPhone = `The phone you provided does not appear to be a valid phone number.`\nexport const IsValidUserPhoneRequired = v.pipe(\n v.string(InvalidUserPhoneType),\n v.trim(),\n v.minLength(7, InvalidUserPhoneType),\n v.maxLength(15, InvalidUserPhone)\n)\nexport const IsValidUserPhone = v.optional(IsValidUserPhoneRequired)\n\nexport const InvalidCompanyName = \"Please enter your company name.\"\nexport const InvalidCompanyNameMaxLength = `The company name you provided is too long for our database, please abbreviate your company name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidCompanyNameRequired = v.pipe(\n v.string(InvalidCompanyName),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidCompanyName),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidCompanyNameMaxLength)\n)\nexport const IsValidCompanyName = v.optional(IsValidCompanyNameRequired)\n\nexport const InvalidUserTitle = \"Please enter your job title or reference.\"\nexport const InvalidUserTitleMaxLength = `The job title you provided is too long for our database, please abbreviate your company name to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidUserTitleRequired = v.pipe(\n v.string(InvalidUserTitle),\n v.trim(),\n v.minLength(LIMIT_MIN_VALUE, InvalidUserTitle),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidUserTitleMaxLength)\n)\nexport const IsValidUserTitle = v.optional(IsValidUserTitleRequired)\n\nexport const InvalidUserMessage = \"How can we be of service to your team?\"\nexport const InvalidUserMessageMaxLength = `The message you provided is too long for our database, please abbreviate your message to be ${LIMIT_LONG_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidUserMessage = v.optional(\n v.pipe(\n v.string(InvalidUserMessage),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidUserMessageMaxLength)\n )\n)\n\nexport const InvalidRefPageMaxLength = `The string you provided is too long for our database, please abbreviate your string to be ${LIMIT_MAX_DESTINATION} characters or less.`\nexport const IsValidRefPage = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_MAX_DESTINATION, InvalidRefPageMaxLength)\n)\n\nexport const InvalidProductInterestMaxLength = `The product interest provided is too long. It must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidProductInterest = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidProductInterestMaxLength)\n)\n\nexport const IsValidCaptchaToken = v.pipe(\n v.string(InvalidInputRobot),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined)\n)\n\nexport const InvalidInstrustryName = \"Please enter your industry.\"\nexport const InvalidInstrustryNameMaxLength = `The industry you provided is too long for our database, please abbreviate your industry to be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less.`\nexport const IsValidIndustryName = v.optional(\n v.pipe(\n v.string(InvalidInstrustryName),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, InvalidInstrustryNameMaxLength)\n )\n)\n\nexport const InvalidRangeValueOneToFive = `Please select a value between 1 and 5. (1 = Poor, 3 = Neutral, 5 = Excellent)`\nexport const IsValidRangeValueOneToFive = v.pipe(\n v.string(),\n v.picklist([\"1\", \"2\", \"3\", \"4\", \"5\"], InvalidRangeValueOneToFive)\n)\n\nexport const InvalidClientTermNumber = `Please provide how many months your team has used this product.`\nexport const InvalidClientTermMin = `We're sorry, you must be a client for at least 1 month to provide feedback.`\nexport const IsValidClientTerm = v.pipe(\n v.number(InvalidClientTermNumber),\n v.minValue(1, InvalidClientTermMin)\n)\n\nexport const IsValidUrl = v.pipe(\n v.string(),\n v.trim(),\n v.startsWith(\"http\", \"Please enter a valid URL starting with http or https.\"),\n v.url(\"Please enter a valid URL.\")\n)\nexport const IsValidUrlOrUndefined = v.optional(IsValidUrl)\n\nexport const IsValidUrlList = (input: string) => {\n if (input === \"\") return true\n const urls = input.split(\",\")\n if (urls.length > 0) {\n const truthy = []\n for (let i = 0; i < urls.length; i++) {\n const result = v.safeParse(IsValidUrl, urls[i])\n truthy.push(result.success)\n }\n return truthy.every((item) => item === true)\n }\n return false\n}\n\nexport const InvalidListOfUrls = \"Please enter a list of URLs separated by commas.\"\nexport const IsValidStringSepListOfUrls = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_LONG_STRING_MAX_LENGTH, InvalidLongStringOrUndefined),\n v.check(IsValidUrlList, InvalidListOfUrls)\n)\nexport const IsValidStringSepListOfUrlsOrUndefined = v.optional(\n IsValidStringSepListOfUrls\n)\n\nexport const InvalidDestinationUrl = \"Please remove any query parameters from the URL.\"\nexport const IsValidDestinationUrl = v.pipe(\n v.string(),\n v.trim(),\n v.url(\"Please enter a valid URL.\"),\n v.check((input: string) => {\n if (input === \"\") return false\n return input.indexOf(\"?\") === -1\n }, InvalidDestinationUrl)\n)\n\nexport const InvalidUtmLink = \"Please enter a valid URL with UTM parameters.\"\nexport const IsValidUtmLink = v.pipe(\n v.string(),\n v.trim(),\n v.url(\"Please enter a valid URL.\"),\n v.check((input: string) => {\n return input.includes(\"utm_\")\n }, InvalidUtmLink)\n)\n\nexport const IsValidUtmCampaignKeyName = v.pipe(\n v.string(\"please provide a value\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the value is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the value is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `the value ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidUtmCampaignKeyNameOrUndefined = v.optional(\n IsValidUtmCampaignKeyName\n)\n\nexport const InvalidCsvFileType = \"Please upload a CSV file.\"\nexport const IsValidCsvFile = v.optional(\n v.pipe(v.blob(), v.mimeType([\"text/csv\"], InvalidCsvFileType))\n)\n\nexport const InvalidResumeFileType = \"Please upload a PDF or Word document.\"\nexport const IsValidResumeFile = v.nullable(\n v.pipe(\n v.file(InvalidResumeFileType),\n v.mimeType([\"application/pdf\"], InvalidResumeFileType)\n )\n)\n\nexport const ValidNumberOfEmployeeOptions = [\n { label: \"0-10\", value: \"0-10\" },\n { label: \"11-20\", value: \"11-20\" },\n { label: \"21-50\", value: \"21-50\" },\n { label: \"51-100\", value: \"51-100\" },\n { label: \"101-500\", value: \"101-500\" },\n { label: \"501+\", value: \"501+\" }\n] as const\n\nexport const IsValidNumberOfEmployees = v.pipe(\n v.string(),\n v.picklist(\n ValidNumberOfEmployeeOptions.map((item) => item.value),\n \"Please select an option that best describes your team size.\"\n )\n)\n\nexport const ValidJobRoleGroup = [\n {\n label: \"Founder / Owner\",\n value: \"founder,owner\"\n },\n {\n label: \"C-suite Executive\",\n value: \"executive\"\n },\n {\n label: \"Vice President\",\n value: \"vice president\"\n },\n {\n label: \"Director\",\n value: \"director\"\n },\n {\n label: \"Manager\",\n value: \"manager\"\n },\n {\n label: \"Solo-prenour\",\n value: \"solo-prenour\"\n },\n {\n label: \"Student\",\n value: \"student\"\n }\n] as const\n\nexport const IsValidUserRole = v.pipe(\n v.string(),\n v.picklist(\n ValidJobRoleGroup.map((item) => item.value),\n \"Please select an option that best describes your role.\"\n )\n)\n\nexport const ValidGcServiceOptions = [\n { label: \"Full Marketing Services\", value: \"Full Marketing Services\" },\n {\n label: \"Graphic Design / Marketing Design\",\n value: \"Graphic Design / Marketing Design\"\n },\n { label: \"Text Message Marketing\", value: \"Text Message Marketing\" },\n { label: \"Email Marketing\", value: \"Email Marketing\" },\n { label: \"Video Production\", value: \"Video Production\" },\n { label: \"Website Production\", value: \"Website Production\" },\n { label: \"Marketing Automation Software\", value: \"Marketing Automation Software\" },\n { label: \"Online Advertising\", value: \"Online Advertising\" },\n { label: \"Influencer Marketing\", value: \"Influencer Marketing\" }\n] as const\n\nexport const ValidGcVideoServiceOptions = [\n { label: \"Storyboarding\", value: \"Storyboarding\" },\n { label: \"Voiceovers\", value: \"Voiceovers\" },\n { label: \"Video Commercials / Interviews\", value: \"Video Commercials / Interviews\" },\n {\n label: \"Short Form Video Editing (social posts/stories)\",\n value: \"Short Form Video Editing (social posts/stories)\"\n },\n { label: \"Product Tours\", value: \"Product Tours\" },\n { label: \"Model Home / Community Tours\", value: \"Model Home / Community Tours\" },\n { label: \"Matterport Interactive Tours\", value: \"Matterport Interactive Tours\" },\n { label: \"3D Flyover Videos\", value: \"3D Flyover Videos\" }\n] as const\n\nexport const ValidGcDesiredContentOptions = [\n { label: \"Blog Posts\", value: \"Blog Posts\" },\n { label: \"Podcasting\", value: \"Podcasting\" },\n { label: \"Live Streams\", value: \"Live Streams\" },\n { label: \"Newsletters\", value: \"Newsletters\" },\n { label: \"Freebies / Toolkits\", value: \"Freebies / Toolkits\" },\n { label: \"Community Updates\", value: \"Community Updates\" }\n] as const\n\nexport const ValidRatingRange5 = [\n { label: \"1\", value: \"1\" },\n { label: \"2\", value: \"2\" },\n { label: \"3\", value: \"3\" },\n { label: \"4\", value: \"4\" },\n { label: \"5\", value: \"5\" }\n] as const\n\n// cost\nexport const IsValidCost = v.pipe(\n v.number(\"please enter a cost value\"),\n v.minValue(0),\n v.maxValue(\n 1000000,\n \"your campaign cost exceeds our $1 million dollar limit, please contact us for customized solutions\"\n )\n)\nexport const IsValidOrUndefinedCost = v.undefinedable(IsValidCost)\n\n// label\nexport const IsValidLabel = v.pipe(\n v.string(\"please provide a label\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the label is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the label is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n )\n)\nexport const IsValidOrUndefinedLabel = v.undefinedable(IsValidLabel)\n\n// value\nexport const IsValidValue = v.pipe(\n v.string(\"please provide a value\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the value is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the value is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `the value ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedValue = v.undefinedable(IsValidValue)\n\n// description (optional)\nexport const IsValidDescription = v.nullable(\n v.pipe(\n v.string(\"the description must be a string\"),\n v.trim(),\n v.maxLength(\n LIMIT_MAX_DESCRIPTION,\n `the description is too long, it must be ${LIMIT_MAX_DESCRIPTION} characters or less`\n )\n )\n)\nexport const IsValidOrUndefinedDescription = v.undefinedable(IsValidDescription)\n\n// is_active\nexport const IsValidIsActive = v.boolean(\"isActive must be a boolean\")\nexport const IsValidOrUndefinedIsActive = v.undefinedable(IsValidIsActive)\n\n// is_secure\nexport const IsValidIsSecure = v.boolean(\"isSecure must be a boolean\")\nexport const IsValidOrUndefinedIsSecure = v.undefinedable(IsValidIsSecure)\n\n// generic name\nexport const IsValidName = v.pipe(\n v.string(\"please provide a name\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_NAME,\n `the name is too short, it must be at least ${LIMIT_MIN_NAME} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the name is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n )\n)\nexport const IsValidOrUndefinedName = v.undefinedable(IsValidName)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_DOMAIN,\n LIMIT_MAX_DESTINATION,\n LIMIT_MAX_DOMAIN,\n LIMIT_MAX_FRAGMENT,\n LIMIT_MAX_PATH,\n LIMIT_MAX_QUERY,\n LIMIT_MIN_DESTINATION,\n LIMIT_MIN_DOMAIN,\n LIMIT_MIN_FRAGMENT,\n LIMIT_MIN_PATH,\n LIMIT_MIN_QUERY,\n REGEX_DOMAIN\n} from \"../constants\"\n\n// destination\nexport const IsValidUrlDestination = v.pipe(\n v.string(\"please provide a url destination\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_DESTINATION,\n `the url destination is too short, it must be at least ${LIMIT_MIN_DESTINATION} characters`\n ),\n v.maxLength(\n LIMIT_MAX_DESTINATION,\n `the url destination is too long, it must be ${LIMIT_MAX_DESTINATION} characters or less`\n ),\n v.url(\"please provide a valid url\")\n)\nexport const IsValidOrUndefinedUrlDestination = v.undefinedable(IsValidUrlDestination)\n\n// protocol\nexport const IsValidUrlProtocol = v.picklist(\n [\"http\", \"https\"],\n \"please provide a valid url protocol\"\n)\nexport const IsValidOrUndefinedUrlProtocol = v.undefinedable(IsValidUrlProtocol)\n\n// domain\nexport const IsValidUrlDomain = v.pipe(\n v.string(\"please provide a domain\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_DOMAIN,\n `the domain is too short, it must be at least ${LIMIT_MIN_DOMAIN} characters`\n ),\n v.maxLength(\n LIMIT_MAX_DOMAIN,\n `the domain is too long, it must be ${LIMIT_MAX_DOMAIN} characters or less`\n ),\n v.regex(REGEX_DOMAIN, ERROR_MESSAGE_REGEX_DOMAIN)\n)\nexport const IsValidOrUndefinedUrlDomain = v.undefinedable(IsValidUrlDomain)\n\n// path\nexport const IsValidUrlPath = v.pipe(\n v.string(\"please provide a url path\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_PATH,\n `the url path is too short, it must be at least ${LIMIT_MIN_PATH} characters`\n ),\n v.maxLength(\n LIMIT_MAX_PATH,\n `the url path is too long, it must be ${LIMIT_MAX_PATH} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlPath = v.undefinedable(IsValidUrlPath)\n\n// query\nexport const IsValidUrlQuery = v.pipe(\n v.string(\"please provide a url query\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_QUERY,\n `the url query is too short, it must be at least ${LIMIT_MIN_QUERY} characters`\n ),\n v.maxLength(\n LIMIT_MAX_QUERY,\n `the url query is too long, it must be ${LIMIT_MAX_QUERY} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlQuery = v.undefinedable(IsValidUrlQuery)\n\n// fragment\nexport const IsValidUrlFragment = v.pipe(\n v.string(\"please provide a url hash/fragment\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_FRAGMENT,\n `the url hash/fragment is too short, it must be at least ${LIMIT_MIN_FRAGMENT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_FRAGMENT,\n `the url hash/fragment is too long, it must be ${LIMIT_MAX_FRAGMENT} characters or less`\n )\n)\nexport const IsValidOrUndefinedUrlFragment = v.undefinedable(IsValidUrlFragment)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_MAX_EMAIL,\n LIMIT_MAX_PASSWORD,\n LIMIT_MAX_PROVIDER,\n LIMIT_MAX_USERNAME,\n LIMIT_MIN_EMAIL,\n LIMIT_MIN_PASSWORD,\n LIMIT_MIN_USERNAME,\n REGEX_UTM_VALUE\n} from \"../constants\"\n\nexport const IsValidUsername = v.pipe(\n v.string(\"please provide a username\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_USERNAME,\n `your username is too short, it must be at least ${LIMIT_MIN_USERNAME} characters`\n ),\n v.maxLength(\n LIMIT_MAX_USERNAME,\n `your username is too long, it must be ${LIMIT_MAX_USERNAME} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `your username ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUsername = v.undefinedable(IsValidUsername)\n\nexport const IsValidUserEmail = v.pipe(\n v.string(\"please provide an email\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_EMAIL,\n `your email is too short, it must be at least ${LIMIT_MIN_EMAIL} characters`\n ),\n v.maxLength(\n LIMIT_MAX_EMAIL,\n `your email is too long, it must be ${LIMIT_MAX_EMAIL} characters or less`\n ),\n v.email(\"please provide a valid email address\")\n)\nexport const IsValidOrUndefinedUserEmail = v.undefinedable(IsValidUserEmail)\n\nexport const IsValidPassword = v.pipe(\n v.string(\"a password is required\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_PASSWORD,\n `your password is too short, it must be at least ${LIMIT_MIN_PASSWORD} characters`\n ),\n v.maxLength(\n LIMIT_MAX_PASSWORD,\n `your password is too long, it must be ${LIMIT_MAX_PASSWORD} characters or less`\n )\n)\nexport const IsValidOrUndefinedPassword = v.undefinedable(IsValidPassword)\n\nexport const IsValidProvider = v.pipe(\n v.string(\"please enter a provider\"),\n v.trim(),\n v.maxLength(\n LIMIT_MAX_PROVIDER,\n `the provider string is too long, it must be ${LIMIT_MAX_PROVIDER} characters or less`\n )\n)\nexport const IsValidOrUndefinedProvider = v.undefinedable(IsValidProvider)\n\nexport const IsValidConfirmed = v.boolean()\nexport const IsValidOrUndefinedConfirmed = v.undefinedable(IsValidConfirmed)\n\nexport const IsValidBlocked = v.boolean()\nexport const IsValidOrUndefinedBlocked = v.undefinedable(IsValidBlocked)\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_MAX_UTM_CAMPAIGN,\n LIMIT_MAX_UTM_CONTENT,\n LIMIT_MAX_UTM_CREATIVE_FORMAT,\n LIMIT_MAX_UTM_ID,\n LIMIT_MAX_UTM_MEDIUM,\n LIMIT_MAX_UTM_SOURCE,\n LIMIT_MAX_UTM_TERM,\n LIMIT_MIN_UTM_CAMPAIGN,\n LIMIT_MIN_UTM_CONTENT,\n LIMIT_MIN_UTM_CREATIVE_FORMAT,\n LIMIT_MIN_UTM_ID,\n LIMIT_MIN_UTM_MEDIUM,\n LIMIT_MIN_UTM_SOURCE,\n LIMIT_MIN_UTM_TERM,\n REGEX_UTM_VALUE\n} from \"../constants\"\n\n// utm_source\nexport const IsValidUrlUtmSource = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_SOURCE,\n `the utm_source is too short, it must be at least ${LIMIT_MIN_UTM_SOURCE} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_SOURCE,\n `the utm_source is too long, it must be ${LIMIT_MAX_UTM_SOURCE} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_source ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmSource = v.undefinedable(IsValidUrlUtmSource)\n\n// utm_medium\nexport const IsValidUrlUtmMedium = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_MEDIUM,\n `the utm_medium is too short, it must be at least ${LIMIT_MIN_UTM_MEDIUM} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_MEDIUM,\n `the utm_medium is too long, it must be ${LIMIT_MAX_UTM_MEDIUM} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_medium ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmMedium = v.undefinedable(IsValidUrlUtmMedium)\n\n// utm_campaign\nexport const IsValidUrlUtmCampaign = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CAMPAIGN,\n `the utm_campaign is too short, it must be at least ${LIMIT_MIN_UTM_CAMPAIGN} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CAMPAIGN,\n `the utm_campaign is too long, it must be ${LIMIT_MAX_UTM_CAMPAIGN} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_campaign ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmCampaign = v.undefinedable(IsValidUrlUtmCampaign)\n\n// utm_creative_format\nexport const IsValidUrlUtmCreativeFormat = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CREATIVE_FORMAT,\n `the utm_creative_format is too short, it must be at least ${LIMIT_MIN_UTM_CREATIVE_FORMAT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CREATIVE_FORMAT,\n `the utm_creative_format is too long, it must be ${LIMIT_MAX_UTM_CREATIVE_FORMAT} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_creative_format ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmCreativeFormat = v.undefinedable(\n IsValidUrlUtmCreativeFormat\n)\n\n// utm_content\nexport const IsValidUrlUtmContent = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_CONTENT,\n `the utm_content is too short, it must be at least ${LIMIT_MIN_UTM_CONTENT} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_CONTENT,\n `the utm_content is too long, it must be ${LIMIT_MAX_UTM_CONTENT} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_content ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmContent = v.undefinedable(IsValidUrlUtmContent)\n\n// utm_term\nexport const IsValidUrlUtmTerm = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_TERM,\n `the utm_term is too short, it must be at least ${LIMIT_MIN_UTM_TERM} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_TERM,\n `the utm_term is too long, it must be ${LIMIT_MAX_UTM_TERM} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_term ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmTerm = v.undefinedable(IsValidUrlUtmTerm)\n\n// utm_id\nexport const IsValidUrlUtmId = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(\n LIMIT_MIN_UTM_ID,\n `the utm_id is too short, it must be at least ${LIMIT_MIN_UTM_ID} characters`\n ),\n v.maxLength(\n LIMIT_MAX_UTM_ID,\n `the utm_id is too long, it must be ${LIMIT_MAX_UTM_ID} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `utm_id ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n)\nexport const IsValidOrUndefinedUrlUtmId = v.undefinedable(IsValidUrlUtmId)\n","import * as v from \"valibot\"\nimport {\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE,\n LIMIT_CLIENT_PAGINATION_MAX_SIZE\n} from \"../constants\"\nimport { ClientProjectStatusOptions } from \"../types\"\nimport { IsValidReferenceDocumentId, IsValidShortString } from \"../validators\"\n\nexport const QueryStrapiSearchClientProjects = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(1), v.maxValue(LIMIT_CLIENT_PAGINATION_MAX_SIZE)),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n title: v.optional(IsValidShortString),\n slug: v.optional(IsValidShortString),\n project_status: v.optional(v.picklist(ClientProjectStatusOptions)),\n clientId: v.optional(IsValidReferenceDocumentId)\n})\n\nexport type QueryStrapiSearchClientProjects = v.InferOutput<\n typeof QueryStrapiSearchClientProjects\n>\n","import * as v from \"valibot\"\nimport {\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE,\n LIMIT_CLIENT_PAGINATION_MAX_SIZE\n} from \"../constants\"\nimport { IsValidShortString } from \"../validators\"\n\nexport const QueryStrapiSearchClients = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(1), v.maxValue(LIMIT_CLIENT_PAGINATION_MAX_SIZE)),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_CLIENT_PAGINATION_DEFAULT_SIZE\n ),\n title: v.optional(IsValidShortString),\n teamwork_id: v.optional(IsValidShortString),\n teamwork_name: v.optional(IsValidShortString),\n utm_sheet_id: v.optional(IsValidShortString),\n allow_create_utm_link: v.optional(v.boolean()),\n classification: v.optional(v.picklist([\"organic\", \"paid\"])),\n is_featured: v.optional(v.boolean()),\n is_active: v.optional(v.boolean()),\n is_organic_social: v.optional(v.boolean()),\n is_paid_media: v.optional(v.boolean())\n})\n\nexport type QueryStrapiSearchClients = v.InferOutput<typeof QueryStrapiSearchClients>\n","import * as v from \"valibot\"\nimport { LIMIT_PAGINATION_DEFAULT_SIZE, LIMIT_PAGINATION_MAX_SIZE } from \"../constants\"\nimport {\n IsValidReferenceDocumentId,\n IsValidReferenceId,\n IsValidShortString,\n IsValidUserEmail,\n IsValidUserPhoneRequired\n} from \"../validators\"\n\n// Paginated Query\nexport const QueryStrapiPaginated = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(1), v.maxValue(LIMIT_PAGINATION_MAX_SIZE)),\n LIMIT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiPaginated = v.InferOutput<typeof QueryStrapiPaginated>\n\n// Query by: ID, Document ID\nexport const QueryStrapiById = v.object({\n id: IsValidReferenceId\n})\nexport type QueryStrapiById = v.InferOutput<typeof QueryStrapiById>\n\nexport const QueryStrapiByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type QueryStrapiByDocumentId = v.InferOutput<typeof QueryStrapiByDocumentId>\n\n// Query by: Slug, Email, Phone, or Name\nexport const QueryStrapiBySlug = v.object({\n slug: IsValidShortString\n})\nexport type QueryStrapiBySlug = v.InferOutput<typeof QueryStrapiBySlug>\n\nexport const QueryStrapiByEmail = v.object({\n email: IsValidUserEmail\n})\nexport type QueryStrapiByEmail = v.InferOutput<typeof QueryStrapiByEmail>\n\nexport const QueryStrapiByPhone = v.object({\n phone: IsValidUserPhoneRequired\n})\nexport type QueryStrapiByPhone = v.InferOutput<typeof QueryStrapiByPhone>\n\nexport const QueryStrapiByName = v.object({\n name: IsValidShortString\n})\nexport type QueryStrapiByName = v.InferOutput<typeof QueryStrapiByName>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidCompanyName,\n IsValidFirstName,\n IsValidLastName,\n IsValidProductInterest,\n IsValidRefPage,\n IsValidUserConsent,\n IsValidUserEmail,\n IsValidUserMessage,\n IsValidUserPhoneRequired,\n IsValidUserTitle\n} from \"../validators\"\n\nexport const SCreateLead = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhoneRequired,\n company: IsValidCompanyName,\n title: IsValidUserTitle,\n message: IsValidUserMessage,\n product_interest: IsValidProductInterest,\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SCreateLead = v.InferOutput<typeof SCreateLead>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidUserConsent,\n IsValidUserEmail\n} from \"../validators\"\n\nexport const SCreateNewsletterSignup = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n // hidden fields\n email_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SCreateNewsletterSignup = v.InferOutput<typeof SCreateNewsletterSignup>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFileReferenceId,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidResumeFile,\n IsValidShortString,\n IsValidStringSepListOfUrlsOrUndefined,\n IsValidUserConsent,\n IsValidUserEmail,\n IsValidUserMessage,\n IsValidUserPhone\n} from \"../validators\"\n\nexport const SCreateResume = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidResumeFile, // File object\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SCreateResume = v.InferOutput<typeof SCreateResume>\n\nexport const SCreateResumeInfo = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidFileReferenceId, // File reference ID\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SCreateResumeInfo = v.InferOutput<typeof SCreateResumeInfo>\n\nexport const SUpdateResumeInfo = v.object({\n documentId: IsValidShortString,\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n phone: IsValidUserPhone,\n message: IsValidUserMessage,\n social_profiles: IsValidStringSepListOfUrlsOrUndefined,\n file: IsValidFileReferenceId, // File reference ID\n email_consent: IsValidUserConsent,\n sms_consent: IsValidUserConsent,\n // hidden fields\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\n\nexport type SUpdateResumeInfo = v.InferOutput<typeof SUpdateResumeInfo>\n","import * as v from \"valibot\"\nimport {\n IsValidCaptchaToken,\n IsValidFirstName,\n IsValidLastName,\n IsValidRefPage,\n IsValidShortString,\n IsValidUserConsent,\n IsValidUserEmail\n} from \"../validators\"\n\nexport const SharpSpringSignUpToDownload = v.object({\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n email: IsValidUserEmail,\n // hidden fields\n download_key: IsValidShortString,\n email_consent: IsValidUserConsent,\n on_page: IsValidRefPage,\n captcha: IsValidCaptchaToken\n})\nexport type SharpSpringSignUpToDownload = v.InferOutput<\n typeof SharpSpringSignUpToDownload\n>\n","import * as v from \"valibot\"\n\nexport const SUpdateTrendsLikes = v.object({\n documentId: v.string(),\n likes: v.number()\n})\n\nexport type SUpdateTrendsLikes = v.InferOutput<typeof SUpdateTrendsLikes>\n","import * as v from \"valibot\"\nimport {\n LIMIT_BLOG_POST_PAGINATION_MAX_SIZE,\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n} from \"../constants\"\n\nexport const QueryStrapiPaginatedUrlRedirects = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_BLOG_POST_PAGINATION_MAX_SIZE)\n ),\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_REDIRECT_PAGINATION_DEFAULT_SIZE\n )\n})\n\nexport type QueryStrapiPaginatedUrlRedirects = v.InferOutput<\n typeof QueryStrapiPaginatedUrlRedirects\n>\n\nexport const QueryStrapiUrlRedirectsByFrom = v.object({\n from: v.string()\n})\n\nexport type QueryStrapiUrlRedirectsByFrom = v.InferOutput<\n typeof QueryStrapiUrlRedirectsByFrom\n>\n","import * as v from \"valibot\"\nimport {\n IsValidFirstName,\n IsValidLastName,\n IsValidPreferredName,\n IsValidReferenceDocumentId,\n IsValidReferenceId\n} from \"../validators\"\n\n// READ\nexport const SReadUserAccountById = v.object({\n id: IsValidReferenceId\n})\nexport type SReadUserAccountById = v.InferOutput<typeof SReadUserAccountById>\n\nexport const SReadUserAccountByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SReadUserAccountByDocumentId = v.InferOutput<\n typeof SReadUserAccountByDocumentId\n>\n\n// UPDATE\nexport const SUpdateUserAccount = v.object({\n documentId: IsValidReferenceDocumentId,\n first_name: IsValidFirstName,\n last_name: IsValidLastName,\n preferred_name: IsValidPreferredName\n})\nexport type SUpdateUserAccount = v.InferOutput<typeof SUpdateUserAccount>\n\nexport const SUpdateUserAccountFirstName = v.object({\n documentId: IsValidReferenceDocumentId,\n first_name: IsValidFirstName\n})\nexport type SUpdateUserAccountFirstName = v.InferOutput<\n typeof SUpdateUserAccountFirstName\n>\n\nexport const SUpdateUserAccountLastName = v.object({\n documentId: IsValidReferenceDocumentId,\n last_name: IsValidLastName\n})\nexport type SUpdateUserAccountLastName = v.InferOutput<\n typeof SUpdateUserAccountLastName\n>\n\nexport const SUpdateUserAccountPreferredName = v.object({\n documentId: IsValidReferenceDocumentId,\n preferred_name: IsValidPreferredName\n})\nexport type SUpdateUserAccountPreferredName = v.InferOutput<\n typeof SUpdateUserAccountPreferredName\n>\n","import * as v from \"valibot\"\nimport { IsValidPassword, IsValidUserEmail, IsValidUsername } from \"../validators\"\n\n// JWT\nexport const SUserToken = v.object({\n token: v.string()\n})\nexport type SUserToken = v.InferOutput<typeof SUserToken>\n\n// AUTH LOCAL\n// LOGIN\nexport const SLoginUser = v.object({\n identifier: IsValidUserEmail,\n password: IsValidPassword\n})\nexport type SLoginUser = v.InferOutput<typeof SLoginUser>\n\n// REGISTER\nexport const SRegisterUser = v.object({\n username: IsValidUsername,\n email: IsValidUserEmail,\n password: IsValidPassword\n})\nexport type SRegisterUser = v.InferOutput<typeof SRegisterUser>\n\n// FORGOT PASSWORD\nexport const SForgotUserPassword = v.object({\n email: IsValidUserEmail\n})\nexport type SForgotUserPassword = v.InferOutput<typeof SForgotUserPassword>\n\n// REQUEST CONFIRM EMAIL\nexport const SRequestConfirmEmail = v.object({\n email: IsValidUserEmail\n})\nexport type SRequestConfirmEmail = v.InferOutput<typeof SRequestConfirmEmail>\n\n// RESET PASSWORD\nexport const SResetUserPassword = v.object({\n password: IsValidPassword,\n passwordConfirmation: IsValidPassword,\n code: v.string()\n})\nexport type SResetUserPassword = v.InferOutput<typeof SResetUserPassword>\n\n// CHANGE PASSWORD\nexport const SChangePassword = v.pipe(\n v.object({\n currentPassword: IsValidPassword,\n password: IsValidPassword,\n passwordConfirmation: IsValidPassword\n }),\n v.forward(\n v.partialCheck(\n [[\"password\"], [\"passwordConfirmation\"]],\n (input) => input.password === input.passwordConfirmation,\n \"Your new passwords do not match.\"\n ),\n [\"passwordConfirmation\"]\n )\n)\nexport type SChangePassword = v.InferOutput<typeof SChangePassword>\n\n// AUTH PROVIDER\n// Auth Provider Token\nexport const SAuthRawAccessToken = v.object({\n access_token: v.optional(v.string()),\n expires_in: v.optional(v.number()),\n scope: v.optional(v.string()),\n token_type: v.optional(v.string()),\n id_token: v.optional(v.string())\n})\nexport type SAuthRawAccessToken = v.InferOutput<typeof SAuthRawAccessToken>\n\n// Auth Connect Provider Redirect Search\nexport const SAuthConnectProviderRedirectSearch = v.object({\n id_token: v.string(),\n access_token: v.string(),\n raw: v.optional(SAuthRawAccessToken)\n})\nexport type SAuthConnectProviderRedirectSearch = v.InferOutput<\n typeof SAuthConnectProviderRedirectSearch\n>\n\n// Auth Connect Provider Confirmation\nexport const SAuthConnectProviderConfirmation = v.object({\n provider: v.string(),\n search: SAuthConnectProviderRedirectSearch\n})\nexport type SAuthConnectProviderConfirmation = v.InferOutput<\n typeof SAuthConnectProviderConfirmation\n>\n","import * as v from \"valibot\"\nimport {\n LIMIT_SHORT_STRING_MAX_LENGTH,\n LIMIT_USER_PAGINATION_DEFAULT_SIZE,\n LIMIT_USER_PAGINATION_MAX_SIZE\n} from \"../constants\"\nimport { IsValidReferenceDocumentId, IsValidReferenceId } from \"../validators\"\n\n// LIST\nexport const QueryStrapiUsers = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(3), v.maxValue(LIMIT_USER_PAGINATION_MAX_SIZE)),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiUsers = v.InferOutput<typeof QueryStrapiUsers>\n\nexport const QueryStrapiUsersByIdentifier = v.object({\n identifier: v.pipe(v.string(), v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH)),\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(v.number(), v.minValue(3), v.maxValue(LIMIT_USER_PAGINATION_MAX_SIZE)),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_USER_PAGINATION_DEFAULT_SIZE\n )\n})\nexport type QueryStrapiUsersByIdentifier = v.InferOutput<\n typeof QueryStrapiUsersByIdentifier\n>\n\n// READ\nexport const SReadUserById = v.object({\n id: IsValidReferenceId\n})\nexport type SReadUserById = v.InferOutput<typeof SReadUserById>\n\nexport const SReadUserByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SReadUserByDocumentId = v.InferOutput<typeof SReadUserByDocumentId>\n","import * as v from \"valibot\"\nimport {\n ERROR_MESSAGE_REGEX_UTM_VALUE,\n LIMIT_MIN_VALUE,\n LIMIT_SHORT_STRING_MAX_LENGTH,\n REGEX_UTM_VALUE\n} from \"../constants\"\nimport { IsValidDestinationUrl, IsValidReferenceDocumentId } from \"../validators\"\n\nexport const SUtmLinkBuilderPartCampaignDateOptions = [\n \"annually\",\n \"quarterly\",\n \"monthly\",\n \"on a specific date\",\n \"no date\"\n] as const\n\nexport type SUtmLinkBuilderPartCampaignDateValue =\n (typeof SUtmLinkBuilderPartCampaignDateOptions)[number]\n\nexport const SUtmLinkBuilderTableForm = v.object({\n creator: IsValidReferenceDocumentId,\n client: IsValidReferenceDocumentId,\n url_destinations: v.pipe(\n v.array(IsValidDestinationUrl),\n v.minLength(1, \"Please provide at least one destination URL.\"),\n v.maxLength(100, \"You can provide up to 100 destination URLs.\")\n ),\n sources: v.pipe(\n v.array(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This source value is too long.\")\n )\n ),\n v.minLength(1, \"Please select at least one source.\"),\n v.maxLength(10, \"You can select up to 10 sources.\")\n ),\n mediums: v.pipe(\n v.array(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This medium value is too long.\")\n )\n ),\n v.minLength(1, \"Please select at least one medium.\"),\n v.maxLength(10, \"You can select up to 10 mediums.\")\n ),\n campaign: v.object({\n campaign_phase: v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This medium value is too long.\")\n ),\n campaign_product: v.optional(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This medium value is too long.\")\n )\n ),\n campaign_targeting: v.optional(\n v.pipe(\n v.array(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This value is too long.\")\n )\n ),\n v.minLength(1, \"Please select at least one targeting option.\"),\n v.maxLength(10, \"You can select up to 10 targeting options.\")\n )\n ),\n campaign_key: v.optional(\n v.pipe(\n v.string(\"please provide a value\"),\n v.trim(),\n v.minLength(\n LIMIT_MIN_VALUE,\n `the value is too short, it must be at least ${LIMIT_MIN_VALUE} characters`\n ),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n `the value is too long, it must be ${LIMIT_SHORT_STRING_MAX_LENGTH} characters or less`\n ),\n v.regex(REGEX_UTM_VALUE, `the value ${ERROR_MESSAGE_REGEX_UTM_VALUE}`)\n )\n ),\n campaign_date: v.object({\n format: v.picklist(\n SUtmLinkBuilderPartCampaignDateOptions,\n \"Please select a valid campaign date format.\"\n ),\n value: v.object({\n year: v.number(),\n quarter: v.optional(v.number()),\n month: v.optional(v.number()),\n day: v.optional(v.number())\n })\n })\n }),\n contents: v.optional(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This content value is too long.\")\n )\n ),\n creative_formats: v.pipe(\n v.array(\n v.object({\n creative_format: v.optional(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n \"This creative format value is too long.\"\n )\n )\n ),\n creative_format_variants: v.optional(\n v.array(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(\n LIMIT_SHORT_STRING_MAX_LENGTH,\n \"This creative variant value is too long.\"\n )\n )\n )\n )\n })\n ),\n v.minLength(1, \"Please select at least one creative format.\"),\n v.maxLength(10, \"You can select up to 10 creative formats.\")\n ),\n id: v.optional(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This ID value is too long.\")\n )\n ),\n notes: v.optional(\n v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(LIMIT_SHORT_STRING_MAX_LENGTH, \"This notes value is too long.\")\n )\n )\n})\n\nexport type SUtmLinkBuilderTableFormInput = v.InferInput<\n typeof SUtmLinkBuilderTableForm\n>\nexport type SUtmLinkBuilderTableForm = v.InferOutput<typeof SUtmLinkBuilderTableForm>\n","import * as v from \"valibot\"\nimport {\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE,\n LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE\n} from \"../constants\"\nimport {\n IsValidDestinationUrl,\n IsValidIsActive,\n IsValidLongStringOrUndefined,\n IsValidReferenceDocumentId,\n IsValidShortString,\n IsValidShortStringOrUndefined,\n IsValidStringListOrUndefined,\n IsValidUrl,\n IsValidUrlUtmCampaign,\n IsValidUrlUtmContent,\n IsValidUrlUtmCreativeFormat,\n IsValidUrlUtmId,\n IsValidUrlUtmMedium,\n IsValidUrlUtmSource,\n IsValidUtmCampaignKeyNameOrUndefined,\n IsValidUtmLink\n} from \"../validators\"\n\n// LIST\nexport const QueryStrapiSearchUtmTrackingLinks = v.object({\n page: v.fallback(v.optional(v.pipe(v.number(), v.minValue(1)), 1), 1),\n size: v.fallback(\n v.optional(\n v.pipe(\n v.number(),\n v.minValue(1),\n v.maxValue(LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE)\n ),\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE\n ),\n LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE\n ),\n url_destination: v.optional(IsValidDestinationUrl),\n utm_medium: v.optional(IsValidUrlUtmMedium),\n utm_source: v.optional(IsValidUrlUtmSource),\n utm_campaign: v.optional(IsValidUrlUtmCampaign),\n utm_content: v.optional(IsValidUrlUtmContent),\n utm_creative_format: v.optional(IsValidUrlUtmCreativeFormat),\n utm_id: v.optional(IsValidUrlUtmId),\n campaign_phase: v.optional(IsValidShortString),\n campaign_product: v.optional(IsValidShortString),\n campaign_targeting: v.optional(IsValidShortString),\n campaign_key: v.optional(IsValidShortString),\n creative_format: v.optional(IsValidShortString),\n creative_format_variants: v.optional(v.array(IsValidShortString)),\n url: v.optional(IsValidUrl),\n is_active: v.optional(v.boolean()),\n notes: v.optional(IsValidShortString)\n})\n\nexport type QueryStrapiSearchUtmTrackingLinks = v.InferOutput<\n typeof QueryStrapiSearchUtmTrackingLinks\n>\n\n// CREATE\nexport const SCreateUtmTrackingLinkDocument = v.object({\n creator: IsValidReferenceDocumentId,\n client: IsValidReferenceDocumentId,\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined\n})\nexport type SCreateUtmTrackingLinkDocumentInput = v.InferInput<\n typeof SCreateUtmTrackingLinkDocument\n>\nexport type SCreateUtmTrackingLinkDocument = v.InferOutput<\n typeof SCreateUtmTrackingLinkDocument\n>\n\nexport const SCreateUtmTrackingLinkParts = v.object({\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined\n})\nexport type SCreateUtmTrackingLinkParts = v.InferOutput<\n typeof SCreateUtmTrackingLinkParts\n>\n\nexport const SFormCreateMultipleUtmTrackingLinkDocuments = v.object({\n creator: IsValidReferenceDocumentId,\n client: IsValidReferenceDocumentId,\n links: v.pipe(\n v.array(SCreateUtmTrackingLinkParts),\n v.minLength(1, \"You must provide at least one link to create.\"),\n v.maxLength(100, \"You can create a maximum of 100 links at once.\")\n )\n})\nexport type SFormCreateMultipleUtmTrackingLinkDocuments = v.InferInput<\n typeof SFormCreateMultipleUtmTrackingLinkDocuments\n>\n\n// READ\nexport const SReadUtmTrackingLinkDocumentByDocumentId = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SReadUtmTrackingLinkDocumentByDocumentId = v.InferOutput<\n typeof SReadUtmTrackingLinkDocumentByDocumentId\n>\n\nexport const SReadUtmTrackingLinkDocumentByUrl = v.object({\n url: IsValidUtmLink\n})\nexport type SReadUtmTrackingLinkDocumentByUrl = v.InferOutput<\n typeof SReadUtmTrackingLinkDocumentByUrl\n>\n\n// UPDATE\nexport const SUpdateUtmTrackingLinkDocument = v.object({\n creator: v.optional(IsValidReferenceDocumentId),\n client: v.optional(IsValidReferenceDocumentId),\n url_destination: IsValidDestinationUrl,\n utm_source: IsValidUrlUtmSource,\n utm_medium: IsValidUrlUtmMedium,\n utm_campaign: IsValidUrlUtmCampaign,\n utm_content: IsValidShortStringOrUndefined,\n utm_creative_format: IsValidShortStringOrUndefined,\n utm_id: IsValidShortStringOrUndefined,\n campaign_phase: IsValidShortString,\n campaign_product: IsValidShortStringOrUndefined,\n campaign_targeting: IsValidStringListOrUndefined,\n campaign_key: IsValidUtmCampaignKeyNameOrUndefined,\n creative_format: IsValidShortStringOrUndefined,\n creative_format_variants: IsValidStringListOrUndefined,\n url: IsValidUtmLink,\n is_active: IsValidIsActive,\n notes: IsValidLongStringOrUndefined\n})\nexport type SUpdateUtmTrackingLinkDocument = v.InferOutput<\n typeof SUpdateUtmTrackingLinkDocument\n>\n\nexport const SUpdateUtmTrackingLinkDocumentRequest = v.object({\n documentId: IsValidReferenceDocumentId,\n data: SUpdateUtmTrackingLinkDocument\n})\nexport type SUpdateUtmTrackingLinkDocumentRequest = v.InferOutput<\n typeof SUpdateUtmTrackingLinkDocumentRequest\n>\n\n// DELETE\nexport const SDeleteUtmTrackingLinkDocument = v.object({\n documentId: IsValidReferenceDocumentId\n})\nexport type SDeleteUtmTrackingLinkDocument = v.InferOutput<\n typeof SDeleteUtmTrackingLinkDocument\n>\n","import * as v from \"valibot\"\n\ntype ValidateAndCleanSuccess<T> = {\n data: Partial<T>\n error: null\n errors: null\n}\n\ntype ValidateAndCleanFailure = {\n data: null\n error: string | null\n errors: Record<string, string> | null\n}\n\ntype ValidateAndCleanResult<T> = ValidateAndCleanSuccess<T> | ValidateAndCleanFailure\n\nexport function validateAndClean<T>(\n schema: v.BaseSchema<T, Partial<T>, v.BaseIssue<T>>,\n input: unknown\n): ValidateAndCleanResult<T> {\n try {\n const parsed = v.parse(schema, input)\n return { data: parsed, error: null, errors: null }\n } catch (err: unknown) {\n if (err instanceof v.ValiError) {\n const errors: Record<string, string> = {}\n for (const issue of err.issues) {\n const field = issue.path?.[0]?.key || \"unknown\"\n errors[field] = issue.message\n }\n return { data: null, error: null, errors }\n }\n let errorMessage = \"Unknown error\"\n if (err instanceof Error) {\n errorMessage = err.message\n } else {\n errorMessage = String(err)\n }\n return { data: null, error: errorMessage, errors: null }\n }\n}\n\nexport function isValidationSuccess<T>(\n result: ValidateAndCleanResult<T>\n): result is ValidateAndCleanSuccess<T> {\n return result.error === null && result.errors === null\n}\n\nexport function isValidationFailure<T>(\n result: ValidateAndCleanResult<T>\n): result is ValidateAndCleanFailure {\n return result.error !== null || result.errors !== null\n}\n\nexport function omitUndefined<T extends Record<string, any>>(obj: T): Partial<T> {\n const result: Partial<T> = {}\n for (const key in obj) {\n if (obj[key] !== undefined) {\n result[key] = obj[key]\n }\n }\n return result\n}\n","export function dateToday(): Date {\n const date = new Date()\n date.setHours(0, 0, 0, 0)\n return date\n}\n\nexport function datePlusDays(today: Date, days: number = 30): Date {\n const date = new Date(today)\n date.setDate(date.getDate() + days)\n date.setHours(23, 59, 59, 999)\n return date\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@getcommunity/gc-validators",
3
3
  "description": "Schema Validator for GetCommunity types",
4
- "version": "0.0.34",
4
+ "version": "0.0.35",
5
5
  "author": "Joey Grable <joey@getcommunity.com> (https://joeygrable.com)",
6
6
  "contributors": [],
7
7
  "main": "dist/index.js",