diff --git a/.github/renovate.json b/.github/renovate.json index 37fec8af5a..96740c8237 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -6,13 +6,7 @@ "packageRules": [ { "groupName": "patched packages", - "matchPackageNames": [ - "@crowdin/ota-client", - "eslint-plugin-node", - "iso-google-locales", - "trpc-panel", - "next-auth" - ], + "matchPackageNames": ["@crowdin/ota-client", "eslint-plugin-node", "iso-google-locales", "trpc-panel"], "matchUpdateTypes": ["major", "minor", "patch"] } ], diff --git a/.github/workflows/chromatic.yml b/.github/workflows/chromatic.yml index 49fd34bb75..69fdefa3c4 100644 --- a/.github/workflows/chromatic.yml +++ b/.github/workflows/chromatic.yml @@ -31,7 +31,7 @@ jobs: with: fetch-depth: 0 - name: Install Node.js - uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # v3 + uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3 with: node-version: 18 - uses: pnpm/action-setup@d882d12c64e032187b2edb46d3a0d003b7a43598 # v2.4.0 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index dfec4d47a8..da3e2b1963 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -31,7 +31,7 @@ jobs: git_commit_gpgsign: true - name: Install Node.js - uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # v3 + uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3 with: node-version: 18 diff --git a/@types/locale-includes/index.d.ts b/@types/locale-includes/index.d.ts new file mode 100644 index 0000000000..b3f2517097 --- /dev/null +++ b/@types/locale-includes/index.d.ts @@ -0,0 +1,11 @@ +declare module 'locale-includes' { + declare function localeIncludes( + string: string, + searchString: string, + options?: { + position?: number + locales?: string | string[] + } & Intl.CollatorOptions + ): boolean + // export = localeIncludes +} diff --git a/apps/app/package.json b/apps/app/package.json index 69248d3e18..16e33c0bc8 100644 --- a/apps/app/package.json +++ b/apps/app/package.json @@ -44,7 +44,7 @@ "@mantine/spotlight": "6.0.19", "@mantine/tiptap": "6.0.19", "@mantine/utils": "6.0.19", - "@next/bundle-analyzer": "13.4.16", + "@next/bundle-analyzer": "13.4.17", "@opentelemetry/api": "1.4.1", "@opentelemetry/exporter-trace-otlp-http": "0.41.2", "@opentelemetry/instrumentation": "0.41.2", @@ -60,9 +60,9 @@ "@sentry/opentelemetry-node": "7.64.0", "@tanstack/react-query": "4.32.6", "@tanstack/react-table": "8.9.3", - "@tiptap/extension-link": "2.0.4", - "@tiptap/react": "2.0.4", - "@tiptap/starter-kit": "2.0.4", + "@tiptap/extension-link": "2.1.1", + "@tiptap/react": "2.1.1", + "@tiptap/starter-kit": "2.1.1", "@trpc/client": "10.37.1", "@trpc/next": "10.37.1", "@trpc/react-query": "10.37.1", @@ -96,8 +96,8 @@ "just-compact": "3.2.0", "just-compare": "2.3.0", "luxon": "3.4.0", - "next": "13.4.16", - "next-auth": "4.23.0", + "next": "13.4.17", + "next-auth": "4.23.1", "next-i18next": "14.0.0", "next-seo": "6.1.0", "nextjs-routes": "2.0.1", @@ -108,14 +108,14 @@ "react-error-boundary": "4.0.11", "react-i18next": "13.1.2", "tslog": "4.9.1", - "zod": "3.22.0" + "zod": "3.22.1" }, "devDependencies": { "@playwright/test": "1.37.0", "@prisma/nextjs-monorepo-workaround-plugin": "5.1.1", "@tanstack/react-query-devtools": "4.32.6", "@tanstack/react-table-devtools": "8.7.6", - "@total-typescript/ts-reset": "0.4.2", + "@total-typescript/ts-reset": "0.5.1", "@types/eslint": "8.44.2", "@types/flat": "5.0.2", "@types/luxon": "3.3.1", diff --git a/apps/app/public/locales/en/common.json b/apps/app/public/locales/en/common.json index 9918d3b1c9..097037af9b 100644 --- a/apps/app/public/locales/en/common.json +++ b/apps/app/public/locales/en/common.json @@ -244,7 +244,7 @@ "no-results-adjust": "No results found for your search. Try adjusting your selected location or filters.", "organization-placeholder": "Enter organization name...", "organization-placeholder-searchby": "Search by organization name...", - "suggest-resource": "Can't find it? <1>Suggest an organization you think should be included." + "suggest-resource": "Can't find it? Suggest an organization you think should be included." }, "send-email": "Send email", "service": { diff --git a/apps/web/package.json b/apps/web/package.json index c9579110e2..002176dcdb 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -28,21 +28,21 @@ "@mantine/prism": "6.0.19", "@mantine/spotlight": "6.0.19", "@mantine/tiptap": "6.0.19", - "@tiptap/extension-link": "2.0.4", - "@tiptap/react": "2.0.4", - "@tiptap/starter-kit": "2.0.4", + "@tiptap/extension-link": "2.1.1", + "@tiptap/react": "2.1.1", + "@tiptap/starter-kit": "2.1.1", "@weareinreach/env": "workspace:*", "@weareinreach/ui": "workspace:*", "dayjs": "1.11.9", "embla-carousel-react": "7.1.0", "i18next": "23.4.4", - "next": "13.4.16", + "next": "13.4.17", "react": "18.2.0", "react-dom": "18.2.0", "react-i18next": "13.1.2" }, "devDependencies": { - "@next/bundle-analyzer": "13.4.16", + "@next/bundle-analyzer": "13.4.17", "@types/eslint": "8.44.2", "@types/node": "18.17.5", "@types/react": "18.2.20", diff --git a/package.json b/package.json index eedf6d5505..69a8d3eb1c 100644 --- a/package.json +++ b/package.json @@ -93,8 +93,7 @@ "@crowdin/ota-client@1.0.0": "patches/@crowdin__ota-client@1.0.0.patch", "eslint-plugin-node@11.1.0": "patches/eslint-plugin-node@11.1.0.patch", "iso-google-locales@3.0.4": "patches/iso-google-locales@3.0.4.patch", - "trpc-panel@1.3.4": "patches/trpc-panel@1.3.4.patch", - "next-auth@4.23.0": "patches/next-auth@4.23.0.patch" + "trpc-panel@1.3.4": "patches/trpc-panel@1.3.4.patch" }, "peerDependencyRules": { "allowedVersions": { diff --git a/packages/api/package.json b/packages/api/package.json index a7b6ce2069..048f5d471b 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -51,7 +51,7 @@ "superjson": "1.13.1", "tiny-invariant": "1.3.1", "tslog": "4.9.1", - "zod": "3.22.0" + "zod": "3.22.1" }, "devDependencies": { "@types/eslint": "8.44.2", @@ -62,12 +62,12 @@ "@types/terraformer__wkt": "2.0.0", "@weareinreach/config": "workspace:*", "@weareinreach/eslint-config": "0.100.0", - "dotenv-cli": "7.2.1", + "dotenv-cli": "7.3.0", "eslint": "8.47.0", "just-capitalize": "3.2.0", "just-pascal-case": "3.2.0", "listr2": "6.6.1", - "next": "13.4.16", + "next": "13.4.17", "p-queue": "7.3.4", "prettier": "3.0.2", "prisma": "5.1.1", diff --git a/packages/api/router/organization/index.ts b/packages/api/router/organization/index.ts index 8b0fd04b2a..806ad37b75 100644 --- a/packages/api/router/organization/index.ts +++ b/packages/api/router/organization/index.ts @@ -24,6 +24,7 @@ type OrganizationHandlerCache = { slugRedirect: typeof import('./query.slugRedirect.handler').slugRedirect getIntlCrisis: typeof import('./query.getIntlCrisis.handler').getIntlCrisis getNatlCrisis: typeof import('./query.getNatlCrisis.handler').getNatlCrisis + forOrganizationTable: typeof import('./query.forOrganizationTable.handler').forOrganizationTable // #endregion // @@ -162,6 +163,17 @@ export const orgRouter = defineRouter({ if (!HandlerCache.getNatlCrisis) throw new Error('Failed to load handler') return HandlerCache.getNatlCrisis({ ctx, input }) }), + forOrganizationTable: publicProcedure + .input(schema.ZForOrganizationTableSchema) + .query(async ({ ctx, input }) => { + if (!HandlerCache.forOrganizationTable) + HandlerCache.forOrganizationTable = await import('./query.forOrganizationTable.handler').then( + (mod) => mod.forOrganizationTable + ) + + if (!HandlerCache.forOrganizationTable) throw new Error('Failed to load handler') + return HandlerCache.forOrganizationTable({ ctx, input }) + }), // #endregion diff --git a/packages/api/router/organization/query.forOrganizationTable.handler.ts b/packages/api/router/organization/query.forOrganizationTable.handler.ts new file mode 100644 index 0000000000..d83da841f7 --- /dev/null +++ b/packages/api/router/organization/query.forOrganizationTable.handler.ts @@ -0,0 +1,32 @@ +import { prisma } from '@weareinreach/db' +import { type TRPCHandlerParams } from '~api/types/handler' + +import { type TForOrganizationTableSchema } from './query.forOrganizationTable.schema' + +export const forOrganizationTable = async ({ input }: TRPCHandlerParams) => { + const results = await prisma.organization.findMany({ + where: input, + select: { + id: true, + name: true, + slug: true, + lastVerified: true, + updatedAt: true, + createdAt: true, + published: true, + deleted: true, + locations: { + select: { + id: true, + name: true, + updatedAt: true, + createdAt: true, + published: true, + deleted: true, + }, + }, + }, + orderBy: [{ deleted: 'desc' }, { name: 'asc' }], + }) + return results +} diff --git a/packages/api/router/organization/query.forOrganizationTable.schema.ts b/packages/api/router/organization/query.forOrganizationTable.schema.ts new file mode 100644 index 0000000000..8525ad6799 --- /dev/null +++ b/packages/api/router/organization/query.forOrganizationTable.schema.ts @@ -0,0 +1,10 @@ +import { z } from 'zod' + +export const ZForOrganizationTableSchema = z + .object({ + published: z.boolean(), + deleted: z.boolean(), + }) + .partial() + .optional() +export type TForOrganizationTableSchema = z.infer diff --git a/packages/api/router/organization/schemas.ts b/packages/api/router/organization/schemas.ts index 738fc286ab..bdef2c7b0a 100644 --- a/packages/api/router/organization/schemas.ts +++ b/packages/api/router/organization/schemas.ts @@ -4,6 +4,7 @@ export * from './mutation.createNewQuick.schema' export * from './mutation.createNewSuggestion.schema' export * from './query.checkForExisting.schema' export * from './query.forLocationPage.schema' +export * from './query.forOrganizationTable.schema' export * from './query.forOrgPage.schema' export * from './query.generateSlug.schema' export * from './query.getById.schema' diff --git a/packages/auth/package.json b/packages/auth/package.json index db02e004b5..0663790f34 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -22,7 +22,7 @@ "aws-jwt-verify": "4.0.0", "tiny-invariant": "1.3.1", "tslog": "4.9.1", - "zod": "3.22.0" + "zod": "3.22.1" }, "devDependencies": { "@types/eslint": "8.44.2", @@ -32,8 +32,8 @@ "@weareinreach/config": "workspace:*", "@weareinreach/eslint-config": "0.100.0", "eslint": "8.47.0", - "next": "13.4.16", - "next-auth": "4.23.0", + "next": "13.4.17", + "next-auth": "4.23.1", "react": "18.2.0", "react-dom": "18.2.0", "typescript": "5.1.6" diff --git a/packages/aws-cache/package.json b/packages/aws-cache/package.json index c2868de9c0..3867135da5 100644 --- a/packages/aws-cache/package.json +++ b/packages/aws-cache/package.json @@ -21,7 +21,7 @@ "flat": "5.0.2", "ioredis": "5.3.2", "tslog": "4.9.1", - "zod": "3.22.0" + "zod": "3.22.1" }, "devDependencies": { "@types/aws-lambda": "8.10.119", diff --git a/packages/db/package.json b/packages/db/package.json index b038ad4d50..9c0c799a83 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -69,13 +69,13 @@ "just-safe-set": "4.2.1", "just-sort-by": "3.2.0", "kysely": "0.26.1", - "pg": "8.11.2", + "pg": "8.11.3", "prisma-kysely": "1.5.0", "sql-bricks": "3.0.1", "superjson": "1.13.1", "tslog": "4.9.1", "ulid": "2.3.0", - "zod": "3.22.0" + "zod": "3.22.1" }, "devDependencies": { "@faker-js/faker": "8.0.2", @@ -107,7 +107,7 @@ "commander": "11.0.0", "countries-languages": "1.0.3", "dotenv": "16.3.1", - "dotenv-cli": "7.2.1", + "dotenv-cli": "7.3.0", "eslint": "8.47.0", "flat": "5.0.2", "geojson": "0.5.0", diff --git a/packages/env/package.json b/packages/env/package.json index 99ac161f2f..23c46ba250 100644 --- a/packages/env/package.json +++ b/packages/env/package.json @@ -12,7 +12,7 @@ "@t3-oss/env-nextjs": "0.6.0", "@weareinreach/util": "workspace:*", "chromatic": "6.22.0", - "zod": "3.22.0" + "zod": "3.22.1" }, "devDependencies": { "@weareinreach/config": "workspace:*" diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index c6bf9ab25a..2a87606c5c 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -14,7 +14,7 @@ "preinstall": "npx only-allow pnpm" }, "devDependencies": { - "@next/eslint-plugin-next": "13.4.16", + "@next/eslint-plugin-next": "13.4.17", "@tanstack/eslint-plugin-query": "4.32.5", "@types/eslint": "8.44.2", "@types/eslint-config-prettier": "6.11.0", @@ -22,7 +22,7 @@ "@typescript-eslint/eslint-plugin": "6.4.0", "@typescript-eslint/parser": "6.4.0", "eslint": "8.47.0", - "eslint-config-next": "13.4.16", + "eslint-config-next": "13.4.17", "eslint-config-prettier": "9.0.0", "eslint-formatter-github": "1.1.4", "eslint-import-resolver-typescript": "3.6.0", @@ -30,10 +30,10 @@ "eslint-plugin-i18next": "6.0.3", "eslint-plugin-import": "2.28.0", "eslint-plugin-node": "11.1.0", - "eslint-plugin-react": "7.33.1", + "eslint-plugin-react": "7.33.2", "eslint-plugin-storybook": "0.6.13", "eslint-plugin-turbo": "1.10.12", - "next": "13.4.16", + "next": "13.4.17", "resolve-pkg-maps": "1.0.0", "typescript": "5.1.6" }, diff --git a/packages/ui/.storybook/decorators.tsx b/packages/ui/.storybook/decorators.tsx index 49050ef149..b1ed638562 100644 --- a/packages/ui/.storybook/decorators.tsx +++ b/packages/ui/.storybook/decorators.tsx @@ -110,7 +110,7 @@ export const Layouts = (Story: StoryFn, context: StoryContext) => { switch (layoutWrapper) { case 'centeredFullscreen': { return ( -
+
) diff --git a/packages/ui/.storybook/main.ts b/packages/ui/.storybook/main.ts index 34feb547b7..aab23ff809 100644 --- a/packages/ui/.storybook/main.ts +++ b/packages/ui/.storybook/main.ts @@ -38,7 +38,7 @@ const config: StorybookConfig = { options: { builder: { lazyCompilation: Boolean(process.env.SB_LAZY), - fsCache: Boolean(process.env.SB_CACHE), + fsCache: true, // Boolean(process.env.SB_CACHE), useSWC: true, }, nextConfigPath: path.resolve(__dirname, '../../../apps/app/next.config.mjs'), diff --git a/packages/ui/.storybook/preview.tsx b/packages/ui/.storybook/preview.tsx index e57ee3c5da..0624307684 100644 --- a/packages/ui/.storybook/preview.tsx +++ b/packages/ui/.storybook/preview.tsx @@ -1,6 +1,6 @@ import './wdyr' import { type BADGE } from '@geometricpanda/storybook-addon-badges' -import { INITIAL_VIEWPORTS } from '@storybook/addon-viewport' +import { type INITIAL_VIEWPORTS } from '@storybook/addon-viewport' import { type Preview } from '@storybook/react' import { type WhyDidYouRenderOptions } from '@welldone-software/why-did-you-render' import { type RequestHandler, rest } from 'msw' @@ -67,7 +67,93 @@ const preview: Preview = { }, i18n, viewport: { - viewports: INITIAL_VIEWPORTS, + viewports: { + iphonex: { + name: 'iPhone X', + styles: { height: '812px', width: '375px' }, + type: 'mobile', + }, + iphonexsmax: { + name: 'iPhone XS Max', + styles: { height: '896px', width: '414px' }, + type: 'mobile', + }, + iphonese2: { + name: 'iPhone SE (2nd generation)', + styles: { height: '667px', width: '375px' }, + type: 'mobile', + }, + iphone12mini: { + name: 'iPhone 12 mini', + styles: { height: '812px', width: '375px' }, + type: 'mobile', + }, + iphone12: { + name: 'iPhone 12', + styles: { height: '844px', width: '390px' }, + type: 'mobile', + }, + iphone12promax: { + name: 'iPhone 12 Pro Max', + styles: { height: '926px', width: '428px' }, + type: 'mobile', + }, + galaxys9: { + name: 'Galaxy S9', + styles: { height: '740px', width: '360px' }, + type: 'mobile', + }, + nexus6p: { + name: 'Nexus 6P', + styles: { height: '732px', width: '412px' }, + type: 'mobile', + }, + pixel: { + name: 'Pixel', + styles: { height: '960px', width: '540px' }, + type: 'mobile', + }, + pixelxl: { + name: 'Pixel XL', + styles: { height: '1280px', width: '720px' }, + type: 'mobile', + }, + ipad: { + name: 'iPad', + styles: { height: '1024px', width: '768px' }, + type: 'tablet', + }, + ipad10p: { + name: 'iPad Pro 10.5-in', + styles: { height: '1112px', width: '834px' }, + type: 'tablet', + }, + ipad12p: { + name: 'iPad Pro 12.9-in', + styles: { height: '1366px', width: '1024px' }, + type: 'tablet', + }, + desktop1: { + name: 'Desktop - 1920x1080', + styles: { width: '1920px', height: '1080px' }, + type: 'desktop', + }, + desktop2: { + name: 'Desktop - 1366x768', + styles: { width: '1366px', height: '768px' }, + type: 'desktop', + }, + desktop3: { + name: 'Desktop - 1440x900', + styles: { width: '1440px', height: '900px' }, + type: 'desktop', + }, + desktop4: { + name: 'Desktop - 1280x720', + styles: { width: '1280px', height: '720px' }, + type: 'desktop', + }, + }, }, chromatic: { delay: 1000, @@ -132,7 +218,6 @@ declare module '@storybook/react' { layout?: 'centered' | 'fullscreen' | 'padded' layoutWrapper?: LayoutsDecorator disableStrictMode?: boolean - disableWhyDidYouRender?: boolean pseudo?: Partial> & { rootElement?: string } rqDevtools?: boolean searchContext?: SearchStateProviderProps['initState'] diff --git a/packages/ui/components/core/SearchBox.tsx b/packages/ui/components/core/SearchBox.tsx index 1be9d4f982..5d920d3054 100644 --- a/packages/ui/components/core/SearchBox.tsx +++ b/packages/ui/components/core/SearchBox.tsx @@ -12,6 +12,7 @@ import { } from '@mantine/core' import { useForm } from '@mantine/form' import { useDebouncedValue } from '@mantine/hooks' +import { localeIncludes } from 'locale-includes' import { useRouter } from 'next/router' import { Trans, useTranslation } from 'next-i18next' import { @@ -116,6 +117,18 @@ const useLocationSearch = () => { return [locationSearch, setLocationSearch] as [typeof locationSearch, typeof setLocationSearch] } +const SuggestItem = () => { + const { classes } = useStyles() + const router = useRouter() + return ( +
router.push('/suggest')}> + + + +
+ ) +} + export const SearchBox = ({ type, label, @@ -278,16 +291,6 @@ export const SearchBox = ({ ) AutoCompleteItem.displayName = 'AutoCompleteItem' - const SuggestItem = () => { - return ( -
router.push('/suggest')}> - - - -
- ) - } - // only used for Organization results - always displays suggestion item last. const ResultContainer = forwardRef( ({ children, style, ...props }, ref) => { @@ -348,6 +351,12 @@ export const SearchBox = ({ withinPortal nothingFound={noResults ? {t('search.no-results')} : null} defaultValue={initialValue} + filter={(value, item) => + localeIncludes(item.value, value, { + usage: 'search', + sensitivity: 'base', + }) + } {...fieldRole} {...form.getInputProps('search')} /> diff --git a/packages/ui/components/data-portal/OrganizationTable.stories.tsx b/packages/ui/components/data-portal/OrganizationTable.stories.tsx new file mode 100644 index 0000000000..51671e2583 --- /dev/null +++ b/packages/ui/components/data-portal/OrganizationTable.stories.tsx @@ -0,0 +1,19 @@ +import { type Meta, type StoryObj } from '@storybook/react' + +import { organization } from '~ui/mockData/organization' + +import { OrganizationTable } from './OrganizationTable' + +export default { + title: 'Data Portal/Tables/Organizations', + component: OrganizationTable, + parameters: { + layoutWrapper: 'centeredFullscreen', + msw: [organization.forOrganizationTable], + rqDevtools: true, + }, +} satisfies Meta + +type StoryDef = StoryObj + +export const Default = {} satisfies StoryDef diff --git a/packages/ui/components/data-portal/OrganizationTable.tsx b/packages/ui/components/data-portal/OrganizationTable.tsx new file mode 100644 index 0000000000..73790973a1 --- /dev/null +++ b/packages/ui/components/data-portal/OrganizationTable.tsx @@ -0,0 +1,391 @@ +import { ActionIcon, createStyles, Group, rem, Text, Tooltip, useMantineTheme } from '@mantine/core' +import { DateTime } from 'luxon' +import { + MantineReactTable, + type MRT_ColumnDef, + type MRT_ColumnFilterFnsState, + type MRT_ColumnFiltersState, + type MRT_SortingState, + type MRT_Virtualizer, + useMantineReactTable, +} from 'mantine-react-table' +import { useRouter } from 'next/router' +import { type Dispatch, type SetStateAction, useMemo, useRef, useState } from 'react' + +import { Icon } from '~ui/icon' +import { trpc as api } from '~ui/lib/trpcClient' + +const useStyles = createStyles((theme) => ({ + warning: { + color: theme.other.colors.tertiary.red, + }, + warningDim: { + color: theme.fn.lighten(theme.other.colors.tertiary.red, 0.3), + }, + bottomBar: { + paddingTop: rem(20), + }, +})) + +const ToolbarButtons = ({ columnFilters, setColumnFilters }: ToolbarButtonsProps) => { + const theme = useMantineTheme() + const toggle = (key: 'published' | 'deleted') => { + const current = columnFilters.find(({ id }) => key === id) + const options = key === 'published' ? [undefined, true, false] : [false, true, undefined] + const currentIdx = options.indexOf(current?.value as boolean | undefined) + const nextIdx = (currentIdx + 1) % options.length + setColumnFilters((prev) => + options[nextIdx] === undefined + ? prev.filter(({ id }) => id !== key) + : [...prev.filter(({ id }) => id !== key), { id: key, value: options[nextIdx] }] + ) + } + const publishedState = columnFilters.find(({ id }) => id === 'published')?.value as boolean | undefined + const deletedState = columnFilters.find(({ id }) => id === 'deleted')?.value as boolean | undefined + + return ( + + + toggle('published')}> + + + + + toggle('deleted')}> + + + + + + + + ) +} + +export const OrganizationTable = () => { + const { classes } = useStyles() + const router = useRouter() + const { data, isLoading, isError, isFetching } = api.organization.forOrganizationTable.useQuery(undefined, { + placeholderData: [], + select: (data) => data.map(({ locations, ...rest }) => ({ ...rest, subRows: locations })), + }) + + const columns = useMemo[number]>[]>( + () => [ + { + accessorKey: 'name', + header: 'Name', + columnFilterModeOptions: ['contains', 'fuzzy', 'startsWith', 'endsWith'], + filterVariant: 'autocomplete', + enableResizing: true, + minSize: 250, + }, + { + accessorKey: 'lastVerified', + header: 'Verified', + Cell: ({ cell, row }) => { + if (row.getParentRow()) return null + if (!cell.getValue()) + return ( + + + Never + + ) + const date = DateTime.fromJSDate(cell.getValue()) + return ( + + {date.toRelativeCalendar()} + + ) + }, + columnFilterModeOptions: ['betweenInclusive'], + filterVariant: 'date-range', + enableColumnFilterModes: false, + size: 150, + }, + { + accessorKey: 'updatedAt', + header: 'Updated', + Cell: ({ cell }) => { + if (!cell.getValue()) return null + const date = DateTime.fromJSDate(cell.getValue()) + return {date.toLocaleString(DateTime.DATETIME_SHORT)} + }, + columnFilterModeOptions: ['betweenInclusive'], + filterVariant: 'date-range', + enableColumnFilterModes: false, + size: 150, + }, + { + accessorKey: 'createdAt', + header: 'Created', + Cell: ({ cell }) => { + if (!cell.getValue()) return null + const date = DateTime.fromJSDate(cell.getValue()) + return {date.toLocaleString(DateTime.DATETIME_SHORT)} + }, + columnFilterModeOptions: ['betweenInclusive'], + filterVariant: 'date-range', + enableColumnFilterModes: false, + size: 150, + }, + { + accessorKey: 'published', + header: 'Published', + Cell: ({ cell }) => cell.getValue().toString(), + columnFilterModeOptions: ['equals'], + filterVariant: 'checkbox', + enableColumnFilterModes: false, + mantineFilterCheckboxProps: { label: 'Published?' }, + enableSorting: false, + enableColumnActions: false, + size: 110, + }, + { + accessorKey: 'deleted', + header: 'Deleted', + Cell: ({ cell }) => cell.getValue().toString(), + columnFilterModeOptions: ['equals'], + filterVariant: 'checkbox', + enableColumnFilterModes: false, + mantineFilterCheckboxProps: { label: 'Deleted?' }, + enableSorting: false, + enableColumnActions: false, + size: 100, + }, + ], + // eslint-disable-next-line react-hooks/exhaustive-deps + [] + ) + + const [columnFilters, setColumnFilters] = useState([ + { id: 'deleted', value: false }, + ]) + const [columnFilterFns, setColumnFilterFns] = //filter modes + useState( + Object.fromEntries( + columns.map(({ accessorKey, columnFilterModeOptions }) => [ + accessorKey, + columnFilterModeOptions?.at(0) ?? 'equals', + ]) + ) + ) + const [globalFilter, setGlobalFilter] = useState('') + const [sorting, setSorting] = useState([ + { id: 'deleted', desc: false }, + { id: 'published', desc: true }, + { id: 'name', desc: false }, + ]) + const rowVirtualizerInstanceRef = useRef>(null) + + const getAlertBanner = () => { + switch (true) { + case isError: { + return { color: 'red', children: 'Error fetching data' } + } + case isFetching: + case isLoading: { + return { color: 'green', children: 'Loading data' } + } + default: { + return { color: 'white', children: null, sx: { backgroundColor: 'transparent' } } + } + } + } + + const table = useMantineReactTable({ + // #region Basic Props + columns, + data: data ?? [], + // #endregion + // #region Enable features / Table options + columnFilterDisplayMode: 'popover', + enableColumnFilterModes: true, + enableGlobalFilterModes: true, + enableColumnResizing: false, + enableFacetedValues: true, + enablePagination: false, + enablePinning: true, + enableRowActions: true, + enableRowNumbers: false, + enableRowVirtualization: true, + enableExpanding: true, + enableMultiRowSelection: true, + enableRowSelection: (row) => !row.getParentRow(), + enableHiding: true, + getRowId: (originalRow) => originalRow.id, + isMultiSortEvent: () => true, + positionGlobalFilter: 'left', + rowCount: data?.length ?? 0, + rowVirtualizerInstanceRef, + rowVirtualizerProps: { overscan: 5 }, + // #endregion + // #region State + initialState: { + columnPinning: { left: ['mrt-row-expand', 'mrt-row-select', 'mrt-row-actions', 'name'] }, + columnVisibility: { + published: false, + deleted: false, + }, + showColumnFilters: false, + showGlobalFilter: true, + }, + state: { + columnFilterFns, + columnFilters, + globalFilter, + isLoading, + showAlertBanner: getAlertBanner !== undefined, + showProgressBars: isFetching, + sorting, + density: 'xs', + }, + // #endregion + // #region Mantine component props to be passed down + mantinePaperProps: { miw: '85%' }, + mantineProgressProps: ({ isTopToolbar }) => ({ style: { display: isTopToolbar ? 'block' : 'none' } }), + mantineSelectCheckboxProps: ({ row }) => ({ style: { display: row.getCanSelect() ? 'block' : 'none' } }), + mantineTableBodyCellProps: ({ row }) => ({ + sx: (theme) => ({ + textDecoration: row.original.deleted ? 'line-through' : 'none', + color: row.original.published ? undefined : theme.other.colors.secondary.darkGray, + }), + }), + mantineToolbarAlertBannerProps: getAlertBanner(), + mantineTableProps: { striped: true }, + // #endregion + // #region Override sections + renderToolbarInternalActions: () => ( + + ), + renderBottomToolbar: ({ table }) => { + if (table.getPreFilteredRowModel().rows.length !== table.getFilteredRowModel().rows.length) { + return ( +
+ + Showing {table.getFilteredRowModel().rows.length} of{' '} + {table.getPreFilteredRowModel().rows.length} results + +
+ ) + } + return ( +
+ {table.getFilteredRowModel().rows.length} results +
+ ) + }, + renderRowActions: ({ row }) => { + const handleView = () => { + const parent = row.getParentRow() + if (parent) { + router.push({ + pathname: '/org/[slug]/[orgLocationId]', + query: { + slug: parent.original.slug, + orgLocationId: row.original.id, + }, + }) + } else { + router.push({ + pathname: '/org/[slug]', + query: { + slug: row.original.slug, + }, + }) + } + } + const handleEdit = () => { + const parent = row.getParentRow() + if (parent) { + router.push({ + pathname: '/org/[slug]/[orgLocationId]/edit', + query: { + slug: parent.original.slug, + orgLocationId: row.original.id, + }, + }) + } else { + router.push({ + pathname: '/org/[slug]/edit', + query: { + slug: row.original.slug, + }, + }) + } + } + + return ( + + + + + + + + + + + + + ) + }, + // #endregion + // #region Events + onColumnFilterFnsChange: setColumnFilterFns, + onColumnFiltersChange: setColumnFilters, + onGlobalFilterChange: setGlobalFilter, + onSortingChange: setSorting, + // #endregion + }) + + return +} + +interface ToolbarButtonsProps { + columnFilters: MRT_ColumnFiltersState + setColumnFilters: Dispatch> +} diff --git a/packages/ui/icon/index.tsx b/packages/ui/icon/index.tsx index e94c3cb0d9..6bd6212bc9 100644 --- a/packages/ui/icon/index.tsx +++ b/packages/ui/icon/index.tsx @@ -1,6 +1,6 @@ -import { Icon as Iconify, type IconifyIconProps } from '@iconify/react' +import { Icon as Iconify, type IconifyIconProps, type IconProps } from '@iconify/react' import { createStyles } from '@mantine/core' -import { type RefAttributes, type SVGProps } from 'react' +import { forwardRef, type SVGProps } from 'react' import { type LiteralUnion } from 'type-fest' import { iconList } from './iconList' @@ -19,10 +19,21 @@ const useStyles = createStyles((theme, { block }: IconStylesParams) => ({ }, })) -export const Icon = ({ icon, block, className, ...props }: CustomIconProps) => { - const { classes, cx } = useStyles({ block }) - return -} +export const Icon = forwardRef( + ({ icon, block, className, ...props }, ref) => { + const { classes, cx } = useStyles({ block }) + return ( + + ) + } +) +Icon.displayName = '@weareinreach/ui/icon' export type IconList = (typeof iconList)[number] interface IconStylesParams { /** Sets `display: 'block'` */ @@ -34,4 +45,4 @@ interface CustomIconifyIconProps extends IconifyIconProps, IconStylesParams { } type IconElementProps = SVGProps -type CustomIconProps = IconElementProps & CustomIconifyIconProps & { ref?: RefAttributes } +type CustomIconProps = IconElementProps & CustomIconifyIconProps //& { ref?: RefAttributes } diff --git a/packages/ui/mockData/fieldOpt.ts b/packages/ui/mockData/fieldOpt.ts index f562715b96..bc2c0dd73c 100644 --- a/packages/ui/mockData/fieldOpt.ts +++ b/packages/ui/mockData/fieldOpt.ts @@ -1,11 +1,13 @@ +import { parse } from 'libphonenumber-js' import { z } from 'zod' -import fs from 'fs' -import path from 'path' - +// import fs from 'fs' +// import path from 'path' import { type ApiInput, type ApiOutput } from '@weareinreach/api' import { getTRPCMock } from '~ui/lib/getTrpcMock' +import countryGovDistMapData from './json/countryGovDistMap.json' + export const attributeCategories = [ { id: 'attc_01GW2HHFV3DJ380F351SKB0B74', @@ -9216,9 +9218,7 @@ const countryGovDistMapSchema = z .array() const countryGovDistMap = new Map( - countryGovDistMapSchema.parse( - JSON.parse(fs.readFileSync(path.resolve(__dirname, './json/countryGovDistMap.json'), 'utf-8')) - ) + countryGovDistMapSchema.parse(countryGovDistMapData) ) export const fieldOpt = { attributeCategories: getTRPCMock({ diff --git a/packages/ui/mockData/organization.ts b/packages/ui/mockData/organization.ts index 33f1d4a551..2be8cca081 100644 --- a/packages/ui/mockData/organization.ts +++ b/packages/ui/mockData/organization.ts @@ -1,3 +1,5 @@ +import { faker } from '@faker-js/faker' + import { type ApiOutput } from '@weareinreach/api' import { getTRPCMock } from '~ui/lib/getTrpcMock' @@ -271,6 +273,50 @@ export const organization = { path: ['organization', 'getIdFromSlug'], response: organizationData.getIdFromSlug, }), + forOrganizationTable: getTRPCMock({ + path: ['organization', 'forOrganizationTable'], + response: () => { + const totalRecords = 1000 + faker.seed(1024) + const data: ApiOutput['organization']['forOrganizationTable'] = [] + + for (let index = 0; index < totalRecords; index++) { + const lastVerified = faker.date.past() + const updatedAt = faker.date.past({ refDate: lastVerified }) + const createdAt = faker.date.past({ refDate: updatedAt }) + const locations: NonNullable[number]['locations'] = + [] + + const totalLocations = faker.number.int({ min: 0, max: 7 }) + + for (let locIdx = 0; locIdx < totalLocations; locIdx++) { + const updatedAt = faker.date.past({ refDate: lastVerified }) + const createdAt = faker.date.past({ refDate: updatedAt }) + locations.push({ + id: `oloc_${faker.string.alphanumeric({ length: 26, casing: 'upper' })}`, + name: `${faker.location.street()} location`, + updatedAt, + createdAt, + published: faker.datatype.boolean(0.9), + deleted: faker.datatype.boolean(0.05), + }) + } + + data.push({ + id: `orgn_${faker.string.alphanumeric({ length: 26, casing: 'upper' })}`, + name: faker.company.name(), + slug: faker.lorem.slug(3), + lastVerified: faker.helpers.maybe(() => lastVerified, { probability: 0.9 }) ?? null, + updatedAt, + createdAt, + published: faker.datatype.boolean(0.9), + deleted: faker.datatype.boolean(0.05), + locations, + }) + } + return data + }, + }), } type Data = Partial<{ diff --git a/packages/ui/package.json b/packages/ui/package.json index 1ba3fecd99..4d9c5d5308 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -39,6 +39,7 @@ "just-filter-object": "3.2.0", "just-map-values": "3.2.0", "libphonenumber-js": "1.10.41", + "locale-includes": "1.0.5", "localized-address-format": "1.3.1", "nextjs-routes": "2.0.1", "probe-image-size": "7.2.3", @@ -77,32 +78,32 @@ "@mantine/spotlight": "6.0.19", "@mantine/tiptap": "6.0.19", "@mantine/utils": "6.0.19", - "@storybook/addon-a11y": "7.3.0", - "@storybook/addon-actions": "7.3.0", - "@storybook/addon-designs": "7.0.4", - "@storybook/addon-docs": "7.3.0", - "@storybook/addon-essentials": "7.3.0", - "@storybook/addon-interactions": "7.3.0", - "@storybook/addon-links": "7.3.0", - "@storybook/addon-viewport": "7.3.0", - "@storybook/components": "7.3.0", - "@storybook/core-events": "7.3.0", - "@storybook/jest": "0.1.0", - "@storybook/manager-api": "7.3.0", - "@storybook/nextjs": "7.3.0", - "@storybook/preview-api": "7.3.0", - "@storybook/react": "7.3.0", + "@storybook/addon-a11y": "7.3.1", + "@storybook/addon-actions": "7.3.1", + "@storybook/addon-designs": "7.0.5", + "@storybook/addon-docs": "7.3.1", + "@storybook/addon-essentials": "7.3.1", + "@storybook/addon-interactions": "7.3.1", + "@storybook/addon-links": "7.3.1", + "@storybook/addon-viewport": "7.3.1", + "@storybook/components": "7.3.1", + "@storybook/core-events": "7.3.1", + "@storybook/jest": "0.2.0", + "@storybook/manager-api": "7.3.1", + "@storybook/nextjs": "7.3.1", + "@storybook/preview-api": "7.3.1", + "@storybook/react": "7.3.1", "@storybook/test-runner": "0.13.0", "@storybook/testing-library": "0.2.0", - "@storybook/theming": "7.3.0", - "@storybook/types": "7.3.0", + "@storybook/theming": "7.3.1", + "@storybook/types": "7.3.1", "@tanstack/react-query": "4.32.6", "@tanstack/react-query-devtools": "4.32.6", "@tanstack/react-table": "8.9.3", "@tanstack/react-table-devtools": "8.7.6", - "@tiptap/extension-link": "2.0.4", - "@tiptap/react": "2.0.4", - "@tiptap/starter-kit": "2.0.4", + "@tiptap/extension-link": "2.1.1", + "@tiptap/react": "2.1.1", + "@tiptap/starter-kit": "2.1.1", "@tomfreudenberg/next-auth-mock": "0.5.6", "@trpc/client": "10.37.1", "@trpc/next": "10.37.1", @@ -136,11 +137,12 @@ "i18next-http-backend": "2.2.1", "i18next-intervalplural-postprocessor": "3.0.0", "luxon": "3.4.0", + "mantine-react-table": "1.1.1", "merge-anything": "5.1.7", "msw": "1.2.3", "msw-storybook-addon": "1.8.0", - "next": "13.4.16", - "next-auth": "4.23.0", + "next": "13.4.17", + "next-auth": "4.23.1", "next-i18next": "14.0.0", "next-router-mock": "0.9.9", "postcss-loader": "7.3.3", @@ -153,7 +155,7 @@ "react-i18next": "13.1.2", "resolve-url-loader": "5.0.0", "slugify": "1.6.6", - "storybook": "7.3.0", + "storybook": "7.3.1", "storybook-addon-pseudo-states": "2.1.0", "storybook-addon-swc": "1.2.0", "storybook-addon-turbo-build": "2.0.1", @@ -165,7 +167,7 @@ "typescript": "5.1.6", "ulid": "2.3.0", "webpack": "5.88.2", - "zod": "3.22.0" + "zod": "3.22.1" }, "peerDependencies": { "@emotion/react": "^11", @@ -204,6 +206,7 @@ "i18next-http-backend": "^2", "i18next-intervalplural-postprocessor": "^3", "luxon": "^3", + "mantine-react-table": "^1", "next": "^13", "next-auth": "^4", "next-i18next": "^14.0.0", diff --git a/patches/next-auth@4.23.0.patch b/patches/next-auth@4.23.0.patch deleted file mode 100644 index 05abb6fd57..0000000000 --- a/patches/next-auth@4.23.0.patch +++ /dev/null @@ -1,278 +0,0 @@ -diff --git a/package.json b/package.json -index 896c4c4182d67b5bb60b698b3404800be2bd8a82..5e733541d866f864a5bccb91c4e994e4d2e53e3e 100644 ---- a/package.json -+++ b/package.json -@@ -1,148 +1,127 @@ - { -- "name": "next-auth", -- "version": "4.23.0", -- "description": "Authentication for Next.js", -- "homepage": "https://next-auth.js.org", -- "repository": "https://github.com/nextauthjs/next-auth.git", -- "author": "Iain Collins ", -- "contributors": [ -- "Balázs Orbán ", -- "Nico Domino ", -- "Lluis Agusti ", -- "Thang Huu Vu " -- ], -- "main": "index.js", -- "module": "index.js", -- "types": "index.d.ts", -- "keywords": [ -- "react", -- "nodejs", -- "oauth", -- "jwt", -- "oauth2", -- "authentication", -- "nextjs", -- "csrf", -- "oidc", -- "nextauth" -- ], -- "exports": { -- ".": { -- "types": "./index.d.ts", -- "import": "./index.js" -- }, -- "./jwt": { -- "types": "./jwt/index.d.ts", -- "import": "./jwt/index.js" -- }, -- "./react": { -- "types": "./react/index.d.ts", -- "import": "./react/index.js" -- }, -- "./next": { -- "types": "./next/index.d.ts", -- "import": "./next/index.js" -- }, -- "./middleware": { -- "types": "./middleware.d.ts", -- "import": "./middleware.js" -- }, -- "./client/_utils": { -- "types": "./client/_utils.d.ts", -- "import": "./client/_utils.js" -- }, -- "./providers/*": { -- "types": "./providers/*.d.ts", -- "import": "./providers/*.js" -- } -- }, -- "files": [ -- "client", -- "core", -- "css", -- "jwt", -- "lib", -- "next", -- "providers", -- "react", -- "src", -- "utils", -- "*.d.ts*", -- "*.js" -- ], -- "license": "ISC", -- "dependencies": { -- "@babel/runtime": "^7.20.13", -- "@panva/hkdf": "^1.0.2", -- "cookie": "^0.5.0", -- "jose": "^4.11.4", -- "oauth": "^0.9.15", -- "openid-client": "^5.4.0", -- "preact": "^10.6.3", -- "preact-render-to-string": "^5.1.19", -- "uuid": "^8.3.2" -- }, -- "peerDependencies": { -- "next": "^12.2.5 || ^13", -- "nodemailer": "^6.6.5", -- "react": "^17.0.2 || ^18", -- "react-dom": "^17.0.2 || ^18" -- }, -- "peerDependenciesMeta": { -- "nodemailer": { -- "optional": true -- } -- }, -- "devDependencies": { -- "@babel/cli": "^7.17.10", -- "@babel/core": "^7.18.2", -- "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", -- "@babel/plugin-transform-runtime": "^7.18.2", -- "@babel/preset-env": "^7.18.2", -- "@babel/preset-react": "^7.17.12", -- "@babel/preset-typescript": "^7.17.12", -- "@edge-runtime/jest-environment": "1.1.0-beta.35", -- "@next-auth/tsconfig": "0.0.0", -- "@swc/core": "^1.2.198", -- "@swc/jest": "^0.2.21", -- "@testing-library/dom": "^8.13.0", -- "@testing-library/jest-dom": "^5.16.4", -- "@testing-library/react": "^13.3.0", -- "@testing-library/react-hooks": "^8.0.0", -- "@testing-library/user-event": "^14.2.0", -- "@types/jest": "^28.1.3", -- "@types/node": "^17.0.42", -- "@types/nodemailer": "^6.4.4", -- "@types/oauth": "^0.9.1", -- "@types/react": "18.0.37", -- "@types/react-dom": "^18.0.6", -- "autoprefixer": "^10.4.7", -- "babel-plugin-jsx-pragmatic": "^1.0.2", -- "babel-preset-preact": "^2.0.0", -- "concurrently": "^7", -- "cssnano": "^5.1.11", -- "jest": "^28.1.1", -- "jest-environment-jsdom": "^28.1.1", -- "jest-watch-typeahead": "^1.1.0", -- "msw": "^0.42.3", -- "next": "13.3.0", -- "postcss": "^8.4.14", -- "postcss-cli": "^9.1.0", -- "postcss-nested": "^5.0.6", -- "react": "^18", -- "react-dom": "^18", -- "whatwg-fetch": "^3.6.2" -- }, -- "scripts": { -- "build": "pnpm clean && pnpm build:js && pnpm build:css", -- "build:js": "pnpm clean && pnpm generate-providers && pnpm tsc --project tsconfig.json && babel --config-file ./config/babel.config.js src --out-dir . --extensions \".tsx,.ts,.js,.jsx\"", -- "clean": "rm -rf coverage client css utils providers core jwt react next lib ./*.js ./*.ts*", -- "build:css": "postcss --config config/postcss.config.js src/**/*.css --base src --dir . && node config/wrap-css.js", -- "dev": "pnpm clean && pnpm generate-providers && concurrently \"pnpm watch:css\" \"pnpm watch:ts\"", -- "watch:ts": "pnpm tsc --project tsconfig.dev.json", -- "watch:css": "postcss --config config/postcss.config.js --watch src/**/*.css --base src --dir .", -- "test": "jest --config ./config/jest.config.js", -- "generate-providers": "node ./config/generate-providers.js", -- "lint": "eslint src config tests" -- } -+ "name": "next-auth", -+ "version": "4.23.0", -+ "description": "Authentication for Next.js", -+ "homepage": "https://next-auth.js.org", -+ "repository": "https://github.com/nextauthjs/next-auth.git", -+ "author": "Iain Collins ", -+ "contributors": [ -+ "Balázs Orbán ", -+ "Nico Domino ", -+ "Lluis Agusti ", -+ "Thang Huu Vu " -+ ], -+ "main": "index.js", -+ "module": "index.js", -+ "types": "index.d.ts", -+ "keywords": [ -+ "react", -+ "nodejs", -+ "oauth", -+ "jwt", -+ "oauth2", -+ "authentication", -+ "nextjs", -+ "csrf", -+ "oidc", -+ "nextauth" -+ ], -+ "exports": { -+ ".": "./index.js", -+ "./jwt": "./jwt/index.js", -+ "./react": "./react/index.js", -+ "./next": "./next/index.js", -+ "./middleware": "./middleware.js", -+ "./client/_utils": "./client/_utils.js", -+ "./providers/*": "./providers/*.js" -+ }, -+ "files": [ -+ "client", -+ "core", -+ "css", -+ "jwt", -+ "lib", -+ "next", -+ "providers", -+ "react", -+ "src", -+ "utils", -+ "*.d.ts*", -+ "*.js" -+ ], -+ "license": "ISC", -+ "dependencies": { -+ "@babel/runtime": "^7.20.13", -+ "@panva/hkdf": "^1.0.2", -+ "cookie": "^0.5.0", -+ "jose": "^4.11.4", -+ "oauth": "^0.9.15", -+ "openid-client": "^5.4.0", -+ "preact": "^10.6.3", -+ "preact-render-to-string": "^5.1.19", -+ "uuid": "^8.3.2" -+ }, -+ "peerDependencies": { -+ "next": "^12.2.5 || ^13", -+ "nodemailer": "^6.6.5", -+ "react": "^17.0.2 || ^18", -+ "react-dom": "^17.0.2 || ^18" -+ }, -+ "peerDependenciesMeta": { -+ "nodemailer": { -+ "optional": true -+ } -+ }, -+ "devDependencies": { -+ "@babel/cli": "^7.17.10", -+ "@babel/core": "^7.18.2", -+ "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", -+ "@babel/plugin-transform-runtime": "^7.18.2", -+ "@babel/preset-env": "^7.18.2", -+ "@babel/preset-react": "^7.17.12", -+ "@babel/preset-typescript": "^7.17.12", -+ "@edge-runtime/jest-environment": "1.1.0-beta.35", -+ "@next-auth/tsconfig": "0.0.0", -+ "@swc/core": "^1.2.198", -+ "@swc/jest": "^0.2.21", -+ "@testing-library/dom": "^8.13.0", -+ "@testing-library/jest-dom": "^5.16.4", -+ "@testing-library/react": "^13.3.0", -+ "@testing-library/react-hooks": "^8.0.0", -+ "@testing-library/user-event": "^14.2.0", -+ "@types/jest": "^28.1.3", -+ "@types/node": "^17.0.42", -+ "@types/nodemailer": "^6.4.4", -+ "@types/oauth": "^0.9.1", -+ "@types/react": "18.0.37", -+ "@types/react-dom": "^18.0.6", -+ "autoprefixer": "^10.4.7", -+ "babel-plugin-jsx-pragmatic": "^1.0.2", -+ "babel-preset-preact": "^2.0.0", -+ "concurrently": "^7", -+ "cssnano": "^5.1.11", -+ "jest": "^28.1.1", -+ "jest-environment-jsdom": "^28.1.1", -+ "jest-watch-typeahead": "^1.1.0", -+ "msw": "^0.42.3", -+ "next": "13.3.0", -+ "postcss": "^8.4.14", -+ "postcss-cli": "^9.1.0", -+ "postcss-nested": "^5.0.6", -+ "react": "^18", -+ "react-dom": "^18", -+ "whatwg-fetch": "^3.6.2" -+ }, -+ "scripts": { -+ "build": "pnpm clean && pnpm build:js && pnpm build:css", -+ "build:js": "pnpm clean && pnpm generate-providers && pnpm tsc --project tsconfig.json && babel --config-file ./config/babel.config.js src --out-dir . --extensions \".tsx,.ts,.js,.jsx\"", -+ "clean": "rm -rf coverage client css utils providers core jwt react next lib ./*.js ./*.ts*", -+ "build:css": "postcss --config config/postcss.config.js src/**/*.css --base src --dir . && node config/wrap-css.js", -+ "dev": "pnpm clean && pnpm generate-providers && concurrently \"pnpm watch:css\" \"pnpm watch:ts\"", -+ "watch:ts": "pnpm tsc --project tsconfig.dev.json", -+ "watch:css": "postcss --config config/postcss.config.js --watch src/**/*.css --base src --dir .", -+ "test": "jest --config ./config/jest.config.js", -+ "generate-providers": "node ./config/generate-providers.js", -+ "lint": "eslint src config tests" -+ } - } \ No newline at end of file diff --git a/patches/zod-prisma@0.5.4.patch b/patches/zod-prisma@0.5.4.patch deleted file mode 100644 index 8c962cfe1e..0000000000 --- a/patches/zod-prisma@0.5.4.patch +++ /dev/null @@ -1,274 +0,0 @@ -diff --git a/dist/zod-prisma.cjs.development.js b/dist/zod-prisma.cjs.development.js -index fb04fd45d6e6d9407ed9ab0b13533b05f3ae4d08..b75f4aa8ea9602757f3b1707a06905286dc73217 100644 ---- a/dist/zod-prisma.cjs.development.js -+++ b/dist/zod-prisma.cjs.development.js -@@ -33,10 +33,8 @@ const useModelNames = ({ - if (modelCase === 'camelCase') { - name = name.slice(0, 1).toLowerCase() + name.slice(1); - } -- - return `${prefix}${name}${modelSuffix}`; - }; -- - return { - modelName: name => formatModelName(name, relationModel === 'default' ? '_' : ''), - relatedModelName: name => formatModelName(relationModel === 'default' ? name.toString() : `Related${name.toString()}`) -@@ -57,24 +55,21 @@ const dotSlash = input => { - - const getJSDocs = docString => { - const lines = []; -- - if (docString) { - const docLines = docString.split('\n').filter(dL => !dL.trimStart().startsWith('@zod')); -- - if (docLines.length) { - lines.push('/**'); - docLines.forEach(dL => lines.push(` * ${dL}`)); - lines.push(' */'); - } - } -- - return lines; - }; --const getZodDocElements = docString => docString.split('\n').filter(line => line.trimStart().startsWith('@zod')).map(line => line.trimStart().slice(4)).flatMap(line => // Array.from(line.matchAll(/\.([^().]+\(.*?\))/g), (m) => m.slice(1)).flat() -+const getZodDocElements = docString => docString.split('\n').filter(line => line.trimStart().startsWith('@zod')).map(line => line.trimStart().slice(4)).flatMap(line => -+// Array.from(line.matchAll(/\.([^().]+\(.*?\))/g), (m) => m.slice(1)).flat() - chunk(parenthesis.parse(line), 2).slice(0, -1).map(([each, contents]) => each.replace(/\)?\./, '') + `${parenthesis.stringify(contents)})`)); - const computeCustomSchema = docString => { - var _getZodDocElements$fi; -- - return (_getZodDocElements$fi = getZodDocElements(docString).find(modifier => modifier.startsWith('custom('))) == null ? void 0 : _getZodDocElements$fi.slice(7).slice(0, -1); - }; - const computeModifiers = docString => { -@@ -84,43 +79,34 @@ const computeModifiers = docString => { - const getZodConstructor = (field, getRelatedModelName = name => name.toString()) => { - let zodType = 'z.unknown()'; - let extraModifiers = ['']; -- - if (field.kind === 'scalar') { - switch (field.type) { - case 'String': - zodType = 'z.string()'; - break; -- - case 'Int': - zodType = 'z.number()'; - extraModifiers.push('int()'); - break; -- - case 'BigInt': - zodType = 'z.bigint()'; - break; -- - case 'DateTime': - zodType = 'z.date()'; - break; -- - case 'Float': - zodType = 'z.number()'; - break; -- - case 'Decimal': - zodType = 'z.number()'; - break; -- - case 'Json': - zodType = 'jsonSchema'; - break; -- - case 'Boolean': - zodType = 'z.boolean()'; - break; - // TODO: Proper type for bytes fields -- - case 'Bytes': - zodType = 'z.unknown()'; - break; -@@ -130,18 +116,14 @@ const getZodConstructor = (field, getRelatedModelName = name => name.toString()) - } else if (field.kind === 'object') { - zodType = getRelatedModelName(field.type); - } -- - if (field.isList) extraModifiers.push('array()'); -- - if (field.documentation) { - var _computeCustomSchema; -- - zodType = (_computeCustomSchema = computeCustomSchema(field.documentation)) != null ? _computeCustomSchema : zodType; - extraModifiers.push(...computeModifiers(field.documentation)); - } -- -- if (!field.isRequired && field.type !== 'Json') extraModifiers.push('nullish()'); // if (field.hasDefaultValue) extraModifiers.push('optional()') -- -+ if (!field.isRequired && field.type !== 'Json') extraModifiers.push('nullish()'); -+ // if (field.hasDefaultValue) extraModifiers.push('optional()') - return `${zodType}${extraModifiers.join('.')}`; - }; - -@@ -158,7 +140,6 @@ const writeImportsForModel = (model, sourceFile, config, { - namespaceImport: 'z', - moduleSpecifier: 'zod' - }]; -- - if (config.imports) { - importList.push({ - kind: tsMorph.StructureKind.ImportDeclaration, -@@ -166,7 +147,6 @@ const writeImportsForModel = (model, sourceFile, config, { - moduleSpecifier: dotSlash(path__default["default"].relative(outputPath, path__default["default"].resolve(path__default["default"].dirname(schemaPath), config.imports))) - }); - } -- - if (config.useDecimalJs && model.fields.some(f => f.type === 'Decimal')) { - importList.push({ - kind: tsMorph.StructureKind.ImportDeclaration, -@@ -174,23 +154,19 @@ const writeImportsForModel = (model, sourceFile, config, { - moduleSpecifier: 'decimal.js' - }); - } -- - const enumFields = model.fields.filter(f => f.kind === 'enum'); - const relationFields = model.fields.filter(f => f.kind === 'object'); - const relativePath = path__default["default"].relative(outputPath, clientPath); -- - if (enumFields.length > 0) { - importList.push({ - kind: tsMorph.StructureKind.ImportDeclaration, - isTypeOnly: enumFields.length === 0, - moduleSpecifier: dotSlash(relativePath), -- namedImports: enumFields.map(f => f.type) -+ namedImports: Array.from(new Set(enumFields.map(f => f.type))) - }); - } -- - if (config.relationModel !== false && relationFields.length > 0) { - const filteredFields = relationFields.filter(f => f.type !== model.name); -- - if (filteredFields.length > 0) { - importList.push({ - kind: tsMorph.StructureKind.ImportDeclaration, -@@ -199,7 +175,6 @@ const writeImportsForModel = (model, sourceFile, config, { - }); - } - } -- - sourceFile.addImportDeclarations(importList); - }; - const writeTypeSpecificSchemas = (model, sourceFile, config, _prismaOptions) => { -@@ -209,7 +184,6 @@ const writeTypeSpecificSchemas = (model, sourceFile, config, _prismaOptions) => - writeArray(writer, ['// Helper schema for JSON fields', `type Literal = boolean | number | string${config.prismaJsonNullability ? '' : '| null'}`, 'type Json = Literal | { [key: string]: Json } | Json[]', `const literalSchema = z.union([z.string(), z.number(), z.boolean()${config.prismaJsonNullability ? '' : ', z.null()'}])`, 'const jsonSchema: z.ZodSchema = z.lazy(() => z.union([literalSchema, z.array(jsonSchema), z.record(jsonSchema)]))']); - }); - } -- - if (config.useDecimalJs && model.fields.some(f => f.type === 'Decimal')) { - sourceFile.addStatements(writer => { - writer.newLine(); -@@ -227,7 +201,6 @@ const generateSchemaForModel = (model, sourceFile, config, _prismaOptions) => { - leadingTrivia: writer => writer.blankLineIfLastNot(), - declarations: [{ - name: modelName(model.name), -- - initializer(writer) { - writer.write('z.object(').inlineBlock(() => { - model.fields.filter(f => f.kind !== 'object').forEach(field => { -@@ -236,7 +209,6 @@ const generateSchemaForModel = (model, sourceFile, config, _prismaOptions) => { - }); - }).write(')'); - } -- - }] - }); - }; -@@ -263,7 +235,6 @@ const generateRelatedSchemaForModel = (model, sourceFile, config, _prismaOptions - declarations: [{ - name: relatedModelName(model.name), - type: `z.ZodSchema`, -- - initializer(writer) { - writer.write(`z.lazy(() => ${modelName(model.name)}.extend(`).inlineBlock(() => { - relationFields.forEach(field => { -@@ -272,7 +243,6 @@ const generateRelatedSchemaForModel = (model, sourceFile, config, _prismaOptions - }); - }).write('))'); - } -- - }] - }); - }; -@@ -297,7 +267,6 @@ generatorHelper.generatorHandler({ - defaultOutput: 'zod' - }; - }, -- - onGenerate(options) { - const project = new tsMorph.Project(); - const models = options.dmmf.datamodel.models; -@@ -336,6 +305,5 @@ generatorHelper.generatorHandler({ - }); - return project.save(); - } -- - }); - //# sourceMappingURL=zod-prisma.cjs.development.js.map -diff --git a/dist/zod-prisma.cjs.development.js.map b/dist/zod-prisma.cjs.development.js.map -index c2ac3f57954c438381edb0eaaa01b3e171fcedea..4b58c7dd4a82d85c10b861e2211696bfeeb8667f 100644 ---- a/dist/zod-prisma.cjs.development.js.map -+++ b/dist/zod-prisma.cjs.development.js.map -@@ -1 +1 @@ --{"version":3,"file":"zod-prisma.cjs.development.js","sources":["../src/config.ts","../src/util.ts","../src/docs.ts","../src/types.ts","../src/generator.ts","../src/index.ts"],"sourcesContent":["import { z } from 'zod'\n\nconst configBoolean = z.enum(['true', 'false']).transform((arg) => JSON.parse(arg))\n\nexport const configSchema = z.object({\n\trelationModel: configBoolean.default('true').or(z.literal('default')),\n\tmodelSuffix: z.string().default('Model'),\n\tmodelCase: z.enum(['PascalCase', 'camelCase']).default('PascalCase'),\n\tuseDecimalJs: configBoolean.default('false'),\n\timports: z.string().optional(),\n\tprismaJsonNullability: configBoolean.default('true'),\n})\n\nexport type Config = z.infer\n\nexport type PrismaOptions = {\n\tschemaPath: string\n\toutputPath: string\n\tclientPath: string\n}\n\nexport type Names = {\n\tmodel: string\n\trelated: string\n}\n","import { DMMF } from '@prisma/generator-helper'\nimport type { CodeBlockWriter } from 'ts-morph'\nimport { Config } from './config'\n\nexport const writeArray = (writer: CodeBlockWriter, array: string[], newLine = true) =>\n\tarray.forEach((line) => writer.write(line).conditionalNewLine(newLine))\n\nexport const useModelNames = ({ modelCase, modelSuffix, relationModel }: Config) => {\n\tconst formatModelName = (name: string, prefix = '') => {\n\t\tif (modelCase === 'camelCase') {\n\t\t\tname = name.slice(0, 1).toLowerCase() + name.slice(1)\n\t\t}\n\t\treturn `${prefix}${name}${modelSuffix}`\n\t}\n\n\treturn {\n\t\tmodelName: (name: string) => formatModelName(name, relationModel === 'default' ? '_' : ''),\n\t\trelatedModelName: (name: string | DMMF.SchemaEnum | DMMF.OutputType | DMMF.SchemaArg) =>\n\t\t\tformatModelName(\n\t\t\t\trelationModel === 'default' ? name.toString() : `Related${name.toString()}`\n\t\t\t),\n\t}\n}\n\nexport const needsRelatedModel = (model: DMMF.Model, config: Config) =>\n\tmodel.fields.some((field) => field.kind === 'object') && config.relationModel !== false\n\nexport const chunk = (input: T, size: number): T[] => {\n\treturn input.reduce((arr, item, idx) => {\n\t\treturn idx % size === 0\n\t\t\t? [...arr, [item]]\n\t\t\t: [...arr.slice(0, -1), [...arr.slice(-1)[0], item]]\n\t}, [])\n}\n\nexport const dotSlash = (input: string) => {\n\tconst converted = input\n\t\t.replace(/^\\\\\\\\\\?\\\\/, '')\n\t\t.replace(/\\\\/g, '/')\n\t\t.replace(/\\/\\/+/g, '/')\n\n\tif (converted.includes(`/node_modules/`)) return converted.split(`/node_modules/`).slice(-1)[0]\n\n\tif (converted.startsWith(`../`)) return converted\n\n\treturn './' + converted\n}\n","import { ArrayTree, parse, stringify } from 'parenthesis'\nimport { chunk } from './util'\n\nexport const getJSDocs = (docString?: string) => {\n\tconst lines: string[] = []\n\n\tif (docString) {\n\t\tconst docLines = docString.split('\\n').filter((dL) => !dL.trimStart().startsWith('@zod'))\n\n\t\tif (docLines.length) {\n\t\t\tlines.push('/**')\n\t\t\tdocLines.forEach((dL) => lines.push(` * ${dL}`))\n\t\t\tlines.push(' */')\n\t\t}\n\t}\n\n\treturn lines\n}\n\nexport const getZodDocElements = (docString: string) =>\n\tdocString\n\t\t.split('\\n')\n\t\t.filter((line) => line.trimStart().startsWith('@zod'))\n\t\t.map((line) => line.trimStart().slice(4))\n\t\t.flatMap((line) =>\n\t\t\t// Array.from(line.matchAll(/\\.([^().]+\\(.*?\\))/g), (m) => m.slice(1)).flat()\n\t\t\tchunk(parse(line), 2)\n\t\t\t\t.slice(0, -1)\n\t\t\t\t.map(\n\t\t\t\t\t([each, contents]) =>\n\t\t\t\t\t\t(each as string).replace(/\\)?\\./, '') +\n\t\t\t\t\t\t`${stringify(contents as ArrayTree)})`\n\t\t\t\t)\n\t\t)\n\nexport const computeCustomSchema = (docString: string) => {\n\treturn getZodDocElements(docString)\n\t\t.find((modifier) => modifier.startsWith('custom('))\n\t\t?.slice(7)\n\t\t.slice(0, -1)\n}\n\nexport const computeModifiers = (docString: string) => {\n\treturn getZodDocElements(docString).filter((each) => !each.startsWith('custom('))\n}\n","import type { DMMF } from '@prisma/generator-helper'\nimport { computeCustomSchema, computeModifiers } from './docs'\n\nexport const getZodConstructor = (\n\tfield: DMMF.Field,\n\tgetRelatedModelName = (name: string | DMMF.SchemaEnum | DMMF.OutputType | DMMF.SchemaArg) =>\n\t\tname.toString()\n) => {\n\tlet zodType = 'z.unknown()'\n\tlet extraModifiers: string[] = ['']\n\tif (field.kind === 'scalar') {\n\t\tswitch (field.type) {\n\t\t\tcase 'String':\n\t\t\t\tzodType = 'z.string()'\n\t\t\t\tbreak\n\t\t\tcase 'Int':\n\t\t\t\tzodType = 'z.number()'\n\t\t\t\textraModifiers.push('int()')\n\t\t\t\tbreak\n\t\t\tcase 'BigInt':\n\t\t\t\tzodType = 'z.bigint()'\n\t\t\t\tbreak\n\t\t\tcase 'DateTime':\n\t\t\t\tzodType = 'z.date()'\n\t\t\t\tbreak\n\t\t\tcase 'Float':\n\t\t\t\tzodType = 'z.number()'\n\t\t\t\tbreak\n\t\t\tcase 'Decimal':\n\t\t\t\tzodType = 'z.number()'\n\t\t\t\tbreak\n\t\t\tcase 'Json':\n\t\t\t\tzodType = 'jsonSchema'\n\t\t\t\tbreak\n\t\t\tcase 'Boolean':\n\t\t\t\tzodType = 'z.boolean()'\n\t\t\t\tbreak\n\t\t\t// TODO: Proper type for bytes fields\n\t\t\tcase 'Bytes':\n\t\t\t\tzodType = 'z.unknown()'\n\t\t\t\tbreak\n\t\t}\n\t} else if (field.kind === 'enum') {\n\t\tzodType = `z.nativeEnum(${field.type})`\n\t} else if (field.kind === 'object') {\n\t\tzodType = getRelatedModelName(field.type)\n\t}\n\n\tif (field.isList) extraModifiers.push('array()')\n\tif (field.documentation) {\n\t\tzodType = computeCustomSchema(field.documentation) ?? zodType\n\t\textraModifiers.push(...computeModifiers(field.documentation))\n\t}\n\tif (!field.isRequired && field.type !== 'Json') extraModifiers.push('nullish()')\n\t// if (field.hasDefaultValue) extraModifiers.push('optional()')\n\n\treturn `${zodType}${extraModifiers.join('.')}`\n}\n","import path from 'path'\nimport { DMMF } from '@prisma/generator-helper'\nimport {\n\tImportDeclarationStructure,\n\tSourceFile,\n\tStructureKind,\n\tVariableDeclarationKind,\n} from 'ts-morph'\nimport { Config, PrismaOptions } from './config'\nimport { dotSlash, needsRelatedModel, useModelNames, writeArray } from './util'\nimport { getJSDocs } from './docs'\nimport { getZodConstructor } from './types'\n\nexport const writeImportsForModel = (\n\tmodel: DMMF.Model,\n\tsourceFile: SourceFile,\n\tconfig: Config,\n\t{ schemaPath, outputPath, clientPath }: PrismaOptions\n) => {\n\tconst { relatedModelName } = useModelNames(config)\n\tconst importList: ImportDeclarationStructure[] = [\n\t\t{\n\t\t\tkind: StructureKind.ImportDeclaration,\n\t\t\tnamespaceImport: 'z',\n\t\t\tmoduleSpecifier: 'zod',\n\t\t},\n\t]\n\n\tif (config.imports) {\n\t\timportList.push({\n\t\t\tkind: StructureKind.ImportDeclaration,\n\t\t\tnamespaceImport: 'imports',\n\t\t\tmoduleSpecifier: dotSlash(\n\t\t\t\tpath.relative(outputPath, path.resolve(path.dirname(schemaPath), config.imports))\n\t\t\t),\n\t\t})\n\t}\n\n\tif (config.useDecimalJs && model.fields.some((f) => f.type === 'Decimal')) {\n\t\timportList.push({\n\t\t\tkind: StructureKind.ImportDeclaration,\n\t\t\tnamedImports: ['Decimal'],\n\t\t\tmoduleSpecifier: 'decimal.js',\n\t\t})\n\t}\n\n\tconst enumFields = model.fields.filter((f) => f.kind === 'enum')\n\tconst relationFields = model.fields.filter((f) => f.kind === 'object')\n\tconst relativePath = path.relative(outputPath, clientPath)\n\n\tif (enumFields.length > 0) {\n\t\timportList.push({\n\t\t\tkind: StructureKind.ImportDeclaration,\n\t\t\tisTypeOnly: enumFields.length === 0,\n\t\t\tmoduleSpecifier: dotSlash(relativePath),\n\t\t\tnamedImports: enumFields.map((f) => f.type),\n\t\t})\n\t}\n\n\tif (config.relationModel !== false && relationFields.length > 0) {\n\t\tconst filteredFields = relationFields.filter((f) => f.type !== model.name)\n\n\t\tif (filteredFields.length > 0) {\n\t\t\timportList.push({\n\t\t\t\tkind: StructureKind.ImportDeclaration,\n\t\t\t\tmoduleSpecifier: './index',\n\t\t\t\tnamedImports: Array.from(\n\t\t\t\t\tnew Set(\n\t\t\t\t\t\tfilteredFields.flatMap((f) => [\n\t\t\t\t\t\t\t`Complete${f.type}`,\n\t\t\t\t\t\t\trelatedModelName(f.type),\n\t\t\t\t\t\t])\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t})\n\t\t}\n\t}\n\n\tsourceFile.addImportDeclarations(importList)\n}\n\nexport const writeTypeSpecificSchemas = (\n\tmodel: DMMF.Model,\n\tsourceFile: SourceFile,\n\tconfig: Config,\n\t_prismaOptions: PrismaOptions\n) => {\n\tif (model.fields.some((f) => f.type === 'Json')) {\n\t\tsourceFile.addStatements((writer) => {\n\t\t\twriter.newLine()\n\t\t\twriteArray(writer, [\n\t\t\t\t'// Helper schema for JSON fields',\n\t\t\t\t`type Literal = boolean | number | string${\n\t\t\t\t\tconfig.prismaJsonNullability ? '' : '| null'\n\t\t\t\t}`,\n\t\t\t\t'type Json = Literal | { [key: string]: Json } | Json[]',\n\t\t\t\t`const literalSchema = z.union([z.string(), z.number(), z.boolean()${\n\t\t\t\t\tconfig.prismaJsonNullability ? '' : ', z.null()'\n\t\t\t\t}])`,\n\t\t\t\t'const jsonSchema: z.ZodSchema = z.lazy(() => z.union([literalSchema, z.array(jsonSchema), z.record(jsonSchema)]))',\n\t\t\t])\n\t\t})\n\t}\n\n\tif (config.useDecimalJs && model.fields.some((f) => f.type === 'Decimal')) {\n\t\tsourceFile.addStatements((writer) => {\n\t\t\twriter.newLine()\n\t\t\twriteArray(writer, [\n\t\t\t\t'// Helper schema for Decimal fields',\n\t\t\t\t'z',\n\t\t\t\t'.instanceof(Decimal)',\n\t\t\t\t'.or(z.string())',\n\t\t\t\t'.or(z.number())',\n\t\t\t\t'.refine((value) => {',\n\t\t\t\t' try {',\n\t\t\t\t' return new Decimal(value);',\n\t\t\t\t' } catch (error) {',\n\t\t\t\t' return false;',\n\t\t\t\t' }',\n\t\t\t\t'})',\n\t\t\t\t'.transform((value) => new Decimal(value));',\n\t\t\t])\n\t\t})\n\t}\n}\n\nexport const generateSchemaForModel = (\n\tmodel: DMMF.Model,\n\tsourceFile: SourceFile,\n\tconfig: Config,\n\t_prismaOptions: PrismaOptions\n) => {\n\tconst { modelName } = useModelNames(config)\n\n\tsourceFile.addVariableStatement({\n\t\tdeclarationKind: VariableDeclarationKind.Const,\n\t\tisExported: true,\n\t\tleadingTrivia: (writer) => writer.blankLineIfLastNot(),\n\t\tdeclarations: [\n\t\t\t{\n\t\t\t\tname: modelName(model.name),\n\t\t\t\tinitializer(writer) {\n\t\t\t\t\twriter\n\t\t\t\t\t\t.write('z.object(')\n\t\t\t\t\t\t.inlineBlock(() => {\n\t\t\t\t\t\t\tmodel.fields\n\t\t\t\t\t\t\t\t.filter((f) => f.kind !== 'object')\n\t\t\t\t\t\t\t\t.forEach((field) => {\n\t\t\t\t\t\t\t\t\twriteArray(writer, getJSDocs(field.documentation))\n\t\t\t\t\t\t\t\t\twriter\n\t\t\t\t\t\t\t\t\t\t.write(`${field.name}: ${getZodConstructor(field)}`)\n\t\t\t\t\t\t\t\t\t\t.write(',')\n\t\t\t\t\t\t\t\t\t\t.newLine()\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.write(')')\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t})\n}\n\nexport const generateRelatedSchemaForModel = (\n\tmodel: DMMF.Model,\n\tsourceFile: SourceFile,\n\tconfig: Config,\n\t_prismaOptions: PrismaOptions\n) => {\n\tconst { modelName, relatedModelName } = useModelNames(config)\n\n\tconst relationFields = model.fields.filter((f) => f.kind === 'object')\n\n\tsourceFile.addInterface({\n\t\tname: `Complete${model.name}`,\n\t\tisExported: true,\n\t\textends: [`z.infer`],\n\t\tproperties: relationFields.map((f) => ({\n\t\t\thasQuestionToken: !f.isRequired,\n\t\t\tname: f.name,\n\t\t\ttype: `Complete${f.type}${f.isList ? '[]' : ''}${!f.isRequired ? ' | null' : ''}`,\n\t\t})),\n\t})\n\n\tsourceFile.addStatements((writer) =>\n\t\twriteArray(writer, [\n\t\t\t'',\n\t\t\t'/**',\n\t\t\t` * ${relatedModelName(\n\t\t\t\tmodel.name\n\t\t\t)} contains all relations on your model in addition to the scalars`,\n\t\t\t' *',\n\t\t\t' * NOTE: Lazy required in case of potential circular dependencies within schema',\n\t\t\t' */',\n\t\t])\n\t)\n\n\tsourceFile.addVariableStatement({\n\t\tdeclarationKind: VariableDeclarationKind.Const,\n\t\tisExported: true,\n\t\tdeclarations: [\n\t\t\t{\n\t\t\t\tname: relatedModelName(model.name),\n\t\t\t\ttype: `z.ZodSchema`,\n\t\t\t\tinitializer(writer) {\n\t\t\t\t\twriter\n\t\t\t\t\t\t.write(`z.lazy(() => ${modelName(model.name)}.extend(`)\n\t\t\t\t\t\t.inlineBlock(() => {\n\t\t\t\t\t\t\trelationFields.forEach((field) => {\n\t\t\t\t\t\t\t\twriteArray(writer, getJSDocs(field.documentation))\n\n\t\t\t\t\t\t\t\twriter\n\t\t\t\t\t\t\t\t\t.write(\n\t\t\t\t\t\t\t\t\t\t`${field.name}: ${getZodConstructor(\n\t\t\t\t\t\t\t\t\t\t\tfield,\n\t\t\t\t\t\t\t\t\t\t\trelatedModelName\n\t\t\t\t\t\t\t\t\t\t)}`\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t.write(',')\n\t\t\t\t\t\t\t\t\t.newLine()\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.write('))')\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t})\n}\n\nexport const populateModelFile = (\n\tmodel: DMMF.Model,\n\tsourceFile: SourceFile,\n\tconfig: Config,\n\tprismaOptions: PrismaOptions\n) => {\n\twriteImportsForModel(model, sourceFile, config, prismaOptions)\n\twriteTypeSpecificSchemas(model, sourceFile, config, prismaOptions)\n\tgenerateSchemaForModel(model, sourceFile, config, prismaOptions)\n\tif (needsRelatedModel(model, config))\n\t\tgenerateRelatedSchemaForModel(model, sourceFile, config, prismaOptions)\n}\n\nexport const generateBarrelFile = (models: DMMF.Model[], indexFile: SourceFile) => {\n\tmodels.forEach((model) =>\n\t\tindexFile.addExportDeclaration({\n\t\t\tmoduleSpecifier: `./${model.name.toLowerCase()}`,\n\t\t})\n\t)\n}\n","// @ts-ignore Importing package.json for automated synchronization of version numbers\nimport { version } from '../package.json'\n\nimport { generatorHandler } from '@prisma/generator-helper'\nimport { SemicolonPreference } from 'typescript'\nimport { configSchema, PrismaOptions } from './config'\nimport { populateModelFile, generateBarrelFile } from './generator'\nimport { Project } from 'ts-morph'\n\ngeneratorHandler({\n\tonManifest() {\n\t\treturn {\n\t\t\tversion,\n\t\t\tprettyName: 'Zod Schemas',\n\t\t\tdefaultOutput: 'zod',\n\t\t}\n\t},\n\tonGenerate(options) {\n\t\tconst project = new Project()\n\n\t\tconst models = options.dmmf.datamodel.models\n\n\t\tconst { schemaPath } = options\n\t\tconst outputPath = options.generator.output!.value\n\t\tconst clientPath = options.otherGenerators.find(\n\t\t\t(each) => each.provider.value === 'prisma-client-js'\n\t\t)!.output!.value!\n\n\t\tconst results = configSchema.safeParse(options.generator.config)\n\t\tif (!results.success)\n\t\t\tthrow new Error(\n\t\t\t\t'Incorrect config provided. Please check the values you provided and try again.'\n\t\t\t)\n\n\t\tconst config = results.data\n\t\tconst prismaOptions: PrismaOptions = {\n\t\t\tclientPath,\n\t\t\toutputPath,\n\t\t\tschemaPath,\n\t\t}\n\n\t\tconst indexFile = project.createSourceFile(\n\t\t\t`${outputPath}/index.ts`,\n\t\t\t{},\n\t\t\t{ overwrite: true }\n\t\t)\n\n\t\tgenerateBarrelFile(models, indexFile)\n\n\t\tindexFile.formatText({\n\t\t\tindentSize: 2,\n\t\t\tconvertTabsToSpaces: true,\n\t\t\tsemicolons: SemicolonPreference.Remove,\n\t\t})\n\n\t\tmodels.forEach((model) => {\n\t\t\tconst sourceFile = project.createSourceFile(\n\t\t\t\t`${outputPath}/${model.name.toLowerCase()}.ts`,\n\t\t\t\t{},\n\t\t\t\t{ overwrite: true }\n\t\t\t)\n\n\t\t\tpopulateModelFile(model, sourceFile, config, prismaOptions)\n\n\t\t\tsourceFile.formatText({\n\t\t\t\tindentSize: 2,\n\t\t\t\tconvertTabsToSpaces: true,\n\t\t\t\tsemicolons: SemicolonPreference.Remove,\n\t\t\t})\n\t\t})\n\n\t\treturn project.save()\n\t},\n})\n"],"names":["configBoolean","z","enum","transform","arg","JSON","parse","configSchema","object","relationModel","default","or","literal","modelSuffix","string","modelCase","useDecimalJs","imports","optional","prismaJsonNullability","writeArray","writer","array","newLine","forEach","line","write","conditionalNewLine","useModelNames","formatModelName","name","prefix","slice","toLowerCase","modelName","relatedModelName","toString","needsRelatedModel","model","config","fields","some","field","kind","chunk","input","size","reduce","arr","item","idx","dotSlash","converted","replace","includes","split","startsWith","getJSDocs","docString","lines","docLines","filter","dL","trimStart","length","push","getZodDocElements","map","flatMap","each","contents","stringify","computeCustomSchema","find","modifier","computeModifiers","getZodConstructor","getRelatedModelName","zodType","extraModifiers","type","isList","documentation","isRequired","join","writeImportsForModel","sourceFile","schemaPath","outputPath","clientPath","importList","StructureKind","ImportDeclaration","namespaceImport","moduleSpecifier","path","relative","resolve","dirname","f","namedImports","enumFields","relationFields","relativePath","isTypeOnly","filteredFields","Array","from","Set","addImportDeclarations","writeTypeSpecificSchemas","_prismaOptions","addStatements","generateSchemaForModel","addVariableStatement","declarationKind","VariableDeclarationKind","Const","isExported","leadingTrivia","blankLineIfLastNot","declarations","initializer","inlineBlock","generateRelatedSchemaForModel","addInterface","extends","properties","hasQuestionToken","populateModelFile","prismaOptions","generateBarrelFile","models","indexFile","addExportDeclaration","generatorHandler","onManifest","version","prettyName","defaultOutput","onGenerate","options","project","Project","dmmf","datamodel","generator","output","value","otherGenerators","provider","results","safeParse","success","Error","data","createSourceFile","overwrite","formatText","indentSize","convertTabsToSpaces","semicolons","SemicolonPreference","Remove","save"],"mappings":"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"} -\ No newline at end of file -+{"version":3,"file":"zod-prisma.cjs.development.js","sources":["../src/config.ts","../src/util.ts","../src/docs.ts","../src/types.ts","../src/generator.ts","../src/index.ts"],"sourcesContent":["import { z } from 'zod'\n\nconst configBoolean = z.enum(['true', 'false']).transform((arg) => JSON.parse(arg))\n\nexport const configSchema = z.object({\n\trelationModel: configBoolean.default('true').or(z.literal('default')),\n\tmodelSuffix: z.string().default('Model'),\n\tmodelCase: z.enum(['PascalCase', 'camelCase']).default('PascalCase'),\n\tuseDecimalJs: configBoolean.default('false'),\n\timports: z.string().optional(),\n\tprismaJsonNullability: configBoolean.default('true'),\n})\n\nexport type Config = z.infer\n\nexport type PrismaOptions = {\n\tschemaPath: string\n\toutputPath: string\n\tclientPath: string\n}\n\nexport type Names = {\n\tmodel: string\n\trelated: string\n}\n","import { DMMF } from '@prisma/generator-helper'\nimport type { CodeBlockWriter } from 'ts-morph'\nimport { Config } from './config'\n\nexport const writeArray = (writer: CodeBlockWriter, array: string[], newLine = true) =>\n\tarray.forEach((line) => writer.write(line).conditionalNewLine(newLine))\n\nexport const useModelNames = ({ modelCase, modelSuffix, relationModel }: Config) => {\n\tconst formatModelName = (name: string, prefix = '') => {\n\t\tif (modelCase === 'camelCase') {\n\t\t\tname = name.slice(0, 1).toLowerCase() + name.slice(1)\n\t\t}\n\t\treturn `${prefix}${name}${modelSuffix}`\n\t}\n\n\treturn {\n\t\tmodelName: (name: string) => formatModelName(name, relationModel === 'default' ? '_' : ''),\n\t\trelatedModelName: (name: string | DMMF.SchemaEnum | DMMF.OutputType | DMMF.SchemaArg) =>\n\t\t\tformatModelName(\n\t\t\t\trelationModel === 'default' ? name.toString() : `Related${name.toString()}`\n\t\t\t),\n\t}\n}\n\nexport const needsRelatedModel = (model: DMMF.Model, config: Config) =>\n\tmodel.fields.some((field) => field.kind === 'object') && config.relationModel !== false\n\nexport const chunk = (input: T, size: number): T[] => {\n\treturn input.reduce((arr, item, idx) => {\n\t\treturn idx % size === 0\n\t\t\t? [...arr, [item]]\n\t\t\t: [...arr.slice(0, -1), [...arr.slice(-1)[0], item]]\n\t}, [])\n}\n\nexport const dotSlash = (input: string) => {\n\tconst converted = input\n\t\t.replace(/^\\\\\\\\\\?\\\\/, '')\n\t\t.replace(/\\\\/g, '/')\n\t\t.replace(/\\/\\/+/g, '/')\n\n\tif (converted.includes(`/node_modules/`)) return converted.split(`/node_modules/`).slice(-1)[0]\n\n\tif (converted.startsWith(`../`)) return converted\n\n\treturn './' + converted\n}\n","import { ArrayTree, parse, stringify } from 'parenthesis'\nimport { chunk } from './util'\n\nexport const getJSDocs = (docString?: string) => {\n\tconst lines: string[] = []\n\n\tif (docString) {\n\t\tconst docLines = docString.split('\\n').filter((dL) => !dL.trimStart().startsWith('@zod'))\n\n\t\tif (docLines.length) {\n\t\t\tlines.push('/**')\n\t\t\tdocLines.forEach((dL) => lines.push(` * ${dL}`))\n\t\t\tlines.push(' */')\n\t\t}\n\t}\n\n\treturn lines\n}\n\nexport const getZodDocElements = (docString: string) =>\n\tdocString\n\t\t.split('\\n')\n\t\t.filter((line) => line.trimStart().startsWith('@zod'))\n\t\t.map((line) => line.trimStart().slice(4))\n\t\t.flatMap((line) =>\n\t\t\t// Array.from(line.matchAll(/\\.([^().]+\\(.*?\\))/g), (m) => m.slice(1)).flat()\n\t\t\tchunk(parse(line), 2)\n\t\t\t\t.slice(0, -1)\n\t\t\t\t.map(\n\t\t\t\t\t([each, contents]) =>\n\t\t\t\t\t\t(each as string).replace(/\\)?\\./, '') +\n\t\t\t\t\t\t`${stringify(contents as ArrayTree)})`\n\t\t\t\t)\n\t\t)\n\nexport const computeCustomSchema = (docString: string) => {\n\treturn getZodDocElements(docString)\n\t\t.find((modifier) => modifier.startsWith('custom('))\n\t\t?.slice(7)\n\t\t.slice(0, -1)\n}\n\nexport const computeModifiers = (docString: string) => {\n\treturn getZodDocElements(docString).filter((each) => !each.startsWith('custom('))\n}\n","import type { DMMF } from '@prisma/generator-helper'\nimport { computeCustomSchema, computeModifiers } from './docs'\n\nexport const getZodConstructor = (\n\tfield: DMMF.Field,\n\tgetRelatedModelName = (name: string | DMMF.SchemaEnum | DMMF.OutputType | DMMF.SchemaArg) =>\n\t\tname.toString()\n) => {\n\tlet zodType = 'z.unknown()'\n\tlet extraModifiers: string[] = ['']\n\tif (field.kind === 'scalar') {\n\t\tswitch (field.type) {\n\t\t\tcase 'String':\n\t\t\t\tzodType = 'z.string()'\n\t\t\t\tbreak\n\t\t\tcase 'Int':\n\t\t\t\tzodType = 'z.number()'\n\t\t\t\textraModifiers.push('int()')\n\t\t\t\tbreak\n\t\t\tcase 'BigInt':\n\t\t\t\tzodType = 'z.bigint()'\n\t\t\t\tbreak\n\t\t\tcase 'DateTime':\n\t\t\t\tzodType = 'z.date()'\n\t\t\t\tbreak\n\t\t\tcase 'Float':\n\t\t\t\tzodType = 'z.number()'\n\t\t\t\tbreak\n\t\t\tcase 'Decimal':\n\t\t\t\tzodType = 'z.number()'\n\t\t\t\tbreak\n\t\t\tcase 'Json':\n\t\t\t\tzodType = 'jsonSchema'\n\t\t\t\tbreak\n\t\t\tcase 'Boolean':\n\t\t\t\tzodType = 'z.boolean()'\n\t\t\t\tbreak\n\t\t\t// TODO: Proper type for bytes fields\n\t\t\tcase 'Bytes':\n\t\t\t\tzodType = 'z.unknown()'\n\t\t\t\tbreak\n\t\t}\n\t} else if (field.kind === 'enum') {\n\t\tzodType = `z.nativeEnum(${field.type})`\n\t} else if (field.kind === 'object') {\n\t\tzodType = getRelatedModelName(field.type)\n\t}\n\n\tif (field.isList) extraModifiers.push('array()')\n\tif (field.documentation) {\n\t\tzodType = computeCustomSchema(field.documentation) ?? zodType\n\t\textraModifiers.push(...computeModifiers(field.documentation))\n\t}\n\tif (!field.isRequired && field.type !== 'Json') extraModifiers.push('nullish()')\n\t// if (field.hasDefaultValue) extraModifiers.push('optional()')\n\n\treturn `${zodType}${extraModifiers.join('.')}`\n}\n","import path from 'path'\nimport { DMMF } from '@prisma/generator-helper'\nimport {\n\tImportDeclarationStructure,\n\tSourceFile,\n\tStructureKind,\n\tVariableDeclarationKind,\n} from 'ts-morph'\nimport { Config, PrismaOptions } from './config'\nimport { dotSlash, needsRelatedModel, useModelNames, writeArray } from './util'\nimport { getJSDocs } from './docs'\nimport { getZodConstructor } from './types'\n\nexport const writeImportsForModel = (\n\tmodel: DMMF.Model,\n\tsourceFile: SourceFile,\n\tconfig: Config,\n\t{ schemaPath, outputPath, clientPath }: PrismaOptions\n) => {\n\tconst { relatedModelName } = useModelNames(config)\n\tconst importList: ImportDeclarationStructure[] = [\n\t\t{\n\t\t\tkind: StructureKind.ImportDeclaration,\n\t\t\tnamespaceImport: 'z',\n\t\t\tmoduleSpecifier: 'zod',\n\t\t},\n\t]\n\n\tif (config.imports) {\n\t\timportList.push({\n\t\t\tkind: StructureKind.ImportDeclaration,\n\t\t\tnamespaceImport: 'imports',\n\t\t\tmoduleSpecifier: dotSlash(\n\t\t\t\tpath.relative(outputPath, path.resolve(path.dirname(schemaPath), config.imports))\n\t\t\t),\n\t\t})\n\t}\n\n\tif (config.useDecimalJs && model.fields.some((f) => f.type === 'Decimal')) {\n\t\timportList.push({\n\t\t\tkind: StructureKind.ImportDeclaration,\n\t\t\tnamedImports: ['Decimal'],\n\t\t\tmoduleSpecifier: 'decimal.js',\n\t\t})\n\t}\n\n\tconst enumFields = model.fields.filter((f) => f.kind === 'enum')\n\tconst relationFields = model.fields.filter((f) => f.kind === 'object')\n\tconst relativePath = path.relative(outputPath, clientPath)\n\n\tif (enumFields.length > 0) {\n\t\timportList.push({\n\t\t\tkind: StructureKind.ImportDeclaration,\n\t\t\tisTypeOnly: enumFields.length === 0,\n\t\t\tmoduleSpecifier: dotSlash(relativePath),\n\t\t\tnamedImports: Array.from(new Set(enumFields.map((f) => f.type))),\n\t\t})\n\t}\n\n\tif (config.relationModel !== false && relationFields.length > 0) {\n\t\tconst filteredFields = relationFields.filter((f) => f.type !== model.name)\n\n\t\tif (filteredFields.length > 0) {\n\t\t\timportList.push({\n\t\t\t\tkind: StructureKind.ImportDeclaration,\n\t\t\t\tmoduleSpecifier: './index',\n\t\t\t\tnamedImports: Array.from(\n\t\t\t\t\tnew Set(\n\t\t\t\t\t\tfilteredFields.flatMap((f) => [\n\t\t\t\t\t\t\t`Complete${f.type}`,\n\t\t\t\t\t\t\trelatedModelName(f.type),\n\t\t\t\t\t\t])\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t})\n\t\t}\n\t}\n\n\tsourceFile.addImportDeclarations(importList)\n}\n\nexport const writeTypeSpecificSchemas = (\n\tmodel: DMMF.Model,\n\tsourceFile: SourceFile,\n\tconfig: Config,\n\t_prismaOptions: PrismaOptions\n) => {\n\tif (model.fields.some((f) => f.type === 'Json')) {\n\t\tsourceFile.addStatements((writer) => {\n\t\t\twriter.newLine()\n\t\t\twriteArray(writer, [\n\t\t\t\t'// Helper schema for JSON fields',\n\t\t\t\t`type Literal = boolean | number | string${\n\t\t\t\t\tconfig.prismaJsonNullability ? '' : '| null'\n\t\t\t\t}`,\n\t\t\t\t'type Json = Literal | { [key: string]: Json } | Json[]',\n\t\t\t\t`const literalSchema = z.union([z.string(), z.number(), z.boolean()${\n\t\t\t\t\tconfig.prismaJsonNullability ? '' : ', z.null()'\n\t\t\t\t}])`,\n\t\t\t\t'const jsonSchema: z.ZodSchema = z.lazy(() => z.union([literalSchema, z.array(jsonSchema), z.record(jsonSchema)]))',\n\t\t\t])\n\t\t})\n\t}\n\n\tif (config.useDecimalJs && model.fields.some((f) => f.type === 'Decimal')) {\n\t\tsourceFile.addStatements((writer) => {\n\t\t\twriter.newLine()\n\t\t\twriteArray(writer, [\n\t\t\t\t'// Helper schema for Decimal fields',\n\t\t\t\t'z',\n\t\t\t\t'.instanceof(Decimal)',\n\t\t\t\t'.or(z.string())',\n\t\t\t\t'.or(z.number())',\n\t\t\t\t'.refine((value) => {',\n\t\t\t\t' try {',\n\t\t\t\t' return new Decimal(value);',\n\t\t\t\t' } catch (error) {',\n\t\t\t\t' return false;',\n\t\t\t\t' }',\n\t\t\t\t'})',\n\t\t\t\t'.transform((value) => new Decimal(value));',\n\t\t\t])\n\t\t})\n\t}\n}\n\nexport const generateSchemaForModel = (\n\tmodel: DMMF.Model,\n\tsourceFile: SourceFile,\n\tconfig: Config,\n\t_prismaOptions: PrismaOptions\n) => {\n\tconst { modelName } = useModelNames(config)\n\n\tsourceFile.addVariableStatement({\n\t\tdeclarationKind: VariableDeclarationKind.Const,\n\t\tisExported: true,\n\t\tleadingTrivia: (writer) => writer.blankLineIfLastNot(),\n\t\tdeclarations: [\n\t\t\t{\n\t\t\t\tname: modelName(model.name),\n\t\t\t\tinitializer(writer) {\n\t\t\t\t\twriter\n\t\t\t\t\t\t.write('z.object(')\n\t\t\t\t\t\t.inlineBlock(() => {\n\t\t\t\t\t\t\tmodel.fields\n\t\t\t\t\t\t\t\t.filter((f) => f.kind !== 'object')\n\t\t\t\t\t\t\t\t.forEach((field) => {\n\t\t\t\t\t\t\t\t\twriteArray(writer, getJSDocs(field.documentation))\n\t\t\t\t\t\t\t\t\twriter\n\t\t\t\t\t\t\t\t\t\t.write(`${field.name}: ${getZodConstructor(field)}`)\n\t\t\t\t\t\t\t\t\t\t.write(',')\n\t\t\t\t\t\t\t\t\t\t.newLine()\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.write(')')\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t})\n}\n\nexport const generateRelatedSchemaForModel = (\n\tmodel: DMMF.Model,\n\tsourceFile: SourceFile,\n\tconfig: Config,\n\t_prismaOptions: PrismaOptions\n) => {\n\tconst { modelName, relatedModelName } = useModelNames(config)\n\n\tconst relationFields = model.fields.filter((f) => f.kind === 'object')\n\n\tsourceFile.addInterface({\n\t\tname: `Complete${model.name}`,\n\t\tisExported: true,\n\t\textends: [`z.infer`],\n\t\tproperties: relationFields.map((f) => ({\n\t\t\thasQuestionToken: !f.isRequired,\n\t\t\tname: f.name,\n\t\t\ttype: `Complete${f.type}${f.isList ? '[]' : ''}${!f.isRequired ? ' | null' : ''}`,\n\t\t})),\n\t})\n\n\tsourceFile.addStatements((writer) =>\n\t\twriteArray(writer, [\n\t\t\t'',\n\t\t\t'/**',\n\t\t\t` * ${relatedModelName(\n\t\t\t\tmodel.name\n\t\t\t)} contains all relations on your model in addition to the scalars`,\n\t\t\t' *',\n\t\t\t' * NOTE: Lazy required in case of potential circular dependencies within schema',\n\t\t\t' */',\n\t\t])\n\t)\n\n\tsourceFile.addVariableStatement({\n\t\tdeclarationKind: VariableDeclarationKind.Const,\n\t\tisExported: true,\n\t\tdeclarations: [\n\t\t\t{\n\t\t\t\tname: relatedModelName(model.name),\n\t\t\t\ttype: `z.ZodSchema`,\n\t\t\t\tinitializer(writer) {\n\t\t\t\t\twriter\n\t\t\t\t\t\t.write(`z.lazy(() => ${modelName(model.name)}.extend(`)\n\t\t\t\t\t\t.inlineBlock(() => {\n\t\t\t\t\t\t\trelationFields.forEach((field) => {\n\t\t\t\t\t\t\t\twriteArray(writer, getJSDocs(field.documentation))\n\n\t\t\t\t\t\t\t\twriter\n\t\t\t\t\t\t\t\t\t.write(\n\t\t\t\t\t\t\t\t\t\t`${field.name}: ${getZodConstructor(\n\t\t\t\t\t\t\t\t\t\t\tfield,\n\t\t\t\t\t\t\t\t\t\t\trelatedModelName\n\t\t\t\t\t\t\t\t\t\t)}`\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t.write(',')\n\t\t\t\t\t\t\t\t\t.newLine()\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.write('))')\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t})\n}\n\nexport const populateModelFile = (\n\tmodel: DMMF.Model,\n\tsourceFile: SourceFile,\n\tconfig: Config,\n\tprismaOptions: PrismaOptions\n) => {\n\twriteImportsForModel(model, sourceFile, config, prismaOptions)\n\twriteTypeSpecificSchemas(model, sourceFile, config, prismaOptions)\n\tgenerateSchemaForModel(model, sourceFile, config, prismaOptions)\n\tif (needsRelatedModel(model, config))\n\t\tgenerateRelatedSchemaForModel(model, sourceFile, config, prismaOptions)\n}\n\nexport const generateBarrelFile = (models: DMMF.Model[], indexFile: SourceFile) => {\n\tmodels.forEach((model) =>\n\t\tindexFile.addExportDeclaration({\n\t\t\tmoduleSpecifier: `./${model.name.toLowerCase()}`,\n\t\t})\n\t)\n}\n","// @ts-ignore Importing package.json for automated synchronization of version numbers\nimport { version } from '../package.json'\n\nimport { generatorHandler } from '@prisma/generator-helper'\nimport { SemicolonPreference } from 'typescript'\nimport { configSchema, PrismaOptions } from './config'\nimport { populateModelFile, generateBarrelFile } from './generator'\nimport { Project } from 'ts-morph'\n\ngeneratorHandler({\n\tonManifest() {\n\t\treturn {\n\t\t\tversion,\n\t\t\tprettyName: 'Zod Schemas',\n\t\t\tdefaultOutput: 'zod',\n\t\t}\n\t},\n\tonGenerate(options) {\n\t\tconst project = new Project()\n\n\t\tconst models = options.dmmf.datamodel.models\n\n\t\tconst { schemaPath } = options\n\t\tconst outputPath = options.generator.output!.value\n\t\tconst clientPath = options.otherGenerators.find(\n\t\t\t(each) => each.provider.value === 'prisma-client-js'\n\t\t)!.output!.value!\n\n\t\tconst results = configSchema.safeParse(options.generator.config)\n\t\tif (!results.success)\n\t\t\tthrow new Error(\n\t\t\t\t'Incorrect config provided. Please check the values you provided and try again.'\n\t\t\t)\n\n\t\tconst config = results.data\n\t\tconst prismaOptions: PrismaOptions = {\n\t\t\tclientPath,\n\t\t\toutputPath,\n\t\t\tschemaPath,\n\t\t}\n\n\t\tconst indexFile = project.createSourceFile(\n\t\t\t`${outputPath}/index.ts`,\n\t\t\t{},\n\t\t\t{ overwrite: true }\n\t\t)\n\n\t\tgenerateBarrelFile(models, indexFile)\n\n\t\tindexFile.formatText({\n\t\t\tindentSize: 2,\n\t\t\tconvertTabsToSpaces: true,\n\t\t\tsemicolons: SemicolonPreference.Remove,\n\t\t})\n\n\t\tmodels.forEach((model) => {\n\t\t\tconst sourceFile = project.createSourceFile(\n\t\t\t\t`${outputPath}/${model.name.toLowerCase()}.ts`,\n\t\t\t\t{},\n\t\t\t\t{ overwrite: true }\n\t\t\t)\n\n\t\t\tpopulateModelFile(model, sourceFile, config, prismaOptions)\n\n\t\t\tsourceFile.formatText({\n\t\t\t\tindentSize: 2,\n\t\t\t\tconvertTabsToSpaces: true,\n\t\t\t\tsemicolons: SemicolonPreference.Remove,\n\t\t\t})\n\t\t})\n\n\t\treturn project.save()\n\t},\n})\n"],"names":["configBoolean","z","enum","transform","arg","JSON","parse","configSchema","object","relationModel","default","or","literal","modelSuffix","string","modelCase","useDecimalJs","imports","optional","prismaJsonNullability","writeArray","writer","array","newLine","forEach","line","write","conditionalNewLine","useModelNames","formatModelName","name","prefix","slice","toLowerCase","modelName","relatedModelName","toString","needsRelatedModel","model","config","fields","some","field","kind","chunk","input","size","reduce","arr","item","idx","dotSlash","converted","replace","includes","split","startsWith","getJSDocs","docString","lines","docLines","filter","dL","trimStart","length","push","getZodDocElements","map","flatMap","each","contents","stringify","computeCustomSchema","find","modifier","computeModifiers","getZodConstructor","getRelatedModelName","zodType","extraModifiers","type","isList","documentation","isRequired","join","writeImportsForModel","sourceFile","schemaPath","outputPath","clientPath","importList","StructureKind","ImportDeclaration","namespaceImport","moduleSpecifier","path","relative","resolve","dirname","f","namedImports","enumFields","relationFields","relativePath","isTypeOnly","Array","from","Set","filteredFields","addImportDeclarations","writeTypeSpecificSchemas","_prismaOptions","addStatements","generateSchemaForModel","addVariableStatement","declarationKind","VariableDeclarationKind","Const","isExported","leadingTrivia","blankLineIfLastNot","declarations","initializer","inlineBlock","generateRelatedSchemaForModel","addInterface","extends","properties","hasQuestionToken","populateModelFile","prismaOptions","generateBarrelFile","models","indexFile","addExportDeclaration","generatorHandler","onManifest","version","prettyName","defaultOutput","onGenerate","options","project","Project","dmmf","datamodel","generator","output","value","otherGenerators","provider","results","safeParse","success","Error","data","createSourceFile","overwrite","formatText","indentSize","convertTabsToSpaces","semicolons","SemicolonPreference","Remove","save"],"mappings":"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"} -\ No newline at end of file -diff --git a/dist/zod-prisma.cjs.production.min.js b/dist/zod-prisma.cjs.production.min.js -index 9720e85802156e5765b0cc277a5c3dbed9b5a2e8..3d1fd4af5c3edd1dbf88cb9b8b70f78b999cb414 100644 ---- a/dist/zod-prisma.cjs.production.min.js -+++ b/dist/zod-prisma.cjs.production.min.js -@@ -1,2 +1,2 @@ --"use strict";var e=require("@prisma/generator-helper"),t=require("typescript"),a=require("zod"),r=require("path"),i=require("ts-morph"),n=require("parenthesis");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=o(r);const s=a.z.enum(["true","false"]).transform((e=>JSON.parse(e))),c=a.z.object({relationModel:s.default("true").or(a.z.literal("default")),modelSuffix:a.z.string().default("Model"),modelCase:a.z.enum(["PascalCase","camelCase"]).default("PascalCase"),useDecimalJs:s.default("false"),imports:a.z.string().optional(),prismaJsonNullability:s.default("true")}),d=(e,t,a=!0)=>t.forEach((t=>e.write(t).conditionalNewLine(a))),m=({modelCase:e,modelSuffix:t,relationModel:a})=>{const r=(a,r="")=>("camelCase"===e&&(a=a.slice(0,1).toLowerCase()+a.slice(1)),`${r}${a}${t}`);return{modelName:e=>r(e,"default"===a?"_":""),relatedModelName:e=>r("default"===a?e.toString():`Related${e.toString()}`)}},u=e=>{const t=e.replace(/^\\\\\?\\/,"").replace(/\\/g,"/").replace(/\/\/+/g,"/");return t.includes("/node_modules/")?t.split("/node_modules/").slice(-1)[0]:t.startsWith("../")?t:"./"+t},p=e=>{const t=[];if(e){const a=e.split("\n").filter((e=>!e.trimStart().startsWith("@zod")));a.length&&(t.push("/**"),a.forEach((e=>t.push(` * ${e}`))),t.push(" */"))}return t},f=e=>e.split("\n").filter((e=>e.trimStart().startsWith("@zod"))).map((e=>e.trimStart().slice(4))).flatMap((e=>{return(t=n.parse(e),t.reduce(((e,t,a)=>a%2==0?[...e,[t]]:[...e.slice(0,-1),[...e.slice(-1)[0],t]]),[])).slice(0,-1).map((([e,t])=>e.replace(/\)?\./,"")+`${n.stringify(t)})`));var t})),h=(e,t=(e=>e.toString()))=>{let a="z.unknown()",r=[""];if("scalar"===e.kind)switch(e.type){case"String":a="z.string()";break;case"Int":a="z.number()",r.push("int()");break;case"BigInt":a="z.bigint()";break;case"DateTime":a="z.date()";break;case"Float":case"Decimal":a="z.number()";break;case"Json":a="jsonSchema";break;case"Boolean":a="z.boolean()";break;case"Bytes":a="z.unknown()"}else"enum"===e.kind?a=`z.nativeEnum(${e.type})`:"object"===e.kind&&(a=t(e.type));var i,n,o;return e.isList&&r.push("array()"),e.documentation&&(a=null!=(i=null==(n=f(e.documentation).find((e=>e.startsWith("custom("))))?void 0:n.slice(7).slice(0,-1))?i:a,r.push(...(o=e.documentation,f(o).filter((e=>!e.startsWith("custom(")))))),e.isRequired||"Json"===e.type||r.push("nullish()"),`${a}${r.join(".")}`};e.generatorHandler({onManifest:()=>({version:"0.5.4",prettyName:"Zod Schemas",defaultOutput:"zod"}),onGenerate(e){const a=new i.Project,r=e.dmmf.datamodel.models,{schemaPath:n}=e,o=e.generator.output.value,s=e.otherGenerators.find((e=>"prisma-client-js"===e.provider.value)).output.value,f=c.safeParse(e.generator.config);if(!f.success)throw new Error("Incorrect config provided. Please check the values you provided and try again.");const z=f.data,S={clientPath:s,outputPath:o,schemaPath:n},y=a.createSourceFile(`${o}/index.ts`,{},{overwrite:!0});return((e,t)=>{e.forEach((e=>t.addExportDeclaration({moduleSpecifier:`./${e.name.toLowerCase()}`})))})(r,y),y.formatText({indentSize:2,convertTabsToSpaces:!0,semicolons:t.SemicolonPreference.Remove}),r.forEach((e=>{const r=a.createSourceFile(`${o}/${e.name.toLowerCase()}.ts`,{},{overwrite:!0});((e,t,a,r)=>{((e,t,a,{schemaPath:r,outputPath:n,clientPath:o})=>{const{relatedModelName:s}=m(a),c=[{kind:i.StructureKind.ImportDeclaration,namespaceImport:"z",moduleSpecifier:"zod"}];a.imports&&c.push({kind:i.StructureKind.ImportDeclaration,namespaceImport:"imports",moduleSpecifier:u(l.default.relative(n,l.default.resolve(l.default.dirname(r),a.imports)))}),a.useDecimalJs&&e.fields.some((e=>"Decimal"===e.type))&&c.push({kind:i.StructureKind.ImportDeclaration,namedImports:["Decimal"],moduleSpecifier:"decimal.js"});const d=e.fields.filter((e=>"enum"===e.kind)),p=e.fields.filter((e=>"object"===e.kind)),f=l.default.relative(n,o);if(d.length>0&&c.push({kind:i.StructureKind.ImportDeclaration,isTypeOnly:0===d.length,moduleSpecifier:u(f),namedImports:d.map((e=>e.type))}),!1!==a.relationModel&&p.length>0){const t=p.filter((t=>t.type!==e.name));t.length>0&&c.push({kind:i.StructureKind.ImportDeclaration,moduleSpecifier:"./index",namedImports:Array.from(new Set(t.flatMap((e=>[`Complete${e.type}`,s(e.type)]))))})}t.addImportDeclarations(c)})(e,t,a,r),((e,t,a,r)=>{e.fields.some((e=>"Json"===e.type))&&t.addStatements((e=>{e.newLine(),d(e,["// Helper schema for JSON fields","type Literal = boolean | number | string"+(a.prismaJsonNullability?"":"| null"),"type Json = Literal | { [key: string]: Json } | Json[]",`const literalSchema = z.union([z.string(), z.number(), z.boolean()${a.prismaJsonNullability?"":", z.null()"}])`,"const jsonSchema: z.ZodSchema = z.lazy(() => z.union([literalSchema, z.array(jsonSchema), z.record(jsonSchema)]))"])})),a.useDecimalJs&&e.fields.some((e=>"Decimal"===e.type))&&t.addStatements((e=>{e.newLine(),d(e,["// Helper schema for Decimal fields","z",".instanceof(Decimal)",".or(z.string())",".or(z.number())",".refine((value) => {"," try {"," return new Decimal(value);"," } catch (error) {"," return false;"," }","})",".transform((value) => new Decimal(value));"])}))})(e,t,a),((e,t,a,r)=>{const{modelName:n}=m(a);t.addVariableStatement({declarationKind:i.VariableDeclarationKind.Const,isExported:!0,leadingTrivia:e=>e.blankLineIfLastNot(),declarations:[{name:n(e.name),initializer(t){t.write("z.object(").inlineBlock((()=>{e.fields.filter((e=>"object"!==e.kind)).forEach((e=>{d(t,p(e.documentation)),t.write(`${e.name}: ${h(e)}`).write(",").newLine()}))})).write(")")}}]})})(e,t,a),((e,t)=>e.fields.some((e=>"object"===e.kind))&&!1!==t.relationModel)(e,a)&&((e,t,a,r)=>{const{modelName:n,relatedModelName:o}=m(a),l=e.fields.filter((e=>"object"===e.kind));t.addInterface({name:`Complete${e.name}`,isExported:!0,extends:[`z.infer`],properties:l.map((e=>({hasQuestionToken:!e.isRequired,name:e.name,type:`Complete${e.type}${e.isList?"[]":""}${e.isRequired?"":" | null"}`})))}),t.addStatements((t=>d(t,["","/**",` * ${o(e.name)} contains all relations on your model in addition to the scalars`," *"," * NOTE: Lazy required in case of potential circular dependencies within schema"," */"]))),t.addVariableStatement({declarationKind:i.VariableDeclarationKind.Const,isExported:!0,declarations:[{name:o(e.name),type:`z.ZodSchema`,initializer(t){t.write(`z.lazy(() => ${n(e.name)}.extend(`).inlineBlock((()=>{l.forEach((e=>{d(t,p(e.documentation)),t.write(`${e.name}: ${h(e,o)}`).write(",").newLine()}))})).write("))")}}]})})(e,t,a)})(e,r,z,S),r.formatText({indentSize:2,convertTabsToSpaces:!0,semicolons:t.SemicolonPreference.Remove})})),a.save()}}); -+"use strict";var e=require("@prisma/generator-helper"),t=require("typescript"),a=require("zod"),r=require("path"),i=require("ts-morph"),n=require("parenthesis");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=o(r);const s=a.z.enum(["true","false"]).transform((e=>JSON.parse(e))),c=a.z.object({relationModel:s.default("true").or(a.z.literal("default")),modelSuffix:a.z.string().default("Model"),modelCase:a.z.enum(["PascalCase","camelCase"]).default("PascalCase"),useDecimalJs:s.default("false"),imports:a.z.string().optional(),prismaJsonNullability:s.default("true")}),d=(e,t,a=!0)=>t.forEach((t=>e.write(t).conditionalNewLine(a))),m=({modelCase:e,modelSuffix:t,relationModel:a})=>{const r=(a,r="")=>("camelCase"===e&&(a=a.slice(0,1).toLowerCase()+a.slice(1)),`${r}${a}${t}`);return{modelName:e=>r(e,"default"===a?"_":""),relatedModelName:e=>r("default"===a?e.toString():`Related${e.toString()}`)}},u=e=>{const t=e.replace(/^\\\\\?\\/,"").replace(/\\/g,"/").replace(/\/\/+/g,"/");return t.includes("/node_modules/")?t.split("/node_modules/").slice(-1)[0]:t.startsWith("../")?t:"./"+t},p=e=>{const t=[];if(e){const a=e.split("\n").filter((e=>!e.trimStart().startsWith("@zod")));a.length&&(t.push("/**"),a.forEach((e=>t.push(` * ${e}`))),t.push(" */"))}return t},f=e=>e.split("\n").filter((e=>e.trimStart().startsWith("@zod"))).map((e=>e.trimStart().slice(4))).flatMap((e=>{return(t=n.parse(e),t.reduce(((e,t,a)=>a%2==0?[...e,[t]]:[...e.slice(0,-1),[...e.slice(-1)[0],t]]),[])).slice(0,-1).map((([e,t])=>e.replace(/\)?\./,"")+`${n.stringify(t)})`));var t})),h=(e,t=(e=>e.toString()))=>{let a="z.unknown()",r=[""];if("scalar"===e.kind)switch(e.type){case"String":a="z.string()";break;case"Int":a="z.number()",r.push("int()");break;case"BigInt":a="z.bigint()";break;case"DateTime":a="z.date()";break;case"Float":case"Decimal":a="z.number()";break;case"Json":a="jsonSchema";break;case"Boolean":a="z.boolean()";break;case"Bytes":a="z.unknown()"}else"enum"===e.kind?a=`z.nativeEnum(${e.type})`:"object"===e.kind&&(a=t(e.type));var i,n,o;return e.isList&&r.push("array()"),e.documentation&&(a=null!=(i=null==(n=f(e.documentation).find((e=>e.startsWith("custom("))))?void 0:n.slice(7).slice(0,-1))?i:a,r.push(...(o=e.documentation,f(o).filter((e=>!e.startsWith("custom(")))))),e.isRequired||"Json"===e.type||r.push("nullish()"),`${a}${r.join(".")}`};e.generatorHandler({onManifest:()=>({version:"0.5.4",prettyName:"Zod Schemas",defaultOutput:"zod"}),onGenerate(e){const a=new i.Project,r=e.dmmf.datamodel.models,{schemaPath:n}=e,o=e.generator.output.value,s=e.otherGenerators.find((e=>"prisma-client-js"===e.provider.value)).output.value,f=c.safeParse(e.generator.config);if(!f.success)throw new Error("Incorrect config provided. Please check the values you provided and try again.");const S=f.data,z={clientPath:s,outputPath:o,schemaPath:n},y=a.createSourceFile(`${o}/index.ts`,{},{overwrite:!0});return((e,t)=>{e.forEach((e=>t.addExportDeclaration({moduleSpecifier:`./${e.name.toLowerCase()}`})))})(r,y),y.formatText({indentSize:2,convertTabsToSpaces:!0,semicolons:t.SemicolonPreference.Remove}),r.forEach((e=>{const r=a.createSourceFile(`${o}/${e.name.toLowerCase()}.ts`,{},{overwrite:!0});((e,t,a,r)=>{((e,t,a,{schemaPath:r,outputPath:n,clientPath:o})=>{const{relatedModelName:s}=m(a),c=[{kind:i.StructureKind.ImportDeclaration,namespaceImport:"z",moduleSpecifier:"zod"}];a.imports&&c.push({kind:i.StructureKind.ImportDeclaration,namespaceImport:"imports",moduleSpecifier:u(l.default.relative(n,l.default.resolve(l.default.dirname(r),a.imports)))}),a.useDecimalJs&&e.fields.some((e=>"Decimal"===e.type))&&c.push({kind:i.StructureKind.ImportDeclaration,namedImports:["Decimal"],moduleSpecifier:"decimal.js"});const d=e.fields.filter((e=>"enum"===e.kind)),p=e.fields.filter((e=>"object"===e.kind)),f=l.default.relative(n,o);if(d.length>0&&c.push({kind:i.StructureKind.ImportDeclaration,isTypeOnly:0===d.length,moduleSpecifier:u(f),namedImports:Array.from(new Set(d.map((e=>e.type))))}),!1!==a.relationModel&&p.length>0){const t=p.filter((t=>t.type!==e.name));t.length>0&&c.push({kind:i.StructureKind.ImportDeclaration,moduleSpecifier:"./index",namedImports:Array.from(new Set(t.flatMap((e=>[`Complete${e.type}`,s(e.type)]))))})}t.addImportDeclarations(c)})(e,t,a,r),((e,t,a,r)=>{e.fields.some((e=>"Json"===e.type))&&t.addStatements((e=>{e.newLine(),d(e,["// Helper schema for JSON fields","type Literal = boolean | number | string"+(a.prismaJsonNullability?"":"| null"),"type Json = Literal | { [key: string]: Json } | Json[]",`const literalSchema = z.union([z.string(), z.number(), z.boolean()${a.prismaJsonNullability?"":", z.null()"}])`,"const jsonSchema: z.ZodSchema = z.lazy(() => z.union([literalSchema, z.array(jsonSchema), z.record(jsonSchema)]))"])})),a.useDecimalJs&&e.fields.some((e=>"Decimal"===e.type))&&t.addStatements((e=>{e.newLine(),d(e,["// Helper schema for Decimal fields","z",".instanceof(Decimal)",".or(z.string())",".or(z.number())",".refine((value) => {"," try {"," return new Decimal(value);"," } catch (error) {"," return false;"," }","})",".transform((value) => new Decimal(value));"])}))})(e,t,a),((e,t,a,r)=>{const{modelName:n}=m(a);t.addVariableStatement({declarationKind:i.VariableDeclarationKind.Const,isExported:!0,leadingTrivia:e=>e.blankLineIfLastNot(),declarations:[{name:n(e.name),initializer(t){t.write("z.object(").inlineBlock((()=>{e.fields.filter((e=>"object"!==e.kind)).forEach((e=>{d(t,p(e.documentation)),t.write(`${e.name}: ${h(e)}`).write(",").newLine()}))})).write(")")}}]})})(e,t,a),((e,t)=>e.fields.some((e=>"object"===e.kind))&&!1!==t.relationModel)(e,a)&&((e,t,a,r)=>{const{modelName:n,relatedModelName:o}=m(a),l=e.fields.filter((e=>"object"===e.kind));t.addInterface({name:`Complete${e.name}`,isExported:!0,extends:[`z.infer`],properties:l.map((e=>({hasQuestionToken:!e.isRequired,name:e.name,type:`Complete${e.type}${e.isList?"[]":""}${e.isRequired?"":" | null"}`})))}),t.addStatements((t=>d(t,["","/**",` * ${o(e.name)} contains all relations on your model in addition to the scalars`," *"," * NOTE: Lazy required in case of potential circular dependencies within schema"," */"]))),t.addVariableStatement({declarationKind:i.VariableDeclarationKind.Const,isExported:!0,declarations:[{name:o(e.name),type:`z.ZodSchema`,initializer(t){t.write(`z.lazy(() => ${n(e.name)}.extend(`).inlineBlock((()=>{l.forEach((e=>{d(t,p(e.documentation)),t.write(`${e.name}: ${h(e,o)}`).write(",").newLine()}))})).write("))")}}]})})(e,t,a)})(e,r,S,z),r.formatText({indentSize:2,convertTabsToSpaces:!0,semicolons:t.SemicolonPreference.Remove})})),a.save()}}); - //# sourceMappingURL=zod-prisma.cjs.production.min.js.map -diff --git a/dist/zod-prisma.cjs.production.min.js.map b/dist/zod-prisma.cjs.production.min.js.map -index 10501876bc9965c211638dcf21e3fdecad472a49..3b17a8e1377da1df5fbe6d9d7207e549b3593f99 100644 ---- a/dist/zod-prisma.cjs.production.min.js.map -+++ b/dist/zod-prisma.cjs.production.min.js.map -@@ -1 +1 @@ --{"version":3,"file":"zod-prisma.cjs.production.min.js","sources":["../src/config.ts","../src/util.ts","../src/docs.ts","../src/types.ts","../src/index.ts","../src/generator.ts"],"sourcesContent":["import { z } from 'zod'\n\nconst configBoolean = z.enum(['true', 'false']).transform((arg) => JSON.parse(arg))\n\nexport const configSchema = z.object({\n\trelationModel: configBoolean.default('true').or(z.literal('default')),\n\tmodelSuffix: z.string().default('Model'),\n\tmodelCase: z.enum(['PascalCase', 'camelCase']).default('PascalCase'),\n\tuseDecimalJs: configBoolean.default('false'),\n\timports: z.string().optional(),\n\tprismaJsonNullability: configBoolean.default('true'),\n})\n\nexport type Config = z.infer\n\nexport type PrismaOptions = {\n\tschemaPath: string\n\toutputPath: string\n\tclientPath: string\n}\n\nexport type Names = {\n\tmodel: string\n\trelated: string\n}\n","import { DMMF } from '@prisma/generator-helper'\nimport type { CodeBlockWriter } from 'ts-morph'\nimport { Config } from './config'\n\nexport const writeArray = (writer: CodeBlockWriter, array: string[], newLine = true) =>\n\tarray.forEach((line) => writer.write(line).conditionalNewLine(newLine))\n\nexport const useModelNames = ({ modelCase, modelSuffix, relationModel }: Config) => {\n\tconst formatModelName = (name: string, prefix = '') => {\n\t\tif (modelCase === 'camelCase') {\n\t\t\tname = name.slice(0, 1).toLowerCase() + name.slice(1)\n\t\t}\n\t\treturn `${prefix}${name}${modelSuffix}`\n\t}\n\n\treturn {\n\t\tmodelName: (name: string) => formatModelName(name, relationModel === 'default' ? '_' : ''),\n\t\trelatedModelName: (name: string | DMMF.SchemaEnum | DMMF.OutputType | DMMF.SchemaArg) =>\n\t\t\tformatModelName(\n\t\t\t\trelationModel === 'default' ? name.toString() : `Related${name.toString()}`\n\t\t\t),\n\t}\n}\n\nexport const needsRelatedModel = (model: DMMF.Model, config: Config) =>\n\tmodel.fields.some((field) => field.kind === 'object') && config.relationModel !== false\n\nexport const chunk = (input: T, size: number): T[] => {\n\treturn input.reduce((arr, item, idx) => {\n\t\treturn idx % size === 0\n\t\t\t? [...arr, [item]]\n\t\t\t: [...arr.slice(0, -1), [...arr.slice(-1)[0], item]]\n\t}, [])\n}\n\nexport const dotSlash = (input: string) => {\n\tconst converted = input\n\t\t.replace(/^\\\\\\\\\\?\\\\/, '')\n\t\t.replace(/\\\\/g, '/')\n\t\t.replace(/\\/\\/+/g, '/')\n\n\tif (converted.includes(`/node_modules/`)) return converted.split(`/node_modules/`).slice(-1)[0]\n\n\tif (converted.startsWith(`../`)) return converted\n\n\treturn './' + converted\n}\n","import { ArrayTree, parse, stringify } from 'parenthesis'\nimport { chunk } from './util'\n\nexport const getJSDocs = (docString?: string) => {\n\tconst lines: string[] = []\n\n\tif (docString) {\n\t\tconst docLines = docString.split('\\n').filter((dL) => !dL.trimStart().startsWith('@zod'))\n\n\t\tif (docLines.length) {\n\t\t\tlines.push('/**')\n\t\t\tdocLines.forEach((dL) => lines.push(` * ${dL}`))\n\t\t\tlines.push(' */')\n\t\t}\n\t}\n\n\treturn lines\n}\n\nexport const getZodDocElements = (docString: string) =>\n\tdocString\n\t\t.split('\\n')\n\t\t.filter((line) => line.trimStart().startsWith('@zod'))\n\t\t.map((line) => line.trimStart().slice(4))\n\t\t.flatMap((line) =>\n\t\t\t// Array.from(line.matchAll(/\\.([^().]+\\(.*?\\))/g), (m) => m.slice(1)).flat()\n\t\t\tchunk(parse(line), 2)\n\t\t\t\t.slice(0, -1)\n\t\t\t\t.map(\n\t\t\t\t\t([each, contents]) =>\n\t\t\t\t\t\t(each as string).replace(/\\)?\\./, '') +\n\t\t\t\t\t\t`${stringify(contents as ArrayTree)})`\n\t\t\t\t)\n\t\t)\n\nexport const computeCustomSchema = (docString: string) => {\n\treturn getZodDocElements(docString)\n\t\t.find((modifier) => modifier.startsWith('custom('))\n\t\t?.slice(7)\n\t\t.slice(0, -1)\n}\n\nexport const computeModifiers = (docString: string) => {\n\treturn getZodDocElements(docString).filter((each) => !each.startsWith('custom('))\n}\n","import type { DMMF } from '@prisma/generator-helper'\nimport { computeCustomSchema, computeModifiers } from './docs'\n\nexport const getZodConstructor = (\n\tfield: DMMF.Field,\n\tgetRelatedModelName = (name: string | DMMF.SchemaEnum | DMMF.OutputType | DMMF.SchemaArg) =>\n\t\tname.toString()\n) => {\n\tlet zodType = 'z.unknown()'\n\tlet extraModifiers: string[] = ['']\n\tif (field.kind === 'scalar') {\n\t\tswitch (field.type) {\n\t\t\tcase 'String':\n\t\t\t\tzodType = 'z.string()'\n\t\t\t\tbreak\n\t\t\tcase 'Int':\n\t\t\t\tzodType = 'z.number()'\n\t\t\t\textraModifiers.push('int()')\n\t\t\t\tbreak\n\t\t\tcase 'BigInt':\n\t\t\t\tzodType = 'z.bigint()'\n\t\t\t\tbreak\n\t\t\tcase 'DateTime':\n\t\t\t\tzodType = 'z.date()'\n\t\t\t\tbreak\n\t\t\tcase 'Float':\n\t\t\t\tzodType = 'z.number()'\n\t\t\t\tbreak\n\t\t\tcase 'Decimal':\n\t\t\t\tzodType = 'z.number()'\n\t\t\t\tbreak\n\t\t\tcase 'Json':\n\t\t\t\tzodType = 'jsonSchema'\n\t\t\t\tbreak\n\t\t\tcase 'Boolean':\n\t\t\t\tzodType = 'z.boolean()'\n\t\t\t\tbreak\n\t\t\t// TODO: Proper type for bytes fields\n\t\t\tcase 'Bytes':\n\t\t\t\tzodType = 'z.unknown()'\n\t\t\t\tbreak\n\t\t}\n\t} else if (field.kind === 'enum') {\n\t\tzodType = `z.nativeEnum(${field.type})`\n\t} else if (field.kind === 'object') {\n\t\tzodType = getRelatedModelName(field.type)\n\t}\n\n\tif (field.isList) extraModifiers.push('array()')\n\tif (field.documentation) {\n\t\tzodType = computeCustomSchema(field.documentation) ?? zodType\n\t\textraModifiers.push(...computeModifiers(field.documentation))\n\t}\n\tif (!field.isRequired && field.type !== 'Json') extraModifiers.push('nullish()')\n\t// if (field.hasDefaultValue) extraModifiers.push('optional()')\n\n\treturn `${zodType}${extraModifiers.join('.')}`\n}\n","// @ts-ignore Importing package.json for automated synchronization of version numbers\nimport { version } from '../package.json'\n\nimport { generatorHandler } from '@prisma/generator-helper'\nimport { SemicolonPreference } from 'typescript'\nimport { configSchema, PrismaOptions } from './config'\nimport { populateModelFile, generateBarrelFile } from './generator'\nimport { Project } from 'ts-morph'\n\ngeneratorHandler({\n\tonManifest() {\n\t\treturn {\n\t\t\tversion,\n\t\t\tprettyName: 'Zod Schemas',\n\t\t\tdefaultOutput: 'zod',\n\t\t}\n\t},\n\tonGenerate(options) {\n\t\tconst project = new Project()\n\n\t\tconst models = options.dmmf.datamodel.models\n\n\t\tconst { schemaPath } = options\n\t\tconst outputPath = options.generator.output!.value\n\t\tconst clientPath = options.otherGenerators.find(\n\t\t\t(each) => each.provider.value === 'prisma-client-js'\n\t\t)!.output!.value!\n\n\t\tconst results = configSchema.safeParse(options.generator.config)\n\t\tif (!results.success)\n\t\t\tthrow new Error(\n\t\t\t\t'Incorrect config provided. Please check the values you provided and try again.'\n\t\t\t)\n\n\t\tconst config = results.data\n\t\tconst prismaOptions: PrismaOptions = {\n\t\t\tclientPath,\n\t\t\toutputPath,\n\t\t\tschemaPath,\n\t\t}\n\n\t\tconst indexFile = project.createSourceFile(\n\t\t\t`${outputPath}/index.ts`,\n\t\t\t{},\n\t\t\t{ overwrite: true }\n\t\t)\n\n\t\tgenerateBarrelFile(models, indexFile)\n\n\t\tindexFile.formatText({\n\t\t\tindentSize: 2,\n\t\t\tconvertTabsToSpaces: true,\n\t\t\tsemicolons: SemicolonPreference.Remove,\n\t\t})\n\n\t\tmodels.forEach((model) => {\n\t\t\tconst sourceFile = project.createSourceFile(\n\t\t\t\t`${outputPath}/${model.name.toLowerCase()}.ts`,\n\t\t\t\t{},\n\t\t\t\t{ overwrite: true }\n\t\t\t)\n\n\t\t\tpopulateModelFile(model, sourceFile, config, prismaOptions)\n\n\t\t\tsourceFile.formatText({\n\t\t\t\tindentSize: 2,\n\t\t\t\tconvertTabsToSpaces: true,\n\t\t\t\tsemicolons: SemicolonPreference.Remove,\n\t\t\t})\n\t\t})\n\n\t\treturn project.save()\n\t},\n})\n","import path from 'path'\nimport { DMMF } from '@prisma/generator-helper'\nimport {\n\tImportDeclarationStructure,\n\tSourceFile,\n\tStructureKind,\n\tVariableDeclarationKind,\n} from 'ts-morph'\nimport { Config, PrismaOptions } from './config'\nimport { dotSlash, needsRelatedModel, useModelNames, writeArray } from './util'\nimport { getJSDocs } from './docs'\nimport { getZodConstructor } from './types'\n\nexport const writeImportsForModel = (\n\tmodel: DMMF.Model,\n\tsourceFile: SourceFile,\n\tconfig: Config,\n\t{ schemaPath, outputPath, clientPath }: PrismaOptions\n) => {\n\tconst { relatedModelName } = useModelNames(config)\n\tconst importList: ImportDeclarationStructure[] = [\n\t\t{\n\t\t\tkind: StructureKind.ImportDeclaration,\n\t\t\tnamespaceImport: 'z',\n\t\t\tmoduleSpecifier: 'zod',\n\t\t},\n\t]\n\n\tif (config.imports) {\n\t\timportList.push({\n\t\t\tkind: StructureKind.ImportDeclaration,\n\t\t\tnamespaceImport: 'imports',\n\t\t\tmoduleSpecifier: dotSlash(\n\t\t\t\tpath.relative(outputPath, path.resolve(path.dirname(schemaPath), config.imports))\n\t\t\t),\n\t\t})\n\t}\n\n\tif (config.useDecimalJs && model.fields.some((f) => f.type === 'Decimal')) {\n\t\timportList.push({\n\t\t\tkind: StructureKind.ImportDeclaration,\n\t\t\tnamedImports: ['Decimal'],\n\t\t\tmoduleSpecifier: 'decimal.js',\n\t\t})\n\t}\n\n\tconst enumFields = model.fields.filter((f) => f.kind === 'enum')\n\tconst relationFields = model.fields.filter((f) => f.kind === 'object')\n\tconst relativePath = path.relative(outputPath, clientPath)\n\n\tif (enumFields.length > 0) {\n\t\timportList.push({\n\t\t\tkind: StructureKind.ImportDeclaration,\n\t\t\tisTypeOnly: enumFields.length === 0,\n\t\t\tmoduleSpecifier: dotSlash(relativePath),\n\t\t\tnamedImports: enumFields.map((f) => f.type),\n\t\t})\n\t}\n\n\tif (config.relationModel !== false && relationFields.length > 0) {\n\t\tconst filteredFields = relationFields.filter((f) => f.type !== model.name)\n\n\t\tif (filteredFields.length > 0) {\n\t\t\timportList.push({\n\t\t\t\tkind: StructureKind.ImportDeclaration,\n\t\t\t\tmoduleSpecifier: './index',\n\t\t\t\tnamedImports: Array.from(\n\t\t\t\t\tnew Set(\n\t\t\t\t\t\tfilteredFields.flatMap((f) => [\n\t\t\t\t\t\t\t`Complete${f.type}`,\n\t\t\t\t\t\t\trelatedModelName(f.type),\n\t\t\t\t\t\t])\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t})\n\t\t}\n\t}\n\n\tsourceFile.addImportDeclarations(importList)\n}\n\nexport const writeTypeSpecificSchemas = (\n\tmodel: DMMF.Model,\n\tsourceFile: SourceFile,\n\tconfig: Config,\n\t_prismaOptions: PrismaOptions\n) => {\n\tif (model.fields.some((f) => f.type === 'Json')) {\n\t\tsourceFile.addStatements((writer) => {\n\t\t\twriter.newLine()\n\t\t\twriteArray(writer, [\n\t\t\t\t'// Helper schema for JSON fields',\n\t\t\t\t`type Literal = boolean | number | string${\n\t\t\t\t\tconfig.prismaJsonNullability ? '' : '| null'\n\t\t\t\t}`,\n\t\t\t\t'type Json = Literal | { [key: string]: Json } | Json[]',\n\t\t\t\t`const literalSchema = z.union([z.string(), z.number(), z.boolean()${\n\t\t\t\t\tconfig.prismaJsonNullability ? '' : ', z.null()'\n\t\t\t\t}])`,\n\t\t\t\t'const jsonSchema: z.ZodSchema = z.lazy(() => z.union([literalSchema, z.array(jsonSchema), z.record(jsonSchema)]))',\n\t\t\t])\n\t\t})\n\t}\n\n\tif (config.useDecimalJs && model.fields.some((f) => f.type === 'Decimal')) {\n\t\tsourceFile.addStatements((writer) => {\n\t\t\twriter.newLine()\n\t\t\twriteArray(writer, [\n\t\t\t\t'// Helper schema for Decimal fields',\n\t\t\t\t'z',\n\t\t\t\t'.instanceof(Decimal)',\n\t\t\t\t'.or(z.string())',\n\t\t\t\t'.or(z.number())',\n\t\t\t\t'.refine((value) => {',\n\t\t\t\t' try {',\n\t\t\t\t' return new Decimal(value);',\n\t\t\t\t' } catch (error) {',\n\t\t\t\t' return false;',\n\t\t\t\t' }',\n\t\t\t\t'})',\n\t\t\t\t'.transform((value) => new Decimal(value));',\n\t\t\t])\n\t\t})\n\t}\n}\n\nexport const generateSchemaForModel = (\n\tmodel: DMMF.Model,\n\tsourceFile: SourceFile,\n\tconfig: Config,\n\t_prismaOptions: PrismaOptions\n) => {\n\tconst { modelName } = useModelNames(config)\n\n\tsourceFile.addVariableStatement({\n\t\tdeclarationKind: VariableDeclarationKind.Const,\n\t\tisExported: true,\n\t\tleadingTrivia: (writer) => writer.blankLineIfLastNot(),\n\t\tdeclarations: [\n\t\t\t{\n\t\t\t\tname: modelName(model.name),\n\t\t\t\tinitializer(writer) {\n\t\t\t\t\twriter\n\t\t\t\t\t\t.write('z.object(')\n\t\t\t\t\t\t.inlineBlock(() => {\n\t\t\t\t\t\t\tmodel.fields\n\t\t\t\t\t\t\t\t.filter((f) => f.kind !== 'object')\n\t\t\t\t\t\t\t\t.forEach((field) => {\n\t\t\t\t\t\t\t\t\twriteArray(writer, getJSDocs(field.documentation))\n\t\t\t\t\t\t\t\t\twriter\n\t\t\t\t\t\t\t\t\t\t.write(`${field.name}: ${getZodConstructor(field)}`)\n\t\t\t\t\t\t\t\t\t\t.write(',')\n\t\t\t\t\t\t\t\t\t\t.newLine()\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.write(')')\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t})\n}\n\nexport const generateRelatedSchemaForModel = (\n\tmodel: DMMF.Model,\n\tsourceFile: SourceFile,\n\tconfig: Config,\n\t_prismaOptions: PrismaOptions\n) => {\n\tconst { modelName, relatedModelName } = useModelNames(config)\n\n\tconst relationFields = model.fields.filter((f) => f.kind === 'object')\n\n\tsourceFile.addInterface({\n\t\tname: `Complete${model.name}`,\n\t\tisExported: true,\n\t\textends: [`z.infer`],\n\t\tproperties: relationFields.map((f) => ({\n\t\t\thasQuestionToken: !f.isRequired,\n\t\t\tname: f.name,\n\t\t\ttype: `Complete${f.type}${f.isList ? '[]' : ''}${!f.isRequired ? ' | null' : ''}`,\n\t\t})),\n\t})\n\n\tsourceFile.addStatements((writer) =>\n\t\twriteArray(writer, [\n\t\t\t'',\n\t\t\t'/**',\n\t\t\t` * ${relatedModelName(\n\t\t\t\tmodel.name\n\t\t\t)} contains all relations on your model in addition to the scalars`,\n\t\t\t' *',\n\t\t\t' * NOTE: Lazy required in case of potential circular dependencies within schema',\n\t\t\t' */',\n\t\t])\n\t)\n\n\tsourceFile.addVariableStatement({\n\t\tdeclarationKind: VariableDeclarationKind.Const,\n\t\tisExported: true,\n\t\tdeclarations: [\n\t\t\t{\n\t\t\t\tname: relatedModelName(model.name),\n\t\t\t\ttype: `z.ZodSchema`,\n\t\t\t\tinitializer(writer) {\n\t\t\t\t\twriter\n\t\t\t\t\t\t.write(`z.lazy(() => ${modelName(model.name)}.extend(`)\n\t\t\t\t\t\t.inlineBlock(() => {\n\t\t\t\t\t\t\trelationFields.forEach((field) => {\n\t\t\t\t\t\t\t\twriteArray(writer, getJSDocs(field.documentation))\n\n\t\t\t\t\t\t\t\twriter\n\t\t\t\t\t\t\t\t\t.write(\n\t\t\t\t\t\t\t\t\t\t`${field.name}: ${getZodConstructor(\n\t\t\t\t\t\t\t\t\t\t\tfield,\n\t\t\t\t\t\t\t\t\t\t\trelatedModelName\n\t\t\t\t\t\t\t\t\t\t)}`\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t.write(',')\n\t\t\t\t\t\t\t\t\t.newLine()\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.write('))')\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t})\n}\n\nexport const populateModelFile = (\n\tmodel: DMMF.Model,\n\tsourceFile: SourceFile,\n\tconfig: Config,\n\tprismaOptions: PrismaOptions\n) => {\n\twriteImportsForModel(model, sourceFile, config, prismaOptions)\n\twriteTypeSpecificSchemas(model, sourceFile, config, prismaOptions)\n\tgenerateSchemaForModel(model, sourceFile, config, prismaOptions)\n\tif (needsRelatedModel(model, config))\n\t\tgenerateRelatedSchemaForModel(model, sourceFile, config, prismaOptions)\n}\n\nexport const generateBarrelFile = (models: DMMF.Model[], indexFile: SourceFile) => {\n\tmodels.forEach((model) =>\n\t\tindexFile.addExportDeclaration({\n\t\t\tmoduleSpecifier: `./${model.name.toLowerCase()}`,\n\t\t})\n\t)\n}\n"],"names":["configBoolean","z","enum","transform","arg","JSON","parse","configSchema","object","relationModel","default","or","literal","modelSuffix","string","modelCase","useDecimalJs","imports","optional","prismaJsonNullability","writeArray","writer","array","newLine","forEach","line","write","conditionalNewLine","useModelNames","formatModelName","name","prefix","slice","toLowerCase","modelName","relatedModelName","toString","dotSlash","input","converted","replace","includes","split","startsWith","getJSDocs","docString","lines","docLines","filter","dL","trimStart","length","push","getZodDocElements","map","flatMap","chunk","reduce","arr","item","idx","each","contents","stringify","getZodConstructor","field","getRelatedModelName","zodType","extraModifiers","kind","type","isList","documentation","find","modifier","_getZodDocElements$fi","isRequired","join","generatorHandler","onManifest","version","prettyName","defaultOutput","onGenerate","options","project","Project","models","dmmf","datamodel","schemaPath","outputPath","generator","output","value","clientPath","otherGenerators","provider","results","safeParse","config","success","Error","data","prismaOptions","indexFile","createSourceFile","overwrite","model","addExportDeclaration","moduleSpecifier","generateBarrelFile","formatText","indentSize","convertTabsToSpaces","semicolons","SemicolonPreference","Remove","sourceFile","importList","StructureKind","ImportDeclaration","namespaceImport","path","relative","resolve","dirname","fields","some","f","namedImports","enumFields","relationFields","relativePath","isTypeOnly","filteredFields","Array","from","Set","addImportDeclarations","writeImportsForModel","_prismaOptions","addStatements","writeTypeSpecificSchemas","addVariableStatement","declarationKind","VariableDeclarationKind","Const","isExported","leadingTrivia","blankLineIfLastNot","declarations","initializer","inlineBlock","generateSchemaForModel","needsRelatedModel","addInterface","extends","properties","hasQuestionToken","generateRelatedSchemaForModel","populateModelFile","save"],"mappings":"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"} -\ No newline at end of file -+{"version":3,"file":"zod-prisma.cjs.production.min.js","sources":["../src/config.ts","../src/util.ts","../src/docs.ts","../src/types.ts","../src/index.ts","../src/generator.ts"],"sourcesContent":["import { z } from 'zod'\n\nconst configBoolean = z.enum(['true', 'false']).transform((arg) => JSON.parse(arg))\n\nexport const configSchema = z.object({\n\trelationModel: configBoolean.default('true').or(z.literal('default')),\n\tmodelSuffix: z.string().default('Model'),\n\tmodelCase: z.enum(['PascalCase', 'camelCase']).default('PascalCase'),\n\tuseDecimalJs: configBoolean.default('false'),\n\timports: z.string().optional(),\n\tprismaJsonNullability: configBoolean.default('true'),\n})\n\nexport type Config = z.infer\n\nexport type PrismaOptions = {\n\tschemaPath: string\n\toutputPath: string\n\tclientPath: string\n}\n\nexport type Names = {\n\tmodel: string\n\trelated: string\n}\n","import { DMMF } from '@prisma/generator-helper'\nimport type { CodeBlockWriter } from 'ts-morph'\nimport { Config } from './config'\n\nexport const writeArray = (writer: CodeBlockWriter, array: string[], newLine = true) =>\n\tarray.forEach((line) => writer.write(line).conditionalNewLine(newLine))\n\nexport const useModelNames = ({ modelCase, modelSuffix, relationModel }: Config) => {\n\tconst formatModelName = (name: string, prefix = '') => {\n\t\tif (modelCase === 'camelCase') {\n\t\t\tname = name.slice(0, 1).toLowerCase() + name.slice(1)\n\t\t}\n\t\treturn `${prefix}${name}${modelSuffix}`\n\t}\n\n\treturn {\n\t\tmodelName: (name: string) => formatModelName(name, relationModel === 'default' ? '_' : ''),\n\t\trelatedModelName: (name: string | DMMF.SchemaEnum | DMMF.OutputType | DMMF.SchemaArg) =>\n\t\t\tformatModelName(\n\t\t\t\trelationModel === 'default' ? name.toString() : `Related${name.toString()}`\n\t\t\t),\n\t}\n}\n\nexport const needsRelatedModel = (model: DMMF.Model, config: Config) =>\n\tmodel.fields.some((field) => field.kind === 'object') && config.relationModel !== false\n\nexport const chunk = (input: T, size: number): T[] => {\n\treturn input.reduce((arr, item, idx) => {\n\t\treturn idx % size === 0\n\t\t\t? [...arr, [item]]\n\t\t\t: [...arr.slice(0, -1), [...arr.slice(-1)[0], item]]\n\t}, [])\n}\n\nexport const dotSlash = (input: string) => {\n\tconst converted = input\n\t\t.replace(/^\\\\\\\\\\?\\\\/, '')\n\t\t.replace(/\\\\/g, '/')\n\t\t.replace(/\\/\\/+/g, '/')\n\n\tif (converted.includes(`/node_modules/`)) return converted.split(`/node_modules/`).slice(-1)[0]\n\n\tif (converted.startsWith(`../`)) return converted\n\n\treturn './' + converted\n}\n","import { ArrayTree, parse, stringify } from 'parenthesis'\nimport { chunk } from './util'\n\nexport const getJSDocs = (docString?: string) => {\n\tconst lines: string[] = []\n\n\tif (docString) {\n\t\tconst docLines = docString.split('\\n').filter((dL) => !dL.trimStart().startsWith('@zod'))\n\n\t\tif (docLines.length) {\n\t\t\tlines.push('/**')\n\t\t\tdocLines.forEach((dL) => lines.push(` * ${dL}`))\n\t\t\tlines.push(' */')\n\t\t}\n\t}\n\n\treturn lines\n}\n\nexport const getZodDocElements = (docString: string) =>\n\tdocString\n\t\t.split('\\n')\n\t\t.filter((line) => line.trimStart().startsWith('@zod'))\n\t\t.map((line) => line.trimStart().slice(4))\n\t\t.flatMap((line) =>\n\t\t\t// Array.from(line.matchAll(/\\.([^().]+\\(.*?\\))/g), (m) => m.slice(1)).flat()\n\t\t\tchunk(parse(line), 2)\n\t\t\t\t.slice(0, -1)\n\t\t\t\t.map(\n\t\t\t\t\t([each, contents]) =>\n\t\t\t\t\t\t(each as string).replace(/\\)?\\./, '') +\n\t\t\t\t\t\t`${stringify(contents as ArrayTree)})`\n\t\t\t\t)\n\t\t)\n\nexport const computeCustomSchema = (docString: string) => {\n\treturn getZodDocElements(docString)\n\t\t.find((modifier) => modifier.startsWith('custom('))\n\t\t?.slice(7)\n\t\t.slice(0, -1)\n}\n\nexport const computeModifiers = (docString: string) => {\n\treturn getZodDocElements(docString).filter((each) => !each.startsWith('custom('))\n}\n","import type { DMMF } from '@prisma/generator-helper'\nimport { computeCustomSchema, computeModifiers } from './docs'\n\nexport const getZodConstructor = (\n\tfield: DMMF.Field,\n\tgetRelatedModelName = (name: string | DMMF.SchemaEnum | DMMF.OutputType | DMMF.SchemaArg) =>\n\t\tname.toString()\n) => {\n\tlet zodType = 'z.unknown()'\n\tlet extraModifiers: string[] = ['']\n\tif (field.kind === 'scalar') {\n\t\tswitch (field.type) {\n\t\t\tcase 'String':\n\t\t\t\tzodType = 'z.string()'\n\t\t\t\tbreak\n\t\t\tcase 'Int':\n\t\t\t\tzodType = 'z.number()'\n\t\t\t\textraModifiers.push('int()')\n\t\t\t\tbreak\n\t\t\tcase 'BigInt':\n\t\t\t\tzodType = 'z.bigint()'\n\t\t\t\tbreak\n\t\t\tcase 'DateTime':\n\t\t\t\tzodType = 'z.date()'\n\t\t\t\tbreak\n\t\t\tcase 'Float':\n\t\t\t\tzodType = 'z.number()'\n\t\t\t\tbreak\n\t\t\tcase 'Decimal':\n\t\t\t\tzodType = 'z.number()'\n\t\t\t\tbreak\n\t\t\tcase 'Json':\n\t\t\t\tzodType = 'jsonSchema'\n\t\t\t\tbreak\n\t\t\tcase 'Boolean':\n\t\t\t\tzodType = 'z.boolean()'\n\t\t\t\tbreak\n\t\t\t// TODO: Proper type for bytes fields\n\t\t\tcase 'Bytes':\n\t\t\t\tzodType = 'z.unknown()'\n\t\t\t\tbreak\n\t\t}\n\t} else if (field.kind === 'enum') {\n\t\tzodType = `z.nativeEnum(${field.type})`\n\t} else if (field.kind === 'object') {\n\t\tzodType = getRelatedModelName(field.type)\n\t}\n\n\tif (field.isList) extraModifiers.push('array()')\n\tif (field.documentation) {\n\t\tzodType = computeCustomSchema(field.documentation) ?? zodType\n\t\textraModifiers.push(...computeModifiers(field.documentation))\n\t}\n\tif (!field.isRequired && field.type !== 'Json') extraModifiers.push('nullish()')\n\t// if (field.hasDefaultValue) extraModifiers.push('optional()')\n\n\treturn `${zodType}${extraModifiers.join('.')}`\n}\n","// @ts-ignore Importing package.json for automated synchronization of version numbers\nimport { version } from '../package.json'\n\nimport { generatorHandler } from '@prisma/generator-helper'\nimport { SemicolonPreference } from 'typescript'\nimport { configSchema, PrismaOptions } from './config'\nimport { populateModelFile, generateBarrelFile } from './generator'\nimport { Project } from 'ts-morph'\n\ngeneratorHandler({\n\tonManifest() {\n\t\treturn {\n\t\t\tversion,\n\t\t\tprettyName: 'Zod Schemas',\n\t\t\tdefaultOutput: 'zod',\n\t\t}\n\t},\n\tonGenerate(options) {\n\t\tconst project = new Project()\n\n\t\tconst models = options.dmmf.datamodel.models\n\n\t\tconst { schemaPath } = options\n\t\tconst outputPath = options.generator.output!.value\n\t\tconst clientPath = options.otherGenerators.find(\n\t\t\t(each) => each.provider.value === 'prisma-client-js'\n\t\t)!.output!.value!\n\n\t\tconst results = configSchema.safeParse(options.generator.config)\n\t\tif (!results.success)\n\t\t\tthrow new Error(\n\t\t\t\t'Incorrect config provided. Please check the values you provided and try again.'\n\t\t\t)\n\n\t\tconst config = results.data\n\t\tconst prismaOptions: PrismaOptions = {\n\t\t\tclientPath,\n\t\t\toutputPath,\n\t\t\tschemaPath,\n\t\t}\n\n\t\tconst indexFile = project.createSourceFile(\n\t\t\t`${outputPath}/index.ts`,\n\t\t\t{},\n\t\t\t{ overwrite: true }\n\t\t)\n\n\t\tgenerateBarrelFile(models, indexFile)\n\n\t\tindexFile.formatText({\n\t\t\tindentSize: 2,\n\t\t\tconvertTabsToSpaces: true,\n\t\t\tsemicolons: SemicolonPreference.Remove,\n\t\t})\n\n\t\tmodels.forEach((model) => {\n\t\t\tconst sourceFile = project.createSourceFile(\n\t\t\t\t`${outputPath}/${model.name.toLowerCase()}.ts`,\n\t\t\t\t{},\n\t\t\t\t{ overwrite: true }\n\t\t\t)\n\n\t\t\tpopulateModelFile(model, sourceFile, config, prismaOptions)\n\n\t\t\tsourceFile.formatText({\n\t\t\t\tindentSize: 2,\n\t\t\t\tconvertTabsToSpaces: true,\n\t\t\t\tsemicolons: SemicolonPreference.Remove,\n\t\t\t})\n\t\t})\n\n\t\treturn project.save()\n\t},\n})\n","import path from 'path'\nimport { DMMF } from '@prisma/generator-helper'\nimport {\n\tImportDeclarationStructure,\n\tSourceFile,\n\tStructureKind,\n\tVariableDeclarationKind,\n} from 'ts-morph'\nimport { Config, PrismaOptions } from './config'\nimport { dotSlash, needsRelatedModel, useModelNames, writeArray } from './util'\nimport { getJSDocs } from './docs'\nimport { getZodConstructor } from './types'\n\nexport const writeImportsForModel = (\n\tmodel: DMMF.Model,\n\tsourceFile: SourceFile,\n\tconfig: Config,\n\t{ schemaPath, outputPath, clientPath }: PrismaOptions\n) => {\n\tconst { relatedModelName } = useModelNames(config)\n\tconst importList: ImportDeclarationStructure[] = [\n\t\t{\n\t\t\tkind: StructureKind.ImportDeclaration,\n\t\t\tnamespaceImport: 'z',\n\t\t\tmoduleSpecifier: 'zod',\n\t\t},\n\t]\n\n\tif (config.imports) {\n\t\timportList.push({\n\t\t\tkind: StructureKind.ImportDeclaration,\n\t\t\tnamespaceImport: 'imports',\n\t\t\tmoduleSpecifier: dotSlash(\n\t\t\t\tpath.relative(outputPath, path.resolve(path.dirname(schemaPath), config.imports))\n\t\t\t),\n\t\t})\n\t}\n\n\tif (config.useDecimalJs && model.fields.some((f) => f.type === 'Decimal')) {\n\t\timportList.push({\n\t\t\tkind: StructureKind.ImportDeclaration,\n\t\t\tnamedImports: ['Decimal'],\n\t\t\tmoduleSpecifier: 'decimal.js',\n\t\t})\n\t}\n\n\tconst enumFields = model.fields.filter((f) => f.kind === 'enum')\n\tconst relationFields = model.fields.filter((f) => f.kind === 'object')\n\tconst relativePath = path.relative(outputPath, clientPath)\n\n\tif (enumFields.length > 0) {\n\t\timportList.push({\n\t\t\tkind: StructureKind.ImportDeclaration,\n\t\t\tisTypeOnly: enumFields.length === 0,\n\t\t\tmoduleSpecifier: dotSlash(relativePath),\n\t\t\tnamedImports: Array.from(new Set(enumFields.map((f) => f.type))),\n\t\t})\n\t}\n\n\tif (config.relationModel !== false && relationFields.length > 0) {\n\t\tconst filteredFields = relationFields.filter((f) => f.type !== model.name)\n\n\t\tif (filteredFields.length > 0) {\n\t\t\timportList.push({\n\t\t\t\tkind: StructureKind.ImportDeclaration,\n\t\t\t\tmoduleSpecifier: './index',\n\t\t\t\tnamedImports: Array.from(\n\t\t\t\t\tnew Set(\n\t\t\t\t\t\tfilteredFields.flatMap((f) => [\n\t\t\t\t\t\t\t`Complete${f.type}`,\n\t\t\t\t\t\t\trelatedModelName(f.type),\n\t\t\t\t\t\t])\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t})\n\t\t}\n\t}\n\n\tsourceFile.addImportDeclarations(importList)\n}\n\nexport const writeTypeSpecificSchemas = (\n\tmodel: DMMF.Model,\n\tsourceFile: SourceFile,\n\tconfig: Config,\n\t_prismaOptions: PrismaOptions\n) => {\n\tif (model.fields.some((f) => f.type === 'Json')) {\n\t\tsourceFile.addStatements((writer) => {\n\t\t\twriter.newLine()\n\t\t\twriteArray(writer, [\n\t\t\t\t'// Helper schema for JSON fields',\n\t\t\t\t`type Literal = boolean | number | string${\n\t\t\t\t\tconfig.prismaJsonNullability ? '' : '| null'\n\t\t\t\t}`,\n\t\t\t\t'type Json = Literal | { [key: string]: Json } | Json[]',\n\t\t\t\t`const literalSchema = z.union([z.string(), z.number(), z.boolean()${\n\t\t\t\t\tconfig.prismaJsonNullability ? '' : ', z.null()'\n\t\t\t\t}])`,\n\t\t\t\t'const jsonSchema: z.ZodSchema = z.lazy(() => z.union([literalSchema, z.array(jsonSchema), z.record(jsonSchema)]))',\n\t\t\t])\n\t\t})\n\t}\n\n\tif (config.useDecimalJs && model.fields.some((f) => f.type === 'Decimal')) {\n\t\tsourceFile.addStatements((writer) => {\n\t\t\twriter.newLine()\n\t\t\twriteArray(writer, [\n\t\t\t\t'// Helper schema for Decimal fields',\n\t\t\t\t'z',\n\t\t\t\t'.instanceof(Decimal)',\n\t\t\t\t'.or(z.string())',\n\t\t\t\t'.or(z.number())',\n\t\t\t\t'.refine((value) => {',\n\t\t\t\t' try {',\n\t\t\t\t' return new Decimal(value);',\n\t\t\t\t' } catch (error) {',\n\t\t\t\t' return false;',\n\t\t\t\t' }',\n\t\t\t\t'})',\n\t\t\t\t'.transform((value) => new Decimal(value));',\n\t\t\t])\n\t\t})\n\t}\n}\n\nexport const generateSchemaForModel = (\n\tmodel: DMMF.Model,\n\tsourceFile: SourceFile,\n\tconfig: Config,\n\t_prismaOptions: PrismaOptions\n) => {\n\tconst { modelName } = useModelNames(config)\n\n\tsourceFile.addVariableStatement({\n\t\tdeclarationKind: VariableDeclarationKind.Const,\n\t\tisExported: true,\n\t\tleadingTrivia: (writer) => writer.blankLineIfLastNot(),\n\t\tdeclarations: [\n\t\t\t{\n\t\t\t\tname: modelName(model.name),\n\t\t\t\tinitializer(writer) {\n\t\t\t\t\twriter\n\t\t\t\t\t\t.write('z.object(')\n\t\t\t\t\t\t.inlineBlock(() => {\n\t\t\t\t\t\t\tmodel.fields\n\t\t\t\t\t\t\t\t.filter((f) => f.kind !== 'object')\n\t\t\t\t\t\t\t\t.forEach((field) => {\n\t\t\t\t\t\t\t\t\twriteArray(writer, getJSDocs(field.documentation))\n\t\t\t\t\t\t\t\t\twriter\n\t\t\t\t\t\t\t\t\t\t.write(`${field.name}: ${getZodConstructor(field)}`)\n\t\t\t\t\t\t\t\t\t\t.write(',')\n\t\t\t\t\t\t\t\t\t\t.newLine()\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.write(')')\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t})\n}\n\nexport const generateRelatedSchemaForModel = (\n\tmodel: DMMF.Model,\n\tsourceFile: SourceFile,\n\tconfig: Config,\n\t_prismaOptions: PrismaOptions\n) => {\n\tconst { modelName, relatedModelName } = useModelNames(config)\n\n\tconst relationFields = model.fields.filter((f) => f.kind === 'object')\n\n\tsourceFile.addInterface({\n\t\tname: `Complete${model.name}`,\n\t\tisExported: true,\n\t\textends: [`z.infer`],\n\t\tproperties: relationFields.map((f) => ({\n\t\t\thasQuestionToken: !f.isRequired,\n\t\t\tname: f.name,\n\t\t\ttype: `Complete${f.type}${f.isList ? '[]' : ''}${!f.isRequired ? ' | null' : ''}`,\n\t\t})),\n\t})\n\n\tsourceFile.addStatements((writer) =>\n\t\twriteArray(writer, [\n\t\t\t'',\n\t\t\t'/**',\n\t\t\t` * ${relatedModelName(\n\t\t\t\tmodel.name\n\t\t\t)} contains all relations on your model in addition to the scalars`,\n\t\t\t' *',\n\t\t\t' * NOTE: Lazy required in case of potential circular dependencies within schema',\n\t\t\t' */',\n\t\t])\n\t)\n\n\tsourceFile.addVariableStatement({\n\t\tdeclarationKind: VariableDeclarationKind.Const,\n\t\tisExported: true,\n\t\tdeclarations: [\n\t\t\t{\n\t\t\t\tname: relatedModelName(model.name),\n\t\t\t\ttype: `z.ZodSchema`,\n\t\t\t\tinitializer(writer) {\n\t\t\t\t\twriter\n\t\t\t\t\t\t.write(`z.lazy(() => ${modelName(model.name)}.extend(`)\n\t\t\t\t\t\t.inlineBlock(() => {\n\t\t\t\t\t\t\trelationFields.forEach((field) => {\n\t\t\t\t\t\t\t\twriteArray(writer, getJSDocs(field.documentation))\n\n\t\t\t\t\t\t\t\twriter\n\t\t\t\t\t\t\t\t\t.write(\n\t\t\t\t\t\t\t\t\t\t`${field.name}: ${getZodConstructor(\n\t\t\t\t\t\t\t\t\t\t\tfield,\n\t\t\t\t\t\t\t\t\t\t\trelatedModelName\n\t\t\t\t\t\t\t\t\t\t)}`\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t.write(',')\n\t\t\t\t\t\t\t\t\t.newLine()\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.write('))')\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t})\n}\n\nexport const populateModelFile = (\n\tmodel: DMMF.Model,\n\tsourceFile: SourceFile,\n\tconfig: Config,\n\tprismaOptions: PrismaOptions\n) => {\n\twriteImportsForModel(model, sourceFile, config, prismaOptions)\n\twriteTypeSpecificSchemas(model, sourceFile, config, prismaOptions)\n\tgenerateSchemaForModel(model, sourceFile, config, prismaOptions)\n\tif (needsRelatedModel(model, config))\n\t\tgenerateRelatedSchemaForModel(model, sourceFile, config, prismaOptions)\n}\n\nexport const generateBarrelFile = (models: DMMF.Model[], indexFile: SourceFile) => {\n\tmodels.forEach((model) =>\n\t\tindexFile.addExportDeclaration({\n\t\t\tmoduleSpecifier: `./${model.name.toLowerCase()}`,\n\t\t})\n\t)\n}\n"],"names":["configBoolean","z","enum","transform","arg","JSON","parse","configSchema","object","relationModel","default","or","literal","modelSuffix","string","modelCase","useDecimalJs","imports","optional","prismaJsonNullability","writeArray","writer","array","newLine","forEach","line","write","conditionalNewLine","useModelNames","formatModelName","name","prefix","slice","toLowerCase","modelName","relatedModelName","toString","dotSlash","input","converted","replace","includes","split","startsWith","getJSDocs","docString","lines","docLines","filter","dL","trimStart","length","push","getZodDocElements","map","flatMap","chunk","reduce","arr","item","idx","each","contents","stringify","getZodConstructor","field","getRelatedModelName","zodType","extraModifiers","kind","type","_computeCustomSchema","_getZodDocElements$fi","isList","documentation","find","modifier","isRequired","join","generatorHandler","onManifest","version","prettyName","defaultOutput","onGenerate","options","project","Project","models","dmmf","datamodel","schemaPath","outputPath","generator","output","value","clientPath","otherGenerators","provider","results","safeParse","config","success","Error","data","prismaOptions","indexFile","createSourceFile","overwrite","model","addExportDeclaration","moduleSpecifier","generateBarrelFile","formatText","indentSize","convertTabsToSpaces","semicolons","SemicolonPreference","Remove","sourceFile","importList","StructureKind","ImportDeclaration","namespaceImport","path","relative","resolve","dirname","fields","some","f","namedImports","enumFields","relationFields","relativePath","isTypeOnly","Array","from","Set","filteredFields","addImportDeclarations","writeImportsForModel","_prismaOptions","addStatements","writeTypeSpecificSchemas","addVariableStatement","declarationKind","VariableDeclarationKind","Const","isExported","leadingTrivia","blankLineIfLastNot","declarations","initializer","inlineBlock","generateSchemaForModel","needsRelatedModel","addInterface","extends","properties","hasQuestionToken","generateRelatedSchemaForModel","populateModelFile","save"],"mappings":"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"} -\ No newline at end of file -diff --git a/package.json b/package.json -index 198b8999bc167af4858d97c8ec182c0d5d7d78e6..25b6772aac8720d7e3a12f5b4c7c2eecbcc597ea 100644 ---- a/package.json -+++ b/package.json -@@ -52,23 +52,23 @@ - "testEnvironment": "node" - }, - "dependencies": { -- "@prisma/generator-helper": "~3.8.1", -+ "@prisma/generator-helper": "~4.6.0", - "parenthesis": "^3.1.8", -- "ts-morph": "^13.0.2" -+ "ts-morph": "^16.0.0" - }, - "devDependencies": { -- "@prisma/client": "~3.8.1", -- "@prisma/sdk": "~3.7.0", -+ "@prisma/client": "~4.6.0", -+ "@prisma/sdk": "~4.0.0", - "@tsconfig/recommended": "^1.0.1", - "@types/fs-extra": "^9.0.13", - "dts-cli": "^1.1.5", -- "execa": "^5.1.0", -+ "execa": "^6.1.0", - "fast-glob": "^3.2.5", - "fs-extra": "^10.0.0", -- "husky": "^7.0.4", -- "jest-mock-extended": "^2.0.4", -- "prisma": "^3.4.2", -- "tslib": "^2.3.1", -+ "husky": "^8.0.2", -+ "jest-mock-extended": "^3.0.1", -+ "prisma": "^4.6.0", -+ "tslib": "^2.4.1", - "typescript": "^4.5.4", - "zod": "^3.11.6" - }, \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d9245eafd9..1b265ee94e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -38,9 +38,6 @@ patchedDependencies: iso-google-locales@3.0.4: hash: ltnamflm7ayajalculwqyezjya path: patches/iso-google-locales@3.0.4.patch - next-auth@4.23.0: - hash: 5rcmqpbec3t4wwdelpjvypkzei - path: patches/next-auth@4.23.0.patch trpc-panel@1.3.4: hash: 3z2tx2cn67fyw5s2xdx73dxaji path: patches/trpc-panel@1.3.4.patch @@ -156,7 +153,7 @@ importers: version: 6.0.19(@mantine/core@6.0.19)(@mantine/hooks@6.0.19)(react-dom@18.2.0)(react@18.2.0) '@mantine/next': specifier: 6.0.19 - version: 6.0.19(@emotion/react@11.11.1)(@emotion/server@11.11.0)(next@13.4.16)(react-dom@18.2.0)(react@18.2.0) + version: 6.0.19(@emotion/react@11.11.1)(@emotion/server@11.11.0)(next@13.4.17)(react-dom@18.2.0)(react@18.2.0) '@mantine/notifications': specifier: 6.0.19 version: 6.0.19(@mantine/core@6.0.19)(@mantine/hooks@6.0.19)(react-dom@18.2.0)(react@18.2.0) @@ -171,13 +168,13 @@ importers: version: 6.0.19(@mantine/core@6.0.19)(@mantine/hooks@6.0.19)(react-dom@18.2.0)(react@18.2.0) '@mantine/tiptap': specifier: 6.0.19 - version: 6.0.19(@mantine/core@6.0.19)(@mantine/hooks@6.0.19)(@tabler/icons-react@2.30.0)(@tiptap/extension-link@2.0.4)(@tiptap/react@2.0.4)(react@18.2.0) + version: 6.0.19(@mantine/core@6.0.19)(@mantine/hooks@6.0.19)(@tabler/icons-react@2.30.0)(@tiptap/extension-link@2.1.1)(@tiptap/react@2.1.1)(react@18.2.0) '@mantine/utils': specifier: 6.0.19 version: 6.0.19(react@18.2.0) '@next/bundle-analyzer': - specifier: 13.4.16 - version: 13.4.16 + specifier: 13.4.17 + version: 13.4.17 '@opentelemetry/api': specifier: 1.4.1 version: 1.4.1 @@ -213,7 +210,7 @@ importers: version: 5.1.1 '@sentry/nextjs': specifier: 7.64.0 - version: 7.64.0(next@13.4.16)(react@18.2.0) + version: 7.64.0(next@13.4.17)(react@18.2.0) '@sentry/opentelemetry-node': specifier: 7.64.0 version: 7.64.0(@opentelemetry/api@1.4.1)(@opentelemetry/core@1.15.2)(@opentelemetry/sdk-trace-base@1.15.2)(@opentelemetry/semantic-conventions@1.15.2) @@ -224,20 +221,20 @@ importers: specifier: 8.9.3 version: 8.9.3(react-dom@18.2.0)(react@18.2.0) '@tiptap/extension-link': - specifier: 2.0.4 - version: 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4) + specifier: 2.1.1 + version: 2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4) '@tiptap/react': - specifier: 2.0.4 - version: 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4)(react-dom@18.2.0)(react@18.2.0) + specifier: 2.1.1 + version: 2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4)(react-dom@18.2.0)(react@18.2.0) '@tiptap/starter-kit': - specifier: 2.0.4 - version: 2.0.4(@tiptap/pm@2.0.4) + specifier: 2.1.1 + version: 2.1.1(@tiptap/pm@2.0.4) '@trpc/client': specifier: 10.37.1 version: 10.37.1(@trpc/server@10.37.1) '@trpc/next': specifier: 10.37.1 - version: 10.37.1(@tanstack/react-query@4.32.6)(@trpc/client@10.37.1)(@trpc/react-query@10.37.1)(@trpc/server@10.37.1)(next@13.4.16)(react-dom@18.2.0)(react@18.2.0) + version: 10.37.1(@tanstack/react-query@4.32.6)(@trpc/client@10.37.1)(@trpc/react-query@10.37.1)(@trpc/server@10.37.1)(next@13.4.17)(react-dom@18.2.0)(react@18.2.0) '@trpc/react-query': specifier: 10.37.1 version: 10.37.1(@tanstack/react-query@4.32.6)(@trpc/client@10.37.1)(@trpc/server@10.37.1)(react-dom@18.2.0)(react@18.2.0) @@ -332,20 +329,20 @@ importers: specifier: 3.4.0 version: 3.4.0 next: - specifier: 13.4.16 - version: 13.4.16(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0) + specifier: 13.4.17 + version: 13.4.17(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0) next-auth: - specifier: 4.23.0 - version: 4.23.0(patch_hash=5rcmqpbec3t4wwdelpjvypkzei)(next@13.4.16)(react-dom@18.2.0)(react@18.2.0) + specifier: 4.23.1 + version: 4.23.1(next@13.4.17)(react-dom@18.2.0)(react@18.2.0) next-i18next: specifier: 14.0.0 - version: 14.0.0(i18next@23.4.4)(next@13.4.16)(react-i18next@13.1.2)(react@18.2.0) + version: 14.0.0(i18next@23.4.4)(next@13.4.17)(react-i18next@13.1.2)(react@18.2.0) next-seo: specifier: 6.1.0 - version: 6.1.0(next@13.4.16)(react-dom@18.2.0)(react@18.2.0) + version: 6.1.0(next@13.4.17)(react-dom@18.2.0)(react@18.2.0) nextjs-routes: specifier: 2.0.1 - version: 2.0.1(next@13.4.16) + version: 2.0.1(next@13.4.17) object-sizeof: specifier: 2.6.3 version: 2.6.3 @@ -368,8 +365,8 @@ importers: specifier: 4.9.1 version: 4.9.1 zod: - specifier: 3.22.0 - version: 3.22.0 + specifier: 3.22.1 + version: 3.22.1 devDependencies: '@playwright/test': specifier: 1.37.0 @@ -384,8 +381,8 @@ importers: specifier: 8.7.6 version: 8.7.6(react-dom@18.2.0)(react@18.2.0) '@total-typescript/ts-reset': - specifier: 0.4.2 - version: 0.4.2 + specifier: 0.5.1 + version: 0.5.1 '@types/eslint': specifier: 8.44.2 version: 8.44.2 @@ -448,10 +445,10 @@ importers: version: 0.2.1-next(@trpc/client@10.37.1)(@trpc/server@10.37.1) trpc-panel: specifier: 1.3.4 - version: 1.3.4(patch_hash=3z2tx2cn67fyw5s2xdx73dxaji)(@trpc/server@10.37.1)(zod@3.22.0) + version: 1.3.4(patch_hash=3z2tx2cn67fyw5s2xdx73dxaji)(@trpc/server@10.37.1)(zod@3.22.1) trpc-playground: specifier: 1.0.4 - version: 1.0.4(@trpc/server@10.37.1)(@types/node@18.17.5)(typescript@5.1.6)(zod@3.22.0) + version: 1.0.4(@trpc/server@10.37.1)(@types/node@18.17.5)(typescript@5.1.6)(zod@3.22.1) type-fest: specifier: 4.2.0 version: 4.2.0 @@ -493,7 +490,7 @@ importers: version: 6.0.19(@mantine/core@6.0.19)(@mantine/hooks@6.0.19)(react-dom@18.2.0)(react@18.2.0) '@mantine/next': specifier: 6.0.19 - version: 6.0.19(@emotion/react@11.11.1)(@emotion/server@11.11.0)(next@13.4.16)(react-dom@18.2.0)(react@18.2.0) + version: 6.0.19(@emotion/react@11.11.1)(@emotion/server@11.11.0)(next@13.4.17)(react-dom@18.2.0)(react@18.2.0) '@mantine/notifications': specifier: 6.0.19 version: 6.0.19(@mantine/core@6.0.19)(@mantine/hooks@6.0.19)(react-dom@18.2.0)(react@18.2.0) @@ -508,16 +505,16 @@ importers: version: 6.0.19(@mantine/core@6.0.19)(@mantine/hooks@6.0.19)(react-dom@18.2.0)(react@18.2.0) '@mantine/tiptap': specifier: 6.0.19 - version: 6.0.19(@mantine/core@6.0.19)(@mantine/hooks@6.0.19)(@tabler/icons-react@2.30.0)(@tiptap/extension-link@2.0.4)(@tiptap/react@2.0.4)(react@18.2.0) + version: 6.0.19(@mantine/core@6.0.19)(@mantine/hooks@6.0.19)(@tabler/icons-react@2.30.0)(@tiptap/extension-link@2.1.1)(@tiptap/react@2.1.1)(react@18.2.0) '@tiptap/extension-link': - specifier: 2.0.4 - version: 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4) + specifier: 2.1.1 + version: 2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4) '@tiptap/react': - specifier: 2.0.4 - version: 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4)(react-dom@18.2.0)(react@18.2.0) + specifier: 2.1.1 + version: 2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4)(react-dom@18.2.0)(react@18.2.0) '@tiptap/starter-kit': - specifier: 2.0.4 - version: 2.0.4(@tiptap/pm@2.0.4) + specifier: 2.1.1 + version: 2.1.1(@tiptap/pm@2.0.4) '@weareinreach/env': specifier: workspace:* version: link:../../packages/env @@ -534,8 +531,8 @@ importers: specifier: 23.4.4 version: 23.4.4 next: - specifier: 13.4.16 - version: 13.4.16(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0) + specifier: 13.4.17 + version: 13.4.17(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 @@ -547,8 +544,8 @@ importers: version: 13.1.2(i18next@23.4.4)(react-dom@18.2.0)(react@18.2.0) devDependencies: '@next/bundle-analyzer': - specifier: 13.4.16 - version: 13.4.16 + specifier: 13.4.17 + version: 13.4.17 '@types/eslint': specifier: 8.44.2 version: 8.44.2 @@ -602,7 +599,7 @@ importers: version: 10.37.1(@trpc/server@10.37.1) '@trpc/next': specifier: 10.37.1 - version: 10.37.1(@tanstack/react-query@4.32.6)(@trpc/client@10.37.1)(@trpc/react-query@10.37.1)(@trpc/server@10.37.1)(next@13.4.16)(react-dom@18.2.0)(react@18.2.0) + version: 10.37.1(@tanstack/react-query@4.32.6)(@trpc/client@10.37.1)(@trpc/react-query@10.37.1)(@trpc/server@10.37.1)(next@13.4.17)(react-dom@18.2.0)(react@18.2.0) '@trpc/react-query': specifier: 10.37.1 version: 10.37.1(@tanstack/react-query@4.32.6)(@trpc/client@10.37.1)(@trpc/server@10.37.1)(react-dom@18.2.0)(react@18.2.0) @@ -685,8 +682,8 @@ importers: specifier: 4.9.1 version: 4.9.1 zod: - specifier: 3.22.0 - version: 3.22.0 + specifier: 3.22.1 + version: 3.22.1 devDependencies: '@types/eslint': specifier: 8.44.2 @@ -713,8 +710,8 @@ importers: specifier: 0.100.0 version: link:../eslint-config dotenv-cli: - specifier: 7.2.1 - version: 7.2.1 + specifier: 7.3.0 + version: 7.3.0 eslint: specifier: 8.47.0 version: 8.47.0 @@ -728,8 +725,8 @@ importers: specifier: 6.6.1 version: 6.6.1 next: - specifier: 13.4.16 - version: 13.4.16(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0) + specifier: 13.4.17 + version: 13.4.17(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0) p-queue: specifier: 7.3.4 version: 7.3.4 @@ -744,7 +741,7 @@ importers: version: 0.2.1-next(@trpc/client@10.37.1)(@trpc/server@10.37.1) trpc-panel: specifier: 1.3.4 - version: 1.3.4(patch_hash=3z2tx2cn67fyw5s2xdx73dxaji)(@trpc/server@10.37.1)(zod@3.22.0) + version: 1.3.4(patch_hash=3z2tx2cn67fyw5s2xdx73dxaji)(@trpc/server@10.37.1)(zod@3.22.1) type-fest: specifier: 4.2.0 version: 4.2.0 @@ -759,7 +756,7 @@ importers: version: 3.391.0 '@next-auth/prisma-adapter': specifier: 1.0.7 - version: 1.0.7(@prisma/client@5.1.1)(next-auth@4.23.0) + version: 1.0.7(@prisma/client@5.1.1)(next-auth@4.23.1) '@weareinreach/db': specifier: workspace:* version: link:../db @@ -779,8 +776,8 @@ importers: specifier: 4.9.1 version: 4.9.1 zod: - specifier: 3.22.0 - version: 3.22.0 + specifier: 3.22.1 + version: 3.22.1 devDependencies: '@types/eslint': specifier: 8.44.2 @@ -804,11 +801,11 @@ importers: specifier: 8.47.0 version: 8.47.0 next: - specifier: 13.4.16 - version: 13.4.16(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0) + specifier: 13.4.17 + version: 13.4.17(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0) next-auth: - specifier: 4.23.0 - version: 4.23.0(patch_hash=5rcmqpbec3t4wwdelpjvypkzei)(next@13.4.16)(react-dom@18.2.0)(react@18.2.0) + specifier: 4.23.1 + version: 4.23.1(next@13.4.17)(react-dom@18.2.0)(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 @@ -834,8 +831,8 @@ importers: specifier: 4.9.1 version: 4.9.1 zod: - specifier: 3.22.0 - version: 3.22.0 + specifier: 3.22.1 + version: 3.22.1 devDependencies: '@types/aws-lambda': specifier: 8.10.119 @@ -979,7 +976,7 @@ importers: version: 11.0.0 next-i18next: specifier: 14.0.0 - version: 14.0.0(i18next@23.4.4)(next@13.4.16)(react-i18next@13.1.2)(react@18.2.0) + version: 14.0.0(i18next@23.4.4)(next@13.4.17)(react-i18next@13.1.2)(react@18.2.0) typescript: specifier: 5.1.6 version: 5.1.6 @@ -1065,8 +1062,8 @@ importers: specifier: 0.26.1 version: 0.26.1 pg: - specifier: 8.11.2 - version: 8.11.2 + specifier: 8.11.3 + version: 8.11.3 prisma-kysely: specifier: 1.5.0 version: 1.5.0 @@ -1083,8 +1080,8 @@ importers: specifier: 2.3.0 version: 2.3.0 zod: - specifier: 3.22.0 - version: 3.22.0 + specifier: 3.22.1 + version: 3.22.1 devDependencies: '@faker-js/faker': specifier: 8.0.2 @@ -1174,8 +1171,8 @@ importers: specifier: 16.3.1 version: 16.3.1 dotenv-cli: - specifier: 7.2.1 - version: 7.2.1 + specifier: 7.3.0 + version: 7.3.0 eslint: specifier: 8.47.0 version: 8.47.0 @@ -1208,7 +1205,7 @@ importers: version: 2.3.0 kysely-codegen: specifier: 0.10.1 - version: 0.10.1(kysely@0.26.1)(pg@8.11.2) + version: 0.10.1(kysely@0.26.1)(pg@8.11.3) langs: specifier: 2.0.0 version: 2.0.0 @@ -1277,13 +1274,13 @@ importers: version: 2.7.9 zod-to-json-schema: specifier: 3.21.4 - version: 3.21.4(zod@3.22.0) + version: 3.21.4(zod@3.22.1) packages/env: dependencies: '@t3-oss/env-nextjs': specifier: 0.6.0 - version: 0.6.0(typescript@5.1.6)(zod@3.22.0) + version: 0.6.0(typescript@5.1.6)(zod@3.22.1) '@weareinreach/util': specifier: workspace:* version: link:../util @@ -1291,8 +1288,8 @@ importers: specifier: 6.22.0 version: 6.22.0 zod: - specifier: 3.22.0 - version: 3.22.0 + specifier: 3.22.1 + version: 3.22.1 devDependencies: '@weareinreach/config': specifier: workspace:* @@ -1301,8 +1298,8 @@ importers: packages/eslint-config: devDependencies: '@next/eslint-plugin-next': - specifier: 13.4.16 - version: 13.4.16 + specifier: 13.4.17 + version: 13.4.17 '@tanstack/eslint-plugin-query': specifier: 4.32.5 version: 4.32.5 @@ -1325,8 +1322,8 @@ importers: specifier: 8.47.0 version: 8.47.0 eslint-config-next: - specifier: 13.4.16 - version: 13.4.16(eslint@8.47.0)(typescript@5.1.6) + specifier: 13.4.17 + version: 13.4.17(eslint@8.47.0)(typescript@5.1.6) eslint-config-prettier: specifier: 9.0.0 version: 9.0.0(eslint@8.47.0) @@ -1349,8 +1346,8 @@ importers: specifier: 11.1.0 version: 11.1.0(patch_hash=45p4dc3r2kwi3h2jyimmny42ju)(eslint@8.47.0) eslint-plugin-react: - specifier: 7.33.1 - version: 7.33.1(eslint@8.47.0) + specifier: 7.33.2 + version: 7.33.2(eslint@8.47.0) eslint-plugin-storybook: specifier: 0.6.13 version: 0.6.13(eslint@8.47.0)(typescript@5.1.6) @@ -1358,8 +1355,8 @@ importers: specifier: 1.10.12 version: 1.10.12(eslint@8.47.0) next: - specifier: 13.4.16 - version: 13.4.16(@babel/core@7.22.10)(react-dom@18.2.0)(react@18.2.0) + specifier: 13.4.17 + version: 13.4.17(@babel/core@7.22.10)(react-dom@18.2.0)(react@18.2.0) resolve-pkg-maps: specifier: 1.0.0 version: 1.0.0 @@ -1423,12 +1420,15 @@ importers: libphonenumber-js: specifier: 1.10.41 version: 1.10.41 + locale-includes: + specifier: 1.0.5 + version: 1.0.5 localized-address-format: specifier: 1.3.1 version: 1.3.1 nextjs-routes: specifier: 2.0.1 - version: 2.0.1(next@13.4.16) + version: 2.0.1(next@13.4.17) probe-image-size: specifier: 7.2.3 version: 7.2.3 @@ -1468,7 +1468,7 @@ importers: version: 8.0.2 '@geometricpanda/storybook-addon-badges': specifier: 2.0.0 - version: 2.0.0(@storybook/blocks@7.3.0)(@storybook/components@7.3.0)(@storybook/core-events@7.3.0)(@storybook/manager-api@7.3.0)(@storybook/preview-api@7.3.0)(@storybook/theming@7.3.0)(@storybook/types@7.3.0)(react-dom@18.2.0)(react@18.2.0) + version: 2.0.0(@storybook/blocks@7.3.1)(@storybook/components@7.3.1)(@storybook/core-events@7.3.1)(@storybook/manager-api@7.3.1)(@storybook/preview-api@7.3.1)(@storybook/theming@7.3.1)(@storybook/types@7.3.1)(react-dom@18.2.0)(react@18.2.0) '@iconify-json/carbon': specifier: 1.1.19 version: 1.1.19 @@ -1513,7 +1513,7 @@ importers: version: 6.0.19(@mantine/core@6.0.19)(@mantine/hooks@6.0.19)(react-dom@18.2.0)(react@18.2.0) '@mantine/next': specifier: 6.0.19 - version: 6.0.19(@emotion/react@11.11.1)(@emotion/server@11.11.0)(next@13.4.16)(react-dom@18.2.0)(react@18.2.0) + version: 6.0.19(@emotion/react@11.11.1)(@emotion/server@11.11.0)(next@13.4.17)(react-dom@18.2.0)(react@18.2.0) '@mantine/notifications': specifier: 6.0.19 version: 6.0.19(@mantine/core@6.0.19)(@mantine/hooks@6.0.19)(react-dom@18.2.0)(react@18.2.0) @@ -1528,55 +1528,55 @@ importers: version: 6.0.19(@mantine/core@6.0.19)(@mantine/hooks@6.0.19)(react-dom@18.2.0)(react@18.2.0) '@mantine/tiptap': specifier: 6.0.19 - version: 6.0.19(@mantine/core@6.0.19)(@mantine/hooks@6.0.19)(@tabler/icons-react@2.30.0)(@tiptap/extension-link@2.0.4)(@tiptap/react@2.0.4)(react@18.2.0) + version: 6.0.19(@mantine/core@6.0.19)(@mantine/hooks@6.0.19)(@tabler/icons-react@2.30.0)(@tiptap/extension-link@2.1.1)(@tiptap/react@2.1.1)(react@18.2.0) '@mantine/utils': specifier: 6.0.19 version: 6.0.19(react@18.2.0) '@storybook/addon-a11y': - specifier: 7.3.0 - version: 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + specifier: 7.3.1 + version: 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) '@storybook/addon-actions': - specifier: 7.3.0 - version: 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + specifier: 7.3.1 + version: 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) '@storybook/addon-designs': - specifier: 7.0.4 - version: 7.0.4(@storybook/addon-docs@7.3.0)(@storybook/addons@7.3.0)(@storybook/components@7.3.0)(@storybook/manager-api@7.3.0)(@storybook/preview-api@7.3.0)(@storybook/theming@7.3.0)(react-dom@18.2.0)(react@18.2.0) + specifier: 7.0.5 + version: 7.0.5(@storybook/addon-docs@7.3.1)(@storybook/addons@7.3.0)(@storybook/components@7.3.1)(@storybook/manager-api@7.3.1)(@storybook/preview-api@7.3.1)(@storybook/theming@7.3.1)(react-dom@18.2.0)(react@18.2.0) '@storybook/addon-docs': - specifier: 7.3.0 - version: 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + specifier: 7.3.1 + version: 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) '@storybook/addon-essentials': - specifier: 7.3.0 - version: 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + specifier: 7.3.1 + version: 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) '@storybook/addon-interactions': - specifier: 7.3.0 - version: 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + specifier: 7.3.1 + version: 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) '@storybook/addon-links': - specifier: 7.3.0 - version: 7.3.0(react-dom@18.2.0)(react@18.2.0) + specifier: 7.3.1 + version: 7.3.1(react-dom@18.2.0)(react@18.2.0) '@storybook/addon-viewport': - specifier: 7.3.0 - version: 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + specifier: 7.3.1 + version: 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) '@storybook/components': - specifier: 7.3.0 - version: 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + specifier: 7.3.1 + version: 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) '@storybook/core-events': - specifier: 7.3.0 - version: 7.3.0 + specifier: 7.3.1 + version: 7.3.1 '@storybook/jest': - specifier: 0.1.0 - version: 0.1.0 + specifier: 0.2.0 + version: 0.2.0 '@storybook/manager-api': - specifier: 7.3.0 - version: 7.3.0(react-dom@18.2.0)(react@18.2.0) + specifier: 7.3.1 + version: 7.3.1(react-dom@18.2.0)(react@18.2.0) '@storybook/nextjs': - specifier: 7.3.0 - version: 7.3.0(@swc/core@1.3.76)(@types/react-dom@18.2.7)(@types/react@18.2.20)(esbuild@0.18.20)(next@13.4.16)(react-dom@18.2.0)(react@18.2.0)(type-fest@4.2.0)(typescript@5.1.6)(webpack@5.88.2) + specifier: 7.3.1 + version: 7.3.1(@swc/core@1.3.76)(@types/react-dom@18.2.7)(@types/react@18.2.20)(esbuild@0.18.20)(next@13.4.17)(react-dom@18.2.0)(react@18.2.0)(type-fest@4.2.0)(typescript@5.1.6)(webpack@5.88.2) '@storybook/preview-api': - specifier: 7.3.0 - version: 7.3.0 + specifier: 7.3.1 + version: 7.3.1 '@storybook/react': - specifier: 7.3.0 - version: 7.3.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.1.6) + specifier: 7.3.1 + version: 7.3.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.1.6) '@storybook/test-runner': specifier: 0.13.0 version: 0.13.0(@types/node@18.17.5) @@ -1584,11 +1584,11 @@ importers: specifier: 0.2.0 version: 0.2.0 '@storybook/theming': - specifier: 7.3.0 - version: 7.3.0(react-dom@18.2.0)(react@18.2.0) + specifier: 7.3.1 + version: 7.3.1(react-dom@18.2.0)(react@18.2.0) '@storybook/types': - specifier: 7.3.0 - version: 7.3.0 + specifier: 7.3.1 + version: 7.3.1 '@tanstack/react-query': specifier: 4.32.6 version: 4.32.6(react-dom@18.2.0)(react@18.2.0) @@ -1602,23 +1602,23 @@ importers: specifier: 8.7.6 version: 8.7.6(react-dom@18.2.0)(react@18.2.0) '@tiptap/extension-link': - specifier: 2.0.4 - version: 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4) + specifier: 2.1.1 + version: 2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4) '@tiptap/react': - specifier: 2.0.4 - version: 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4)(react-dom@18.2.0)(react@18.2.0) + specifier: 2.1.1 + version: 2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4)(react-dom@18.2.0)(react@18.2.0) '@tiptap/starter-kit': - specifier: 2.0.4 - version: 2.0.4(@tiptap/pm@2.0.4) + specifier: 2.1.1 + version: 2.1.1(@tiptap/pm@2.0.4) '@tomfreudenberg/next-auth-mock': specifier: 0.5.6 - version: 0.5.6(next-auth@4.23.0)(react@18.2.0) + version: 0.5.6(next-auth@4.23.1)(react@18.2.0) '@trpc/client': specifier: 10.37.1 version: 10.37.1(@trpc/server@10.37.1) '@trpc/next': specifier: 10.37.1 - version: 10.37.1(@tanstack/react-query@4.32.6)(@trpc/client@10.37.1)(@trpc/react-query@10.37.1)(@trpc/server@10.37.1)(next@13.4.16)(react-dom@18.2.0)(react@18.2.0) + version: 10.37.1(@tanstack/react-query@4.32.6)(@trpc/client@10.37.1)(@trpc/react-query@10.37.1)(@trpc/server@10.37.1)(next@13.4.17)(react-dom@18.2.0)(react@18.2.0) '@trpc/react-query': specifier: 10.37.1 version: 10.37.1(@tanstack/react-query@4.32.6)(@trpc/client@10.37.1)(@trpc/server@10.37.1)(react-dom@18.2.0)(react@18.2.0) @@ -1709,6 +1709,9 @@ importers: luxon: specifier: 3.4.0 version: 3.4.0 + mantine-react-table: + specifier: 1.1.1 + version: 1.1.1(@emotion/react@11.11.1)(@mantine/core@6.0.19)(@mantine/dates@6.0.19)(@mantine/hooks@6.0.19)(@tabler/icons-react@2.30.0)(react-dom@18.2.0)(react@18.2.0) merge-anything: specifier: 5.1.7 version: 5.1.7 @@ -1719,17 +1722,17 @@ importers: specifier: 1.8.0 version: 1.8.0(msw@1.2.3) next: - specifier: 13.4.16 - version: 13.4.16(@babel/core@7.22.10)(react-dom@18.2.0)(react@18.2.0) + specifier: 13.4.17 + version: 13.4.17(@babel/core@7.22.10)(react-dom@18.2.0)(react@18.2.0) next-auth: - specifier: 4.23.0 - version: 4.23.0(patch_hash=5rcmqpbec3t4wwdelpjvypkzei)(next@13.4.16)(react-dom@18.2.0)(react@18.2.0) + specifier: 4.23.1 + version: 4.23.1(next@13.4.17)(react-dom@18.2.0)(react@18.2.0) next-i18next: specifier: 14.0.0 - version: 14.0.0(i18next@23.4.4)(next@13.4.16)(react-i18next@13.1.2)(react@18.2.0) + version: 14.0.0(i18next@23.4.4)(next@13.4.17)(react-i18next@13.1.2)(react@18.2.0) next-router-mock: specifier: 0.9.9 - version: 0.9.9(next@13.4.16)(react@18.2.0) + version: 0.9.9(next@13.4.17)(react@18.2.0) postcss-loader: specifier: 7.3.3 version: 7.3.3(postcss@8.4.27)(webpack@5.88.2) @@ -1761,11 +1764,11 @@ importers: specifier: 1.6.6 version: 1.6.6 storybook: - specifier: 7.3.0 - version: 7.3.0 + specifier: 7.3.1 + version: 7.3.1 storybook-addon-pseudo-states: specifier: 2.1.0 - version: 2.1.0(@storybook/components@7.3.0)(@storybook/core-events@7.3.0)(@storybook/manager-api@7.3.0)(@storybook/preview-api@7.3.0)(@storybook/theming@7.3.0)(react-dom@18.2.0)(react@18.2.0) + version: 2.1.0(@storybook/components@7.3.1)(@storybook/core-events@7.3.1)(@storybook/manager-api@7.3.1)(@storybook/preview-api@7.3.1)(@storybook/theming@7.3.1)(react-dom@18.2.0)(react@18.2.0) storybook-addon-swc: specifier: 1.2.0 version: 1.2.0(@swc/core@1.3.76)(webpack@5.88.2) @@ -1797,8 +1800,8 @@ importers: specifier: 5.88.2 version: 5.88.2(@swc/core@1.3.76)(esbuild@0.18.20) zod: - specifier: 3.22.0 - version: 3.22.0 + specifier: 3.22.1 + version: 3.22.1 packages/util: dependencies: @@ -5063,7 +5066,7 @@ packages: /@floating-ui/utils@0.1.1: resolution: {integrity: sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw==} - /@geometricpanda/storybook-addon-badges@2.0.0(@storybook/blocks@7.3.0)(@storybook/components@7.3.0)(@storybook/core-events@7.3.0)(@storybook/manager-api@7.3.0)(@storybook/preview-api@7.3.0)(@storybook/theming@7.3.0)(@storybook/types@7.3.0)(react-dom@18.2.0)(react@18.2.0): + /@geometricpanda/storybook-addon-badges@2.0.0(@storybook/blocks@7.3.1)(@storybook/components@7.3.1)(@storybook/core-events@7.3.1)(@storybook/manager-api@7.3.1)(@storybook/preview-api@7.3.1)(@storybook/theming@7.3.1)(@storybook/types@7.3.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-M1CQabr1/IDG6ku0/+n6kZBvWTCSun7LndkGsaB89nTNaCcflWxflgY2HdcbjblLL8W0iT7QiW9TgWP4kcpn5Q==} peerDependencies: '@storybook/blocks': ^7.0.0 @@ -5081,13 +5084,13 @@ packages: react-dom: optional: true dependencies: - '@storybook/blocks': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/components': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.3.0 - '@storybook/manager-api': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.3.0 - '@storybook/theming': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.3.0 + '@storybook/blocks': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/components': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-events': 7.3.1 + '@storybook/manager-api': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.3.1 + '@storybook/theming': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.3.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true @@ -5720,7 +5723,7 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - /@mantine/next@6.0.19(@emotion/react@11.11.1)(@emotion/server@11.11.0)(next@13.4.16)(react-dom@18.2.0)(react@18.2.0): + /@mantine/next@6.0.19(@emotion/react@11.11.1)(@emotion/server@11.11.0)(next@13.4.17)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-XzWIpIPU+I/nCoHo5P9XYgKEvDXs0GwZf8UgF1CpscoBK3b5x3y0gk612tnr1YZW46lcEuL9j7Ky745w3PPLNQ==} peerDependencies: next: '*' @@ -5729,7 +5732,7 @@ packages: dependencies: '@mantine/ssr': 6.0.19(@emotion/react@11.11.1)(@emotion/server@11.11.0)(react-dom@18.2.0)(react@18.2.0) '@mantine/styles': 6.0.19(@emotion/react@11.11.1)(react-dom@18.2.0)(react@18.2.0) - next: 13.4.16(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0) + next: 13.4.17(@babel/core@7.22.10)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: @@ -5822,7 +5825,7 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - /@mantine/tiptap@6.0.19(@mantine/core@6.0.19)(@mantine/hooks@6.0.19)(@tabler/icons-react@2.30.0)(@tiptap/extension-link@2.0.4)(@tiptap/react@2.0.4)(react@18.2.0): + /@mantine/tiptap@6.0.19(@mantine/core@6.0.19)(@mantine/hooks@6.0.19)(@tabler/icons-react@2.30.0)(@tiptap/extension-link@2.1.1)(@tiptap/react@2.1.1)(react@18.2.0): resolution: {integrity: sha512-reQkcB9aCQanmPVi60r5ifmqjEKFFtPef/rtPHY6YHHdQsTiMKuRD4t6BL342Da5SeK3srDUA3n3NQY2/Sn4Vg==} peerDependencies: '@mantine/core': 6.0.19 @@ -5836,8 +5839,8 @@ packages: '@mantine/hooks': 6.0.19(react@18.2.0) '@mantine/utils': 6.0.19(react@18.2.0) '@tabler/icons-react': 2.30.0(react@18.2.0) - '@tiptap/extension-link': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4) - '@tiptap/react': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4)(react-dom@18.2.0)(react@18.2.0) + '@tiptap/extension-link': 2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4) + '@tiptap/react': 2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 /@mantine/utils@6.0.19(react@18.2.0): @@ -6127,99 +6130,99 @@ packages: '@types/pg': 8.6.6 dev: false - /@next-auth/prisma-adapter@1.0.7(@prisma/client@5.1.1)(next-auth@4.23.0): + /@next-auth/prisma-adapter@1.0.7(@prisma/client@5.1.1)(next-auth@4.23.1): resolution: {integrity: sha512-Cdko4KfcmKjsyHFrWwZ//lfLUbcLqlyFqjd/nYE2m3aZ7tjMNUjpks47iw7NTCnXf+5UWz5Ypyt1dSs1EP5QJw==} peerDependencies: '@prisma/client': '>=2.26.0 || >=3' next-auth: ^4 dependencies: '@prisma/client': 5.1.1(prisma@5.1.1) - next-auth: 4.23.0(patch_hash=5rcmqpbec3t4wwdelpjvypkzei)(next@13.4.16)(react-dom@18.2.0)(react@18.2.0) + next-auth: 4.23.1(next@13.4.17)(react-dom@18.2.0)(react@18.2.0) dev: false - /@next/bundle-analyzer@13.4.16: - resolution: {integrity: sha512-9YO6o7YeWAn7j5zlYE5oVKYxpP/3aCnh7q4niwOBeHmafmWjhkVrxi0g0t2ds19vnsBm73hNcyeXzTi/T2hE+Q==} + /@next/bundle-analyzer@13.4.17: + resolution: {integrity: sha512-bU7O9Wxx2rIMBstQpldLjBmZhqduzn34IVd+mGkRUdYujEdMRopp/aWy6bL/5J5kr//KnrIskHPHUV8ytSj7rA==} dependencies: webpack-bundle-analyzer: 4.7.0 transitivePeerDependencies: - bufferutil - utf-8-validate - /@next/env@13.4.16: - resolution: {integrity: sha512-pCU0sJBqdfKP9mwDadxvZd+eLz3fZrTlmmDHY12Hdpl3DD0vy8ou5HWKVfG0zZS6tqhL4wnQqRbspdY5nqa7MA==} + /@next/env@13.4.17: + resolution: {integrity: sha512-rSGmt25Wxk0vGzZxDWBLE8jVW/C/JN20P3IhHc2tKVajEGy/oxStD9PbqcbCz6yOub82jYAWLqnoMITnssB+3g==} - /@next/eslint-plugin-next@13.4.16: - resolution: {integrity: sha512-QuFtQl+oSEEQb0HMYBdvBoUaTiMxbY3go/MFkF3zOnfY0t84+IbAX78cw8ZCfr6cA6UcTq3nMIlCrHwDC/moxg==} + /@next/eslint-plugin-next@13.4.17: + resolution: {integrity: sha512-9hiKD44zfoYgdKFBgy60qDd9STyu85xQ3yfHDgrYedTxgCLAKHqqbd6C9qFN1UIiVZo2XF3Dh5MVYGuBYgTS8w==} dependencies: glob: 7.1.7 dev: true - /@next/swc-darwin-arm64@13.4.16: - resolution: {integrity: sha512-Rl6i1uUq0ciRa3VfEpw6GnWAJTSKo9oM2OrkGXPsm7rMxdd2FR5NkKc0C9xzFCI4+QtmBviWBdF2m3ur3Nqstw==} + /@next/swc-darwin-arm64@13.4.17: + resolution: {integrity: sha512-dzsHchMmBwa6w6Gf5sp5+WmVt9/H4KWdSHy45aFE/UNmgr9V9eKfTW29k9Np9glLCEzrwnU1MztbAqDrnV9gEA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@next/swc-darwin-x64@13.4.16: - resolution: {integrity: sha512-o1vIKYbZORyDmTrPV1hApt9NLyWrS5vr2p5hhLGpOnkBY1cz6DAXjv8Lgan8t6X87+83F0EUDlu7klN8ieZ06A==} + /@next/swc-darwin-x64@13.4.17: + resolution: {integrity: sha512-iH6UpMj3S40cZkJwYD+uBsAYACNu9TUCae47q2kqx1WzO3JuN/m5Zg22Cpwum/HLRJUa7ysJva/FG2noXbI0yw==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@next/swc-linux-arm64-gnu@13.4.16: - resolution: {integrity: sha512-JRyAl8lCfyTng4zoOmE6hNI2f1MFUr7JyTYCHl1RxX42H4a5LMwJhDVQ7a9tmDZ/yj+0hpBn+Aan+d6lA3v0UQ==} + /@next/swc-linux-arm64-gnu@13.4.17: + resolution: {integrity: sha512-yj3YKGkSg52GL+4XhdfidibYJoq/5pYkQAc8Z4Q1e1nJ7CTOKn4KobTDLXqC5QVJncQRxC2u6vGaMLBe2UUa5Q==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@next/swc-linux-arm64-musl@13.4.16: - resolution: {integrity: sha512-9gqVqNzUMWbUDgDiND18xoUqhwSm2gmksqXgCU0qaOKt6oAjWz8cWYjgpPVD0WICKFylEY/gvPEP1fMZDVFZ/g==} + /@next/swc-linux-arm64-musl@13.4.17: + resolution: {integrity: sha512-w8+8ShThIgIgIkLk22NY+ZMF/yf5Dl6+tqOaNUzXy6b0gQSwtpVb0t4eSTx2VUqRxLl36dv9cqomGbthvuPiGA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@next/swc-linux-x64-gnu@13.4.16: - resolution: {integrity: sha512-KcQGwchAKmZVPa8i5PLTxvTs1/rcFnSltfpTm803Tr/BtBV3AxCkHLfhtoyVtVzx/kl/oue8oS+DSmbepQKwhw==} + /@next/swc-linux-x64-gnu@13.4.17: + resolution: {integrity: sha512-IQlJNdxvfqgHxJU6ITERf9qaA0m6mRo/gD0al/5CcXvs6cDihR/UzI09Bc+3vQSJV3ACAzrZjsF7dtdzVutvog==} engines: {node: '>= 10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@next/swc-linux-x64-musl@13.4.16: - resolution: {integrity: sha512-2RbMZNxYnJmW8EPHVBsGZPq5zqWAyBOc/YFxq/jIQ/Yn3RMFZ1dZVCjtIcsiaKmgh7mjA/W0ApbumutHNxRqqQ==} + /@next/swc-linux-x64-musl@13.4.17: + resolution: {integrity: sha512-retAiJGtOS216pqAcNOwBUOqgqDH7kYzzj4jLrfVcb/sCQJ+JawMwayc3LEbpvMDZx8CHLECcs6bB45mMxkZEw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@next/swc-win32-arm64-msvc@13.4.16: - resolution: {integrity: sha512-thDcGonELN7edUKzjzlHrdoKkm7y8IAdItQpRvvMxNUXa4d9r0ElofhTZj5emR7AiXft17hpen+QAkcWpqG7Jg==} + /@next/swc-win32-arm64-msvc@13.4.17: + resolution: {integrity: sha512-PtaemQL9rwoRtS6kgjXxfRQLUbzBmtMxaXZTBnKnb+EjrDFkC+YI82kktL97LMrHRGQsMJcBQQtNQDJCBJmu2Q==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@next/swc-win32-ia32-msvc@13.4.16: - resolution: {integrity: sha512-f7SE1Mo4JAchUWl0LQsbtySR9xCa+x55C0taetjUApKtcLR3AgAjASrrP+oE1inmLmw573qRnE1eZN8YJfEBQw==} + /@next/swc-win32-ia32-msvc@13.4.17: + resolution: {integrity: sha512-5jJVxit2B3g/zRWJJ6/YeMHBch7PL10O5qR5BZyuFCoO/bg6MPtz5+U+FvbVCSgCKePU19lRGNsyX+BAu/V+vw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@next/swc-win32-x64-msvc@13.4.16: - resolution: {integrity: sha512-WamDZm1M/OEM4QLce3lOmD1XdLEl37zYZwlmOLhmF7qYJ2G6oYm9+ejZVv+LakQIsIuXhSpVlOvrxIAHqwRkPQ==} + /@next/swc-win32-x64-msvc@13.4.17: + resolution: {integrity: sha512-3QOf2LfziycZW1iVgiA63xVVUMkawurZJ/jwgBqziUNw4r8XHLenNTgbn5XcdHqKuZKUuLSi/6v1/4myGWM0GA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -8052,7 +8055,7 @@ packages: tslib: 2.6.1 dev: false - /@sentry/nextjs@7.64.0(next@13.4.16)(react@18.2.0): + /@sentry/nextjs@7.64.0(next@13.4.17)(react@18.2.0): resolution: {integrity: sha512-hKlIQpFugdRlWj0wcEG9I8JyVm/osdsE72zwMBGnmCw/jf7U63vjOjfxMe/gRuvllCf/AvoGHEkR5jPufcO+bw==} engines: {node: '>=8'} peerDependencies: @@ -8072,7 +8075,7 @@ packages: '@sentry/utils': 7.64.0 '@sentry/webpack-plugin': 1.20.0 chalk: 3.0.0 - next: 13.4.16(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0) + next: 13.4.17(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 rollup: 2.78.0 stacktrace-parser: 0.1.10 @@ -8601,8 +8604,8 @@ packages: resolution: {integrity: sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==} dev: true - /@storybook/addon-a11y@7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-MdUv6kI4CSfAaOnsZYTCGnyHm8xHewEbVXQ966WSh6aUuTvRaiwX/eZu2Fk4ZA8WtIs8cuS0/YA+dcdxvwwwTA==} + /@storybook/addon-a11y@7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-rvh1rYaOpBSKXVpWWkeaJEBHkH1yEjbW+mFixeS8HMV0ozwRPM+BdXS91qYV9kwl0+dHqy+K3Fx8XWTaCr6y6A==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 @@ -8612,16 +8615,16 @@ packages: react-dom: optional: true dependencies: - '@storybook/addon-highlight': 7.3.0 - '@storybook/channels': 7.3.0 - '@storybook/client-logger': 7.3.0 - '@storybook/components': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.3.0 + '@storybook/addon-highlight': 7.3.1 + '@storybook/channels': 7.3.1 + '@storybook/client-logger': 7.3.1 + '@storybook/components': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-events': 7.3.1 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.3.0 - '@storybook/theming': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.3.0 + '@storybook/manager-api': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.3.1 + '@storybook/theming': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.3.1 axe-core: 4.7.2 lodash: 4.17.21 react: 18.2.0 @@ -8632,8 +8635,8 @@ packages: - '@types/react-dom' dev: true - /@storybook/addon-actions@7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-JOEbJ4eDUDaW9bx7yAg5/3Mglj2uxNZAlSIV1YM2MF4R4Tc7vM6EnmBavUwC+9iSvoSzupG9EnO12ZcAB/2oAQ==} + /@storybook/addon-actions@7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-wZQLNRgDrhHh/5BtJzjFzEI77B1+0U3M5adn3GrJor9JJIGC6xGYGWIqNjJs8IppT0HoYhoNkB/V89IO/8NVWA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 @@ -8643,14 +8646,14 @@ packages: react-dom: optional: true dependencies: - '@storybook/client-logger': 7.3.0 - '@storybook/components': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.3.0 + '@storybook/client-logger': 7.3.1 + '@storybook/components': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-events': 7.3.1 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.3.0 - '@storybook/theming': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.3.0 + '@storybook/manager-api': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.3.1 + '@storybook/theming': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.3.1 dequal: 2.0.3 lodash: 4.17.21 polished: 4.2.2 @@ -8666,8 +8669,8 @@ packages: - '@types/react-dom' dev: true - /@storybook/addon-backgrounds@7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-ZczNrcfXII6OuybeUr2r3H+d++OFIEOwktFSFO20kfGegNHFLr6URVqzSUUQlTyR/J7QgXFlMBwKSvZfxjMQlg==} + /@storybook/addon-backgrounds@7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Br6qfUlynXhuwtuQL78fpPMNZQGsUYwU5BqJpNe3x43N0K3t4qyGz8nXIV+X3adJbGVQGDlXHRVAZAW4GyTLCQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 @@ -8677,14 +8680,14 @@ packages: react-dom: optional: true dependencies: - '@storybook/client-logger': 7.3.0 - '@storybook/components': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.3.0 + '@storybook/client-logger': 7.3.1 + '@storybook/components': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-events': 7.3.1 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.3.0 - '@storybook/theming': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.3.0 + '@storybook/manager-api': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.3.1 + '@storybook/theming': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.3.1 memoizerific: 1.11.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -8694,8 +8697,8 @@ packages: - '@types/react-dom' dev: true - /@storybook/addon-controls@7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-I8uC3KW2rVdT/7bvMzW48tJOJC6Vwg7zD4N6sQjcgo0uY39infvSWYzqeO2euHt5J1h3m538BacY/XShQhxvWQ==} + /@storybook/addon-controls@7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-4izb5spfoXZYFW0hiF9fqagYY8XMQapLDtSPdcdp40mEvb/2XgIfGfdnh63nEEjLMCQcO7PyK5U8EuH64NCKkg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 @@ -8705,16 +8708,16 @@ packages: react-dom: optional: true dependencies: - '@storybook/blocks': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/client-logger': 7.3.0 - '@storybook/components': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-common': 7.3.0 - '@storybook/core-events': 7.3.0 - '@storybook/manager-api': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/node-logger': 7.3.0 - '@storybook/preview-api': 7.3.0 - '@storybook/theming': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.3.0 + '@storybook/blocks': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/client-logger': 7.3.1 + '@storybook/components': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-common': 7.3.1 + '@storybook/core-events': 7.3.1 + '@storybook/manager-api': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/node-logger': 7.3.1 + '@storybook/preview-api': 7.3.1 + '@storybook/theming': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.3.1 lodash: 4.17.21 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -8726,8 +8729,8 @@ packages: - supports-color dev: true - /@storybook/addon-designs@7.0.4(@storybook/addon-docs@7.3.0)(@storybook/addons@7.3.0)(@storybook/components@7.3.0)(@storybook/manager-api@7.3.0)(@storybook/preview-api@7.3.0)(@storybook/theming@7.3.0)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-u2Nxa69C6/VuuVI/Uc0vB2Hk+TOt2L/bAatowRBLcVtv7HiDpNuuc7OyW9QJMIzXZ6aVLjI59k53llz7BfExbA==} + /@storybook/addon-designs@7.0.5(@storybook/addon-docs@7.3.1)(@storybook/addons@7.3.0)(@storybook/components@7.3.1)(@storybook/manager-api@7.3.1)(@storybook/preview-api@7.3.1)(@storybook/theming@7.3.1)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-yB1YwkVhnTI28mS+00avAf7vPAppZi2pdXQF91725g+RoiM7llY87q+c1z2/YiQNQYNm2QXpYcrcYiLQzyr0NQ==} peerDependencies: '@storybook/addon-docs': ^7.0.0 '@storybook/addons': ^7.0.0 @@ -8744,37 +8747,37 @@ packages: optional: true dependencies: '@figspec/react': 1.0.3(react@18.2.0) - '@storybook/addon-docs': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-docs': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) '@storybook/addons': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/components': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/manager-api': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.3.0 - '@storybook/theming': 7.3.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/components': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/manager-api': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.3.1 + '@storybook/theming': 7.3.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/addon-docs@7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-MQWd7Rdbk3Rt8NYZ5l2Zi7YzGaSyRztRqRvqZcLcyCll+2fOHPbMy1MEoUgKqw1esevLJOG01FWkUk0Y6Qd8Lw==} + /@storybook/addon-docs@7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-GjCE2+L7frDNsC3w7KLM8HZS71K0UL4pX7unaO4OYFZXbJecJFYYsC12dPGz9d34moTXGsPTJ5KXTmYBGFmXBg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 dependencies: '@jest/transform': 29.6.2 '@mdx-js/react': 2.3.0(react@18.2.0) - '@storybook/blocks': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/client-logger': 7.3.0 - '@storybook/components': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/csf-plugin': 7.3.0 - '@storybook/csf-tools': 7.3.0 + '@storybook/blocks': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/client-logger': 7.3.1 + '@storybook/components': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/csf-plugin': 7.3.1 + '@storybook/csf-tools': 7.3.1 '@storybook/global': 5.0.0 '@storybook/mdx2-csf': 1.1.0 - '@storybook/node-logger': 7.3.0 - '@storybook/postinstall': 7.3.0 - '@storybook/preview-api': 7.3.0 - '@storybook/react-dom-shim': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/theming': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.3.0 + '@storybook/node-logger': 7.3.1 + '@storybook/postinstall': 7.3.1 + '@storybook/preview-api': 7.3.1 + '@storybook/react-dom-shim': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/theming': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.3.1 fs-extra: 11.1.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -8788,25 +8791,25 @@ packages: - supports-color dev: true - /@storybook/addon-essentials@7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-yHnQpT/Vjff4Xufxtl81+fVGCE9VowKItXs7TjE0OXNMZaKjMOtddti/zsOAu0v/uUZV9PIu1xrPH+jGTeHXlA==} + /@storybook/addon-essentials@7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-3sVzE1c84MH4Q2i/MpJZuCk1GgLYrL+Ef4lU9j0/XNK6E/Ock/H8WnPTA6lYp9x3IxNfrLVtuNeXSBGHker1JA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 dependencies: - '@storybook/addon-actions': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-backgrounds': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-controls': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-docs': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-highlight': 7.3.0 - '@storybook/addon-measure': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-outline': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-toolbars': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-viewport': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-common': 7.3.0 - '@storybook/manager-api': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/node-logger': 7.3.0 - '@storybook/preview-api': 7.3.0 + '@storybook/addon-actions': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-backgrounds': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-controls': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-docs': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-highlight': 7.3.1 + '@storybook/addon-measure': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-outline': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-toolbars': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-viewport': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-common': 7.3.1 + '@storybook/manager-api': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/node-logger': 7.3.1 + '@storybook/preview-api': 7.3.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) ts-dedent: 2.2.0 @@ -8817,16 +8820,16 @@ packages: - supports-color dev: true - /@storybook/addon-highlight@7.3.0: - resolution: {integrity: sha512-Rsl1+/KiNuh0doTtbyDv9jO6kg6b/5LqLz0p84o+DcEwYGTQnfvPMs2e8q38DNF8HBEw4PJdWkSHlJkex56xPA==} + /@storybook/addon-highlight@7.3.1: + resolution: {integrity: sha512-RkiD2hH8JR4ISNXIxnyt3zZ4i8gNmbXR7FptmBk4bnYULHa3iWE+NZxmlpDUUO+50iPmjstgVgDId1aNeLhP0w==} dependencies: - '@storybook/core-events': 7.3.0 + '@storybook/core-events': 7.3.1 '@storybook/global': 5.0.0 - '@storybook/preview-api': 7.3.0 + '@storybook/preview-api': 7.3.1 dev: true - /@storybook/addon-interactions@7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-k4Eh0++cgFy4nicvdx9lJKnM8CPDXfXPkSyrAJeWnA5XIw9EVHflUexYjzUv4dzrpy174Y8z2IwLYo2GLGnwbQ==} + /@storybook/addon-interactions@7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-6ogXTIxQCpm8GLn20vRmj7g6fCzPScxpdy0Y/stgnCPeguwpVqGKEdUjY/8LA85fZKo6uTRb5LbDBcuVF9s5fw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 @@ -8836,16 +8839,16 @@ packages: react-dom: optional: true dependencies: - '@storybook/client-logger': 7.3.0 - '@storybook/components': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-common': 7.3.0 - '@storybook/core-events': 7.3.0 + '@storybook/client-logger': 7.3.1 + '@storybook/components': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-common': 7.3.1 + '@storybook/core-events': 7.3.1 '@storybook/global': 5.0.0 - '@storybook/instrumenter': 7.3.0 - '@storybook/manager-api': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.3.0 - '@storybook/theming': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.3.0 + '@storybook/instrumenter': 7.3.1 + '@storybook/manager-api': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.3.1 + '@storybook/theming': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.3.1 jest-mock: 27.5.1 polished: 4.2.2 react: 18.2.0 @@ -8858,8 +8861,8 @@ packages: - supports-color dev: true - /@storybook/addon-links@7.3.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-CLYjhaSYDGX9Y8DNK1IDRwWg3dMREutu4e3uRB2sIVzs3QhF7cOKNWpojTwS4EJ3WxnBoVKIossMI6pjUn+EWg==} + /@storybook/addon-links@7.3.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-JL3zdC1GWwRU+F4CslHVfjAB0ciSNS6+si/KvXOy2Y9S4uRgYkp2IWnuOFmZGpifgSdQbjGvLnj0fuw/hO+IcA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 @@ -8869,22 +8872,22 @@ packages: react-dom: optional: true dependencies: - '@storybook/client-logger': 7.3.0 - '@storybook/core-events': 7.3.0 + '@storybook/client-logger': 7.3.1 + '@storybook/core-events': 7.3.1 '@storybook/csf': 0.1.1 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.3.0 - '@storybook/router': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.3.0 + '@storybook/manager-api': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.3.1 + '@storybook/router': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.3.1 prop-types: 15.8.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) ts-dedent: 2.2.0 dev: true - /@storybook/addon-measure@7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-c4p0LdsphOQAHWakBxKa4CWUuhyslDXcp+N+TxpMSJ6Ra2jXvPUy+8fhLNuCBZtrJ+DMEctjAGgDOcsxiZSsdg==} + /@storybook/addon-measure@7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-YUwV16qVgyLcP1jhOgxMFVzifgqFTcdbaVK9Ln7mEG3zKnappdAhoUOI0mpNdVxwfYis4RXNDruAry/lzsMr9A==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 @@ -8894,13 +8897,13 @@ packages: react-dom: optional: true dependencies: - '@storybook/client-logger': 7.3.0 - '@storybook/components': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.3.0 + '@storybook/client-logger': 7.3.1 + '@storybook/components': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-events': 7.3.1 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.3.0 - '@storybook/types': 7.3.0 + '@storybook/manager-api': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.3.1 + '@storybook/types': 7.3.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tiny-invariant: 1.3.1 @@ -8909,8 +8912,8 @@ packages: - '@types/react-dom' dev: true - /@storybook/addon-outline@7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-/KZPi6XlyJmjDyNb+rsN/UQ9F3lm0Co41guQqS3VnwjFz3RaLp8KNfHDXvQZ0Y+MO4L5gPejqOsgz6464pBkOg==} + /@storybook/addon-outline@7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-vZFNr67Ydyolh9jbhYRmrujCQddnX4UxsrBeIPjOqjwy2kgTXNaIDvIPGdhmXoJLd5IsHCKmmI+J1CdAnkZ7hg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 @@ -8920,13 +8923,13 @@ packages: react-dom: optional: true dependencies: - '@storybook/client-logger': 7.3.0 - '@storybook/components': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.3.0 + '@storybook/client-logger': 7.3.1 + '@storybook/components': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-events': 7.3.1 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.3.0 - '@storybook/types': 7.3.0 + '@storybook/manager-api': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.3.1 + '@storybook/types': 7.3.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) ts-dedent: 2.2.0 @@ -8935,8 +8938,8 @@ packages: - '@types/react-dom' dev: true - /@storybook/addon-toolbars@7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-1zK7lVoodN7Es+ay87R+ibzxwYxGEJN/7sWoQpL2CxkmmFD6VxHV9bfrvQmzeKW4PSoGiCWi9QpeSdEk+Wv3Fw==} + /@storybook/addon-toolbars@7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-iOgayzcYPaGhIeG0IH5/5iM6+OOebkg7WMnByQ1QsfjIb9aDGWzP0UCOdK50U1Ez157R8Ovnpa+7nVvMEIEvDQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 @@ -8946,11 +8949,11 @@ packages: react-dom: optional: true dependencies: - '@storybook/client-logger': 7.3.0 - '@storybook/components': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/manager-api': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.3.0 - '@storybook/theming': 7.3.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/client-logger': 7.3.1 + '@storybook/components': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/manager-api': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.3.1 + '@storybook/theming': 7.3.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: @@ -8958,8 +8961,8 @@ packages: - '@types/react-dom' dev: true - /@storybook/addon-viewport@7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-0Zk9swqw6SqWoHGq8Ccu+mHkx0+3RE4oGq+cSxModc5BVgO/dmXeSX5vzbJ0uhZXicu+T3UmbEkt0QnJ5sJCEQ==} + /@storybook/addon-viewport@7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-/eyGhAJjnSATxcZSm8/D6mF28NoTmWguCQWqCJ5SScfOhru+XpatcF/jVR0qm++9tPIEAokPB+53vcVTv6Ix3g==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 @@ -8969,13 +8972,13 @@ packages: react-dom: optional: true dependencies: - '@storybook/client-logger': 7.3.0 - '@storybook/components': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.3.0 + '@storybook/client-logger': 7.3.1 + '@storybook/components': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-events': 7.3.1 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.3.0 - '@storybook/theming': 7.3.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/manager-api': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.3.1 + '@storybook/theming': 7.3.1(react-dom@18.2.0)(react@18.2.0) memoizerific: 1.11.3 prop-types: 15.8.1 react: 18.2.0 @@ -8998,23 +9001,23 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/blocks@7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-MUPK8aY2xyd9dHuKTBRZyDr3R0uj5BkOmbbIOUnub0brO8I8OfFi+lE1A+DdidZI/yBGvs05MJmNKHaSXpkPPA==} + /@storybook/blocks@7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-MIMM5+nU/3/RHEmCmSwkHs3Mq6mwJqUpkWUDPx81sQnq9C5r0NHHNmHGTqxF/SPyptPxmWGI88ETpiidVZK6RQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 dependencies: - '@storybook/channels': 7.3.0 - '@storybook/client-logger': 7.3.0 - '@storybook/components': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.3.0 + '@storybook/channels': 7.3.1 + '@storybook/client-logger': 7.3.1 + '@storybook/components': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-events': 7.3.1 '@storybook/csf': 0.1.1 - '@storybook/docs-tools': 7.3.0 + '@storybook/docs-tools': 7.3.1 '@storybook/global': 5.0.0 - '@storybook/manager-api': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.3.0 - '@storybook/theming': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.3.0 + '@storybook/manager-api': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.3.1 + '@storybook/theming': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.3.1 '@types/lodash': 4.14.197 color-convert: 2.0.1 dequal: 2.0.3 @@ -9036,13 +9039,13 @@ packages: - supports-color dev: true - /@storybook/builder-manager@7.3.0: - resolution: {integrity: sha512-sC5fRPnnbbYDAT4zYBtUJQ1Q/DixzI5ECZs21J+ndLyb96bZjU0uBue8dasI08zNE+hgMD8FpnAqQsCSwk5YeA==} + /@storybook/builder-manager@7.3.1: + resolution: {integrity: sha512-kWM9ZKO1SONUW1OQE1lJafNBWYIsU2ZIQ0oP6KnMsLAauPKMo/uGLVrvmo37MmH9LXdCYTILUMfSQGL2GftgHQ==} dependencies: '@fal-works/esbuild-plugin-global-externals': 2.1.2 - '@storybook/core-common': 7.3.0 - '@storybook/manager': 7.3.0 - '@storybook/node-logger': 7.3.0 + '@storybook/core-common': 7.3.1 + '@storybook/manager': 7.3.1 + '@storybook/node-logger': 7.3.1 '@types/ejs': 3.1.2 '@types/find-cache-dir': 3.2.1 '@yarnpkg/esbuild-plugin-pnp': 3.0.0-rc.15(esbuild@0.18.20) @@ -9060,8 +9063,8 @@ packages: - supports-color dev: true - /@storybook/builder-webpack5@7.3.0(esbuild@0.18.20)(typescript@5.1.6): - resolution: {integrity: sha512-Rf8+9q+y2EjNqLlLuvCgoFAa2j9lCJvbXzy9wEbUizYJuShP8B+sZEPNdd/ASgu/Wz4x58hlstGexWliu9pr2w==} + /@storybook/builder-webpack5@7.3.1(esbuild@0.18.20)(typescript@5.1.6): + resolution: {integrity: sha512-+JHnzrZUpIfwhT114N4DTr6dWH6CQAYiyXAnUjfj8x4gUEFH3jNNxy/pXJmdncYBoHXjquQQoxzcjRF0B0VYWg==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -9069,14 +9072,14 @@ packages: optional: true dependencies: '@babel/core': 7.22.10 - '@storybook/channels': 7.3.0 - '@storybook/client-logger': 7.3.0 - '@storybook/core-common': 7.3.0 - '@storybook/core-events': 7.3.0 - '@storybook/core-webpack': 7.3.0 - '@storybook/node-logger': 7.3.0 - '@storybook/preview': 7.3.0 - '@storybook/preview-api': 7.3.0 + '@storybook/channels': 7.3.1 + '@storybook/client-logger': 7.3.1 + '@storybook/core-common': 7.3.1 + '@storybook/core-events': 7.3.1 + '@storybook/core-webpack': 7.3.1 + '@storybook/node-logger': 7.3.1 + '@storybook/preview': 7.3.1 + '@storybook/preview-api': 7.3.1 '@swc/core': 1.3.76 '@types/node': 16.18.40 '@types/semver': 7.5.0 @@ -9125,21 +9128,32 @@ packages: tiny-invariant: 1.3.1 dev: true - /@storybook/cli@7.3.0: - resolution: {integrity: sha512-CeZfqNsjRnqiVrSeA/hnMylzpypVUkxHwmu0cbUbHhKjV2uEacF7i25bC9FhdcbZUp1geQMBsy4GleMovNTK/A==} + /@storybook/channels@7.3.1: + resolution: {integrity: sha512-DHdUdwfnMOSmtYv55Ixysklo/ZeD3TiTEQvyBaxhnMR3G0j7nb+TxqyfAn4fb7bntOPRNVB1Vz3nZXkkjrPNgw==} + dependencies: + '@storybook/client-logger': 7.3.1 + '@storybook/core-events': 7.3.1 + '@storybook/global': 5.0.0 + qs: 6.11.2 + telejson: 7.1.0 + tiny-invariant: 1.3.1 + dev: true + + /@storybook/cli@7.3.1: + resolution: {integrity: sha512-m7ET8sVIm9nDI9wKFIhs1gYq+txaUwF/PeDLh+hVHOIbTdQ+lmfzgG9BgNrXgsmfijzRdKcLcAJPhhUa3kyjDA==} hasBin: true dependencies: '@babel/core': 7.22.10 '@babel/preset-env': 7.22.10(@babel/core@7.22.10) '@babel/types': 7.22.10 '@ndelangen/get-tarball': 3.0.9 - '@storybook/codemod': 7.3.0 - '@storybook/core-common': 7.3.0 - '@storybook/core-server': 7.3.0 - '@storybook/csf-tools': 7.3.0 - '@storybook/node-logger': 7.3.0 - '@storybook/telemetry': 7.3.0 - '@storybook/types': 7.3.0 + '@storybook/codemod': 7.3.1 + '@storybook/core-common': 7.3.1 + '@storybook/core-server': 7.3.1 + '@storybook/csf-tools': 7.3.1 + '@storybook/node-logger': 7.3.1 + '@storybook/telemetry': 7.3.1 + '@storybook/types': 7.3.1 '@types/semver': 7.5.0 '@yarnpkg/fslib': 2.10.3 '@yarnpkg/libzip': 2.3.0 @@ -9182,16 +9196,22 @@ packages: '@storybook/global': 5.0.0 dev: true - /@storybook/codemod@7.3.0: - resolution: {integrity: sha512-gRBrXSoP79llNBEqdxH2O/M+ED5BSyMfGsqgmXsXPVfnzgoSRWVBCQOW9mw6a986efKPMjb532GK4nbmjk1mtw==} + /@storybook/client-logger@7.3.1: + resolution: {integrity: sha512-VfKi8C5Z1hquaP6xtVn9ngKcnXZjHNV6+RAqLbUJyAoGeO8fFaMblYgbY+tF7Xyf3bZKMLBo4QqtegTh2QjdAA==} + dependencies: + '@storybook/global': 5.0.0 + dev: true + + /@storybook/codemod@7.3.1: + resolution: {integrity: sha512-KVGc9CqWd0m3Qzh6oN22CGhsISUj60/7zcdi+GkwRD0+odr3zxHrdBGMcNfeUtjwN05cgTjcaTjG3HhSj/mQIg==} dependencies: '@babel/core': 7.22.10 '@babel/preset-env': 7.22.10(@babel/core@7.22.10) '@babel/types': 7.22.10 '@storybook/csf': 0.1.1 - '@storybook/csf-tools': 7.3.0 - '@storybook/node-logger': 7.3.0 - '@storybook/types': 7.3.0 + '@storybook/csf-tools': 7.3.1 + '@storybook/node-logger': 7.3.1 + '@storybook/types': 7.3.1 '@types/cross-spawn': 6.0.2 cross-spawn: 7.0.3 globby: 11.1.0 @@ -9203,20 +9223,20 @@ packages: - supports-color dev: true - /@storybook/components@7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-YHcPsH0T//ZZ3HhZDmf+UKt2R0b+kNT42LizYs5R61d47oIvsHrqPqdN7p+OuTrBpaFdVNSzO7XjpeRodqGRLQ==} + /@storybook/components@7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-8dk3WutobHvjxweVzA9Vqrp564vWOTQaV38JSi84ME8wzOdl20Xne9LoeMnqPHXFhnVZdm/Gkosfv4tqkDy4aw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 dependencies: '@radix-ui/react-select': 1.2.2(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-toolbar': 1.0.4(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/client-logger': 7.3.0 + '@storybook/client-logger': 7.3.1 '@storybook/csf': 0.1.1 '@storybook/global': 5.0.0 '@storybook/icons': 1.1.6(react-dom@18.2.0)(react@18.2.0) - '@storybook/theming': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.3.0 + '@storybook/theming': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.3.1 memoizerific: 1.11.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -9227,18 +9247,18 @@ packages: - '@types/react-dom' dev: true - /@storybook/core-client@7.3.0: - resolution: {integrity: sha512-G2WlYdmBy+5/vEVXkNEoX5D/fRP+L+5Tgq9P8gYjvC+Rw5lMDUrA1RIsPl5hPvlBbDsEIn9gfMRMfVuwyJ3ybw==} + /@storybook/core-client@7.3.1: + resolution: {integrity: sha512-UzZ9H7i9w5K2OEtlen9nJsgCOGl1Yf8cTq5EykXRrJCb+4JRzPwMdd83cDZhZNWKgYpx9js6KmyfWwxts0GvJQ==} dependencies: - '@storybook/client-logger': 7.3.0 - '@storybook/preview-api': 7.3.0 + '@storybook/client-logger': 7.3.1 + '@storybook/preview-api': 7.3.1 dev: true - /@storybook/core-common@7.3.0: - resolution: {integrity: sha512-QCTuZXLq9z2AUEMmAAfSGHdXsAMWKnOou+d6adVknJINctW6T1B2L725SpRjYIXK1xpsQrSB+VT0wR4XCNRIMA==} + /@storybook/core-common@7.3.1: + resolution: {integrity: sha512-jALwn9T6xjVQ/GBD2UVMi0XAhJDIsSNf3ghxatRQpa5dphG4nZccF6xwnUdsQqDGr8E4lHgDDzIKP/wqQ3fi1Q==} dependencies: - '@storybook/node-logger': 7.3.0 - '@storybook/types': 7.3.0 + '@storybook/node-logger': 7.3.1 + '@storybook/types': 7.3.1 '@types/find-cache-dir': 3.2.1 '@types/node': 16.18.40 '@types/node-fetch': 2.6.4 @@ -9268,24 +9288,28 @@ packages: resolution: {integrity: sha512-Ke3gjjJDMbihAVzgLUfXoZ3FHLLP22/TSBtytayztC0zAzEGeg6j4UUWzEKYggKIGJNIJ16GQfaGlcVLxHhSKw==} dev: true - /@storybook/core-server@7.3.0: - resolution: {integrity: sha512-TaysZpGXgdr58LkJkcXD2YyqbAxdn40X8S0HcBH241FKOGSC7GH7C5Wb1NkCuXrlek6K1h9KEfMSur7JUMn0Zw==} + /@storybook/core-events@7.3.1: + resolution: {integrity: sha512-7Pkgwmj/9B7Z3NNSn2swnviBrg9L1VeYSFw6JJKxtQskt8QoY8LxAsPzVMlHjqRmO6sO7lHo9FgpzIFxdmFaAA==} + dev: true + + /@storybook/core-server@7.3.1: + resolution: {integrity: sha512-T/6zQrH+6AW7hin+p9PrQaEQsxbsJWeS/eIStA+/IsyYaJoVDsw//okr7O6VVbrdFWm+gLQ2WAXJh8x8u8AvgA==} dependencies: '@aw-web-design/x-default-browser': 1.4.126 '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-manager': 7.3.0 - '@storybook/channels': 7.3.0 - '@storybook/core-common': 7.3.0 - '@storybook/core-events': 7.3.0 + '@storybook/builder-manager': 7.3.1 + '@storybook/channels': 7.3.1 + '@storybook/core-common': 7.3.1 + '@storybook/core-events': 7.3.1 '@storybook/csf': 0.1.1 - '@storybook/csf-tools': 7.3.0 + '@storybook/csf-tools': 7.3.1 '@storybook/docs-mdx': 0.1.0 '@storybook/global': 5.0.0 - '@storybook/manager': 7.3.0 - '@storybook/node-logger': 7.3.0 - '@storybook/preview-api': 7.3.0 - '@storybook/telemetry': 7.3.0 - '@storybook/types': 7.3.0 + '@storybook/manager': 7.3.1 + '@storybook/node-logger': 7.3.1 + '@storybook/preview-api': 7.3.1 + '@storybook/telemetry': 7.3.1 + '@storybook/types': 7.3.1 '@types/detect-port': 1.3.3 '@types/node': 16.18.40 '@types/pretty-hrtime': 1.0.1 @@ -9320,12 +9344,12 @@ packages: - utf-8-validate dev: true - /@storybook/core-webpack@7.3.0: - resolution: {integrity: sha512-L1YA4GOuffMhcJaaCpmmA2gz5tIVQRRwKQI0zLA4pzeym0UktqxVScXhn1A13rY5GeeSQdTfhR3eRVKyhP+thQ==} + /@storybook/core-webpack@7.3.1: + resolution: {integrity: sha512-rWyGdxmcj0c1jomYjKZAGPnuKZkGMQbQsOwB0eXTzbEsGcAhBJGkrjTW57XdoqpnqbVdmZvhZrFPS3M8o7KX8g==} dependencies: - '@storybook/core-common': 7.3.0 - '@storybook/node-logger': 7.3.0 - '@storybook/types': 7.3.0 + '@storybook/core-common': 7.3.1 + '@storybook/node-logger': 7.3.1 + '@storybook/types': 7.3.1 '@types/node': 16.18.40 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -9333,24 +9357,24 @@ packages: - supports-color dev: true - /@storybook/csf-plugin@7.3.0: - resolution: {integrity: sha512-zbFY40D47ElkhvRcR7TZBa8ZgtAd7bHOeXT9zxi9fU6dH+ucHoyCgudxe2Obr4bCZUu+NtqYzmjHNkPE+QrHtw==} + /@storybook/csf-plugin@7.3.1: + resolution: {integrity: sha512-5VAToY3ndAkV+ii3Cnz78OjlOkcE9XFJUsAXtG9jH6Onm3ACH1nwIC6fKZXGXUzLqzcFnT5gJkcVKnatiUQxpA==} dependencies: - '@storybook/csf-tools': 7.3.0 + '@storybook/csf-tools': 7.3.1 unplugin: 1.4.0 transitivePeerDependencies: - supports-color dev: true - /@storybook/csf-tools@7.3.0: - resolution: {integrity: sha512-gAmKg3JYQx9pyDgUS/I4VyH039Mv/kIuP2nUcBeK2V6pW+3sf9jrTVi4DjSB7q1Izqhnsa25jVdPbgRuWk1RFA==} + /@storybook/csf-tools@7.3.1: + resolution: {integrity: sha512-8b2VD1RrcAuogoj5mpukX8n4DKF1WjQpWbki6UrZ70btpl0TQclUqAlQw8SQqCQwuljPYaMLrj9x4bpbnBah3Q==} dependencies: '@babel/generator': 7.22.10 '@babel/parser': 7.22.10 '@babel/traverse': 7.22.10 '@babel/types': 7.22.10 '@storybook/csf': 0.1.1 - '@storybook/types': 7.3.0 + '@storybook/types': 7.3.1 fs-extra: 11.1.1 recast: 0.23.4 ts-dedent: 2.2.0 @@ -9374,12 +9398,12 @@ packages: resolution: {integrity: sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg==} dev: true - /@storybook/docs-tools@7.3.0: - resolution: {integrity: sha512-Do30kbYbiQ+TgNexlhwDfvEFfuBDHp/PNTKUaV7i2ZngBaEa+VQx3GvLLnXbBMncXavdiVj5+tX2haVqtKfcZg==} + /@storybook/docs-tools@7.3.1: + resolution: {integrity: sha512-9N8CRarcejQoYhIKxbSrS9WJwdbrnj2I8tRWS91cgC2o4pDykqoXD7hXabVixQREzHOZEwakKAg8LsDLfCZCkw==} dependencies: - '@storybook/core-common': 7.3.0 - '@storybook/preview-api': 7.3.0 - '@storybook/types': 7.3.0 + '@storybook/core-common': 7.3.1 + '@storybook/preview-api': 7.3.1 + '@storybook/types': 7.3.1 '@types/doctrine': 0.0.3 doctrine: 3.0.0 lodash: 4.17.21 @@ -9409,22 +9433,22 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/instrumenter@7.3.0: - resolution: {integrity: sha512-yPlr3cA+N1vb2yzG8crBu+q3OoJ7HAOkjcou0VcDq5t3aUVn07walYtNeYIkwwCLHQlVztJqy9v+CrIpDsZ/JQ==} + /@storybook/instrumenter@7.3.1: + resolution: {integrity: sha512-Yxuj+tRecjdGa6q04+3hUgvXNHrwBcLVXOBaaRBjNL/QJsX8w9F+Y9EQZrkB9jvPe3aA1Bm5klB+bH5RZbJE6w==} dependencies: - '@storybook/channels': 7.3.0 - '@storybook/client-logger': 7.3.0 - '@storybook/core-events': 7.3.0 + '@storybook/channels': 7.3.1 + '@storybook/client-logger': 7.3.1 + '@storybook/core-events': 7.3.1 '@storybook/global': 5.0.0 - '@storybook/preview-api': 7.3.0 + '@storybook/preview-api': 7.3.1 dev: true - /@storybook/jest@0.1.0: - resolution: {integrity: sha512-TmybnEXlv5Fu2/Hq4nRj7alS9mw4CasLR0RDwaAzS+Vpvu1TC4+j9rh+b1BHtmWebbJh0JMT6mgzPqOyJdgtQA==} + /@storybook/jest@0.2.0: + resolution: {integrity: sha512-z0S+tMWEfV5rK4drIaPaDcOdnJ02Rs/A8gfLnrZXrlYZiDWC7CvPIhpJDwBYnR6MZ3udn8lOD8V/fbTbSEV7Rg==} dependencies: '@storybook/expect': 27.5.2-0 - '@storybook/instrumenter': 7.3.0 '@testing-library/jest-dom': 5.17.0 + '@types/jest': 28.1.3 jest-mock: 27.5.1 dev: true @@ -9453,16 +9477,41 @@ packages: ts-dedent: 2.2.0 dev: true - /@storybook/manager@7.3.0: - resolution: {integrity: sha512-99Rob6V2MpBkHiPER5d2ZsYO3wZusgKgq2qViTTn/F7ADpHmqYYgBpywCmSs9z5JqqutQgrDBDNMERcRrhUPSQ==} + /@storybook/manager-api@7.3.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-jFH0EfWasdwHW8X5DUzTbH5mpdCZBHU7lIEUj6lVMBcBxbTniqBiG7mkwbW9VLocqEbBZimLCb/2RtTpK1Ue3Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 + dependencies: + '@storybook/channels': 7.3.1 + '@storybook/client-logger': 7.3.1 + '@storybook/core-events': 7.3.1 + '@storybook/csf': 0.1.1 + '@storybook/global': 5.0.0 + '@storybook/router': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/theming': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.3.1 + dequal: 2.0.3 + lodash: 4.17.21 + memoizerific: 1.11.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + semver: 7.5.4 + store2: 2.14.2 + telejson: 7.1.0 + ts-dedent: 2.2.0 + dev: true + + /@storybook/manager@7.3.1: + resolution: {integrity: sha512-Ip+FxWCO+D30Ay+KiZkzJ+FQECAc0TJ/urbWKcQaeXKiW2SQKbL51jctr+bsY7H9VTlwpWN+LtZsTow5C1ZAxA==} dev: true /@storybook/mdx2-csf@1.1.0: resolution: {integrity: sha512-TXJJd5RAKakWx4BtpwvSNdgTDkKM6RkXU8GK34S/LhidQ5Pjz3wcnqb0TxEkfhK/ztbP8nKHqXFwLfa2CYkvQw==} dev: true - /@storybook/nextjs@7.3.0(@swc/core@1.3.76)(@types/react-dom@18.2.7)(@types/react@18.2.20)(esbuild@0.18.20)(next@13.4.16)(react-dom@18.2.0)(react@18.2.0)(type-fest@4.2.0)(typescript@5.1.6)(webpack@5.88.2): - resolution: {integrity: sha512-V2hMrJXE4IHDrfNTF1ZjMPNUJWyn3GPlcEcyKeZDpQM4STt8XPuWMrTQg0K8hdaox/oRVBTxDyNWbdzxeb+tdQ==} + /@storybook/nextjs@7.3.1(@swc/core@1.3.76)(@types/react-dom@18.2.7)(@types/react@18.2.20)(esbuild@0.18.20)(next@13.4.17)(react-dom@18.2.0)(react@18.2.0)(type-fest@4.2.0)(typescript@5.1.6)(webpack@5.88.2): + resolution: {integrity: sha512-GYOZEP8Et1CieUdJ8gI6Hw6roK1JxdBoXXuOw8IR7C8lMJ3wA73OBnWOqw1gSNVqo8C9/1PsmJqZXDYZVrHZ3w==} engines: {node: '>=16.0.0'} peerDependencies: '@next/font': ^13.0.0 @@ -9494,20 +9543,20 @@ packages: '@babel/preset-react': 7.22.5(@babel/core@7.22.10) '@babel/preset-typescript': 7.22.5(@babel/core@7.22.10) '@babel/runtime': 7.22.10 - '@storybook/addon-actions': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/builder-webpack5': 7.3.0(esbuild@0.18.20)(typescript@5.1.6) - '@storybook/core-common': 7.3.0 - '@storybook/node-logger': 7.3.0 - '@storybook/preset-react-webpack': 7.3.0(@babel/core@7.22.10)(@swc/core@1.3.76)(esbuild@0.18.20)(react-dom@18.2.0)(react@18.2.0)(type-fest@4.2.0)(typescript@5.1.6) - '@storybook/preview-api': 7.3.0 - '@storybook/react': 7.3.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.1.6) + '@storybook/addon-actions': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/builder-webpack5': 7.3.1(esbuild@0.18.20)(typescript@5.1.6) + '@storybook/core-common': 7.3.1 + '@storybook/node-logger': 7.3.1 + '@storybook/preset-react-webpack': 7.3.1(@babel/core@7.22.10)(@swc/core@1.3.76)(esbuild@0.18.20)(react-dom@18.2.0)(react@18.2.0)(type-fest@4.2.0)(typescript@5.1.6) + '@storybook/preview-api': 7.3.1 + '@storybook/react': 7.3.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.1.6) '@types/node': 16.18.40 css-loader: 6.8.1(webpack@5.88.2) find-up: 5.0.0 fs-extra: 11.1.1 image-size: 1.0.2 loader-utils: 3.2.1 - next: 13.4.16(@babel/core@7.22.10)(react-dom@18.2.0)(react@18.2.0) + next: 13.4.17(@babel/core@7.22.10)(react-dom@18.2.0)(react@18.2.0) node-polyfill-webpack-plugin: 2.0.1(webpack@5.88.2) pnp-webpack-plugin: 1.7.0(typescript@5.1.6) postcss: 8.4.27 @@ -9547,16 +9596,16 @@ packages: - webpack-plugin-serve dev: true - /@storybook/node-logger@7.3.0: - resolution: {integrity: sha512-y6No2mYWn0uPFY5DuwVBpsrjc7Q16gMLZDYFo8YSG68lbydLevmj3/lv7xAvqh002e9stE02weYt94Vl/SLLsQ==} + /@storybook/node-logger@7.3.1: + resolution: {integrity: sha512-UVjXJ3nRsGI+yyVFCDKFCjkzrQsUSAMORSlo5vOqypO3PjSahGQBgKjlKnZGXwvdGKB2FW56PbKnb/sPBI/kPg==} dev: true - /@storybook/postinstall@7.3.0: - resolution: {integrity: sha512-/y7niDypQoAkskgllCo+DXuIf5Obq0E+EFTrIiCBQOma8zc31A2QYdyBYxGkSNXYawRReMqjiVNGMvrlZ5fv0w==} + /@storybook/postinstall@7.3.1: + resolution: {integrity: sha512-5L6fWFJA/MyFkrhN22t2R9IoBOa76I9Nax9/10F2MM59Kgdl2BDO69e4yxYMSXSm2p7s1xoLs8VhSgWpjZkbNQ==} dev: true - /@storybook/preset-react-webpack@7.3.0(@babel/core@7.22.10)(@swc/core@1.3.76)(esbuild@0.18.20)(react-dom@18.2.0)(react@18.2.0)(type-fest@4.2.0)(typescript@5.1.6): - resolution: {integrity: sha512-QxcPya6HExSmVMuYNd0MPF2JC3RfBTbGxOKvqjrSyifXqKVGR5gjNQS6YS0uj0b+hnXc16ZHDm3OJNruBcOsnw==} + /@storybook/preset-react-webpack@7.3.1(@babel/core@7.22.10)(@swc/core@1.3.76)(esbuild@0.18.20)(react-dom@18.2.0)(react@18.2.0)(type-fest@4.2.0)(typescript@5.1.6): + resolution: {integrity: sha512-dm1c9v1rivr8WXTvKVq63mfAYaz7uNDAKX0E6rPX1XQgiSiHxNLBTUiKiUoZqg5lJk4eVdGIhDQS8YCOfhtYug==} engines: {node: '>=16.0.0'} peerDependencies: '@babel/core': ^7.22.0 @@ -9573,10 +9622,10 @@ packages: '@babel/preset-flow': 7.22.5(@babel/core@7.22.10) '@babel/preset-react': 7.22.5(@babel/core@7.22.10) '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.11.0)(type-fest@4.2.0)(webpack@5.88.2) - '@storybook/core-webpack': 7.3.0 - '@storybook/docs-tools': 7.3.0 - '@storybook/node-logger': 7.3.0 - '@storybook/react': 7.3.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.1.6) + '@storybook/core-webpack': 7.3.1 + '@storybook/docs-tools': 7.3.1 + '@storybook/node-logger': 7.3.1 + '@storybook/react': 7.3.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.1.6) '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.1.6)(webpack@5.88.2) '@types/node': 16.18.40 '@types/semver': 7.5.0 @@ -9623,8 +9672,27 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/preview@7.3.0: - resolution: {integrity: sha512-mqEkPOXkhtNM9YrfwqgzI4kFOdghHAVui2HWRMziQhvH07EUs2H+Q67t4ElOlRCBe4ruqCGYn133T10H/4lF1g==} + /@storybook/preview-api@7.3.1: + resolution: {integrity: sha512-otFvUJBFxhg11O5XLiyqddTS1ge/tjIs4gA4Uli6M+a6PV+SdNuTE8OjpvvgjsFTFdhyciHKTimKSLAqvopcuw==} + dependencies: + '@storybook/channels': 7.3.1 + '@storybook/client-logger': 7.3.1 + '@storybook/core-events': 7.3.1 + '@storybook/csf': 0.1.1 + '@storybook/global': 5.0.0 + '@storybook/types': 7.3.1 + '@types/qs': 6.9.7 + dequal: 2.0.3 + lodash: 4.17.21 + memoizerific: 1.11.3 + qs: 6.11.2 + synchronous-promise: 2.0.17 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + dev: true + + /@storybook/preview@7.3.1: + resolution: {integrity: sha512-7C5Gzg2cbwPduLNHaSyh5I5U/Ms4I+loPWAnwuXJxrdNLqXyLmCcEZ6ABbqEw6JKFh1FF9dLCqQz3D0nELraLQ==} dev: true /@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.1.6)(webpack@5.88.2): @@ -9646,8 +9714,8 @@ packages: - supports-color dev: true - /@storybook/react-dom-shim@7.3.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Xr0u2qLLaVCG6h1gdfMe6mgmQMQMy40p9McSWE2jsYxTYNVXAXD1QekQyQiFXbueoj8d4bWwCaoBDJ1eENiIVw==} + /@storybook/react-dom-shim@7.3.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-cdPCB42QvVatTEeJeXM5dP9CGpt28NGCkShnECRWepP9y2ZJTjMYZuaXSeefsQweyFuqYFO66ghJoFjaNKw+4g==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 @@ -9656,8 +9724,8 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/react@7.3.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.1.6): - resolution: {integrity: sha512-h27P1pa60xlBMw4EQtW62gJfpct8mNnMzyVY3Ns3cE4jupv2ROoGUsZ33VJTk6n9++EULvWchzZ03r6kVwowJg==} + /@storybook/react@7.3.1(react-dom@18.2.0)(react@18.2.0)(typescript@5.1.6): + resolution: {integrity: sha512-EIVxvI3qayJyQW83ExOt98/zveUeHv47AHUyUOanVOlwDpOHAv19VnijQq50Kk+XM1ooxz3rLJsNMlMPPeTiDw==} engines: {node: '>=16.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 @@ -9667,13 +9735,13 @@ packages: typescript: optional: true dependencies: - '@storybook/client-logger': 7.3.0 - '@storybook/core-client': 7.3.0 - '@storybook/docs-tools': 7.3.0 + '@storybook/client-logger': 7.3.1 + '@storybook/core-client': 7.3.1 + '@storybook/docs-tools': 7.3.1 '@storybook/global': 5.0.0 - '@storybook/preview-api': 7.3.0 - '@storybook/react-dom-shim': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 7.3.0 + '@storybook/preview-api': 7.3.1 + '@storybook/react-dom-shim': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 7.3.1 '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 '@types/node': 16.18.40 @@ -9709,12 +9777,25 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/telemetry@7.3.0: - resolution: {integrity: sha512-N6lNDSZ8ux5a1NLils93rGTYx4YKj+VOqu0I0um+/DB2ozPvf3nfzRxgkkmw18MtenfnwI9wnUltI8QaMnigUQ==} + /@storybook/router@7.3.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-KY+Mo0oF2xcRUDCXPJjAB5xy7d8Hi2dh8VqLahGa14ZHwhsZ/RxqE2bypwLXXkRpEiyOpfMbSsG73+1ml3fIUg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 dependencies: - '@storybook/client-logger': 7.3.0 - '@storybook/core-common': 7.3.0 - '@storybook/csf-tools': 7.3.0 + '@storybook/client-logger': 7.3.1 + memoizerific: 1.11.3 + qs: 6.11.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /@storybook/telemetry@7.3.1: + resolution: {integrity: sha512-yRM1ACOIuacwIy0V0NzEpm83b/qhE9urHIZq9b9Bnnv22865vbJCSt5yfiH+HHn0FColNDgSx6dY35cneFG/Xg==} + dependencies: + '@storybook/client-logger': 7.3.1 + '@storybook/core-common': 7.3.1 + '@storybook/csf-tools': 7.3.1 chalk: 4.1.2 detect-package-manager: 2.0.1 fetch-retry: 5.0.6 @@ -9733,10 +9814,10 @@ packages: '@babel/generator': 7.22.10 '@babel/template': 7.22.5 '@babel/types': 7.22.10 - '@storybook/core-common': 7.3.0 + '@storybook/core-common': 7.3.1 '@storybook/csf': 0.1.1 - '@storybook/csf-tools': 7.3.0 - '@storybook/preview-api': 7.3.0 + '@storybook/csf-tools': 7.3.1 + '@storybook/preview-api': 7.3.1 '@swc/core': 1.3.76 '@swc/jest': 0.2.29(@swc/core@1.3.76) can-bind-to-host: 1.1.2 @@ -9788,6 +9869,20 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true + /@storybook/theming@7.3.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-1CF6bT8o8pZcd/ptl1q4CiTGY4oLV19tE8Wnhd/TO934fdMp4fUx1FF4pFL6an98lxVeZT0JQ4uvkuaTvHJFRQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 + dependencies: + '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) + '@storybook/client-logger': 7.3.1 + '@storybook/global': 5.0.0 + memoizerific: 1.11.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + /@storybook/types@7.3.0: resolution: {integrity: sha512-NpemDA3hwK+jVTfPc1u1wQwu7DXqpatEtmAQUzEerx5lwoMvj3lGSk30xrOCpNvvpZz2P97FDScVsmzGlXwncA==} dependencies: @@ -9797,6 +9892,15 @@ packages: file-system-cache: 2.3.0 dev: true + /@storybook/types@7.3.1: + resolution: {integrity: sha512-QR714i/Stus/RYqJ8chTCfWNt3RY6/64xRXxaMLqkx75OIq5+rtsmes9I5iUqM4FuupvE7YdlZ5xKvxLYLYgJQ==} + dependencies: + '@storybook/channels': 7.3.1 + '@types/babel__core': 7.20.1 + '@types/express': 4.17.17 + file-system-cache: 2.3.0 + dev: true + /@swc/core-darwin-arm64@1.3.76: resolution: {integrity: sha512-ovviEhZ/1E81Z9OGrO0ivLWk4VCa3I3ZzM+cd3gugglRRwVwtlIaoIYqY5S3KiCAupDd1+UCl5X7Vbio7a/V8g==} engines: {node: '>=10'} @@ -9938,25 +10042,25 @@ packages: dependencies: defer-to-connect: 2.0.1 - /@t3-oss/env-core@0.6.0(typescript@5.1.6)(zod@3.22.0): + /@t3-oss/env-core@0.6.0(typescript@5.1.6)(zod@3.22.1): resolution: {integrity: sha512-3FkPAba069WRZVVab/sB1m3eSGn/rZeypx5k+sWEu1d+k0OQdRDnvFS+7MtxYgqVrwaRk3b7yVnX2dgSPVmWPQ==} peerDependencies: typescript: '>=4.7.2 || 5' zod: ^3.0.0 dependencies: typescript: 5.1.6 - zod: 3.22.0 + zod: 3.22.1 dev: false - /@t3-oss/env-nextjs@0.6.0(typescript@5.1.6)(zod@3.22.0): + /@t3-oss/env-nextjs@0.6.0(typescript@5.1.6)(zod@3.22.1): resolution: {integrity: sha512-SpzcGNIbUYcQw4zPPFeRJqCC1560zL7QmB0puIqOnuCsmykPkqHPX+n9CNZLXVQerboHzfvb7Kd+jAdouk72Vw==} peerDependencies: typescript: '>=4.7.2 || 5' zod: ^3.0.0 dependencies: - '@t3-oss/env-core': 0.6.0(typescript@5.1.6)(zod@3.22.0) + '@t3-oss/env-core': 0.6.0(typescript@5.1.6)(zod@3.22.1) typescript: 5.1.6 - zod: 3.22.0 + zod: 3.22.1 dev: false /@tabler/icons-react@2.30.0(react@18.2.0): @@ -10051,10 +10155,23 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) + /@tanstack/react-virtual@3.0.0-beta.54(react@18.2.0): + resolution: {integrity: sha512-D1mDMf4UPbrtHRZZriCly5bXTBMhylslm4dhcHqTtDJ6brQcgGmk8YD9JdWBGWfGSWPKoh2x1H3e7eh+hgPXtQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 + dependencies: + '@tanstack/virtual-core': 3.0.0-beta.54 + react: 18.2.0 + dev: true + /@tanstack/table-core@8.9.3: resolution: {integrity: sha512-NpHZBoHTfqyJk0m/s/+CSuAiwtebhYK90mDuf5eylTvgViNOujiaOaxNDxJkQQAsVvHWZftUGAx1EfO1rkKtLg==} engines: {node: '>=12'} + /@tanstack/virtual-core@3.0.0-beta.54: + resolution: {integrity: sha512-jtkwqdP2rY2iCCDVAFuaNBH3fiEi29aTn2RhtIoky8DTTiCdc48plpHHreLwmv1PICJ4AJUUESaq3xa8fZH8+g==} + dev: true + /@terraformer/wkt@2.2.0: resolution: {integrity: sha512-i33rTSqPtmO4sRdeznI0IEc9gpIZZIXN5kGhZ4rTwVtDccDKL3h4uia9cmWdRJlJMlG4Febxatw5b9ylI5YYuA==} @@ -10118,185 +10235,185 @@ packages: - immer dev: false - /@tiptap/core@2.0.4(@tiptap/pm@2.0.4): - resolution: {integrity: sha512-2YOMjRqoBGEP4YGgYpuPuBBJHMeqKOhLnS0WVwjVP84zOmMgZ7A8M6ILC9Xr7Q/qHZCvyBGWOSsI7+3HsEzzYQ==} + /@tiptap/core@2.1.1(@tiptap/pm@2.0.4): + resolution: {integrity: sha512-lzutUAbS2MA0aAqFVpsVo3fvbf4t+1d4xrlMpQVs/A3FxSrRbnykpZy4FRTI36e82Z32VCyrhSno/z+GYqypjw==} peerDependencies: '@tiptap/pm': ^2.0.0 dependencies: - '@tiptap/pm': 2.0.4(@tiptap/core@2.0.4) + '@tiptap/pm': 2.0.4(@tiptap/core@2.1.1) - /@tiptap/extension-blockquote@2.0.4(@tiptap/core@2.0.4): - resolution: {integrity: sha512-z5qfuLi04OgCBI6/odzB2vhulT/wpjymYOnON65vLXGZZbUw4cbPloykhqgWvQp+LzKH+HBhl4fz53d5CgnbOA==} + /@tiptap/extension-blockquote@2.1.1(@tiptap/core@2.1.1): + resolution: {integrity: sha512-EK9mld4gYFhpNdabhvc7EMbhhFVrhaTZtTW17cCB3ONArMZx7ps8g+aKSdV5Ftdn/TxI3n4lQXazlIz1HQj+Zg==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) - /@tiptap/extension-bold@2.0.4(@tiptap/core@2.0.4): - resolution: {integrity: sha512-CWSQy1uWkVsen8HUsqhm+oEIxJrCiCENABUbhaVcJL/MqhnP4Trrh1B6O00Yfoc0XToPRRibDaHMFs4A3MSO0g==} + /@tiptap/extension-bold@2.1.1(@tiptap/core@2.1.1): + resolution: {integrity: sha512-a65KDTkdEc+NUSm9YW+i568svRMwN4vOZ5L0lgEWXtENJok5vw25egrzW8bVVnJ9VE/CS2YOn2niBZMwdKTD7A==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) - /@tiptap/extension-bubble-menu@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4): - resolution: {integrity: sha512-+cRZwj0YINNNDElSAiX1pvY2K98S2j9MQW2dXV5oLqsJhqGPZsKxVo8I1u7ZtqUla3QE1V18RYPAzVgTiMRkBg==} + /@tiptap/extension-bubble-menu@2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4): + resolution: {integrity: sha512-v41R0xtBeAG72yL9p70gwxE1SW+16+Z71MzcjyEIrifNFCA27DeyXqS+n/N8m0W/a8WPVgVO3yqEGqlOwTS+JA==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) - '@tiptap/pm': 2.0.4(@tiptap/core@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) + '@tiptap/pm': 2.0.4(@tiptap/core@2.1.1) tippy.js: 6.3.7 - /@tiptap/extension-bullet-list@2.0.4(@tiptap/core@2.0.4): - resolution: {integrity: sha512-JSZKBVTaKSuLl5fR4EKE4dOINOrgeRHYA25Vj6cWjgdvpTw5ef7vcUdn9yP4JwTmLRI+VnnMlYL3rqigU3iZNg==} + /@tiptap/extension-bullet-list@2.1.1(@tiptap/core@2.1.1): + resolution: {integrity: sha512-ji7PbjNneZ7Jk+g2cMSwd8J1eJlTHYsrMUeRDxz4ZVxykDn97ur73wtx1FsEMKxxxNKeOlUayU6F6UE1Bwyv5g==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) - /@tiptap/extension-code-block@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4): - resolution: {integrity: sha512-In2tV3rgm/MznVF0N7qYsYugPWSzhZHaCRCWcFKNvllMExpo91bUWvk+hXaIhhPxvuqGIVezjybwrYuU3bJW0g==} + /@tiptap/extension-code-block@2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4): + resolution: {integrity: sha512-Zt+la0WWAI4bz+Zv41w1ZY2rURS9etMIIsdnbDKgt3GHaNUhrc23hZAsTGKr9HjHv5I4vB2+593zRxBVdbs1qA==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) - '@tiptap/pm': 2.0.4(@tiptap/core@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) + '@tiptap/pm': 2.0.4(@tiptap/core@2.1.1) - /@tiptap/extension-code@2.0.4(@tiptap/core@2.0.4): - resolution: {integrity: sha512-HuwJSJkipZf4hkns9witv1CABNIPiB9C8lgAQXK4xJKcoUQChcnljEL+PQ2NqeEeMTEeV3nG3A/0QafH0pgTgg==} + /@tiptap/extension-code@2.1.1(@tiptap/core@2.1.1): + resolution: {integrity: sha512-zHu98cyrWau8a9DPaypFOKEnYRI6TLD8OC3odlo+3BC+RhmcFi+azM2bG9/ba+DUIlaxImZwK5BmpfXM7QvZ5A==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) - /@tiptap/extension-document@2.0.4(@tiptap/core@2.0.4): - resolution: {integrity: sha512-mCj2fAhnNhIHttPSqfTPSSTGwClGaPYvhT56Ij/Pi4iCrWjPXzC4XnIkIHSS34qS2tJN4XJzr/z7lm3NeLkF1w==} + /@tiptap/extension-document@2.1.1(@tiptap/core@2.1.1): + resolution: {integrity: sha512-t2OCJNFM9aU+z1AGQiZmWEWRvoFo/NyOCWHOlT5O9cqR/H+h/twlX76wfAJEAmtcP/HYYffkdlmVBjWFu8DVsQ==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) - /@tiptap/extension-dropcursor@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4): - resolution: {integrity: sha512-1OmKBv/E+nJo2vsosvu8KwFiBB+gZM1pY61qc7JbwEKHSYAxUFHfvLkIA0IQ53Z0DHMrFSKgWmHEcbnqtGevCA==} + /@tiptap/extension-dropcursor@2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4): + resolution: {integrity: sha512-gAaRrKA3LVIHAgoazmfZbFbLtmYPCk/1/C1N+ULmBbzWj7bCshGjhOlWgrDD/1uyc7HRMO8iRz6u1f6EqbHjmg==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) - '@tiptap/pm': 2.0.4(@tiptap/core@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) + '@tiptap/pm': 2.0.4(@tiptap/core@2.1.1) - /@tiptap/extension-floating-menu@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4): - resolution: {integrity: sha512-0YRE738k+kNKuSHhAb3jj9ZQ7Kda78RYRr+cX2jrQVueIMKebPIY07eBt6JcKmob9V9vcNn9qLtBfmygfcPUQg==} + /@tiptap/extension-floating-menu@2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4): + resolution: {integrity: sha512-LGVOhuTTFOK+RReaXSkfdzFcPHkB6M/mL6X2Hps/ieib4e36bnB7+1/yfB690fU4yxfI5EFLL8E3+i5Igm5XlA==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) - '@tiptap/pm': 2.0.4(@tiptap/core@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) + '@tiptap/pm': 2.0.4(@tiptap/core@2.1.1) tippy.js: 6.3.7 - /@tiptap/extension-gapcursor@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4): - resolution: {integrity: sha512-VxmKfBQjSSu1mNvHlydA4dJW/zawGKyqmnryiFNcUV9s+/HWLR5i9SiUl4wJM/B8sG8cQxClne5/LrCAeGNYuA==} + /@tiptap/extension-gapcursor@2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4): + resolution: {integrity: sha512-ObKdsvtCcGej+4XPoxd7gWFJJCWcVDN1E1zFluoRKaRLCsc8nNIj4C92FflVbhYzrwHJY6YUzhV3ZYF+AJejMQ==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) - '@tiptap/pm': 2.0.4(@tiptap/core@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) + '@tiptap/pm': 2.0.4(@tiptap/core@2.1.1) - /@tiptap/extension-hard-break@2.0.4(@tiptap/core@2.0.4): - resolution: {integrity: sha512-4j8BZa6diuoRytWoIc7j25EYWWut5TZDLbb+OVURdkHnsF8B8zeNTo55W40CdwSaSyTtXtxbTIldV80ShQarGQ==} + /@tiptap/extension-hard-break@2.1.1(@tiptap/core@2.1.1): + resolution: {integrity: sha512-mfShnSb74U2nryl2Of3D7ej7+IzKHf5qD72kf3vljNlDf29Z2Vq+Jb5emNlj18/vnhBQIevTEeO1Plyfl0X+KQ==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) - /@tiptap/extension-heading@2.0.4(@tiptap/core@2.0.4): - resolution: {integrity: sha512-EfitUbew5ljH3xVlBXAxqqcJ4rjv15b8379LYOV6KQCf+Y1wY0gy9Q8wXSnrsAagqrvqipja4Ihn3OZeyIM+CA==} + /@tiptap/extension-heading@2.1.1(@tiptap/core@2.1.1): + resolution: {integrity: sha512-hITv6yWEm8MiYX9zNwwDxdPLsvWYz4Pp5jp/Owy4SmZpUcBNL1hJQ1tzHgJApv/odygGtjDrz0Al15ERRWOGnQ==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) - /@tiptap/extension-history@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4): - resolution: {integrity: sha512-3GAUszn1xZx3vniHMiX9BSKmfvb5QOb0oSLXInN+hx80CgJDIHqIFuhx2dyV9I/HWpa0cTxaLWj64kfDzb1JVg==} + /@tiptap/extension-history@2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4): + resolution: {integrity: sha512-YDGrqWvnWcXPNIqpFklc8Xm/bG451RLJEebYS1gZbaQ0QJ2MCGxyDFJvimE3Qf5FP08Ugjxn3q5xHDoVlX+9/g==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) - '@tiptap/pm': 2.0.4(@tiptap/core@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) + '@tiptap/pm': 2.0.4(@tiptap/core@2.1.1) - /@tiptap/extension-horizontal-rule@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4): - resolution: {integrity: sha512-OMx2ImQseKbSUjPbbRCuYGOJshxYedh9giWAqwgWWokhYkH4nGxXn5m7+Laj+1wLre4bnWgHWVY4wMGniEj3aw==} + /@tiptap/extension-horizontal-rule@2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4): + resolution: {integrity: sha512-iYV1J3FQHYU/v2dVf/GvXWdIns/wCZq+CHB2WIWXEuTaTt7GJEbNS3zzH2pAwuVUUG7xDyLaS9mON5LsnonPdQ==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) - '@tiptap/pm': 2.0.4(@tiptap/core@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) + '@tiptap/pm': 2.0.4(@tiptap/core@2.1.1) - /@tiptap/extension-italic@2.0.4(@tiptap/core@2.0.4): - resolution: {integrity: sha512-C/6+qs4Jh8xERRP0wcOopA1+emK8MOkBE4RQx5NbPnT2iCpERP0GlmHBFQIjaYPctZgKFHxsCfRnneS5Xe76+A==} + /@tiptap/extension-italic@2.1.1(@tiptap/core@2.1.1): + resolution: {integrity: sha512-4DzBx4nmnVqhLKvhbq2UZl80mAa3tHSuZ6lYJ4MCh3WIANc6e9XIGPZ2mmT8M51Tx8xwWBWUQukMN+uQFzMsVw==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) - /@tiptap/extension-link@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4): - resolution: {integrity: sha512-CliImI1hmC+J6wHxqgz9P4wMjoNSSgm3fnNHsx5z0Bn6JRA4Evh2E3KZAdMaE8xCTx89rKxMYNbamZf4VLSoqQ==} + /@tiptap/extension-link@2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4): + resolution: {integrity: sha512-VuPnE0lH6mxSDp0GHwQeMaWtORAJ6QsQced6C5fzcS6DrQg+lFCU74WOi+/vNrAdNWQV8YSISn43l4uDEhrJcQ==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) - '@tiptap/pm': 2.0.4(@tiptap/core@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) + '@tiptap/pm': 2.0.4(@tiptap/core@2.1.1) linkifyjs: 4.1.1 - /@tiptap/extension-list-item@2.0.4(@tiptap/core@2.0.4): - resolution: {integrity: sha512-tSkbLgRo1QMNDJttWs9FeRywkuy5T2HdLKKfUcUNzT3s0q5AqIJl7VyimsBL4A6MUfN1qQMZCMHB4pM9Mkluww==} + /@tiptap/extension-list-item@2.1.1(@tiptap/core@2.1.1): + resolution: {integrity: sha512-UikZsgcdgno5UWXn2TPGZeHi0mHxujw5gtaA6+x9j/oVjVPqevqg2uDilMkig+HrsTWwLVzntvnVsXdu2TneWw==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) - /@tiptap/extension-ordered-list@2.0.4(@tiptap/core@2.0.4): - resolution: {integrity: sha512-Kfg+8k9p4iJCUKP/yIa18LfUpl9trURSMP/HX3/yQTz9Ul1vDrjxeFjSE5uWNvupcXRAM24js+aYrCmV7zpU+Q==} + /@tiptap/extension-ordered-list@2.1.1(@tiptap/core@2.1.1): + resolution: {integrity: sha512-GxOnvAReBza9+r/tVBne/0b0Dp3/4vHb24TpKYFG1yLZzsEren6qqtForqEhzA/O74ar1WLl6bpcET0/wBAn0w==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) - /@tiptap/extension-paragraph@2.0.4(@tiptap/core@2.0.4): - resolution: {integrity: sha512-nDxpopi9WigVqpfi8nU3B0fWYB14EMvKIkutNZo8wJvKGTZufNI8hw66wupIx/jZH1gFxEa5dHerw6aSYuWjgQ==} + /@tiptap/extension-paragraph@2.1.1(@tiptap/core@2.1.1): + resolution: {integrity: sha512-5H1nIBW6oKr90JKZI2BTCIlQShIMtO0dCUj/n0CI1pBhJOuGPz8HIVrcZlvYY42KRJQu6pWW3HfdvCiWFVqAzA==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) - /@tiptap/extension-strike@2.0.4(@tiptap/core@2.0.4): - resolution: {integrity: sha512-Men7LK6N/Dh3/G4/z2Z9WkDHM2Gxx1XyxYix2ZMf5CnqY37SeDNUnGDqit65pdIN3Y/TQnOZTkKSBilSAtXfJA==} + /@tiptap/extension-strike@2.1.1(@tiptap/core@2.1.1): + resolution: {integrity: sha512-Ah1LAXn9ST0aynyxmbB3sd6ndnB0ltFRqFE9AoB4c7akwOHIlS3ovp90u4z2OUe2Bf0pJlMffYXur7TtqyM8hQ==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) - /@tiptap/extension-text@2.0.4(@tiptap/core@2.0.4): - resolution: {integrity: sha512-i8/VFlVZh7TkAI49KKX5JmC0tM8RGwyg5zUpozxYbLdCOv07AkJt+E1fLJty9mqH4Y5HJMNnyNxsuZ9Ol/ySRA==} + /@tiptap/extension-text@2.1.1(@tiptap/core@2.1.1): + resolution: {integrity: sha512-cOjbaUo5IFRu7VxbncuIPNjekZbrgqOPE/HCuUVohNRwLbdCYqrvO76yk8N3D3j+RL6mSVISsOgqz6DNg/+mig==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) - /@tiptap/pm@2.0.4(@tiptap/core@2.0.4): + /@tiptap/pm@2.0.4(@tiptap/core@2.1.1): resolution: {integrity: sha512-DNgxntpEaiW7ciW0BTNTL0TFqAreZTrAROWakI4XaYRAyi5H9NfZW8jmwGwMBkoZ1KB3pfy+jT/Bisy4okEQGQ==} peerDependencies: '@tiptap/core': ^2.0.0 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) prosemirror-changeset: 2.2.1 prosemirror-collab: 1.3.1 prosemirror-commands: 1.5.2 @@ -10316,53 +10433,53 @@ packages: prosemirror-transform: 1.7.4 prosemirror-view: 1.31.7 - /@tiptap/react@2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-NcrZL4Tu3+1Xfj/us5AOD7+kJhwYo2XViOB2iRRnfwS80PUtiLWDis6o3ngMGot/jBWzaMn4gofXnMWHtFdIAw==} + /@tiptap/react@2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-/xtBtJ+F/vIuk0OAf362WpZyOnk6wTZVsm6Q1oSm4vdKZlBPhcd75N9Z8UqsYb0dGSBQW28x9qQUi7qXFjnG1A==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 react: ^17.0.0 || ^18.0.0 || 18 react-dom: ^17.0.0 || ^18.0.0 || 18 dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) - '@tiptap/extension-bubble-menu': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4) - '@tiptap/extension-floating-menu': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4) - '@tiptap/pm': 2.0.4(@tiptap/core@2.0.4) + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) + '@tiptap/extension-bubble-menu': 2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4) + '@tiptap/extension-floating-menu': 2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4) + '@tiptap/pm': 2.0.4(@tiptap/core@2.1.1) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - /@tiptap/starter-kit@2.0.4(@tiptap/pm@2.0.4): - resolution: {integrity: sha512-9WtVXhujyp5cOlE7qlcQMFr0FEx3Cvo1isvfQGzhKKPzXa3rR7FT8bnOFsten31/Ia/uwvGXAvRDQy24YfHdNA==} - dependencies: - '@tiptap/core': 2.0.4(@tiptap/pm@2.0.4) - '@tiptap/extension-blockquote': 2.0.4(@tiptap/core@2.0.4) - '@tiptap/extension-bold': 2.0.4(@tiptap/core@2.0.4) - '@tiptap/extension-bullet-list': 2.0.4(@tiptap/core@2.0.4) - '@tiptap/extension-code': 2.0.4(@tiptap/core@2.0.4) - '@tiptap/extension-code-block': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4) - '@tiptap/extension-document': 2.0.4(@tiptap/core@2.0.4) - '@tiptap/extension-dropcursor': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4) - '@tiptap/extension-gapcursor': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4) - '@tiptap/extension-hard-break': 2.0.4(@tiptap/core@2.0.4) - '@tiptap/extension-heading': 2.0.4(@tiptap/core@2.0.4) - '@tiptap/extension-history': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4) - '@tiptap/extension-horizontal-rule': 2.0.4(@tiptap/core@2.0.4)(@tiptap/pm@2.0.4) - '@tiptap/extension-italic': 2.0.4(@tiptap/core@2.0.4) - '@tiptap/extension-list-item': 2.0.4(@tiptap/core@2.0.4) - '@tiptap/extension-ordered-list': 2.0.4(@tiptap/core@2.0.4) - '@tiptap/extension-paragraph': 2.0.4(@tiptap/core@2.0.4) - '@tiptap/extension-strike': 2.0.4(@tiptap/core@2.0.4) - '@tiptap/extension-text': 2.0.4(@tiptap/core@2.0.4) + /@tiptap/starter-kit@2.1.1(@tiptap/pm@2.0.4): + resolution: {integrity: sha512-8QC/cRSsoa0X3IJBlG0GFjNAi/fBZoVa4k/xm0xRrAqJN0dU0Vq9wFLxQC2Vdo0so55tZJbLgdwoAwEhJdCgcg==} + dependencies: + '@tiptap/core': 2.1.1(@tiptap/pm@2.0.4) + '@tiptap/extension-blockquote': 2.1.1(@tiptap/core@2.1.1) + '@tiptap/extension-bold': 2.1.1(@tiptap/core@2.1.1) + '@tiptap/extension-bullet-list': 2.1.1(@tiptap/core@2.1.1) + '@tiptap/extension-code': 2.1.1(@tiptap/core@2.1.1) + '@tiptap/extension-code-block': 2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4) + '@tiptap/extension-document': 2.1.1(@tiptap/core@2.1.1) + '@tiptap/extension-dropcursor': 2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4) + '@tiptap/extension-gapcursor': 2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4) + '@tiptap/extension-hard-break': 2.1.1(@tiptap/core@2.1.1) + '@tiptap/extension-heading': 2.1.1(@tiptap/core@2.1.1) + '@tiptap/extension-history': 2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4) + '@tiptap/extension-horizontal-rule': 2.1.1(@tiptap/core@2.1.1)(@tiptap/pm@2.0.4) + '@tiptap/extension-italic': 2.1.1(@tiptap/core@2.1.1) + '@tiptap/extension-list-item': 2.1.1(@tiptap/core@2.1.1) + '@tiptap/extension-ordered-list': 2.1.1(@tiptap/core@2.1.1) + '@tiptap/extension-paragraph': 2.1.1(@tiptap/core@2.1.1) + '@tiptap/extension-strike': 2.1.1(@tiptap/core@2.1.1) + '@tiptap/extension-text': 2.1.1(@tiptap/core@2.1.1) transitivePeerDependencies: - '@tiptap/pm' - /@tomfreudenberg/next-auth-mock@0.5.6(next-auth@4.23.0)(react@18.2.0): + /@tomfreudenberg/next-auth-mock@0.5.6(next-auth@4.23.1)(react@18.2.0): resolution: {integrity: sha512-fSZJY5rUyj8GIcJI450ZV7FV/CMzpjUUGhPiaRyQo9l7l5mLvrnNe1MymzOnLpgXIkFja+CF/UHFGW807QcwmA==} peerDependencies: next-auth: ^4.12.3 react: ^18 || 18 dependencies: - next-auth: 4.23.0(patch_hash=5rcmqpbec3t4wwdelpjvypkzei)(next@13.4.16)(react-dom@18.2.0)(react@18.2.0) + next-auth: 4.23.1(next@13.4.17)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 dev: true @@ -10370,8 +10487,8 @@ packages: resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} - /@total-typescript/ts-reset@0.4.2: - resolution: {integrity: sha512-vqd7ZUDSrXFVT1n8b2kc3LnklncDQFPvR58yUS1kEP23/nHPAO9l1lMjUfnPrXYYk4Hj54rrLKMW5ipwk7k09A==} + /@total-typescript/ts-reset@0.5.1: + resolution: {integrity: sha512-AqlrT8YA1o7Ff5wPfMOL0pvL+1X+sw60NN6CcOCqs658emD6RfiXhF7Gu9QcfKBH7ELY2nInLhKSCWVoNL70MQ==} dev: true /@trpc-playground/html@1.0.4(@types/node@18.17.5): @@ -10407,7 +10524,7 @@ packages: dependencies: '@trpc/server': 10.37.1 - /@trpc/next@10.37.1(@tanstack/react-query@4.32.6)(@trpc/client@10.37.1)(@trpc/react-query@10.37.1)(@trpc/server@10.37.1)(next@13.4.16)(react-dom@18.2.0)(react@18.2.0): + /@trpc/next@10.37.1(@tanstack/react-query@4.32.6)(@trpc/client@10.37.1)(@trpc/react-query@10.37.1)(@trpc/server@10.37.1)(next@13.4.17)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-0KEgr09mBfao56lkj7ZBfVOY86d3+bDH1o0zJkDHSH60Dp/hIJ7wLCnZJIhePlZxEwknCQjVeLsTy4Pqlu8NyQ==} peerDependencies: '@tanstack/react-query': ^4.18.0 @@ -10422,7 +10539,7 @@ packages: '@trpc/client': 10.37.1(@trpc/server@10.37.1) '@trpc/react-query': 10.37.1(@tanstack/react-query@4.32.6)(@trpc/client@10.37.1)(@trpc/server@10.37.1)(react-dom@18.2.0)(react@18.2.0) '@trpc/server': 10.37.1 - next: 13.4.16(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0) + next: 13.4.17(@babel/core@7.22.10)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-ssr-prepass: 1.5.0(react@18.2.0) @@ -10791,6 +10908,13 @@ packages: '@types/istanbul-lib-report': 3.0.0 dev: true + /@types/jest@28.1.3: + resolution: {integrity: sha512-Tsbjk8Y2hkBaY/gJsataeb4q9Mubw9EOz7+4RjPkzD5KjTvHHs7cpws22InaoXxAVAhF5HfFbzJjo6oKWqSZLw==} + dependencies: + jest-matcher-utils: 28.1.3 + pretty-format: 28.1.3 + dev: true + /@types/jest@29.5.3: resolution: {integrity: sha512-1Nq7YrO/vJE/FYnqYyw0FS8LdrjExSgIiHyKg7xPpn+yi8Q4huZryKnkJatN1ZRH89Kw2v33/8ZMB7DuZeSLlA==} dependencies: @@ -12018,6 +12142,12 @@ packages: /async@3.2.4: resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + /asynciterator.prototype@1.0.0: + resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==} + dependencies: + has-symbols: 1.0.3 + dev: true + /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -13954,8 +14084,8 @@ packages: dependencies: is-obj: 2.0.0 - /dotenv-cli@7.2.1: - resolution: {integrity: sha512-ODHbGTskqRtXAzZapDPvgNuDVQApu4oKX8lZW7Y0+9hKA6le1ZJlyRS687oU9FXjOVEDU/VFV6zI125HzhM1UQ==} + /dotenv-cli@7.3.0: + resolution: {integrity: sha512-314CA4TyK34YEJ6ntBf80eUY+t1XaFLyem1k9P0sX1gn30qThZ5qZr/ZwE318gEnzyYP9yj9HJk6SqwE0upkfw==} hasBin: true dependencies: cross-spawn: 7.0.3 @@ -14255,6 +14385,25 @@ packages: stop-iteration-iterator: 1.0.0 dev: true + /es-iterator-helpers@1.0.13: + resolution: {integrity: sha512-LK3VGwzvaPWobO8xzXXGRUOGw8Dcjyfk62CsY/wfHN75CwsJPbuypOYJxK6g5RyEL8YDjIWcl6jgd8foO6mmrA==} + dependencies: + asynciterator.prototype: 1.0.0 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + es-set-tostringtag: 2.0.1 + function-bind: 1.1.1 + get-intrinsic: 1.2.1 + globalthis: 1.0.3 + has-property-descriptors: 1.0.0 + has-proto: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.5 + iterator.prototype: 1.1.0 + safe-array-concat: 1.0.0 + dev: true + /es-module-lexer@1.3.0: resolution: {integrity: sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==} dev: true @@ -14445,8 +14594,8 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-next@13.4.16(eslint@8.47.0)(typescript@5.1.6): - resolution: {integrity: sha512-Of73d/FiaGf0GLCxxTGdh4rW8bRDvsqypylefkshE/uDDpQr8ifVQsD4UiB99rhegks7nJGkYtUnR3dC7kfFlw==} + /eslint-config-next@13.4.17(eslint@8.47.0)(typescript@5.1.6): + resolution: {integrity: sha512-zDEkOzG3v4TX8CoPny5WJa8bLzzXrSo4bhAzDNtH6W0okB6H/ed1lKFPLNpCLBmSY6GKYFxfwJAYzKI5Rx/Z1w==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 typescript: '>=3.3.1 || 5' @@ -14454,7 +14603,7 @@ packages: typescript: optional: true dependencies: - '@next/eslint-plugin-next': 13.4.16 + '@next/eslint-plugin-next': 13.4.17 '@rushstack/eslint-patch': 1.3.3 '@typescript-eslint/parser': 6.4.0(eslint@8.47.0)(typescript@5.1.6) eslint: 8.47.0 @@ -14462,7 +14611,7 @@ packages: eslint-import-resolver-typescript: 3.6.0(@typescript-eslint/parser@6.4.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-i@2.28.0-2)(eslint@8.47.0) eslint-plugin-import: /eslint-plugin-i@2.28.0-2(@typescript-eslint/parser@6.4.0)(eslint-import-resolver-typescript@3.6.0)(eslint@8.47.0) eslint-plugin-jsx-a11y: 6.7.1(eslint@8.47.0) - eslint-plugin-react: 7.33.1(eslint@8.47.0) + eslint-plugin-react: 7.33.2(eslint@8.47.0) eslint-plugin-react-hooks: 5.0.0-canary-7118f5dd7-20230705(eslint@8.47.0) typescript: 5.1.6 transitivePeerDependencies: @@ -14680,8 +14829,8 @@ packages: eslint: 8.47.0 dev: true - /eslint-plugin-react@7.33.1(eslint@8.47.0): - resolution: {integrity: sha512-L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA==} + /eslint-plugin-react@7.33.2(eslint@8.47.0): + resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 @@ -14690,6 +14839,7 @@ packages: array.prototype.flatmap: 1.3.1 array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 + es-iterator-helpers: 1.0.13 eslint: 8.47.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 @@ -16672,6 +16822,13 @@ packages: /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + /is-async-function@2.0.0: + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + /is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: @@ -16746,6 +16903,12 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} + /is-finalizationregistry@1.0.2: + resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + dependencies: + call-bind: 1.0.2 + dev: true + /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} @@ -17096,6 +17259,16 @@ packages: istanbul-lib-report: 3.0.1 dev: true + /iterator.prototype@1.1.0: + resolution: {integrity: sha512-rjuhAk1AJ1fssphHD0IFV6TWL40CwRZ53FrztKx43yk2v6rguBYsY4Bj1VU4HmoMmKwZUlx7mfnhDf9cOp4YTw==} + dependencies: + define-properties: 1.2.0 + get-intrinsic: 1.2.1 + has-symbols: 1.0.3 + has-tostringtag: 1.0.0 + reflect.getprototypeof: 1.0.3 + dev: true + /jackspeak@2.2.3: resolution: {integrity: sha512-pF0kfjmg8DJLxDrizHoCZGUFz4P4czQ3HyfW4BU0ffebYkzAVlBywp5zaxW/TM+r0sGbmrQdi8EQQVTJFxnGsQ==} engines: {node: '>=14'} @@ -18084,7 +18257,7 @@ packages: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} dev: true - /kysely-codegen@0.10.1(kysely@0.26.1)(pg@8.11.2): + /kysely-codegen@0.10.1(kysely@0.26.1)(pg@8.11.3): resolution: {integrity: sha512-8Bslh952gN5gtucRv4jTZDFD18RBioS6M50zHfe5kwb5iSyEAunU4ZYMdHzkHraa4zxjg5/183XlOryBCXLRIw==} hasBin: true peerDependencies: @@ -18105,7 +18278,7 @@ packages: kysely: 0.26.1 micromatch: 4.0.5 minimist: 1.2.8 - pg: 8.11.2 + pg: 8.11.3 dev: true /kysely@0.26.1: @@ -18291,6 +18464,10 @@ packages: engines: {node: '>=14'} dev: true + /locale-includes@1.0.5: + resolution: {integrity: sha512-8pcOkyBbMZvHGskk3gbi+o6dYSOmkLJ+hh1lle+LaULxB2YtwNrCMEhgpAJb3WruTUC2cSEu71bOe6im6DuCuA==} + dev: false + /localforage@1.10.0: resolution: {integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==} dependencies: @@ -18555,6 +18732,30 @@ packages: tmpl: 1.0.5 dev: true + /mantine-react-table@1.1.1(@emotion/react@11.11.1)(@mantine/core@6.0.19)(@mantine/dates@6.0.19)(@mantine/hooks@6.0.19)(@tabler/icons-react@2.30.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-sKYZ+S7pS1HJZrKKmLUFUaC+9zYODgBoFwpkO12YUgAQ3e/vIVNwgaGHvbnfoZfW8BZ8Pc69KlWx6+EZYJU8Bg==} + engines: {node: '>=14'} + peerDependencies: + '@emotion/react': '>=11' + '@mantine/core': '>=6' + '@mantine/dates': '>=6' + '@mantine/hooks': '>=6' + '@tabler/icons-react': '>=2.23.0' + react: '>=18.0 || 18' + react-dom: '>=18.0 || 18' + dependencies: + '@emotion/react': 11.11.1(@types/react@18.2.20)(react@18.2.0) + '@mantine/core': 6.0.19(@emotion/react@11.11.1)(@mantine/hooks@6.0.19)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@mantine/dates': 6.0.19(@mantine/core@6.0.19)(@mantine/hooks@6.0.19)(dayjs@1.11.9)(react@18.2.0) + '@mantine/hooks': 6.0.19(react@18.2.0) + '@tabler/icons-react': 2.30.0(react@18.2.0) + '@tanstack/match-sorter-utils': 8.8.4 + '@tanstack/react-table': 8.9.3(react-dom@18.2.0)(react@18.2.0) + '@tanstack/react-virtual': 3.0.0-beta.54(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + /map-obj@1.0.1: resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} engines: {node: '>=0.10.0'} @@ -19551,8 +19752,8 @@ packages: resolution: {integrity: sha512-md4cGoxuT4T4d/HDOXbrUHkTKrp/vp+m3aOA7XXVYwNsUNMK49g3SQicTSeV5GIz/5QVGAeYRAOlyp9OvlgsYA==} engines: {node: '>=10'} - /next-auth@4.23.0(patch_hash=5rcmqpbec3t4wwdelpjvypkzei)(next@13.4.16)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-RgukcJkBdvsJwEfA+B80Wcowvtgy6tk8KKWffb7CMCdzcLO4fCCA6aB6sp/DZ2I0ISvWGnbVcO5KXmlan71igw==} + /next-auth@4.23.1(next@13.4.17)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-mL083z8KgRtlrIV6CDca2H1kduWJuK/3pTS0Fe2og15KOm4v2kkLGdSDfc2g+019aEBrJUT0pPW2Xx42ImN1WA==} peerDependencies: next: ^12.2.5 || ^13 || 13 nodemailer: ^6.6.5 @@ -19566,7 +19767,7 @@ packages: '@panva/hkdf': 1.1.1 cookie: 0.5.0 jose: 4.14.4 - next: 13.4.16(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0) + next: 13.4.17(@babel/core@7.22.10)(react-dom@18.2.0)(react@18.2.0) oauth: 0.9.15 openid-client: 5.4.3 preact: 10.17.0 @@ -19574,9 +19775,8 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) uuid: 9.0.0 - patched: true - /next-i18next@14.0.0(i18next@23.4.4)(next@13.4.16)(react-i18next@13.1.2)(react@18.2.0): + /next-i18next@14.0.0(i18next@23.4.4)(next@13.4.17)(react-i18next@13.1.2)(react@18.2.0): resolution: {integrity: sha512-umv8hOZoSoAA+td3ErfemyO/5Ib2pnYCdQ8/Oy+fncS2skFIL3hHKRer3Oa3Nfm4Xbv5p6DHWzm3NhT1j4tWwg==} engines: {node: '>=14'} peerDependencies: @@ -19591,34 +19791,34 @@ packages: hoist-non-react-statics: 3.3.2 i18next: 23.4.4 i18next-fs-backend: 2.1.5 - next: 13.4.16(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0) + next: 13.4.17(@babel/core@7.22.10)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-i18next: 13.1.2(i18next@23.4.4)(react-dom@18.2.0)(react@18.2.0) - /next-router-mock@0.9.9(next@13.4.16)(react@18.2.0): + /next-router-mock@0.9.9(next@13.4.17)(react@18.2.0): resolution: {integrity: sha512-2o50zr+5pWj0zzcvBEWNHDlmWmlDExPdX5OuXKW2aCxV85XUA6MlELr0n0f0wtXj5dUVZ8qspHj6YwF7KZHrbA==} peerDependencies: next: '>=10.0.0 || 13' react: '>=17.0.0 || 18' dependencies: - next: 13.4.16(@babel/core@7.22.10)(react-dom@18.2.0)(react@18.2.0) + next: 13.4.17(@babel/core@7.22.10)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 dev: true - /next-seo@6.1.0(next@13.4.16)(react-dom@18.2.0)(react@18.2.0): + /next-seo@6.1.0(next@13.4.17)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-iMBpFoJsR5zWhguHJvsoBDxDSmdYTHtnVPB1ij+CD0NReQCP78ZxxbdL9qkKIf4oEuZEqZkrjAQLB0bkII7RYA==} peerDependencies: next: ^8.1.1-canary.54 || >=9.0.0 || 13 react: '>=16.0.0 || 18' react-dom: '>=16.0.0 || 18' dependencies: - next: 13.4.16(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0) + next: 13.4.17(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /next@13.4.16(@babel/core@7.22.10)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-1xaA/5DrfpPu0eV31Iro7JfPeqO8uxQWb1zYNTe+KDKdzqkAGapLcDYHMLNKXKB7lHjZ7LfKUOf9dyuzcibrhA==} + /next@13.4.17(@babel/core@7.22.10)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-f0L+lbQA+GFkHu9wpupiURLFIEEPSVQhUuR+5lQNI+aFzbCbCGl7h0Vurs1jA4wtP7T7fEO0iSWmt37+88wIZA==} engines: {node: '>=16.8.0'} hasBin: true peerDependencies: @@ -19632,7 +19832,7 @@ packages: sass: optional: true dependencies: - '@next/env': 13.4.16 + '@next/env': 13.4.17 '@swc/helpers': 0.5.1 busboy: 1.6.0 caniuse-lite: 1.0.30001520 @@ -19643,22 +19843,21 @@ packages: watchpack: 2.4.0 zod: 3.21.4 optionalDependencies: - '@next/swc-darwin-arm64': 13.4.16 - '@next/swc-darwin-x64': 13.4.16 - '@next/swc-linux-arm64-gnu': 13.4.16 - '@next/swc-linux-arm64-musl': 13.4.16 - '@next/swc-linux-x64-gnu': 13.4.16 - '@next/swc-linux-x64-musl': 13.4.16 - '@next/swc-win32-arm64-msvc': 13.4.16 - '@next/swc-win32-ia32-msvc': 13.4.16 - '@next/swc-win32-x64-msvc': 13.4.16 + '@next/swc-darwin-arm64': 13.4.17 + '@next/swc-darwin-x64': 13.4.17 + '@next/swc-linux-arm64-gnu': 13.4.17 + '@next/swc-linux-arm64-musl': 13.4.17 + '@next/swc-linux-x64-gnu': 13.4.17 + '@next/swc-linux-x64-musl': 13.4.17 + '@next/swc-win32-arm64-msvc': 13.4.17 + '@next/swc-win32-ia32-msvc': 13.4.17 + '@next/swc-win32-x64-msvc': 13.4.17 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - dev: true - /next@13.4.16(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-1xaA/5DrfpPu0eV31Iro7JfPeqO8uxQWb1zYNTe+KDKdzqkAGapLcDYHMLNKXKB7lHjZ7LfKUOf9dyuzcibrhA==} + /next@13.4.17(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-f0L+lbQA+GFkHu9wpupiURLFIEEPSVQhUuR+5lQNI+aFzbCbCGl7h0Vurs1jA4wtP7T7fEO0iSWmt37+88wIZA==} engines: {node: '>=16.8.0'} hasBin: true peerDependencies: @@ -19672,7 +19871,7 @@ packages: sass: optional: true dependencies: - '@next/env': 13.4.16 + '@next/env': 13.4.17 '@opentelemetry/api': 1.4.1 '@swc/helpers': 0.5.1 busboy: 1.6.0 @@ -19684,27 +19883,27 @@ packages: watchpack: 2.4.0 zod: 3.21.4 optionalDependencies: - '@next/swc-darwin-arm64': 13.4.16 - '@next/swc-darwin-x64': 13.4.16 - '@next/swc-linux-arm64-gnu': 13.4.16 - '@next/swc-linux-arm64-musl': 13.4.16 - '@next/swc-linux-x64-gnu': 13.4.16 - '@next/swc-linux-x64-musl': 13.4.16 - '@next/swc-win32-arm64-msvc': 13.4.16 - '@next/swc-win32-ia32-msvc': 13.4.16 - '@next/swc-win32-x64-msvc': 13.4.16 + '@next/swc-darwin-arm64': 13.4.17 + '@next/swc-darwin-x64': 13.4.17 + '@next/swc-linux-arm64-gnu': 13.4.17 + '@next/swc-linux-arm64-musl': 13.4.17 + '@next/swc-linux-x64-gnu': 13.4.17 + '@next/swc-linux-x64-musl': 13.4.17 + '@next/swc-win32-arm64-msvc': 13.4.17 + '@next/swc-win32-ia32-msvc': 13.4.17 + '@next/swc-win32-x64-msvc': 13.4.17 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - /nextjs-routes@2.0.1(next@13.4.16): + /nextjs-routes@2.0.1(next@13.4.17): resolution: {integrity: sha512-pBGRm6uR44zwUjWWYn6+gwz08BhBbqUYlIzsbNHAh1TWohHYKWFaa2YVsj8BxEo726MZYg87OJPnHpaaY1ia0w==} hasBin: true peerDependencies: next: '*' dependencies: chokidar: 3.5.3 - next: 13.4.16(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0) + next: 13.4.17(@babel/core@7.22.10)(react-dom@18.2.0)(react@18.2.0) dev: false /nice-try@1.0.5: @@ -20610,12 +20809,12 @@ packages: engines: {node: '>=4'} dev: true - /pg-pool@3.6.1(pg@8.11.2): + /pg-pool@3.6.1(pg@8.11.3): resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} peerDependencies: pg: '>=8.0' dependencies: - pg: 8.11.2 + pg: 8.11.3 /pg-protocol@1.6.0: resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} @@ -20643,8 +20842,8 @@ packages: postgres-range: 1.1.3 dev: true - /pg@8.11.2: - resolution: {integrity: sha512-l4rmVeV8qTIrrPrIR3kZQqBgSN93331s9i6wiUiLOSk0Q7PmUxZD/m1rQI622l3NfqBby9Ar5PABfS/SulfieQ==} + /pg@8.11.3: + resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} engines: {node: '>= 8.0.0'} peerDependencies: pg-native: '>=3.0.1' @@ -20655,7 +20854,7 @@ packages: buffer-writer: 2.0.0 packet-reader: 1.0.0 pg-connection-string: 2.6.2 - pg-pool: 3.6.1(pg@8.11.2) + pg-pool: 3.6.1(pg@8.11.3) pg-protocol: 1.6.0 pg-types: 2.2.0 pgpass: 1.0.5 @@ -21042,7 +21241,7 @@ packages: '@prisma/generator-helper': 4.13.0 '@prisma/internals': 4.13.0 typescript: 4.6.2 - zod: 3.22.0 + zod: 3.22.1 transitivePeerDependencies: - encoding - supports-color @@ -21992,6 +22191,18 @@ packages: redis-errors: 1.2.0 dev: false + /reflect.getprototypeof@1.0.3: + resolution: {integrity: sha512-TTAOZpkJ2YLxl7mVHWrNo3iDMEkYlva/kgFcXndqMgbo/AZUmmavEkdXV+hXtE4P8xdyEKRzalaFqZVuwIk/Nw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + get-intrinsic: 1.2.1 + globalthis: 1.0.3 + which-builtin-type: 1.1.3 + dev: true + /regenerate-unicode-properties@10.1.0: resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} engines: {node: '>=4'} @@ -23086,7 +23297,7 @@ packages: resolution: {integrity: sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w==} dev: true - /storybook-addon-pseudo-states@2.1.0(@storybook/components@7.3.0)(@storybook/core-events@7.3.0)(@storybook/manager-api@7.3.0)(@storybook/preview-api@7.3.0)(@storybook/theming@7.3.0)(react-dom@18.2.0)(react@18.2.0): + /storybook-addon-pseudo-states@2.1.0(@storybook/components@7.3.1)(@storybook/core-events@7.3.1)(@storybook/manager-api@7.3.1)(@storybook/preview-api@7.3.1)(@storybook/theming@7.3.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-AwbCL1OiZ16aIeXSP/IOovkMwXy7NTZqmjkz+UM2guSGjvogHNA95NhuVyWoqieE+QWUpGO48+MrBGMeeJcHOQ==} peerDependencies: '@storybook/components': ^7.0.0 || 7 @@ -23102,11 +23313,11 @@ packages: react-dom: optional: true dependencies: - '@storybook/components': 7.3.0(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 7.3.0 - '@storybook/manager-api': 7.3.0(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 7.3.0 - '@storybook/theming': 7.3.0(react-dom@18.2.0)(react@18.2.0) + '@storybook/components': 7.3.1(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-events': 7.3.1 + '@storybook/manager-api': 7.3.1(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 7.3.1 + '@storybook/theming': 7.3.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true @@ -23138,11 +23349,11 @@ packages: - webpack dev: true - /storybook@7.3.0: - resolution: {integrity: sha512-v3kwokgNmEpmGFPsamE8vY3PYGkQ/fCbVmWeKmCam/GM0O05B3WOe5KamzopCCMnj62muqpb2OylD8TcIAWIsw==} + /storybook@7.3.1: + resolution: {integrity: sha512-djrNw2WPJNXgdyHM+6Zxl6EvdhU9TCSghc7wQLXqJG8B1VvB6XSoiexVNOQcnpEaMWDUbU0wUnkBlVHE/Vowuw==} hasBin: true dependencies: - '@storybook/cli': 7.3.0 + '@storybook/cli': 7.3.1 transitivePeerDependencies: - bufferutil - encoding @@ -23788,7 +23999,7 @@ packages: superjson: 1.13.1 dev: true - /trpc-panel@1.3.4(patch_hash=3z2tx2cn67fyw5s2xdx73dxaji)(@trpc/server@10.37.1)(zod@3.22.0): + /trpc-panel@1.3.4(patch_hash=3z2tx2cn67fyw5s2xdx73dxaji)(@trpc/server@10.37.1)(zod@3.22.1): resolution: {integrity: sha512-u5/dCi/AAp2tpJcCL5ZCfrdJtHHu8hrtm2hzSBZCE7z9Tw6MB1rCcliSQvgMPIEXMQrgwXk4t4IedfWkxioKng==} peerDependencies: '@trpc/server': ^10.0.0 @@ -23798,12 +24009,12 @@ packages: fuzzysort: 2.0.4 path: 0.12.7 url: 0.11.1 - zod: 3.22.0 - zod-to-json-schema: 3.21.4(zod@3.22.0) + zod: 3.22.1 + zod-to-json-schema: 3.21.4(zod@3.22.1) dev: true patched: true - /trpc-playground@1.0.4(@trpc/server@10.37.1)(@types/node@18.17.5)(typescript@5.1.6)(zod@3.22.0): + /trpc-playground@1.0.4(@trpc/server@10.37.1)(@types/node@18.17.5)(typescript@5.1.6)(zod@3.22.1): resolution: {integrity: sha512-6nVf1o2LNoo1g6oTS24yajoH7xV4CFjxGAbAH7qLXqa3yo9qB5QHsWLbrm1hNt51SyCG++P0zHJaCdVfgvEVDg==} peerDependencies: '@trpc/server': ^10 @@ -23814,8 +24025,8 @@ packages: '@trpc/server': 10.37.1 lodash: 4.17.21 uttp: 0.1.3 - zod: 3.22.0 - zod-to-ts: 1.1.4(typescript@5.1.6)(zod@3.22.0) + zod: 3.22.1 + zod-to-ts: 1.1.4(typescript@5.1.6)(zod@3.22.1) transitivePeerDependencies: - '@types/node' - express @@ -24962,6 +25173,24 @@ packages: is-string: 1.0.7 is-symbol: 1.0.4 + /which-builtin-type@1.1.3: + resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + engines: {node: '>= 0.4'} + dependencies: + function.prototype.name: 1.1.5 + has-tostringtag: 1.0.0 + is-async-function: 2.0.0 + is-date-object: 1.0.5 + is-finalizationregistry: 1.0.2 + is-generator-function: 1.0.10 + is-regex: 1.1.4 + is-weakref: 1.0.2 + isarray: 2.0.5 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.1 + which-typed-array: 1.1.11 + dev: true + /which-collection@1.0.1: resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} dependencies: @@ -25283,34 +25512,34 @@ packages: '@prisma/generator-helper': 5.1.1 code-block-writer: 12.0.0 lodash: 4.17.21 - zod: 3.22.0 + zod: 3.22.1 transitivePeerDependencies: - supports-color dev: true - /zod-to-json-schema@3.21.4(zod@3.22.0): + /zod-to-json-schema@3.21.4(zod@3.22.1): resolution: {integrity: sha512-fjUZh4nQ1s6HMccgIeE0VP4QG/YRGPmyjO9sAh890aQKPEk3nqbfUXhMFaC+Dr5KvYBm8BCyvfpZf2jY9aGSsw==} peerDependencies: zod: ^3.21.4 dependencies: - zod: 3.22.0 + zod: 3.22.1 dev: true - /zod-to-ts@1.1.4(typescript@5.1.6)(zod@3.22.0): + /zod-to-ts@1.1.4(typescript@5.1.6)(zod@3.22.1): resolution: {integrity: sha512-jsCg+pTNxLAdJOfW4ul+SpechdGYEJPPnssSbqWdR2LSIkotT22k+UvqPb1nEHwe/YbEcbUOlZUfGM0npgR+Jg==} peerDependencies: typescript: ^4.9.4 || ^5.0.2 || 5 zod: ^3 dependencies: typescript: 5.1.6 - zod: 3.22.0 + zod: 3.22.1 dev: true /zod@3.21.4: resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} - /zod@3.22.0: - resolution: {integrity: sha512-y5KZY/ssf5n7hCGDGGtcJO/EBJEm5Pa+QQvFBeyMOtnFYOSflalxIFFvdaYevPhePcmcKC4aTbFkCcXN7D0O8Q==} + /zod@3.22.1: + resolution: {integrity: sha512-+qUhAMl414+Elh+fRNtpU+byrwjDFOS1N7NioLY+tSlcADTx4TkCUua/hxJvxwDXcV4397/nZ420jy4n4+3WUg==} /zustand@4.4.1(@types/react@18.2.20)(react@18.2.0): resolution: {integrity: sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw==}